The four surface layers each have a role — choose by "raised layer / default flat layer / sunken layer / page background", and avoid treating --p-surface-raised as a universal background.
All focusable controls (button, input, link, menu item, switch, checkbox) use the focus-ring token uniformly; do not hand-write a box-shadow focus ring.
Body and UI use self-hosted Inter as the primary face. CJK and platform system UI fonts sit late in the fallback chain so Latin glyphs resolve to Inter while Chinese text can fall through to native CJK fonts:
--font-ui
--font-ui: "Inter Variable", "Inter", "Helvetica Neue", Arial,
"PingFang SC", "Microsoft YaHei", "Noto Sans SC",
-apple-system, BlinkMacSystemFont, "Segoe UI",
Roboto, Ubuntu, sans-serif,
diff --git a/apps/kimi-code/dist-web/assets/index-CdhuUBbm.css b/apps/kimi-code/dist-web/assets/index-CdhuUBbm.css
deleted file mode 100644
index 23933c62f45..00000000000
--- a/apps/kimi-code/dist-web/assets/index-CdhuUBbm.css
+++ /dev/null
@@ -1 +0,0 @@
-.ui-icon-button[data-v-c9e67023]{display:inline-flex;align-items:center;justify-content:center;flex:none;padding:0;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--color-text-muted);cursor:pointer;transition:background var(--duration-base) var(--ease-out),color var(--duration-base) var(--ease-out)}.ui-icon-button[data-v-c9e67023]:hover:not(:disabled){background:color-mix(in srgb,var(--color-text) 8%,transparent);color:var(--color-text)}.ui-icon-button[data-v-c9e67023]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.ui-icon-button[data-v-c9e67023]:disabled{opacity:.5;cursor:not-allowed}.ui-icon-button--sm[data-v-c9e67023]{width:26px;height:26px;border-radius:var(--radius-sm)}.ui-icon-button--md[data-v-c9e67023]{width:32px;height:32px}.ui-icon-button--lg[data-v-c9e67023]{width:44px;height:44px}.ui-icon-button[data-v-c9e67023] svg{width:var(--p-ic-md);height:var(--p-ic-md)}.ui-icon-button--sm[data-v-c9e67023] svg{width:var(--p-ic-md);height:var(--p-ic-md)}.ui-icon-button--lg[data-v-c9e67023] svg{width:var(--p-ic-lg);height:var(--p-ic-lg)}.ui-dialog__overlay[data-v-ee025dcb]{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--space-6);background:#0d111773;animation:kimi-dialog-overlay-in-ee025dcb var(--duration-base) var(--ease-out)}@keyframes kimi-dialog-overlay-in-ee025dcb{0%{opacity:0}to{opacity:1}}.ui-dialog[data-v-ee025dcb]{max-height:calc(100vh - var(--space-8) * 2);display:flex;flex-direction:column;background:var(--color-surface-raised);border:1px solid var(--color-line);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);outline:none;overflow:hidden;animation:kimi-card-in var(--duration-slow) var(--ease-out)}.ui-dialog--md[data-v-ee025dcb]{width:min(440px,100%)}.ui-dialog--lg[data-v-ee025dcb]{width:min(640px,100%)}.ui-dialog--xl[data-v-ee025dcb]{width:min(var(--p-content-max),100%)}.ui-dialog--fixed-height[data-v-ee025dcb]{height:min(680px,calc(100vh - var(--space-8) * 2))}.ui-dialog--flush .ui-dialog__body[data-v-ee025dcb]{padding:0}.ui-dialog__head[data-v-ee025dcb]{display:flex;align-items:flex-start;gap:var(--space-3);padding:20px 22px 14px}.ui-dialog__titles[data-v-ee025dcb]{flex:1;min-width:0}.ui-dialog__title[data-v-ee025dcb]{font-size:var(--text-lg);font-weight:500;color:var(--color-text);line-height:var(--leading-tight)}.ui-dialog__desc[data-v-ee025dcb]{margin-top:4px;font-size:var(--text-base);color:var(--color-text-muted)}.ui-dialog__close[data-v-ee025dcb]{flex:none;margin-top:-2px}.ui-dialog__body[data-v-ee025dcb]{flex:1;min-height:0;padding:4px 22px 18px;color:var(--color-text);overflow:auto}.ui-dialog__foot[data-v-ee025dcb]{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:14px 22px 20px}.ui-badge[data-v-5bc5cd6d]{display:inline-flex;align-items:center;gap:6px;border-radius:var(--radius-full);font-family:var(--font-ui);font-weight:var(--weight-medium);line-height:1;white-space:nowrap;border:1px solid transparent}.ui-badge--md[data-v-5bc5cd6d]{height:22px;padding:0 9px;font-size:var(--text-xs)}.ui-badge--sm[data-v-5bc5cd6d]{height:18px;padding:0 7px;font-size:11px}.ui-badge__dot[data-v-5bc5cd6d]{width:6px;height:6px;border-radius:var(--radius-full);background:currentColor;flex:none}.ui-badge--neutral[data-v-5bc5cd6d]{background:var(--color-surface-sunken);color:var(--color-text-muted);border-color:var(--color-line)}.ui-badge--info[data-v-5bc5cd6d]{background:var(--color-accent-soft);color:var(--color-accent-hover);border-color:var(--color-accent-bd)}.ui-badge--success[data-v-5bc5cd6d]{background:var(--color-success-soft);color:var(--color-success);border-color:var(--color-success-bd)}.ui-badge--warning[data-v-5bc5cd6d]{background:var(--color-warning-soft);color:var(--color-warning);border-color:var(--color-warning-bd)}.ui-badge--danger[data-v-5bc5cd6d]{background:var(--color-danger-soft);color:var(--color-danger);border-color:var(--color-danger-bd)}.ui-badge--solid[data-v-5bc5cd6d]{background:var(--color-text);color:var(--color-bg)}.sd-head[data-v-8a3dfe4f]{flex:1;min-width:0;display:flex;align-items:center;gap:var(--space-2)}.sd-search-icon[data-v-8a3dfe4f]{flex:none;color:var(--color-text-muted)}.sd-input[data-v-8a3dfe4f]{flex:1;min-width:0;font-family:var(--font-ui);font-size:var(--text-lg);color:var(--color-text);background:none;border:none;outline:none;padding:var(--space-1) 0}.sd-input[data-v-8a3dfe4f]::placeholder{color:var(--color-text-muted)}.sd-list[data-v-8a3dfe4f]{height:420px;overflow-y:auto;padding:var(--space-1) var(--space-2)}.sd-row[data-v-8a3dfe4f]{display:flex;flex-direction:column;gap:2px;width:100%;padding:var(--space-2) var(--space-3);border:none;border-radius:var(--radius-md);background:none;cursor:pointer;text-align:left;font-family:var(--font-ui);color:var(--color-text)}.sd-row[data-v-8a3dfe4f]:hover,.sd-row.on[data-v-8a3dfe4f]{background:var(--color-surface-sunken)}.sd-row.is-workspace .sd-title[data-v-8a3dfe4f]{color:var(--color-accent-hover)}.sd-meta[data-v-8a3dfe4f]{display:flex;align-items:center;gap:var(--space-1);min-width:0;font-size:var(--text-xs);color:var(--color-text-muted)}.sd-folder[data-v-8a3dfe4f]{flex:none;color:var(--color-text-muted)}.sd-ws[data-v-8a3dfe4f]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-time[data-v-8a3dfe4f]{flex:none;font-family:var(--font-mono);color:var(--color-text-faint)}.sd-title[data-v-8a3dfe4f]{min-width:0;font-size:var(--text-base);color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-snippet[data-v-8a3dfe4f]{min-width:0;font-size:var(--text-sm);color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-title[data-v-8a3dfe4f] mark,.sd-snippet[data-v-8a3dfe4f] mark,.sd-ws[data-v-8a3dfe4f] mark{background:var(--color-accent);color:var(--color-bg);font-weight:var(--weight-semibold);border-radius:var(--radius-xs);padding:0 2px}.sd-empty[data-v-8a3dfe4f]{padding:var(--space-6) var(--space-4);text-align:center;color:var(--color-text-muted);font-size:var(--text-sm)}.sd-hint[data-v-8a3dfe4f]{font-size:var(--text-xs);color:var(--color-text-muted)}.ui-spinner[data-v-e5c5b17d]{display:inline-flex;flex:none;color:var(--color-accent)}.ui-spinner--sm[data-v-e5c5b17d]{width:14px;height:14px}.ui-spinner--md[data-v-e5c5b17d]{width:18px;height:18px}.ui-spinner--lg[data-v-e5c5b17d]{width:28px;height:28px}.ui-spinner__svg[data-v-e5c5b17d]{width:100%;height:100%;animation:ui-spinner-rotate-e5c5b17d .85s linear infinite}.ui-spinner__track[data-v-e5c5b17d]{fill:none;stroke:var(--color-line);stroke-width:2.2}.ui-spinner__arc[data-v-e5c5b17d]{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-dasharray:56 56;stroke-dashoffset:38}@keyframes ui-spinner-rotate-e5c5b17d{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.ui-spinner__svg[data-v-e5c5b17d]{animation-duration:1.8s}}.ui-menu[data-v-60e6cd8d]{min-width:180px;padding:var(--space-1);background:var(--color-surface-raised);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column}.ui-menu-item[data-v-f940771a]{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:6px 10px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text);font-family:var(--font-ui);font-size:var(--text-base);text-align:left;cursor:pointer;transition:background var(--duration-base),color var(--duration-base)}.ui-menu-item[data-v-f940771a]:hover:not(:disabled){background:var(--color-surface-sunken)}.ui-menu-item[data-v-f940771a]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.ui-menu-item[data-v-f940771a]:disabled{opacity:.5;cursor:not-allowed}.ui-menu-item.is-active[data-v-f940771a]{background:var(--color-accent-soft);color:var(--color-accent-hover)}.ui-menu-item.is-danger[data-v-f940771a]{color:var(--color-danger)}.ui-menu-item.is-danger[data-v-f940771a]:hover:not(:disabled){background:var(--color-danger-soft)}.ui-menu-item[data-v-f940771a] svg{width:14px;height:14px;flex:none}.ui-menu-item--lg[data-v-f940771a]{min-height:44px;padding:12px 14px;font-size:var(--text-base)}.ui-menu-sep[data-v-f940771a]{height:1px;margin:4px 0;background:var(--color-line)}.ui-tip[data-v-98697f45]{display:contents}.ui-tip__bubble[data-v-98697f45]{position:fixed;z-index:var(--z-tooltip);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--tip-lines);max-width:280px;padding:4px 8px;border-radius:var(--radius-sm);background:var(--color-text);color:var(--color-bg);font-family:var(--font-ui);font-size:var(--text-xs);line-height:1.35;overflow:hidden;overflow-wrap:anywhere;pointer-events:none;opacity:0;transition:opacity var(--duration-fast) var(--ease-out)}.ui-tip__bubble.positioned[data-v-98697f45]{opacity:1}.se[data-v-c466732e]{display:block;margin:0;padding:8px var(--space-2);border-radius:var(--radius-sm);font-family:var(--font-ui);color:var(--color-text);cursor:pointer;position:relative}.se[data-v-c466732e]:hover{background:var(--sb-hover, var(--color-surface-sunken));color:var(--color-text)}.se.on[data-v-c466732e]{background:var(--color-selected);color:var(--color-text)}.row[data-v-c466732e]{display:flex;align-items:center;gap:var(--sb-gap, 6px);min-width:0}.left[data-v-c466732e]{display:flex;align-items:center;flex:1;min-width:0}.lead[data-v-c466732e]{width:var(--sb-gutter, 16px);flex:none;display:inline-flex;align-items:center;justify-content:center}.unread-dot[data-v-c466732e]{width:7px;height:7px;border-radius:var(--radius-full);background:var(--color-accent)}.t[data-v-c466732e]{color:inherit;font-size:var(--ui-font-size-sm);font-weight:var(--weight-medium);line-height:var(--leading-tight);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.t-emoji[data-v-c466732e]{margin-right:4px;font-size:var(--text-base)}.ts[data-v-c466732e]{color:var(--color-text-faint);font-size:var(--text-xs);font-family:var(--font-ui);font-weight:var(--weight-medium);line-height:var(--leading-tight);font-variant-numeric:tabular-nums;text-align:right}.pr[data-v-c466732e]{display:inline-flex;align-items:center;gap:var(--space-1);flex:none;padding:1px var(--space-1);border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-surface-sunken);color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-xs);font-weight:var(--weight-medium);line-height:1;cursor:pointer}.pr[data-v-c466732e]:hover{border-color:var(--color-line-strong)}.pr[data-v-c466732e]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.pr--open[data-v-c466732e],.pr--open[data-v-c466732e]:hover{background:var(--color-success-soft);border-color:var(--color-success-bd);color:var(--color-success)}.pr--merged[data-v-c466732e],.pr--merged[data-v-c466732e]:hover{background:var(--color-done-soft);border-color:var(--color-done-bd);color:var(--color-done)}.act[data-v-c466732e]{position:relative;flex:none;display:inline-flex;align-items:center;justify-content:flex-end;min-width:78px}.se.has-gen .act[data-v-c466732e]{min-width:104px}.act .btn[data-v-c466732e]{position:absolute;top:50%;transform:translateY(-50%);visibility:hidden}.act .kebab[data-v-c466732e]{right:0}.act .pin[data-v-c466732e]{right:26px}.act .emoji-btn[data-v-c466732e]{right:52px}.act .gen-title[data-v-c466732e]{right:78px}.act .pin.on[data-v-c466732e]{visibility:visible;color:var(--color-accent)}.se:hover .act .btn[data-v-c466732e],.act:has(.btn.open) .btn[data-v-c466732e]{visibility:visible}.se:hover .act .ts[data-v-c466732e],.act:has(.btn.open) .ts[data-v-c466732e]{visibility:hidden}.btn.open[data-v-c466732e]{color:var(--color-text);background:var(--sb-hover, var(--color-surface-sunken))}.emoji-glyph[data-v-c466732e]{font-size:var(--text-base);line-height:1}.emoji-picker[data-v-c466732e]{position:fixed;top:0;left:0;z-index:var(--z-dropdown);min-width:172px;padding:var(--space-2);background:var(--color-surface-raised);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.emoji-grid[data-v-c466732e]{display:grid;grid-template-columns:repeat(5,28px);gap:var(--space-1)}.emoji-cell[data-v-c466732e]{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-sm);background:transparent;font-size:var(--text-base);line-height:1;cursor:pointer;transition:background var(--duration-fast) var(--ease-out)}.emoji-cell[data-v-c466732e]:hover{background:var(--color-surface-sunken)}.emoji-cell[data-v-c466732e]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.emoji-cell.on[data-v-c466732e]{background:var(--color-accent-soft)}.emoji-clear[data-v-c466732e]{margin-top:var(--space-1);width:100%;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-xs);line-height:var(--leading-tight);padding:4px 8px;cursor:pointer}.emoji-clear[data-v-c466732e]:hover{background:var(--color-surface-sunken);color:var(--color-text)}.menu[data-v-c466732e]{position:fixed;top:0;left:0;z-index:var(--z-dropdown)}.menu-time[data-v-c466732e]{padding:6px 10px;color:var(--color-text-faint);font-family:var(--font-mono);font-size:var(--text-xs);cursor:default;user-select:text}.rename-input[data-v-c466732e]{flex:1;font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-accent);border-radius:var(--radius-xs);padding:1px 4px;outline:none;min-width:0}.sessions .se[data-v-c466732e]{margin:0;border-radius:var(--radius-sm);padding:8px calc(var(--sb-pad-x, 20px) - var(--sb-inset, 12px))}.sessions .se .rename-input[data-v-c466732e]{border-radius:var(--radius-sm);font-family:var(--sans)}.sessions .se .btn[data-v-c466732e]{border-radius:var(--radius-sm)}.group.dragging[data-v-ec29996e]{opacity:.45}.group-sessions[data-v-ec29996e]{height:auto;overflow:hidden;transition:height var(--duration-base) var(--ease-out)}.group-sessions.collapsed[data-v-ec29996e]{height:0}.gh[data-v-ec29996e]{display:flex;flex-direction:column;margin:0;padding:8px calc(var(--sb-pad-x) - var(--sb-inset));border-radius:var(--radius-sm);font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-text);user-select:none;position:relative;cursor:grab}.gh[data-v-ec29996e]:active{cursor:grabbing}.gh.renaming[data-v-ec29996e],.gh.renaming[data-v-ec29996e]:active{cursor:auto}.gh[data-v-ec29996e]:hover{background:var(--sb-hover, var(--color-surface-sunken))}.gh-top[data-v-ec29996e]{position:relative;display:flex;align-items:center;gap:var(--sb-gap)}.gh-folder[data-v-ec29996e]{flex:none;color:var(--color-text-muted)}.gh-name[data-v-ec29996e]{font-size:var(--ui-font-size-sm);line-height:var(--leading-tight);color:var(--color-text-muted);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.gh-actions[data-v-ec29996e]{position:absolute;right:0;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:var(--space-1);padding-left:var(--space-1);border-radius:var(--radius-sm);isolation:isolate;background:var(--color-sidebar-bg);opacity:0;pointer-events:none}.gh-actions[data-v-ec29996e]:after{content:"";position:absolute;inset:0;z-index:0;border-radius:var(--radius-sm);background:transparent}.gh:hover .gh-actions[data-v-ec29996e]:after{background:var(--sb-hover, var(--color-surface-sunken))}.gh-actions[data-v-ec29996e]>*{position:relative;z-index:1}.gh:hover .gh-actions[data-v-ec29996e],.gh:focus-within .gh-actions[data-v-ec29996e],.gh-actions.open[data-v-ec29996e]{opacity:1;pointer-events:auto}.gh-more.open[data-v-ec29996e]{color:var(--color-text);background:var(--color-line)}.group-empty[data-v-ec29996e]{padding:var(--space-1) var(--space-2) var(--space-1) calc(var(--sb-pad-x) - var(--sb-inset) + var(--sb-gutter) + var(--sb-gap));font-size:var(--text-xs);color:var(--color-text-faint);font-family:var(--font-ui)}.show-more[data-v-ec29996e]{display:flex;align-items:center;gap:var(--sb-gap);width:100%;margin:0;padding:8px calc(var(--sb-pad-x) - var(--sb-inset));border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-xs);line-height:var(--leading-tight);text-align:left;cursor:pointer}.show-more[data-v-ec29996e]:hover{background:var(--sb-hover, var(--color-surface-sunken))}.show-more[data-v-ec29996e]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.show-more-lead[data-v-ec29996e]{width:var(--sb-gutter);flex:none}.show-more-label[data-v-ec29996e]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gh-rename[data-v-ec29996e]{flex:1;min-width:0;font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--weight-regular);color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-accent);border-radius:var(--radius-xs);padding:2px 5px;outline:none}.gh-rename[data-v-ec29996e]{border-radius:var(--radius-sm);font-family:var(--sans)}.gh-add[data-v-ec29996e]{color:var(--faint)}.gh-add[data-v-ec29996e]:hover{color:var(--dim)}.pinned-head[data-v-ca629942]{padding-top:var(--space-1)}.pinned-head[data-v-ca629942]{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 var(--space-3) var(--space-1) var(--space-2);font-family:var(--font-ui);font-size:var(--text-xs);font-weight:var(--weight-regular);text-transform:uppercase;color:var(--faint);user-select:none}.pinned-head .pinned-title[data-v-ca629942]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pinned-rows-wrap[data-v-ca629942]{position:relative;margin:0 calc(var(--sb-inset) * -1);--pinned-seam-down: linear-gradient(to bottom, color-mix(in srgb, var(--color-text) 1.5%, transparent), transparent 35%), linear-gradient(to bottom, color-mix(in srgb, var(--color-text) 1%, transparent), transparent 65%), linear-gradient(to bottom, color-mix(in srgb, var(--color-text) .75%, transparent), transparent);--pinned-seam-up: linear-gradient(to top, color-mix(in srgb, var(--color-text) 1.5%, transparent), transparent 35%), linear-gradient(to top, color-mix(in srgb, var(--color-text) 1%, transparent), transparent 65%), linear-gradient(to top, color-mix(in srgb, var(--color-text) .75%, transparent), transparent)}.pinned-rows[data-v-ca629942]{max-height:40vh;overflow-y:auto;padding:0 var(--sb-inset);scrollbar-width:none}.pinned-rows[data-v-ca629942]::-webkit-scrollbar{display:none}.pinned-seam[data-v-ca629942]{position:absolute;left:0;right:0;height:var(--space-4);pointer-events:none;opacity:0;z-index:var(--z-sticky);transition:opacity var(--duration-slow) var(--ease-out)}.pinned-seam--top[data-v-ca629942]{top:0;border-top:1px solid var(--line);background:var(--pinned-seam-down)}.pinned-seam--bottom[data-v-ca629942]{bottom:0;border-bottom:1px solid var(--line);background:var(--pinned-seam-up)}.pinned-rows-wrap.scrolled .pinned-seam--top[data-v-ca629942],.pinned-rows-wrap.more-below .pinned-seam--bottom[data-v-ca629942]{opacity:1}.pinned-resize[data-v-ca629942]{height:var(--space-1);position:relative;background:transparent;touch-action:none;margin:-2px calc(var(--sb-inset) * -1);z-index:var(--z-dropdown);cursor:row-resize}.pinned-resize-bar[data-v-ca629942]{position:absolute;top:50%;left:0;right:0;height:2px;translate:0 -50%;background:transparent;transition:background var(--duration-fast) var(--ease-out)}.pinned-resize:hover .pinned-resize-bar[data-v-ca629942]{background:var(--color-selected)}.pinned-resize.dragging .pinned-resize-bar[data-v-ca629942]{background:var(--color-line-strong)}.pinned-resize[data-v-ca629942]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.empty[data-v-ca629942]{padding:var(--space-6) var(--space-3);text-align:center;color:var(--faint);font-size:calc(var(--ui-font-size) - 3px);line-height:1.6}.ui-kbd[data-v-32292ed8]{display:inline-flex;align-items:center;gap:3px;flex:none}.ui-kbd__key[data-v-32292ed8]{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border:1px solid var(--color-line);border-bottom-width:2px;border-radius:var(--radius-xs);background:var(--color-surface-sunken);color:var(--color-text-muted);font-family:var(--font-ui);font-size:11px;line-height:1}.kimi-mascot[data-v-6634dad2]{display:inline-flex;align-items:center;justify-content:center;flex:none;width:24px;height:24px;border-radius:var(--radius-full);background:var(--color-accent-soft);color:var(--color-accent);user-select:none}.kimi-mascot--pulse[data-v-6634dad2]{animation:kimi-mascot-pulse-6634dad2 2.6s var(--ease-out) infinite}@keyframes kimi-mascot-pulse-6634dad2{0%,to{box-shadow:0 0 color-mix(in srgb,var(--color-accent) 0%,transparent)}50%{box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent) 25%,transparent)}}@media(prefers-reduced-motion:reduce){.kimi-mascot--pulse[data-v-6634dad2]{animation:none}}.ui-pill[data-v-317ace1a]{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:1;white-space:nowrap;cursor:default;transition:background var(--duration-base) var(--ease-out),color var(--duration-base) var(--ease-out)}button.ui-pill[data-v-317ace1a]{cursor:pointer}button.ui-pill[data-v-317ace1a]:hover:not(:disabled){background:var(--color-surface-sunken);color:var(--color-text)}button.ui-pill[data-v-317ace1a]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}button.ui-pill[data-v-317ace1a]:disabled{opacity:.5;cursor:not-allowed}.ui-pill.is-active[data-v-317ace1a]{background:var(--color-accent-soft);color:var(--color-accent)}.ui-pill[data-v-317ace1a] svg{width:var(--p-ic-sm);height:var(--p-ic-sm);flex:none;color:var(--color-text-faint)}.ui-tabs[data-v-3b07f193]{display:flex;gap:0;border-bottom:1px solid var(--color-line)}.ui-tabs__item[data-v-3b07f193]{padding:var(--space-2) 14px;margin-bottom:-1px;border:none;border-bottom:2px solid transparent;background:transparent;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:color var(--duration-base) var(--ease-out),border-color var(--duration-base) var(--ease-out)}.ui-tabs--sm .ui-tabs__item[data-v-3b07f193]{padding:var(--space-1) var(--space-2);font-size:var(--text-xs)}.ui-tabs__item[data-v-3b07f193]:hover:not(.is-on){color:var(--color-text)}.ui-tabs__item.is-on[data-v-3b07f193]{color:var(--color-accent);border-bottom-color:var(--color-accent)}.ui-tabs__item[data-v-3b07f193]:focus-visible{outline:none;box-shadow:var(--p-focus-ring);border-radius:var(--radius-xs)}.side[data-v-d9d9dd75]{background:var(--color-sidebar-bg);display:flex;flex-direction:row;justify-content:flex-end;overflow:hidden;min-width:0;height:100%;transition:width .28s cubic-bezier(.4,0,.2,1),visibility .28s;--sb-inset: var(--space-3);--sb-pad-x: var(--space-5);--sb-gutter: 16px;--sb-gap: var(--space-2);--sb-hover: var(--color-hover)}.side.no-anim[data-v-d9d9dd75]{transition:none}.side.collapsed[data-v-d9d9dd75]{visibility:hidden}.col[data-v-d9d9dd75]{flex:none;min-width:0;display:flex;flex-direction:column;min-height:0;width:100%;box-sizing:border-box;border-right:1px solid var(--line);container-type:inline-size;container-name:sidebar-col}.ch[data-v-d9d9dd75]{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:var(--space-3);min-height:calc(26px + 2 * var(--space-3));width:100%;box-sizing:border-box}.side.macos-desktop .ch[data-v-d9d9dd75]{padding-left:80px;-webkit-app-region:drag}.side.macos-desktop .ch-brand[data-v-d9d9dd75]{display:none}.ch-logo[data-v-d9d9dd75]{height:22px;width:32px;flex:none;display:block;cursor:pointer;user-select:none;touch-action:none;transition:transform .18s ease}.ch-logo[data-v-d9d9dd75]:hover{transform:scale(1.08)}.ch-logo.is-dev[data-v-d9d9dd75]{--logo: var(--color-logo-dev)}.ch-brand[data-v-d9d9dd75]{display:flex;align-items:center;gap:8px;min-width:0;flex:1;user-select:none;touch-action:none}.ch-name[data-v-d9d9dd75]{font-size:var(--ui-font-size);font-weight:500;line-height:22px;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ch-backend[data-v-d9d9dd75]{flex:none;min-width:0}.ch-backend-kind[data-v-d9d9dd75]{font-family:var(--mono);font-weight:500;color:var(--color-text-muted)}.ch-backend-kind.is-v2[data-v-d9d9dd75]{color:var(--color-accent)}.ch-backend-ep[data-v-d9d9dd75]{font-family:var(--mono);color:var(--color-text-faint);overflow:hidden;text-overflow:ellipsis}@container sidebar-col (max-width: 320px){.ch-backend-ep[data-v-d9d9dd75]{display:none}}@container sidebar-col (max-width: 250px){.ch-name[data-v-d9d9dd75]{display:none}}.btn-wrap[data-v-d9d9dd75]{display:flex;align-items:center;gap:8px;padding:0 var(--sb-inset)}.btn-new-chat[data-v-d9d9dd75]{display:flex;align-items:center;gap:12px;flex:1;min-width:0;padding:8px calc(var(--sb-pad-x) - var(--sb-inset));border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text);font-family:var(--font-ui);font-size:var(--ui-font-size-sm);line-height:var(--leading-tight);cursor:pointer;text-align:left}.btn-new-chat[data-v-d9d9dd75]:hover{background:var(--sb-hover)}.btn-new-chat[data-v-d9d9dd75]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.btn-new-chat svg[data-v-d9d9dd75]{flex:none}.btn-new-chat span[data-v-d9d9dd75]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-wrap[data-v-d9d9dd75]{padding:0 var(--sb-inset);position:relative;z-index:1;background:var(--color-sidebar-bg);border-bottom:1px solid transparent;transition:border-color var(--duration-base) var(--ease-out),box-shadow var(--duration-base) var(--ease-out)}.search-wrap--scrolled[data-v-d9d9dd75]{border-bottom-color:var(--line);box-shadow:var(--shadow-sm)}.search[data-v-d9d9dd75]{display:flex;align-items:center;gap:12px;width:100%;margin:0;padding:8px calc(var(--sb-pad-x) - var(--sb-inset));border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text);font:inherit;text-align:left;cursor:pointer}.search[data-v-d9d9dd75]:hover{background:var(--sb-hover)}.search[data-v-d9d9dd75]:focus-visible{background:var(--sb-hover);color:var(--color-text);outline:2px solid var(--color-accent-bd);outline-offset:-2px}.search-icon[data-v-d9d9dd75]{flex:none}.search-input[data-v-d9d9dd75]{flex:1;min-width:0;color:var(--color-text);font-family:var(--font-ui);font-size:var(--ui-font-size-sm);line-height:var(--leading-tight);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-tabs[data-v-d9d9dd75]{padding:0 var(--sb-inset);background:var(--color-sidebar-bg)}.sessions[data-v-d9d9dd75]{flex:1;overflow-y:auto;padding:var(--space-3) var(--sb-inset);min-height:0}.sessions[data-v-d9d9dd75]::-webkit-scrollbar{width:4px}.sessions[data-v-d9d9dd75]::-webkit-scrollbar-track{background:transparent}.sessions[data-v-d9d9dd75]::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--color-text) 12%,transparent);border-radius:var(--radius-full)}.sessions[data-v-d9d9dd75]::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--color-text) 25%,transparent)}.side-footer[data-v-d9d9dd75]{display:flex;align-items:center;gap:8px;flex:none;padding:var(--space-2) var(--sb-inset);border-top:1px solid var(--line)}.btn-settings[data-v-d9d9dd75]{display:flex;align-items:center;gap:12px;flex:1;min-width:0;padding:8px calc(var(--sb-pad-x) - var(--sb-inset));border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text);font-family:var(--font-ui);font-size:var(--ui-font-size-sm);line-height:var(--leading-tight);cursor:pointer;text-align:left}.btn-settings[data-v-d9d9dd75]:hover{background:var(--sb-hover)}.btn-settings[data-v-d9d9dd75]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.btn-settings svg[data-v-d9d9dd75]{flex:none}.btn-settings span[data-v-d9d9dd75]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-mascot[data-v-d9d9dd75]{flex:none}.side-section-label[data-v-d9d9dd75]{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 var(--space-3) var(--space-1) var(--space-2);font-family:var(--font-ui);font-size:var(--text-xs);font-weight:var(--weight-regular);text-transform:uppercase;color:var(--faint);user-select:none}.side-section-title[data-v-d9d9dd75]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-section-toggle[data-v-d9d9dd75]{color:var(--faint);opacity:0;transition:opacity var(--duration-base) var(--ease-out)}.side-section-label:hover .side-section-toggle[data-v-d9d9dd75],.side-section-label:focus-within .side-section-toggle[data-v-d9d9dd75]{opacity:1}.side-section-toggle[data-v-d9d9dd75]:hover{color:var(--dim)}.side-section-toggle svg[data-v-d9d9dd75]{width:13px;height:13px}.side-section-actions[data-v-d9d9dd75]{display:flex;align-items:center;gap:2px}.ws-drop-target.drop-before[data-v-d9d9dd75]{box-shadow:inset 0 2px 0 var(--color-accent)}.ws-drop-target.drop-after[data-v-d9d9dd75]{box-shadow:inset 0 -2px 0 var(--color-accent)}.empty[data-v-d9d9dd75]{padding:var(--space-6) var(--space-3);text-align:center;color:var(--faint);font-size:calc(var(--ui-font-size) - 3px);line-height:1.6}.ws-menu[data-v-d9d9dd75],.gh-menu[data-v-d9d9dd75],.section-menu[data-v-d9d9dd75],.backend-menu[data-v-d9d9dd75],.list-menu[data-v-d9d9dd75]{position:fixed;top:0;left:0;z-index:var(--z-dropdown)}.section-menu-check[data-v-d9d9dd75]{display:inline-flex;flex:none;width:14px}.backend-menu-name[data-v-d9d9dd75]{font-family:var(--mono);font-weight:500}.backend-menu-url[data-v-d9d9dd75]{margin-left:8px;font-family:var(--mono);color:var(--color-text-muted)}.rh[data-v-48fd0a6d]{width:4px;flex:none;cursor:col-resize;position:relative;align-self:stretch;background:transparent;touch-action:none;margin:0 -2px;z-index:var(--z-dropdown)}.rh-bar[data-v-48fd0a6d]{position:absolute;inset:0;background:transparent;transition:background .12s}.rh:hover .rh-bar[data-v-48fd0a6d],.rh.dragging .rh-bar[data-v-48fd0a6d]{background:var(--color-accent)}.kw-dot[data-v-e36198e5]{width:7px;height:7px;border-radius:var(--radius-full);background:var(--color-text-faint);flex:none}.kw-dot--ok[data-v-e36198e5]{background:var(--color-success)}.kw-dot--error[data-v-e36198e5]{background:var(--color-danger)}.kw-dot--suspended[data-v-e36198e5]{background:var(--color-warning)}.kw-dot--running[data-v-e36198e5]{background:var(--color-accent);animation:kw-dot-pulse-e36198e5 1.4s var(--ease-out) infinite}@keyframes kw-dot-pulse-e36198e5{0%{box-shadow:0 0 color-mix(in srgb,var(--color-accent) 40%,transparent)}to{box-shadow:0 0 0 6px transparent}}.box[data-v-fef8aad2]{margin:0;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);overflow:hidden;transition:border-color var(--duration-base) var(--ease-out)}.box.err[data-v-fef8aad2]{border-color:color-mix(in srgb,var(--color-danger) 25%,var(--bg))}.box.stacked[data-v-fef8aad2]{border:none;border-radius:0}.box.stacked .bh[data-v-fef8aad2]{border-radius:0}.box.stack-middle[data-v-fef8aad2],.box.stack-last[data-v-fef8aad2]{border-top:1px solid var(--color-line)}.bh[data-v-fef8aad2]{display:flex;align-items:center;gap:8px;min-height:30px;padding:0 11px;cursor:pointer;font:var(--text-sm) var(--font-mono);color:var(--color-text)}.box.open .bh[data-v-fef8aad2],.bh[data-v-fef8aad2]:hover{background:var(--color-surface-sunken)}.box.err .bh[data-v-fef8aad2]{background:color-mix(in srgb,var(--color-danger) 4%,var(--bg))}.box.err .bh[data-v-fef8aad2]:hover{background:color-mix(in srgb,var(--color-danger) 7%,var(--bg))}.gl[data-v-fef8aad2]{display:inline-flex;align-items:center;color:var(--color-text-faint);flex:none}.bh-text[data-v-fef8aad2]{display:flex;align-items:baseline;gap:inherit;flex:1;min-width:0}.a[data-v-fef8aad2]{color:var(--color-text);font-weight:var(--weight-medium);flex:none}.p[data-v-fef8aad2]{color:var(--color-text-muted);font-size:var(--text-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.rt[data-v-fef8aad2]{margin-left:auto;color:var(--color-text-muted);font-size:var(--text-xs);display:flex;align-items:center;gap:6px;flex:none}.tm[data-v-fef8aad2]{color:var(--color-text-faint)}.chip[data-v-fef8aad2-s]{color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-xs);flex:none}.status[data-v-fef8aad2]{display:inline-flex;align-items:center;flex:none}.status.ok[data-v-fef8aad2]{color:var(--color-success)}.status.error[data-v-fef8aad2]{color:var(--color-danger)}.bb[data-v-fef8aad2]{display:grid;grid-template-rows:minmax(0,0fr);overflow:hidden;transition:grid-template-rows var(--duration-base) var(--ease-out)}.bb.open[data-v-fef8aad2]{grid-template-rows:minmax(0,1fr)}.bb-pad[data-v-fef8aad2]{min-height:0;overflow:hidden;padding:var(--space-2) var(--space-3) var(--space-3);background:var(--color-surface-sunken);border-top:1px solid var(--color-line);color:var(--color-text);font:var(--text-sm)/1.65 var(--font-mono);white-space:pre-wrap;word-break:break-word}.box.mob[data-v-fef8aad2]{margin:0}.at-open[data-v-9203c679]{flex:none;background:none;border:1px solid var(--color-line);border-radius:var(--radius-xs);color:var(--color-text-muted);font:var(--text-xs) var(--font-ui);padding:1px 7px;cursor:pointer}.at-open[data-v-9203c679]:hover{color:var(--color-text);background:var(--color-surface-sunken)}.at-type[data-v-9203c679]{font:var(--text-xs) var(--font-mono);color:var(--color-text-muted);margin-bottom:6px}.at-type-sep[data-v-9203c679]{margin:0 6px;color:var(--color-text-faint)}.at-fgbg[data-v-9203c679]{margin-left:8px;padding:0 6px;border:1px solid var(--color-line);border-radius:var(--radius-xs);color:var(--color-text-muted);font:var(--text-xs) var(--font-ui)}.at-task[data-v-9203c679]{color:var(--color-text);white-space:pre-wrap;word-break:break-word}.at-task+.bb-code[data-v-9203c679]{margin-top:10px}.bb-code[data-v-9203c679]{padding:11px 13px;border:1px solid var(--color-line);border-radius:var(--radius-md)}.chip[data-v-a9a0f259]{color:var(--color-text-muted);font-size:var(--text-xs);flex:none}.au-dismissed[data-v-a9a0f259]{color:var(--color-text-muted);font:italic var(--text-sm)/var(--leading-normal) var(--font-ui)}.au-list[data-v-a9a0f259]{display:flex;flex-direction:column;font:var(--text-sm)/var(--leading-normal) var(--font-ui)}.au-block[data-v-a9a0f259]{padding:4px 0}.au-block+.au-block[data-v-a9a0f259]{margin-top:4px;padding-top:10px;border-top:1px dashed var(--color-line)}.au-q[data-v-a9a0f259]{display:flex;align-items:baseline;gap:8px;margin-bottom:6px}.au-hdr[data-v-a9a0f259]{font:var(--text-xs) var(--font-mono);color:var(--color-text-muted);background:var(--color-surface-raised);border:1px solid var(--color-line);border-radius:var(--radius-sm);padding:0 6px;flex:none}.au-qtext[data-v-a9a0f259]{color:var(--color-text);font-weight:var(--weight-medium)}.au-opts[data-v-a9a0f259]{display:flex;flex-direction:column;gap:4px}.au-opt[data-v-a9a0f259]{display:flex;align-items:center;gap:8px;padding:5px 10px;border:1px solid var(--color-line);border-radius:var(--radius-md);color:var(--color-text-faint)}.au-opt.sel[data-v-a9a0f259]{border-color:var(--color-accent-bd);background:var(--color-accent-soft);color:var(--color-text)}.au-glyph[data-v-a9a0f259]{font:var(--text-base) var(--font-mono);color:var(--color-text-faint);width:14px;text-align:center;flex:none}.au-opt.sel .au-glyph[data-v-a9a0f259]{color:var(--color-accent-hover)}.au-label[data-v-a9a0f259]{color:inherit}.au-desc[data-v-a9a0f259]{color:var(--color-text-faint);font-size:var(--text-xs);margin-left:2px}.au-opt.sel .au-desc[data-v-a9a0f259]{color:var(--color-text-muted)}.au-raw[data-v-a9a0f259]{padding:11px 13px;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface-raised);font:var(--text-sm)/1.65 var(--font-mono);white-space:pre-wrap;word-break:break-word}.tool-output-block[data-v-3eefb240]{margin-top:var(--space-2);padding:var(--space-3);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface-raised)}.tool-output-block.scroll[data-v-3eefb240]{max-height:calc(var(--tool-output-visible-lines) * 1lh);overflow-y:auto}@media(min-width:981px){.tool-output-block.scroll[data-v-3eefb240]{scrollbar-gutter:stable}}.bb-empty[data-v-3eefb240]{color:var(--color-text-muted);font-style:italic}.chip[data-v-74e1da99]{color:var(--color-text-muted);font-size:var(--text-xs);flex:none}.bb-summary[data-v-74e1da99],.bb-summary[data-v-d24a81f5]{color:var(--color-text);border-bottom:1px dashed var(--color-line);padding-bottom:6px;margin-bottom:6px;word-break:break-all}.chip[data-v-d24a81f5]{color:var(--color-text-muted);font-size:var(--text-xs);flex:none}.gt-bg[data-v-d24a81f5]{flex:none;background:none;border:1px solid var(--color-line);border-radius:var(--radius-xs);color:var(--color-text-muted);font:var(--text-xs) var(--font-ui);padding:1px 7px;cursor:pointer}.gt-bg[data-v-d24a81f5]:hover{color:var(--color-text);background:var(--color-surface-sunken)}.media-tool[data-v-04192531]{display:inline-flex;flex-direction:column;gap:6px;max-width:320px}.media-title[data-v-04192531]{font-size:var(--text-xs);color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-image-button[data-v-04192531]{padding:0;border:none;background:transparent;cursor:pointer;border-radius:var(--radius-md);overflow:hidden}.media-image[data-v-04192531]{display:block;max-width:100%;border-radius:var(--radius-md);background:var(--media-alpha-canvas)}.media-video[data-v-04192531],.media-audio[data-v-04192531]{max-width:100%;border-radius:var(--radius-md)}.media-video-button[data-v-04192531]{position:relative;display:inline-flex;padding:0;border:none;background:transparent;cursor:pointer;border-radius:var(--radius-md);overflow:hidden}.media-video-button .media-video[data-v-04192531]{display:block;max-width:320px}.media-play-badge[data-v-04192531]{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--color-surface-raised);background:#0d111773;opacity:.9;transition:opacity .12s ease;pointer-events:none}.media-video-button:hover .media-play-badge[data-v-04192531]{opacity:.7}.chip[data-v-c851b016]{color:var(--color-text-muted);font-size:var(--text-xs);flex:none}.bb-summary[data-v-c851b016]{color:var(--color-text);border-bottom:1px dashed var(--color-line);padding-bottom:6px;margin-bottom:6px;word-break:break-all}.plan-path[data-v-c851b016]{display:block;width:100%;margin-bottom:var(--space-2);padding:0;border:none;background:none;color:var(--color-accent);font:var(--text-xs) var(--font-mono);text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.plan-path[data-v-c851b016]:hover{color:var(--color-accent-hover);text-decoration:underline}.plan-body[data-v-c851b016]{font:var(--text-base)/var(--leading-normal) var(--font-ui);white-space:normal;max-height:50vh;overflow-y:auto}.plan-review[data-v-c851b016]{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-top:var(--space-2);font:var(--text-xs) var(--font-ui)}.plan-state[data-v-c851b016]{color:var(--color-text-muted);font-weight:var(--weight-medium)}.plan-option[data-v-c851b016]{color:var(--color-accent)}.plan-feedback[data-v-c851b016]{color:var(--color-text-muted)}.plan-loading[data-v-c851b016],.plan-empty[data-v-c851b016]{margin-top:var(--space-2);color:var(--color-text-muted);font:var(--text-xs) var(--font-ui);font-style:italic}.swarm-card[data-v-4b58e128]{margin:0;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);overflow:hidden;transition:border-color var(--duration-base) var(--ease-out)}.swarm-card.err[data-v-4b58e128]{border-color:color-mix(in srgb,var(--color-danger) 25%,var(--bg))}.head[data-v-4b58e128]{display:flex;align-items:center;gap:8px;width:100%;min-height:32px;padding:0 11px;border:none;background:transparent;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-sm);text-align:left;cursor:pointer;user-select:none}.head[data-v-4b58e128]:hover,.swarm-card.open>.head[data-v-4b58e128]{background:var(--color-surface-sunken);color:var(--color-text)}.swarm-card.err>.head[data-v-4b58e128]{background:color-mix(in srgb,var(--color-danger) 4%,var(--bg))}.swarm-card.err>.head[data-v-4b58e128]:hover{background:color-mix(in srgb,var(--color-danger) 7%,var(--bg))}.head[data-v-4b58e128]:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--color-accent-soft)}.ic[data-v-4b58e128]{color:var(--color-text-faint);flex:none}.title[data-v-4b58e128]{font-weight:var(--weight-medium);color:var(--color-text);flex:none}.meta[data-v-4b58e128]{color:var(--color-text-faint);flex:none}.sum-txt[data-v-4b58e128]{color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.rt[data-v-4b58e128]{margin-left:auto;display:flex;align-items:center;gap:8px;flex:none;color:var(--color-text-muted);font-size:var(--text-xs)}.status[data-v-4b58e128]{display:inline-flex;align-items:center;flex:none}.status[data-v-4b58e128]:has(>svg){color:var(--color-success)}.err .status[data-v-4b58e128]:has(>svg){color:var(--color-danger)}.chip[data-v-4b58e128]{color:var(--color-text-muted);font-family:var(--font-mono)}.tm[data-v-4b58e128]{color:var(--color-text-faint);font-family:var(--font-mono)}.car[data-v-4b58e128]{margin-left:2px;color:var(--color-text-faint);flex:none}.body[data-v-4b58e128]{border-top:1px solid var(--color-line);background:var(--color-surface-sunken)}.overview[data-v-4b58e128]{padding:9px 11px 8px;border-bottom:1px solid color-mix(in srgb,var(--color-line) 70%,transparent)}.overview-line[data-v-4b58e128]{display:flex;align-items:baseline;gap:8px}.big[data-v-4b58e128]{font-family:var(--font-mono);font-weight:var(--weight-medium);color:var(--color-text);font-size:15px}.lbl[data-v-4b58e128]{color:var(--color-text-muted);font-size:var(--text-xs)}.seg[data-v-4b58e128]{display:flex;height:5px;border-radius:var(--radius-full);overflow:hidden;margin:8px 0 4px;gap:2px}.seg>span[data-v-4b58e128]{height:100%;border-radius:var(--radius-full);min-width:3px}.s-ok[data-v-4b58e128]{background:var(--color-success)}.s-run[data-v-4b58e128]{background:var(--color-accent)}.s-warn[data-v-4b58e128]{background:var(--color-warning)}.s-fail[data-v-4b58e128]{background:var(--color-danger)}.s-queue[data-v-4b58e128]{background:var(--color-line)}.legend[data-v-4b58e128]{display:flex;flex-wrap:wrap;gap:10px}.legend span[data-v-4b58e128]{display:inline-flex;align-items:center;gap:5px;font:var(--text-xs) var(--font-mono);color:var(--color-text-muted)}.lg-dot[data-v-4b58e128]{width:6px;height:6px;border-radius:var(--radius-full)}.member[data-v-4b58e128]{border-bottom:1px solid color-mix(in srgb,var(--color-line) 70%,transparent)}.member[data-v-4b58e128]:last-child{border-bottom:none}.member-head[data-v-4b58e128]{display:flex;align-items:center;gap:8px;width:100%;min-height:32px;padding:0 11px;border:none;background:transparent;color:var(--color-text);font-family:var(--font-ui);font-size:var(--text-sm);text-align:left;cursor:pointer;user-select:none}.member-head[data-v-4b58e128]:hover,.member.open .member-head[data-v-4b58e128]{background:color-mix(in srgb,var(--color-surface) 55%,var(--bg))}.member-head[data-v-4b58e128]:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--color-accent-soft)}.row-dot[data-v-4b58e128]{flex:none}.mname[data-v-4b58e128]{flex:none;min-width:0;max-width:46%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:var(--weight-medium);color:var(--color-text)}.mact[data-v-4b58e128]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-muted);font-size:var(--text-xs)}.mphase[data-v-4b58e128]{flex:none;margin-left:auto;font:var(--text-xs) var(--font-mono);color:var(--color-text-faint)}.phase-completed .mphase[data-v-4b58e128]{color:var(--color-success)}.phase-failed .mphase[data-v-4b58e128]{color:var(--color-danger)}.phase-working .mphase[data-v-4b58e128]{color:var(--color-accent)}.phase-suspended .mphase[data-v-4b58e128]{color:var(--color-warning)}.mcar[data-v-4b58e128]{margin-left:4px;color:var(--color-text-faint);flex:none}.member-body[data-v-4b58e128]{padding:4px 11px 10px 31px;color:var(--color-text-muted);font-size:var(--text-xs);line-height:1.65;white-space:pre-wrap;word-break:break-word}.waiting[data-v-4b58e128]{padding:6px 11px 10px;color:var(--color-text-muted);font-size:var(--text-xs)}.fallback-output[data-v-4b58e128]{padding:9px 11px 10px;color:var(--color-text);font:var(--text-xs)/1.6 var(--font-mono);white-space:pre-wrap;word-break:break-word}.wf-glance[data-v-abcade80]{display:flex;flex-direction:column;gap:2px}.wf-main[data-v-abcade80]{color:var(--color-text);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:var(--leading-normal)}.wf-sub[data-v-abcade80]{color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-xs);line-height:var(--leading-normal);white-space:normal;overflow-wrap:anywhere}.tool-group[data-v-5d4f37b4]{display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);overflow:hidden}.tool-group-head[data-v-5d4f37b4]{display:flex;align-items:center;gap:8px;width:100%;height:32px;padding:0 11px;border:none;background:transparent;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-sm);text-align:left;cursor:pointer;user-select:none}.tool-group-head[data-v-5d4f37b4]:hover{background:var(--color-surface-sunken);color:var(--color-text)}.tool-group-head[data-v-5d4f37b4]:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--color-accent-soft)}.tg-ic[data-v-5d4f37b4]{color:var(--color-text-faint);flex:none}.tg-title[data-v-5d4f37b4]{font-weight:var(--weight-medium);color:var(--color-text)}.tg-meta[data-v-5d4f37b4]{color:var(--color-text-faint)}.tg-car[data-v-5d4f37b4]{margin-left:auto;color:var(--color-text-faint);flex:none;transition:transform var(--duration-base) var(--ease-out)}.tool-group.open .tg-car[data-v-5d4f37b4]{transform:rotate(90deg)}.tool-group-body[data-v-5d4f37b4]{display:grid;grid-template-rows:minmax(0,0fr);overflow:hidden;transition:grid-template-rows var(--duration-base) var(--ease-out)}.tool-group-body.open[data-v-5d4f37b4]{grid-template-rows:minmax(0,1fr)}.tool-group-body-inner[data-v-5d4f37b4]{min-height:0;overflow:hidden;display:flex;flex-direction:column}.md-mention-pill-host[data-v-80a4a52f]{display:inline-block;vertical-align:baseline}.md-mention-pill[data-v-80a4a52f]{display:inline-flex;align-items:center;gap:3px;max-width:220px;padding:0 6px;border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-surface-sunken);color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:1.5;vertical-align:baseline;cursor:pointer;white-space:nowrap;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.md-mention-pill[data-v-80a4a52f]:hover,.md-mention-pill[data-v-80a4a52f]:focus-visible{background:var(--color-accent-soft);border-color:var(--color-accent-bd);color:var(--color-accent-hover)}.md-mention-pill[data-v-80a4a52f]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.md-mention-pill[data-v-80a4a52f] svg{width:var(--p-ic-sm);height:var(--p-ic-sm);flex:none;color:var(--color-text-faint)}.md-mention-pill[data-v-80a4a52f]:hover svg,.md-mention-pill[data-v-80a4a52f]:focus-visible svg{color:var(--color-accent)}.md-mention-pill--skill[data-v-80a4a52f]{color:var(--color-accent)}.md-mention-pill--skill[data-v-80a4a52f] svg{color:var(--color-accent)}.md-mention-pill--deleted .md-mention-pill-label[data-v-80a4a52f]{text-decoration:line-through;text-decoration-thickness:1px}.md-mention-pill--deleted[data-v-80a4a52f]{opacity:.6}.md-mention-pill-label[data-v-80a4a52f]{overflow:hidden;text-overflow:ellipsis}.md-mention-bubble[data-v-80a4a52f]{position:fixed;z-index:var(--z-tooltip);max-width:320px;padding:6px 10px;border-radius:var(--radius-sm);background:var(--color-text);color:var(--color-bg);font-family:var(--font-ui);font-size:var(--text-xs);line-height:1.4;box-shadow:var(--shadow-md)}.md-mention-bubble-path[data-v-80a4a52f]{overflow-wrap:anywhere}.md-mention-bubble-title[data-v-80a4a52f]{font-weight:var(--weight-medium);overflow-wrap:anywhere}.md-mention-bubble-desc[data-v-80a4a52f]{margin-top:2px;color:color-mix(in srgb,var(--color-bg) 78%,transparent);overflow-wrap:anywhere}.md-mention-bubble-open[data-v-80a4a52f]{display:inline-flex;align-items:center;margin-top:6px;padding:2px 10px;border:none;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-bg) 16%,transparent);color:var(--color-bg);font-family:var(--font-ui);font-size:var(--text-xs);font-weight:var(--weight-medium);cursor:pointer}.md-mention-bubble-open[data-v-80a4a52f]:hover{background:color-mix(in srgb,var(--color-bg) 26%,transparent)}.md[data-v-cd907b91]{font:400 15px/1.6 var(--font-ui);color:var(--color-text);word-break:break-word}.md-frontmatter[data-v-cd907b91]{margin:.6em 0;padding:var(--space-2) var(--space-3);border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-surface-sunken)}.md-frontmatter pre[data-v-cd907b91]{margin:0;font:var(--text-xs)/1.5 var(--font-mono);color:var(--color-text-muted);white-space:pre-wrap;word-break:break-word}.md[data-v-cd907b91] .markdown-renderer{font:400 15px/1.6 var(--font-ui);color:var(--color-text)}.md[data-v-cd907b91] .markstream-vue,.md[data-v-cd907b91] .markdown-renderer{--code-bg: var(--color-surface-sunken);--code-fg: var(--color-text);--code-border: var(--color-line);--code-header-bg: var(--color-surface);--code-action-fg: var(--color-text-muted);--code-action-hover-fg: var(--color-accent);--markstream-code-fallback-bg: var(--color-surface-sunken);--markstream-code-fallback-fg: var(--color-text);--markstream-code-border-color: var(--color-line);--inline-code-bg: var(--color-surface-sunken);--inline-code-fg: var(--color-fg);--inline-code-border: transparent}.md[data-v-cd907b91] .md-file-link{appearance:none;display:inline;border:0;padding:0;background:transparent;color:var(--color-accent-hover);font:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;cursor:pointer}.md[data-v-cd907b91] .md-file-link:hover{color:var(--color-accent)}.md[data-v-cd907b91] .markdown-renderer p,.md[data-v-cd907b91] .markdown-renderer li,.md[data-v-cd907b91] .markdown-renderer blockquote,.md[data-v-cd907b91] .markdown-renderer td,.md[data-v-cd907b91] .markdown-renderer th{font-size:var(--content-font-size)}.md[data-v-cd907b91] .markdown-renderer img{background:var(--media-alpha-canvas)}.md[data-v-cd907b91] strong{color:color-mix(in srgb,var(--color-text) 86%,var(--color-text-muted));font-weight:var(--weight-semibold)}.md[data-v-cd907b91] h1,.md[data-v-cd907b91] h2,.md[data-v-cd907b91] h3,.md[data-v-cd907b91] h4{color:var(--color-text);font-optical-sizing:auto;font-weight:var(--weight-semibold);margin:.85em 0 .35em;line-height:var(--leading-tight)}.md[data-v-cd907b91] h1{font-size:max(var(--text-xl),calc(var(--content-font-size) + 3px));border-bottom:1px solid var(--color-line);padding-bottom:4px}.md[data-v-cd907b91] h2{font-size:max(var(--text-lg),calc(var(--content-font-size) + 2px))}.md[data-v-cd907b91] h3{font-size:max(var(--text-lg),calc(var(--content-font-size) + 1px))}.md[data-v-cd907b91] h4{font-size:max(var(--text-base),calc(var(--content-font-size) + 1px));color:var(--color-text-muted)}.md[data-v-cd907b91] p{margin:.8rem 0}.md[data-v-cd907b91] .node-slot+.node-slot{margin-top:.8rem}.md[data-v-cd907b91] ul,.md[data-v-cd907b91] ol{padding-left:1.4em;margin:.6em 0}.md[data-v-cd907b91] li{margin:.3em 0}.md[data-v-cd907b91] :not(pre)>code,.md[data-v-cd907b91] .inline-code{font:.9em var(--font-mono);background:var(--color-surface-sunken);color:var(--color-fg);padding:0 4px;border-radius:var(--radius-sm)}.md[data-v-cd907b91] strong code,.md[data-v-cd907b91] strong .inline-code,.md[data-v-cd907b91] b code,.md[data-v-cd907b91] b .inline-code{font-weight:var(--weight-semibold)}.md[data-v-cd907b91] .code-block-container{margin:.6em 0;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface-sunken);box-shadow:var(--shadow-xs);overflow:hidden;--vscode-editor-font-size: var(--text-sm);--vscode-editor-line-height: calc(var(--text-sm) * 1.65)}.md[data-v-cd907b91] .code-block-header{background:var(--color-surface);border-bottom:1px solid var(--color-line);padding:4px 12px;color:var(--color-text-muted);font:var(--text-xs) var(--font-mono)}.md[data-v-cd907b91] .code-block-header *{color:var(--color-text-muted);font:var(--text-xs) var(--font-mono)}.md[data-v-cd907b91] .code-block-header .code-header-main{font-family:var(--font-ui)}.md[data-v-cd907b91] .code-block-header .code-action-btn{color:var(--color-text-muted);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--duration-base) var(--ease-out),color var(--duration-base) var(--ease-out)}.md[data-v-cd907b91] .code-block-header .code-action-btn:hover{background:var(--color-surface-sunken);color:var(--color-text)}.md[data-v-cd907b91] .code-block-header .code-action-btn:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.md[data-v-cd907b91] .code-block-header .code-action-btn *{pointer-events:none}.md[data-v-cd907b91] .code-block-shell-content,.md[data-v-cd907b91] .markstream-pre{background:var(--color-surface-sunken)}.md[data-v-cd907b91] .code-editor-container{line-height:1.65;--diffs-gap-block: var(--space-3)}.md[data-v-cd907b91] .code-editor-container diffs-container{--diffs-line-height: 1.65em}.md[data-v-cd907b91] .code-pre-fallback>.markstream-pre__line-numbers{display:none}.md[data-v-cd907b91] .code-block-container .code-pre-fallback{padding-left:1ch;line-height:1.65!important}.md[data-v-cd907b91] .code-block-container pre:not(.code-pre-fallback):not(.markstream-pre--line-numbers),.md[data-v-cd907b91] .markstream-pre:not(.code-pre-fallback):not(.markstream-pre--line-numbers){margin:0;padding:12px 14px;overflow-x:auto;font:var(--text-sm)/1.65 var(--font-mono)}.md[data-v-cd907b91] .code-block-container pre code{font:inherit;color:var(--color-text);background:none;border:none;padding:0;border-radius:0}.md[data-v-cd907b91] .markstream-pre,.md[data-v-cd907b91] .code-pre-fallback,.md[data-v-cd907b91] .code-block-shell-content pre:not(.shiki),.md[data-v-cd907b91] .code-block-shell-content pre:not(.shiki) code{color:var(--color-text)}.md[data-v-cd907b91] a{color:var(--color-accent);text-decoration:none}.md[data-v-cd907b91] a:hover{text-decoration:underline}.md[data-v-cd907b91] .katex-display{overflow-x:auto;overflow-y:hidden;padding:2px 0 6px;margin:.6em 0}.md[data-v-cd907b91] blockquote{margin:.5em 0;padding:4px 12px;border-left:3px solid var(--color-line);color:var(--color-text-muted)}.md[data-v-cd907b91] hr{border:none;border-top:1px solid var(--color-line);margin:.8em 0}.md[data-v-cd907b91] table:not(.table-node){border-collapse:collapse;font-size:var(--text-lg);margin:.5em 0}.md[data-v-cd907b91] table:not(.table-node) th,.md[data-v-cd907b91] table:not(.table-node) td{border:1px solid var(--color-line);padding:4px 10px;text-align:left}.md[data-v-cd907b91] table:not(.table-node) th{background:var(--color-surface);color:var(--color-text);font-weight:var(--weight-medium)}.md[data-v-cd907b91] .table-node-wrapper{width:100%;max-width:100%!important;min-width:0;overflow-x:auto!important}.md[data-v-cd907b91] .table-node{--table-border: var(--color-line);--table-header-bg: var(--color-surface);font-size:var(--text-lg);margin:.5em 0;width:max-content!important;min-width:100%;max-width:none!important;table-layout:auto!important}.md[data-v-cd907b91] .table-node th,.md[data-v-cd907b91] .table-node td{text-align:left;vertical-align:top;max-width:var(--p-table-cell-max)}.md[data-v-cd907b91] .table-node .text-node{display:inline-block;max-width:var(--p-table-cell-max);vertical-align:top}.md[data-v-cd907b91] .table-node tbody tr:hover{background-color:transparent!important}.diff-wrap[data-v-cd907b91]{margin:.6em 0;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface-sunken);box-shadow:var(--shadow-xs);overflow:hidden}.diff-bar[data-v-cd907b91]{display:flex;align-items:center;gap:6px;padding:4px 12px;background:var(--color-surface);border-bottom:1px solid var(--color-line);color:var(--color-text-muted);font:var(--text-xs) var(--font-mono)}.diff-lang[data-v-cd907b91]{margin-right:auto}.diff-copy[data-v-cd907b91]{display:inline-flex;align-items:center;justify-content:center;color:var(--color-text-muted);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;padding:2px 6px;transition:background var(--duration-base) var(--ease-out),color var(--duration-base) var(--ease-out)}.diff-copy[data-v-cd907b91]:hover{background:var(--color-surface-sunken);color:var(--color-text)}.diff-copy[data-v-cd907b91]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.diff-pre[data-v-cd907b91]{margin:0;padding:12px 0;overflow-x:auto;background:var(--color-surface-sunken)}.diff-pre code[data-v-cd907b91]{display:block;width:max-content;min-width:100%;font:var(--text-sm)/1.65 var(--font-mono);color:var(--color-text)}.diff-line[data-v-cd907b91]{display:block;width:100%;padding:0 14px}.diff-sign[data-v-cd907b91]{display:inline-block;width:14px;text-align:center;color:var(--color-text-muted);user-select:none}.diff-text[data-v-cd907b91]{color:var(--color-text)}.diff-add[data-v-cd907b91]{background:var(--color-success-soft);box-shadow:inset 2px 0 color-mix(in srgb,var(--color-success) 55%,transparent)}.diff-add .diff-sign[data-v-cd907b91]{color:var(--color-success)}.diff-del[data-v-cd907b91]{background:var(--color-danger-soft);box-shadow:inset 2px 0 color-mix(in srgb,var(--color-danger) 55%,transparent)}.diff-del .diff-sign[data-v-cd907b91]{color:var(--color-danger)}.diff-hunk[data-v-cd907b91]{background:var(--color-surface)}.diff-hunk .diff-text[data-v-cd907b91]{color:var(--color-text-muted)}.md[data-v-cd907b91],.md .markdown-renderer[data-v-cd907b91]{font-family:var(--sans)}.md .code-block-container[data-v-cd907b91],.md .diff-wrap[data-v-cd907b91]{border-radius:var(--radius-md)}.md :not(pre)>code[data-v-cd907b91],.md .inline-code[data-v-cd907b91]{border-radius:var(--radius-sm)}.think[data-v-0b3b873f]{margin:0}.tc-wrap[data-v-0b3b873f]{display:grid;grid-template-rows:1fr 0fr;transition:grid-template-rows var(--duration-slow) var(--ease-out);cursor:pointer}.tc-wrap.is-collapsed[data-v-0b3b873f]{grid-template-rows:0fr 1fr}.tc-anim[data-v-0b3b873f],.prev-anim[data-v-0b3b873f]{overflow:hidden;min-height:0}.tc-wrap.is-collapsed:hover .prev[data-v-0b3b873f]{color:var(--color-text)}.tc-wrap:not(.is-collapsed):hover .tc[data-v-0b3b873f]{color:var(--color-text-muted)}.prev[data-v-0b3b873f]{color:var(--color-text-faint);font:var(--text-base)/var(--leading-relaxed) var(--font-ui);font-weight:var(--weight-regular);white-space:pre-wrap;word-break:break-word;display:block}.tc[data-v-0b3b873f]{font:var(--text-base)/var(--leading-relaxed) var(--font-ui);font-weight:var(--weight-regular);color:var(--color-text-muted);white-space:pre-wrap;word-break:break-word;margin:0;max-height:calc(var(--leading-relaxed) * 1em * 5);overflow-y:auto}.mob[data-v-0b3b873f]{margin:0}.mob .tc[data-v-0b3b873f]{color:var(--color-text-faint);line-height:var(--leading-normal);max-height:calc(var(--leading-normal) * 1em * 5)}.mob .prev[data-v-0b3b873f]{color:var(--color-text-faint);line-height:var(--leading-normal)}.activity-notice[data-v-0d497074]{display:inline-flex;align-items:center;gap:9px;align-self:flex-start;margin:0;font:var(--text-sm)/var(--leading-normal) var(--font-ui);color:var(--color-text-muted)}.msg-time[data-v-9672fbd5]{display:inline-flex;align-items:center;min-height:22px;box-sizing:border-box;padding:2px 5px;background:none;border:none;border-radius:var(--radius-sm);color:var(--muted);font:inherit;font-size:var(--text-base);line-height:1;cursor:pointer;opacity:.7;transition:opacity .12s,color .12s,background-color .12s;white-space:nowrap}.msg-time[data-v-9672fbd5]:hover{opacity:1;color:var(--color-accent);background:var(--hover)}.cn[data-v-a62a6587]{margin:0;align-self:flex-end;max-width:78%;display:flex;flex-direction:column;align-items:flex-end}.cn-bubble[data-v-a62a6587]{box-sizing:border-box;max-width:100%;padding:8px 14px;background:var(--color-accent-soft);border:1px solid var(--color-accent-bd);border-radius:var(--radius-xl) var(--radius-xl) var(--radius-sm) var(--radius-xl);box-shadow:var(--shadow-xs);color:var(--color-text);font-size:var(--content-font-size);line-height:var(--leading-normal);white-space:pre-wrap;overflow-wrap:anywhere}.cn-title[data-v-a62a6587]{font-weight:var(--weight-medium)}.cn-meta[data-v-a62a6587]{display:flex;align-items:center;gap:6px;margin-top:4px;padding:0 4px;color:var(--color-text-faint);font-size:var(--text-base);line-height:var(--leading-normal)}.cn-meta-ico[data-v-a62a6587]{flex:none;color:var(--color-text-faint)}.cn-meta-item[data-v-a62a6587]{white-space:nowrap}.cn-status[data-v-a62a6587]{display:inline-flex;align-items:center}.cn-status.ok[data-v-a62a6587]{color:var(--color-success)}.cn-status.error[data-v-a62a6587]{color:var(--color-danger)}.att-chip[data-v-12ec975b]{display:inline-flex;align-items:center;gap:6px;max-width:220px;padding:4px 9px 4px 5px;background:var(--color-bg);border:1px solid var(--color-line);border-radius:999px;font-size:var(--ui-font-size-sm);transition:border-color var(--duration-fast) ease}.att-chip[data-v-12ec975b]:hover{border-color:var(--color-line-strong)}.att-activate[data-v-12ec975b]{display:inline-flex;align-items:center;gap:6px;min-width:0;padding:0;border:none;background:transparent;color:inherit;font:inherit;cursor:pointer}.att-activate[data-v-12ec975b]:focus-visible{outline:none;box-shadow:var(--p-focus-ring);border-radius:999px}.att-tile[data-v-12ec975b]{width:20px;height:20px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--color-text-muted);background:var(--color-surface-sunken)}.att-tile[data-v-12ec975b] .att-thumb{width:100%;height:100%;object-fit:cover;display:block}.att-name[data-v-12ec975b]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text);font-weight:var(--weight-medium)}.att-chip.is-error[data-v-12ec975b]{border-color:var(--color-danger-bd)}.att-chip.is-error .att-err[data-v-12ec975b]{flex:none;display:flex;align-items:center;color:var(--color-danger)}.att-rm[data-v-12ec975b]{flex:none;display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--color-text-faint);cursor:pointer}.att-rm[data-v-12ec975b]:hover{background:var(--color-hover);color:var(--color-text)}.att-rm[data-v-12ec975b]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.ui-moon[data-v-a6b7ec07]{display:inline-block;position:relative;line-height:1;user-select:none;flex:none}.ui-moon--sm[data-v-a6b7ec07]{width:14px;height:14px;font-size:14px}.ui-moon--md[data-v-a6b7ec07]{width:18px;height:18px;font-size:18px}.ui-moon--lg[data-v-a6b7ec07]{width:24px;height:24px;font-size:24px}.ui-moon__frame[data-v-a6b7ec07]{position:absolute;inset:0;display:block;text-align:center;opacity:0;animation-name:ui-moon-frame-a6b7ec07;animation-duration:.96s;animation-timing-function:steps(1,end);animation-iteration-count:infinite;animation-delay:var(--moon-frame-delay)}.ui-moon--fast .ui-moon__frame[data-v-a6b7ec07]{animation-duration:.48s;animation-delay:var(--moon-frame-fast-delay)}@keyframes ui-moon-frame-a6b7ec07{0%,12.49%{opacity:1}12.5%,to{opacity:0}}@media(prefers-reduced-motion:reduce){.ui-moon__frame[data-v-a6b7ec07]{animation:none;opacity:0}.ui-moon__frame[data-v-a6b7ec07]:nth-child(4){opacity:1}}.ui-banner[data-v-b0afda1c]{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-sm);line-height:var(--leading-normal)}.ui-banner__icon[data-v-b0afda1c]{display:inline-flex;flex:none}.ui-banner__icon svg[data-v-b0afda1c]{width:18px;height:18px}.ui-banner--info[data-v-b0afda1c]{background:var(--color-accent-soft);border-color:var(--color-accent-bd)}.ui-banner--warning[data-v-b0afda1c]{background:var(--color-warning-soft);border-color:var(--color-warning-bd)}.ui-banner--danger[data-v-b0afda1c]{background:var(--color-danger-soft);border-color:var(--color-danger-bd)}.ui-banner--info .ui-banner__icon[data-v-b0afda1c]{color:var(--color-accent)}.ui-banner--warning .ui-banner__icon[data-v-b0afda1c]{color:var(--color-warning)}.ui-banner--danger .ui-banner__icon[data-v-b0afda1c]{color:var(--color-danger)}.ui-button[data-v-556ea0b6]{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:1px solid transparent;border-radius:var(--radius-md);font-family:var(--font-ui);font-weight:var(--weight-medium);line-height:1;cursor:pointer;white-space:nowrap;transition:background var(--duration-base) var(--ease-out),border-color var(--duration-base) var(--ease-out),color var(--duration-base) var(--ease-out),box-shadow var(--duration-base) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.ui-button[data-v-556ea0b6]:focus-visible{outline:none;box-shadow:var(--p-focus-ring-strong)}.ui-button[data-v-556ea0b6]:not(:disabled):active{transform:scale(.98)}.ui-button[data-v-556ea0b6]:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.ui-button--sm[data-v-556ea0b6]{height:30px;padding:0 var(--space-3);font-size:var(--text-sm);border-radius:var(--radius-sm)}.ui-button--md[data-v-556ea0b6]{height:36px;padding:0 var(--space-4);font-size:var(--text-base)}.ui-button--lg[data-v-556ea0b6]{height:42px;padding:0 var(--space-5);font-size:15px;border-radius:var(--radius-lg)}.ui-button__content[data-v-556ea0b6]{display:inline-flex;align-items:center;gap:var(--space-2)}.ui-button__content[data-v-556ea0b6] svg{flex:none}.ui-button__content[data-v-556ea0b6] svg:not([width]){width:1em;height:1em}.ui-button--primary[data-v-556ea0b6]{background:var(--color-accent);color:var(--color-text-on-accent);border-color:var(--color-accent);box-shadow:var(--shadow-xs)}.ui-button--primary[data-v-556ea0b6]:not(:disabled):hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.ui-button--secondary[data-v-556ea0b6]{background:var(--color-surface-raised);color:var(--color-text);border-color:var(--color-line-strong);box-shadow:var(--shadow-xs)}.ui-button--secondary[data-v-556ea0b6]:not(:disabled):hover{border-color:var(--color-line-strong);background:var(--color-surface-sunken)}.ui-button--ghost[data-v-556ea0b6]{background:transparent;color:var(--color-text-muted);border-color:transparent}.ui-button--ghost[data-v-556ea0b6]:not(:disabled):hover{background:var(--color-surface-sunken);color:var(--color-text)}.ui-button--danger[data-v-556ea0b6]{background:var(--color-danger);color:var(--surface-light);border-color:var(--color-danger);box-shadow:var(--shadow-xs)}.ui-button--danger[data-v-556ea0b6]:not(:disabled):hover{filter:brightness(.96)}.ui-button--danger-soft[data-v-556ea0b6]{background:var(--color-danger-soft);color:var(--color-danger);border-color:var(--color-danger-bd)}.ui-button--danger-soft[data-v-556ea0b6]:not(:disabled):hover{background:var(--color-danger);color:var(--surface-light);border-color:var(--color-danger)}.ui-button.is-loading .ui-button__content[data-v-556ea0b6]{opacity:.7}.ui-button .ui-button__spinner[data-v-556ea0b6]{flex:none;color:inherit}.ui-button__spinner[data-v-556ea0b6] .ui-spinner__track{opacity:.35}.chat-empty[data-v-6af0ef3c]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px 16px;color:var(--faint);text-align:center}.chat-empty-text[data-v-6af0ef3c]{font-size:var(--ui-font-size-sm)}.chat-loading[data-v-6af0ef3c]{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:24px 16px;color:var(--muted)}.chat-loading-text[data-v-6af0ef3c]{font-size:var(--ui-font-size-sm)}.chat[data-v-6af0ef3c]{--chat-turn-gap: 16px;--chat-block-gap: 10px;--chat-section-gap: 18px;display:flex;flex-direction:column;gap:0;padding:16px 14px 20px;flex:1;min-height:0;position:relative}.chat .chat-empty[data-v-6af0ef3c]{align-self:stretch}.open-unsupported[data-v-6af0ef3c]{position:absolute;bottom:16px;left:50%;transform:translate(-50%);max-width:min(90%,480px);padding:6px 12px;border-radius:var(--radius-md);border:1px solid var(--color-line);background:var(--color-surface-raised);color:var(--color-text-muted);font-size:var(--ui-font-size-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;z-index:1}.chat>.u-turn[data-v-6af0ef3c],.chat>.a-msg[data-v-6af0ef3c],.chat>.compact-divider[data-v-6af0ef3c],.chat>.cron-notice[data-v-6af0ef3c],.chat>.sending-placeholder[data-v-6af0ef3c],.chat[data-v-6af0ef3c]>.activity-notice{margin-top:var(--chat-turn-gap)}.chat>.a-msg[data-v-6af0ef3c]{margin-top:10px}.chat>.u-turn[data-v-6af0ef3c]:first-child,.chat>.a-msg[data-v-6af0ef3c]:first-child,.chat>.compact-divider[data-v-6af0ef3c]:first-child,.chat>.cron-notice[data-v-6af0ef3c]:first-child,.chat>.sending-placeholder[data-v-6af0ef3c]:first-child,.chat[data-v-6af0ef3c]>.activity-notice:first-child{margin-top:0}.u-turn[data-v-6af0ef3c]{display:flex;flex-direction:column;align-items:flex-end;align-self:flex-start;width:100%}.u-bub[data-v-6af0ef3c]{align-self:flex-end;max-width:78%;background:var(--color-accent-soft);border:1px solid var(--color-accent-bd);color:var(--color-text);border-radius:var(--radius-xl) var(--radius-xl) var(--radius-sm) var(--radius-xl);padding:11px 15px;font-size:var(--content-font-size);line-height:var(--leading-normal);box-shadow:var(--shadow-xs)}.u-meta[data-v-6af0ef3c]{align-self:flex-end;display:flex;justify-content:flex-end;align-items:center;max-width:78%;margin-top:2px;margin-right:4px}.u-meta .u-edit[data-v-6af0ef3c]{min-height:22px;box-sizing:border-box}.u-text[data-v-6af0ef3c]{white-space:pre-wrap;overflow-wrap:anywhere}.u-edit[data-v-6af0ef3c]{display:inline-flex;align-items:center;justify-content:center;padding:2px 5px;background:none;border:none;border-radius:var(--radius-sm);color:var(--muted);font:inherit;font-size:var(--text-base);line-height:1;cursor:pointer;opacity:.7;transition:opacity .12s,color .12s,background-color .12s}.u-edit svg[data-v-6af0ef3c]{display:block;flex:none}.u-edit[data-v-6af0ef3c]:hover{opacity:1;color:var(--color-accent);background:var(--hover)}.u-copy[data-v-6af0ef3c]{display:inline-flex;align-items:center;justify-content:center;padding:2px 5px;background:none;border:none;border-radius:var(--radius-sm);color:var(--muted);font:inherit;font-size:var(--text-base);line-height:1;cursor:pointer;opacity:.7;transition:opacity .12s,color .12s,background-color .12s;min-height:22px;box-sizing:border-box}.u-copy svg[data-v-6af0ef3c]{display:block;flex:none}.u-copy[data-v-6af0ef3c]:hover{opacity:1;color:var(--color-accent);background:var(--hover)}.u-edit-wrap[data-v-6af0ef3c]{display:flex;justify-content:flex-end}.chat>.u-edit-wrap[data-v-6af0ef3c]{margin-top:4px}.chat>.u-edit-wrap+.a-msg[data-v-6af0ef3c]{margin-top:8px}.compact-divider[data-v-6af0ef3c]{display:flex;align-items:center;gap:10px;align-self:stretch;width:100%;margin:var(--chat-section-gap) 0 0}.chat>.compact-divider[data-v-6af0ef3c]:first-child{margin-top:0}.cd-line[data-v-6af0ef3c]{flex:1;height:1px;background:var(--line)}.cd-label[data-v-6af0ef3c]{flex:none;display:inline-flex;align-items:center;gap:8px;max-width:80%;font-size:var(--text-base);color:var(--muted);white-space:nowrap}.cd-btn[data-v-6af0ef3c]{background:none;border:none;padding:0;cursor:pointer;font:inherit;font-size:var(--text-base);color:var(--muted)}.cd-view[data-v-6af0ef3c]{color:var(--color-accent)}.cd-btn:hover .cd-view[data-v-6af0ef3c]{text-decoration:underline}.a-msg[data-v-6af0ef3c]{align-self:flex-start;max-width:94%;width:94%}.a-msg-ft[data-v-6af0ef3c]{display:flex;justify-content:flex-start;align-items:center;gap:8px;height:auto;margin-top:var(--chat-block-gap);overflow:visible}.a-cpbtn[data-v-6af0ef3c]{display:inline-flex;align-items:center;justify-content:center;padding:2px 5px;background:none;border:none;border-radius:var(--radius-sm);color:var(--muted);font:inherit;font-size:var(--text-base);line-height:1;cursor:pointer;opacity:.7;transition:opacity .12s,color .12s,background-color .12s;min-height:22px;box-sizing:border-box}.a-cpbtn[data-v-6af0ef3c]:hover{opacity:1;color:var(--color-accent);background:var(--hover)}.a-cpbtn svg[data-v-6af0ef3c]{display:block;flex:none}@media(hover:none){.a-msg-ft[data-v-6af0ef3c]{height:auto;margin-top:var(--chat-block-gap);opacity:1;pointer-events:auto}.a-cpbtn[data-v-6af0ef3c]{font-size:var(--ui-font-size-sm);padding:8px 10px;margin:-4px -6px}}.a-msg .msg[data-v-6af0ef3c]{font-size:var(--ui-font-size);line-height:1.6;color:var(--color-text);font-weight:500}.a-msg .msg[data-v-6af0ef3c] p{margin:0}.a-msg .msg[data-v-6af0ef3c] p+p{margin-top:8px}.a-msg>.msg[data-v-6af0ef3c],.a-msg[data-v-6af0ef3c]>.think,.a-msg[data-v-6af0ef3c]>.tool-group,.a-msg[data-v-6af0ef3c]>.agent-card,.a-msg[data-v-6af0ef3c]>.agent-group,.a-msg[data-v-6af0ef3c]>.box,.a-msg[data-v-6af0ef3c]>.swarm-card,.a-msg[data-v-6af0ef3c]>.media-tool,.a-msg[data-v-6af0ef3c]>.ui-banner{margin-top:var(--chat-block-gap)}.a-msg>.msg[data-v-6af0ef3c]:first-child,.a-msg[data-v-6af0ef3c]>.think:first-child,.a-msg[data-v-6af0ef3c]>.tool-group:first-child,.a-msg[data-v-6af0ef3c]>.agent-card:first-child,.a-msg[data-v-6af0ef3c]>.agent-group:first-child,.a-msg[data-v-6af0ef3c]>.box:first-child,.a-msg[data-v-6af0ef3c]>.swarm-card:first-child,.a-msg[data-v-6af0ef3c]>.media-tool:first-child,.a-msg[data-v-6af0ef3c]>.ui-banner:first-child{margin-top:0}.a-msg[data-v-6af0ef3c] code{font:.9em var(--font-mono);background:var(--color-surface-sunken);border:1px solid var(--color-line);border-radius:var(--radius-sm);padding:1px 6px;color:var(--color-accent-hover)}@container (min-width: 760px){.a-msg .msg[data-v-6af0ef3c] .markstream-vue.markdown-renderer:has(.table-node-wrapper){content-visibility:visible}.a-msg .msg[data-v-6af0ef3c] .table-node-wrapper{position:relative;left:50%;width:max-content;min-width:100%;max-width:min(var(--p-table-max),calc(100cqi - var(--space-5) - var(--space-5)))!important;transform:translate(-50%)}}.u-atts[data-v-6af0ef3c]{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.sending-placeholder[data-v-6af0ef3c]{align-self:flex-start;padding:10px 0}.turn-error[data-v-6af0ef3c]{flex-wrap:wrap}.turn-error-text[data-v-6af0ef3c]{flex:1;min-width:0;white-space:pre-wrap;overflow-wrap:anywhere}.turn-error-resume[data-v-6af0ef3c]{margin-left:auto;flex:none}.skill-act[data-v-6af0ef3c]{display:flex;flex-direction:column;gap:2px}.skill-act-head[data-v-6af0ef3c]{font-size:var(--ui-font-size-sm);font-weight:500;color:var(--color-accent-hover);display:flex;align-items:center;gap:6px}.skill-act-arrow[data-v-6af0ef3c]{color:var(--color-accent);font-size:var(--text-base)}.skill-act-args[data-v-6af0ef3c]{font-size:var(--text-base);color:var(--muted);padding-left:17px;white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:640px){.chat[data-v-6af0ef3c]{box-sizing:border-box;width:100%;padding:14px max(12px,var(--safe-right)) 18px max(12px,var(--safe-left))}.u-bub[data-v-6af0ef3c]{max-width:min(88%,calc(100vw - 52px))}.a-msg[data-v-6af0ef3c]{width:100%;max-width:100%}.u-bub .u-text[data-v-6af0ef3c],.a-msg .msg[data-v-6af0ef3c]{font-size:var(--ui-font-size-xl)}.a-msg[data-v-6af0ef3c] .md,.a-msg[data-v-6af0ef3c] .markdown-renderer,.a-msg[data-v-6af0ef3c] .code-block-container,.a-msg[data-v-6af0ef3c] .diff-wrap,.a-msg[data-v-6af0ef3c] pre{max-width:100%}.a-msg[data-v-6af0ef3c] .code-block-container pre,.a-msg[data-v-6af0ef3c] .diff-pre{overflow-x:auto;-webkit-overflow-scrolling:touch}.a-msg[data-v-6af0ef3c] .media-tool.mob{width:min(44vw,160px)}.cd-label[data-v-6af0ef3c]{min-width:0;max-width:calc(100% - 48px);overflow:hidden;text-overflow:ellipsis}.u-edit-confirm[data-v-6af0ef3c]{flex-wrap:wrap;justify-content:flex-end;max-width:calc(100vw - 28px)}.ts[data-v-6af0ef3c]{font-size:var(--ui-font-size-sm)}.chat-empty-text[data-v-6af0ef3c],.chat-loading-text[data-v-6af0ef3c]{font-size:var(--ui-font-size-lg)}.cd-label[data-v-6af0ef3c],.cd-btn[data-v-6af0ef3c]{font-size:var(--ui-font-size)}}.top-sentinel[data-v-6af0ef3c]{display:flex;align-items:center;justify-content:center;padding:12px 0;min-height:28px}.top-sentinel-loading[data-v-6af0ef3c]{opacity:.8}.top-sentinel-btn[data-v-6af0ef3c]{appearance:none;border:1px solid var(--border);background:transparent;color:var(--muted);font-size:var(--ui-font-size-sm);padding:4px 12px;border-radius:999px;cursor:pointer;transition:color .15s ease,border-color .15s ease}.top-sentinel-btn[data-v-6af0ef3c]:hover{color:var(--fg);border-color:var(--fg)}.top-sentinel-text[data-v-6af0ef3c]{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:var(--ui-font-size-sm)}.chat[data-v-6af0ef3c]{background:transparent}.chat[data-v-6af0ef3c]{gap:0;padding:22px 20px 26px}.u-bub[data-v-6af0ef3c]{background:var(--color-accent-soft);border-color:var(--color-accent-bd);border-radius:var(--radius-xl) var(--radius-xl) var(--radius-sm) var(--radius-xl);padding:11px 15px;box-shadow:var(--shc)}.a-msg[data-v-6af0ef3c]{max-width:100%;width:100%}.chat>.q-stack[data-v-6af0ef3c]{margin-top:var(--chat-turn-gap)}.chat>.q-stack[data-v-6af0ef3c]:first-child{margin-top:0}.q-stack[data-v-6af0ef3c]{align-self:flex-end;width:100%;display:flex;flex-direction:column;gap:8px}.q-head[data-v-6af0ef3c]{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:0 6px;color:var(--color-text-faint);font-size:var(--ui-font-size-xs)}.q-title[data-v-6af0ef3c]{display:inline-flex;align-items:center;gap:6px}.q-title b[data-v-6af0ef3c]{color:var(--color-accent-hover);font-weight:var(--weight-medium)}.q-hint[data-v-6af0ef3c]{color:var(--color-text-faint)}.q-turn[data-v-6af0ef3c]{position:relative}.q-bub[data-v-6af0ef3c]{display:flex;align-items:center;gap:8px;width:fit-content;background:var(--color-surface-raised);border:1px dashed var(--color-accent-bd);padding:8px 8px 8px 6px;transition:border-color .12s ease,background .12s ease}.q-bub[data-v-6af0ef3c]:hover{border-color:var(--color-accent);background:var(--color-accent-soft)}.q-grip[data-v-6af0ef3c]{flex:none;display:inline-flex;align-items:center;padding:2px;color:var(--color-text-faint);cursor:grab;opacity:.7}.q-grip[data-v-6af0ef3c]:hover{opacity:1}.q-grip[data-v-6af0ef3c]:active{cursor:grabbing}.q-body[data-v-6af0ef3c]{flex:1;min-width:0;background:none;border:none;padding:0;margin:0;font:inherit;color:var(--color-text);text-align:left;cursor:pointer;opacity:.82}.q-bub:hover .q-body[data-v-6af0ef3c]{opacity:1}.q-body[data-v-6af0ef3c]:disabled{cursor:default}.q-text[data-v-6af0ef3c]{white-space:pre-wrap;overflow-wrap:anywhere}.q-text-placeholder[data-v-6af0ef3c]{display:inline-flex;align-items:center;gap:4px;color:var(--color-text-muted)}.q-imgs[data-v-6af0ef3c]{display:flex;gap:4px;flex:none}.q-img[data-v-6af0ef3c]{width:28px;height:28px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--color-line)}.q-file[data-v-6af0ef3c]{display:inline-flex;align-items:center;gap:4px;height:28px;padding:0 6px;border-radius:var(--radius-sm);border:1px solid var(--color-line);color:var(--color-text-muted);font-size:calc(var(--ui-font-size) - 3px);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.q-tag[data-v-6af0ef3c]{flex:none;padding:1px 6px;border-radius:var(--radius-full);font-size:var(--ui-font-size-xs);font-weight:var(--weight-medium);line-height:1.4;white-space:nowrap}.q-tag-next[data-v-6af0ef3c]{color:var(--color-accent-hover);background:var(--color-accent-soft);border:1px solid var(--color-accent-bd)}.q-tag-idx[data-v-6af0ef3c]{color:var(--color-text-faint);background:var(--color-surface-sunken);border:1px solid var(--color-line)}.q-steer[data-v-6af0ef3c],.q-rm[data-v-6af0ef3c],.q-row-steer[data-v-6af0ef3c],.q-row-send[data-v-6af0ef3c]{flex:none;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--color-text-faint);cursor:pointer;opacity:0;transition:opacity .12s ease,background .12s ease,color .12s ease}.q-steer[data-v-6af0ef3c],.q-row-steer[data-v-6af0ef3c],.q-row-send[data-v-6af0ef3c]{position:relative;touch-action:manipulation}.q-steer[data-v-6af0ef3c]:after,.q-row-steer[data-v-6af0ef3c]:after,.q-row-send[data-v-6af0ef3c]:after{content:"";position:absolute;inset:-11px}.q-bub:hover .q-steer[data-v-6af0ef3c],.q-bub:focus-within .q-steer[data-v-6af0ef3c],.q-steer[data-v-6af0ef3c]:focus-visible,.q-bub:hover .q-rm[data-v-6af0ef3c],.q-bub:focus-within .q-rm[data-v-6af0ef3c],.q-rm[data-v-6af0ef3c]:focus-visible,.q-bub:hover .q-row-steer[data-v-6af0ef3c],.q-bub:focus-within .q-row-steer[data-v-6af0ef3c],.q-row-steer[data-v-6af0ef3c]:focus-visible,.q-bub:hover .q-row-send[data-v-6af0ef3c],.q-bub:focus-within .q-row-send[data-v-6af0ef3c],.q-row-send[data-v-6af0ef3c]:focus-visible{opacity:1}.q-steer[data-v-6af0ef3c]:hover,.q-row-steer[data-v-6af0ef3c]:hover,.q-row-send[data-v-6af0ef3c]:hover{background:var(--color-accent-soft);color:var(--color-accent)}.q-rm[data-v-6af0ef3c]:hover{background:var(--color-danger-soft);color:var(--color-danger)}.q-turn.q-dragging .q-bub[data-v-6af0ef3c]{opacity:.45}.q-turn.drop-before[data-v-6af0ef3c]:before,.q-turn.drop-after[data-v-6af0ef3c]:after{content:"";position:absolute;left:0;right:0;height:2px;background:var(--color-accent);border-radius:var(--radius-full);z-index:1}.q-turn.drop-before[data-v-6af0ef3c]:before{top:-5px}.q-turn.drop-after[data-v-6af0ef3c]:after{bottom:-5px}.chat[data-v-6af0ef3c] .chat-search-hit{background:var(--color-accent-soft);border-radius:var(--radius-xs);box-shadow:inset 0 0 0 1px var(--color-accent-bd);padding:0 1px}.chat[data-v-6af0ef3c] .chat-search-hit--active{background:var(--color-accent);color:var(--color-bg);box-shadow:inset 0 0 0 1px var(--color-accent)}.chat-header[data-v-50d1d77b]{flex:none;display:flex;align-items:center;gap:14px;height:48px;padding:0 16px;border-bottom:1px solid var(--color-line);background:var(--color-bg);font-family:var(--font-ui);min-width:0}.chat-header.macos-desktop[data-v-50d1d77b]{-webkit-app-region:drag}.chat-header.macos-desktop button[data-v-50d1d77b],.chat-header.macos-desktop input[data-v-50d1d77b]{-webkit-app-region:no-drag}.ch-id[data-v-50d1d77b]{display:flex;align-items:center;gap:6px;min-width:0;flex:none;max-width:46%}.ch-ws[data-v-50d1d77b]{color:var(--color-text-muted);font-size:var(--text-base);font-weight:var(--weight-medium);flex:none}.ch-sep[data-v-50d1d77b]{color:var(--color-text-faint);flex:none}.ch-ses[data-v-50d1d77b]{color:var(--color-text);font-size:var(--text-base);font-weight:var(--weight-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ch-rename[data-v-50d1d77b]{flex:1;min-width:0;font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-accent);border-radius:var(--radius-xs);padding:2px 5px;outline:none}.ch-git[data-v-50d1d77b]{display:flex;align-items:center;gap:4px;border:none;background:transparent;padding:0;color:var(--muted);font-family:var(--mono);font-size:calc(var(--ui-font-size) - 2px);flex:0 1 auto;max-width:none;min-width:0;cursor:pointer}.ch-git:hover .ch-branch[data-v-50d1d77b]{color:var(--color-text)}.ch-branch[data-v-50d1d77b]{color:var(--dim);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:4px}.ch-detached[data-v-50d1d77b]{color:var(--muted);font-style:italic}.ch-pill[data-v-50d1d77b]{display:inline-flex;align-items:center;gap:3px;padding:1px 5px;border-radius:999px;background:var(--panel);border:1px solid var(--line);font-size:calc(var(--ui-font-size) - 3px)}.ch-sync-pill[data-v-50d1d77b]{border-color:var(--line)}.ch-diff-pill[data-v-50d1d77b]{border-color:color-mix(in srgb,var(--color-success) 20%,var(--line))}.ch-ahead[data-v-50d1d77b]{color:var(--color-warning);flex:none}.ch-behind[data-v-50d1d77b]{color:var(--color-accent-hover);flex:none}.ch-add[data-v-50d1d77b]{color:var(--color-success);flex:none}.ch-del[data-v-50d1d77b]{color:var(--color-danger);flex:none}.ch-spacer[data-v-50d1d77b]{flex:1;min-width:0}.ch-act-more.open[data-v-50d1d77b],.ch-act-search.active[data-v-50d1d77b]{background:var(--color-surface-sunken);color:var(--color-text)}.ch-pr[data-v-50d1d77b]{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 9px;flex:none;border:1px solid var(--color-line);border-radius:var(--radius-full);background:var(--color-surface-sunken);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:500;cursor:pointer}.ch-pr svg[data-v-50d1d77b]{flex:none}.ch-pr.pr-open[data-v-50d1d77b]{color:var(--color-success);border-color:var(--color-success-bd);background:var(--color-success-soft)}.ch-pr.pr-merged[data-v-50d1d77b]{color:var(--color-done);border-color:var(--color-done-bd);background:var(--color-done-soft)}.ch-pr.pr-closed[data-v-50d1d77b]{color:var(--color-danger);border-color:var(--color-danger-bd);background:var(--color-danger-soft)}.ch-pr.pr-draft[data-v-50d1d77b],.ch-pr.pr-unknown[data-v-50d1d77b]{color:var(--color-text-muted);border-color:var(--color-line-strong);background:var(--color-surface-sunken)}.ch-pr[data-v-50d1d77b]:hover{border-color:var(--color-line-strong)}.ch-menu[data-v-50d1d77b]{position:fixed;top:0;left:0;z-index:var(--z-dropdown)}@media(max-width:980px){.ch-act-label[data-v-50d1d77b]{display:none}}@media(max-width:640px){.chat-header[data-v-50d1d77b]{display:none}}.slash-menu[data-v-77443e56]{position:absolute;bottom:calc(100% + 4px);left:0;right:0;padding:var(--space-1);background:var(--color-surface-raised);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);z-index:var(--z-dropdown);--menu-scrollbar-track-inset: 4px;--menu-scrollbar-thumb-min: 24px;--menu-fade-top: linear-gradient(to bottom, var(--color-surface-raised) 0%, transparent 100%);--menu-fade-bottom: linear-gradient(to top, var(--color-surface-raised) 0%, transparent 100%)}.slash-scroller[data-v-77443e56]{position:relative}.slash-menu--sheet[data-v-77443e56]{position:static;border:none;border-radius:0;box-shadow:none;padding:var(--space-1) 0 var(--space-2);background:transparent}.slash-menu--sheet .slash-list[data-v-77443e56]{max-height:none}.slash-list[data-v-77443e56]{max-height:240px;overflow-y:auto}.slash-item[data-v-77443e56]{display:grid;grid-template-columns:minmax(90px,32%) minmax(0,1fr);align-items:start;gap:10px;padding:6px 10px;cursor:pointer;font-family:var(--font-ui);font-size:var(--text-sm);border-radius:var(--radius-sm)}.slash-item[data-v-77443e56]:hover{background:var(--color-surface-sunken)}.slash-item.active[data-v-77443e56]{background:var(--color-accent-soft)}.slash-item.active .slash-name[data-v-77443e56]{color:var(--color-accent-hover)}.slash-name[data-v-77443e56]{color:var(--color-accent);font-weight:500;min-width:0;line-height:var(--leading-normal);overflow-wrap:anywhere}.slash-match[data-v-77443e56]{font-weight:var(--weight-semibold)}.slash-desc-match[data-v-77443e56]{font-weight:var(--weight-semibold);color:var(--color-text)}.slash-desc[data-v-77443e56]{color:var(--color-text-muted);font-size:var(--text-xs);min-width:0;line-height:var(--leading-normal);overflow-wrap:anywhere}.slash-empty[data-v-77443e56]{padding:8px 12px;font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-text-muted)}.menu-scroll-thumb[data-v-77443e56]{position:absolute;right:2px;width:4px;border-radius:var(--radius-xs);background:var(--color-line-strong);cursor:pointer;touch-action:none;transition:background var(--duration-fast) ease}.menu-scroll-thumb[data-v-77443e56]:hover,.menu-scroll-thumb[data-v-77443e56]:active{background:var(--color-text-faint)}.menu-scroll-fade[data-v-77443e56]{position:absolute;left:0;right:0;height:12px;pointer-events:none;transition:opacity var(--duration-fast) ease}.menu-scroll-fade-top[data-v-77443e56]{top:var(--space-1);background:var(--menu-fade-top)}.menu-scroll-fade-bottom[data-v-77443e56]{bottom:var(--space-1);background:var(--menu-fade-bottom)}@media(max-width:520px){.slash-item[data-v-77443e56]{grid-template-columns:minmax(0,1fr);gap:2px}}.slash-menu[data-v-77443e56]{border-radius:var(--radius-lg);box-shadow:var(--sh)}.slash-desc[data-v-77443e56]{font-family:var(--sans)}.mention-menu[data-v-1fa972b5]{position:absolute;bottom:calc(100% + 4px);left:0;right:0;padding:var(--space-1);background:var(--color-surface-raised);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);z-index:var(--z-dropdown);--menu-scrollbar-track-inset: 4px;--menu-scrollbar-thumb-min: 24px;--menu-fade-top: linear-gradient(to bottom, var(--color-surface-raised) 0%, transparent 100%);--menu-fade-bottom: linear-gradient(to top, var(--color-surface-raised) 0%, transparent 100%)}.mention-menu--sheet[data-v-1fa972b5]{position:static;border:none;border-radius:0;box-shadow:none;padding:var(--space-1) 0 var(--space-2);background:transparent}.mention-menu--sheet .mention-list[data-v-1fa972b5]{max-height:none}.mention-scroller[data-v-1fa972b5]{position:relative}.mention-list[data-v-1fa972b5]{max-height:220px;overflow-y:auto}.mention-state[data-v-1fa972b5]{padding:8px 12px;font-family:var(--font-ui);font-size:var(--text-sm)}.dim[data-v-1fa972b5]{color:var(--color-text-muted)}.mention-item[data-v-1fa972b5]{display:flex;align-items:center;gap:8px;padding:6px 10px;cursor:pointer;font-family:var(--font-ui);font-size:var(--text-sm);border-radius:var(--radius-sm)}.mention-icon[data-v-1fa972b5]{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;color:var(--color-text-faint);flex-shrink:0}.mention-icon[data-v-1fa972b5] svg{width:13px;height:13px;display:block}.mention-item:hover .mention-icon[data-v-1fa972b5],.mention-item.active .mention-icon[data-v-1fa972b5]{color:var(--color-text-muted)}.mention-item[data-v-1fa972b5]:hover{background:var(--color-surface-sunken)}.mention-item.active[data-v-1fa972b5]{background:var(--color-accent-soft)}.mention-name[data-v-1fa972b5]{color:var(--color-text);font-weight:500;min-width:80px;flex-shrink:0}.mention-path[data-v-1fa972b5]{color:var(--color-text-muted);font-size:var(--text-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mention-item.skill .mention-name[data-v-1fa972b5]{color:var(--color-accent);min-width:0}.mention-item.skill.active .mention-name[data-v-1fa972b5]{color:var(--color-accent-hover)}.mention-match[data-v-1fa972b5]{font-weight:var(--weight-semibold);color:var(--color-accent-hover)}.mention-path .mention-match[data-v-1fa972b5]{color:var(--color-text)}.menu-scroll-thumb[data-v-1fa972b5]{position:absolute;right:2px;width:4px;border-radius:var(--radius-xs);background:var(--color-line-strong);cursor:pointer;touch-action:none;transition:background var(--duration-fast) ease}.menu-scroll-thumb[data-v-1fa972b5]:hover,.menu-scroll-thumb[data-v-1fa972b5]:active{background:var(--color-text-faint)}.menu-scroll-fade[data-v-1fa972b5]{position:absolute;left:0;right:0;height:12px;pointer-events:none;transition:opacity var(--duration-fast) ease}.menu-scroll-fade-top[data-v-1fa972b5]{top:var(--space-1);background:var(--menu-fade-top)}.menu-scroll-fade-bottom[data-v-1fa972b5]{bottom:var(--space-1);background:var(--menu-fade-bottom)}.mention-menu[data-v-1fa972b5]{border-radius:var(--radius-lg);box-shadow:var(--sh)}.mention-state[data-v-1fa972b5]{font-family:var(--sans)}.sheet-root[data-v-745ee5a2]{position:fixed;inset:0;z-index:var(--z-overlay);display:flex;flex-direction:column;justify-content:flex-end}.sheet-scrim[data-v-745ee5a2]{position:absolute;inset:0;background:#0d111773}.sheet-panel[data-v-745ee5a2]{position:relative;background:var(--color-surface-raised);border:1px solid var(--color-line);border-bottom:none;border-radius:var(--radius-xl) var(--radius-xl) 0 0;box-shadow:var(--shadow-xl);max-height:86vh;display:flex;flex-direction:column;min-height:0;font-family:var(--font-ui);color:var(--color-text)}.sheet-grab[data-v-745ee5a2]{flex:none;align-self:center;width:56px;height:18px;padding:0;border:none;background:none;cursor:pointer;position:relative;margin-top:4px}.sheet-grab[data-v-745ee5a2]:after{content:"";position:absolute;left:50%;top:7px;transform:translate(-50%);width:38px;height:5px;border-radius:var(--radius-full);background:var(--color-line)}.sheet-head[data-v-745ee5a2]{flex:none;display:flex;align-items:center;justify-content:space-between;padding:6px 16px 10px}.sheet-title[data-v-745ee5a2]{font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-text)}.sheet-body[data-v-745ee5a2]{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:max(16px,var(--safe-bottom))}.sheet-enter-active[data-v-745ee5a2],.sheet-leave-active[data-v-745ee5a2]{transition:opacity var(--duration-slow) var(--ease-out)}.sheet-enter-active .sheet-panel[data-v-745ee5a2],.sheet-leave-active .sheet-panel[data-v-745ee5a2]{transition:transform var(--duration-slow) var(--ease-out)}.sheet-enter-from[data-v-745ee5a2],.sheet-leave-to[data-v-745ee5a2]{opacity:0}.sheet-enter-from .sheet-panel[data-v-745ee5a2],.sheet-leave-to .sheet-panel[data-v-745ee5a2]{transform:translateY(102%)}.ctx-ring[data-v-a364f1f1]{width:16px;height:16px;flex:none;transform:rotate(-90deg)}.ctx-ring-track[data-v-a364f1f1]{stroke:var(--line)}.ctx-ring-fill[data-v-a364f1f1]{stroke:var(--color-accent);transition:stroke-dashoffset .3s ease,stroke .3s ease}.composer[data-v-67e4d9ee]{padding:7px var(--dock-inline-right, 16px) 12px var(--dock-inline-left, 16px);background:transparent;transition:background .12s}.composer.drag-over[data-v-67e4d9ee]{background:var(--color-accent-soft)}.drop-overlay[data-v-67e4d9ee]{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--color-bg) 72%,transparent);pointer-events:none;opacity:0;visibility:hidden;transition:opacity var(--duration-base) ease,visibility var(--duration-base)}.drop-overlay.show[data-v-67e4d9ee]{opacity:1;visibility:visible}.drop-card[data-v-67e4d9ee]{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-radius:var(--radius-lg);border:1.5px dashed var(--color-accent);background:var(--color-bg);color:var(--color-accent);font-size:var(--ui-font-size-lg);font-weight:var(--weight-medium);box-shadow:var(--shadow-md)}.composer-card[data-v-67e4d9ee]{--composer-send-size: 32px;--composer-send-inset: var(--space-2);position:relative;border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--bg);box-shadow:var(--shadow-md);transition:border-color .15s,box-shadow .15s}.composer-card[data-v-67e4d9ee]:focus-within{border-color:var(--color-accent);box-shadow:var(--shadow-md),0 0 0 3px var(--color-accent-soft)}.att-strip[data-v-67e4d9ee]{display:flex;flex-wrap:wrap;gap:6px;padding:4px 0 6px}.att-lightbox[data-v-67e4d9ee]{position:fixed;inset:0;z-index:var(--z-overlay);display:flex;align-items:center;justify-content:center;padding:24px;background:#14171c9e}.att-lightbox-card[data-v-67e4d9ee]{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;max-width:min(960px,calc(100vw - 48px));max-height:calc(100vh - 48px)}.att-lightbox-media[data-v-67e4d9ee]{max-width:100%;max-height:calc(100vh - 96px);border-radius:6px;background:var(--bg);box-shadow:var(--shadow-xl);object-fit:contain}.att-lightbox-name[data-v-67e4d9ee]{max-width:100%;color:var(--surface-light);font-family:var(--mono);font-size:calc(var(--ui-font-size) - 2px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.att-lightbox-close[data-v-67e4d9ee]{position:absolute;top:-14px;right:-14px;width:28px;height:28px;border:1px solid rgba(255,255,255,.45);border-radius:50%;background:#14171cd1;color:var(--surface-light);cursor:pointer}.file-input-hidden[data-v-67e4d9ee]{display:none}.cin-wrap[data-v-67e4d9ee]{position:relative;padding:14px 16px 8px}.input-row[data-v-67e4d9ee]{position:relative;display:flex;align-items:flex-start;gap:var(--space-2)}.expand-btn[data-v-67e4d9ee]{width:22px;height:22px;display:flex;align-items:center;justify-content:center;border:none;border-radius:6px;background:transparent;color:var(--dim);cursor:pointer;padding:0;transition:background .12s,color .12s}.expand-btn[data-v-67e4d9ee]:hover{background:var(--panel2);color:var(--color-text)}.expand-btn[data-v-67e4d9ee]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.ph[data-v-67e4d9ee]{color:var(--faint);caret-color:var(--color-text);flex:1;border:none;outline:none;resize:none;font-family:var(--font-ui);font-size:var(--content-font-size);background:transparent;min-height:36px;max-height:25vh;overflow-y:auto;line-height:1.5;margin-bottom:6px}.ph[data-v-67e4d9ee]::placeholder{color:var(--muted)}.ph[data-v-67e4d9ee]:not(:placeholder-shown){color:var(--color-text)}.composer.expanded .ph[data-v-67e4d9ee]{min-height:70vh;max-height:70vh}.compact-chip[data-v-67e4d9ee]{background:none;border:1px solid var(--line);border-radius:var(--radius-xs);color:var(--color-warning);font-family:var(--mono);font-size:var(--ui-font-size);padding:0 4px;cursor:pointer;height:19px;line-height:17px;flex:none}.compact-chip[data-v-67e4d9ee]:hover{background:var(--panel2)}.send[data-v-67e4d9ee]{width:var(--composer-send-size);height:var(--composer-send-size);border-radius:50%;background:var(--color-accent);color:var(--color-text-on-accent);border:none;box-shadow:var(--shadow-xs);padding:0;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;margin-left:var(--space-2);transition:background .25s ease,transform .12s ease;position:relative}.send[data-v-67e4d9ee]:hover{background:var(--color-accent-hover)}.send[data-v-67e4d9ee]:active{transform:scale(.92)}.send[data-v-67e4d9ee]:disabled{cursor:not-allowed;opacity:.88}.send[data-v-67e4d9ee]:disabled:active{transform:none}.send.is-starting[data-v-67e4d9ee] .ui-spinner{color:var(--color-text-on-accent)}.send.is-starting[data-v-67e4d9ee] .ui-spinner__track{stroke:color-mix(in srgb,var(--color-text-on-accent) 32%,transparent)}.send svg[data-v-67e4d9ee]{flex:none;width:var(--p-ic-lg);height:var(--p-ic-lg)}.stop[data-v-67e4d9ee]{width:var(--composer-send-size);height:var(--composer-send-size);border-radius:50%;background:var(--color-danger-soft);color:var(--color-danger);border:1px solid var(--color-danger-bd);box-shadow:var(--shadow-xs);padding:0;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;margin-left:var(--space-2);transition:background .16s ease,color .16s ease,border-color .16s ease,transform .12s ease}.stop[data-v-67e4d9ee]:hover{background:var(--color-danger);color:var(--surface-light);border-color:var(--color-danger)}.stop[data-v-67e4d9ee]:active{transform:scale(.92)}.stop svg[data-v-67e4d9ee]{flex:none;width:var(--p-ic-lg);height:var(--p-ic-lg)}.toolbar[data-v-67e4d9ee]{display:flex;align-items:center;justify-content:space-between;padding:6px var(--composer-send-inset) var(--composer-send-inset);position:relative}.menu-measure[data-v-67e4d9ee]{position:absolute;width:max-content;height:0;overflow:hidden;visibility:hidden;pointer-events:none}.toolbar-left[data-v-67e4d9ee],.toolbar-right[data-v-67e4d9ee]{display:flex;align-items:center;gap:2px;min-width:0;overflow:hidden}.toolbar-left[data-v-67e4d9ee]{flex-wrap:wrap;row-gap:4px}.perm-pill[data-v-67e4d9ee]{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:6px;font-size:var(--ui-font-size);color:var(--color-text);cursor:pointer;user-select:none;transition:background .1s,color .15s;font-family:var(--font-ui);font-weight:var(--weight-medium)}.perm-pill[data-v-67e4d9ee]:hover{background:var(--color-surface-sunken)}.perm-pill.open[data-v-67e4d9ee]{background:var(--color-accent-soft)}.perm-pill.perm-manual[data-v-67e4d9ee]{color:var(--dim)}.perm-pill.perm-yolo[data-v-67e4d9ee]{color:var(--color-warning)}.perm-pill.perm-auto[data-v-67e4d9ee]{color:var(--color-danger)}.ctx-group[data-v-67e4d9ee]{display:flex;align-items:center;gap:4px;flex-shrink:0;padding:2px 4px;border-radius:var(--radius-xs)}.ctx-group[data-v-67e4d9ee]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.model-pill[data-v-67e4d9ee]{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:6px;font-size:var(--ui-font-size);line-height:var(--leading-normal);color:var(--dim);font-family:var(--font-ui);font-weight:var(--weight-medium);cursor:pointer;user-select:none;transition:background .1s;position:relative;overflow:hidden}.model-pill[data-v-67e4d9ee]:hover{background:var(--color-surface-sunken);color:var(--color-text)}.model-pill.open[data-v-67e4d9ee]{background:var(--color-accent-soft)}.model-pill b[data-v-67e4d9ee]{font-weight:500;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:280px}.model-pill .think-suffix[data-v-67e4d9ee]{color:var(--color-accent);font-weight:500;flex-shrink:0}.model-pill .cv[data-v-67e4d9ee]{color:var(--faint);flex:none}.model-pill:hover .cv[data-v-67e4d9ee],.model-pill.open .cv[data-v-67e4d9ee]{color:var(--color-accent-hover)}.model-dropdown[data-v-67e4d9ee]{position:absolute;bottom:calc(100% + 4px);right:10px;z-index:var(--z-dropdown);min-width:200px;background:var(--color-surface-raised);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:5px;max-height:min(520px,calc(100vh - 96px));max-height:min(520px,calc(100dvh - 96px));overflow-y:auto;display:flex;flex-direction:column;gap:1px;font-family:var(--font-ui)}.md-section[data-v-67e4d9ee]{padding:4px 7px 2px;font-size:var(--text-xs);color:var(--muted);text-transform:uppercase;letter-spacing:0;font-weight:var(--weight-semibold)}.md-row[data-v-67e4d9ee]{display:flex;align-items:center;gap:7px;width:100%;background:none;border:none;cursor:pointer;font-family:var(--font-ui);font-size:var(--ui-font-size);color:var(--color-text);padding:5px 7px;border-radius:6px;text-align:left}.md-row[data-v-67e4d9ee]:hover{background:var(--color-surface-sunken)}.md-row[data-v-67e4d9ee]:disabled{cursor:default;opacity:.58}.md-row[data-v-67e4d9ee]:disabled:hover{background:none}.md-row.is-current[data-v-67e4d9ee]{color:var(--color-text);background:var(--color-accent-soft)}.md-row.is-on[data-v-67e4d9ee]{color:var(--color-accent)}.md-note[data-v-67e4d9ee]{margin-left:auto;color:var(--muted);font-size:var(--ui-font-size-xs)}.md-row-more[data-v-67e4d9ee]{color:var(--color-accent);font-weight:500}.md-row-more[data-v-67e4d9ee]:hover{background:var(--color-accent-soft)}.md-check[data-v-67e4d9ee]{width:14px;flex:none;color:var(--color-accent);font-weight:500;display:flex;justify-content:center}.md-name[data-v-67e4d9ee]{flex:1}.md-provider[data-v-67e4d9ee]{color:var(--muted);font-size:var(--ui-font-size-xs);flex:none}.md-star[data-v-67e4d9ee]{color:var(--star);flex:none;margin-left:auto}.md-divider[data-v-67e4d9ee]{height:1px;background:var(--line);margin:3px 0}.md-thinking[data-v-67e4d9ee]{display:flex;align-items:center;gap:8px;padding:6px 7px;border-radius:var(--radius-sm)}.md-thinking .md-name[data-v-67e4d9ee]{font-family:var(--font-ui);font-size:var(--ui-font-size);color:var(--color-text);flex:none}.md-thinking .md-note[data-v-67e4d9ee]{margin-left:auto}.effort-segments[data-v-67e4d9ee]{margin-left:auto;display:inline-flex;align-items:center;gap:1px;padding:2px;background:var(--color-surface-sunken);border:1px solid var(--color-line);border-radius:var(--radius-md)}.effort-seg[data-v-67e4d9ee]{appearance:none;border:none;background:none;cursor:pointer;font-family:var(--font-ui);font-size:var(--ui-font-size-xs);line-height:1;color:var(--color-text-muted);padding:4px 9px;border-radius:var(--radius-sm);white-space:nowrap;transition:background .12s,color .12s,box-shadow .12s}.effort-seg[data-v-67e4d9ee]:hover:not(:disabled):not(.is-active){background:var(--color-surface-raised);color:var(--color-text)}.effort-seg[data-v-67e4d9ee]:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.effort-seg.is-active[data-v-67e4d9ee]{background:var(--color-accent);color:var(--color-text-on-accent);box-shadow:var(--shadow-xs);font-weight:500}.effort-seg[data-v-67e4d9ee]:disabled{cursor:default}.md-thinking.is-readonly .effort-segments[data-v-67e4d9ee]{opacity:.62}.md-cache-note[data-v-67e4d9ee]{width:0;min-width:100%;padding:2px 7px 4px;color:var(--muted);font-size:var(--ui-font-size-xs);line-height:1.4}.md-thinking.is-readonly .effort-seg.is-active[data-v-67e4d9ee]{background:var(--color-surface-raised);color:var(--color-text-muted);box-shadow:none}.perm-dropdown[data-v-67e4d9ee]{position:absolute;bottom:calc(100% + 4px);left:10px;z-index:var(--z-dropdown);min-width:220px;width:max-content;max-width:min(calc(100vw - var(--space-8)),calc(100% - 20px));background:var(--color-surface-raised);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:5px;display:flex;flex-direction:column;gap:1px}.pd-row[data-v-67e4d9ee]{display:grid;grid-template-columns:14px var(--composer-menu-desc-width, max-content);column-gap:7px;row-gap:2px;align-items:start;width:100%;background:none;border:none;cursor:pointer;padding:6px 7px;border-radius:6px;text-align:left}.pd-row[data-v-67e4d9ee]:hover{background:var(--color-surface-sunken)}.pd-row.is-current[data-v-67e4d9ee]{background:var(--color-accent-soft)}.pd-check[data-v-67e4d9ee]{grid-column:1;grid-row:1;width:14px;min-height:1lh;color:var(--color-accent);font-size:var(--ui-font-size);font-weight:var(--weight-medium);display:flex;align-items:center;justify-content:center;line-height:var(--leading-normal)}.pd-info[data-v-67e4d9ee]{display:contents}.pd-name[data-v-67e4d9ee]{grid-column:2;grid-row:1;font-family:var(--font-ui);font-size:var(--ui-font-size);font-weight:var(--weight-medium);line-height:var(--leading-normal)}.pd-desc[data-v-67e4d9ee]{grid-column:2;grid-row:2;width:var(--composer-menu-desc-width, auto);font-family:var(--font-ui);font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--muted);line-height:var(--leading-normal)}.add-menu-anchor[data-v-67e4d9ee]{display:inline-flex;flex:none}.add-menu-anchor .ui-icon-button.is-open[data-v-67e4d9ee]{background:var(--color-accent-soft);color:var(--color-accent-hover)}.add-menu[data-v-67e4d9ee]{position:fixed;z-index:var(--z-dropdown);min-width:220px;width:max-content;max-width:calc(100vw - var(--space-8));background:var(--color-surface-raised);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:5px;display:flex;flex-direction:column;gap:1px;font-family:var(--font-ui)}.add-menu .pd-check[data-v-67e4d9ee]{color:var(--muted)}.add-menu .pd-row.is-current .pd-check[data-v-67e4d9ee],.add-menu .pd-row.is-current .pd-name[data-v-67e4d9ee]{color:var(--color-accent-hover)}.mode-chip[data-v-67e4d9ee]{display:inline-flex;align-items:center;flex:none;border:1px solid var(--line);border-radius:var(--radius-sm);background:transparent;overflow:hidden;transition:background .1s,border-color .1s,color .15s}.mode-chip[data-v-67e4d9ee]:hover{background:var(--color-surface-sunken)}.mode-chip.on[data-v-67e4d9ee]{background:var(--color-accent-soft);border-color:var(--color-accent-bd)}.mode-chip-main[data-v-67e4d9ee]{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border:none;background:none;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-xs);font-weight:var(--weight-medium);line-height:var(--leading-normal);cursor:pointer;user-select:none}.mode-chip-main[data-v-67e4d9ee]:hover{color:var(--color-text)}.mode-chip.on .mode-chip-main[data-v-67e4d9ee]{color:var(--color-accent-hover)}.mode-chip-x[data-v-67e4d9ee]{display:inline-flex;align-items:center;justify-content:center;padding:0 4px;border:none;background:none;color:inherit;cursor:pointer}.mode-chip-x[data-v-67e4d9ee]:hover{color:var(--color-text)}.mode-chip.on .mode-chip-x[data-v-67e4d9ee]:hover{color:var(--color-accent-hover)}.mode-chip-x[data-v-67e4d9ee]:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}@media(max-width:980px){.model-pill b[data-v-67e4d9ee]{max-width:130px}.perm-pill[data-v-67e4d9ee]{max-width:104px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media(max-width:640px){.composer[data-v-67e4d9ee]{padding:9px var(--dock-inline-right, max(12px, var(--safe-right))) max(24px,var(--safe-bottom)) var(--dock-inline-left, max(12px, var(--safe-left)))}.composer-card[data-v-67e4d9ee]{--composer-send-size: 36px;max-width:100%}.input-row[data-v-67e4d9ee]{gap:6px;min-width:0}.send[data-v-67e4d9ee]{width:var(--composer-send-size);height:var(--composer-send-size);min-width:var(--composer-send-size);padding:0;border-radius:50%;font-size:0;align-self:flex-end;position:relative}.send svg[data-v-67e4d9ee]{display:none}.send[data-v-67e4d9ee]:after{content:"↑";font-size:17px;line-height:1;color:var(--bg)}.stop[data-v-67e4d9ee]{width:var(--composer-send-size);height:var(--composer-send-size);min-width:var(--composer-send-size);padding:0;border-radius:50%;font-size:0;align-self:flex-end;position:relative}.stop svg[data-v-67e4d9ee]{display:none}.stop[data-v-67e4d9ee]:after{content:"■";font-size:17px;line-height:1}.perm-pill[data-v-67e4d9ee],.add-menu-anchor[data-v-67e4d9ee],.mode-chip[data-v-67e4d9ee]{display:none}.model-dropdown[data-v-67e4d9ee]{right:10px;left:auto;min-width:180px;max-width:calc(100vw - 24px)}.ph[data-v-67e4d9ee]{font-size:16px}.model-pill[data-v-67e4d9ee],.attach-btn[data-v-67e4d9ee]{font-size:var(--ui-font-size)}.toolbar[data-v-67e4d9ee]{gap:6px;min-width:0}.toolbar-left[data-v-67e4d9ee],.toolbar-right[data-v-67e4d9ee]{min-width:0}.model-pill[data-v-67e4d9ee]{max-width:min(52vw,220px)}.model-pill b[data-v-67e4d9ee]{max-width:min(40vw,170px)}.md-row[data-v-67e4d9ee],.md-section[data-v-67e4d9ee]{font-size:var(--ui-font-size)}.md-thinking[data-v-67e4d9ee]{flex-wrap:wrap;row-gap:6px}.md-thinking .effort-segments[data-v-67e4d9ee]{margin-left:0;width:100%;justify-content:space-between}.md-thinking .effort-seg[data-v-67e4d9ee]{flex:1;padding:5px 6px}.pd-name[data-v-67e4d9ee]{font-size:var(--ui-font-size)}.pd-desc[data-v-67e4d9ee]{font-size:var(--text-xs)}}.ui-card[data-v-9c9f9a9a]{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);overflow:hidden}.ui-card.is-elevated[data-v-9c9f9a9a]{box-shadow:var(--shadow-md);border-color:transparent}.ui-card__head[data-v-9c9f9a9a]{display:flex;align-items:center;gap:var(--space-2);padding:10px 14px;border-bottom:1px solid var(--color-line);background:var(--color-surface);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text)}.ui-card__body[data-v-9c9f9a9a]{padding:14px;color:var(--color-text-muted)}.ui-card__foot[data-v-9c9f9a9a]{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);padding:10px 14px;border-top:1px solid var(--color-line);background:var(--color-surface)}.goal-strip[data-v-9e444f61]{--composer-send-size: 32px;--composer-send-inset: var(--space-2);--goal-corner-radius: calc((var(--composer-send-size) / 2) + var(--composer-send-inset) + var(--space-3));margin:var(--space-2) var(--space-4) 0;box-shadow:var(--shadow-md)}.goal-strip.ui-card[data-v-9e444f61]{border-radius:var(--goal-corner-radius);corner-shape:superellipse(1.5)}.goal-strip:not(.expanded).ui-card[data-v-9e444f61]{border-radius:var(--radius-full);corner-shape:round}.goal-strip[data-v-9e444f61] .ui-card__foot{padding:var(--composer-send-inset)}.goal-strip[data-v-9e444f61] .ui-card__head,.goal-strip[data-v-9e444f61] .ui-card__body,.goal-strip[data-v-9e444f61] .ui-card__foot{padding-left:calc((var(--composer-send-inset) + var(--composer-send-size)) / 2)}.goal-strip[data-v-9e444f61] .ui-card__body{background:var(--color-surface-raised);max-height:480px;overflow:hidden;opacity:1;transition:max-height var(--duration-slow) var(--ease-out),padding-top var(--duration-slow) var(--ease-out),padding-bottom var(--duration-slow) var(--ease-out),opacity var(--duration-base) var(--ease-out)}.goal-strip[data-v-9e444f61]:not(.expanded) .ui-card__body{max-height:0;padding-top:0;padding-bottom:0;opacity:0}.goal-strip[data-v-9e444f61] .ui-card__head{border-bottom-color:var(--color-line);transition:border-bottom-color var(--duration-base) var(--ease-out)}.goal-strip[data-v-9e444f61]:not(.expanded) .ui-card__head{border-bottom-color:transparent}.goal-row[data-v-9e444f61]{width:100%;display:flex;align-items:center;gap:var(--space-2);padding:0;border:none;background:transparent;color:var(--color-text);font:var(--text-base)/var(--leading-normal) var(--font-ui);text-align:left;cursor:pointer}.goal-kicker[data-v-9e444f61]{flex:none;color:var(--color-success);font:var(--text-base)/var(--leading-normal) var(--font-ui);font-weight:var(--weight-semibold)}.goal-icon[data-v-9e444f61]{flex:none;color:var(--color-success);margin-right:calc(-1 * var(--space-1))}.goal-objective[data-v-9e444f61]{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text);font-size:var(--text-base);text-align:left}.goal-objective.expanded-hidden[data-v-9e444f61]{visibility:hidden;pointer-events:none}.goal-status[data-v-9e444f61]{flex:none}.goal-progress[data-v-9e444f61]{width:54px;height:4px;border-radius:var(--radius-full);background:var(--color-line);overflow:hidden;flex:none}.goal-progress-fill[data-v-9e444f61]{display:block;height:100%;border-radius:var(--radius-sm);background:var(--color-success)}.goal-chevron[data-v-9e444f61]{width:var(--p-ic-sm);height:var(--p-ic-sm);color:var(--color-text-muted);transition:transform var(--duration-fast) var(--ease-out);flex:none}.goal-chevron.open[data-v-9e444f61]{transform:rotate(90deg)}.goal-full[data-v-9e444f61]{color:var(--color-text);font-size:var(--text-base);line-height:var(--leading-normal);white-space:pre-wrap;overflow-wrap:anywhere}.goal-criterion[data-v-9e444f61]{margin-top:var(--space-3);color:var(--color-text-muted);font:var(--text-xs) var(--font-mono);text-transform:uppercase}.goal-criterion p[data-v-9e444f61]{margin:var(--space-1) 0 0;color:var(--color-text-muted);font:var(--text-xs)/var(--leading-normal) var(--font-ui);text-transform:none}.goal-footer[data-v-9e444f61]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:100%;min-width:0}.goal-strip[data-v-9e444f61] .ui-card__foot{max-height:100px;overflow:hidden;opacity:1;transition:max-height var(--duration-slow) var(--ease-out),padding-top var(--duration-slow) var(--ease-out),padding-bottom var(--duration-slow) var(--ease-out),opacity var(--duration-base) var(--ease-out),border-top-color var(--duration-base) var(--ease-out)}.goal-strip[data-v-9e444f61]:not(.expanded) .ui-card__foot{max-height:0;padding-top:0;padding-bottom:0;border-top-color:transparent;opacity:0}.goal-meta[data-v-9e444f61]{min-width:0;display:flex;flex-wrap:wrap;gap:var(--space-2);color:var(--color-text-muted);font:var(--text-xs)/var(--leading-normal) var(--font-ui);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums}.goal-actions[data-v-9e444f61]{display:flex;gap:var(--space-2);justify-content:flex-end;flex:none}.goal-action[data-v-9e444f61]{flex:none;min-width:0;height:var(--composer-send-size);border-radius:var(--radius-full);padding-inline:var(--space-4)}.goal-action[data-v-9e444f61] .ui-button__content{gap:var(--space-1)}@media(max-width:640px){.goal-strip[data-v-9e444f61]{--composer-send-size: 36px;margin:var(--space-2) var(--space-3) 0}.goal-progress[data-v-9e444f61]{display:none}}@media(prefers-reduced-motion:reduce){.goal-strip[data-v-9e444f61] .ui-card__head,.goal-strip[data-v-9e444f61] .ui-card__body,.goal-strip[data-v-9e444f61] .ui-card__foot{transition:none}}.qcard[data-v-fe9d5a9a]{margin:var(--space-2) 0;display:flex;flex-direction:column}.qcard[data-v-fe9d5a9a] .ui-card__head{flex:none}.qcard[data-v-fe9d5a9a] .ui-card__body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.qcard[data-v-fe9d5a9a] .ui-card__foot{flex:none}.qcard.ui-card[data-v-fe9d5a9a]{border-color:var(--color-accent-bd)}.qcard[data-v-fe9d5a9a] .ui-card__head{background:var(--color-accent-soft);border-bottom-color:var(--color-accent-bd)}.qcard.minimized[data-v-fe9d5a9a] .ui-card__body{display:none}.qcard.minimized[data-v-fe9d5a9a] .ui-card__head{border-bottom:none}.qh[data-v-fe9d5a9a]{display:flex;align-items:center;gap:var(--space-2);width:100%;font:var(--text-sm)/var(--leading-normal) var(--font-ui)}.qh-ic[data-v-fe9d5a9a]{width:var(--p-ic-md);height:var(--p-ic-md);display:inline-flex;align-items:center;justify-content:center;color:var(--color-accent);font-weight:var(--weight-semibold);font-size:15px;line-height:1;flex:none}.qtitle[data-v-fe9d5a9a]{color:var(--color-accent-hover);font-size:var(--text-base);font-weight:var(--weight-semibold)}.qstep[data-v-fe9d5a9a]{color:var(--color-text-muted);font:var(--text-xs) var(--font-ui);margin-left:var(--space-1)}.qmin[data-v-fe9d5a9a]{margin-left:auto}.qmin-peek[data-v-fe9d5a9a]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-muted);font:var(--text-xs) var(--font-ui)}.qbody[data-v-fe9d5a9a]{flex:1 1 auto;min-height:0;overflow-y:auto;color:var(--color-text);font:var(--text-base)/var(--leading-normal) var(--font-ui)}.qsteps[data-v-fe9d5a9a]{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);font-family:var(--font-ui)}.qstep-dot[data-v-fe9d5a9a]{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--radius-full);border:1px solid var(--color-line);background:var(--color-surface);color:var(--color-text-muted);font:var(--text-xs) var(--font-ui);cursor:pointer;padding:0;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.qstep-dot[data-v-fe9d5a9a]:hover:not(.active){background:var(--color-surface-sunken)}.qstep-dot.active[data-v-fe9d5a9a]{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-text-on-accent);font-weight:var(--weight-medium)}.qstep-dot.answered[data-v-fe9d5a9a]:not(.active){border-color:var(--color-accent);color:var(--color-accent)}.qheader-chip[data-v-fe9d5a9a]{margin-bottom:var(--space-2)}.qtext[data-v-fe9d5a9a]{font-size:var(--text-base);color:var(--color-text);font-weight:var(--weight-medium);margin-bottom:var(--space-2);line-height:var(--leading-normal)}.qmdbody[data-v-fe9d5a9a]{margin-bottom:var(--space-2)}.qopts[data-v-fe9d5a9a]{display:flex;flex-direction:column;gap:var(--space-1);margin-top:var(--space-2)}.qopt[data-v-fe9d5a9a]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--color-line);border-radius:var(--radius-md);cursor:pointer;font:var(--text-sm)/var(--leading-normal) var(--font-ui);color:var(--color-text);transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out);user-select:none}.qopt[data-v-fe9d5a9a]:hover{background:var(--color-surface-sunken)}.qopt.selected[data-v-fe9d5a9a]{border-color:var(--color-accent-bd);background:var(--color-accent-soft);color:var(--color-text)}.qopt-key[data-v-fe9d5a9a]{color:var(--color-text-muted);font:var(--text-xs) var(--font-ui);font-weight:var(--weight-medium);width:12px;flex:none;text-align:center}.qopt-glyph[data-v-fe9d5a9a]{color:var(--color-accent-hover);font-size:var(--text-base);flex:none}.qopt-text[data-v-fe9d5a9a]{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.qopt-label[data-v-fe9d5a9a]{color:var(--color-text);font-size:var(--text-base);font-weight:var(--weight-medium)}.qopt-desc[data-v-fe9d5a9a]{color:var(--color-text-muted);font:var(--text-xs)/var(--leading-normal) var(--font-ui);font-weight:var(--weight-medium)}.chk[data-v-fe9d5a9a],.rad[data-v-fe9d5a9a]{font:var(--text-base) var(--font-mono)}.other-input[data-v-fe9d5a9a]{flex:1;font:var(--text-base) var(--font-ui);border:none;border-bottom:1px solid var(--color-line);outline:none;padding:2px var(--space-1);color:var(--color-text);background:transparent;min-width:0}.other-input[data-v-fe9d5a9a]:focus-visible{border-bottom-color:var(--color-accent);box-shadow:0 1px 0 0 var(--color-accent)}.qfoot[data-v-fe9d5a9a]{display:flex;justify-content:flex-end;gap:var(--space-2);width:100%}@media(max-width:640px){.qh[data-v-fe9d5a9a]{flex-wrap:wrap;row-gap:var(--space-1)}.qtext[data-v-fe9d5a9a]{font-size:var(--text-lg)}.qstep-dot[data-v-fe9d5a9a]{width:28px;height:28px;font:var(--text-xs) var(--font-ui)}.qopt[data-v-fe9d5a9a]{min-height:44px;padding:var(--space-3);font-size:var(--text-base);border-radius:var(--radius-md)}.qopt-desc[data-v-fe9d5a9a]{font-size:var(--text-xs)}.other-input[data-v-fe9d5a9a]{flex-basis:100%;min-height:28px}.qfoot[data-v-fe9d5a9a]{flex-direction:column}.qfoot-btn[data-v-fe9d5a9a]{width:100%;min-height:46px}.qfoot-main[data-v-fe9d5a9a]{order:-1}}.appr[data-v-458a9d7d]{margin:var(--space-2) 0}.appr.ui-card[data-v-458a9d7d]{border-color:var(--color-warning-bd)}.appr[data-v-458a9d7d] .ui-card__head{background:var(--color-warning-soft);border-bottom-color:var(--color-warning-bd)}.appr.minimized[data-v-458a9d7d] .ui-card__body{display:none}.appr.minimized[data-v-458a9d7d] .ui-card__head{border-bottom:none}.ah[data-v-458a9d7d]{display:flex;align-items:center;gap:var(--space-2);width:100%;font:var(--text-sm)/var(--leading-normal) var(--font-ui);flex-wrap:nowrap}.ah-ic[data-v-458a9d7d]{width:var(--p-ic-md);height:var(--p-ic-md);display:inline-flex;align-items:center;justify-content:center;color:var(--color-warning);font-weight:var(--weight-semibold);font-size:15px;line-height:1;flex:none}.akind[data-v-458a9d7d]{color:var(--color-warning);font-size:var(--text-base);font-weight:var(--weight-semibold);white-space:nowrap;flex:none}.apath[data-v-458a9d7d]{color:var(--color-text);font:var(--text-sm) var(--font-mono);flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ah-path[data-v-458a9d7d]{margin-bottom:var(--space-2);color:var(--color-text-muted);font:var(--text-xs) var(--font-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aw[data-v-458a9d7d],.minimized .amin[data-v-458a9d7d]{margin-left:auto}.diff[data-v-458a9d7d]{border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface-sunken);overflow:hidden;font:var(--text-sm)/1.85 var(--font-mono)}.dl[data-v-458a9d7d]{display:flex;padding:0 var(--space-3)}.dg[data-v-458a9d7d]{width:30px;color:var(--color-text-muted);text-align:right;padding-right:var(--space-3);user-select:none}.dc[data-v-458a9d7d]{white-space:pre;font:inherit}.del[data-v-458a9d7d]{background:var(--color-danger-soft)}.del .dc[data-v-458a9d7d]{color:var(--color-danger)}.add[data-v-458a9d7d]{background:var(--color-success-soft)}.add .dc[data-v-458a9d7d]{color:var(--color-success)}.shell-cmd[data-v-458a9d7d]{font:var(--text-sm) var(--font-mono);background:var(--color-surface-sunken);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);white-space:pre-wrap;word-break:break-all;max-height:160px;overflow-y:auto;color:var(--color-text)}.shell-dollar[data-v-458a9d7d]{color:var(--color-accent-hover);font-weight:var(--weight-medium);margin-right:var(--space-2)}.shell-cwd[data-v-458a9d7d]{font:var(--text-xs) var(--font-mono);color:var(--color-text-muted);margin-top:var(--space-1)}.shell-danger[data-v-458a9d7d]{margin-top:var(--space-2);padding:var(--space-1) var(--space-3);border:1px solid var(--color-danger-bd);border-radius:var(--radius-sm);color:var(--color-danger);font:var(--text-sm) var(--font-ui);background:var(--color-danger-soft)}.body-file[data-v-458a9d7d]{border:1px solid var(--color-line);border-radius:var(--radius-md);overflow:hidden}.file-bar[data-v-458a9d7d]{padding:var(--space-1) var(--space-3);background:var(--color-surface);border-bottom:1px solid var(--color-line);font:var(--text-xs) var(--font-mono);color:var(--color-text-muted)}.file-lang[data-v-458a9d7d]{letter-spacing:.04em}.file-content[data-v-458a9d7d]{padding:var(--space-2) 0;font:var(--text-sm)/1.7 var(--font-mono);background:var(--color-surface-sunken);max-height:240px;overflow-y:auto}.file-line[data-v-458a9d7d]{display:flex;padding:0 var(--space-3)}.file-ln[data-v-458a9d7d]{width:30px;color:var(--color-text-muted);text-align:right;padding-right:var(--space-3);user-select:none;flex:none}.file-text[data-v-458a9d7d]{white-space:pre;font:inherit}.body-chip[data-v-458a9d7d]{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;font:var(--text-base)/var(--leading-normal) var(--font-ui);color:var(--color-text)}.chip-label[data-v-458a9d7d]{background:var(--color-surface-sunken);border:1px solid var(--color-line);border-radius:var(--radius-sm);padding:2px var(--space-2);font:var(--weight-semibold) var(--text-xs) var(--font-mono);color:var(--color-text-muted);white-space:nowrap}.chip-value[data-v-458a9d7d]{font:var(--text-sm) var(--font-mono);color:var(--color-text);word-break:break-all}.chip-detail[data-v-458a9d7d]{font:var(--text-xs) var(--font-ui);color:var(--color-text-muted)}.todo-item[data-v-458a9d7d]{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-1) 0;font:var(--text-base)/var(--leading-normal) var(--font-ui);color:var(--color-text)}.todo-glyph[data-v-458a9d7d]{color:var(--color-accent);font-size:var(--text-sm);flex:none;width:14px}.todo-title[data-v-458a9d7d]{color:var(--color-text)}.todo-done[data-v-458a9d7d]{color:var(--color-text-muted);text-decoration:line-through}.body-generic[data-v-458a9d7d]{font:var(--text-base)/var(--leading-normal) var(--font-ui);color:var(--color-text);word-break:break-word}.body-plan[data-v-458a9d7d]{max-height:50vh;overflow-y:auto}.feedback-wrap[data-v-458a9d7d]{margin-top:var(--space-3)}.feedback-ta[data-v-458a9d7d]{width:100%;box-sizing:border-box;font:var(--text-sm) var(--font-ui);padding:var(--space-2) var(--space-2);border:1px solid var(--color-line);border-radius:var(--radius-sm);resize:none;outline:none;color:var(--color-text);background:var(--color-surface-raised)}.feedback-ta[data-v-458a9d7d]:focus-visible{border-color:var(--color-accent);box-shadow:var(--p-focus-ring)}.feedback-hint[data-v-458a9d7d]{font:var(--text-xs) var(--font-ui);color:var(--color-text-muted);margin-top:var(--space-1)}.abtn[data-v-458a9d7d],.plan-actions[data-v-458a9d7d]{display:flex;justify-content:flex-end;gap:var(--space-2);width:100%}.plan-actions[data-v-458a9d7d]{flex-wrap:wrap}.k[data-v-458a9d7d]{opacity:.75}@media(max-width:640px){.diff[data-v-458a9d7d],.file-content[data-v-458a9d7d]{overflow-x:auto;-webkit-overflow-scrolling:touch}.file-content[data-v-458a9d7d]{max-height:50vh}.abtn[data-v-458a9d7d],.plan-actions[data-v-458a9d7d]{flex-direction:column}.kbtn[data-v-458a9d7d]{width:100%;min-height:46px}}.ui-seg[data-v-d1aaccd7]{display:inline-flex;gap:2px;padding:2px;background:var(--color-surface-sunken);border:1px solid var(--color-line);border-radius:var(--radius-md)}.ui-seg__item[data-v-d1aaccd7]{border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);font-family:var(--font-ui);font-weight:var(--weight-medium);cursor:pointer;line-height:1;transition:background var(--duration-base) var(--ease-out),color var(--duration-base) var(--ease-out),box-shadow var(--duration-base) var(--ease-out)}.ui-seg--md .ui-seg__item[data-v-d1aaccd7]{padding:5px var(--space-3);font-size:var(--text-sm)}.ui-seg--sm .ui-seg__item[data-v-d1aaccd7]{height:24px;padding:0 var(--space-2);font-size:var(--text-sm)}.ui-seg__item[data-v-d1aaccd7]:hover:not(.is-on){color:var(--color-text)}.ui-seg__item.is-on[data-v-d1aaccd7]{background:var(--color-surface-raised);color:var(--color-text);box-shadow:var(--shadow-xs)}.ui-seg__item[data-v-d1aaccd7]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.status-glyph[data-v-f595d935]{flex:none;width:16px;font-size:var(--text-base);line-height:1;text-align:center;user-select:none}.status-glyph.s-run[data-v-f595d935]{color:var(--color-accent);font-weight:500}.status-glyph.s-done[data-v-f595d935]{color:var(--color-success)}.status-glyph.s-fail[data-v-f595d935]{color:var(--color-danger)}.status-glyph.s-pending[data-v-f595d935]{color:var(--color-text-faint)}.tcm[data-v-4829abca]{position:absolute;top:4px;right:6px;z-index:1}.tcm-trigger[data-v-4829abca]{display:inline-grid;place-items:center;width:26px;height:26px;border:1px solid var(--line);border-radius:var(--radius-xs);background:var(--panel2);color:var(--dim);cursor:pointer;opacity:0;visibility:hidden;transition:opacity .12s ease,visibility .12s ease,color .12s ease,border-color .12s ease}.tcm-trigger[data-v-4829abca]:hover{background:var(--panel)}.tcm-trigger.copied[data-v-4829abca]{color:var(--color-success);border-color:color-mix(in srgb,var(--color-success) 30%,var(--line))}.tcm-trigger[data-v-4829abca]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.tcm-trigger svg[data-v-4829abca]{width:var(--p-ic-md);height:var(--p-ic-md)}.tcm:hover .tcm-trigger[data-v-4829abca],.tcm:focus-within .tcm-trigger[data-v-4829abca],.tcm-trigger[data-v-4829abca]:focus-visible{opacity:1;visibility:visible}.tcm-menu[data-v-4829abca]{position:absolute;top:calc(100% + 4px);right:0;min-width:170px}.taskspane[data-v-1c6864c4]{padding:14px 18px 10px;flex:1;min-height:0;display:flex;flex-direction:column}.tp-head[data-v-1c6864c4]{border-top:1px solid var(--line);padding-top:10px;margin-bottom:8px;display:flex;align-items:baseline;gap:8px}.tp-title[data-v-1c6864c4]{color:var(--color-accent-hover);font-weight:500;font-size:var(--text-base);text-transform:capitalize}.tp-count[data-v-1c6864c4]{color:var(--muted);font-size:var(--text-base)}.tp-filter[data-v-1c6864c4]{padding-bottom:8px}.tp-body[data-v-1c6864c4]{flex:1;min-height:0;display:flex;gap:10px}.tp-list-col[data-v-1c6864c4]{flex:1;min-width:0;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.tp-row[data-v-1c6864c4]{padding:4px 0}.tp-row.done .tp-name[data-v-1c6864c4],.tp-card.done .tp-card-name[data-v-1c6864c4]{color:var(--muted);text-decoration:line-through}.tp-row.fail .tp-name[data-v-1c6864c4],.tp-card.fail .tp-card-name[data-v-1c6864c4]{color:var(--color-danger)}.tp-main[data-v-1c6864c4]{display:flex;align-items:center;gap:7px;font-size:var(--text-base)}.tp-row.expandable>.tp-main[data-v-1c6864c4]{cursor:pointer;border-radius:4px}.tp-row.expandable>.tp-main[data-v-1c6864c4]:hover{background:var(--panel2)}.tp-row.selected>.tp-main[data-v-1c6864c4]{background:var(--panel2)}.tp-chevron[data-v-1c6864c4]{flex:none;color:var(--muted);transition:transform .12s}.tp-chevron.open[data-v-1c6864c4]{transform:rotate(90deg)}.tp-name[data-v-1c6864c4]{color:var(--color-text);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tp-time[data-v-1c6864c4]{flex:none;font-size:var(--text-base);color:var(--muted)}.tp-stop[data-v-1c6864c4]{flex:none;background:none;border:1px solid color-mix(in srgb,var(--color-danger) 22%,var(--bg));border-radius:var(--radius-xs);color:var(--color-danger);font-size:max(9px,calc(var(--ui-font-size) - 3.5px));padding:1px 8px;cursor:pointer;font-family:var(--mono)}.tp-stop[data-v-1c6864c4]:hover{background:var(--panel)}.tp-detail[data-v-1c6864c4]{margin:4px 0 0 23px;display:flex;flex-direction:column;gap:4px}.tp-detail-col[data-v-1c6864c4]{flex:0 0 44%;min-width:0;min-height:0;overflow-y:auto;border-left:1px solid var(--line);padding-left:10px;display:flex;flex-direction:column;gap:6px}.tp-detail-head[data-v-1c6864c4]{flex:none;padding-bottom:2px}.tp-detail-empty[data-v-1c6864c4]{padding:18px 6px;text-align:center;color:var(--faint);font-size:var(--ui-font-size-sm)}.tp-codebox[data-v-1c6864c4]{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-xs)}.tp-pre[data-v-1c6864c4]{margin:0;padding:6px 10px;max-height:320px;overflow:auto;contain:layout paint}.tp-pre code[data-v-1c6864c4]{display:block;font-family:var(--mono);font-size:var(--text-base);line-height:1.55;color:var(--dim);white-space:pre-wrap;word-break:break-word}.tp-cmd[data-v-1c6864c4]{display:block;color:var(--muted)}.tp-line[data-v-1c6864c4]{display:block}.tp-grid[data-v-1c6864c4]{flex:1;min-height:0;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;align-content:start}.tp-card[data-v-1c6864c4]{display:flex;flex-direction:column;gap:6px;padding:8px 10px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--color-text);font-family:var(--sans);font-size:var(--text-base);text-align:left;cursor:pointer;transition:border-color .12s ease,background .12s ease}.tp-card[data-v-1c6864c4]:hover{background:var(--panel2);border-color:color-mix(in srgb,var(--color-accent-hover) 40%,var(--line))}.tp-card[data-v-1c6864c4]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.tp-card-line[data-v-1c6864c4]{display:flex;align-items:center;gap:7px;min-width:0}.tp-card-name[data-v-1c6864c4]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tp-card-meta[data-v-1c6864c4]{justify-content:space-between}.tp-empty[data-v-1c6864c4]{padding:24px 0;text-align:center;color:var(--faint);font-size:var(--ui-font-size-sm)}@media(max-width:640px){.taskspane[data-v-1c6864c4]{padding:14px 14px 16px}.tp-body[data-v-1c6864c4]{flex-direction:column;overflow-y:auto;gap:8px}.tp-list-col[data-v-1c6864c4]{flex:none;overflow:visible}.tp-detail-col[data-v-1c6864c4]{flex:none;border-left:none;border-top:1px solid var(--line);padding-left:0;padding-top:8px;overflow:visible}.tp-main[data-v-1c6864c4]{flex-wrap:wrap;row-gap:4px}.tp-name[data-v-1c6864c4]{font-size:var(--ui-font-size-sm)}.tp-stop[data-v-1c6864c4]{min-height:32px;display:inline-flex;align-items:center;padding:4px 12px;border-radius:6px;font-size:var(--ui-font-size-xs)}.tp-detail[data-v-1c6864c4]{margin-left:0}.tp-pre[data-v-1c6864c4]{font-size:var(--ui-font-size-xs)}}.tp-stop[data-v-1c6864c4]{border-radius:var(--radius-md);font-family:var(--sans)}.todo-card[data-v-4f8e45d2]{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-base)}.tc-progress[data-v-4f8e45d2]{display:flex;align-items:center;gap:var(--space-1);padding:0 var(--space-1) var(--space-1);color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--weight-medium)}.tc-progress-ico[data-v-4f8e45d2]{color:var(--color-success)}.tc-row[data-v-4f8e45d2]{display:flex;align-items:center;gap:7px;padding:var(--space-2) var(--space-3);background:var(--color-surface-sunken);border:1px solid var(--color-line);border-radius:var(--radius-sm);color:var(--color-text)}.tc-name[data-v-4f8e45d2]{flex:1;min-width:0;overflow-wrap:anywhere;line-height:1.4}.tc-row.s-in_progress[data-v-4f8e45d2]{border-color:var(--color-accent-bd)}.tc-row.s-in_progress .tc-name[data-v-4f8e45d2]{font-weight:var(--weight-medium)}.tc-row.s-done .tc-name[data-v-4f8e45d2]{color:var(--color-text-faint);text-decoration:line-through}.tc-empty[data-v-4f8e45d2]{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-6) var(--space-4);color:var(--color-text-faint);font-size:var(--text-sm)}.tc-empty-ico[data-v-4f8e45d2]{width:28px;height:28px;color:var(--color-line-strong)}@media(max-width:640px){.todo-card[data-v-4f8e45d2]{font-size:var(--text-lg)}}.terminal-panel[data-v-4d134005]{display:flex;flex-direction:column;height:300px;min-height:0}.term-state[data-v-4d134005]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);color:var(--color-text-muted);font-size:var(--text-sm);text-align:center}.term-toolbar[data-v-4d134005]{flex:none;display:flex;align-items:center;gap:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-line)}.term-tabs[data-v-4d134005]{flex:1;min-width:0;display:flex;align-items:center;gap:var(--space-1);overflow-x:auto}.term-tab[data-v-4d134005]{flex:none;display:inline-flex;align-items:center;gap:var(--space-2);height:28px;padding:0 4px 0 var(--space-2);border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-xs);cursor:pointer}.term-tab[data-v-4d134005]:hover{background:var(--color-surface-sunken);color:var(--color-text)}.term-tab.active[data-v-4d134005]{background:var(--color-accent-soft);color:var(--color-text)}.term-tab-label[data-v-4d134005]{font-weight:500}.term-add[data-v-4d134005]{flex:none}.term-add[data-v-4d134005] svg{width:var(--p-ic-sm);height:var(--p-ic-sm)}.term-error[data-v-4d134005]{flex:none;padding:var(--space-2);color:var(--color-danger);font-size:var(--text-xs);border-bottom:1px solid var(--color-line)}.term-exit[data-v-4d134005]{flex:none;padding:var(--space-2);color:var(--color-warning);font-family:var(--font-mono);font-size:var(--text-xs);border-bottom:1px solid var(--color-line)}.term-output[data-v-4d134005]{flex:1;min-height:0;margin:var(--space-2) 0;padding:var(--space-2);overflow-y:auto;background:var(--color-bg);border:1px solid var(--color-line);border-radius:var(--radius-md);color:var(--color-text);font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.term-input-row[data-v-4d134005]{flex:none;display:flex;align-items:center;gap:var(--space-2)}.term-prompt[data-v-4d134005]{flex:none;color:var(--color-accent);font-family:var(--font-mono);font-size:var(--text-xs)}.term-input[data-v-4d134005]{flex:1;min-width:0;background:transparent;border:none;outline:none;padding:var(--space-1) 0;color:var(--color-text);font-family:var(--font-mono);font-size:var(--text-xs)}.term-input[data-v-4d134005]::placeholder{color:var(--color-text-faint)}.term-input[data-v-4d134005]:disabled{opacity:.5}.ui-empty[data-v-38e00944]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-8) var(--space-4);text-align:center;color:var(--color-text-muted)}.ui-empty__icon[data-v-38e00944]{color:var(--color-text-faint)}.ui-empty__icon[data-v-38e00944] svg{width:48px;height:48px}.ui-empty__title[data-v-38e00944]{font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-text-muted)}.ui-empty__hint[data-v-38e00944]{font-size:var(--text-sm);color:var(--color-text-muted)}.goal-panel[data-v-d3a415b3]{min-width:260px;max-width:420px}.gp-head[data-v-d3a415b3]{display:flex;flex-direction:column;gap:var(--space-2)}.gp-title-row[data-v-d3a415b3]{display:flex;align-items:center;gap:var(--space-2);min-width:0}.gp-icon[data-v-d3a415b3]{flex:none;color:var(--color-success)}.gp-kicker[data-v-d3a415b3]{flex:none;color:var(--color-success);font:var(--text-base)/var(--leading-normal) var(--font-ui);font-weight:var(--weight-semibold)}.gp-objective[data-v-d3a415b3]{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text);font:var(--text-base)/var(--leading-normal) var(--font-ui);font-weight:var(--weight-medium)}.gp-status[data-v-d3a415b3]{flex:none}.gp-elapsed[data-v-d3a415b3]{flex:none;display:inline-flex;align-items:center;gap:var(--space-1);color:var(--color-text-muted);font:var(--text-xs)/var(--leading-normal) var(--font-ui);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums}.gp-actions[data-v-d3a415b3]{flex:none;display:flex;align-items:center;gap:var(--space-1);margin-left:var(--space-1)}.gp-action[data-v-d3a415b3]{width:28px;height:28px}.gp-criterion[data-v-d3a415b3]{display:flex;flex-direction:column;gap:var(--space-1);border-top:1px solid var(--color-line);padding-top:var(--space-2)}.gp-criterion-label[data-v-d3a415b3]{color:var(--color-text-muted);font:var(--text-xs) var(--font-mono);text-transform:uppercase}.gp-criterion-text[data-v-d3a415b3]{margin:0;color:var(--color-text-muted);font:var(--text-sm)/var(--leading-normal) var(--font-ui)}.plan-panel[data-v-9073f2b6]{min-width:300px;max-width:460px;display:flex;flex-direction:column;gap:var(--space-2)}.pp-loading[data-v-9073f2b6]{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-muted);font:var(--text-sm) var(--font-ui)}.pp-plan-wrap[data-v-9073f2b6]{display:flex;flex-direction:column;gap:var(--space-2);min-height:0}.pp-path[data-v-9073f2b6]{margin:0;color:var(--color-text-muted);font:var(--text-xs) var(--font-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-plan[data-v-9073f2b6]{margin:0;max-height:300px;overflow-y:auto;padding:var(--space-2) var(--space-3);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface-sunken);color:var(--color-text);font:var(--text-sm)/var(--leading-normal) var(--font-mono);white-space:pre-wrap;overflow-wrap:anywhere}.pp-review[data-v-9073f2b6]{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;color:var(--color-text-muted);font:var(--text-xs) var(--font-ui)}.pp-state[data-v-9073f2b6]{font-weight:var(--weight-medium)}.pp-option[data-v-9073f2b6]{color:var(--color-accent)}.pp-feedback[data-v-9073f2b6]{color:var(--color-text-muted)}.chat-dock[data-v-24d34e66]{--dock-inline-left: 16px;--dock-inline-right: 16px;box-sizing:border-box;width:100%;max-width:calc(var(--read-max) + var(--panes-scrollbar-width, 0px));padding-right:var(--panes-scrollbar-width, 0px);flex:none;position:relative;background:var(--color-bg);z-index:var(--z-sticky)}.chat-dock.align-center[data-v-24d34e66]{margin-left:auto;margin-right:auto}.chat-dock.align-left[data-v-24d34e66]{margin-left:0;margin-right:auto}.chat-dock.align-mobile[data-v-24d34e66]{max-width:none}.dock-work-panel[data-v-24d34e66]{position:absolute;left:16px;right:calc(16px + var(--panes-scrollbar-width, 0px));bottom:100%;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);margin-bottom:7px;max-height:min(360px,50vh);display:flex;flex-direction:column;overflow:hidden}.dock-work-head[data-v-24d34e66]{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--color-line)}.dock-work-tab[data-v-24d34e66]{font-size:var(--text-base);font-weight:500;color:var(--color-text);padding:3px 8px;border-radius:var(--radius-sm);background:var(--color-surface-sunken);border:1px solid var(--color-line)}.dock-work-tab.static[data-v-24d34e66]{background:transparent;border-color:transparent;padding-left:2px}.dock-work-body[data-v-24d34e66]{display:flex;flex-direction:column;padding:8px 10px;overflow-y:auto;min-height:0}.dock-work-body[data-v-24d34e66] .taskspane{border:none;background:transparent;padding:0}.dock-work-body[data-v-24d34e66] .taskspane .tp-head{display:none}.dock-workbar[data-v-24d34e66]{display:flex;align-items:center;flex-wrap:wrap;row-gap:4px;gap:6px;padding:4px var(--dock-inline-right) 2px var(--dock-inline-left)}.dock-workbar .dw-count[data-v-24d34e66]{margin-left:1px}.dock-workbar .dw-count b[data-v-24d34e66]{font-weight:500}.dock-approval[data-v-24d34e66]{margin-top:8px}.chat-dock.has-approval[data-v-24d34e66]{max-height:calc(100dvh - 72px)}.chat-dock.has-approval>.dock-workbar[data-v-24d34e66]{flex:none}.chat-dock.has-approval>.dock-approval[data-v-24d34e66]{min-height:0}.chat-dock.has-question[data-v-24d34e66]{max-height:calc(100vh - 72px);max-height:calc(var(--app-height, 100dvh) - 72px);display:flex;flex-direction:column;padding-bottom:max(var(--space-2),var(--safe-bottom))}.chat-dock.has-question>.dock-workbar[data-v-24d34e66]{flex:none}.chat-dock.has-question>.goal-strip[data-v-24d34e66]{flex:none}.chat-dock.has-question>.qcard[data-v-24d34e66]{flex:1 1 auto;min-height:0}@media(max-width:640px){.chat-dock[data-v-24d34e66]{--dock-inline-left: max(12px, var(--safe-left));--dock-inline-right: max(12px, var(--safe-right))}.dock-work-panel[data-v-24d34e66]{left:10px;right:calc(10px + var(--panes-scrollbar-width, 0px))}}.chat-dock[data-v-24d34e66]:not(.align-mobile) .composer{padding-bottom:14px}.dock-panel-enter-active[data-v-24d34e66],.dock-panel-leave-active[data-v-24d34e66]{transition:opacity .16s ease,transform .16s ease}.dock-panel-enter-from[data-v-24d34e66],.dock-panel-leave-to[data-v-24d34e66]{opacity:0;transform:translateY(8px)}.ui-input[data-v-340f0da2]{width:100%;border:1px solid var(--color-line-strong);border-radius:var(--radius-md);background:var(--color-surface-raised);box-shadow:var(--shadow-xs);color:var(--color-text);font-family:var(--font-ui);font-size:var(--text-base);line-height:var(--leading-normal);padding:0 var(--space-3);transition:border-color var(--duration-base) var(--ease-out),box-shadow var(--duration-base) var(--ease-out)}.ui-input--md[data-v-340f0da2]{height:38px}.ui-input--sm[data-v-340f0da2]{height:32px;font-size:var(--text-sm);border-radius:var(--radius-sm)}.ui-input[data-v-340f0da2]::placeholder{color:var(--color-text-faint)}.ui-input[data-v-340f0da2]:hover:not(:disabled):not(:focus){border-color:var(--color-line-strong)}.ui-input[data-v-340f0da2]:focus{outline:none;border-color:var(--color-accent);box-shadow:var(--p-focus-ring)}.ui-input[data-v-340f0da2]:disabled{opacity:.5;cursor:not-allowed}.ui-input[readonly][data-v-340f0da2]{background:var(--color-surface-sunken)}.ui-input.has-error[data-v-340f0da2]{border-color:var(--color-danger)}.ui-input.has-error[data-v-340f0da2]:focus{box-shadow:0 0 0 3px var(--color-danger-soft)}.conv-search[data-v-c521ac2e]{flex:none;display:flex;align-items:center;gap:6px;padding:6px 16px;border-bottom:1px solid var(--color-line);background:var(--color-bg);font-family:var(--font-ui)}.conv-search-icon[data-v-c521ac2e]{flex:none;color:var(--color-text-muted)}.conv-search-input[data-v-c521ac2e]{flex:1;min-width:0}.conv-search-count[data-v-c521ac2e]{flex:none;min-width:56px;text-align:center;font-size:var(--text-xs);font-family:var(--font-mono);color:var(--color-text-muted);white-space:nowrap}.conv-search-none[data-v-c521ac2e]{color:var(--color-text-faint)}.conversation-toc[data-v-46ac0b80]{position:absolute;z-index:var(--z-sticky);top:50%;transform:translateY(-50%);--toc-content-max: min( var(--read-max), calc(100cqi - var(--space-5) - var(--space-5)) );left:calc(50% + (var(--toc-content-max) / 2) + 14px);display:flex;flex-direction:column;justify-content:center;opacity:.5;transition:opacity var(--duration-base) var(--ease-out)}.conversation-toc[data-v-46ac0b80]:before{content:"";position:absolute;inset:0 -48px 0 -14px;z-index:0}.conversation-toc[data-v-46ac0b80]:hover,.conversation-toc[data-v-46ac0b80]:focus-within{opacity:1}.toc-scroll[data-v-46ac0b80]{position:relative;z-index:1;display:flex;flex-direction:column;gap:7px;padding:8px 0;max-height:calc(100vh - 200px);overflow-y:auto;scrollbar-width:none}.toc-scroll[data-v-46ac0b80]::-webkit-scrollbar{display:none}.toc-row[data-v-46ac0b80]{display:flex;align-items:center;gap:10px;height:18px;padding:0;border:none;background:transparent;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-sm);text-align:left;cursor:pointer;white-space:nowrap}.toc-row[data-v-46ac0b80]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.toc-bar[data-v-46ac0b80]{flex:none;width:3px;height:14px;border-radius:var(--radius-full);background:var(--color-accent);opacity:.3;transition:opacity var(--duration-fast) var(--ease-out),height var(--duration-fast) var(--ease-out)}.toc-label[data-v-46ac0b80]{display:block;max-width:0;overflow:hidden;opacity:0;text-overflow:ellipsis;transition:max-width .22s var(--ease-out),opacity var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.conversation-toc:hover .toc-bar[data-v-46ac0b80],.conversation-toc:focus-within .toc-bar[data-v-46ac0b80]{height:18px;opacity:.5}.conversation-toc:hover .toc-label[data-v-46ac0b80],.conversation-toc:focus-within .toc-label[data-v-46ac0b80]{max-width:220px;opacity:1}.toc-row.active .toc-bar[data-v-46ac0b80]{opacity:1;height:18px}.toc-row.active .toc-label[data-v-46ac0b80]{color:var(--color-accent);font-weight:var(--weight-medium)}.toc-row:hover .toc-bar[data-v-46ac0b80]{opacity:1}.toc-row:hover .toc-label[data-v-46ac0b80]{color:var(--color-text)}.conversation-toc.toc-clipped[data-v-46ac0b80]{visibility:hidden;pointer-events:none}.con[data-v-32714afa]{--read-max: 760px;display:flex;flex-direction:column;min-width:0;height:100%;position:relative;container-type:inline-size}@media(min-width:1200px){.con[data-v-32714afa]{--read-max: 920px}}@media(min-width:1600px){.con[data-v-32714afa]{--read-max: 1040px}}.panes[data-v-32714afa]{flex:1;min-height:0;overflow-y:auto;overflow-anchor:auto}@media(min-width:981px){.panes[data-v-32714afa]{scrollbar-gutter:stable}}@media(max-width:980px){.panes[data-v-32714afa]{scrollbar-gutter:auto;-webkit-overflow-scrolling:touch}}.panes.is-following[data-v-32714afa],.panes.history-prepending[data-v-32714afa]{overflow-anchor:none}.chat-layout[data-v-32714afa]{display:flex;flex-direction:column;height:100%;min-height:0;position:relative}.chat-scroll[data-v-32714afa]{flex:1;min-height:0;position:relative}.content-wrap[data-v-32714afa]{width:100%;max-width:var(--read-max);min-height:100%;display:flex;flex-direction:column;flex-shrink:0}.content-wrap.align-center[data-v-32714afa]{margin-left:auto;margin-right:auto}.content-wrap.align-left[data-v-32714afa]{margin-left:0;margin-right:auto}.content-wrap.align-mobile[data-v-32714afa]{max-width:none}@media(max-width:640px){.con.mobile[data-v-32714afa]{min-width:0;overflow:hidden}.con.mobile .panes[data-v-32714afa]{scrollbar-gutter:auto;-webkit-overflow-scrolling:touch}.content-wrap.align-mobile[data-v-32714afa]{width:100%;min-width:0}}.empty-spacer[data-v-32714afa]{flex:1}.empty-hint[data-v-32714afa]{flex:none;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:0 16px 16px;color:var(--color-text);font-family:var(--font-ui)}.empty-hint-title[data-v-32714afa]{font-size:calc(var(--ui-font-size) + 16px);font-optical-sizing:auto;font-weight:var(--weight-semibold)}.empty-hint-title.is-starting[data-v-32714afa]{display:inline-flex;align-items:center;gap:9px;color:var(--dim);font-weight:400}.empty-hint-text[data-v-32714afa]{display:inline-block;font-size:var(--text-base);color:var(--dim);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty-add-workspace[data-v-32714afa]{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;padding:7px 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--dim);font-family:var(--mono);font-size:var(--ui-font-size-sm);cursor:pointer}.empty-add-workspace[data-v-32714afa]:hover{border-color:var(--color-accent-bd);color:var(--color-text)}.empty-add-workspace[data-v-32714afa]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.empty-add-workspace svg[data-v-32714afa]{flex:none}.ws-pick[data-v-32714afa]{position:relative;font-family:var(--font-ui)}.ws-pick-btn[data-v-32714afa]{display:inline-flex;align-items:center;gap:7px;width:max-content;max-width:min(100%,calc(100vw - var(--space-8)));padding:5px 10px;background:var(--panel);border:1px solid var(--line);border-radius:8px;color:var(--dim);font-family:inherit;font-size:var(--ui-font-size-sm);cursor:pointer}.ws-pick-btn[data-v-32714afa]:hover{border-color:var(--color-accent-bd);color:var(--color-text)}.ws-pick-name[data-v-32714afa]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-pick-chev[data-v-32714afa]{flex:none;color:var(--muted);transition:transform .15s}.ws-pick-chev.open[data-v-32714afa]{transform:rotate(180deg)}.ws-pick-backdrop[data-v-32714afa]{position:fixed;inset:0;z-index:var(--z-sticky)}.ws-pick-menu[data-v-32714afa]{position:absolute;display:grid;grid-template-columns:minmax(0,1fr);left:50%;transform:translate(-50%);top:calc(100% + 6px);z-index:var(--z-dropdown);width:max-content;min-width:min(180px,calc(100cqw - var(--space-8)));max-width:calc(100cqw - var(--space-8));max-height:50vh;overflow:hidden auto;background:var(--color-surface-raised);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:4px}.ws-pick-item[data-v-32714afa]{display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:100%;text-align:left;background:none;border:none;border-radius:6px;padding:6px 10px;cursor:pointer;font-family:var(--font-ui)}.ws-pick-item[data-v-32714afa]:hover{background:var(--panel2)}.ws-pick-item.on[data-v-32714afa]{background:var(--color-accent-soft)}.ws-pick-item-name[data-v-32714afa]{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-text)}.ws-pick-item.on .ws-pick-item-name[data-v-32714afa]{color:var(--color-accent-hover)}.ws-pick-item-path[data-v-32714afa]{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--muted)}.ws-pick-item.ws-pick-more[data-v-32714afa]{flex-direction:row;align-items:center;justify-content:flex-start;font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--dim)}.ws-pick-item.ws-pick-more[data-v-32714afa]:hover{color:var(--color-text)}.ws-pick-item.ws-pick-more span[data-v-32714afa],.ws-pick-action span[data-v-32714afa]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-pick-divider[data-v-32714afa]{height:1px;margin:4px 6px;background:var(--line)}.ws-pick-action[data-v-32714afa]{display:flex;align-items:center;gap:7px;width:100%;text-align:left;background:none;border:none;border-radius:6px;padding:7px 10px;cursor:pointer;font-family:var(--font-ui);font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--dim)}.ws-pick-action[data-v-32714afa]:hover{background:var(--panel2);color:var(--color-text)}.ws-pick-action svg[data-v-32714afa]{flex:none}.chat-scroll[data-v-32714afa]{display:flex;flex-direction:column}.mobile .panes[data-v-32714afa]:has(>.chat-layout){overflow:hidden;scrollbar-gutter:auto}.newmsg-pill[data-v-32714afa]{position:absolute;left:50%;bottom:12px;transform:translate(-50%);display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--color-text);font-size:var(--ui-font-size-sm);cursor:pointer;box-shadow:var(--shadow-sm);z-index:var(--z-base)}.newmsg-pill[data-v-32714afa]:hover{background:var(--panel2)}.pill-chevron[data-v-32714afa]{width:12px;height:12px}.pill-enter-active[data-v-32714afa],.pill-leave-active[data-v-32714afa]{transition:opacity .2s ease,transform .2s ease}.pill-enter-from[data-v-32714afa],.pill-leave-to[data-v-32714afa]{opacity:0;transform:translate(-50%) translateY(8px)}.abort-toast[data-v-32714afa]{position:absolute;left:50%;top:60px;transform:translate(-50%);padding:8px 14px;border-radius:var(--radius-sm);background:var(--color-text);color:var(--bg);font-size:var(--ui-font-size-sm);z-index:var(--z-sticky);box-shadow:var(--shadow-sm)}.abort-toast-text[data-v-32714afa]{display:flex;align-items:center;gap:8px}.abort-toast-enter-active[data-v-32714afa],.abort-toast-leave-active[data-v-32714afa]{transition:opacity .15s ease,transform .15s ease}.abort-toast-enter-from[data-v-32714afa],.abort-toast-leave-to[data-v-32714afa]{opacity:0;transform:translate(-50%) translateY(-6px)}.con[data-v-32714afa]{background:var(--bg)}.newmsg-pill[data-v-32714afa]{font-family:var(--sans)}.ui-panel-header[data-v-c47879ad]{flex:none;display:flex;align-items:center;gap:var(--space-2);height:var(--panel-head-h, 48px);padding:0 6px 0 var(--space-3);box-sizing:border-box;min-width:0;border-bottom:1px solid var(--color-line);background:var(--color-surface)}.ui-panel-header__title[data-v-c47879ad]{flex:none;font:var(--weight-semibold) var(--text-xs) var(--font-mono);letter-spacing:.04em;color:var(--color-text)}.ui-panel-header__sub[data-v-c47879ad]{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:var(--text-xs) var(--font-mono);color:var(--color-text-muted)}.ui-panel-header__close[data-v-c47879ad]{flex:none;margin-left:auto}.ui-panel-header.wrap[data-v-c47879ad]{flex-wrap:wrap;height:auto;min-height:var(--panel-head-h, 48px);padding-top:3px;padding-bottom:3px;gap:4px 6px}.ui-panel-header.wrap .ui-panel-header__close[data-v-c47879ad]{margin-left:0}.file-preview[data-v-6fe88fd7]{display:flex;flex-direction:column;height:100%;background:var(--bg);font-family:var(--mono);min-width:0;container-type:inline-size}.fp-empty[data-v-6fe88fd7],.fp-loading[data-v-6fe88fd7]{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--muted);font-size:var(--ui-font-size)}.fp-path[data-v-6fe88fd7]{flex:1 1 60px;min-width:40px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;direction:rtl;text-align:left;font-size:var(--ui-font-size-xs);color:var(--muted);font-weight:400}.fp-meta[data-v-6fe88fd7]{display:flex;align-items:center;gap:8px;flex:none}@container (max-width: 539px){.fp-meta[data-v-6fe88fd7]{display:none}}.fp-lines[data-v-6fe88fd7],.fp-size[data-v-6fe88fd7]{font-size:max(9px,calc(var(--ui-font-size) - 3.5px));color:var(--muted);white-space:nowrap}.fp-search[data-v-6fe88fd7]{display:flex;align-items:center;gap:4px;flex:1 1 110px;min-width:70px;max-width:200px}.fp-search-input[data-v-6fe88fd7]{flex:1;min-width:0;height:26px;border:1px solid var(--color-line);border-radius:var(--radius-sm);padding:2px 7px;background:var(--color-surface-raised);color:var(--color-text);font:var(--text-xs) var(--font-mono)}.fp-search-count[data-v-6fe88fd7]{color:var(--muted);font-size:max(9px,calc(var(--ui-font-size) - 3.5px));min-width:18px;text-align:right}.fp-download[data-v-6fe88fd7]{display:inline-grid;place-items:center;width:26px;height:26px;flex:none;border-radius:var(--radius-sm);color:var(--color-text-muted)}.fp-download[data-v-6fe88fd7]:hover{background:var(--color-surface-sunken);color:var(--color-text)}.fp-download[data-v-6fe88fd7]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.fp-download svg[data-v-6fe88fd7]{width:var(--p-ic-sm);height:var(--p-ic-sm)}.fp-open-in[data-v-6fe88fd7]{position:fixed;top:0;left:0;z-index:var(--z-dropdown)}.fp-check[data-v-6fe88fd7]{color:var(--color-success)}.fp-body[data-v-6fe88fd7]{--fp-search-hit-bg: color-mix(in srgb, var(--star) 22%, var(--bg));--fp-search-active-bg: color-mix(in srgb, var(--star) 36%, var(--bg));--fp-token-keyword: color-mix(in srgb, var(--color-accent) 68%, var(--color-danger));--fp-token-string: var(--color-success);--fp-token-literal: var(--color-accent-hover);--fp-token-tag: var(--color-warning);flex:1;min-height:0;overflow:auto}.fp-markdown[data-v-6fe88fd7]{padding:16px 20px}.fp-code[data-v-6fe88fd7]{background:var(--bg)}.fp-line-table[data-v-6fe88fd7]{display:table;width:100%;border-collapse:collapse;font-size:var(--ui-font-size);line-height:1.6}.fp-line-row[data-v-6fe88fd7]{display:table-row}.fp-line-row.hit .fp-line-text[data-v-6fe88fd7],.fp-table tr.hit td[data-v-6fe88fd7]{background:var(--fp-search-hit-bg)}.fp-line-row.active .fp-line-text[data-v-6fe88fd7],.fp-table tr.active td[data-v-6fe88fd7]{background:var(--fp-search-active-bg)}.fp-line-row.target .fp-gutter[data-v-6fe88fd7],.fp-line-row.target .fp-line-text[data-v-6fe88fd7],.fp-table tr.target th[data-v-6fe88fd7],.fp-table tr.target td[data-v-6fe88fd7]{background:var(--color-accent-soft)}.fp-gutter[data-v-6fe88fd7]{display:table-cell;width:44px;padding:0 10px 0 12px;text-align:right;color:var(--faint);user-select:none;font-size:var(--text-base);white-space:nowrap;border-right:1px solid var(--line2);vertical-align:top}.fp-line-text[data-v-6fe88fd7]{display:table-cell;padding:0 12px;color:var(--color-text);white-space:pre;vertical-align:top}.fp-line-text[data-v-6fe88fd7] .tok-key,.fp-line-text[data-v-6fe88fd7] .tok-keyword{color:var(--fp-token-keyword);font-weight:500}.fp-line-text[data-v-6fe88fd7] .tok-string{color:var(--fp-token-string)}.fp-line-text[data-v-6fe88fd7] .tok-number,.fp-line-text[data-v-6fe88fd7] .tok-literal{color:var(--fp-token-literal)}.fp-line-text[data-v-6fe88fd7] .tok-comment{color:var(--muted);font-style:italic}.fp-line-text[data-v-6fe88fd7] .tok-tag{color:var(--fp-token-tag);font-weight:500}.fp-line-text[data-v-6fe88fd7] .tok-attr{color:var(--fp-token-literal)}.fp-html-frame[data-v-6fe88fd7],.fp-pdf-frame[data-v-6fe88fd7]{width:100%;height:100%;border:0;background:var(--color-surface-raised)}.fp-pdf-wrap[data-v-6fe88fd7]{background:var(--panel2)}.fp-table-wrap[data-v-6fe88fd7]{background:var(--bg)}.fp-table[data-v-6fe88fd7]{border-collapse:collapse;min-width:100%;font:12px/1.5 var(--mono)}.fp-table th[data-v-6fe88fd7]{position:sticky;left:0;z-index:1;width:44px;min-width:44px;padding:2px 8px;text-align:right;color:var(--faint);background:var(--panel);border-right:1px solid var(--line2);user-select:none}.fp-table td[data-v-6fe88fd7]{padding:2px 10px;border-right:1px solid var(--line2);border-bottom:1px solid var(--line2);white-space:pre}.fp-image-wrap[data-v-6fe88fd7]{display:flex;align-items:center;justify-content:center;padding:24px;background:var(--panel2)}.fp-image[data-v-6fe88fd7]{max-width:100%;max-height:100%;object-fit:contain;border:1px solid var(--line);border-radius:4px;background:var(--media-alpha-canvas)}.fp-image.actual[data-v-6fe88fd7]{max-width:none;max-height:none}.fp-binary-wrap[data-v-6fe88fd7]{display:flex;align-items:center;justify-content:center}.fp-binary-card[data-v-6fe88fd7]{display:flex;align-items:center;gap:12px;padding:20px 24px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--muted);font-size:var(--ui-font-size);margin:32px auto;max-width:480px}.fp-binary-icon[data-v-6fe88fd7]{color:var(--faint);flex:none}.fp-error[data-v-6fe88fd7]{flex-direction:column;padding:24px;text-align:center}@keyframes spin-6fe88fd7{to{transform:rotate(360deg)}}.spinner[data-v-6fe88fd7]{display:inline-block;width:14px;height:14px;border:1.5px solid var(--line);border-top-color:var(--color-accent);border-radius:50%;animation:spin-6fe88fd7 .7s linear infinite}@media(max-width:640px){.fp-lines[data-v-6fe88fd7]{display:none}.fp-markdown[data-v-6fe88fd7]{padding:14px 16px}.fp-body.fp-code[data-v-6fe88fd7]{-webkit-overflow-scrolling:touch}}.fp-empty[data-v-6fe88fd7],.fp-loading[data-v-6fe88fd7]{font-family:var(--sans)}.fp-binary-card[data-v-6fe88fd7]{border:1px solid var(--color-line);border-radius:var(--radius-md)}.fp-binary-label[data-v-6fe88fd7]{font-family:var(--sans)}.fp-image[data-v-6fe88fd7]{border-radius:var(--radius-md)}.seg-btn[data-v-6fe88fd7]{font-family:var(--sans)}.tp[data-v-98c343f3]{height:100%;display:flex;flex-direction:column;min-height:0;background:var(--color-bg)}.tp-body[data-v-98c343f3]{flex:1;min-height:0;overflow-y:auto;margin:0;padding:12px 14px;font:var(--text-base)/var(--leading-relaxed) var(--font-ui);font-weight:var(--weight-regular);color:var(--color-text-muted);white-space:pre-wrap;word-break:break-word}.ap[data-v-59df0789]{height:100%;display:flex;flex-direction:column;min-height:0;background:var(--color-bg)}.ap-phase[data-v-59df0789]{flex:none}.ap-body[data-v-59df0789]{flex:1;min-height:0;overflow-y:auto;padding:12px 14px;font:var(--text-base)/var(--leading-normal) var(--font-ui);color:var(--color-text-muted)}.ap-type[data-v-59df0789]{font:var(--text-xs) var(--font-mono);color:var(--color-text-muted);margin-bottom:8px}.ap-reason[data-v-59df0789]{color:var(--color-warning);margin-bottom:8px}.ap-field+.ap-field[data-v-59df0789]{margin-top:12px}.ap-field-label[data-v-59df0789]{display:block;color:var(--color-text-muted);font:var(--text-xs) var(--font-mono);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.ap-field-body[data-v-59df0789]{white-space:pre-wrap;overflow-wrap:anywhere}.ap-progress[data-v-59df0789]{display:flex;flex-direction:column;gap:6px;font:var(--text-base)/var(--leading-relaxed) var(--font-mono);color:var(--color-text);min-width:0}.ap-live[data-v-59df0789]{font:var(--text-base)/var(--leading-relaxed) var(--font-mono);color:var(--color-text);white-space:pre-wrap;overflow-wrap:anywhere}.ap-group[data-v-59df0789]{min-width:0}.ap-call[data-v-59df0789]{display:flex;align-items:baseline;gap:6px;min-width:0;font-weight:var(--weight-medium);color:var(--color-text);overflow-wrap:anywhere;white-space:pre-wrap}.ap-glyph[data-v-59df0789]{flex:none;color:var(--color-accent);font-size:.85em}.ap-output[data-v-59df0789]{margin:2px 0 0 16px;padding-left:8px;color:var(--color-text-muted);font-size:var(--text-sm);line-height:var(--leading-normal);border-left:2px solid var(--color-line);min-width:0}.ap-out-line[data-v-59df0789]{min-width:0;overflow-wrap:anywhere;white-space:pre-wrap}.ap-fold[data-v-59df0789]{display:inline-block;margin:2px 0;padding:0;background:none;border:none;color:var(--color-accent);font:inherit;cursor:pointer}.ap-fold[data-v-59df0789]:hover{text-decoration:underline}.ap-fold[data-v-59df0789]:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.diff-lines[data-v-26e24204]{padding:4px 0 12px;font-size:var(--ui-font-size);line-height:1.5;-webkit-overflow-scrolling:touch;width:max-content;min-width:100%}.dl[data-v-26e24204]{display:flex;align-items:flex-start;min-height:18px;white-space:pre;width:100%}.dl-gutter[data-v-26e24204]{flex:none;width:40px;padding:0 6px;text-align:right;color:var(--faint, #aeb4bc);background:var(--panel, #fafbfc);user-select:none;border-right:1px solid var(--line2, #eef1f4);font-variant-numeric:tabular-nums}.dl-gutter.new[data-v-26e24204]{border-right:1px solid var(--line, #e7eaee)}.dl-sign[data-v-26e24204]{flex:none;width:16px;text-align:center;color:var(--muted);user-select:none}.dl-text[data-v-26e24204]{flex:none;padding-right:14px;white-space:pre;color:var(--color-text)}.dl-add[data-v-26e24204]{background:var(--color-success-soft);box-shadow:inset 2px 0 color-mix(in srgb,var(--color-success) 55%,transparent)}.dl-add .dl-sign[data-v-26e24204]{color:var(--color-success)}.dl-del[data-v-26e24204]{background:var(--color-danger-soft);box-shadow:inset 2px 0 color-mix(in srgb,var(--color-danger) 55%,transparent)}.dl-del .dl-sign[data-v-26e24204]{color:var(--color-danger)}.diff-lines[data-theme] .dl-add[data-v-26e24204]{background:var(--dl-add-soft);box-shadow:inset 2px 0 color-mix(in srgb,var(--dl-add) 55%,transparent)}.diff-lines[data-theme] .dl-add .dl-sign[data-v-26e24204]{color:var(--dl-add)}.diff-lines[data-theme] .dl-del[data-v-26e24204]{background:var(--dl-del-soft);box-shadow:inset 2px 0 color-mix(in srgb,var(--dl-del) 55%,transparent)}.diff-lines[data-theme] .dl-del .dl-sign[data-v-26e24204]{color:var(--dl-del)}.dl-hunk[data-v-26e24204]{background:var(--panel2, #f3f5f8)}.dl-hunk .hunk-text[data-v-26e24204]{flex:1;padding:1px 12px;color:var(--muted, #8b929b);font-style:normal}@media(max-width:640px){.diff-lines[data-v-26e24204]{overflow-x:auto;font-size:var(--ui-font-size)}}.tdp[data-v-76f2fbca]{height:100%;display:flex;flex-direction:column;min-height:0;background:var(--bg)}.tdp-body[data-v-76f2fbca]{flex:1;min-height:0;overflow:auto;font-family:var(--mono)}.tdp-output[data-v-76f2fbca]{padding:8px 12px;color:var(--dim);font-size:var(--text-base);line-height:1.7;white-space:pre-wrap;word-break:break-word}.tdp-empty[data-v-76f2fbca]{padding:32px 20px;color:var(--muted, #9098a0);font-size:var(--ui-font-size);text-align:center}.sc[data-v-867ab366]{height:100%;display:flex;flex-direction:column;min-height:0;background:var(--bg)}.sc-body[data-v-867ab366]{flex:1;min-height:0;overflow-y:auto}.sc-empty[data-v-867ab366]{padding:24px 16px;text-align:center;color:var(--muted);font-size:var(--ui-font-size)}.sc-composer[data-v-867ab366]{flex:none;display:flex;align-items:flex-end;gap:6px;padding:8px 10px;border-top:1px solid var(--line);background:var(--panel)}.sc-input[data-v-867ab366]{flex:1;min-width:0;resize:none;border:1px solid var(--line);border-radius:var(--radius-md);padding:7px 9px;background:var(--bg);color:var(--color-text);font:var(--ui-font-size)/1.5 var(--sans);outline:none;max-height:160px}.sc-input[data-v-867ab366]:focus{border-color:var(--color-accent-bd)}.sc-send[data-v-867ab366]{flex:none;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--radius-md);background:var(--color-accent);color:var(--color-text-on-accent);cursor:pointer}.sc-send[data-v-867ab366]:disabled{opacity:.4;cursor:default}.sc-send[data-v-867ab366]:not(:disabled):hover{background:var(--color-accent-hover)}.sc-loading[data-v-867ab366]{flex:none;padding:8px 12px 12px}.sc-body[data-v-867ab366] .sending-placeholder,.sc-body[data-v-867ab366] .sending-line{display:none}.changes-pane[data-v-6591e558]{display:flex;flex-direction:column;height:100%;background:var(--bg);font-family:var(--mono)}.dv-path[data-v-6591e558],.dv-change-count[data-v-6591e558]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--mono);font-size:var(--ui-font-size-xs);color:var(--muted)}.dv-change-count[data-v-6591e558]{flex:1}.ch-head[data-v-6591e558]{display:flex;align-items:center;gap:8px;padding:8px 16px;border-bottom:1px solid var(--line);background:var(--panel);font-size:var(--text-base);color:var(--dim);flex:none;white-space:nowrap;overflow:hidden}.br-label[data-v-6591e558]{color:var(--muted);font-size:max(9px,calc(var(--ui-font-size) - 3.5px))}.br-name[data-v-6591e558]{color:var(--color-accent);font-weight:500;font-size:var(--ui-font-size)}.sync-info[data-v-6591e558]{display:flex;align-items:center;gap:4px}.ahead[data-v-6591e558]{color:var(--color-accent);font-size:var(--text-base)}.behind[data-v-6591e558]{color:var(--color-warning);font-size:var(--text-base)}.empty-head[data-v-6591e558]{color:var(--muted);font-size:var(--text-base)}.ch-list[data-v-6591e558]{flex:1;overflow-y:auto;padding:4px 0}.ch-row[data-v-6591e558]{display:flex;align-items:center;gap:10px;padding:6px 16px;cursor:pointer;font-size:var(--ui-font-size);line-height:1.6;width:100%;background:none;border:none;text-align:left;font-family:inherit;color:inherit}.ch-row[data-v-6591e558]:hover{background:var(--panel2, #f5f6f8)}.ch-row[data-v-6591e558]:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.ch-tree[data-v-6591e558]{padding:4px 0}.tree-list[data-v-6591e558]{list-style:none;margin:0;padding:0}.tree-row[data-v-6591e558]{display:flex;align-items:center;gap:8px;width:100%;padding:5px 16px;background:none;border:none;text-align:left;font-family:inherit;font-size:var(--ui-font-size);color:inherit;cursor:pointer}.tree-row[data-v-6591e558]:hover{background:var(--panel2, #f5f6f8)}.tree-row[data-v-6591e558]:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.tree-folder[data-v-6591e558]{color:var(--color-text);font-weight:500}.tree-file[data-v-6591e558]{color:var(--color-text)}.tree-icon[data-v-6591e558]{flex:none;color:var(--muted)}.tree-name[data-v-6591e558]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge[data-v-6591e558]{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:var(--radius-xs);font-size:max(9px,calc(var(--ui-font-size) - 4px));font-weight:500;flex:none;user-select:none}.badge.modified[data-v-6591e558]{background:color-mix(in srgb,var(--color-accent) 12%,var(--bg));color:var(--color-accent)}.badge.added[data-v-6591e558]{background:color-mix(in srgb,var(--color-success) 10%,var(--bg));color:var(--color-success)}.badge.deleted[data-v-6591e558]{background:color-mix(in srgb,var(--color-danger) 10%,var(--bg));color:var(--color-danger)}.badge.renamed[data-v-6591e558]{background:color-mix(in srgb,var(--color-warning) 12%,var(--bg));color:var(--color-warning)}.badge.untracked[data-v-6591e558]{background:var(--color-surface-sunken);color:var(--muted, #9098a0)}.badge.conflicted[data-v-6591e558]{background:color-mix(in srgb,var(--color-danger) 10%,var(--bg));color:var(--color-danger);font-size:max(9px,calc(var(--ui-font-size) - 5px))}.badge.ignored[data-v-6591e558]{background:var(--color-surface-sunken);color:var(--faint, #c0c5cc)}.badge.clean[data-v-6591e558]{background:transparent;color:var(--faint, #c0c5cc)}.badge.unknown[data-v-6591e558]{background:var(--color-surface-sunken);color:var(--muted, #9098a0)}.fpath[data-v-6591e558]{color:var(--color-text);font-size:var(--ui-font-size);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;direction:rtl;text-align:left;min-width:0}.empty-state[data-v-6591e558]{padding:32px 20px;color:var(--muted, #9098a0);font-size:var(--ui-font-size);text-align:center}.diff-head[data-v-6591e558]{display:flex;align-items:center;gap:10px;flex-wrap:wrap;row-gap:6px;padding:6px 12px;border-bottom:1px solid var(--line);background:var(--panel);flex:none;white-space:nowrap;overflow:hidden}.dv-cb-label[data-v-6591e558]{color:var(--muted);font-size:var(--ui-font-size-xs);font-family:var(--sans);white-space:nowrap}.dv-cb-toggle[data-v-6591e558]{margin-left:auto}.dv-lines-wrap[data-v-6591e558]{flex:1;min-height:0;overflow:auto}@media(max-width:640px){.ch-head[data-v-6591e558]{padding:10px 14px}.ch-list[data-v-6591e558]{padding:2px 0 12px}.ch-row[data-v-6591e558]{min-height:44px;padding:8px 14px;gap:12px;font-size:var(--ui-font-size-sm)}.ch-row[data-v-6591e558]:active{background:var(--panel2, #f5f6f8)}.badge[data-v-6591e558]{width:18px;height:18px}.fpath[data-v-6591e558]{font-size:var(--ui-font-size-sm)}.tree-row[data-v-6591e558]{min-height:40px;padding:8px 14px}.diff-head[data-v-6591e558]{padding:8px 12px;gap:10px}.dv-cb-label[data-v-6591e558]{display:none}.diff-path[data-v-6591e558]{font-size:var(--text-base)}}.changes-pane .empty-state[data-v-6591e558],.br-label[data-v-6591e558],.empty-head[data-v-6591e558]{font-family:var(--sans)}.ch-row[data-v-6591e558],.ct-row[data-v-6591e558]{margin:1px 6px;width:calc(100% - 12px);border-radius:var(--radius-md)}.changes-pane .badge[data-v-6591e558],.changed-tree .badge[data-v-6591e558]{border-radius:var(--radius-sm)}.change-count[data-v-6591e558]{font-family:var(--sans);border-radius:999px}.rp-tabs[data-v-f674f6b6]{flex:none;display:flex;align-items:stretch;gap:0;min-width:0;border-bottom:1px solid var(--color-line);background:var(--color-surface);overflow-x:auto;scrollbar-width:none}.rp-tabs[data-v-f674f6b6]::-webkit-scrollbar{display:none}.rp-tab[data-v-f674f6b6]{display:inline-flex;align-items:center;gap:2px;max-width:160px;padding:0 4px 0 10px;border:none;border-bottom:2px solid transparent;background:transparent;color:var(--color-text-muted);font:var(--weight-medium) var(--text-sm) var(--font-ui);cursor:pointer;transition:color var(--duration-base) var(--ease-out),border-color var(--duration-base) var(--ease-out),background var(--duration-base) var(--ease-out)}.rp-tab[data-v-f674f6b6]:hover:not(.is-on){color:var(--color-text);background:var(--color-surface-sunken)}.rp-tab.is-on[data-v-f674f6b6]{color:var(--color-accent);border-bottom-color:var(--color-accent)}.rp-tab[data-v-f674f6b6]:focus-visible{outline:none;box-shadow:var(--p-focus-ring);border-radius:var(--radius-xs)}.rp-tab-label[data-v-f674f6b6]{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:calc(var(--panel-head-h, 48px) - 2px)}.rp-tab-close[data-v-f674f6b6]{flex:none;color:var(--color-text-faint)}.rp-tab-close[data-v-f674f6b6]:hover{color:var(--color-text)}.mp[data-v-d5bb878a]{display:flex;flex-direction:column;gap:var(--space-2)}.search-wrap[data-v-d5bb878a]{padding-bottom:var(--space-1)}.tab-strip[data-v-d5bb878a]{display:flex;gap:var(--space-1);overflow-x:auto}.model-list[data-v-d5bb878a]{display:flex;flex-direction:column;padding:var(--space-1) 0}.model-row[data-v-d5bb878a]{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-2) var(--space-2);border-radius:var(--radius-md);cursor:pointer;color:var(--color-text);min-width:0;transition:background var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.model-row[data-v-d5bb878a]:hover,.model-row.is-selected[data-v-d5bb878a]{background:var(--color-surface-sunken)}.model-row.is-current[data-v-d5bb878a]{background:var(--color-accent-soft);box-shadow:inset 0 0 0 1px var(--color-accent-bd)}.check[data-v-d5bb878a]{width:14px;height:14px;color:var(--color-accent);flex:none;display:flex;align-items:center;justify-content:center}.model-main[data-v-d5bb878a]{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.model-name[data-v-d5bb878a]{font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-id[data-v-d5bb878a]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-provider[data-v-d5bb878a]{flex:none;max-width:110px;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-ctx[data-v-d5bb878a]{flex:none;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted)}.caps[data-v-d5bb878a]{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.state-row[data-v-d5bb878a]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-5) 0;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-base)}.state-row.unavail[data-v-d5bb878a]{color:var(--color-warning)}.empty[data-v-d5bb878a]{padding:var(--space-5) 0;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-base)}.footer-hint[data-v-d5bb878a]{padding-top:var(--space-2);font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-text-faint);border-top:1px solid var(--color-line)}@media(max-width:640px){.model-provider[data-v-d5bb878a],.caps[data-v-d5bb878a]{display:none}}.ui-field[data-v-49bce958]{display:flex;flex-direction:column;gap:6px}.ui-field__label[data-v-49bce958]{font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-muted)}.ui-field__hint[data-v-49bce958]{font-size:var(--text-xs);color:var(--color-text-faint)}.ui-field__error[data-v-49bce958]{font-size:var(--text-xs);color:var(--color-danger)}.ui-select[data-v-92a040fd]{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:100%;border:1px solid var(--color-line-strong);border-radius:var(--radius-md);background-color:var(--color-surface-raised);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%236b7280' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;background-size:16px 16px;box-shadow:var(--shadow-xs);color:var(--color-text);font-family:var(--font-ui);font-size:var(--text-base);line-height:var(--leading-normal);padding:0 var(--space-3);padding-right:calc(var(--space-3) + 16px + var(--space-2));cursor:pointer;transition:border-color var(--duration-base) var(--ease-out),box-shadow var(--duration-base) var(--ease-out)}.ui-select--md[data-v-92a040fd]{height:38px}.ui-select--sm[data-v-92a040fd]{height:32px;font-size:var(--text-sm)}.ui-select[data-v-92a040fd]:hover:not(:disabled):not(:focus){border-color:var(--color-line-strong)}.ui-select[data-v-92a040fd]:focus{outline:none;border-color:var(--color-accent);box-shadow:var(--p-focus-ring)}.ui-select[data-v-92a040fd]:disabled{opacity:.5;cursor:not-allowed}.ui-select.has-error[data-v-92a040fd]{border-color:var(--color-danger)}.ui-select.has-error[data-v-92a040fd]:focus{box-shadow:0 0 0 3px var(--color-danger-soft)}html[data-color-scheme=dark] .ui-select[data-v-92a040fd]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%239aa0a8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E")}@media(prefers-color-scheme:dark){html[data-color-scheme=system] .ui-select[data-v-92a040fd]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%239aa0a8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E")}}.pm[data-v-63ce966e]{display:flex;flex-direction:column;gap:var(--space-4)}.prov-list[data-v-63ce966e]{display:flex;flex-direction:column;gap:var(--space-1)}.state-row[data-v-63ce966e]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-4) 0;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-base)}.state-row.unavail[data-v-63ce966e]{color:var(--color-warning)}.empty[data-v-63ce966e]{padding:var(--space-4) 0;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-base)}.prov-row[data-v-63ce966e]{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-line);transition:background var(--duration-fast) var(--ease-out)}.prov-row[data-v-63ce966e]:last-child{border-bottom:none}.status-dot[data-v-63ce966e]{width:8px;height:8px;flex:none;border-radius:50%;box-sizing:border-box}.status-dot--empty[data-v-63ce966e]{background:transparent;border:1.5px solid var(--color-text-faint)}.prov-info[data-v-63ce966e]{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.prov-type[data-v-63ce966e]{font-family:var(--font-ui);font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-text)}.prov-url[data-v-63ce966e]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prov-meta[data-v-63ce966e]{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-text-muted)}.prov-actions[data-v-63ce966e]{display:flex;gap:var(--space-2);flex:none;align-items:center;flex-wrap:wrap}.add-section[data-v-63ce966e]{border-top:1px solid var(--color-line);padding-top:var(--space-4)}.add-btns[data-v-63ce966e]{display:flex;flex-wrap:wrap;gap:var(--space-2)}.add-form[data-v-63ce966e]{display:flex;flex-direction:column;gap:var(--space-3)}.add-error[data-v-63ce966e]{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-danger)}.form-btns[data-v-63ce966e]{display:flex;flex-wrap:wrap;gap:var(--space-2)}.import-form[data-v-63ce966e]{display:flex;flex-direction:column;gap:var(--space-3)}.import-head[data-v-63ce966e]{display:flex;align-items:center;gap:var(--space-2)}.import-title[data-v-63ce966e]{font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text)}.import-error[data-v-63ce966e]{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-danger)}.catalog-list[data-v-63ce966e]{display:flex;flex-direction:column;gap:2px;max-height:260px;overflow-y:auto;padding:var(--space-1) 0}.catalog-row[data-v-63ce966e]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-2);border-radius:var(--radius-md);cursor:pointer;min-width:0;transition:background var(--duration-fast) var(--ease-out)}.catalog-row[data-v-63ce966e]:hover,.catalog-row.is-selected[data-v-63ce966e]{background:var(--color-surface-sunken)}.catalog-row.is-rejected[data-v-63ce966e]{opacity:.55;cursor:not-allowed}.catalog-check[data-v-63ce966e]{width:14px;height:14px;flex:none;color:var(--color-accent);display:flex;align-items:center;justify-content:center}.catalog-main[data-v-63ce966e]{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.catalog-name[data-v-63ce966e]{font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catalog-id[data-v-63ce966e]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catalog-wire[data-v-63ce966e]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-faint)}.catalog-meta[data-v-63ce966e]{flex:none;display:flex;align-items:center;gap:var(--space-2);max-width:40%}.catalog-count[data-v-63ce966e]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);white-space:nowrap}.catalog-selected[data-v-63ce966e]{padding-top:var(--space-1)}.footer-hint[data-v-63ce966e]{padding-top:var(--space-2);font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-text-faint);border-top:1px solid var(--color-line)}@media(max-width:640px){.prov-row[data-v-63ce966e]{align-items:flex-start;flex-wrap:wrap}.prov-actions[data-v-63ce966e]{flex:1 1 100%;justify-content:flex-end}}.center-body[data-v-8f13defd]{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-8) 0 var(--space-4);text-align:center}.center-text[data-v-8f13defd]{font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-text)}.success-text[data-v-8f13defd]{color:var(--color-success)}.err-text[data-v-8f13defd]{color:var(--color-danger)}.warn-text[data-v-8f13defd]{color:var(--color-warning);font-size:var(--text-base)}.center-hint[data-v-8f13defd]{font-size:var(--text-sm);color:var(--color-text-muted)}.region[data-v-8f13defd]{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4) 0 var(--space-2)}.region-lead[data-v-8f13defd]{margin:0;font-size:var(--text-sm);color:var(--color-text-muted);line-height:var(--leading-normal)}.region-grid[data-v-8f13defd]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.region-card[data-v-8f13defd]{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1);padding:var(--space-4);background:var(--color-surface-raised);border:1px solid var(--color-line);border-radius:var(--radius-lg);color:var(--color-text);font-family:var(--font-ui);text-align:left;cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.region-card[data-v-8f13defd]:hover{border-color:var(--color-accent);background:var(--color-surface-sunken)}.region-card[data-v-8f13defd]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.region-card.is-selected[data-v-8f13defd]{border-color:var(--color-accent);box-shadow:var(--p-focus-ring)}.region-name[data-v-8f13defd]{font-size:var(--text-lg);font-weight:var(--weight-medium)}.region-desc[data-v-8f13defd]{font-size:var(--text-xs);color:var(--color-text-muted)}.nb[data-v-8f13defd]{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-2) 0 var(--space-4)}.nb-lead[data-v-8f13defd]{margin:0;font-size:var(--text-base);color:var(--color-text);line-height:var(--leading-normal)}.nb-primary[data-v-8f13defd]{width:100%}.nb-or[data-v-8f13defd]{display:flex;align-items:center;gap:var(--space-3);color:var(--color-text-muted);font-size:var(--text-xs);letter-spacing:.06em}.nb-or[data-v-8f13defd]:before,.nb-or[data-v-8f13defd]:after{content:"";flex:1;height:1px;background:var(--color-line)}.nb-fallback[data-v-8f13defd]{display:flex;flex-direction:column;gap:var(--space-2)}.nb-fb-text[data-v-8f13defd]{font-size:var(--text-sm);color:var(--color-text-muted);line-height:var(--leading-normal)}.nb-fb-link[data-v-8f13defd]{color:var(--color-accent);text-decoration:none;border-bottom:1px solid var(--color-accent-bd)}.nb-fb-link[data-v-8f13defd]:hover{border-bottom-color:var(--color-accent)}.nb-code-row[data-v-8f13defd]{display:flex;align-items:center;gap:var(--space-3);background:var(--color-surface-sunken);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3)}.nb-code[data-v-8f13defd]{flex:1;font-family:var(--font-mono);font-size:var(--text-xl);font-weight:var(--weight-medium);color:var(--color-text);letter-spacing:.14em}.nb-copy.is-copied[data-v-8f13defd]{color:var(--color-success);border-color:var(--color-success-bd)}.nb-status[data-v-8f13defd]{display:flex;align-items:center;gap:var(--space-2);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-line)}.nb-status-title[data-v-8f13defd]{font-family:var(--font-ui);font-size:var(--text-base);color:var(--color-text);flex:1}.nb-countdown[data-v-8f13defd]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.actions[data-v-8f13defd]{display:flex;justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-4)}@media(max-width:640px){.center-body[data-v-8f13defd],.nb[data-v-8f13defd]{overflow-y:auto;-webkit-overflow-scrolling:touch}.region-grid[data-v-8f13defd]{grid-template-columns:1fr}.nb-code-row[data-v-8f13defd],.nb-status[data-v-8f13defd],.actions[data-v-8f13defd]{flex-wrap:wrap}.nb-code[data-v-8f13defd]{min-width:0;overflow-wrap:anywhere;letter-spacing:.08em}.nb-copy[data-v-8f13defd]{min-height:34px}.nb-primary[data-v-8f13defd]{min-height:44px}.nb-status-title[data-v-8f13defd]{min-width:0}}.media-lightbox[data-v-0ff39638]{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;outline:none}.ml-backdrop[data-v-0ff39638]{position:absolute;inset:0;background:#0d1117cc}.ml-close[data-v-0ff39638]{position:absolute;top:var(--space-4);right:var(--space-4);z-index:1;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-full);border:none;background:var(--color-surface-raised);color:var(--color-text);cursor:pointer;box-shadow:var(--shadow-md)}.ml-close[data-v-0ff39638]:hover{background:var(--color-surface-sunken)}.ml-loading[data-v-0ff39638]{position:relative;z-index:1}.ml-viewport[data-v-0ff39638]{position:relative;z-index:1;width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:grab;touch-action:none}.ml-viewport[data-v-0ff39638]:active{cursor:grabbing}.ml-image[data-v-0ff39638]{max-width:92%;max-height:92%;object-fit:contain;user-select:none;transform-origin:center center;transition:transform .08s ease-out}.ml-zoom-hint[data-v-0ff39638]{position:absolute;bottom:var(--space-6);left:50%;transform:translate(-50%);padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);background:var(--color-surface-raised);color:var(--color-text-muted);font-size:var(--text-xs);box-shadow:var(--shadow-sm);pointer-events:none}.ml-video[data-v-0ff39638]{position:relative;z-index:1;max-width:94%;max-height:94%;border-radius:var(--radius-lg);background:var(--color-surface-sunken)}.ml-error[data-v-0ff39638]{position:relative;z-index:1;padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface-raised);color:var(--color-text-muted)}.ml-toolbar[data-v-0ff39638]{position:absolute;bottom:var(--space-5);left:50%;transform:translate(-50%);z-index:1;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-full);background:var(--color-surface-raised);box-shadow:var(--shadow-md)}.ml-btn[data-v-0ff39638]{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:none;border-radius:var(--radius-full);background:transparent;color:var(--color-text);cursor:pointer}.ml-btn[data-v-0ff39638]:hover:not(:disabled){background:var(--color-surface-sunken)}.ml-btn[data-v-0ff39638]:disabled{opacity:.4;cursor:default}.ml-zoom-label[data-v-0ff39638]{min-width:48px;text-align:center;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted)}.ui-link[data-v-645e7d4e]{color:var(--color-accent);text-decoration:none;cursor:pointer;font:inherit;transition:color var(--duration-base) var(--ease-out)}.ui-link[data-v-645e7d4e]:hover{color:var(--color-accent-hover);text-decoration:underline}.ui-link[data-v-645e7d4e]:focus-visible{outline:none;box-shadow:var(--p-focus-ring);border-radius:var(--radius-xs)}.ui-link--muted[data-v-645e7d4e]{color:var(--color-text-muted)}.ui-link--muted[data-v-645e7d4e]:hover{color:var(--color-text)}.ui-switch[data-v-e5aecc8e]{position:relative;width:36px;height:20px;flex:none;padding:0;border:none;border-radius:var(--radius-full);background:var(--color-line-strong);cursor:pointer;transition:background var(--duration-base) var(--ease-out)}.ui-switch.is-on[data-v-e5aecc8e]{background:var(--color-accent)}.ui-switch[data-v-e5aecc8e]:disabled{opacity:.5;cursor:not-allowed}.ui-switch[data-v-e5aecc8e]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.ui-switch__thumb[data-v-e5aecc8e]{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:var(--radius-full);background:var(--surface-light);box-shadow:var(--shadow-xs);transition:transform var(--duration-base) var(--ease-out)}.ui-switch.is-on .ui-switch__thumb[data-v-e5aecc8e]{background:var(--color-text-on-accent);transform:translate(16px)}.ps[data-v-8c64da0f]{display:flex;flex-direction:column;gap:var(--space-4)}.ext-hint[data-v-8c64da0f] .ui-banner__text{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.ext-hint-title[data-v-8c64da0f]{color:var(--color-text);font-weight:var(--weight-medium)}.ext-hint-dismiss[data-v-8c64da0f]{margin-left:auto}.action-error[data-v-8c64da0f]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-danger-soft);color:var(--color-danger);font-family:var(--font-ui);font-size:var(--text-sm)}.plug-sec[data-v-8c64da0f]{display:flex;flex-direction:column;gap:var(--space-3)}.plug-sec-head[data-v-8c64da0f]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.plug-title[data-v-8c64da0f]{margin:0;font-family:var(--font-ui);font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}.plug-state[data-v-8c64da0f]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) 0;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-sm)}.plug-state.is-error[data-v-8c64da0f]{color:var(--color-danger)}.plug-list[data-v-8c64da0f]{display:flex;flex-direction:column;border:1px solid var(--color-line);border-radius:var(--radius-xl);overflow:hidden;background:var(--color-bg)}.plug-row[data-v-8c64da0f]{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-line)}.plug-row[data-v-8c64da0f]:first-child{border-top:none}.plug-row[data-v-8c64da0f]:hover{background:var(--color-surface-sunken)}.plug-info[data-v-8c64da0f]{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.plug-name[data-v-8c64da0f]{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:0}.plug-display[data-v-8c64da0f]{font-family:var(--font-ui);font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plug-version[data-v-8c64da0f]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-faint)}.plug-counts[data-v-8c64da0f]{font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-text-muted)}.plug-desc[data-v-8c64da0f]{margin:0;font-family:var(--font-ui);font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--color-text-muted)}.plug-home[data-v-8c64da0f]{font-family:var(--font-ui);font-size:var(--text-xs)}.plug-actions[data-v-8c64da0f]{display:flex;align-items:center;gap:var(--space-2);flex:none}.cap-progress[data-v-8c64da0f]{display:flex;flex-direction:column;gap:var(--space-1);max-width:420px}.cap-progress-text[data-v-8c64da0f]{font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-text-muted)}.cap-progress-track[data-v-8c64da0f]{display:block;height:4px;border-radius:var(--radius-full);background:var(--color-surface-sunken);overflow:hidden}.cap-progress-fill[data-v-8c64da0f]{display:block;height:100%;border-radius:var(--radius-full);background:var(--color-accent);transition:width var(--duration-base) var(--ease-out)}.cap-error[data-v-8c64da0f]{display:flex;align-items:center;gap:var(--space-1);font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-danger)}.cap-steps[data-v-8c64da0f]{display:flex;flex-direction:column;gap:var(--space-1);margin:0;padding:0;list-style:none}.cap-step[data-v-8c64da0f]{display:flex;align-items:center;gap:var(--space-2);min-width:0}.cap-step-ok[data-v-8c64da0f]{color:var(--color-success);flex:none}.cap-step-bad[data-v-8c64da0f]{color:var(--color-danger);flex:none}.cap-step-missing[data-v-8c64da0f]{width:14px;height:14px;flex:none;border-radius:50%;border:1.5px solid var(--color-text-faint);box-sizing:border-box}.cap-step-label[data-v-8c64da0f]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:640px){.plug-row[data-v-8c64da0f]{align-items:flex-start;flex-wrap:wrap}.plug-actions[data-v-8c64da0f]{flex:1 1 100%;justify-content:flex-end}.ext-hint-dismiss[data-v-8c64da0f]{margin-left:0}}.sd[data-v-0e526447]{display:flex;flex-direction:row;min-height:0;height:100%}.settings-tabs[data-v-0e526447]{display:flex;flex-direction:column;flex:none;width:148px;padding:var(--space-2);gap:2px;overflow-y:auto}.tab[data-v-0e526447]{text-align:left;padding:8px 10px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-base);cursor:pointer;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.tab[data-v-0e526447]:hover{background:var(--color-surface-sunken);color:var(--color-text)}.tab.on[data-v-0e526447]{background:var(--color-accent-soft);color:var(--color-accent);font-weight:var(--weight-medium)}.tab[data-v-0e526447]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.body[data-v-0e526447]{display:flex;flex-direction:column;overflow-y:auto;padding:var(--space-2) var(--space-5) var(--space-5) var(--space-6);flex:1;min-width:0}.panel[data-v-0e526447]{display:block}.sec[data-v-0e526447]{padding:var(--space-4) 0;border-bottom:1px solid var(--color-line)}.sec[data-v-0e526447]:last-child{border-bottom:none}.sec-head[data-v-0e526447]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.sec-title[data-v-0e526447]{margin:0 0 var(--space-3);font-family:var(--font-ui);font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}.sec-head .sec-title[data-v-0e526447]{margin-bottom:0}.saving[data-v-0e526447]{flex:none;font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-text-muted)}.row[data-v-0e526447]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:38px;padding:var(--space-1) 0}.rlabel[data-v-0e526447]{font-family:var(--font-ui);font-size:var(--text-base);color:var(--color-text);display:flex;flex-direction:column;gap:var(--space-1)}.rvalue[data-v-0e526447]{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-text-muted);max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rvalue.mono[data-v-0e526447]{font-family:var(--font-mono);font-size:var(--text-xs)}.hint[data-v-0e526447]{font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-text-faint)}.num-field[data-v-0e526447]{display:inline-flex;align-items:center;gap:var(--space-2);flex:none;padding:0 var(--space-3);height:38px;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface-raised);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.num-field[data-v-0e526447]:hover{border-color:var(--color-line-strong)}.num-field[data-v-0e526447]:focus-within{border-color:var(--color-accent);box-shadow:var(--p-focus-ring)}.num-input[data-v-0e526447]{width:48px;border:none;outline:none;background:transparent;color:var(--color-text);font-family:var(--font-mono);font-size:var(--text-base);text-align:right}.num-unit[data-v-0e526447]{color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--text-xs)}.select-wrap[data-v-0e526447]{min-width:220px;max-width:min(320px,50vw);flex:none}.planning-control[data-v-0e526447]{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-1);flex:none}.field-error[data-v-0e526447]{font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-danger)}.empty-config[data-v-0e526447]{font-family:var(--font-ui);font-size:var(--text-base);color:var(--color-text-muted);padding:var(--space-1) 0}.plugins-panel[data-v-0e526447]{padding-top:var(--space-4)}.actions[data-v-0e526447]{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}@media(max-width:640px){.sd[data-v-0e526447]{flex-direction:column}.settings-tabs[data-v-0e526447]{flex-direction:row;width:auto;padding:var(--space-2) var(--space-3);gap:var(--space-1);overflow-x:auto}.tab[data-v-0e526447]{white-space:nowrap;flex:none}.row[data-v-0e526447]{align-items:flex-start;flex-direction:column}.select-wrap[data-v-0e526447]{width:100%;max-width:none}.planning-control[data-v-0e526447]{width:100%;align-items:stretch}}.setting-card[data-v-0e526447]{border:1px solid var(--color-line);border-radius:var(--radius-xl);overflow:hidden;background:var(--color-bg)}.panel-head[data-v-0e526447]{margin-bottom:var(--space-4)}.panel-kicker[data-v-0e526447]{font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-faint);margin-bottom:var(--space-1)}.panel-title[data-v-0e526447]{margin:0 0 var(--space-2);font-family:var(--font-ui);font-size:var(--text-2xl);font-weight:var(--weight-semibold);letter-spacing:-.01em;color:var(--color-text)}.panel-desc[data-v-0e526447]{margin:0;font-family:var(--font-ui);font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--color-text-muted);max-width:560px}.archive-toolbar[data-v-0e526447]{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap}.archive-search[data-v-0e526447]{flex:1;min-width:200px;height:36px;display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-line);color:var(--color-text-faint);font-size:var(--text-sm);background:var(--color-surface-raised);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.archive-search[data-v-0e526447]:focus-within{border-color:var(--color-accent);box-shadow:var(--p-focus-ring);color:var(--color-text-muted)}.archive-search svg[data-v-0e526447]{width:15px;height:15px;flex:none}.archive-search input[data-v-0e526447]{width:100%;border:none;outline:none;background:transparent;font:inherit;color:var(--color-text)}.archive-list[data-v-0e526447]{display:flex;flex-direction:column;gap:var(--space-4)}.archive-card .setting-card[data-v-0e526447]{margin-bottom:0}.archive-workspace[data-v-0e526447]{display:flex;align-items:center;gap:var(--space-2);margin:0 2px var(--space-2);color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--weight-medium)}.archive-workspace svg[data-v-0e526447]{width:16px;height:16px;color:var(--color-text-faint);flex:none}.archive-workspace .path[data-v-0e526447]{font-family:var(--font-mono);font-size:var(--text-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.archive-workspace .count[data-v-0e526447]{margin-left:auto;color:var(--color-text-faint);font-weight:var(--weight-regular);font-size:var(--text-xs);flex:none}.archive-row[data-v-0e526447]{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-3);align-items:center;padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-line)}.archive-row[data-v-0e526447]:first-child{border-top:none}.archive-row[data-v-0e526447]:hover{background:var(--color-surface-sunken)}.archive-meta[data-v-0e526447]{min-width:0}.archive-name[data-v-0e526447]{font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.archive-time[data-v-0e526447]{margin-top:2px;font-size:var(--text-xs);color:var(--color-text-faint);font-family:var(--font-mono)}.archive-draining[data-v-0e526447]{margin-bottom:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-accent-soft);color:var(--color-accent-hover);font-size:var(--text-sm)}.archive-empty[data-v-0e526447]{padding:var(--space-6) var(--space-4);border:1px solid var(--color-line);border-radius:var(--radius-xl);color:var(--color-text-faint);font-size:var(--text-sm);text-align:center;background:var(--color-bg)}.archive-load-more[data-v-0e526447]{align-self:center;margin-top:var(--space-2);padding:6px 18px;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface-raised);color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-sm);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.archive-load-more[data-v-0e526447]:hover:not(:disabled){border-color:var(--color-line-strong);color:var(--color-text)}.archive-load-more[data-v-0e526447]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.archive-load-more[data-v-0e526447]:disabled{opacity:.5;cursor:not-allowed}@media(max-width:640px){.archive-toolbar[data-v-0e526447]{flex-direction:column;align-items:stretch}.archive-search[data-v-0e526447]{min-width:0}}[data-v-0e526447] .ui-dialog{width:min(980px,96vw)}[data-v-0e526447] .ui-dialog--fixed-height{height:min(780px,calc(100vh - var(--space-8) * 2))}.ui-check[data-v-1802c5bd]{display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer}.ui-check.is-disabled[data-v-1802c5bd]{opacity:.5;cursor:not-allowed}.ui-check__input[data-v-1802c5bd]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.ui-check__box[data-v-1802c5bd]{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;flex:none;border:1.5px solid var(--color-line-strong);border-radius:var(--radius-sm);background:var(--color-surface-raised);color:var(--color-text-on-accent);transition:background var(--duration-base) var(--ease-out),border-color var(--duration-base) var(--ease-out)}.ui-check.is-on .ui-check__box[data-v-1802c5bd]{background:var(--color-accent);border-color:var(--color-accent)}.ui-check__input:focus-visible+.ui-check__box[data-v-1802c5bd]{box-shadow:var(--p-focus-ring)}.ui-check__box svg[data-v-1802c5bd]{width:12px;height:12px}.ui-check__label[data-v-1802c5bd]{font-family:var(--font-ui);font-size:var(--text-base);color:var(--color-text)}.sd[data-v-57938067]{display:flex;flex-direction:column;height:100%;min-height:0;padding:var(--space-5);box-sizing:border-box}.sd-head[data-v-57938067]{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.sd-head-text[data-v-57938067]{min-width:0}.sd-title[data-v-57938067]{margin:0 0 var(--space-1);font-family:var(--font-ui);font-size:var(--text-xl);font-weight:var(--weight-medium);letter-spacing:-.01em;color:var(--color-text)}.sd-subtitle[data-v-57938067]{margin:0;font-family:var(--font-ui);font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--color-text-muted);max-width:560px}.toolbar[data-v-57938067]{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-3)}.search[data-v-57938067]{flex:1;min-width:180px;height:32px;display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-line-strong);background:var(--color-surface-raised);color:var(--color-text-faint);font-size:var(--text-sm);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.search[data-v-57938067]:focus-within{border-color:var(--color-accent);box-shadow:var(--p-focus-ring);color:var(--color-text-muted)}.search svg[data-v-57938067]{width:15px;height:15px;flex:none}.search input[data-v-57938067]{width:100%;border:none;outline:none;background:transparent;font:inherit;color:var(--color-text)}.batch-bar[data-v-57938067]{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-3);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface)}.batch-count[data-v-57938067]{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.batch-actions[data-v-57938067]{margin-left:auto;display:flex;align-items:center;gap:var(--space-2)}.list[data-v-57938067]{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.row[data-v-57938067]{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--space-3);align-items:center;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);cursor:default}.row[data-v-57938067]:hover{background:var(--color-surface-sunken)}.row.on[data-v-57938067]{background:var(--color-selected)}.row-main[data-v-57938067]{min-width:0}.row-title[data-v-57938067]{font-family:var(--font-ui);font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-meta[data-v-57938067]{display:flex;align-items:center;gap:var(--space-2);margin-top:2px;min-width:0}.row-ws[data-v-57938067]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:40%}.row-time[data-v-57938067]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-faint);flex:none}.row-emoji[data-v-57938067]{font-size:var(--text-base);line-height:1;flex:none}.row-kebab[data-v-57938067]{opacity:0}.row:hover .row-kebab[data-v-57938067],.row:focus-within .row-kebab[data-v-57938067]{opacity:1}.rename-input[data-v-57938067]{width:100%;font-family:var(--font-ui);font-size:var(--text-base);color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-accent);border-radius:var(--radius-xs);padding:1px 4px;outline:none;min-width:0}.empty[data-v-57938067]{padding:var(--space-6) var(--space-4);border:1px solid var(--color-line);border-radius:var(--radius-xl);color:var(--color-text-faint);font-size:var(--text-sm);text-align:center;background:var(--color-bg)}.pager[data-v-57938067]{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-line)}.page-info[data-v-57938067]{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-text-muted);font-variant-numeric:tabular-nums;min-width:56px;text-align:center}.pager[data-v-57938067] .ui-select{width:72px}.total[data-v-57938067]{margin-left:auto;font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.row-menu[data-v-57938067],.select-menu[data-v-57938067]{position:fixed;top:0;left:0;z-index:var(--z-dropdown)}.aw[data-v-a2c2e0eb]{margin-left:calc(-1 * var(--space-5));margin-right:calc(-1 * var(--space-5));margin-bottom:calc(-1 * var(--space-4))}.crumbbar[data-v-a2c2e0eb]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);border-bottom:1px solid var(--color-line)}.crumbs[data-v-a2c2e0eb]{display:flex;align-items:center;flex-wrap:wrap;gap:1px;min-width:0;font-size:var(--text-sm)}.crumb-sep[data-v-a2c2e0eb]{color:var(--color-text-muted)}.crumb[data-v-a2c2e0eb]{background:none;border:none;cursor:pointer;font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-text-muted);padding:1px var(--space-1);border-radius:var(--radius-xs)}.crumb[data-v-a2c2e0eb]:hover{color:var(--color-accent);background:var(--color-surface-sunken)}.crumb.last[data-v-a2c2e0eb]{color:var(--color-text);font-weight:var(--weight-medium)}.filterbar[data-v-a2c2e0eb]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);border-bottom:1px solid var(--color-line)}.filter-icon[data-v-a2c2e0eb]{flex:none;width:var(--p-ic-sm);height:var(--p-ic-sm);color:var(--color-text-muted)}.filter-input[data-v-a2c2e0eb]{flex:1;min-width:0;font-family:var(--font-ui);font-size:var(--text-base);padding:var(--space-1) 0;border:none;background:none;color:var(--color-text);outline:none}.filter-input[data-v-a2c2e0eb]::placeholder{color:var(--color-text-muted)}.search-rel[data-v-a2c2e0eb]{color:var(--color-text)}.filterbar.has-error[data-v-a2c2e0eb]{border-bottom-color:var(--color-danger)}.filterbar.has-error .filter-icon[data-v-a2c2e0eb]{color:var(--color-danger)}.folder-list[data-v-a2c2e0eb]{height:300px;overflow-y:auto;padding:var(--space-1) var(--space-2)}.fl-loading[data-v-a2c2e0eb],.fl-empty[data-v-a2c2e0eb]{padding:var(--space-6) var(--space-4);text-align:center;color:var(--color-text-muted);font-size:var(--text-sm)}.fl-note[data-v-a2c2e0eb]{padding:var(--space-2) var(--space-4);font-size:var(--text-sm);color:var(--color-text-muted)}.fl-error[data-v-a2c2e0eb]{color:var(--color-danger)}.folder-row[data-v-a2c2e0eb]{display:flex;align-items:center;gap:var(--space-2);width:100%;background:none;border:none;cursor:pointer;font-family:var(--font-ui);font-size:var(--text-base);color:var(--color-text);text-align:left;padding:var(--space-1) var(--space-4);border-radius:var(--radius-md)}.folder-row[data-v-a2c2e0eb]:hover{background:var(--color-surface-sunken)}.dir-icon[data-v-a2c2e0eb]{flex:none;width:var(--p-ic-sm);height:var(--p-ic-sm);color:var(--color-text-muted)}.folder-row:hover .dir-icon[data-v-a2c2e0eb]{color:var(--color-accent)}.folder-name[data-v-a2c2e0eb]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text)}.degraded-hint[data-v-a2c2e0eb]{padding:var(--space-6) var(--space-5);text-align:center;color:var(--color-text-muted);font-size:var(--text-sm)}.add-error[data-v-a2c2e0eb]{margin:0 14px 8px;padding:6px 10px;font-family:var(--mono);font-size:var(--ui-font-size-xs);color:var(--color-danger);background:#b3261e14;border:1px solid rgba(179,38,30,.25);border-radius:var(--radius-xs)}.actions[data-v-a2c2e0eb]{display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-5)}.footer-hint[data-v-a2c2e0eb]{padding:var(--space-2) var(--space-5);font-size:var(--text-xs);color:var(--color-text-muted);border-top:1px solid var(--color-line)}@media(max-width:640px){.folder-row[data-v-a2c2e0eb]{min-height:44px}.crumbbar[data-v-a2c2e0eb]{align-items:flex-start}.actions[data-v-a2c2e0eb]{flex-wrap:wrap}}.confirm-dialog__message[data-v-2e719024]{margin:0;font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text-muted)}.rows[data-v-5ba9ba29]{margin:0;padding:0}.row[data-v-5ba9ba29]{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) 0;font-size:var(--text-base)}.row dt[data-v-5ba9ba29]{width:96px;flex:none;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:var(--text-xs)}.row dd[data-v-5ba9ba29]{margin:0;color:var(--color-text);font-weight:var(--weight-medium);display:flex;align-items:center;gap:var(--space-2);min-width:0}.row dd.plan-on[data-v-5ba9ba29],.row dd.swarm-on[data-v-5ba9ba29],.row dd.supermoon-on[data-v-5ba9ba29]{color:var(--color-accent)}.ctx-text[data-v-5ba9ba29]{flex:none}.bar[data-v-5ba9ba29]{width:80px;height:5px;border-radius:var(--radius-full);background:var(--color-line);overflow:hidden;flex:none}.bar i[data-v-5ba9ba29]{display:block;height:100%;background:var(--color-accent)}@media(max-width:640px){.rows[data-v-5ba9ba29]{overflow-y:auto;-webkit-overflow-scrolling:touch}.row[data-v-5ba9ba29]{align-items:flex-start;flex-direction:column;gap:var(--space-1);min-height:48px}.row dt[data-v-5ba9ba29]{width:auto}.row dd[data-v-5ba9ba29]{max-width:100%;flex-wrap:wrap}}.ui-toast[data-v-adc6f346]{display:flex;align-items:flex-start;gap:11px;width:360px;max-width:100%;padding:13px 14px;background:var(--color-surface-raised);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);font-family:var(--font-ui);line-height:1.45}.ui-toast__icon[data-v-adc6f346]{flex:none;width:20px;height:20px;margin-top:1px;border-radius:var(--radius-full);display:grid;place-items:center;background:var(--color-accent-soft);color:var(--color-accent)}.ui-toast__icon svg[data-v-adc6f346]{width:12px;height:12px}.ui-toast--success .ui-toast__icon[data-v-adc6f346]{background:var(--color-success-soft);color:var(--color-success)}.ui-toast--warning .ui-toast__icon[data-v-adc6f346]{background:var(--color-warning-soft);color:var(--color-warning)}.ui-toast--danger .ui-toast__icon[data-v-adc6f346]{background:var(--color-danger-soft);color:var(--color-danger)}.ui-toast--danger[data-v-adc6f346]{border-color:color-mix(in srgb,var(--color-danger) 35%,transparent)}.ui-toast__body[data-v-adc6f346]{flex:1;min-width:0}.ui-toast__title[data-v-adc6f346]{font-size:var(--text-base);font-weight:500;color:var(--color-text);overflow-wrap:anywhere}.ui-toast__msg[data-v-adc6f346]{margin-top:2px;font-size:var(--text-sm);color:var(--color-text-muted);overflow-wrap:anywhere}.ui-toast--danger .ui-toast__msg[data-v-adc6f346]{color:var(--color-danger)}.ui-toast__close[data-v-adc6f346]{flex:none;margin:-3px -4px 0 0}.toasts[data-v-c92be17a]{position:fixed;right:16px;bottom:84px;display:flex;flex-direction:column;gap:var(--space-2);z-index:var(--z-toast);width:min(440px,calc(100vw - 32px));max-height:56vh;overflow-y:auto}.toast-enter-active[data-v-c92be17a],.toast-leave-active[data-v-c92be17a]{transition:opacity var(--duration-base) var(--ease-out),transform var(--duration-base) var(--ease-out)}.toast-enter-from[data-v-c92be17a],.toast-leave-to[data-v-c92be17a]{opacity:0;transform:translate(16px)}.toast-move[data-v-c92be17a]{transition:transform var(--duration-base) var(--ease-out)}.actions[data-v-c92be17a]{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.link[data-v-c92be17a]{border:0;padding:0;background:none;color:var(--color-accent);cursor:pointer;font:inherit;font-size:var(--ui-font-size-xs)}.link[data-v-c92be17a]:hover{text-decoration:underline}.details[data-v-c92be17a]{display:grid;gap:5px;margin:8px 0 0;padding:8px;border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-surface-sunken)}.detail-row[data-v-c92be17a]{display:grid;grid-template-columns:minmax(88px,.34fr) minmax(0,1fr);gap:8px}.detail-row dt[data-v-c92be17a]{color:var(--color-text-muted)}.detail-row dd[data-v-c92be17a]{margin:0;color:var(--color-text);overflow-wrap:anywhere;white-space:pre-wrap}@media(max-width:640px){.toasts[data-v-c92be17a]{left:12px;right:12px;bottom:calc(var(--dock-h, 76px) + 8px);width:auto;max-height:50vh}.detail-row[data-v-c92be17a]{grid-template-columns:1fr;gap:2px}}.task-notices[data-v-83335bbd]{position:fixed;right:16px;bottom:160px;display:flex;flex-direction:column;gap:var(--space-2);z-index:var(--z-toast);width:min(420px,calc(100vw - 32px))}.tn-enter-active[data-v-83335bbd],.tn-leave-active[data-v-83335bbd]{transition:opacity var(--duration-base) var(--ease-out),transform var(--duration-base) var(--ease-out)}.tn-enter-from[data-v-83335bbd],.tn-leave-to[data-v-83335bbd]{opacity:0;transform:translateY(8px)}.tn-move[data-v-83335bbd]{transition:transform var(--duration-base) var(--ease-out)}.tn-meta[data-v-83335bbd]{display:flex;align-items:center;gap:var(--space-2);margin-top:2px;font-size:var(--text-xs);color:var(--color-text-muted)}.tn-bytes[data-v-83335bbd]{font-family:var(--font-mono);color:var(--color-text-faint)}.tn-truncated[data-v-83335bbd]{color:var(--color-text-faint)}.tn-preview[data-v-83335bbd]{margin:var(--space-2) 0 0;padding:var(--space-2) var(--space-3);max-height:120px;overflow:auto;border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-surface-sunken);font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.5;color:var(--color-text);white-space:pre-wrap;word-break:break-word}.tn-copy[data-v-83335bbd]{margin-top:var(--space-2);border:0;padding:0;background:none;color:var(--color-accent);cursor:pointer;font:inherit;font-size:var(--text-xs)}.tn-copy[data-v-83335bbd]:hover:not(:disabled){text-decoration:underline}.tn-copy[data-v-83335bbd]:disabled{color:var(--color-success);cursor:default}@media(max-width:640px){.task-notices[data-v-83335bbd]{left:12px;right:12px;bottom:calc(var(--dock-h, 76px) + 8px + 64px);width:auto}}.topbar[data-v-6b4b901f]{display:flex;align-items:center;gap:10px;height:calc(50px + var(--safe-top));flex:none;padding:var(--safe-top) max(12px,var(--safe-right)) 0 max(12px,var(--safe-left));border-bottom:1px solid var(--color-line);background:var(--color-bg);font-family:var(--font-ui)}.wsq[data-v-6b4b901f]{flex:none;width:28px;height:28px;border-radius:var(--radius-md);background:var(--color-text);color:var(--color-bg);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-weight:var(--weight-medium);font-size:var(--ui-font-size-sm)}.tb-mid[data-v-6b4b901f]{flex:1;min-width:0;height:100%;display:flex;flex-direction:column;justify-content:center;gap:1px;background:none;border:none;padding:0;cursor:pointer;text-align:left}.tb-path[data-v-6b4b901f]{display:flex;align-items:center;gap:5px;font-size:var(--ui-font-size-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tb-path .ws[data-v-6b4b901f]{color:var(--color-text)}.tb-path .sl[data-v-6b4b901f]{color:var(--color-text-faint)}.tb-path .se[data-v-6b4b901f]{color:var(--color-text);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tb-path .cv[data-v-6b4b901f]{color:var(--color-text-faint);flex:none}.tb-sub[data-v-6b4b901f]{display:flex;align-items:center;gap:5px;font-size:max(9px,calc(var(--ui-font-size) - 3.5px));color:var(--color-text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tb-sub .rd[data-v-6b4b901f]{flex:none;width:6px;height:6px;border-radius:var(--radius-full);background:var(--color-text-faint)}.tb-sub .rd.on[data-v-6b4b901f]{background:var(--color-success)}.topbar .tb-path[data-v-6b4b901f]{font-family:var(--sans)}.mtabs[data-v-0640251a]{padding:var(--space-1) var(--space-4) var(--space-2)}.newrow[data-v-0640251a]{display:flex;align-items:center;gap:10px;width:100%;padding:var(--space-3) var(--space-4);background:none;border:none;border-radius:var(--radius-md);color:var(--color-accent);font-weight:500;font-size:var(--text-base);cursor:pointer;text-align:left}.newrow[data-v-0640251a]:hover,.newrow[data-v-0640251a]:active{background:var(--color-surface-sunken)}.newrow.secondary[data-v-0640251a]{padding-top:var(--space-2);padding-bottom:var(--space-2);color:var(--color-text-muted);font-weight:400}.newrow.secondary[data-v-0640251a]:hover{background:var(--color-surface-sunken)}.newrow.secondary[data-v-0640251a]:active{background:var(--color-surface-sunken);color:var(--color-text)}.mlist[data-v-0640251a]{--m-pad: 16px;--m-gutter: 15px;--m-gap: 8px;--m-indent: calc(var(--m-pad) + var(--m-gutter) + var(--m-gap));padding-bottom:var(--space-1)}.mempty[data-v-0640251a]{padding:var(--space-6) var(--space-4);text-align:center;color:var(--color-text-faint);font-size:var(--ui-font-size)}.mempty.small[data-v-0640251a]{padding:10px 16px 12px var(--m-indent);text-align:left;font-size:var(--ui-font-size-xs)}.mgroup[data-v-0640251a]{padding-top:2px}.mgh[data-v-0640251a]{display:flex;align-items:center;gap:var(--m-gap);padding:10px var(--m-pad) 6px;border-radius:var(--radius-md);cursor:pointer;user-select:none;position:relative}.mgh[data-v-0640251a]:hover,.mgh[data-v-0640251a]:active{background:var(--color-surface-sunken)}.mgh-folder[data-v-0640251a]{flex:none;color:var(--color-text-muted)}.mgh-main[data-v-0640251a]{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.mgh-name[data-v-0640251a]{font-size:var(--ui-font-size-lg);font-weight:var(--weight-medium);color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mgh-path[data-v-0640251a]{font-size:var(--text-base);font-weight:var(--weight-regular);color:var(--color-text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mgh-add[data-v-0640251a]{margin:-10px -12px -10px 0}.mgh-add[data-v-0640251a]:active{color:var(--color-text);background:var(--color-surface-sunken)}.mgh-more[data-v-0640251a]{margin:-10px -8px}.mgh-more[data-v-0640251a]:active{color:var(--color-text);background:var(--color-surface-sunken)}.srow[data-v-0640251a]{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--m-pad) var(--space-3) var(--m-indent);border-radius:var(--radius-md);cursor:pointer;position:relative}.srow[data-v-0640251a]:hover,.srow[data-v-0640251a]:active{background:var(--color-surface-sunken)}.srow.cur[data-v-0640251a]{background:var(--color-accent-soft);box-shadow:inset 0 0 0 1px var(--color-accent-bd)}.srow .m[data-v-0640251a]{flex:1;min-width:0}.srow .m .t[data-v-0640251a]{font-size:var(--text-base);font-weight:var(--weight-medium);line-height:var(--leading-tight);color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.srow.cur .m .t[data-v-0640251a]{color:var(--color-accent-hover)}.srow .m .t.run[data-v-0640251a]{position:relative}.srow .m .t.run[data-v-0640251a]:before{content:"";position:absolute;left:-14px;top:50%;transform:translateY(-50%);width:6px;height:6px;border-radius:var(--radius-full);background:var(--color-accent);animation:mRunPulse-0640251a 1.4s ease-in-out infinite}@keyframes mRunPulse-0640251a{0%,to{opacity:1}50%{opacity:.35}}.srow .m .t.aborted[data-v-0640251a]{position:relative}.srow .m .t.aborted[data-v-0640251a]:before{content:"";position:absolute;left:-14px;top:50%;transform:translateY(-50%);width:6px;height:6px;border-radius:var(--radius-full);background:var(--color-danger)}.srow .m .s[data-v-0640251a]{font-size:var(--text-base);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums;color:var(--color-text-faint);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.att[data-v-0640251a]{flex:none;font-family:var(--font-mono);font-size:max(9px,calc(var(--ui-font-size) - 4px));color:var(--surface-light);background:var(--color-warning);border-radius:var(--radius-full);padding:1px 7px}.srow .kb[data-v-0640251a]:active{color:var(--color-text);background:var(--color-surface-sunken)}.kmenu[data-v-0640251a]{position:absolute;right:12px;top:44px;z-index:var(--z-dropdown);min-width:96px;overflow:hidden}.wsmenu[data-v-0640251a]{top:calc(100% - 4px);right:var(--m-pad);min-width:132px}.mshow-more[data-v-0640251a]{display:flex;align-items:center;width:100%;min-height:44px;padding:var(--space-1) var(--m-pad) var(--space-1) var(--m-indent);background:none;border:none;color:var(--color-text-muted);font-size:var(--text-base);cursor:pointer;text-align:left}.mshow-more[data-v-0640251a]:active{color:var(--color-accent-hover);background:var(--color-surface-sunken)}.newrow[data-v-0640251a]{font-family:var(--sans)}.mlist .srow[data-v-0640251a]{margin:1px 8px;border-radius:var(--radius-md);border-bottom:none;padding:12px calc(var(--m-pad, 16px) - 8px) 12px calc(var(--m-indent, 39px) - 8px)}.mlist .srow.cur[data-v-0640251a]{box-shadow:inset 0 0 0 1px var(--color-accent-bd)}.group-title[data-v-12cc4ffa]{padding:var(--space-3) var(--space-3) var(--space-1);font-family:var(--font-ui);font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-faint)}.srow[data-v-12cc4ffa]{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:52px;padding:var(--space-3);background:none;border:none;border-radius:var(--radius-md);cursor:pointer;text-align:left;color:var(--color-text)}.srow[data-v-12cc4ffa]:hover:not(.read-only){background:var(--color-surface-sunken)}.srow[data-v-12cc4ffa]:active:not(.read-only){background:var(--color-surface-sunken)}.srow.read-only[data-v-12cc4ffa]{cursor:default}.srow-main[data-v-12cc4ffa]{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.srow-label[data-v-12cc4ffa]{font-size:var(--text-base);color:var(--color-text)}.srow-sub[data-v-12cc4ffa]{font-size:var(--text-base);color:var(--color-text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.srow-val[data-v-12cc4ffa]{flex:none;font-family:var(--font-mono);font-size:var(--ui-font-size);font-weight:500;color:var(--color-accent-hover)}.srow-val.dim[data-v-12cc4ffa]{font-weight:400;color:var(--color-text-muted)}.cache-note[data-v-12cc4ffa]{padding:0 var(--space-3) var(--space-2);font-size:var(--text-xs);color:var(--color-text-faint);line-height:1.4}.chev[data-v-12cc4ffa]{flex:none;color:var(--color-text-faint);font-size:17px;line-height:1}.toggle[data-v-12cc4ffa]{flex:none;width:44px;height:26px;border-radius:var(--radius-full);background:var(--color-line);position:relative;transition:background .18s}.toggle.on[data-v-12cc4ffa]{background:var(--color-accent)}.toggle[data-v-12cc4ffa]:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:var(--radius-full);box-sizing:border-box;background:var(--color-bg);border:1px solid var(--color-line);box-shadow:var(--shadow-xs);transition:left .18s}.toggle.on[data-v-12cc4ffa]:after{left:21px}.srow.pref[data-v-12cc4ffa]{cursor:default}.num-field[data-v-12cc4ffa]{display:inline-flex;align-items:center;gap:6px;flex:none;height:34px;padding:0 9px;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-bg)}.num-input[data-v-12cc4ffa]{width:50px;border:none;outline:none;background:transparent;color:var(--color-text);font-family:var(--font-mono);font-size:var(--ui-font-size);text-align:right}.num-unit[data-v-12cc4ffa]{color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--ui-font-size-xs)}.srow.acct.in .srow-label[data-v-12cc4ffa]{color:var(--color-accent-hover);font-weight:500}.srow.acct.out .srow-label[data-v-12cc4ffa]{color:var(--color-danger)}.ctx-meter[data-v-12cc4ffa]{flex:none;width:96px;height:7px;border-radius:var(--radius-full);background:var(--color-surface-sunken);overflow:hidden}.ctx-meter i[data-v-12cc4ffa]{display:block;height:100%;background:var(--color-accent)}@media(max-width:640px){.srow[data-v-12cc4ffa]{align-items:flex-start;gap:10px;min-width:0;padding:14px max(14px,var(--safe-right)) 14px max(14px,var(--safe-left))}.group-title[data-v-12cc4ffa],.cache-note[data-v-12cc4ffa]{padding-left:max(14px,var(--safe-left));padding-right:max(14px,var(--safe-right))}.srow-main[data-v-12cc4ffa]{flex:1 1 auto}.srow-sub[data-v-12cc4ffa]{white-space:normal;overflow-wrap:anywhere}.srow.pref[data-v-12cc4ffa]{flex-wrap:wrap}.srow.pref .srow-main[data-v-12cc4ffa]{flex:1 0 100%}.num-field[data-v-12cc4ffa]{margin-left:auto}.srow-val[data-v-12cc4ffa],.chev[data-v-12cc4ffa],.toggle[data-v-12cc4ffa],.ctx-meter[data-v-12cc4ffa]{margin-top:2px}}.srow[data-v-12cc4ffa],.srow-sub[data-v-12cc4ffa],.srow-val[data-v-12cc4ffa],.cache-note[data-v-12cc4ffa]{font-family:var(--sans)}.arch-subhead[data-v-12cc4ffa]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-3) var(--space-1)}.arch-back[data-v-12cc4ffa]{display:inline-flex;align-items:center;gap:2px;border:none;background:none;padding:var(--space-1) var(--space-2) var(--space-1) 0;font-family:var(--font-ui);font-size:var(--text-base);color:var(--color-accent-hover);cursor:pointer}.chev.back[data-v-12cc4ffa]{font-size:20px}.arch-count[data-v-12cc4ffa]{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-text-faint)}.arch-tools[data-v-12cc4ffa]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);flex-wrap:wrap}.arch-search-input[data-v-12cc4ffa]{flex:1;min-width:160px}.arch-row[data-v-12cc4ffa]{display:flex;align-items:center;gap:var(--space-3);min-height:56px;padding:var(--space-2) var(--space-3);border-top:1px solid var(--color-line)}.arch-row[data-v-12cc4ffa]:first-of-type{border-top:none}.arch-meta[data-v-12cc4ffa]{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.arch-name[data-v-12cc4ffa]{font-family:var(--font-ui);font-size:var(--text-base);color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.arch-time[data-v-12cc4ffa]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-faint)}.arch-empty[data-v-12cc4ffa]{padding:var(--space-6) var(--space-4);text-align:center;font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-text-faint)}.mmp[data-v-67fc54be]{display:flex;flex-direction:column;gap:var(--space-2)}.search-wrap[data-v-67fc54be]{padding-bottom:var(--space-1)}.tab-strip[data-v-67fc54be]{display:flex;gap:var(--space-1);overflow-x:auto;padding-bottom:2px}.model-list[data-v-67fc54be]{display:flex;flex-direction:column;padding:var(--space-1) 0}.model-row[data-v-67fc54be]{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3) var(--space-2);border-radius:var(--radius-md);cursor:pointer;color:var(--color-text);min-width:0;min-height:52px;transition:background var(--duration-fast) var(--ease-out)}.model-row[data-v-67fc54be]:hover,.model-row[data-v-67fc54be]:active{background:var(--color-surface-sunken)}.model-row.is-current[data-v-67fc54be]{background:var(--color-accent-soft);box-shadow:inset 0 0 0 1px var(--color-accent-bd)}.check[data-v-67fc54be]{width:14px;height:14px;color:var(--color-accent);flex:none;display:flex;align-items:center;justify-content:center;margin-top:2px}.model-main[data-v-67fc54be]{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.model-name[data-v-67fc54be]{font-family:var(--font-ui);font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-id[data-v-67fc54be]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-ctx[data-v-67fc54be]{flex:none;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);margin-top:2px}.caps[data-v-67fc54be]{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.state-row[data-v-67fc54be]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-5) 0;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-base)}.state-row.unavail[data-v-67fc54be]{color:var(--color-warning)}.empty[data-v-67fc54be]{padding:var(--space-5) 0;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-base)}.ob-brand[data-v-fbdd3eab]{flex:1;display:flex;align-items:center;gap:var(--space-3);min-width:0}.ob-brand-text[data-v-fbdd3eab]{min-width:0}.ob-logo[data-v-fbdd3eab]{width:52px;height:36px;flex:none}.ob-title[data-v-fbdd3eab]{color:var(--color-text);font-size:var(--text-xl);font-weight:var(--weight-medium)}.ob-sub[data-v-fbdd3eab]{color:var(--color-text-muted);font-size:var(--text-base);margin-top:1px}.ob-sec[data-v-fbdd3eab]{margin-bottom:var(--space-4)}.ob-label[data-v-fbdd3eab]{color:var(--color-text);font-size:var(--text-sm);font-weight:var(--weight-medium);margin-bottom:var(--space-2)}.ob-start[data-v-fbdd3eab]{width:100%}.ob-eyes[data-v-fbdd3eab]{animation:ob-eye-look-fbdd3eab 6s ease-in-out infinite}.ob-eye[data-v-fbdd3eab]{transform-box:fill-box;transform-origin:center;animation:ob-eye-blink-fbdd3eab 4s ease-in-out infinite}@keyframes ob-eye-look-fbdd3eab{0%,42%{transform:translate(0)}47%,53%{transform:translate(2px)}58%,80%{transform:translate(0)}84%,90%{transform:translate(-2px)}95%,to{transform:translate(0)}}@keyframes ob-eye-blink-fbdd3eab{0%,94%,to{transform:scaleY(1)}96.5%,98%{transform:scaleY(.12)}}@media(prefers-reduced-motion:reduce){.ob-eyes[data-v-fbdd3eab],.ob-eye[data-v-fbdd3eab]{animation:none}}.gload[data-v-0b6dec6a]{position:fixed;top:0;left:0;width:100vw;height:100vh;height:100dvh;min-width:100vw;min-height:100dvh;z-index:var(--z-toast);display:flex;align-items:center;justify-content:center;background:var(--bg)}.gload-box[data-v-0b6dec6a]{display:flex;flex-direction:column;align-items:center;gap:22px;transform:translateY(-6%)}.gload-logo[data-v-0b6dec6a]{width:128px;height:auto;color:var(--color-text);animation:gload-pop-0b6dec6a .55s cubic-bezier(.22,1,.36,1) both}.gload-text[data-v-0b6dec6a]{font-family:var(--mono);font-size:var(--text-base);color:var(--muted);letter-spacing:.04em}.gload-issue[data-v-0b6dec6a]{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);max-width:min(480px,80vw);font-family:var(--sans);font-size:var(--text-sm);color:var(--muted);text-align:center}.gload-issue-detail[data-v-0b6dec6a]{font-family:var(--mono);font-size:var(--text-xs);color:var(--muted);opacity:.8;word-break:break-word}@keyframes gload-pop-0b6dec6a{0%{opacity:0;transform:translateY(6px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.gload-logo[data-v-0b6dec6a]{animation:none}}.gload-text[data-v-0b6dec6a]{font-family:var(--sans)}.kap-root[data-v-3cda6fe3]{height:100vh;display:flex;flex-direction:column;background:var(--bg);font-family:var(--mono);font-size:calc(var(--ui-font-size) - 2.5px);color:var(--color-text)}.kap-head[data-v-3cda6fe3]{flex:none;display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--line);background:var(--panel)}.kap-count[data-v-3cda6fe3]{color:var(--muted)}.kap-head-actions[data-v-3cda6fe3]{margin-left:auto;display:flex;gap:6px}.kap-head-actions button[data-v-3cda6fe3],.kap-view-toggle button[data-v-3cda6fe3]{padding:3px 8px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--muted);font:inherit;cursor:pointer}.kap-head-actions button[data-v-3cda6fe3]:hover,.kap-view-toggle button[data-v-3cda6fe3]:hover{color:var(--color-text)}.kap-head-actions button.on[data-v-3cda6fe3],.kap-view-toggle button.on[data-v-3cda6fe3]{color:var(--color-accent-hover);border-color:var(--color-accent-bd);background:var(--color-accent-soft)}.kap-filters[data-v-3cda6fe3]{flex:none;display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:7px 10px;border-bottom:1px solid var(--line)}.kap-filters select[data-v-3cda6fe3],.kap-filters input[type=text][data-v-3cda6fe3]{padding:3px 6px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--color-text);font:inherit;min-width:0}.kap-filters input[type=text][data-v-3cda6fe3]{flex:1;min-width:120px}.kap-check[data-v-3cda6fe3]{display:inline-flex;align-items:center;gap:4px;color:var(--muted);white-space:nowrap}.kap-view-toggle[data-v-3cda6fe3]{display:flex;gap:0}.kap-view-toggle button[data-v-3cda6fe3]:first-child{border-radius:6px 0 0 6px;border-right:none}.kap-view-toggle button[data-v-3cda6fe3]:last-child{border-radius:0 6px 6px 0}.kap-list[data-v-3cda6fe3]{flex:1;min-height:0;overflow-y:auto}.kap-empty[data-v-3cda6fe3]{padding:18px 12px;color:var(--muted);text-align:center}.kap-row[data-v-3cda6fe3]{display:flex;align-items:baseline;gap:7px;width:100%;padding:3px 10px;border:none;border-bottom:1px solid var(--line);background:transparent;color:var(--color-text);font:inherit;text-align:left;cursor:pointer}.kap-row[data-v-3cda6fe3]:hover{background:var(--panel2)}.kap-row.expanded[data-v-3cda6fe3]{background:var(--color-accent-soft)}.kap-ts[data-v-3cda6fe3]{flex:none;color:var(--muted)}.kap-badge[data-v-3cda6fe3]{flex:none;padding:0 5px;border-radius:var(--radius-sm);font-size:max(9px,calc(var(--ui-font-size) - 4.5px));font-weight:500;line-height:1.7}.b-rest[data-v-3cda6fe3]{background:var(--color-accent-soft);color:var(--color-accent-hover)}.b-in[data-v-3cda6fe3]{background:var(--color-accent-soft);color:var(--color-success)}.b-out[data-v-3cda6fe3]{background:var(--color-accent-soft);color:var(--color-warning)}.b-life[data-v-3cda6fe3]{background:var(--panel2);color:var(--muted)}.b-err[data-v-3cda6fe3]{background:var(--color-warning);color:var(--bg)}.kap-label[data-v-3cda6fe3]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kap-detail[data-v-3cda6fe3]{border-bottom:1px solid var(--line);background:var(--bg);padding:6px 10px 10px}.kap-detail-actions[data-v-3cda6fe3]{display:flex;justify-content:flex-end;margin-bottom:4px}.kap-detail-actions button[data-v-3cda6fe3]{padding:2px 8px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--muted);font:inherit;cursor:pointer}.kap-detail-actions button[data-v-3cda6fe3]:hover{color:var(--color-text)}.kap-detail pre[data-v-3cda6fe3]{margin:0;max-height:320px;overflow:auto;white-space:pre-wrap;word-break:break-word;font-size:calc(var(--ui-font-size) - 3px);line-height:1.45}.kap-agg[data-v-3cda6fe3]{flex:1;min-height:0;overflow-y:auto;padding:8px 10px}.kap-agg h4[data-v-3cda6fe3]{margin:8px 0 4px;font-size:calc(var(--ui-font-size) - 2.5px);color:var(--muted)}.kap-agg table[data-v-3cda6fe3]{width:100%;border-collapse:collapse}.kap-agg th[data-v-3cda6fe3],.kap-agg td[data-v-3cda6fe3]{padding:3px 6px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.kap-agg th[data-v-3cda6fe3]{color:var(--muted);font-weight:500}.kap-agg .num[data-v-3cda6fe3]{text-align:right}.kap-agg .err[data-v-3cda6fe3]{color:var(--color-warning);font-weight:500}.kap-agg .mono[data-v-3cda6fe3]{word-break:break-all}.kap-fab[data-v-21346738]{position:fixed;right:10px;bottom:10px;z-index:var(--z-overlay);padding:5px 9px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--muted);font-family:var(--mono);font-size:calc(var(--ui-font-size) - 3px);font-weight:500;letter-spacing:.04em;cursor:pointer;opacity:.75}.kap-fab[data-v-21346738]:hover{opacity:1;color:var(--color-accent)}.server-auth-overlay[data-v-469e14bc]{position:fixed;inset:0;z-index:var(--z-max);display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--color-bg) 70%,transparent)}.server-auth-card[data-v-469e14bc]{width:480px;max-width:calc(100vw - 48px);background:var(--color-surface-raised);border:1px solid var(--color-line);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);overflow:hidden;color:var(--color-text);font-family:var(--font-ui)}.server-auth-head[data-v-469e14bc]{display:flex;flex-direction:column;padding:20px 22px 14px}.server-auth-title[data-v-469e14bc]{margin:0;font-size:var(--text-lg);font-weight:var(--weight-medium);letter-spacing:-.01em;color:var(--color-text)}.server-auth-hint[data-v-469e14bc]{margin:4px 0 0;font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text-muted)}.server-auth-hint code[data-v-469e14bc]{padding:1px 5px;font-family:var(--font-mono);font-size:var(--text-xs);background:var(--color-surface-sunken);border-radius:var(--radius-xs)}.server-auth-body[data-v-469e14bc]{padding:4px 22px 18px}.server-auth-foot[data-v-469e14bc]{display:flex;justify-content:flex-end;gap:10px;padding:14px 22px 20px}.internal-build-tag[data-v-086c00dc]{flex:none;display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:999px;background:var(--color-logo-dev);color:var(--color-on-logo-dev);font-size:11px;font-weight:var(--weight-semibold);letter-spacing:.01em;line-height:1.4;white-space:nowrap;user-select:none}.gload-fade-leave-active[data-v-c18a3368]{transition:opacity .28s ease}.gload-fade-leave-to[data-v-c18a3368]{opacity:0}.app-shell[data-v-c18a3368]{position:fixed;top:var(--app-top, 0px);left:0;right:0;height:100vh;height:100dvh;height:var(--app-height, 100dvh);display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box}.auth-page[data-v-c18a3368]{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:32px;background:var(--bg);color:var(--color-text);box-sizing:border-box}.auth-page-inner[data-v-c18a3368]{width:min(420px,100%);display:flex;flex-direction:column;align-items:flex-start;gap:18px}.auth-page-logo[data-v-c18a3368]{width:64px;height:44px;flex:none;cursor:pointer;user-select:none;-webkit-user-select:none;transition:transform .18s ease}.auth-page-logo[data-v-c18a3368]:hover{transform:scale(1.06)}.auth-page-copy[data-v-c18a3368]{display:flex;flex-direction:column;gap:8px}.auth-page-copy h1[data-v-c18a3368]{margin:0;font-family:var(--sans);font-size:30px;line-height:1.15;font-weight:500;letter-spacing:0;color:var(--color-text)}.auth-page-copy p[data-v-c18a3368]{margin:0;font-family:var(--sans);font-size:var(--ui-font-size-lg);line-height:1.55;color:var(--dim)}.app[data-v-c18a3368]{--preview-w: 460px;flex:1;min-height:0;position:relative;display:grid;grid-template-columns:auto 0 minmax(0,1fr) 0 auto;background:var(--bg);color:var(--color-text);overflow:hidden;box-sizing:border-box}.app[data-v-c18a3368]>*{min-height:0;min-width:0}.app>.side[data-v-c18a3368]{grid-column:1}.side-handle[data-v-c18a3368]{grid-column:2}.app:not(.mobile)>.con[data-v-c18a3368]{grid-column:3}.preview-handle[data-v-c18a3368]{grid-column:4}.sidebar-toggle-btn[data-v-c18a3368]{position:absolute;top:11px;left:16px;z-index:var(--z-sticky);animation:sidebar-toggle-btn-in-c18a3368 .18s var(--ease-out) .12s backwards;-webkit-app-region:no-drag}.app.macos-desktop .sidebar-toggle-btn[data-v-c18a3368]{left:72px;animation:none}@keyframes sidebar-toggle-btn-in-c18a3368{0%{opacity:0}}.internal-build-fab[data-v-c18a3368]{position:absolute;right:var(--space-3);bottom:var(--space-3);z-index:var(--z-sticky);pointer-events:none}.app.mobile[data-v-c18a3368]{grid-template-columns:1fr;grid-template-rows:auto 1fr}.global-preview[data-v-c18a3368]{grid-column:5;min-width:0;min-height:0;width:0;background:var(--bg);overflow:hidden;transition:width .28s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column}.global-preview.open[data-v-c18a3368]{width:var(--preview-w)}.global-preview.no-anim[data-v-c18a3368]{transition:none}.global-preview[data-v-c18a3368]:not(.overlay)>*{width:var(--preview-w);box-sizing:border-box;border-left:1px solid var(--line)}.panel-content[data-v-c18a3368]{flex:1 1 auto;min-height:0;min-width:0;display:flex;flex-direction:column;overflow:hidden}.panel-content[data-v-c18a3368]>*{flex:1 1 auto;min-height:0;min-width:0}.global-preview.overlay[data-v-c18a3368]{position:fixed;inset:0;z-index:var(--z-sticky);width:auto;transition:none;border-top:2px solid var(--color-text)}@media(max-width:640px){.auth-page[data-v-c18a3368]{align-items:flex-start;padding:max(48px,var(--safe-top)) max(20px,var(--safe-right)) max(24px,var(--safe-bottom)) max(20px,var(--safe-left))}.auth-page-copy h1[data-v-c18a3368]{font-size:26px}.auth-page-btn[data-v-c18a3368]{width:100%}}:root{--panel-head-h: 48px}.app:not(.mobile) .chat-header{transition:padding-left .28s cubic-bezier(.4,0,.2,1)}.app.sidebar-collapsed .chat-header{padding-left:52px}.app.sidebar-collapsed.macos-desktop .chat-header{padding-left:108px}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;tab-size:4}body{margin:0}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;margin:0}p,blockquote,dl,dd,figure,pre{margin:0}ol,ul,menu{list-style:none;margin:0;padding:0}a{color:inherit;text-decoration:inherit}b,strong{font-weight:var(--weight-medium)}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}button,input,optgroup,select,textarea{margin:0;padding:0;font-family:inherit;font-size:100%;line-height:inherit;color:inherit}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background:transparent;background-image:none}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block}img,video{max-width:100%;height:auto}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1}table{border-collapse:collapse;border-color:inherit;text-indent:0}hr{height:0;color:inherit;border-top-width:1px}fieldset{margin:0;padding:0}legend{padding:0}dialog{padding:0}summary{display:list-item}[hidden]{display:none}@supports (interpolate-size: allow-keywords){:root{interpolate-size:allow-keywords}}:root{--dim: #595959;--muted: #8a8a8a;--faint: #b5b5b5;--line: #e9edf3;--line2: #f1f4f8;--canvas: #f4f6fa;--sh: 0 1px 3px rgba(28, 40, 66, .05), 0 6px 18px rgba(28, 40, 66, .06);--shc: 0 1px 2px rgba(28, 40, 66, .05);--panel: #fafbfc;--panel2: #f3f5f8;--bg: #ffffff;--blue: #1783ff;--blue2: #0f6fe0;--soft: #e8f3ff;--bd: #cfe6ff;--logo: #1783ff;--bluebg: #e8f3ff;--blueln: #cfe6ff;--ok: #0e7a38;--warn: #a9610a;--star: #eab308;--err: #c0392b;--hover: rgba(0, 0, 0, .05);--r-xs: var(--radius-sm);--r-sm: var(--radius-md);--r-md: var(--radius-lg);--r-lg: var(--radius-xl);--base-ui-font-size: 14px;--ui-font-size: var(--base-ui-font-size);--ui-font-size-sm: calc(var(--ui-font-size) - 1px);--ui-font-size-xs: calc(var(--ui-font-size) - 2px);--ui-font-size-lg: calc(var(--ui-font-size) + 1px);--ui-font-size-xl: calc(var(--ui-font-size) + 2px);--content-font-size: calc(var(--base-ui-font-size) + 1px);--mono: "JetBrains Mono Variable", "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--sans: var(--font-ui);color-scheme:light dark}:root{--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px)}.kw-icon{display:inline-block;flex:none;vertical-align:-.15em}code,pre,kbd,samp,tt{font-feature-settings:"liga" 0,"calt" 0,"ss01" 0;font-variant-ligatures:none}html[data-color-scheme=light]{color-scheme:light}html[data-color-scheme=system]{color-scheme:light dark}html[data-color-scheme=dark]{color-scheme:dark;--dim: #9aa0a8;--muted: #727983;--faint: #525960;--line: #2d333b;--line2: #22272e;--panel: #1c2128;--panel2: #161b22;--bg: #0d1117;--blue: #58a6ff;--blue2: #79b8ff;--soft: #1f2937;--bd: #1f6feb;--logo: #58a6ff;--bluebg: #1c2a3a;--blueln: #1f4f7a;--ok: #3fb950;--warn: #d29922;--star: #facc15;--err: #f85149;--hover: rgba(255, 255, 255, .07);--canvas: #161b22;--sh: 0 1px 3px rgba(0, 0, 0, .35), 0 6px 18px rgba(0, 0, 0, .4);--shc: 0 1px 2px rgba(0, 0, 0, .35)}@media(prefers-color-scheme:dark){html[data-color-scheme=system]{--dim: #9aa0a8;--muted: #727983;--faint: #525960;--line: #2d333b;--line2: #22272e;--panel: #1c2128;--panel2: #161b22;--bg: #0d1117;--blue: #58a6ff;--blue2: #79b8ff;--soft: #1f2937;--bd: #1f6feb;--logo: #58a6ff;--bluebg: #1c2a3a;--blueln: #1f4f7a;--ok: #3fb950;--warn: #d29922;--star: #facc15;--err: #f85149;--hover: rgba(255, 255, 255, .07);--canvas: #161b22;--sh: 0 1px 3px rgba(0, 0, 0, .35), 0 6px 18px rgba(0, 0, 0, .4);--shc: 0 1px 2px rgba(0, 0, 0, .35)}}html[data-accent=mono]{--accent-primary: #171717;--color-accent: #171717;--color-accent-hover: #383838;--color-accent-soft: #f1f1f2;--color-accent-bd: #d4d4d8;--blue: #171717;--blue2: #383838;--soft: #f1f1f2;--bd: #d4d4d8;--bluebg: #f4f4f5;--blueln: #e4e4e7;--logo: #171717}html[data-color-scheme=dark][data-accent=mono]{--accent-primary: #e8eaed;--color-accent: #e8eaed;--color-accent-hover: #c9cdd4;--color-accent-soft: #21262d;--color-accent-bd: #444c56;--color-text-on-accent: var(--color-bg);--blue: #e8eaed;--blue2: #c9cdd4;--soft: #21262d;--bd: #444c56;--bluebg: #21262d;--blueln: #30363d;--logo: #e8eaed}@media(prefers-color-scheme:dark){html[data-color-scheme=system][data-accent=mono]{--accent-primary: #e8eaed;--color-accent: #e8eaed;--color-accent-hover: #c9cdd4;--color-accent-soft: #21262d;--color-accent-bd: #444c56;--color-text-on-accent: var(--color-bg);--blue: #e8eaed;--blue2: #c9cdd4;--soft: #21262d;--bd: #444c56;--bluebg: #21262d;--blueln: #30363d;--logo: #e8eaed}}:root{--accent-primary: #1783ff;--accent-secondary: #6b7280;--surface-light: #ffffff;--surface-dark: #0d1117;--color-bg: #ffffff;--color-surface: #fafbfc;--color-surface-raised: #ffffff;--color-surface-sunken: #f3f5f8;--color-media-alpha-bg-1: color-mix(in srgb, var(--color-bg) 52%, var(--color-text) 48%);--color-media-alpha-bg-2: color-mix(in srgb, var(--color-bg) 42%, var(--color-text) 58%);--media-alpha-canvas: conic-gradient( var(--color-media-alpha-bg-1) 25%, var(--color-media-alpha-bg-2) 0 50%, var(--color-media-alpha-bg-1) 0 75%, var(--color-media-alpha-bg-2) 0 ) 0 0 / 16px 16px;--color-text: rgba(0, 0, 0, .9);--color-text-muted: #6b7280;--color-text-faint: #9aa3af;--color-text-on-accent: #ffffff;--color-line: #e7eaee;--color-line-strong: #d4d9e0;--color-selected: #00000014;--color-hover: #0000000d;--color-sidebar-bg: #fbfaf9;--color-accent: var(--accent-primary);--color-accent-hover: #0f6fe0;--color-accent-soft: #e8f3ff;--color-accent-bd: #cfe6ff;--color-success: #0e7a38;--color-success-soft: #e7f6ee;--color-success-bd: #bfe3cc;--color-warning: #a9610a;--color-warning-soft: #fbf1e0;--color-warning-bd: #f0d9b8;--color-danger: #c0392b;--color-danger-soft: #fbeaea;--color-danger-bd: #f0cccc;--color-done: #8250df;--color-done-soft: #f3e8ff;--color-done-bd: #e0ccff;--color-info: var(--accent-primary);--color-logo-dev: #f5b301;--color-on-logo-dev: #3a2a00;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-full: 999px;--z-base: 0;--z-sticky: 100;--z-dropdown: 200;--z-tooltip: 250;--z-overlay: 300;--z-modal: 400;--z-toast: 600;--z-max: 9999;--shadow-xs: 0 1px 2px rgba(16, 24, 40, .04);--shadow-sm: 0 1px 2px rgba(16, 24, 40, .05), 0 1px 3px rgba(16, 24, 40, .06);--shadow-md: 0 4px 12px rgba(16, 24, 40, .07), 0 2px 4px rgba(16, 24, 40, .05);--shadow-lg: 0 12px 32px rgba(16, 24, 40, .12), 0 4px 10px rgba(16, 24, 40, .08);--shadow-xl: 0 24px 64px rgba(16, 24, 40, .18), 0 8px 20px rgba(16, 24, 40, .1);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--duration-fast: .12s;--duration-base: .16s;--duration-slow: .26s;--font-ui: "Inter Variable", "Inter", "Helvetica Neue", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Source Han Sans SC", "Noto Sans SC", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-display: var(--font-ui);--font-mono: "JetBrains Mono Variable", "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--text-xs: 12px;--text-sm: 13px;--text-base: 14px;--text-lg: 16px;--text-xl: 18px;--text-2xl: 22px;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.7;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 700;--p-focus-ring: 0 0 0 3px var(--color-accent-soft);--p-focus-ring-strong: 0 0 0 3px var(--color-accent-soft), 0 0 0 1px var(--color-accent);--p-selection: rgba(23, 131, 255, .18);--p-ic-sm: 14px;--p-ic-md: 16px;--p-ic-lg: 20px;--p-sidebar-w: 264px;--p-content-max: 760px;--p-content-wide: 920px;--p-table-max: 1040px;--p-table-cell-max: 700px;--p-bp-sm: 640px;--p-bp-md: 980px}html[data-color-scheme=dark]{--accent-primary: #58a6ff;--color-bg: #0d1117;--color-surface: #161b22;--color-surface-raised: #1c2128;--color-surface-sunken: #0d1117;--color-text: #c9cdd4;--color-text-muted: #9aa0a8;--color-text-faint: #6b7280;--color-line: #2d333b;--color-line-strong: #3d444d;--color-selected: #ffffff14;--color-hover: #ffffff0d;--color-sidebar-bg: #181817;--color-accent: #58a6ff;--color-accent-hover: #79b8ff;--color-accent-soft: rgba(88, 166, 255, .14);--p-selection: rgba(88, 166, 255, .32);--color-accent-bd: rgba(88, 166, 255, .28);--color-success: #3fb950;--color-success-soft: rgba(63, 185, 80, .14);--color-success-bd: rgba(63, 185, 80, .28);--color-warning: #d29922;--color-warning-soft: rgba(210, 153, 34, .14);--color-warning-bd: rgba(210, 153, 34, .28);--color-danger: #f85149;--color-danger-soft: rgba(248, 81, 73, .14);--color-danger-bd: rgba(248, 81, 73, .28);--color-done: #a371f7;--color-done-soft: rgba(163, 113, 247, .14);--color-done-bd: rgba(163, 113, 247, .28);--color-info: #58a6ff;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .2);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .22), 0 1px 3px rgba(0, 0, 0, .18);--shadow-md: 0 4px 12px rgba(0, 0, 0, .3), 0 2px 4px rgba(0, 0, 0, .24);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .34), 0 4px 10px rgba(0, 0, 0, .28);--shadow-xl: 0 24px 64px rgba(0, 0, 0, .42), 0 8px 20px rgba(0, 0, 0, .32)}@media(prefers-color-scheme:dark){html[data-color-scheme=system]{--accent-primary: #58a6ff;--color-bg: #0d1117;--color-surface: #161b22;--color-surface-raised: #1c2128;--color-surface-sunken: #0d1117;--color-text: #c9cdd4;--color-text-muted: #9aa0a8;--color-text-faint: #6b7280;--color-line: #2d333b;--color-line-strong: #3d444d;--color-selected: #ffffff14;--color-hover: #ffffff0d;--color-sidebar-bg: #181817;--color-accent: #58a6ff;--color-accent-hover: #79b8ff;--color-accent-soft: rgba(88, 166, 255, .14);--p-selection: rgba(88, 166, 255, .32);--color-accent-bd: rgba(88, 166, 255, .28);--color-success: #3fb950;--color-success-soft: rgba(63, 185, 80, .14);--color-success-bd: rgba(63, 185, 80, .28);--color-warning: #d29922;--color-warning-soft: rgba(210, 153, 34, .14);--color-warning-bd: rgba(210, 153, 34, .28);--color-danger: #f85149;--color-danger-soft: rgba(248, 81, 73, .14);--color-danger-bd: rgba(248, 81, 73, .28);--color-done: #a371f7;--color-done-soft: rgba(163, 113, 247, .14);--color-done-bd: rgba(163, 113, 247, .28);--color-info: #58a6ff;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .2);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .22), 0 1px 3px rgba(0, 0, 0, .18);--shadow-md: 0 4px 12px rgba(0, 0, 0, .3), 0 2px 4px rgba(0, 0, 0, .24);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .34), 0 4px 10px rgba(0, 0, 0, .28);--shadow-xl: 0 24px 64px rgba(0, 0, 0, .42), 0 8px 20px rgba(0, 0, 0, .32)}}html,body,#app{height:100%;margin:0;background:var(--bg)}#app{position:fixed;inset:0}html,body{overflow:hidden}@media(min-width:981px){@supports not selector(::-webkit-scrollbar){*{scrollbar-width:thin;scrollbar-color:rgba(128,128,128,.3) transparent}}*::-webkit-scrollbar{width:6px;height:6px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:#8080804d;border-radius:999px}*::-webkit-scrollbar-thumb:hover{background:#80808080}*::-webkit-scrollbar-corner{background:transparent}}body{font-family:var(--sans);color:var(--color-text);background:var(--bg);font-size:var(--ui-font-size);font-weight:400;line-height:1.6;font-optical-sizing:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:auto;font-synthesis:none;text-size-adjust:100%;-webkit-hyphens:none;hyphens:none}@media(max-width:640px){.backdrop{align-items:flex-end;justify-content:stretch}.backdrop .dialog{width:100%;max-width:100%;max-height:88vh;border-radius:16px 16px 0 0;border-left:none;border-right:none;border-bottom:none;border-top:1px solid var(--line);box-shadow:0 -10px 30px #0000002e;animation:kimi-sheet-up .26s cubic-bezier(.4,0,.2,1)}}@keyframes kimi-sheet-up{0%{transform:translateY(101%)}to{transform:translateY(0)}}.backdrop,.ob-backdrop{min-width:100vw!important;min-height:100vh!important;min-height:100dvh!important}@keyframes kimi-card-in{0%{opacity:0;transform:translateY(8px) scale(.995)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes kimi-check-in{0%{opacity:0;transform:scale(.4)}60%{opacity:1;transform:scale(1.15)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-delay:0ms!important;transition-duration:.001ms!important}}.ch-eyes{animation:kimi-eye-look 16s ease-in-out infinite}.ch-eye{transform-box:fill-box;transform-origin:center;animation:kimi-eye-blink 11s ease-in-out infinite}@keyframes kimi-eye-look{0%,42%{transform:translate(0)}47%,53%{transform:translate(2px)}58%,80%{transform:translate(0)}84%,90%{transform:translate(-2px)}95%,to{transform:translate(0)}}@keyframes kimi-eye-blink{0%,94%,to{transform:scaleY(1)}96.5%,98%{transform:scaleY(.12)}}@media(prefers-reduced-motion:reduce){.ch-eyes,.ch-eye{animation:none}}.ch-logo.blink-now .ch-eye{animation:kimi-eye-blink-once .24s ease-in-out}@keyframes kimi-eye-blink-once{0%,to{transform:scaleY(1)}50%{transform:scaleY(.1)}}.md .markdown-renderer img{min-width:0;min-height:0}.app{font-size:var(--ui-font-size)}.md,.md .markdown-renderer,.md .markdown-renderer p,.md .markdown-renderer li,.md .markdown-renderer blockquote,.md .markdown-renderer td,.md .markdown-renderer th,.u-bub,.u-bub .u-text,.a-msg .msg,.box .bb,.ph{font-size:var(--content-font-size)}.md .code-block-container pre,.md .markstream-pre,.md .code-block-container pre code,.md .diff-pre code,.box .bh,.queue-item,.queue-text,.ctx-num,.model-pill,.perm-pill,.mode-pill,.compact-chip,.qcard,.qtext,.qopt,.qbtn,.srow,.srow-val{font-size:var(--ui-font-size)}.md :not(pre)>code,.md .inline-code,.a-msg code,.qopt-desc,.srow-label{font-size:var(--ui-font-size-sm)}.code-block-header,.code-block-header *,.diff-lang,.queue-label,.qopt-key,.qstep,.srow-sub{font-size:var(--ui-font-size-xs)}@media(max-width:640px){.u-bub .u-text,.a-msg .msg,.ph{font-size:max(16px,var(--ui-font-size-xl))}}
diff --git a/apps/kimi-code/dist-web/assets/index-DB3cIadZ.js b/apps/kimi-code/dist-web/assets/index-DB3cIadZ.js
new file mode 100644
index 00000000000..26c7d868c93
--- /dev/null
+++ b/apps/kimi-code/dist-web/assets/index-DB3cIadZ.js
@@ -0,0 +1,103 @@
+const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/DesignSystemView-BiUIfaGX.js","assets/vendor-D3iJO92e.js","assets/vendor-4gi77x_E.css","assets/vendor-markstream-4s_yAKtz.js","assets/vendor-markstream-Boo68so5.css","assets/vendor-katex-Com_2SPi.js","assets/vendor-katex-Cp579UoJ.css","assets/DesignSystemView-CgaL5VJY.css"])))=>i.map(i=>d[i]);
+import{g as T,d as Ee,o as l,c,n as fe,K as At,m as Qe,a as r,v as q,A as Ju,z as I,B as M,bD as Ye,w as Ne,k as Xe,l as _n,Q as ss,b as w,u as a,x as L,E as d,h as xt,F as de,r as Pe,J as ee,G as wt,bE as Dn,bF as $p,s as xp,C as Hn,H as Wn,e as vt,R as kt,bG as Cn,U as Oe,bH as Zo,V as Sl,N as ec,i as zs,bI as Cl,D as Tp,T as ai,bJ as da,S as tc,p as yo,bK as nc,bL as rr,bM as ur,j as Ip}from"./vendor-D3iJO92e.js";import{_ as sc,O as Ap,P as Pp,W as Ep,x as Bp,a as Rp,b as Lp,y as Dp,h as Op,g as zp,p as Fp,m as Np}from"./vendor-markstream-4s_yAKtz.js";import"./vendor-katex-Com_2SPi.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))s(o);new MutationObserver(o=>{for(const i of o)if(i.type==="childList")for(const u of i.addedNodes)u.tagName==="LINK"&&u.rel==="modulepreload"&&s(u)}).observe(document,{childList:!0,subtree:!0});function n(o){const i={};return o.integrity&&(i.integrity=o.integrity),o.referrerPolicy&&(i.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?i.credentials="include":o.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function s(o){if(o.ep)return;o.ep=!0;const i=n(o);fetch(o.href,i)}})();const Ge={permission:"kimi-web.permission",activeWorkspace:"kimi-active-workspace",planMode:"kimi-web.plan-mode",planArmed:"kimi-web.plan-armed",swarmMode:"kimi-web.swarm-mode",supermoonMode:"kimi-web.supermoon-mode",goalMode:"kimi-web.goal-mode",uiFontSize:"kimi-web.ui-font-size",starredModels:"kimi-web.starred-models",unread:"kimi-web.unread",onboarded:"kimi-web.onboarded",accent:"kimi-web.accent",colorScheme:"kimi-web.color-scheme",hiddenWorkspaces:"kimi-web.hidden-workspaces",collapsedWorkspaces:"kimi-web.collapsed-workspaces",workspaceOrder:"kimi-web.workspace-order",workspaceNameOverrides:"kimi-web.workspace-name-overrides",workspaceSort:"kimi-web.workspace-sort",workspaceRecencyFloor:"kimi-web.workspace-recency-floor",pinnedSessions:"kimi-web.pinned-sessions",sessionEmoji:"kimi-web.session-emoji",sidebarMultiTab:"kimi-web.sidebar-multi-tab",doneSessions:"kimi-web.done-sessions",conversationToc:"kimi-web.beta-toc",notifyOnComplete:"kimi-web.notify-on-complete",notifyOnQuestion:"kimi-web.notify-on-question",notifyOnApproval:"kimi-web.notify-on-approval",soundOnComplete:"kimi-web.sound-on-complete",taskNotices:"kimi-web.task-notices",inputHistory:"kimi-web.input-history",pluginExtensionHintDismissed:"kimi-web.plugins.extension-hint-dismissed",locale:"kimi-locale",diffColorblind:"kimi-web.diff-colorblind",clientId:"kimi-web.client-id",debug:"kimi-web.debug",openInLastTarget:"kimi-web.open-in.last-target",sidebarCollapsed:"kimi-web.sidebar-collapsed",sidebarWidth:"kimi-web.sidebar-width",sidebarViewMode:"kimi-web.sidebar-view-mode",sidebarPinnedHeight:"kimi-web.sidebar-pinned-height",codeFont:"kimi-web.code-font",contentAlign:"kimi-web.content-align",theme:"kimi-web.theme",thinking:"kimi-web.thinking"};function cr(e){return`kimi-web.draft.${e&&e.length>0?e:"__new__"}`}function Dt(e){try{return globalThis.localStorage.getItem(e)}catch{return null}}function Nt(e,t){try{globalThis.localStorage.setItem(e,t)}catch{}}function wo(e){try{globalThis.localStorage.removeItem(e)}catch{}}function to(e){const t=Dt(e);if(t===null)return null;try{return JSON.parse(t)}catch{return null}}function Ns(e,t){try{globalThis.localStorage.setItem(e,JSON.stringify(t))}catch{}}function _l(){const e=Dt(Ge.unread);if(!e)return{};try{const t=JSON.parse(e);if(!t||typeof t!="object")return{};const n={};for(const[s,o]of Object.entries(t))o===!0&&(n[s]=!0);return n}catch{return{}}}function Ml(e){const n={..._l()};for(const[s,o]of Object.entries(e))o?n[s]=!0:delete n[s];Nt(Ge.unread,JSON.stringify(n))}function Wp(){const e=to(Ge.collapsedWorkspaces);return Array.isArray(e)?e.filter(t=>typeof t=="string"):[]}function bi(e){Ns(Ge.collapsedWorkspaces,Array.from(e))}function qp(){const e=to(Ge.workspaceOrder);return Array.isArray(e)?e.filter(t=>typeof t=="string"):[]}function oc(e){Ns(Ge.workspaceOrder,Array.from(e))}function wi(){const e=to(Ge.workspaceNameOverrides);if(!e||typeof e!="object")return{};const t={};for(const[n,s]of Object.entries(e))typeof s=="string"&&(t[n]=s);return t}function dr(e){Ns(Ge.workspaceNameOverrides,e)}function Hp(){return Dt(Ge.workspaceSort)}function ic(e){Nt(Ge.workspaceSort,e)}function Up(){const e=to(Ge.workspaceRecencyFloor);if(!e||typeof e!="object")return{};const t={};for(const[n,s]of Object.entries(e))typeof s=="number"&&Number.isFinite(s)&&(t[n]=s);return t}function ac(e){Ns(Ge.workspaceRecencyFloor,e)}const pr=Ge.clientId,Vp="kimi-code-web",jp="web";function lc(){return{serverHttpUrl:Gp(),clientId:Xp(),clientName:Vp,clientVersion:Jp(),clientUiMode:jp}}function Kp(){return typeof window<"u"&&window.location?.origin?window.location.origin:"http://127.0.0.1:58627"}function Gp(e){const t=Kp(),n=new URL(t);return n.pathname=n.pathname.replace(/\/v1\/?$/,"").replace(/\/$/,""),n.search="",n.hash="",n.toString().replace(/\/$/,"")}function Qp(e){return e.replace(/^https?:\/\//,"").replace(/\/$/,"")}function Yp(){const e=typeof window<"u"&&window.location?.origin?window.location.origin:"";return Qp(e)}function go(e,t){return`${e}/api/v1${t.startsWith("/")?t:`/${t}`}`}function Zp(e,t){const n=new URL(`${e}/api/v1/ws`);return n.protocol=n.protocol==="https:"?"wss:":"ws:",n.searchParams.set("client_id",t),n.toString()}function Xp(){const e=Dt(pr);if(e)return e;const t=`web_${globalThis.crypto?.randomUUID?.()||Math.random().toString(36).slice(2)}`;return Nt(pr,t),t}function Jp(){return"0.1.2".trim()?"0.1.2":"0.0.0-dev"}async function ef(e){try{const t=await fetch("/__kimi-dev/backend",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e})});return t.ok?await t.json():null}catch{return null}}function tf(e){return e.replace(/^https?:\/\//,"").replace(/\/$/,"")}async function an(e){const t=typeof navigator<"u"?navigator.clipboard:void 0;if(t&&typeof t.writeText=="function")try{return await t.writeText(e),!0}catch{}return sf(e)}function nf(e){if(typeof e!="string")return;const t=typeof navigator<"u"?navigator.clipboard:void 0;t&&typeof t.writeText=="function"||an(e)}function sf(e){if(typeof document>"u"||typeof document.execCommand!="function")return!1;const t=document.createElement("textarea");t.value=e,t.setAttribute("readonly",""),t.style.position="fixed",t.style.top="-9999px",t.style.left="-9999px",t.style.opacity="0",document.body.appendChild(t);let n=!1;try{t.focus(),t.select(),n=document.execCommand("copy")}catch{n=!1}finally{document.body.removeChild(t)}return n}function of(){const e=to(Ge.pinnedSessions);return Array.isArray(e)?e.filter(t=>typeof t=="string"):[]}function af(e){Ns(Ge.pinnedSessions,Array.from(e))}function lf(e,t){return e.includes(t)?e.filter(n=>n!==t):[...e,t]}function rc(e,t){const n=new Set(t),s=e.filter(i=>n.has(i.id)),o=e.filter(i=>!n.has(i.id));return[...s,...o]}function rf(e,t){const n=new Set(t),s=e.filter(i=>n.has(i.id)),o=e.filter(i=>!n.has(i.id));return{pinned:s,rest:o}}const si=64,$l=320;function uc(e,t=si,n=$l){return Number.isNaN(e)?t:e===Number.POSITIVE_INFINITY?n:Number.isFinite(e)?Math.min(n,Math.max(t,Math.round(e))):t}function uf(e,t=$l){const n=Number.isFinite(e)?e:0;return uc(Math.round(n*.4),si,t)}function cf(e){return e==="grouped"||e==="flat"}function df(){const e=Dt(Ge.sidebarViewMode);return cf(e)?e:"grouped"}function pf(e){Nt(Ge.sidebarViewMode,e)}function pa(e,t){const n=e.flatMap(i=>i.sessions),s=i=>{if(!i)return Number.NEGATIVE_INFINITY;const u=new Date(i).getTime();return Number.isNaN(u)?Number.NEGATIVE_INFINITY:u},o=n.toSorted((i,u)=>s(u.updatedAt)-s(i.updatedAt));return rc(o,t)}function ff(e){return e==="open"||e==="done"||e==="workspaces"}function mf(){return Dt(Ge.sidebarMultiTab)==="1"}function vf(e){Nt(Ge.sidebarMultiTab,e?"1":"0")}function gf(e,t,n){if(e.length===0)return null;const s=new Set(e),o=t.filter(u=>s.has(u)),i=e.filter(u=>!t.includes(u));return i.length===0&&o.length===t.length?null:t.length===0&&n!==void 0?i.toSorted((u,p)=>(n.get(p)??Number.NEGATIVE_INFINITY)-(n.get(u)??Number.NEGATIVE_INFINITY)):[...i,...o]}function hf(e,t){const n=new Map(t.map((s,o)=>[s,o]));return e.toSorted((s,o)=>(n.get(s.id)??-1)-(n.get(o.id)??-1))}function yf(e,t,n,s="before"){const o=e.indexOf(t),i=e.indexOf(n);if(o===-1||i===-1||o===i)return e;const u=[...e];u.splice(o,1);const p=o(t.get(s.id)??Number.NEGATIVE_INFINITY)-(t.get(n.id)??Number.NEGATIVE_INFINITY))}function bf(e,t){const n=new Map;for(const s of e){if(s.parentSessionId||s.archived)continue;const o=new Date(s.updatedAt).getTime();if(Number.isNaN(o))continue;const i=t(s);o>(n.get(i)??Number.NEGATIVE_INFINITY)&&n.set(i,o)}return n}function wf(e,t){let n=!1;const s={...e};for(const[o,i]of t)i>(s[o]??Number.NEGATIVE_INFINITY)&&(s[o]=i,n=!0);return{next:s,changed:n}}function Sf(e,t){const n=Object.keys(e);if(!n.some(o=>!t.has(o)))return{next:e,changed:!1};const s={};for(const o of n)t.has(o)&&(s[o]=e[o]);return{next:s,changed:!0}}function Cf(e,t){const n=t===void 0?Number.NaN:Date.parse(t),s=Number.isNaN(n)?Number.NEGATIVE_INFINITY:n;return Math.max(e??Number.NEGATIVE_INFINITY,s)}function cc(e,t){const n=new Map;for(const s of e)n.set(s.id,Cf(t[s.id],s.lastOpenedAt));return n}const _f={"&":"&","<":"<",">":">",'"':""","'":"'"};function fr(e){return e.replace(/[&<>"']/g,t=>_f[t]??t)}function Mf(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Si(e,t){const n=fr(e),s=t.trim();if(s.length===0)return n;const o=new RegExp(Mf(fr(s)),"gi");return n.replace(o,i=>`${i} `)}const $f=200;function xf(e,t,n,s=$f){const o=e.trim().toLowerCase(),i=[];if(o.length===0){for(const u of t){if(i.length>=s)break;i.push({kind:"session",sessionId:u.id,workspaceId:u.workspaceId??"",title:u.title??"",inTitle:!1,inWorkspace:!1,snippetText:u.lastPrompt?mr(u.lastPrompt,""):"",workspaceName:u.workspaceName,time:u.time})}return i}for(const u of n){if(i.length>=s)break;const p=u.name??"";p.toLowerCase().includes(o)&&i.push({kind:"workspace",workspaceId:u.id,title:p,inTitle:!0,inWorkspace:!1,snippetText:""})}for(const u of t){if(i.length>=s)break;const p=u.title??"",f=u.lastPrompt??"",v=u.workspaceName??"",k=p.toLowerCase().includes(o),x=f.toLowerCase().includes(o),g=v.toLowerCase().includes(o);!k&&!x&&!g||i.push({kind:"session",sessionId:u.id,workspaceId:u.workspaceId??"",title:p,inTitle:k,inWorkspace:g,snippetText:f?mr(f,e):"",workspaceName:u.workspaceName,time:u.time})}return i}function mr(e,t){const n=t.trim();if(!n)return e.length>160?`${e.slice(0,160)}…`:e;const s=e.toLowerCase().indexOf(n.toLowerCase());if(s===-1)return e.length>160?`${e.slice(0,160)}…`:e;const o=Math.max(0,s-40),i=Math.min(e.length,s+n.length+80),u=o>0?"…":"",p=i(l(),c("button",{ref_key:"el",ref:n,class:fe(["ui-icon-button",`ui-icon-button--${e.size}`]),type:e.type,disabled:e.disabled,"aria-label":e.label},[At(s.$slots,"default",{},void 0,!0)],10,Tf))}}),Re=(e,t)=>{const n=e.__vccOpts||e;for(const[s,o]of t)n[s]=o;return n},lt=Re(If,[["__scopeId","data-v-c9e67023"]]),Af={width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function Pf(e,t){return l(),c("svg",Af,[...t[0]||(t[0]=[r("path",{d:"M11.1 12.9001V15.0909C11.1 15.593 11.5029 16 12 16C12.4971 16 12.9 15.593 12.9 15.0909V12.9001H15.0909C15.593 12.9001 16 12.4972 16 12.0001C16 11.5031 15.593 11.1001 15.0909 11.1001H12.9V8.90909C12.9 8.40701 12.4971 8 12 8C11.5029 8 11.1 8.40701 11.1 8.90909V11.1001H8.90909C8.40701 11.1001 8 11.5031 8 12.0001C8 12.4972 8.40701 12.9001 8.90909 12.9001H11.1Z",fill:"currentColor"},null,-1),r("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M11.9996 2.1001C6.53199 2.1001 2.09961 6.53248 2.09961 12.0001C2.09961 13.9226 2.64847 15.7192 3.59804 17.2391L2.517 19.8207C2.10313 20.8091 2.82908 21.9001 3.90059 21.9001H11.9996C17.4672 21.9001 21.8996 17.4677 21.8996 12.0001C21.8996 6.53248 17.4672 2.1001 11.9996 2.1001ZM3.89961 12.0001C3.89961 7.52659 7.5261 3.9001 11.9996 3.9001C16.4731 3.9001 20.0996 7.52659 20.0996 12.0001C20.0996 16.4736 16.4724 20.1001 11.9989 20.1001H4.35146L5.63494 17.0351L5.35165 16.6291C4.43632 15.3172 3.89961 13.7227 3.89961 12.0001Z",fill:"currentColor"},null,-1)])])}const Ef=Qe({name:"kimi-add-conversation",render:Pf}),Bf={width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function Rf(e,t){return l(),c("svg",Bf,[...t[0]||(t[0]=[r("path",{d:"M9.2373 3.7002C10.4169 3.7002 11.5297 4.24779 12.249 5.18262L12.4424 5.43359H18C20.0987 5.43359 21.7998 7.13472 21.7998 9.2334V16.5C21.7998 18.5987 20.0987 20.2998 18 20.2998H6C3.90132 20.2998 2.2002 18.5987 2.2002 16.5V7.5C2.2002 5.40132 3.90132 3.7002 6 3.7002H9.2373ZM6 5.5C4.89543 5.5 4 6.39543 4 7.5V16.5C4 17.6046 4.89543 18.5 6 18.5H18C19.0357 18.5 19.887 17.7128 19.9893 16.7041L20 16.5V9.2334C20 8.19775 19.2128 7.34641 18.2041 7.24414L18 7.2334H12.0479L11.9326 7.22656C11.666 7.19561 11.4205 7.05812 11.2549 6.84277L10.8223 6.28027C10.4437 5.78834 9.85808 5.5 9.2373 5.5H6ZM16 9.59961C16.4971 9.59961 16.9004 10.0029 16.9004 10.5C16.9004 10.9971 16.4971 11.4004 16 11.4004H8C7.50294 11.4004 7.09961 10.9971 7.09961 10.5C7.09961 10.0029 7.50294 9.59961 8 9.59961H16Z",fill:"currentColor"},null,-1)])])}const Lf=Qe({name:"kimi-folder",render:Rf}),Df={width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Of=["clip-path"],zf=["id"];function Ff(e,t){return l(),c("svg",Df,[r("g",{"clip-path":"url(#"+e.idMap.clip0_4626_2033+")"},[...t[0]||(t[0]=[r("path",{d:"M18.3623 9.99976L18.209 8.48999C18.2031 8.43161 18.2004 8.37289 18.2002 8.31421C18.1988 8.31196 18.1956 8.30842 18.1904 8.30347C18.1718 8.28559 18.1302 8.26245 18.0713 8.26245H11C10.261 8.26245 9.59753 7.81016 9.32617 7.1228L8.9082 6.06421C8.88101 5.9953 8.85737 5.92501 8.83887 5.85327C8.83778 5.85099 8.833 5.84268 8.81836 5.83179C8.79454 5.81475 8.7549 5.79939 8.70605 5.80054H3.92871C3.86986 5.80054 3.82825 5.82368 3.80957 5.84155C3.80816 5.8429 3.80675 5.84428 3.80566 5.84546L4.47559 14.0955L3.62109 17.5154L5.12109 11.5154C5.34367 10.6251 6.1438 9.99977 7.06152 9.99976H18.3623ZM7.06152 11.7996C6.96976 11.7996 6.88944 11.8629 6.86719 11.9519L5.36719 17.9519C5.33598 18.078 5.43158 18.1999 5.56152 18.2H19.4385C19.5302 18.1999 19.6106 18.1376 19.6328 18.0486L21.1328 12.0486C21.1644 11.9224 21.0686 11.7996 20.9385 11.7996H7.06152ZM20.9385 9.99976C22.2396 9.99977 23.1945 11.2228 22.8789 12.4851L21.3789 18.4851C21.1563 19.3754 20.3562 19.9997 19.4385 19.9998H4.92871C4.41722 19.9998 3.92613 19.8059 3.56445 19.4597C3.20281 19.1135 3.00004 18.6436 3 18.1541L2 5.84644C2.00006 5.35711 2.20311 4.88786 2.56445 4.54175C2.92613 4.19554 3.41722 4.00073 3.92871 4.00073H8.66406C9.10133 3.99051 9.5296 4.1225 9.87793 4.37573C10.2285 4.63118 10.4767 4.99457 10.582 5.40405L11 6.46167H18.0713C18.5828 6.46167 19.0739 6.65648 19.4355 7.00269C19.7971 7.34888 20 7.81883 20 8.30835L20.1719 9.99976H20.9385Z",fill:"currentColor"},null,-1)])],8,Of),r("defs",null,[r("clipPath",{id:e.idMap.clip0_4626_2033},[...t[1]||(t[1]=[r("rect",{width:"24",height:"24",fill:"white"},null,-1)])],8,zf)])])}const Nf=Qe({name:"kimi-folder-open",render:Ff,setup(){return{idMap:{clip0_4626_2033:"uicons-"+Math.random().toString(36).substr(2,10)}}}}),Wf={width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function qf(e,t){return l(),c("svg",Wf,[...t[0]||(t[0]=[r("path",{d:"M6 12C6 12.8283 5.32834 13.5 4.5 13.5C3.67166 13.5 3 12.8283 3 12C3 11.1717 3.67166 10.5 4.5 10.5C5.32834 10.5 6 11.1717 6 12Z",fill:"currentColor"},null,-1),r("path",{d:"M13.5 12C13.5 12.8283 12.8283 13.5 12 13.5C11.1717 13.5 10.5 12.8283 10.5 12C10.5 11.1717 11.1717 10.5 12 10.5C12.8283 10.5 13.5 11.1717 13.5 12Z",fill:"currentColor"},null,-1),r("path",{d:"M19.5002 13.5C20.3287 13.5 21 12.8287 21 12.0002C21 11.1718 20.3287 10.5 19.5002 10.5C18.6718 10.5 18 11.1718 18 12.0002C18 12.8287 18.6718 13.5 19.5002 13.5Z",fill:"currentColor"},null,-1)])])}const Hf=Qe({name:"kimi-more",render:qf}),Uf={width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function Vf(e,t){return l(),c("svg",Uf,[...t[0]||(t[0]=[r("path",{d:"M11.5 3C16.1944 3 20 6.80558 20 11.5C20 13.523 19.2933 15.381 18.1132 16.8404L21.1364 19.8636C21.4879 20.2151 21.4879 20.7849 21.1364 21.1364C20.7849 21.4879 20.2151 21.4879 19.8636 21.1364L16.8404 18.1132C15.381 19.2933 13.523 20 11.5 20C6.80558 20 3 16.1944 3 11.5C3 6.80558 6.80558 3 11.5 3ZM11.5 18.2C15.2003 18.2 18.2 15.2003 18.2 11.5C18.2 7.79969 15.2003 4.8 11.5 4.8C7.79969 4.8 4.8 7.79969 4.8 11.5C4.8 15.2003 7.79969 18.2 11.5 18.2Z",fill:"currentColor"},null,-1)])])}const jf=Qe({name:"kimi-search",render:Vf}),Kf={width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function Gf(e,t){return l(),c("svg",Kf,[...t[0]||(t[0]=[r("path",{d:"M16.0404 12C16.0404 9.76874 14.2313 7.9596 12.0001 7.9596C9.76883 7.9596 7.95972 9.76874 7.95972 12C7.95972 14.2313 9.76883 16.0404 12.0001 16.0404C14.2313 16.0404 16.0404 14.2313 16.0404 12ZM14.2222 12C14.2222 13.2271 13.2271 14.2222 12 14.2222C10.7729 14.2222 9.77783 13.2271 9.77783 12C9.77783 10.7729 10.7729 9.77778 12 9.77778C13.2271 9.77778 14.2222 10.7729 14.2222 12Z",fill:"currentColor"},null,-1),r("path",{d:"M9.91145 21.8009C9.29001 21.6797 8.76914 21.2612 8.50632 20.6922L8.07372 19.7556C7.88838 19.3544 7.43553 19.1048 6.95371 19.1549L5.89572 19.2647C5.2733 19.3293 4.64823 19.114 4.22298 18.6611C3.74343 18.1504 3.32454 17.6037 2.97033 17.0181C2.61571 16.4318 2.32839 15.8106 2.10407 15.1566C1.89769 14.5549 2.02148 13.8954 2.4089 13.3902L3.0376 12.5704C3.30043 12.2277 3.30042 11.7722 3.03758 11.4295L2.40413 10.6035C2.01474 10.0958 1.891 9.43198 2.10208 8.82826C2.55037 7.54612 3.27017 6.35997 4.22 5.34259C4.64518 4.8872 5.27275 4.67067 5.89701 4.73544L6.95383 4.84514C7.43561 4.89515 7.88844 4.6456 8.07377 4.24441L8.50266 3.31593C8.76494 2.74818 9.28448 2.33019 9.90423 2.20761C11.2916 1.9332 12.7148 1.93127 14.0885 2.19913C14.7099 2.32029 15.2308 2.73881 15.4937 3.3078L15.9263 4.24441C16.1116 4.6456 16.5644 4.89514 17.0462 4.84514L18.1043 4.73532C18.7267 4.67072 19.3518 4.88603 19.777 5.33886C20.2566 5.84953 20.6755 6.3963 21.0297 6.98193C21.3843 7.56823 21.6716 8.18942 21.8959 8.84339C22.1023 9.44509 21.9785 10.1046 21.5911 10.6098L20.9624 11.4295C20.6996 11.7722 20.6996 12.2278 20.9624 12.5705L21.5959 13.3964C21.9853 13.9042 22.109 14.568 21.8979 15.1717C21.4497 16.4538 20.7299 17.6399 19.7801 18.6573C19.3549 19.1128 18.7273 19.3294 18.103 19.2646L17.0462 19.1549C16.5645 19.1049 16.1116 19.3544 15.9263 19.7556L15.4974 20.6841C15.2351 21.2518 14.7156 21.6698 14.0958 21.7924C12.7083 22.0668 11.2852 22.0687 9.91145 21.8009ZM13.7432 20.0088C13.7844 20.0006 13.8259 19.9673 13.847 19.9216L14.2758 18.9931C14.7915 17.8768 15.9886 17.2171 17.2341 17.3464L18.2909 17.4561C18.3649 17.4638 18.4272 17.4423 18.4512 17.4166C19.2296 16.5828 19.8171 15.6146 20.1817 14.5716C20.1845 14.5636 20.1796 14.5373 20.1532 14.5029L19.5198 13.677C18.7564 12.6815 18.7564 11.3185 19.5198 10.323L20.1485 9.5033C20.1746 9.46927 20.1795 9.4429 20.1762 9.43327C19.9932 8.89965 19.7603 8.39623 19.4741 7.92293C19.1873 7.4489 18.846 7.00333 18.4517 6.58351C18.4272 6.55739 18.3656 6.53616 18.2921 6.54378L17.234 6.65361C15.9886 6.78287 14.7915 6.12317 14.2758 5.00689L13.8432 4.07027C13.822 4.02448 13.7811 3.9916 13.7406 3.98371C12.5983 3.76097 11.4132 3.76258 10.2571 3.99124C10.2158 3.99941 10.1744 4.03271 10.1533 4.07842L9.72441 5.00689C9.20875 6.12317 8.01164 6.7829 6.76619 6.6536L5.70942 6.54391C5.63535 6.53623 5.573 6.55774 5.54905 6.5834C4.77067 7.41713 4.18312 8.38534 3.81845 9.42835C3.81564 9.43637 3.82054 9.46265 3.84693 9.49706L4.48038 10.323C5.24381 11.3185 5.24383 12.6815 4.48041 13.6769L3.85171 14.4967C3.82561 14.5307 3.82066 14.5571 3.82396 14.5667C4.00701 15.1004 4.23986 15.6038 4.52613 16.0771C4.81284 16.5511 5.15421 16.9967 5.54845 17.4165C5.57298 17.4426 5.63461 17.4638 5.70811 17.4562L6.76608 17.3464C8.01157 17.2171 9.20871 17.8768 9.72438 18.9932L10.157 19.9297C10.1781 19.9755 10.2191 20.0084 10.2595 20.0163C11.4018 20.239 12.587 20.2374 13.7432 20.0088Z",fill:"currentColor"},null,-1)])])}const Qf=Qe({name:"kimi-setting",render:Gf}),Yf={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Zf(e,t){return l(),c("svg",Yf,[...t[0]||(t[0]=[r("g",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2"},[r("path",{d:"M4 6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2zm5-2v16"}),r("path",{d:"m15 10l-2 2l2 2"})],-1)])])}const Xf=Qe({name:"tabler-layout-sidebar-left-collapse",render:Zf}),Jf={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function em(e,t){return l(),c("svg",Jf,[...t[0]||(t[0]=[r("g",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2"},[r("path",{d:"M4 6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2zm5-2v16"}),r("path",{d:"m14 10l2 2l-2 2"})],-1)])])}const tm=Qe({name:"tabler-layout-sidebar-left-expand",render:em}),nm={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function sm(e,t){return l(),c("svg",nm,[...t[0]||(t[0]=[r("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"m15 7l-6.5 6.5a1.5 1.5 0 0 0 3 3L18 10a3 3 0 0 0-6-6l-6.5 6.5a4.5 4.5 0 0 0 9 9L21 13"},null,-1)])])}const om=Qe({name:"tabler-paperclip",render:sm}),im={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function am(e,t){return l(),c("svg",im,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M11 11V5h2v6h6v2h-6v6h-2v-6H5v-2z"},null,-1)])])}const lm=Qe({name:"ri-add-line",render:am}),rm={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function um(e,t){return l(),c("svg",rm,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"m12.866 3l9.526 16.5a1 1 0 0 1-.866 1.5H2.474a1 1 0 0 1-.866-1.5L11.134 3a1 1 0 0 1 1.732 0m-8.66 16h15.588L12 5.5zM11 16h2v2h-2zm0-7h2v5h-2z"},null,-1)])])}const cm=Qe({name:"ri-alert-line",render:um}),dm={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function pm(e,t){return l(),c("svg",dm,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M3 10H2V4.003C2 3.449 2.455 3 2.992 3h18.016A.99.99 0 0 1 22 4.003V10h-1v10.002a.996.996 0 0 1-.993.998H3.993A.996.996 0 0 1 3 20.002zm16 0H5v9h14zM4 5v3h16V5zm5 7h6v2H9z"},null,-1)])])}const fm=Qe({name:"ri-archive-line",render:pm}),mm={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function vm(e,t){return l(),c("svg",mm,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"m13 16.172l5.364-5.364l1.414 1.414L12 20l-7.778-7.778l1.414-1.414L11 16.172V4h2z"},null,-1)])])}const gm=Qe({name:"ri-arrow-down-line",render:vm}),hm={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function ym(e,t){return l(),c("svg",hm,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"m12 13.171l4.95-4.95l1.414 1.415L12 16L5.636 9.636L7.05 8.222z"},null,-1)])])}const km=Qe({name:"ri-arrow-down-s-line",render:ym}),bm={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function wm(e,t){return l(),c("svg",bm,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"m5.828 7l2.536 2.535L6.95 10.95L2 6l4.95-4.95l1.414 1.415L5.828 5H13a8 8 0 1 1 0 16H4v-2h9a6 6 0 0 0 0-12z"},null,-1)])])}const Sm=Qe({name:"ri-arrow-go-back-line",render:wm}),Cm={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function _m(e,t){return l(),c("svg",Cm,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"m16.172 11l-5.364-5.364l1.414-1.414L20 12l-7.778 7.778l-1.414-1.414L16.172 13H4v-2z"},null,-1)])])}const Mm=Qe({name:"ri-arrow-right-line",render:_m}),$m={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function xm(e,t){return l(),c("svg",$m,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"m13.172 12l-4.95-4.95l1.414-1.413L16 12l-6.364 6.364l-1.414-1.415z"},null,-1)])])}const Tm=Qe({name:"ri-arrow-right-s-line",render:xm}),Im={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Am(e,t){return l(),c("svg",Im,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M13 7.828V20h-2V7.828l-5.364 5.364l-1.414-1.414L12 4l7.778 7.778l-1.414 1.414z"},null,-1)])])}const vr=Qe({name:"ri-arrow-up-line",render:Am}),Pm={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Em(e,t){return l(),c("svg",Pm,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"m12 10.828l-4.95 4.95l-1.414-1.414L12 8l6.364 6.364l-1.414 1.414z"},null,-1)])])}const Bm=Qe({name:"ri-arrow-up-s-line",render:Em}),Rm={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Lm(e,t){return l(),c("svg",Rm,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M4 18v-3.7a1.5 1.5 0 0 0-1.5-1.5H2v-1.6h.5A1.5 1.5 0 0 0 4 9.7V6a3 3 0 0 1 3-3h1v2H7a1 1 0 0 0-1 1v4.1A2 2 0 0 1 4.626 12A2 2 0 0 1 6 13.9V18a1 1 0 0 0 1 1h1v2H7a3 3 0 0 1-3-3m16-3.7V18a3 3 0 0 1-3 3h-1v-2h1a1 1 0 0 0 1-1v-4.1a2 2 0 0 1 1.374-1.9A2 2 0 0 1 18 10.1V6a1 1 0 0 0-1-1h-1V3h1a3 3 0 0 1 3 3v3.7a1.5 1.5 0 0 0 1.5 1.5h.5v1.6h-.5a1.5 1.5 0 0 0-1.5 1.5"},null,-1)])])}const Dm=Qe({name:"ri-braces-line",render:Lm}),Om={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function zm(e,t){return l(),c("svg",Om,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M9 3V1H7v2H3a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1h-4V1h-2v2zm-5 7h16v9H4zm0-5h3v1h2V5h6v1h2V5h3v3H4zm5.879 5.964L12 13.086l2.121-2.122l1.415 1.415l-2.122 2.121l2.121 2.121l-1.414 1.414L12 15.915l-2.121 2.12l-1.415-1.414l2.122-2.12l-2.122-2.122z"},null,-1)])])}const Fm=Qe({name:"ri-calendar-close-line",render:zm}),Nm={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Wm(e,t){return l(),c("svg",Nm,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M7 3V1h2v2h6V1h2v2h4a1 1 0 0 1 1 1v5h-2V5h-3v2h-2V5H9v2H7V5H4v14h6v2H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm10 9a4 4 0 1 0 0 8a4 4 0 0 0 0-8m-6 4a6 6 0 1 1 12 0a6 6 0 0 1-12 0m5-3v3.414l2.293 2.293l1.414-1.414L18 15.586V13z"},null,-1)])])}const qm=Qe({name:"ri-calendar-schedule-line",render:Wm}),Hm={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Um(e,t){return l(),c("svg",Hm,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M9 1v2h6V1h2v2h4a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h4V1zm11 10H4v8h16zM8 14v2H6v-2zm10 0v2h-8v-2zM7 5H4v4h16V5h-3v2h-2V5H9v2H7z"},null,-1)])])}const Vm=Qe({name:"ri-calendar-todo-line",render:Um}),jm={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Km(e,t){return l(),c("svg",jm,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"m10 15.17l9.192-9.191l1.414 1.414L10 17.999l-6.364-6.364l1.414-1.414z"},null,-1)])])}const Gm=Qe({name:"ri-check-line",render:Km}),Qm={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Ym(e,t){return l(),c("svg",Qm,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"m12 10.587l4.95-4.95l1.414 1.414l-4.95 4.95l4.95 4.95l-1.415 1.414l-4.95-4.95l-4.949 4.95l-1.414-1.415l4.95-4.95l-4.95-4.95L7.05 5.638z"},null,-1)])])}const Zm=Qe({name:"ri-close-line",render:Ym}),Xm={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Jm(e,t){return l(),c("svg",Xm,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"m23 12l-7.071 7.071l-1.414-1.414L20.172 12l-5.657-5.657l1.414-1.414zM3.828 12l5.657 5.657l-1.414 1.414L1 12l7.071-7.071l1.414 1.414z"},null,-1)])])}const ev=Qe({name:"ri-code-line",render:Jm}),tv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function nv(e,t){return l(),c("svg",tv,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M15 4h-2v7h7V9h-3.586l4.293-4.293l-1.414-1.414L15 7.586zM4 15h3.586l-4.293 4.293l1.414 1.414L9 16.414V20h2v-7H4z"},null,-1)])])}const sv=Qe({name:"ri-collapse-diagonal-line",render:nv}),ov={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function iv(e,t){return l(),c("svg",ov,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M3 19h18v2H3zm10-5.828L19.071 7.1l1.414 1.414L12 17L3.515 8.515L4.929 7.1L11 13.173V2h2z"},null,-1)])])}const av=Qe({name:"ri-download-line",render:iv}),lv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function rv(e,t){return l(),c("svg",lv,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M8.5 7a1.5 1.5 0 1 0 0-3a1.5 1.5 0 0 0 0 3m0 6.5a1.5 1.5 0 1 0 0-3a1.5 1.5 0 0 0 0 3m1.5 5a1.5 1.5 0 1 1-3 0a1.5 1.5 0 0 1 3 0M15.5 7a1.5 1.5 0 1 0 0-3a1.5 1.5 0 0 0 0 3m1.5 5a1.5 1.5 0 1 1-3 0a1.5 1.5 0 0 1 3 0m-1.5 8a1.5 1.5 0 1 0 0-3a1.5 1.5 0 0 0 0 3"},null,-1)])])}const uv=Qe({name:"ri-draggable",render:rv}),cv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function dv(e,t){return l(),c("svg",cv,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M6.17 18a3.001 3.001 0 0 1 5.66 0H22v2H11.83a3.001 3.001 0 0 1-5.66 0H2v-2zm6-7a3.001 3.001 0 0 1 5.66 0H22v2h-4.17a3.001 3.001 0 0 1-5.66 0H2v-2zm-6-7a3.001 3.001 0 0 1 5.66 0H22v2H11.83a3.001 3.001 0 0 1-5.66 0H2V4zM9 6a1 1 0 1 0 0-2a1 1 0 0 0 0 2m6 7a1 1 0 1 0 0-2a1 1 0 0 0 0 2m-6 7a1 1 0 1 0 0-2a1 1 0 0 0 0 2"},null,-1)])])}const pv=Qe({name:"ri-equalizer-line",render:dv}),fv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function mv(e,t){return l(),c("svg",fv,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M17.586 5H14V3h7v7h-2V6.414l-4.293 4.293l-1.414-1.414zM3 14h2v3.586l4.293-4.293l1.414 1.414L6.414 19H10v2H3z"},null,-1)])])}const vv=Qe({name:"ri-expand-diagonal-line",render:mv}),gv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function hv(e,t){return l(),c("svg",gv,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M10 6v2H5v11h11v-5h2v6a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1zm11-3v8h-2V6.413l-7.793 7.794l-1.414-1.414L17.585 5H13V3z"},null,-1)])])}const yv=Qe({name:"ri-external-link-line",render:hv}),kv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function bv(e,t){return l(),c("svg",kv,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M15 4H5v16h14V8h-4zM3 2.992C3 2.444 3.447 2 3.999 2H16l5 5v13.993A1 1 0 0 1 20.007 22H3.993A1 1 0 0 1 3 21.008zM11 11V8h2v3h3v2h-3v3h-2v-3H8v-2z"},null,-1)])])}const wv=Qe({name:"ri-file-add-line",render:bv}),Sv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Cv(e,t){return l(),c("svg",Sv,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M7 6V3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1h-3v3c0 .552-.45 1-1.007 1H4.007A1 1 0 0 1 3 21l.003-14c0-.552.45-1 1.006-1zM5.002 8L5 20h10V8zM9 6h8v10h2V4H9z"},null,-1)])])}const _v=Qe({name:"ri-file-copy-line",render:Cv}),Mv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function $v(e,t){return l(),c("svg",Mv,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"m21 6.757l-2 2V4h-9v5H5v11h14v-2.757l2-2v5.765a.993.993 0 0 1-.993.992H3.993A1 1 0 0 1 3 20.993V8l6.003-6h10.995C20.55 2 21 2.455 21 2.992zm.778 2.05l1.414 1.415L15.414 18l-1.416-.002l.002-1.412z"},null,-1)])])}const xv=Qe({name:"ri-file-edit-line",render:$v}),Tv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Iv(e,t){return l(),c("svg",Tv,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M9 2.003V2h10.998C20.55 2 21 2.455 21 2.992v18.016a.993.993 0 0 1-.993.992H3.993A1 1 0 0 1 3 20.993V8zM5.83 8H9V4.83zM11 4v5a1 1 0 0 1-1 1H5v10h14V4z"},null,-1)])])}const gr=Qe({name:"ri-file-line",render:Iv}),Av={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Pv(e,t){return l(),c("svg",Av,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M21 8v12.993A1 1 0 0 1 20.007 22H3.993A.993.993 0 0 1 3 21.008V2.992C3 2.455 3.449 2 4.002 2h10.995zm-2 1h-5V4H5v16h14zM8 7h3v2H8zm0 4h8v2H8zm0 4h8v2H8z"},null,-1)])])}const Ev=Qe({name:"ri-file-text-line",render:Pv}),Bv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Rv(e,t){return l(),c("svg",Bv,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M13 9h8L11 24v-9H4l9-15zm-2 2V7.22L7.532 13H13v4.394L17.263 11z"},null,-1)])])}const Lv=Qe({name:"ri-flashlight-line",render:Rv}),Dv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Ov(e,t){return l(),c("svg",Dv,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M12.414 5H21a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414zM4 5v14h16V7h-8.414l-2-2zm7 7V9h2v3h3v2h-3v3h-2v-3H8v-2z"},null,-1)])])}const zv=Qe({name:"ri-folder-add-line",render:Ov}),Fv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Nv(e,t){return l(),c("svg",Fv,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M12.414 5H21a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414z"},null,-1)])])}const Wv=Qe({name:"ri-folder-fill",render:Nv}),qv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Hv(e,t){return l(),c("svg",qv,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M6 5a1 1 0 1 0 0 2a1 1 0 0 0 0-2M3 6a3 3 0 1 1 4 2.83V9a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2v-.17a3.001 3.001 0 1 1 2 0V9a4 4 0 0 1-4 4h-2v2.17a3.001 3.001 0 1 1-2 0V13H9a4 4 0 0 1-4-4v-.17A3 3 0 0 1 3 6m15-1a1 1 0 1 0 0 2a1 1 0 0 0 0-2m-6 12a1 1 0 1 0 0 2a1 1 0 0 0 0-2"},null,-1)])])}const Uv=Qe({name:"ri-git-fork-line",render:Hv}),Vv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function jv(e,t){return l(),c("svg",Vv,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M15 5h2a2 2 0 0 1 2 2v8.17a3.001 3.001 0 1 1-2 0V7h-2v3l-4.5-4L15 2zM5 8.83a3.001 3.001 0 1 1 2 0v6.34a3.001 3.001 0 1 1-2 0zM6 7a1 1 0 1 0 0-2a1 1 0 0 0 0 2m0 12a1 1 0 1 0 0-2a1 1 0 0 0 0 2m12 0a1 1 0 1 0 0-2a1 1 0 0 0 0 2"},null,-1)])])}const Kv=Qe({name:"ri-git-pull-request-line",render:jv}),Gv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Qv(e,t){return l(),c("svg",Gv,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10s-4.477 10-10 10m-2.29-2.333A17.9 17.9 0 0 1 8.027 13H4.062a8.01 8.01 0 0 0 5.648 6.667M10.03 13c.151 2.439.848 4.73 1.97 6.752A15.9 15.9 0 0 0 13.97 13zm9.908 0h-3.965a17.9 17.9 0 0 1-1.683 6.667A8.01 8.01 0 0 0 19.938 13M4.062 11h3.965A17.9 17.9 0 0 1 9.71 4.333A8.01 8.01 0 0 0 4.062 11m5.969 0h3.938A15.9 15.9 0 0 0 12 4.248A15.9 15.9 0 0 0 10.03 11m4.259-6.667A17.9 17.9 0 0 1 15.973 11h3.965a8.01 8.01 0 0 0-5.648-6.667"},null,-1)])])}const Yv=Qe({name:"ri-global-line",render:Qv}),Zv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Xv(e,t){return l(),c("svg",Zv,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M2.992 21A.993.993 0 0 1 2 20.007V3.993A1 1 0 0 1 2.992 3h18.016c.548 0 .992.445.992.993v16.014a1 1 0 0 1-.992.993zM20 15V5H4v14L14 9zm0 2.828l-6-6L6.828 19H20zM8 11a2 2 0 1 1 0-4a2 2 0 0 1 0 4"},null,-1)])])}const hr=Qe({name:"ri-image-line",render:Xv}),Jv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function e1(e,t){return l(),c("svg",Jv,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10s-4.477 10-10 10m0-2a8 8 0 1 0 0-16a8 8 0 0 0 0 16M11 7h2v2h-2zm0 4h2v6h-2z"},null,-1)])])}const t1=Qe({name:"ri-information-line",render:e1}),n1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function s1(e,t){return l(),c("svg",n1,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"m13.06 8.111l1.415 1.414a7 7 0 0 1 0 9.9l-.354.353a7 7 0 1 1-9.9-9.9l1.415 1.415a5 5 0 1 0 7.071 7.071l.354-.354a5 5 0 0 0 0-7.07l-1.415-1.415zm6.718 6.01l-1.414-1.414a5 5 0 0 0-7.071-7.07l-.354.353a5 5 0 0 0 0 7.07l1.415 1.415l-1.415 1.414l-1.414-1.414a7 7 0 0 1 0-9.9l.354-.353a7 7 0 1 1 9.9 9.9"},null,-1)])])}const o1=Qe({name:"ri-links-line",render:s1}),i1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function a1(e,t){return l(),c("svg",i1,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M8 4h13v2H8zm-5-.5h3v3H3zm0 7h3v3H3zm0 7h3v3H3zM8 11h13v2H8zm0 7h13v2H8z"},null,-1)])])}const l1=Qe({name:"ri-list-check",render:a1}),r1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function u1(e,t){return l(),c("svg",r1,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M8 4h13v2H8zM4.5 6.5a1.5 1.5 0 1 1 0-3a1.5 1.5 0 0 1 0 3m0 7a1.5 1.5 0 1 1 0-3a1.5 1.5 0 0 1 0 3m0 6.9a1.5 1.5 0 1 1 0-3a1.5 1.5 0 0 1 0 3M8 11h13v2H8zm0 7h13v2H8z"},null,-1)])])}const c1=Qe({name:"ri-list-unordered",render:u1}),d1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function p1(e,t){return l(),c("svg",d1,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M4 15h2v5h12V4H6v5H4V3a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1zm6-4V8l5 4l-5 4v-3H2v-2z"},null,-1)])])}const f1=Qe({name:"ri-login-box-line",render:p1}),m1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function v1(e,t){return l(),c("svg",m1,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1m17 4.238l-7.928 7.1L4 7.216V19h16zM4.511 5l7.55 6.662L19.502 5z"},null,-1)])])}const g1=Qe({name:"ri-mail-line",render:v1}),h1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function y1(e,t){return l(),c("svg",h1,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M6.455 19L2 22.5V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1zm-.692-2H20V5H4v13.385zM8 10h8v2H8z"},null,-1)])])}const k1=Qe({name:"ri-message-line",render:y1}),b1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function w1(e,t){return l(),c("svg",b1,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M6 5h2v14H6zm10 0h2v14h-2z"},null,-1)])])}const S1=Qe({name:"ri-pause-fill",render:w1}),C1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function _1(e,t){return l(),c("svg",C1,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"m15.728 9.576l-1.414-1.414L5 17.476v1.414h1.414zm1.414-1.414l1.414-1.414l-1.414-1.414l-1.414 1.414zm-9.9 12.728H3v-4.243L16.435 3.212a1 1 0 0 1 1.414 0l2.829 2.829a1 1 0 0 1 0 1.414z"},null,-1)])])}const M1=Qe({name:"ri-pencil-line",render:_1}),$1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function x1(e,t){return l(),c("svg",$1,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M19.376 12.416L8.777 19.482A.5.5 0 0 1 8 19.066V4.934a.5.5 0 0 1 .777-.416l10.599 7.066a.5.5 0 0 1 0 .832"},null,-1)])])}const T1=Qe({name:"ri-play-fill",render:x1}),I1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function A1(e,t){return l(),c("svg",I1,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"m22.313 10.175l-1.415 1.414l-.707-.707l-4.242 4.243l-.707 3.536l-1.415 1.414l-4.242-4.243l-4.95 4.95l-1.414-1.414l4.95-4.95l-4.243-4.243l1.414-1.414l3.536-.707l4.242-4.243l-.707-.707l1.414-1.414z"},null,-1)])])}const P1=Qe({name:"ri-pushpin-fill",render:A1}),E1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function B1(e,t){return l(),c("svg",E1,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"m13.827 1.69l8.486 8.485l-1.415 1.414l-.707-.707l-4.242 4.243l-.707 3.536l-1.415 1.414l-4.242-4.243l-4.95 4.95l-1.414-1.414l4.95-4.95l-4.243-4.243l1.414-1.414l3.536-.707l4.242-4.243l-.707-.707zm.707 3.536l-4.67 4.67l-2.822.565l6.5 6.5l.564-2.822l4.671-4.67z"},null,-1)])])}const R1=Qe({name:"ri-pushpin-line",render:B1}),L1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function D1(e,t){return l(),c("svg",L1,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10s-4.477 10-10 10m0-2a8 8 0 1 0 0-16a8 8 0 0 0 0 16m-1-5h2v2h-2zm2-1.645V14h-2v-1.5a1 1 0 0 1 1-1a1.5 1.5 0 1 0-1.471-1.794l-1.962-.393A3.501 3.501 0 1 1 13 13.355"},null,-1)])])}const O1=Qe({name:"ri-question-line",render:D1}),z1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function F1(e,t){return l(),c("svg",z1,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10s-4.477 10-10 10m0-2a8 8 0 1 0 0-16a8 8 0 0 0 0 16m-4-7h8a4 4 0 0 1-8 0m0-2a1.5 1.5 0 1 1 0-3a1.5 1.5 0 0 1 0 3m8 0a1.5 1.5 0 1 1 0-3a1.5 1.5 0 0 1 0 3"},null,-1)])])}const N1=Qe({name:"ri-emotion-line",render:F1}),W1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function q1(e,t){return l(),c("svg",W1,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M20 4v12h3l-4 5l-4-5h3V4zm-8 14v2H3v-2zm2-7v2H3v-2zm0-7v2H3V4z"},null,-1)])])}const H1=Qe({name:"ri-sort-desc",render:q1}),U1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function V1(e,t){return l(),c("svg",U1,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M14 4.438A2.437 2.437 0 0 0 16.438 2h1.125A2.437 2.437 0 0 0 20 4.438v1.125A2.437 2.437 0 0 0 17.563 8h-1.125A2.437 2.437 0 0 0 14 5.563zM1 11a6 6 0 0 0 6-6h2a6 6 0 0 0 6 6v2a6 6 0 0 0-6 6H7a6 6 0 0 0-6-6zm3.876 1A8.04 8.04 0 0 1 8 15.124A8.04 8.04 0 0 1 11.124 12A8.04 8.04 0 0 1 8 8.876A8.04 8.04 0 0 1 4.876 12m12.374 2A3.25 3.25 0 0 1 14 17.25v1.5A3.25 3.25 0 0 1 17.25 22h1.5A3.25 3.25 0 0 1 22 18.75v-1.5A3.25 3.25 0 0 1 18.75 14z"},null,-1)])])}const j1=Qe({name:"ri-sparkling-line",render:V1}),K1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function G1(e,t){return l(),c("svg",K1,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"m12 18.26l-7.053 3.948l1.575-7.928L.588 8.792l8.027-.952L12 .5l3.385 7.34l8.027.952l-5.934 5.488l1.575 7.928z"},null,-1)])])}const Q1=Qe({name:"ri-star-fill",render:G1}),Y1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Z1(e,t){return l(),c("svg",Y1,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"m12 18.26l-7.053 3.948l1.575-7.928L.588 8.792l8.027-.952L12 .5l3.385 7.34l8.027.952l-5.934 5.488l1.575 7.928zm0-2.292l4.247 2.377l-.948-4.773l3.573-3.305l-4.833-.573l-2.038-4.419l-2.039 4.42l-4.833.572l3.573 3.305l-.948 4.773z"},null,-1)])])}const X1=Qe({name:"ri-star-line",render:Z1}),J1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function eg(e,t){return l(),c("svg",J1,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M6 5h12a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1"},null,-1)])])}const tg=Qe({name:"ri-stop-fill",render:eg}),ng={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function sg(e,t){return l(),c("svg",ng,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M5 11v2h14v-2z"},null,-1)])])}const og=Qe({name:"ri-subtract-line",render:sg}),ig={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function ag(e,t){return l(),c("svg",ig,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M12 2a1 1 0 1 1 0 2a8 8 0 1 0 8 8a1 1 0 1 1 2 0c0 5.523-4.477 10-10 10S2 17.523 2 12S6.477 2 12 2m0 4a1 1 0 1 1 0 2a4 4 0 1 0 4 4a1 1 0 1 1 2 0a6 6 0 1 1-6-6m5.656-3.9a1.001 1.001 0 0 1 1.415 1.415l-.708.706h.001a1 1 0 1 0 1.414 1.415l.707-.707A1 1 0 0 1 21.9 6.343l-2.12 2.122a1 1 0 0 1-.708.292h-2.414l-3.95 3.95a1 1 0 0 1-1.414-1.414l3.95-3.95V4.93a1 1 0 0 1 .292-.707z"},null,-1)])])}const lg=Qe({name:"ri-target-line",render:ag}),rg={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function ug(e,t){return l(),c("svg",rg,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1m1 2v14h16V5zm8 10h6v2h-6zm-3.333-3L5.838 9.172l1.415-1.415L11.495 12l-4.242 4.243l-1.415-1.415z"},null,-1)])])}const cg=Qe({name:"ri-terminal-box-line",render:ug}),dg={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function pg(e,t){return l(),c("svg",dg,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10s-4.477 10-10 10m0-2a8 8 0 1 0 0-16a8 8 0 0 0 0 16m1-8h4v2h-6V7h2z"},null,-1)])])}const fg=Qe({name:"ri-time-line",render:pg}),mg={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function vg(e,t){return l(),c("svg",mg,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M5.33 3.272a3.5 3.5 0 0 1 4.254 4.962l10.709 10.71l-1.414 1.414l-10.71-10.71a3.502 3.502 0 0 1-4.962-4.255L5.444 7.63a1.5 1.5 0 0 0 2.121-2.121zm10.367 1.883l3.182-1.768l1.414 1.415l-1.768 3.182l-1.768.353l-2.12 2.121l-1.415-1.414l2.121-2.121zm-6.718 8.132l1.415 1.414l-5.304 5.303a1 1 0 0 1-1.492-1.327l.078-.087z"},null,-1)])])}const gg=Qe({name:"ri-tools-line",render:vg}),hg={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function yg(e,t){return l(),c("svg",hg,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M4 22a8 8 0 1 1 16 0h-2a6 6 0 0 0-12 0zm8-9c-3.315 0-6-2.685-6-6s2.685-6 6-6s6 2.685 6 6s-2.685 6-6 6m0-2c2.21 0 4-1.79 4-4s-1.79-4-4-4s-4 1.79-4 4s1.79 4 4 4"},null,-1)])])}const kg=Qe({name:"ri-user-line",render:yg}),bg={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function wg(e,t){return l(),c("svg",bg,[...t[0]||(t[0]=[r("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 3h.393a7.5 7.5 0 0 0 7.92 12.446A9 9 0 1 1 12 2.992zm5 1a2 2 0 0 0 2 2a2 2 0 0 0-2 2a2 2 0 0 0-2-2a2 2 0 0 0 2-2m2 7h2m-1-1v2"},null,-1)])])}const Sg=Qe({name:"tabler-moon-stars",render:wg}),Cg=`
+
+
+
+`,_g=`
+
+
+`,Mg=`
+
+
+
+
+
+
+
+
+
+`,$g=`
+
+
+
+
+`,xg=`
+
+
+`,Tg=`
+
+
+
+`,Ig=' ',Ag=' ',Pg=' ',Eg=' ',Bg=' ',Rg=' ',Lg=' ',Dg=' ',Og=' ',zg=' ',Fg=' ',Ng=' ',yr=' ',Wg=' ',qg=' ',Hg=' ',Ug=' ',Vg=' ',jg=' ',Kg=' ',Gg=' ',Qg=' ',Yg=' ',Zg=' ',Xg=' ',Jg=' ',eh=' ',th=' ',nh=' ',sh=' ',kr=' ',oh=' ',ih=' ',ah=' ',lh=' ',rh=' ',uh=' ',ch=' ',br=' ',dh=' ',ph=' ',fh=' ',mh=' ',vh=' ',gh=' ',hh=' ',yh=' ',kh=' ',bh=' ',wh=' ',Sh=' ',Ch=' ',_h=' ',Mh=' ',$h=' ',xh=' ',Th=' ',Ih=' ',Ah=' ',Ph=' ',Eh=' ',Bh=' ',Rh=' ',Lh=' ',dc={sm:14,md:16,lg:20};function Ke(e,t){return{component:e,svg:t}}const pc={plus:Ke(lm,Bg),"chat-new":Ke(Ef,Cg),"calendar-close":Ke(Fm,Hg),"calendar-schedule":Ke(qm,Ug),"calendar-todo":Ke(Vm,Vg),close:Ke(Zm,Kg),check:Ke(Gm,jg),archive:Ke(fm,Lg),search:Ke(jf,xg),copy:Ke(_v,nh),link:Ke(o1,ph),"external-link":Ke(yv,eh),download:Ke(av,Yg),undo:Ke(Sm,zg),send:Ke(vr,yr),image:Ke(hr,br),settings:Ke(Qf,Tg),sliders:Ke(pv,Xg),"log-in":Ke(f1,vh),"chevron-down":Ke(km,Og),"chevron-right":Ke(Tm,Ng),"chevron-up":Ke(Bm,Wg),"arrow-up":Ke(vr,yr),"arrow-down":Ke(gm,Dg),"arrow-right":Ke(Mm,Fg),minus:Ke(og,Ah),"panel-collapse":Ke(Xf,Ig),"panel-expand":Ke(tm,Ag),expand:Ke(vv,Jg),collapse:Ke(sv,Qg),list:Ke(c1,mh),sort:Ke(H1,Mh),grip:Ke(uv,Zg),folder:Ke(Nf,Mg),"folder-closed":Ke(Lf,_g),"folder-plus":Ke(zv,ah),"folder-solid":Ke(Wv,lh),file:Ke(gr,kr),"file-text":Ke(Ev,oh),"file-edit":Ke(xv,sh),"file-plus":Ke(wv,th),"file-off":Ke(gr,kr),attachment:Ke(om,Pg),"image-off":Ke(hr,br),code:Ke(ev,Gg),terminal:Ke(cg,Eh),pencil:Ke(M1,kh),tool:Ke(gg,Rh),glob:Ke(Dm,qg),globe:Ke(Yv,ch),"check-list":Ke(l1,fh),bolt:Ke(Lv,ih),"git-fork":Ke(Uv,rh),"git-pull-request":Ke(Kv,uh),message:Ke(k1,hh),mail:Ke(g1,gh),user:Ke(kg,Lh),info:Ke(t1,dh),"help-circle":Ke(O1,Ch),"alert-triangle":Ke(cm,Rg),clock:Ke(fg,Bh),sparkles:Ke(j1,$h),"moon-stars":Ke(Sg,Eg),target:Ke(lg,Ph),pause:Ke(S1,yh),play:Ke(T1,bh),stop:Ke(tg,Ih),star:Ke(Q1,xh),"star-outline":Ke(X1,Th),pin:Ke(R1,Sh),"pin-fill":Ke(P1,wh),emotion:Ke(N1,_h),"dots-horizontal":Ke(Hf,$g)};function Dh(e){return pc[e]}function Oh(e,t){return e.replace(/\s(?:width|height)="[^"]*"/g,"").replace(/^Dh(t.name)),s=M(()=>dc[t.size]);return(o,i)=>n.value?(l(),q(Ju(n.value.component),{key:0,class:"kw-icon",width:s.value,height:s.value,"aria-label":e.label,"aria-hidden":e.label?void 0:!0},null,8,["width","height","aria-label","aria-hidden"])):I("",!0)}}),zh={key:0,class:"ui-dialog__head"},Fh={class:"ui-dialog__titles"},Nh={key:0,class:"ui-dialog__title"},Wh={key:1,class:"ui-dialog__desc"},qh={class:"ui-dialog__body"},Hh={key:1,class:"ui-dialog__foot"},Uh='a[href], button:not([disabled]), textarea:not([disabled]), input:not([disabled]), select:not([disabled]), [tabindex]:not([tabindex="-1"])',Vh=Ee({__name:"Dialog",props:{open:{type:Boolean},title:{},description:{},closeOnOverlay:{type:Boolean,default:!0},closeOnEsc:{type:Boolean,default:!0},size:{default:"md"},height:{default:"auto"},padded:{type:Boolean,default:!0},initialFocus:{}},emits:["update:open","close"],setup(e,{emit:t}){const{t:n}=Ye(),s=e,o=t,i=T(null);let u=null;function p(){o("update:open",!1),o("close")}function f(){return i.value?Array.from(i.value.querySelectorAll(Uh)):[]}function v(){const{initialFocus:g}=s;return g?typeof g=="function"?g()??null:typeof g=="string"?i.value?.querySelector(g)??null:i.value?.contains(g)?g:null:null}function k(g){if(!s.open)return;if(g.key==="Escape"&&s.closeOnEsc){g.preventDefault(),p();return}if(g.key!=="Tab")return;const m=f(),$=m[0],h=m[m.length-1];if(!$||!h){g.preventDefault(),i.value?.focus();return}const y=document.activeElement;g.shiftKey&&y===$?(g.preventDefault(),h.focus()):!g.shiftKey&&y===h&&(g.preventDefault(),$.focus())}function x(g){s.closeOnOverlay&&g.target===g.currentTarget&&p()}return Ne(()=>s.open,async g=>{if(g){Po.value+=1,u=document.activeElement,await Xe();const m=v(),$=f();(m??$[0]??i.value)?.focus()}else Po.value=Math.max(0,Po.value-1),u instanceof HTMLElement&&(u.focus(),u=null)},{immediate:!0}),typeof window<"u"&&window.addEventListener("keydown",k),_n(()=>{typeof window<"u"&&window.removeEventListener("keydown",k),s.open&&(Po.value=Math.max(0,Po.value-1))}),(g,m)=>(l(),q(ss,{to:"body"},[e.open?(l(),c("div",{key:0,class:"ui-dialog__overlay",onMousedown:x},[r("div",{ref_key:"panel",ref:i,class:fe(["ui-dialog",[`ui-dialog--${e.size}`,{"ui-dialog--flush":!e.padded,"ui-dialog--fixed-height":e.height==="fixed"}]]),role:"dialog","aria-modal":"true",tabindex:"-1"},[e.title||g.$slots.head?(l(),c("div",zh,[At(g.$slots,"head",{},()=>[r("div",Fh,[e.title?(l(),c("div",Nh,d(e.title),1)):I("",!0),e.description?(l(),c("div",Wh,d(e.description),1)):I("",!0)])],!0),w(lt,{class:"ui-dialog__close",size:"sm",label:a(n)("common.close"),onClick:p},{default:L(()=>[w(X,{name:"close",size:"md"})]),_:1},8,["label"])])):I("",!0),r("div",qh,[At(g.$slots,"default",{},void 0,!0)]),g.$slots.foot?(l(),c("div",Hh,[At(g.$slots,"foot",{},void 0,!0)])):I("",!0)],2)],32)):I("",!0)]))}}),ms=Re(Vh,[["__scopeId","data-v-ee025dcb"]]),jh={key:0,class:"ui-badge__dot","aria-hidden":"true"},Kh=Ee({__name:"Badge",props:{variant:{default:"neutral"},size:{default:"md"},dot:{type:Boolean}},setup(e){return(t,n)=>(l(),c("span",{class:fe(["ui-badge",[`ui-badge--${e.variant}`,`ui-badge--${e.size}`]])},[e.dot?(l(),c("span",jh)):I("",!0),At(t.$slots,"default",{},void 0,!0)],2))}}),Et=Re(Kh,[["__scopeId","data-v-5bc5cd6d"]]),Gh={class:"sd-head"},Qh=["placeholder","aria-label"],Yh=["aria-selected","onClick","onMousemove"],Zh={class:"sd-meta"},Xh=["innerHTML"],Jh={class:"sd-title sd-title--ws"},e0={class:"sd-meta"},t0=["innerHTML"],n0={class:"sd-time"},s0=["innerHTML"],o0=["innerHTML"],i0={key:1,class:"sd-empty"},a0={class:"sd-hint"},l0=Ee({__name:"SearchSessionsDialog",props:{sessions:{},workspaces:{},activeId:{}},emits:["select","selectWorkspace","close"],setup(e,{emit:t}){const{t:n}=Ye(),s=e,o=t,i=T(!0),u=T(""),p=T(null),f=T(null),v=M(()=>s.workspaces??[]),k=M(()=>xf(u.value,s.sessions,v.value)),x=T(0);Ne(u,()=>{x.value=0});function g(B){const b=k.value.length;return b===0?0:Math.max(0,Math.min(b-1,B))}async function m(){await Xe(),f.value?.querySelector('[aria-selected="true"]')?.scrollIntoView({block:"nearest"})}function $(B){x.value=g(x.value+B),m()}function h(B){B.kind==="workspace"&&B.workspaceId?o("selectWorkspace",B.workspaceId):B.sessionId&&o("select",B.sessionId),o("close")}function y(){const B=k.value[x.value];B&&h(B)}function S(B){B.key==="ArrowDown"?(B.preventDefault(),$(1)):B.key==="ArrowUp"?(B.preventDefault(),$(-1)):B.key==="Enter"&&(B.preventDefault(),y())}return xt(()=>{p.value?.focus()}),(B,b)=>(l(),q(ms,{open:i.value,"onUpdate:open":b[1]||(b[1]=P=>i.value=P),size:"lg",height:"fixed",padded:!1,onClose:b[2]||(b[2]=P=>o("close"))},{head:L(()=>[r("div",Gh,[w(X,{class:"sd-search-icon",name:"search",size:"md"}),wt(r("input",{ref_key:"inputRef",ref:p,"onUpdate:modelValue":b[0]||(b[0]=P=>u.value=P),class:"sd-input",type:"text",placeholder:a(n)("sidebar.searchPlaceholder"),"aria-label":a(n)("sidebar.searchPlaceholder"),autocomplete:"off",spellcheck:"false",onKeydown:S},null,40,Qh),[[Dn,u.value]])])]),foot:L(()=>[r("span",a0,d(a(n)("sidebar.searchHint")),1)]),default:L(()=>[r("div",{ref_key:"listRef",ref:f,class:"sd-list",role:"listbox"},[k.value.length>0?(l(!0),c(de,{key:0},Pe(k.value,(P,E)=>(l(),c("button",{key:`${P.kind}:${P.workspaceId}:${P.sessionId??""}`,class:fe(["sd-row",[{on:E===x.value,"is-workspace":P.kind==="workspace"}]]),role:"option","aria-selected":E===x.value,onClick:R=>h(P),onMousemove:R=>x.value=E},[P.kind==="workspace"?(l(),c(de,{key:0},[r("span",Zh,[w(X,{class:"sd-folder",name:"folder",size:"sm"}),r("span",{class:"sd-ws",innerHTML:a(Si)(P.title,P.inTitle?u.value:"")},null,8,Xh),w(Et,{variant:"neutral",size:"sm"},{default:L(()=>[ee(d(a(n)("sidebar.workspaces")),1)]),_:1})]),r("span",Jh,d(P.title),1)],64)):(l(),c(de,{key:1},[r("span",e0,[w(X,{class:"sd-folder",name:"folder-closed",size:"sm"}),r("span",{class:"sd-ws",innerHTML:a(Si)(P.workspaceName??P.workspaceId,P.inWorkspace?u.value:"")},null,8,t0),r("span",n0,d(P.time),1)]),r("span",{class:"sd-title",innerHTML:a(Si)(P.title,P.inTitle?u.value:"")},null,8,s0),P.snippetText?(l(),c("span",{key:0,class:"sd-snippet",innerHTML:a(Si)(P.snippetText,u.value)},null,8,o0)):I("",!0)],64))],42,Yh))),128)):(l(),c("div",i0,d(a(n)("sidebar.searchNoResults")),1))],512)]),_:1},8,["open"]))}}),r0=Re(l0,[["__scopeId","data-v-8a3dfe4f"]]);function Wi(e){return e.isComposing===!0||e.keyCode===229}function Ka(e){return e.lastTurnReason==="failed"}const mc=["⚡","🔥","✅","❌","📌","⭐","🚀","💡","📝","🎯","🧠","🤖","🔧","📦","🌱","🎨","🔍","📈","🕐","🎉"];function u0(e){return mc.includes(e)}function c0(){const e=to(Ge.sessionEmoji);if(!e||typeof e!="object"||Array.isArray(e))return{};const t={};for(const[n,s]of Object.entries(e))typeof s=="string"&&u0(s)&&(t[n]=s);return t}function d0(e){Ns(Ge.sessionEmoji,e)}function p0(e,t,n){const s={...e};return n===null||n===""?delete s[t]:s[t]=n,s}const f0={preview:"Preview",confirm:"Confirm",cancel:"Cancel",close:"Close",copy:"Copy"},m0={authBannerMessage:"Not signed in · Sign in to Kimi Code to start a conversation",authBannerLogin:"Sign in",authPageTitle:"Sign in to Kimi Code",authPageMessage:"Connect your Kimi Code account before starting or continuing conversations.",authPageLogin:"Sign in",connecting:"Connecting…",connectRetrying:"Cannot reach the server — retrying…",internalBuildBanner:"Internal testing only"},v0={workspaceMeta:"workspace · {branch}",sessionsHeader:"sessions",workspaces:"Workspaces",sortWorkspaces:"Sort workspaces",sortManual:"Manual",sortRecent:"Recent activity",collapseAll:"Collapse all workspaces",expandAll:"Expand all workspaces",newSession:"New Session",newChat:"New Chat",newWorkspace:"New Workspace",emptyState:"No sessions yet · click New Session to start",archiveConfirm:"Archive this session? You can restore it later from Settings.",options:"Options",pin:"Pin session",unpin:"Unpin session",pinned:"Pinned",resizePinnedAria:"Resize pinned section height",emoji:"Set emoji",emojiRemove:"Remove emoji",rename:"Rename",genTitle:"Gen Title",genTitleUnavailable:"Title generation unavailable — needs a managed Kimi Code login and at least one message",prTag:"PR #{number}",copyPath:"Copy path",copySessionId:"Copy session ID",copied:"Copied ✓",copyFailed:"Copy failed",archive:"Archive",fork:"Fork session",export:"Export session",delete:"Delete",removeWorkspace:"Remove workspace",brand:"Kimi Code",signedIn:"Signed in",signOut:"Sign out",notSignedIn:"Not signed in",signIn:"Sign in",language:"Language",daemon:"Daemon",backendTitle:"Backend {backend} · {endpoint} — click to switch",noSessions:"No conversations yet",showMore:"Load {count} more conversations",showLess:"Show less",showAll:"Show {count} more conversations",loadingMore:"Loading…",collapseSidebar:"Collapse sidebar",expandSidebar:"Expand sidebar",viewModeFlat:"Show sessions as a flat list",viewModeGrouped:"Group sessions by workspace",mascot:"Kimi mascot",searchPlaceholder:"Search sessions and workspaces",search:"Search",searchHint:"↑↓ navigate · ↵ open · Esc close",searchNoResults:"No matching sessions or workspaces",tagOpen:"Open",tagDone:"Done",markDone:"Mark as done",reopen:"Mark as open",markDoneCount:"Mark as done ({n})",noDoneSessions:"No completed sessions",tabWorkspaces:"Workspaces",tabDone:"Done",viewSwitcher:"Switch session view",manageSessions:"Manage sessions"},g0={switcherTitle:"Switch workspace",switchTooltip:"Switch workspace",eyebrow:"Workspace",branchLabel:"branch: {branch}",noBranch:"no branch",sessionCount:"{count} session | {count} sessions",allWorkspaces:"All workspaces",currentWorkspace:"Current workspace only",addWorkspace:"Add workspace…",noWorkspace:"No workspace",deleteHasSessions:"This workspace still has sessions — archive them before deleting it",removeWorkspaceConfirm:'Remove workspace "{name}"?',swarmEnableConfirm:"Enable swarm mode? The agent will run multiple sub-agents in parallel.",goalStartConfirm:'Start goal: "{objective}"? The agent will run autonomously toward it.',doneWhen:"Done when",scopeCurrent:"this workspace",scopeAll:"all workspaces",newInGroup:"New session in this workspace",addTitle:"Add workspace",recentLabel:"Recent folders",cancel:"Cancel",addFailed:"Couldn't open this folder. Check the path and try again.",openThisFolder:"Open this folder",up:"Up",browsing:"Browsing…",filterPlaceholder:"Filter subfolders…",searchPlaceholder:"Fuzzy-search subfolders, or paste an absolute path…",searching:"Searching…",noFilterMatch:"No subfolders match “{q}”",noSubfolders:"No subfolders here",browseHint:'Click a folder to enter it, then "Open this folder" to add it as a workspace.',checkingPath:"Checking path…",pathPickHint:"Path not found — did you mean:",noPathMatch:"Path not found — no matching folders under {parent}",badParent:"Parent directory does not exist: {parent}",pathFollowHint:'Folder located — press Enter or "Open this folder" to add it.',degradedPlaceholder:"Type an absolute path, press Enter to add…",degradedHint:"File browsing is unavailable — type an absolute path and press Enter to add.",attentionTitle:"{count} item needs your attention | {count} items need your attention",awaitingAnswer:"Answer",awaitingAnswerTitle:"A question is waiting for your answer",awaitingPermission:"Approve",awaitingPermissionTitle:"An action is waiting for your approval",aborted:"Stopped",abortedTitle:"This session was interrupted before finishing"},h0={jumpToLatestAria:"Jump to latest message",toc:"Conversation outline",newMessages:"Latest messages",loading:"Loading…",starting:"Starting conversation…",emptyWorkspaceHint:"Send in {name}",switchWorkspace:"Switch workspace",addWorkspace:"New workspace",moreWorkspaces:"More workspaces ({count})",compacting:"Compacting context…",compactedPlain:"Context compacted",compactedAuto:"Context auto-compacted",compactedTokens:" ({before} → {after} tokens)",viewSummary:"View summary",summaryTitle:"Compaction summary",manuallyAborted:"Manually stopped",undo:"Undo",undoTooltip:"Undoing the conversation will not roll back code changes",undoConfirm:"Undo last message?",yesterday:"Yesterday",loadOlder:"Load earlier messages",loadingOlder:"Loading earlier messages…",searchPlaceholder:"Search this conversation",searchNoResults:"No matches",searchPosition:"{current} / {total}",searchPrev:"Previous match",searchNext:"Next match",searchClose:"Close search",cron:{fired:"Scheduled reminder fired",missed:"Missed scheduled reminders",job:"job {id}",oneShot:"one-shot",coalesced:"{n} fires coalesced",missedCount:"{n} missed",finalDelivery:"final delivery",everyMinute:"Every minute",everyNMinutes:"Every {n} minutes",everyHour:"Every hour",everyNHours:"Every {n} hours",dailyAt:"Daily at {time}",weekdaysAt:"Weekdays at {time}",expand:"Show more",collapse:"Show less"},waitingForResponse:"Waiting for response…",turnFailedResume:"Continue",workingRetry:"Model request failed — retrying ({n}/{max})…"},y0={connectionConnected:"Connected",connectionConnecting:"Connecting…",connectionDisconnected:"Disconnected",ctxTooltip:"Used {used} / {max} tokens ({pct}%)",modelLabel:"Model",permissionManual:"Manual",permissionAuto:"Auto",permissionYolo:"YOLO",permissionManualDesc:"Ask for approval on every tool action",permissionAutoDesc:"Fully autonomous — agent decides everything without asking",permissionYoloDesc:"Auto-approve tool actions, but agent may still ask questions",planLabel:"Plan",planDesc:"Have the agent make a plan before changing files",planOn:"on",planOff:"off",planTooltip:"Toggle plan mode (research before editing)",planPlaceholder:"What should the agent plan for?",workModeDismiss:"Dismiss {mode}",modesLabel:"Mode",goalLabel:"Goal",goalDesc:"Track one objective until it is complete",swarmLabel:"Swarm",swarmDesc:"Run parallel agents for broader exploration",supermoonLabel:"Supermoon",supermoonDesc:"Plan deeply and run at the highest thinking effort",modeOff:"Off",goalPlaceholder:"What should the agent achieve?",goalStart:"Start",goalPause:"Pause",goalResume:"Resume",goalCancel:"Cancel",goalCancelConfirm:"Cancel this goal? It cannot be resumed afterwards.",goalCancelConfirmYes:"Yes",goalCancelConfirmNo:"No",goalStatusActive:"Active",goalStatusPaused:"Paused",goalStatusBlocked:"Blocked",goalStatusComplete:"Complete",goalEmptyTitle:"No goal yet",goalEmptyHint:"Turn goal mode on and describe what the agent should achieve.",planModeOn:"Plan mode on",planArmed:"armed",planEmptyArmed:"Plan mode is on — the plan the agent writes will show up here.",planEmptyIdle:"No plan yet — turn plan mode on and the agent's plan will show up here.",modeNotSupported:"Not supported",thinkingLabel:"thinking",thinkingTooltip:"Toggle thinking mode",thinkingOn:"On",thinkingOff:"Off",cacheNote:"Note: Switching models or thinking effort invalidates the existing prompt cache. Start a new chat to avoid extra token costs.",starredModels:"Starred",moreModels:"More models…",statusPanelTitle:"Session status",statusPanelClose:"Close",statusModel:"Model",statusThinking:"Thinking",statusPermission:"Permission",statusPlanMode:"Plan mode",statusGoalMode:"Goal mode",statusSwarmMode:"Swarm mode",statusSupermoonMode:"Supermoon mode",swarmOn:"on",swarmOff:"off",supermoonOn:"on",supermoonOff:"off",statusContext:"Context",statusCost:"Cost",statusContextValue:"{used} / {max} ({pct}%)",statusNone:"—",activityRunning:"Running…",activityAwaitingApproval:"Awaiting approval",activityAwaitingQuestion:"Awaiting answer",interrupt:"Interrupt",runningShort:"in progress"},k0={placeholder:"Type a message…",send:"Send ↵",queueLabel:"Queue",noModelGate:"Pick a model to send messages",placeholderRunning:"Press Enter to queue · Ctrl+S to inject into the running turn",placeholderRunningTouch:"Queued messages send when the current turn ends",starting:"Sending…",queueAutoDrain:"sends automatically when the current turn ends",queueNext:"Up next",queueDragTitle:"Drag to reorder",editQueued:"Edit (load back into the input)",queuedAttachments:"attachment ×{n}",queuedHasImage:"Contains {n} image(s) — remove only, not editable",attachmentImage:"Image",attachmentVideo:"Video",attachmentFile:"File",attachmentOpenUnsupported:"Can’t open {name} — this file type isn’t supported",dropToAttach:"Drop files to attach",remove:"Remove",removeNamed:"Remove {name}",uploading:"Uploading",uploadFailed:"Upload failed",attachFile:"Attach file",addMenu:"Add",addPlanDesc:"Have the agent make a plan before changing files",addGoalDesc:"Track one objective until it is complete",addSwarmDesc:"Run parallel agents for broader exploration",addSupermoonDesc:"Plan deeply and run at the highest thinking effort",slashEmpty:"No matching commands",previewAttachment:"Preview {name}",interrupt:"Interrupt",interruptTitle:"Interrupt current operation",expandTitle:"Expand input for multi-line editing",collapseTitle:"Collapse input",emptyConversationTitle:"Kimi Code",emptyConversation:"No messages yet — type below to start the conversation",quickStartPlaceholder:"Type a message to start a new conversation…",thinkingSuffix:" · thinking",thinkingSuffixEffort:" · {level}",steerQueuedRow:"Send this prompt into the running turn",sendQueuedRow:"Send this prompt now"},b0={title:"Sign in to Kimi Code",close:"Close (Esc)",regionTitle:"Choose your region",regionHint:"Pick the Kimi login region your account belongs to. The authorization page opens automatically.",regionGlobal:"kimi.com",regionGlobalDesc:"Global accounts",regionMainland:"kimi.ai",regionMainlandDesc:"Mainland China accounts",starting:"Starting authorization flow…",lead:"Click the button below to authorize in a new browser tab.",authorizeInBrowser:"Authorize in browser",reopenBrowser:"Reopen authorization page",orDivider:"or",fallbackPrefix:"On another device? Open ",fallbackSuffix:" and enter the device code:",copy:"Copy",copied:"Copied",waitingAuth:"Waiting for authorization",waitingAutoClose:"Waiting for authorization, signs in automatically…",success:"Authorized",successHint:"Loading, will close automatically…",expiredTitle:"Authorization code expired",expiredHint:"Please restart the authorization flow",retry:"Retry",closeBtn:"Close",errorTitle:"The current daemon does not support login yet",errorHint:"Please upgrade kimi-code and try again",pollErrorTitle:"Lost connection to the daemon",pollErrorHint:"Authorization polling failed repeatedly. Check the kimi-code process and try again."},w0={dialogLabel:"Manage providers",title:"Provider management",close:"Close (Esc)",loading:"Loading providers…",unavailable:"The daemon does not support provider management yet",empty:"No providers yet",status:{connected:"Connected",error:"Error",unconfigured:"Not configured"},keySet:"key set",keyNotSet:"key not set",modelCount:"{count} models",confirmDelete:"Confirm delete?",refresh:"Refresh",delete:"Delete",refreshTitle:"Refresh {type}",deleteTitle:"Delete {type}",loginKimi:"Sign in to Kimi",loginAnthropic:"Sign in to Anthropic",enterApiKey:"Enter API Key",fieldType:"Type",fieldApiKey:"API Key",fieldBaseUrl:"Base URL",fieldDefaultModel:"Default model",baseUrlPlaceholder:"https://… (optional)",optional:"Optional",apiKeyRequired:"API Key cannot be empty",add:"Add",escClose:"Esc to close",import:{fromCatalog:"Import from catalog",fromRegistry:"Import registry",back:"Back",catalogTitle:"Import from models.dev catalog",catalogSearchLabel:"Search",catalogSearchPlaceholder:"Search providers…",catalogLoading:"Loading catalog…",catalogEmpty:"No providers match",catalogLoadError:"Could not load the catalog",catalogRejected:"Cannot import: {reason}",catalogNeedsBaseUrl:"Needs base URL",catalogBaseUrlHint:"Required for this provider",importAction:"Import",registryTitle:"Import registry",registryUrlLabel:"Registry URL",registryUrlPlaceholder:"https://…/api.json",registryApiKeyLabel:"API key (optional)",registryUrlRequired:"Registry URL cannot be empty"}},S0={dialogLabel:"Switch model",title:"Switch model",close:"Close (Esc)",allTab:"All",providerTabs:"Model providers",searchPlaceholder:"Search models or providers…",loading:"Loading models…",unavailable:"The daemon does not support model listing yet",contextSuffix:"{size} ctx",emptyNoModels:"The daemon offers no selectable models",emptyNoMatch:"No matching models",starTitle:"Add to favorites",unstarTitle:"Remove from favorites",footerHint:"↑↓ Navigate · Enter Select · Esc Close"},C0={justNow:"just now"},_0={title:{shell:"Run command?",diff:"Apply changes?",file:"Write file?",fileop:"File operation?",url:"Fetch URL?",search:"Search?",invocation:"Invoke?",todo:"Update todo?",plan_review:"Ready to build with this plan?",generic:"Approve action?"},subagentBadge:"sub agent · {name}",required:"APPROVAL REQUIRED",danger:"Danger: {detail}",searchQueryLabel:"query",searchScope:"scope: {scope}",feedbackPlaceholder:"Explain why you are rejecting… (Enter to submit, Esc to cancel)",feedbackHint:"Enter to submit · Esc to cancel",approve:"Approve",approveSession:"Approve for session",reject:"Reject",feedback:"+Feedback",approvePlan:"Approve plan",revise:"Revise",rejectAndExit:"Reject and Exit"},M0={title:"Question",step:"Q{current}/{total}",back:"‹ Back",nextQuestion:"Next question ›",otherDefault:"Other…",submit:"Submit",dismiss:"Dismiss",minimize:"Minimize",expand:"Expand"},$0={tag:"tasks",summary:"{run} running · {done} done",stop:"stop",defaultDescription:"Background task",dockTasks:"Background tasks",dockBash:"Bash",dockSubagent:"Background Agent",dockTodos:"Todos",thinkingEffort:"thinking {effort}",foreground:"Foreground",background:"Background",copyCommand:"Copy command",copyOutput:"Copy output",copyAll:"Copy all",copied:"Copied",noticeTitle:"Background task finished",noticeOutputLabel:"Output",noticeOutputTruncated:"Output truncated",noticeCopyOutput:"Copy output",running:"running",closePanel:"Close panel",timingRunning:"Running · {time}",timingDone:"Done · {sec}s",emptyTasks:"No background tasks running",emptyBash:"No bash tasks running",emptySubagent:"No sub agent tasks running",emptyTodo:"No todos yet",todoProgress:"{done}/{total} done",filterRecent:"Recent",filterRunning:"Running",filterDone:"Done",filterAll:"All",emptyRecent:"No recent tasks",emptyRunning:"No running tasks",emptyDone:"No completed tasks",detailPlaceholder:"Select a task to view its command and output",noOutput:"No output yet",openTab:"Open the tasks tab",openDetail:"Open",collapse:"Collapse",expand:"Expand",fieldTask:"Task",fieldOutput:"Output",fieldProgress:"Progress",fieldResult:"Result"},x0={panelTitle:"Thinking",close:"Close"},T0={title:"Changes",branch:"branch",aheadTitle:"ahead of remote",behindTitle:"behind remote",changeCount:"{count} changes",empty:"No git changes / not provided by daemon",clean:"Working tree clean, no changes",back:"Back",loading:"Loading diff…",noDiff:"No line changes for this file",list:"List",tree:"Tree",close:"Close",colorblind:"Colorblind",colorblindOff:"Default",colorblindRedGreen:"Red–green",colorblindBlueYellow:"Blue–yellow"},I0={},A0={empty:"Select a file on the left to preview",loading:"Loading…",lineCount:"{count} lines",copy:"Copy",copied:"Copied",copyPath:"Copy path",openInMenu:"Open in…",copyAbsolutePath:"Copy absolute path",openInApp:"Open with {app}",openInEditor:"Open",reveal:"Reveal",download:"Download",close:"Close",videoFallback:"Video",imageFallback:"Image",search:"Search",prevMatch:"Previous match",nextMatch:"Next match",htmlMode:"HTML preview mode",markdownMode:"Markdown preview mode",preview:"Preview",source:"Source",imageFit:"Image sizing",fit:"Fit",actual:"Actual",pdfNoPreview:"This PDF cannot be embedded here. Download it to view.",imageNoPreview:"Image file · {mime} · {size} · preview unavailable",videoNoPreview:"Video file · {mime} · {size} · preview unavailable",binaryNoPreview:"Binary file · {mime} · {size} bytes · preview unavailable",unknownType:"unknown type",copyCode:"Copy code",enlargeImage:"Enlarge image",errors:{emptyPath:"File path is empty",unsupportedPath:"URLs and remote paths cannot be previewed",outsideWorkspace:"Only files inside the current workspace can be previewed",isDirectory:"Select a file instead of a directory",loadFailed:"Unable to read this file"}},P0={searching:"Searching…",noMatch:"No matches",open:"Open"},E0={dismiss:"Close",errorLabel:"Error",noteLabel:"Note",agentError:{title:"Model request failed",connection:"Cannot connect to the model service",auth:"Model authentication failed",rateLimit:"Model rate limit reached",overloaded:"Model overloaded",filtered:"Response filtered by the provider",api:"Model API error",usageLimit:"Usage limit reached",contextOverflow:"Context size exceeded"},details:{cause:"Cause",code:"Error code",connection:"Connection",contentType:"Content type",details:"Server details",duration:"Duration",endpoint:"Endpoint",errorName:"Error type",message:"Message",operation:"Operation",phase:"Failure phase",request:"Request",requestId:"Request ID",responsePreview:"Response preview",sessionId:"Session ID",stack:"Stack",status:"HTTP status",timeout:"Timeout",timestamp:"Time"},daemonApiTitle:"Kimi daemon returned an error",daemonNetworkMessage:"Web did not receive a response from the local service. Check that Kimi daemon is still running, or refresh the page.",daemonNetworkTitle:"Cannot connect to Kimi daemon",daemonTimeoutMessage:"Kimi server did not respond within the wait limit. The operation may still complete in the background — refresh later to check, or try again.",daemonTimeoutTitle:"Kimi server response timed out",diagnostics:"Diagnostics",hideDetails:"Hide details",operationFailedMessage:"The last operation did not finish. Try again later.",operationFailedTitle:"Operation failed",sessionSnapshotMessage:"Web could not load the current conversation. Check that Kimi daemon is still running, or refresh the page.",sessionSnapshotTitle:"Cannot load current conversation",showDetails:"Show details",copyDetails:"Copy diagnostics",copied:"Copied",wsTitle:"Realtime connection error",goal:{alreadyExists:"This session already has an active goal. Cancel it before starting a new one.",notFound:"No goal to act on — it may have already finished or been cancelled.",statusInvalid:"The current goal state does not allow this action.",notResumable:"This goal cannot be resumed (it may be cancelled or completed).",objectiveTooLong:"The objective is too long. Please shorten it and try again."}},B0={new:{desc:"Create a new session"},clear:{desc:"Clear and start a new session"},login:{desc:"Sign in to Kimi in the browser"},plan:{desc:"Toggle plan mode on/off"},swarm:{desc:"Toggle swarm mode; /swarm runs a task in swarm"},goal:{desc:"Create/control a goal: /goal , /goal pause|resume|cancel"},btw:{desc:"Side chat: /btw asks a forked side session"},yolo:{desc:"Auto-approve tool actions; the agent may still ask questions"},auto:{desc:"Fully autonomous — the agent never asks questions"},thinking:{desc:"Set the thinking level"},compact:{desc:"Compact the conversation history"},fork:{desc:"Fork this session into a new one"},export:{desc:"Download this session and troubleshooting logs as a ZIP",done:"Session exported.",noSession:"Open a session before exporting it.",started:"Exporting session…",tooLarge:"Session too large to export…"},status:{desc:"View session status"},undo:{desc:"Undo the last message"}},R0={label:{read:"Read",bash:"Run",edit:"Edit",write:"Write",grep:"Search",glob:"Find",ls:"List",web_fetch:"Fetch",search:"Search",todo:"Todo",task:"Task",swarm:"Swarm",ask_user:"Question",goal_create:"Start Goal",goal_get:"Read Goal",goal_budget:"Set Goal Budget",goal_update:"Update Goal",waitfor:"Wait"},waitfor:{waitingAny:"Waiting for any background task",waitingTask:"Waiting for {id}",noTasks:"No background tasks running",timedOut:"Timed out",stillRunning:"{count} still running",moreFinished:"+{count} finished during wait",moreRunning:"+{count} more",status:{completed:"completed",failed:"failed",timed_out:"timed out",killed:"killed",lost:"lost"}},swarm:{progress:"{done} / {total}",runningSub:"{count} in progress",doneSub:"{completed} completed · {failed} failed",phaseQueued:"Queued",phaseWorking:"Working",phaseSuspended:"Suspended",phaseCompleted:"Completed",phaseFailed:"Failed",waiting:"Waiting for subagents…"},chip:{lines:"{count} lines",results:"{count} results",edited:"edited",created:"created",todos:"{count} items"},goal:{objectiveWithCriterion:"{objective} · {criterion}",status:"Status: {status}",budget:"{value} {unit}",turns:"{value} turns",tokens:"{value} tokens",milliseconds:"{value} ms",seconds:"{value} sec",minutes:"{value} min",hours:"{value} hr"},group:{title:"{count} tool call | {count} tool calls",running:"running",error:"failed",done:"done"},ask:{dismissed:"Dismissed",answer:"{count} answer",answers:"{count} answers",answered:"Answered",more:"(+{count} more)"},plan:{loading:"Loading plan…",unavailable:"Plan unavailable",pending:"Pending review",approved:"Approved",rejected:"Rejected",cancelled:"Cancelled"}},L0={resizeHandleAria:"Resize sidebar width",resizePreviewAria:"Resize preview panel width",detailPanelAria:"Detail panel"},D0={zoomIn:"Zoom in",zoomOut:"Zoom out",resetZoom:"Reset zoom",dragHint:"Drag to pan",noPreview:"No preview available"},O0={openSwitcher:"Switch session / workspace",openSettings:"Session settings",settingsTitle:"Session settings",groupSession:"Current session",groupApp:"App preferences",sheetLabel:"Sheet",closeSheet:"Close",tapToCycle:"tap to cycle",running:"running",idle:"idle",sessionCount:"{n} sessions",newSession:"New session",permManualSub:"confirm every tool",permAutoSub:"fully autonomous, never asks",permYoloSub:"auto-approve tools, may still ask",planModeSub:"Plan mode",goalModeSub:"Goal mode",swarmModeSub:"Swarm mode",supermoonModeSub:"Supermoon mode",archivedSessions:"Archived sessions",archivedSessionsSub:"Browse and restore archived sessions",archivedBack:"Back",flatTab:"All",workspaceTab:"By workspace",noFlatSessions:"No sessions yet",slashMenuTitle:"Commands",mentionMenuTitle:"Mentions",addMenuTitle:"Add",modelPickerTitle:"Switch model"},z0={colorSchemeLabel:"Light/Dark",light:"Moon Bright",dark:"Moon Dark",system:"System",accentLabel:"Accent",accentBlue:"Blue",accentBlack:"Black"},F0={preview:"预览",confirm:"确认",cancel:"取消",close:"关闭",copy:"复制"},N0={authBannerMessage:"未登录 · 需要登录 Kimi Code 才能开始对话",authBannerLogin:"登录",authPageTitle:"登录 Kimi Code",authPageMessage:"先连接 Kimi Code 账号,然后再开始或继续对话。",authPageLogin:"登录",connecting:"连接中…",connectRetrying:"无法连接服务器,正在重试…",internalBuildBanner:"仅供内部测试"},W0={workspaceMeta:"workspace · {branch}",sessionsHeader:"sessions",workspaces:"工作区",sortWorkspaces:"工作区排序",sortManual:"手动排序",sortRecent:"按最近活动",collapseAll:"折叠全部工作区",expandAll:"展开全部工作区",newSession:"新建会话",newChat:"新建对话",newWorkspace:"新建工作区",emptyState:"还没有会话 · 点击 新建会话 开始",archiveConfirm:"确认归档会话?归档后可以从「设置」中恢复",options:"选项",pin:"置顶会话",unpin:"取消置顶",pinned:"置顶",resizePinnedAria:"调整置顶区高度",emoji:"设置表情",emojiRemove:"移除表情",rename:"重命名",genTitle:"生成标题",genTitleUnavailable:"无法生成标题:需要登录 Kimi Code 托管账号,且会话中已有消息",prTag:"PR #{number}",copyPath:"复制路径",copySessionId:"复制 Session ID",copied:"已复制 ✓",copyFailed:"复制失败",archive:"归档",fork:"分叉会话",export:"导出会话",delete:"删除",removeWorkspace:"移除工作区",brand:"Kimi Code",signedIn:"已登录",signOut:"退出登录",notSignedIn:"未登录",signIn:"登录",language:"语言",daemon:"后台",backendTitle:"后端 {backend} · {endpoint} — 点击切换",noSessions:"暂无对话",showMore:"加载更多 {count} 个对话",showLess:"收起",showAll:"展开剩余 {count} 个对话",loadingMore:"加载中…",collapseSidebar:"收起侧边栏",expandSidebar:"展开侧边栏",viewModeFlat:"将会话显示为平铺列表",viewModeGrouped:"按工作区分组显示会话",mascot:"Kimi 吉祥物",searchPlaceholder:"搜索会话和工作区",search:"搜索",searchHint:"↑↓ 选择 · ↵ 打开 · Esc 关闭",searchNoResults:"没有匹配的会话或工作区",tagOpen:"进行中",tagDone:"已完成",markDone:"标记为已完成",reopen:"标记为进行中",markDoneCount:"标记为已完成 ({n})",noDoneSessions:"暂无已完成的会话",tabWorkspaces:"工作区",tabDone:"已完成",viewSwitcher:"切换会话视图",manageSessions:"管理会话"},q0={switcherTitle:"切换工作区",switchTooltip:"切换工作区",eyebrow:"工作区",branchLabel:"分支: {branch}",noBranch:"无分支",sessionCount:"{count} 个会话",allWorkspaces:"全部工作区",currentWorkspace:"仅当前工作区",addWorkspace:"添加工作区…",noWorkspace:"暂无工作区",deleteHasSessions:"工作区内还有会话,请先归档这些会话再删除",removeWorkspaceConfirm:"移除工作区「{name}」?",swarmEnableConfirm:"启用 swarm 模式?Agent 将并行运行多个子 agent。",goalStartConfirm:"启动 goal:「{objective}」?Agent 将自主执行。",doneWhen:"完成条件",scopeCurrent:"当前工作区",scopeAll:"全部工作区",newInGroup:"在此工作区新建会话",addTitle:"添加工作区",recentLabel:"最近的文件夹",cancel:"取消",addFailed:"无法打开此文件夹,请检查路径后重试。",openThisFolder:"打开此文件夹",up:"上一级",browsing:"加载中…",filterPlaceholder:"过滤子文件夹…",searchPlaceholder:"模糊搜索子文件夹,或粘贴绝对路径…",searching:"搜索中…",noFilterMatch:"没有匹配「{q}」的子文件夹",noSubfolders:"此处没有子文件夹",browseHint:'点击文件夹进入,再点"打开此文件夹"将其添加为工作区。',checkingPath:"检查路径…",pathPickHint:"此路径不存在,你是不是想找:",noPathMatch:"此路径不存在,「{parent}」下没有匹配的文件夹",badParent:"上级目录不存在:{parent}",pathFollowHint:'已定位到目标文件夹,按回车或点击"打开此文件夹"完成添加。',degradedPlaceholder:"输入绝对路径,回车添加…",degradedHint:"守护进程无法浏览文件系统,请直接输入绝对路径后回车添加。",attentionTitle:"{count} 项待处理",awaitingAnswer:"待回答",awaitingAnswerTitle:"有提问等待你回答",awaitingPermission:"待授权",awaitingPermissionTitle:"有操作等待你授权",aborted:"已中断",abortedTitle:"此会话在完成前被中断"},H0={jumpToLatestAria:"跳到最新消息",toc:"对话目录",newMessages:"最新消息",loading:"加载中…",starting:"正在创建对话…",emptyWorkspaceHint:"在 {name} 中发送",switchWorkspace:"切换工作区",addWorkspace:"添加工作区",moreWorkspaces:"更多工作区 ({count})",compacting:"正在压缩上下文…",compactedPlain:"上下文已压缩",compactedAuto:"已自动压缩上下文",compactedTokens:"({before} → {after} tokens)",viewSummary:"查看摘要",summaryTitle:"压缩摘要",manuallyAborted:"您已手动终止",undo:"撤销",undoTooltip:"撤销对话不会回滚代码",undoConfirm:"撤销上一条消息?",yesterday:"昨天",loadOlder:"加载更早的消息",loadingOlder:"正在加载更早的消息…",searchPlaceholder:"搜索当前对话",searchNoResults:"无匹配结果",searchPosition:"{current} / {total}",searchPrev:"上一个匹配",searchNext:"下一个匹配",searchClose:"关闭搜索",cron:{fired:"定时任务已触发",missed:"错过的定时提醒",job:"任务 {id}",oneShot:"单次",coalesced:"已合并 {n} 次触发",missedCount:"错过 {n} 次",finalDelivery:"最后一次投递",everyMinute:"每分钟",everyNMinutes:"每 {n} 分钟",everyHour:"每小时",everyNHours:"每 {n} 小时",dailyAt:"每天 {time}",weekdaysAt:"工作日 {time}",expand:"展开",collapse:"收起"},waitingForResponse:"等待响应…",turnFailedResume:"继续",workingRetry:"模型请求失败,正在重试({n}/{max})…"},U0={connectionConnected:"已连接",connectionConnecting:"连接中…",connectionDisconnected:"未连接",ctxTooltip:"使用 {used} / {max} tokens ({pct}%)",modelLabel:"模型",permissionManual:"逐条确认",permissionAuto:"完全自主",permissionYolo:"自动通过",permissionManualDesc:"每个工具操作都需要你手动确认",permissionAutoDesc:"完全自主运行,智能体自己做决定,不再询问",permissionYoloDesc:"自动批准工具操作,但遇到关键问题仍会询问",planLabel:"计划",planDesc:"先让智能体梳理计划,再修改文件",planOn:"开",planOff:"关",planTooltip:"切换计划模式(先调研再修改)",planPlaceholder:"让智能体规划什么?",workModeDismiss:"取消{mode}",modesLabel:"模式",goalLabel:"目标",goalDesc:"持续跟踪一个目标,直到任务完成",swarmLabel:"Swarm",swarmDesc:"并行运行多个智能体,适合大范围探索",supermoonLabel:"Supermoon",supermoonDesc:"深度规划,并以最高思考强度运行",modeOff:"未启用",goalPlaceholder:"让智能体完成什么目标?",goalStart:"开始",goalPause:"暂停",goalResume:"继续",goalCancel:"取消",goalCancelConfirm:"是否需要取消当前目标?取消后将无法恢复。",goalCancelConfirmYes:"是",goalCancelConfirmNo:"否",goalStatusActive:"进行中",goalStatusPaused:"已暂停",goalStatusBlocked:"已阻塞",goalStatusComplete:"已完成",goalEmptyTitle:"暂无目标",goalEmptyHint:"开启目标模式,告诉智能体要实现什么。",planModeOn:"计划模式已开启",planArmed:"已预备",planEmptyArmed:"计划模式已开启 — 智能体写下的计划会显示在这里。",planEmptyIdle:"暂无计划 — 开启计划模式后,智能体的计划会显示在这里。",modeNotSupported:"暂不支持",thinkingLabel:"思考",thinkingTooltip:"切换思考模式",thinkingOn:"开",thinkingOff:"关",cacheNote:"提示:切换模型或思考程度会使已有的提示词缓存失效。建议新建对话,避免额外的 token 消耗。",starredModels:"收藏",moreModels:"更多模型…",statusPanelTitle:"会话状态",statusPanelClose:"关闭",statusModel:"模型",statusThinking:"思考强度",statusPermission:"权限",statusPlanMode:"计划模式",statusGoalMode:"目标模式",statusSwarmMode:"Swarm 模式",statusSupermoonMode:"Supermoon 模式",swarmOn:"开",swarmOff:"关",supermoonOn:"开",supermoonOff:"关",statusContext:"上下文",statusCost:"花费",statusContextValue:"{used} / {max} ({pct}%)",statusNone:"—",activityRunning:"运行中…",activityAwaitingApproval:"等待批准",activityAwaitingQuestion:"等待回答",interrupt:"中断",runningShort:"进行中"},V0={placeholder:"输入消息…",send:"发送 ↵",queueLabel:"队列",noModelGate:"请先选择模型再发送",placeholderRunning:"输入会加入队列 · Ctrl+S 立即插入运行中的回合",placeholderRunningTouch:"消息将在当前回合结束后发送",starting:"正在发送…",queueAutoDrain:"当前回合结束后自动逐条发送",queueNext:"下一条",queueDragTitle:"拖拽排序",editQueued:"编辑(载入到输入框)",queuedAttachments:"附件 ×{n}",queuedHasImage:"包含 {n} 张图片 — 只能移除,不能编辑",attachmentImage:"图片",attachmentVideo:"视频",attachmentFile:"文件",attachmentOpenUnsupported:"无法打开 {name}:暂不支持此文件类型",dropToAttach:"松开鼠标添加附件",remove:"移除",removeNamed:"移除 {name}",uploading:"上传中",uploadFailed:"上传失败",attachFile:"添加附件",addMenu:"添加",addPlanDesc:"先让智能体梳理计划,再修改文件",addGoalDesc:"持续跟踪一个目标,直到任务完成",addSwarmDesc:"并行运行多个智能体,适合大范围探索",addSupermoonDesc:"深度规划,并以最高思考强度运行",slashEmpty:"没有匹配的命令",previewAttachment:"预览 {name}",interrupt:"中断",interruptTitle:"中断当前操作",expandTitle:"展开输入框进行多行编辑",collapseTitle:"收起输入框",emptyConversationTitle:"Kimi Code",emptyConversation:"还没有消息 —— 在下方输入开始对话",quickStartPlaceholder:"输入消息开始新对话…",thinkingSuffix:" · 思考",thinkingSuffixEffort:" · {level}",steerQueuedRow:"把这条提示注入当前回合",sendQueuedRow:"立即发送这条提示"},j0={title:"登录 Kimi Code",close:"关闭 (Esc)",regionTitle:"选择登录地区",regionHint:"选择你的 Kimi 账号所属的登录地区,授权页面会自动打开。",regionGlobal:"kimi.com",regionGlobalDesc:"全球账号",regionMainland:"kimi.ai",regionMainlandDesc:"中国内地账号",starting:"正在启动授权流程…",lead:"点击下方按钮,在新标签页中完成授权。",authorizeInBrowser:"在浏览器中授权",reopenBrowser:"重新打开授权页面",orDivider:"或者",fallbackPrefix:"换个设备?在浏览器打开 ",fallbackSuffix:" 输入设备码:",copy:"复制",copied:"已复制",waitingAuth:"等待授权",waitingAutoClose:"等待授权,完成后自动登录…",success:"已授权",successHint:"正在加载,稍后自动关闭…",expiredTitle:"授权码已过期",expiredHint:"请重新开始授权流程",retry:"重试",closeBtn:"关闭",errorTitle:"当前 daemon 暂不支持登录",errorHint:"请升级 kimi-code 后重试",pollErrorTitle:"与 daemon 的连接已断开",pollErrorHint:"授权轮询连续失败,请检查 kimi-code 进程后重试"},K0={dialogLabel:"管理提供商",title:"提供商管理",close:"关闭 (Esc)",loading:"加载提供商中…",unavailable:"daemon 暂不支持提供商管理",empty:"暂无提供商",status:{connected:"已连接",error:"错误",unconfigured:"未配置"},keySet:"key 已设置",keyNotSet:"未设置 key",modelCount:"{count} 个模型",confirmDelete:"确认删除?",refresh:"刷新",delete:"删除",refreshTitle:"刷新 {type}",deleteTitle:"删除 {type}",loginKimi:"登录 Kimi",loginAnthropic:"登录 Anthropic",enterApiKey:"填写 API Key",fieldType:"类型",fieldApiKey:"API Key",fieldBaseUrl:"Base URL",fieldDefaultModel:"默认模型",baseUrlPlaceholder:"https://… (可选)",optional:"可选",apiKeyRequired:"API Key 不能为空",add:"添加",escClose:"Esc 关闭",import:{fromCatalog:"从目录导入",fromRegistry:"导入 registry",back:"返回",catalogTitle:"从 models.dev 目录导入",catalogSearchLabel:"搜索",catalogSearchPlaceholder:"搜索提供商…",catalogLoading:"加载目录中…",catalogEmpty:"没有匹配的提供商",catalogLoadError:"无法加载目录",catalogRejected:"无法导入:{reason}",catalogNeedsBaseUrl:"需要 base URL",catalogBaseUrlHint:"该提供商必填",importAction:"导入",registryTitle:"导入 registry",registryUrlLabel:"Registry URL",registryUrlPlaceholder:"https://…/api.json",registryApiKeyLabel:"API Key(可选)",registryUrlRequired:"Registry URL 不能为空"}},G0={dialogLabel:"切换模型",title:"切换模型",close:"关闭 (Esc)",allTab:"全部",providerTabs:"模型提供商",searchPlaceholder:"搜索模型或提供商…",loading:"加载模型中…",unavailable:"daemon 暂不支持模型列表",contextSuffix:"{size} ctx",emptyNoModels:"daemon 未提供可选模型",emptyNoMatch:"无匹配模型",starTitle:"添加到收藏",unstarTitle:"取消收藏",footerHint:"↑↓ 导航 · Enter 选择 · Esc 关闭"},Q0={justNow:"刚刚"},Y0={title:{shell:"运行命令?",diff:"应用修改?",file:"写入文件?",fileop:"文件操作?",url:"抓取 URL?",search:"搜索?",invocation:"调用?",todo:"更新 todo?",plan_review:"按这份 plan 开始实现?",generic:"批准操作?"},subagentBadge:"子 agent · {name}",required:"APPROVAL REQUIRED",danger:"危险: {detail}",searchQueryLabel:"查询",searchScope:"范围:{scope}",feedbackPlaceholder:"说明拒绝原因… (Enter 提交, Esc 取消)",feedbackHint:"Enter 提交 · Esc 取消",approve:"批准",approveSession:"本会话内批准",reject:"拒绝",feedback:"+反馈",approvePlan:"批准 plan",revise:"修改",rejectAndExit:"拒绝并退出"},Z0={title:"提问",step:"Q{current}/{total}",back:"‹ 返回",nextQuestion:"下一题 ›",otherDefault:"其他…",submit:"提交",dismiss:"放弃",minimize:"最小化",expand:"展开"},X0={tag:"任务",summary:"{run} 运行中 · {done} 完成",stop:"stop",defaultDescription:"后台任务",dockTasks:"后台任务",dockBash:"后台 Bash",dockSubagent:"后台 Agent",dockTodos:"待办",thinkingEffort:"思考 {effort}",foreground:"前台",background:"后台",copyCommand:"复制命令",copyOutput:"复制输出",copyAll:"复制全部",copied:"已复制",noticeTitle:"后台任务已完成",noticeOutputLabel:"输出",noticeOutputTruncated:"输出已截断",noticeCopyOutput:"复制输出",running:"运行中",closePanel:"关闭面板",timingRunning:"运行中 · {time}",timingDone:"完成 · {sec}s",emptyTasks:"暂无后台任务",emptyBash:"暂无后台 Bash 任务",emptySubagent:"暂无子 Agent 任务",emptyTodo:"暂无待办事项",todoProgress:"已完成 {done}/{total}",filterRecent:"最近",filterRunning:"运行中",filterDone:"已完成",filterAll:"全部",emptyRecent:"暂无最近任务",emptyRunning:"暂无运行中的任务",emptyDone:"暂无已完成的任务",detailPlaceholder:"选择任务以查看命令与输出",noOutput:"暂无输出",openTab:"查看全部后台任务",openDetail:"查看",collapse:"折叠",expand:"展开",fieldTask:"任务",fieldOutput:"输出",fieldProgress:"进度",fieldResult:"结果"},J0={panelTitle:"思考过程",close:"关闭"},ey={title:"改动",branch:"分支",aheadTitle:"领先远程",behindTitle:"落后远程",changeCount:"{count} 改动",empty:"无 git 改动 / daemon 未提供",clean:"工作区干净,无改动",back:"返回",loading:"正在加载 diff…",noDiff:"该文件没有行级改动",list:"列表",tree:"树形",close:"关闭",colorblind:"色盲配色",colorblindOff:"默认",colorblindRedGreen:"红绿色盲",colorblindBlueYellow:"蓝黄色盲"},ty={},ny={empty:"选择左侧文件预览",loading:"加载中…",lineCount:"{count} 行",copy:"复制",copied:"已复制",copyPath:"复制路径",openInMenu:"打开方式…",copyAbsolutePath:"复制绝对路径",openInApp:"用 {app} 打开",openInEditor:"打开",reveal:"显示",download:"下载",close:"关闭",videoFallback:"视频",imageFallback:"图片",search:"搜索",prevMatch:"上一个匹配",nextMatch:"下一个匹配",htmlMode:"HTML 预览模式",markdownMode:"Markdown 预览模式",preview:"预览",source:"源码",imageFit:"图片缩放",fit:"适应",actual:"原始",pdfNoPreview:"无法内嵌预览此 PDF,可以下载后查看",imageNoPreview:"图片文件 · {mime} · {size} · 暂不预览",videoNoPreview:"视频文件 · {mime} · {size} · 暂不预览",binaryNoPreview:"二进制文件 · {mime} · {size} 字节 · 暂不预览",unknownType:"未知类型",copyCode:"复制代码",enlargeImage:"放大图片",errors:{emptyPath:"文件路径为空",unsupportedPath:"不支持预览 URL 或远程路径",outsideWorkspace:"只能预览当前 workspace 内的文件",isDirectory:"请选择具体文件,而不是目录",loadFailed:"无法读取这个文件"}},sy={searching:"搜索中…",noMatch:"无匹配",open:"打开"},oy={dismiss:"关闭",errorLabel:"错误",noteLabel:"提示",agentError:{title:"模型请求失败",connection:"无法连接模型服务",auth:"模型认证失败",rateLimit:"模型请求被限流",overloaded:"模型服务过载",filtered:"响应被提供方过滤",api:"模型接口返回错误",usageLimit:"用量已达上限",contextOverflow:"上下文超出模型限制"},details:{cause:"底层原因",code:"错误码",connection:"连接状态",contentType:"响应类型",details:"服务端详情",duration:"耗时",endpoint:"请求地址",errorName:"错误类型",message:"错误信息",operation:"操作",phase:"失败阶段",request:"请求",requestId:"Request ID",responsePreview:"响应预览",sessionId:"Session ID",stack:"堆栈",status:"HTTP 状态",timeout:"超时设置",timestamp:"时间"},daemonApiTitle:"Kimi daemon 返回错误",daemonNetworkMessage:"Web 没有拿到本地服务的响应。请确认 Kimi daemon 仍在运行,或刷新页面重试。",daemonNetworkTitle:"无法连接到 Kimi daemon",daemonTimeoutMessage:"Kimi 服务器没有在规定时间内响应。操作可能仍在后台继续,稍后刷新查看,或重试一次。",daemonTimeoutTitle:"Kimi 服务器响应超时",diagnostics:"诊断信息",hideDetails:"收起详情",operationFailedMessage:"刚才的操作没有完成,请稍后重试。",operationFailedTitle:"操作失败",sessionSnapshotMessage:"Web 没能加载当前会话内容。请确认 Kimi daemon 仍在运行,或刷新页面重试。",sessionSnapshotTitle:"无法加载当前会话内容",showDetails:"查看详情",copyDetails:"复制诊断信息",copied:"已复制",wsTitle:"实时连接出错",goal:{alreadyExists:"当前会话已有一个进行中的目标,请先取消它再创建新目标。",notFound:"没有找到可操作的目标,可能它已经结束或被取消。",statusInvalid:"当前目标状态不支持这个操作。",notResumable:"这个目标无法恢复(可能已取消或已完成)。",objectiveTooLong:"目标描述太长了,请精简后重试。"}},iy={new:{desc:"创建新会话"},clear:{desc:"清空并新建会话"},login:{desc:"在浏览器中登录 Kimi"},plan:{desc:"切换计划模式 开/关"},swarm:{desc:"切换 swarm 模式;/swarm <任务> 直接在 swarm 下执行"},goal:{desc:"创建/控制目标:/goal <目标>、/goal pause|resume|cancel"},btw:{desc:"侧边聊天:/btw <问题> 向 fork 的侧边会话提问"},yolo:{desc:"自动批准工具操作,Agent 仍可能提问"},auto:{desc:"完全自主,Agent 不再提问"},thinking:{desc:"设置思考强度"},compact:{desc:"压缩会话历史"},fork:{desc:"把当前会话 fork 出一个新会话"},export:{desc:"将当前会话和排障日志下载为 ZIP 压缩包",done:"会话已导出。",noSession:"请先打开一个会话再导出。",started:"正在导出会话…",tooLarge:"会话过大,无法导出…"},status:{desc:"查看会话状态"},undo:{desc:"撤销上一条消息"}},ay={label:{read:"读取",bash:"运行",edit:"编辑",write:"写入",grep:"搜索",glob:"查找",ls:"列目录",web_fetch:"抓取",search:"搜索",todo:"待办",task:"任务",swarm:"Swarm",ask_user:"提问",goal_create:"启动目标",goal_get:"读取目标",goal_budget:"设置目标预算",goal_update:"更新目标",waitfor:"等待"},waitfor:{waitingAny:"等待任一后台任务",waitingTask:"等待 {id}",noTasks:"没有后台任务在运行",timedOut:"等待超时",stillRunning:"{count} 个仍在运行",moreFinished:"另有 {count} 个在等待期间完成",moreRunning:"还有 {count} 个",status:{completed:"完成",failed:"失败",timed_out:"超时",killed:"已终止",lost:"丢失"}},swarm:{progress:"{done} / {total}",runningSub:"{count} 个进行中",doneSub:"完成 {completed} · 失败 {failed}",phaseQueued:"排队",phaseWorking:"运行中",phaseSuspended:"暂停",phaseCompleted:"完成",phaseFailed:"失败",waiting:"等待子任务加入…"},chip:{lines:"{count} 行",results:"{count} 结果",edited:"已编辑",created:"已创建",todos:"{count} 项"},goal:{objectiveWithCriterion:"{objective} · {criterion}",status:"状态:{status}",budget:"{value} {unit}",turns:"{value} 轮",tokens:"{value} token",milliseconds:"{value} 毫秒",seconds:"{value} 秒",minutes:"{value} 分钟",hours:"{value} 小时"},group:{title:"{count} 个工具调用",running:"运行中",error:"有失败",done:"已完成"},ask:{dismissed:"已忽略",answer:"{count} 个回答",answers:"{count} 个回答",answered:"已回答",more:"(还有 {count} 个)"},plan:{loading:"正在加载 plan…",unavailable:"无法获取 plan",pending:"等待审核",approved:"已批准",rejected:"已拒绝",cancelled:"已取消"}},ly={resizeHandleAria:"调整侧栏宽度",resizePreviewAria:"调整预览面板宽度",detailPanelAria:"详情面板"},ry={zoomIn:"放大",zoomOut:"缩小",resetZoom:"重置缩放",dragHint:"拖拽平移",noPreview:"无预览"},uy={openSwitcher:"切换会话 / 工作区",openSettings:"会话设置",settingsTitle:"会话设置",groupSession:"当前会话",groupApp:"应用偏好",sheetLabel:"面板",closeSheet:"关闭",tapToCycle:"点击切换",running:"运行中",idle:"空闲",sessionCount:"{n} 个会话",newSession:"新建会话",permManualSub:"每个工具都确认",permAutoSub:"完全自主,不再提问",permYoloSub:"自动批准工具,仍可能提问",planModeSub:"计划模式",goalModeSub:"目标模式",swarmModeSub:"Swarm 模式",supermoonModeSub:"Supermoon 模式",archivedSessions:"已归档会话",archivedSessionsSub:"查看并恢复已归档会话",archivedBack:"返回",flatTab:"全部",workspaceTab:"按工作区",noFlatSessions:"暂无会话",slashMenuTitle:"命令",mentionMenuTitle:"提及",addMenuTitle:"添加",modelPickerTitle:"切换模型"},cy={colorSchemeLabel:"明暗",light:"月之亮面",dark:"月之暗面",system:"跟随系统",accentLabel:"主题色",accentBlue:"蓝色",accentBlack:"黑色"},dy={title:"Welcome to Kimi Web",subtitle:"Pick a few preferences — you can change them anytime in Settings.",languageLabel:"Language",start:"Get started",skip:"Skip",reopen:"Preferences / onboarding"},py={title:"欢迎来使用 Kimi Web",subtitle:"来选择一些你的偏好 —— 之后也可以在设置里随时修改。",languageLabel:"语言",start:"开始使用",skip:"跳过",reopen:"偏好 / 引导"},fy={title:"Settings",close:"Close (Esc)",tabs:{general:"General",agent:"Agent",account:"Account",advanced:"Advanced",archived:"Archived",plugins:"Plugins",lab:"Lab"},appearance:"Appearance",notifications:"Notifications",notifyOnComplete:"Notify when a turn completes",notifyOnQuestion:"Notify when a question needs an answer",notifyOnApproval:"Notify when a tool needs approval",soundOnComplete:"Play a sound when a turn completes, needs an answer, or needs approval",taskNotices:"Show in-app task completion notices",taskNoticesHint:"Show a notice card when a background task finishes",notifyDenied:"Blocked in browser settings",notifyTitle:"Kimi Code · Turn finished",notifyQuestionTitle:"Kimi Code · Needs answer",notifyApprovalTitle:"Kimi Code · Approval required",notifyFallback:"View result",notifyQuestionFallback:"A question is waiting for your answer",notifyApprovalFallback:"A tool needs your approval",account:"Account",uiFontSize:"Font size",agentDefaults:"Agent defaults",providers:"Providers",providersHint:"Add, remove, or refresh providers",manageProviders:"Manage",saving:"Saving",defaultModel:"Default model",defaultModelHint:"New sessions prefer this model",noDefaultModel:"No default model",planningModel:"Planning model",planningModelHint:"Planning mode uses this model; must match the default model context window",planningModelContextMismatch:"Planning model must have the same context window as the default model",defaultPermission:"Default permission",defaultPermissionHint:"Only affects newly-created sessions",defaultThinking:"Thinking by default",defaultThinkingHint:"Whether new sessions start with thinking enabled",defaultPlanMode:"Plan mode by default",defaultPlanModeHint:"Whether new sessions start in plan mode",mergeSkills:"Merge all available skills",mergeSkillsHint:"Show project, plugin, and user skills together",telemetry:"Improve product with usage data",telemetryHint:"When on, we collect anonymous interaction data (such as clicks, interruptions, and feature usage) to improve the product experience. You can turn it off at any time.",telemetryRestartHint:"Takes effect after restarting the service.",credentialReady:"Credential configured",credentialMissing:"Missing credential",configUnavailable:"The server did not return config yet. These settings are unavailable.",advanced:"Advanced",build:"Build",serverVersion:"Server version",copyServer:"Copy",backend:"Backend",exportLog:"Troubleshooting log",logHint:"Enable with ?debug=1 to capture",exportLogBtn:"Export log",conversationToc:"Show conversation outline",conversationTocHint:"Show a clickable outline in the right margin to jump between messages",archivedTitle:"Archived sessions",archivedDesc:"Browse archived sessions, see their workspace path, name, and archive time, and restore them to the session list.",archivedSearch:"Search archived sessions",archivedAllWorkspaces:"All workspaces",archivedSortLabel:"Sort by",archivedSortArchived:"Archive time",archivedSortCreated:"Created time",archivedSortName:"Name",archivedRestore:"Restore",archivedEmpty:"No archived sessions yet",archivedNoMatch:"No matching archived sessions",archivedSessionsCount:"{count} sessions",archivedAt:"Archived {time}",archivedLoadMore:"Load more",archivedLoading:"Loading…",archivedLoadingAll:"Loading all archived sessions…",plugins:{retry:"Retry",builtIn:"Built-in",official:"Official",thirdParty:"Third-party",installed:"Installed",install:"Install",update:"Update",remove:"Remove",enabled:"Enabled",homepage:"Homepage",empty:"No plugins found",hasErrors:"Error",customInstall:"Install custom plugin",customInstallPlaceholder:"https://… or /path/to/plugin",customInstallHint:"Accepts an https zip URL, a GitHub repo URL, or a local directory path.",extensionHintTitle:"One step left: install the browser extension",extensionGuide:"Manual install",dismissHint:"Dismiss",catalogUnavailable:"The marketplace catalog is currently unreachable; installed plugins remain manageable below.",source:{"local-path":"Local","zip-url":"ZIP",github:"GitHub"},counts:{skill:"1 skill | {n} skills",mcp:"1 MCP server | {n} MCP servers",mcpEnabled:"{n} on",hook:"1 hook | {n} hooks",command:"1 command | {n} commands"},sections:{installed:"Installed plugins",marketplace:"Marketplace",capabilities:"Capabilities"},confirmRemove:"Remove this plugin and all of its skills and hooks?",loadFailed:"Failed to load plugins",loading:"Loading plugins…",capabilitiesUnavailable:"Capabilities are unavailable right now",installing:"Installing…",capabilityStates:{not_installed:"Not installed",partial:"Partial",ready:"Ready",unsupported:"Unsupported"},steps:{ok:"Done",missing:"Missing",failed:"Failed"}},lab:{title:"Lab",desc:"Experimental features, off by default.",multiTabSidebar:"Multi-tab sidebar",multiTabSidebarHint:"Show Open / Done / Workspaces tabs in the sidebar so finished sessions can be marked done and moved out of the open list"}},my={title:"设置",close:"关闭 (Esc)",tabs:{general:"通用",agent:"Agent",account:"账户",advanced:"高级",archived:"已归档",plugins:"插件",lab:"实验室"},appearance:"外观",notifications:"通知",notifyOnComplete:"会话完成时通知",notifyOnQuestion:"待回答时通知",notifyOnApproval:"待审批时通知",soundOnComplete:"会话完成、待回答或待审批时播放提示音",taskNotices:"显示应用内后台任务完成通知",taskNoticesHint:"后台任务完成时在应用内显示通知卡片",notifyDenied:"已在浏览器设置中被阻止",notifyTitle:"Kimi Code · 回合完成",notifyQuestionTitle:"Kimi Code · 待回答",notifyApprovalTitle:"Kimi Code · 等待审批",notifyFallback:"点击查看结果",notifyQuestionFallback:"有提问等待你回答",notifyApprovalFallback:"有工具等待你审批",account:"账户",uiFontSize:"字体大小",agentDefaults:"Agent 默认值",providers:"提供商",providersHint:"添加、删除或刷新提供商",manageProviders:"管理",saving:"保存中",defaultModel:"默认模型",defaultModelHint:"新会话会优先使用这个模型",noDefaultModel:"未设置默认模型",planningModel:"规划模型",planningModelHint:"规划模式使用此模型;上下文窗口需与默认模型一致",planningModelContextMismatch:"规划模型与默认模型的上下文窗口必须一致",defaultPermission:"默认权限",defaultPermissionHint:"只影响之后新建的会话",defaultThinking:"默认开启思考",defaultThinkingHint:"新会话默认是否开启 thinking",defaultPlanMode:"默认计划模式",defaultPlanModeHint:"新会话默认进入 plan mode",mergeSkills:"合并所有可用 Skills",mergeSkillsHint:"让项目、插件和用户 Skills 一起出现在可用列表中",telemetry:"使用数据改进产品",telemetryHint:"开启后,我们会收集您的匿名交互数据(如点击、打断、功能使用等),用于改进产品体验。您可以随时关闭。",telemetryRestartHint:"更改后需重启服务生效。",credentialReady:"凭据已配置",credentialMissing:"缺少凭据",configUnavailable:"当前服务端没有返回 config,设置项暂不可用。",advanced:"高级",build:"构建",serverVersion:"服务端版本",copyServer:"复制",backend:"后端",exportLog:"故障排查日志",logHint:"加 ?debug=1 开启采集",exportLogBtn:"导出日志",conversationToc:"显示对话目录",conversationTocHint:"在右侧显示可点击跳转的对话目录",archivedTitle:"已归档会话",archivedDesc:"查看已归档会话,确认其所属工作区路径、会话名称和归档时间,并可恢复到会话列表。",archivedSearch:"搜索已归档会话",archivedAllWorkspaces:"所有工作区",archivedSortLabel:"排序方式",archivedSortArchived:"归档时间",archivedSortCreated:"创建时间",archivedSortName:"按字母顺序",archivedRestore:"恢复",archivedEmpty:"还没有归档的会话",archivedNoMatch:"没有匹配的已归档会话",archivedSessionsCount:"{count} 个会话",archivedAt:"归档于 {time}",archivedLoadMore:"加载更多",archivedLoading:"加载中…",archivedLoadingAll:"正在加载全部归档会话…",plugins:{retry:"重试",builtIn:"内置",official:"官方",thirdParty:"第三方",installed:"已安装",install:"安装",update:"更新",remove:"移除",enabled:"启用",homepage:"主页",empty:"没有找到插件",hasErrors:"错误",customInstall:"安装自定义插件",customInstallPlaceholder:"https://… 或 /本地/目录",customInstallHint:"支持 https zip 链接、GitHub 仓库地址或本地目录路径。",extensionHintTitle:"还差一步:安装浏览器扩展",extensionGuide:"手动安装",dismissHint:"知道了",catalogUnavailable:"插件市场目录暂时不可达;已安装的插件仍可正常管理。",source:{"local-path":"本地","zip-url":"ZIP",github:"GitHub"},counts:{skill:"{n} 个技能",mcp:"{n} 个 MCP 服务",mcpEnabled:"启用 {n} 个",hook:"{n} 个钩子",command:"{n} 个命令"},sections:{installed:"已安装插件",marketplace:"插件市场",capabilities:"能力"},confirmRemove:"要移除该插件及其全部技能和钩子吗?",loadFailed:"插件加载失败",loading:"正在加载插件…",capabilitiesUnavailable:"能力列表暂时不可用",installing:"安装中…",capabilityStates:{not_installed:"未安装",partial:"部分安装",ready:"已就绪",unsupported:"不支持"},steps:{ok:"已完成",missing:"缺失",failed:"失败"}},lab:{title:"实验室",desc:"实验性功能,默认关闭。",multiTabSidebar:"多标签侧边栏",multiTabSidebarHint:"在侧边栏显示「进行中 / 已完成 / 工作区」标签页,完成的会话可标记为已完成并移出进行中列表"}},vy={openInEditor:"Open in editor",openInEditorShort:"Open",chooseOpenApp:"Choose application",copyAll:"Copy all as Markdown",copyFinalSummary:"Copy final summary",copied:"Copied",copyPath:"Copy path",changed:"{n} changed",gitTooltip:"Open Files > Changed",detached:"detached",openPr:"Open pull request",prStatusOpen:"open",prStatusClosed:"closed",prStatusMerged:"merged",prStatusDraft:"draft",prStatusUnknown:"unknown",options:"Options",search:"Search conversation",copySessionId:"Copy Session ID",renameSession:"Rename",forkSession:"Fork session",archiveSession:"Archive",exportSession:"Export session"},gy={openInEditor:"在编辑器中打开",openInEditorShort:"打开",chooseOpenApp:"选择应用",copyAll:"复制全部对话为 Markdown",copyFinalSummary:"仅复制最终总结",copied:"已复制",copyPath:"复制路径",changed:"{n} 处改动",gitTooltip:"打开「文件 > 改动」",detached:"游离",openPr:"打开 Pull Request",prStatusOpen:"已打开",prStatusClosed:"已关闭",prStatusMerged:"已合并",prStatusDraft:"草稿",prStatusUnknown:"未知",options:"选项",search:"搜索对话",copySessionId:"复制 Session ID",renameSession:"重命名",forkSession:"分叉会话",archiveSession:"归档",exportSession:"导出会话"},hy={title:"Side chat",subtitle:"forked from this session",empty:"Ask a quick question on the side — it shares this session’s context.",placeholder:"Ask the side chat…",send:"Send"},yy={title:"侧边聊天",subtitle:"从当前会话 fork",empty:"在侧边随手问一句 —— 它共享当前会话的上下文。",placeholder:"问问侧边聊天…",send:"发送"},ky={title:"Server token required",hint:"This server is protected. Enter the bearer token printed when the server started (or the password set via {password}).",placeholder:"Token",connect:"Connect",connecting:"Connecting…"},by={dockTerminal:"Terminal",newTerminal:"New terminal",inputPlaceholder:"Type a command and press Enter",loading:"Loading terminals…",empty:"No terminals yet — create one to get a shell in this session",listFailed:"Failed to load terminals",createFailed:"Failed to create terminal",closeFailed:"Failed to close terminal",closeTerminal:"Close terminal",exited:"Process exited with code {code}"},wy={title:"需要服务器令牌",hint:"此服务器受保护。请输入服务器启动时打印的 bearer token(或通过 {password} 设置的密码)。",placeholder:"令牌",connect:"连接",connecting:"连接中…"},Sy={dockTerminal:"终端",newTerminal:"新建终端",inputPlaceholder:"输入命令后按回车",loading:"正在加载终端…",empty:"暂无终端 — 创建一个即可在此会话中使用 shell",listFailed:"加载终端失败",createFailed:"创建终端失败",closeFailed:"关闭终端失败",closeTerminal:"关闭终端",exited:"进程已退出,退出码 {code}"},Cy={title:"Manage sessions",subtitle:"Cross-workspace triage: filter by workspace, status, and updated time; batch mark sessions done or reopen them.",filterWorkspace:"Workspace",filterStatus:"Status",filterTime:"Updated",allWorkspaces:"All workspaces",allStatus:"All statuses",statusOpen:"Open",statusDone:"Done",markDone:"Mark as done",reopen:"Mark as open",markDoneCount:"Mark as done ({n})",reopenCount:"Mark as open ({n})",batchSelected:"{n} selected",selectAll:"Select all",selectPageAll:"Select this page",selectAllMatching:"Select all matching",clearSelection:"Clear selection",prevPage:"Previous",nextPage:"Next",pageSize:"Page size",total:"{n} sessions",searchWorkspace:"Search sessions or workspaces",timeDaysAgo:"{n} days ago",timeAll:"All time",fork:"Fork session",export:"Export session",rename:"Rename",undo:"Undo",removeTag:"Remove tag",reset:"Reset filters",back:"Back",moreActions:"More actions",noSessions:"No sessions match the current filters",doneAt:"Done"},_y={title:"管理会话",subtitle:"跨工作区整理会话:按工作区、状态和更新时间筛选,可批量标记完成或重新打开。",filterWorkspace:"工作区",filterStatus:"状态",filterTime:"更新时间",allWorkspaces:"全部工作区",allStatus:"全部状态",statusOpen:"进行中",statusDone:"已完成",markDone:"标记为已完成",reopen:"标记为进行中",markDoneCount:"标记为已完成 ({n})",reopenCount:"标记为进行中 ({n})",batchSelected:"已选 {n} 项",selectAll:"全选",selectPageAll:"选择本页",selectAllMatching:"选择全部匹配项",clearSelection:"取消选择",prevPage:"上一页",nextPage:"下一页",pageSize:"每页条数",total:"共 {n} 个会话",searchWorkspace:"搜索会话或工作区",timeDaysAgo:"{n} 天前",timeAll:"全部时间",fork:"分叉会话",export:"导出会话",rename:"重命名",undo:"撤销",removeTag:"移除标签",reset:"重置筛选",back:"返回",moreActions:"更多操作",noSessions:"没有匹配当前筛选条件的会话",doneAt:"已完成"},My={tabThinking:"Thinking",tabCompaction:"Compaction",tabAgent:"Agent",tabSideChat:"Side chat",tabDiff:"Changes",tabToolDiff:"Tool diff",tabFile:"File",closeTab:"Close tab",activateTab:"Open {tab} panel",moveToBackground:"Move to background"},$y={tabThinking:"思考过程",tabCompaction:"压缩摘要",tabAgent:"子 Agent",tabSideChat:"侧聊",tabDiff:"变更",tabToolDiff:"工具差异",tabFile:"文件",closeTab:"关闭标签页",activateTab:"打开 {tab} 面板",moveToBackground:"移至后台"},xy={en:{common:f0,app:m0,sidebar:v0,workspace:g0,conversation:h0,status:y0,composer:k0,login:b0,providers:w0,model:S0,sessions:C0,approval:_0,question:M0,tasks:$0,thinking:x0,diff:T0,fileTree:I0,filePreview:A0,mention:P0,warnings:E0,commands:B0,tools:R0,layout:L0,mobile:O0,theme:z0,onboarding:dy,settings:fy,header:vy,sideChat:hy,serverAuth:ky,terminal:by,media:D0,admin:Cy,panel:My},zh:{common:F0,app:N0,sidebar:W0,workspace:q0,conversation:H0,status:U0,composer:V0,login:j0,providers:K0,model:G0,sessions:Q0,approval:Y0,question:Z0,tasks:X0,thinking:J0,diff:ey,fileTree:ty,filePreview:ny,mention:sy,warnings:oy,commands:iy,tools:ay,layout:ly,mobile:uy,theme:cy,onboarding:py,settings:my,header:gy,sideChat:yy,serverAuth:wy,terminal:Sy,media:ry,admin:_y,panel:$y}},vc=[{code:"en",label:"English"},{code:"zh",label:"中文"}];function Ty(){const e=Dt(Ge.locale);return e==="en"||e==="zh"?e:globalThis.navigator?.language?.toLowerCase().startsWith("zh")?"zh":"en"}const St=$p({legacy:!1,locale:Ty(),fallbackLocale:"en",messages:xy});function gc(e){St.global.locale.value=e,Nt(Ge.locale,e)}const Iy=["app:load:start","app:load:complete","export:start","export:accepted","export:failed","prompt:start","prompt:accepted","prompt:failed","session:snapshot:start","session:snapshot:accepted","session:snapshot:failed","operation:failed","window:error","window:unhandled-rejection","ws:connection","ws:error","ws:resync","ws:stale-reconnect"],hc=500,qi=256*1024,wr=200,fa=16384,ma=500,va=50,ga=50,Ay=6,Py=/api[_-]?key|authorization|token|secret|password|cookie|credential/i,Ey=/^[A-Za-z0-9+/=_-]{200,}$/;let ha=null;function vs(){if(ha!==null)return ha;let e=!1;try{if(typeof location<"u"){const t=new URLSearchParams(location.search).get("debug");(t==="1"||t==="true")&&(e=!0)}}catch{}return e||(e=Dt(Ge.debug)==="1"),ha=e,e}const eo=[],Ro=[];let Xo=0;const fo=[];let Jo=0,By=1;const Hi=new TextEncoder,Ry=new Set(Iy),xl=T(0),ei=xp(!1);function Ly(){return eo}function Dy(){eo.length=0,Ro.length=0,Xo=0,fo.length=0,Jo=0,xl.value++}function Ws(e){if(!ei.value){try{const t={id:By++,ts:Date.now(),source:e.source,kind:String(Lo(e.kind)),label:String(Lo(e.label)),sessionId:e.sessionId===void 0?void 0:String(Lo(e.sessionId)),method:e.method,path:e.path,eventType:e.eventType,seq:e.seq,offset:e.offset,status:e.status,code:e.code,requestId:e.requestId,durationMs:e.durationMs,detail:no(e.detail)},n=JSON.stringify(t),s=Hi.encode(n).byteLength;if(s>qi)return;for(eo.push(t),Ro.push(n),Xo+=s+(Ro.length>1?1:0);eo.length>hc||Xo>qi;){const o=Ro.shift();eo.shift(),o!==void 0&&(Xo-=Hi.encode(o).byteLength,Ro.length>0&&(Xo-=1))}}catch{return}xl.value++}}function lo(e){if(typeof e=="string")return e.length<=wr?e:e.slice(0,wr)}function Xn(e){return typeof e=="number"&&Number.isFinite(e)?e:void 0}function Oy(e,t){if(Ry.has(e))try{const n={ts:Date.now(),event:e,sessionId:lo(t?.sessionId),status:lo(t?.status),operation:lo(t?.operation),seq:Xn(t?.seq),durationMs:Xn(t?.durationMs),messageCount:Xn(t?.messageCount),contentCount:Xn(t?.contentCount),mediaCount:Xn(t?.mediaCount),sessionCount:Xn(t?.sessionCount),workspaceCount:Xn(t?.workspaceCount),promptId:lo(t?.promptId),zipBytes:Xn(t?.zipBytes),errorName:lo(t?.errorName),errorCode:Xn(t?.errorCode),requestId:lo(t?.requestId),phase:lo(t?.phase),httpStatus:Xn(t?.httpStatus),fatal:typeof t?.fatal=="boolean"?t.fatal:void 0,line:Xn(t?.line),col:Xn(t?.col)},s=JSON.stringify(n),o=Hi.encode(s).byteLength;if(o>qi)return;for(fo.push(s),Jo+=o+(fo.length>1?1:0);fo.length>hc||Jo>qi;){const i=fo.shift();i!==void 0&&(Jo-=Hi.encode(i).byteLength,fo.length>0&&(Jo-=1))}}catch{return}}function Lo(e,t=0){if(e==null)return e;const n=typeof e;if(n==="number"||n==="boolean")return e;if(n==="string"){const i=e;return Ey.test(i)?`[base64-like, ${i.length} chars omitted]`:i.length>ma?`${i.slice(0,ma)}… [+${i.length-ma} chars]`:i}if(n!=="object")return String(e);if(t>=Ay)return"[max depth]";if(Array.isArray(e)){const i=e.slice(0,va).map(u=>Lo(u,t+1));return e.length>va&&i.push(`[+${e.length-va} more items]`),i}const s={},o=Object.entries(e);for(const[i,u]of o.slice(0,ga))s[i]=Py.test(i)?"[redacted]":Lo(u,t+1);return o.length>ga&&(s._truncatedKeys=o.length-ga),s}function no(e){if(e===void 0)return;const t=Lo(e);try{const n=JSON.stringify(t);if(n!==void 0&&n.length>fa)return{_truncated:`detail JSON was ${n.length} chars; first ${fa} kept`,preview:n.slice(0,fa)}}catch{return"[unserializable detail]"}return t}const yc=/^\/(oauth\/login|auth|providers|config|files)(\/|$)/i;function Ci(e){vs()&&Ws({source:"rest",kind:"rest:request",label:`→ ${e.method} ${e.path}`,method:e.method,path:e.path,requestId:e.requestId,detail:{url:e.url,body:yc.test(e.path)?void 0:no(e.body)}})}function To(e){if(!vs())return;const t=e.code!==0;Ws({source:"rest",kind:t?"rest:error":"rest:response",label:`← ${e.method} ${e.path} ${e.status} code=${e.code}${t?` "${e.msg}"`:""} ${Math.round(e.durationMs)}ms`,method:e.method,path:e.path,requestId:e.requestId,status:e.status,code:e.code,durationMs:e.durationMs,detail:{envelope:{code:e.code,msg:e.msg,request_id:e.envelopeRequestId},data:yc.test(e.path)?void 0:no(e.data)}})}function Vs(e){vs()&&Ws({source:"rest",kind:"rest:error",label:`✕ ${e.method} ${e.path} ${e.phase} error${e.status!==void 0?` (HTTP ${e.status})`:""} ${Math.round(e.durationMs)}ms`,method:e.method,path:e.path,requestId:e.requestId,status:e.status,durationMs:e.durationMs,detail:{phase:e.phase,error:String(e.error)}})}function js(e,t){vs()&&Ws({source:"ws",kind:"ws:lifecycle",eventType:e,label:`ws ${e}`,detail:no(t)})}function zy(e){if(!vs())return;const t=e??{},n=typeof t.type=="string"?t.type:"(unknown)",s=t.payload,o=typeof s?.session_id=="string"?s.session_id:void 0;Ws({source:"ws",kind:"ws:out",eventType:n,sessionId:o,label:`→ ${n}`,detail:no(e)})}function Fy(e){if(!vs())return;const t=e??{},n=typeof t.type=="string"?t.type:"(unknown)",s=typeof t.session_id=="string"?t.session_id:typeof t.payload?.session_id=="string"?t.payload.session_id:void 0,o=typeof t.seq=="number"?t.seq:void 0,i=typeof t.offset=="number"?t.offset:void 0,u=[s,o!==void 0?`seq=${o}`:void 0,i!==void 0?`offset=${i}`:void 0,t.volatile===!0?"volatile":void 0].filter(Boolean);Ws({source:"ws",kind:"ws:in",eventType:n,sessionId:s,seq:o,offset:i,label:`← ${n}${u.length>0?` (${u.join(" ")})`:""}`,detail:no(t.payload)})}const Ny={error:"✕",warn:"⚠",info:"ℹ",debug:"·",log:"·"};function Wy(e,t,n){vs()&&Ws({source:"client",kind:`client:${e}`,label:`${Ny[e]} ${t}`,detail:no(n)})}function Ds(e,t){vs()&&Ws({source:"client",kind:"client:event",label:`· ${e}`,detail:no(t)})}function tn(e,t){Oy(e,t),Ws({source:"client",kind:"client:key",label:e,sessionId:typeof t?.sessionId=="string"?t.sessionId:void 0,seq:typeof t?.seq=="number"?t.seq:void 0,durationMs:typeof t?.durationMs=="number"?t.durationMs:void 0,detail:t})}let ya=!1,_i=null;function qy(){if(ya)return()=>_i?.();ya=!0;const e=[];try{if(typeof window<"u"){const n=o=>{tn("window:error",{status:"failed",errorName:o.error instanceof Error?o.error.name:"Error",line:o.lineno,col:o.colno})},s=o=>{const i=o.reason;tn("window:unhandled-rejection",{status:"failed",errorName:i instanceof Error?i.name:typeof i})};window.addEventListener("error",n),window.addEventListener("unhandledrejection",s),e.push(()=>{window.removeEventListener("error",n)}),e.push(()=>{window.removeEventListener("unhandledrejection",s)})}}catch{}if(vs())for(const n of["error","warn","log","info","debug"]){const s=console[n];if(typeof s!="function")continue;const o=(...i)=>{try{Wy(n,i.map(Hy).join(" "),i.length>1?i:i[0])}catch{}s.apply(console,i)};console[n]=o,e.push(()=>{console[n]===o&&(console[n]=s)})}const t=()=>{if(_i===t){for(const n of e.toReversed())n();_i=null,ya=!1}};return _i=t,t}function Hy(e){if(typeof e=="string")return e;if(e instanceof Error)return`${e.name}: ${e.message}`;try{return JSON.stringify(e)}catch{return String(e)}}function kc(e=eo){if(typeof document>"u")return;const t=new Blob([Uy(e)],{type:"application/x-ndjson"}),n=URL.createObjectURL(t);let s;try{s=document.createElement("a"),s.href=n,s.download=`kimi-web-log-${new Date().toISOString().replaceAll(/[:.]/g,"-")}.jsonl`,document.body.append(s),s.click()}finally{s?.remove(),setTimeout(()=>{try{URL.revokeObjectURL(n)}catch{}},0)}}function Uy(e=eo){return e===eo?Ro.join(`
+`):e.map(t=>JSON.stringify(t)).join(`
+`)}function Vy(){return fo.join(`
+`)}const bc="kimiWeb.compaction",wc="kimiWeb.turnError",Sn=St.global.t,jy={read:"tools.label.read",bash:"tools.label.bash",edit:"tools.label.edit",multi_edit:"tools.label.edit",write:"tools.label.write",grep:"tools.label.grep",glob:"tools.label.glob",ls:"tools.label.ls",web_fetch:"tools.label.web_fetch",search:"tools.label.search",todo:"tools.label.todo",task:"tools.label.task",agentswarm:"tools.label.swarm",askuserquestion:"tools.label.ask_user",creategoal:"tools.label.goal_create",getgoal:"tools.label.goal_get",setgoalbudget:"tools.label.goal_budget",updategoal:"tools.label.goal_update",waitfor:"tools.label.waitfor"},Ky={multiedit:"multi_edit",multiedits:"multi_edit",shell:"bash",run:"bash",exec:"bash",ripgrep:"grep",rg:"grep",find:"glob",fetch:"web_fetch",webfetch:"web_fetch",url_fetch:"web_fetch",urlfetch:"web_fetch",list:"ls",listdir:"ls",list_dir:"ls",todowrite:"todo",todo_write:"todo",todoread:"todo",todolist:"todo",todo_list:"todo",agent:"task",subagent:"task",websearch:"search",web_search:"search",create_goal:"creategoal",get_goal:"getgoal",set_goal_budget:"setgoalbudget",update_goal:"updategoal",wait_for:"waitfor"};function $o(e){const t=(e??"").trim().toLowerCase().replace(/[\s-]+/g,"_");return Ky[t]??t}function so(e){const t=jy[$o(e)];return t?Sn(t):e}const Gy={read:"file-text",bash:"terminal",edit:"pencil",multi_edit:"pencil",write:"file-plus",grep:"search",search:"search",glob:"glob",ls:"folder",web_fetch:"globe",todo:"check-list",task:"sparkles",agentswarm:"git-pull-request",askuserquestion:"help-circle",creategoal:"target",getgoal:"target",setgoalbudget:"target",updategoal:"target",waitfor:"clock",croncreate:"calendar-schedule",cronlist:"calendar-todo",crondelete:"calendar-close"};function Ho(e){const t=$o(e);let n=Gy[t];return!n&&(e??"").trim().toLowerCase().includes("skill")&&(n="bolt"),n||(n="tool"),fc(n,"sm")}const Sc=80;function Qy(e,t=Sc){const n=e.trim();return n.length>t?n.slice(0,t-1)+"…":n}function Yy(e,t){const n=e.trim();return!!(n===""||n==="{}"||n==="[]"||n==="null"||t&&Object.keys(t).length===0)}function Zy(e){const t=e.trim();if(!t.startsWith("{"))return null;try{const n=JSON.parse(t);return n&&typeof n=="object"&&!Array.isArray(n)?n:null}catch{return null}}function mt(e){return typeof e=="string"&&e.length>0?e:void 0}function Ys(e){return typeof e=="number"&&Number.isFinite(e)?e:void 0}function Xy(e){try{const t=new URL(e),n=t.pathname.split("/").filter(Boolean)[0];return n?`${t.host}/${n}`:t.host}catch{return e.replace(/^https?:\/\//,"")}}function ka(e){return mt(e.path)??mt(e.file_path)??mt(e.filePath)??mt(e.filename)}const Jy={active:"status.goalStatusActive",blocked:"status.goalStatusBlocked",complete:"status.goalStatusComplete"};function ek(e){const t=mt(e);if(!t)return;const n=Jy[t];return n?Sn(n):t}function tk(e){const t=Ys(e.value),n=mt(e.unit);if(!(t===void 0||!n))switch(n){case"turns":return Sn("tools.goal.turns",{value:t});case"tokens":return Sn("tools.goal.tokens",{value:t});case"milliseconds":return Sn("tools.goal.milliseconds",{value:t});case"seconds":return Sn("tools.goal.seconds",{value:t});case"minutes":return Sn("tools.goal.minutes",{value:t});case"hours":return Sn("tools.goal.hours",{value:t});default:return Sn("tools.goal.budget",{value:t,unit:n})}}const nk=64;function So(e,t,n=!1){const s=(o,i=Sc)=>n?o.trim():Qy(o,i);try{const o=Zy(t);if(!n&&Yy(t,o))return"";const i=()=>s(t.replace(/^·\s*/,""));if(!o)return i();switch($o(e)){case"read":{const u=ka(o);if(!u)return i();const p=Ys(o.offset)??Ys(o.line_start)??Ys(o.start_line),f=Ys(o.limit)??Ys(o.length),v=Ys(o.line_end)??Ys(o.end_line)??(p!==void 0&&f!==void 0?p+f:void 0);return s(p!==void 0&&v!==void 0?`${u}:${p}-${v}`:p!==void 0?`${u}:${p}`:u)}case"write":{const u=ka(o);return u?s(`${u} ${Sn("tools.chip.created")}`):i()}case"edit":case"multi_edit":{const u=ka(o);return u?s(u):i()}case"bash":{const u=mt(o.command)??mt(o.cmd)??mt(o.script);return u?s(u,nk):i()}case"grep":case"search":{const u=mt(o.pattern)??mt(o.query)??mt(o.regex),p=mt(o.path)??mt(o.glob)??mt(o.include);return u&&p?s(`${u} in ${p}`):u?s(u):i()}case"glob":{const u=mt(o.pattern)??mt(o.glob)??mt(o.query),p=mt(o.path)??mt(o.cwd);return u&&p?s(`${u} in ${p}`):u?s(u):mt(o.path)?s(mt(o.path)):i()}case"ls":{const u=mt(o.path)??mt(o.dir)??mt(o.directory)??mt(o.cwd);return u?s(u):i()}case"web_fetch":{const u=mt(o.url)??mt(o.uri);return u?s(Xy(u)):i()}case"todo":case"task":{const u=mt(o.description)??mt(o.title)??mt(o.prompt)??mt(o.name)??mt(o.subagent_type);if(u)return s(u);const p=Array.isArray(o.todos)?o.todos:Array.isArray(o.items)?o.items:void 0;return p?s(Sn("tools.chip.todos",{count:p.length})):i()}case"creategoal":{if(n)return i();const u=mt(o.objective),p=mt(o.completionCriterion);return u&&p?s(Sn("tools.goal.objectiveWithCriterion",{objective:u,criterion:p})):u?s(u):i()}case"getgoal":return n?i():"";case"setgoalbudget":{if(n)return i();const u=tk(o);return u?s(u):i()}case"updategoal":{if(n)return i();const u=ek(o.status);return u?s(Sn("tools.goal.status",{status:u})):i()}case"waitfor":{if(n)return i();const u=mt(o.task_id)??mt(o.taskId);return u?s(u):i()}default:return i()}}catch{return t}}function Cc(e){try{switch($o(e.name)){case"bash":return e.timing?e.timing:"";case"read":{if(e.output&&e.output.length>0){const t=e.output.length;return Sn("tools.chip.lines",{count:t})}return""}case"edit":case"multi_edit":case"write":{if(e.output){for(const n of e.output){const s=n.match(/\+(\d+).*[-−](\d+)/);if(s)return`+${s[1]} −${s[2]}`}const t=e.output.find(n=>/\d+/.test(n));if(t){const n=t.match(/\+(\d+)/),s=t.match(/[-−](\d+)/);if(n||s)return`${n?`+${n[1]}`:""} ${s?`−${s[1]}`:""}`.trim()}if(e.status!=="error")return Sn("tools.chip.edited")}return""}case"grep":case"search":return e.output&&e.output.length>0?Sn("tools.chip.results",{count:e.output.length}):"";default:return""}}catch{return""}}const sk=["local-path","zip-url","github"];function Kt(e,t){const n=e[t];return typeof n=="string"&&n.length>0?n:void 0}function Zs(e,t,n){return Kt(e,t)??Kt(e,n)}function Ko(e,t,n){const s=e[t];if(typeof s=="number"&&Number.isFinite(s))return s;const o=e[n];return typeof o=="number"&&Number.isFinite(o)?o:0}function _c(e,t,n){return e[t]===!0||e[n]===!0}function ok(e){const t=e!==null&&typeof e=="object"?e:{},n=Kt(t,"source"),s=t.github,o=s!==null&&typeof s=="object"?s:void 0,i=o!==void 0&&o.ref!==null&&typeof o.ref=="object"?o.ref:void 0,u=i!==void 0?Kt(i,"kind"):void 0;return{id:Kt(t,"id")??"",displayName:Zs(t,"display_name","displayName")??"",version:Zs(t,"version","version"),enabled:t.enabled===!0,state:t.state==="error"?"error":"ok",skillCount:Ko(t,"skill_count","skillCount"),mcpServerCount:Ko(t,"mcp_server_count","mcpServerCount"),enabledMcpServerCount:Ko(t,"enabled_mcp_server_count","enabledMcpServerCount"),hookCount:Ko(t,"hook_count","hookCount"),commandCount:Ko(t,"command_count","commandCount"),hasErrors:_c(t,"has_errors","hasErrors"),source:sk.includes(n??"")?n:"local-path",originalSource:Zs(t,"original_source","originalSource"),github:o!==void 0&&i!==void 0&&(u==="branch"||u==="tag"||u==="sha")?{owner:Kt(o,"owner")??"",repo:Kt(o,"repo")??"",ref:{kind:u,value:Kt(i,"value")??""},installedSha:Zs(o,"installed_sha","installedSha")}:void 0}}const ik=["official","curated","third-party"],ak=["not_installed","partial","ready","unsupported"],lk=["ok","missing","failed"];function rk(e){const t=e!==null&&typeof e=="object"?e:{},n=Kt(t,"tier"),s=t.installed,o=s!==null&&typeof s=="object"?s:void 0;return{id:Kt(t,"id")??"",tier:ik.includes(n??"")?n:"third-party",displayName:Zs(t,"display_name","displayName")??"",description:Kt(t,"description"),homepage:Kt(t,"homepage"),keywords:Array.isArray(t.keywords)?t.keywords.filter(i=>typeof i=="string"):void 0,version:Kt(t,"version"),source:Kt(t,"source")??"",installed:o===void 0?void 0:{version:Kt(o,"version"),enabled:o.enabled===!0},updateAvailable:_c(t,"update_available","updateAvailable"),capabilityId:Zs(t,"capability_id","capabilityId")}}function uk(e){const t=e!==null&&typeof e=="object"?e:{},n=Kt(t,"state"),o=(Array.isArray(t.steps)?t.steps:[]).filter(u=>u!==null&&typeof u=="object").map(u=>({id:Kt(u,"id")??"",state:lk.includes(Kt(u,"state")??"")?Kt(u,"state"):"missing",detail:Kt(u,"detail"),optional:u.optional===!0})),i=t.install;return{id:Kt(t,"id")??"",pluginId:Zs(t,"plugin_id","pluginId"),displayName:Zs(t,"display_name","displayName")??"",description:Kt(t,"description")??"",supported:t.supported===!0,state:ak.includes(n??"")?n:"unsupported",version:Kt(t,"version"),steps:o,install:Mc(void 0,i!==null&&typeof i=="object"?i:{running:!1})}}function ck(e){const t=e.trim();return t.length===0?!1:/^https:\/\/\S+$/i.test(t)?!0:/^(\/|~\/|\.{1,2}\/|[A-Za-z]:[\\/])/.test(t)}function dk(e,t){return e===void 0?{phase:t==="ready"?"done":"idle"}:e.running?{phase:"installing",step:e.step,percent:e.percent,note:e.note}:e.error!==void 0&&e.error.length>0?{phase:"error",error:e.error,step:e.step,percent:e.percent}:{phase:t==="ready"?"done":"idle",step:e.step}}function Mc(e,t){return{running:t.running,step:t.step??e?.step,percent:t.percent??e?.percent,error:t.error??e?.error,note:t.note??e?.note}}function $c(e){return{inputTokens:e.input_tokens,outputTokens:e.output_tokens,cacheReadTokens:e.cache_read_tokens,cacheCreationTokens:e.cache_creation_tokens,totalCostUsd:e.total_cost_usd,contextTokens:e.context_tokens,contextLimit:e.context_limit,turnCount:e.turn_count}}function Ga(e){return e.contextTokens===0&&e.contextLimit===0&&e.inputTokens===0&&e.outputTokens===0&&e.turnCount===0}function cs(e){return{id:e.id,title:e.title,createdAt:e.created_at,updatedAt:e.updated_at,busy:e.busy,mainTurnActive:e.main_turn_active,pendingInteraction:e.pending_interaction,lastTurnReason:e.last_turn_reason,archived:e.archived??!1,currentPromptId:e.current_prompt_id,lastPrompt:e.last_prompt,cwd:e.metadata.cwd,model:e.agent_config.model,usage:$c(e.usage),messageCount:e.message_count,lastSeq:e.last_seq,workspaceId:e.workspace_id,parentSessionId:typeof e.metadata.parent_session_id=="string"?e.metadata.parent_session_id:void 0}}function oi(e){return{id:e.id,root:e.root,name:e.name,lastOpenedAt:e.last_opened_at,sessionCount:e.session_count}}function Sr(e){return e.kind==="base64"?{kind:"base64",mediaType:e.media_type,data:e.data}:e.kind==="file"?{kind:"file",fileId:e.file_id}:{kind:"url",url:e.url,id:e.id}}function Tl(e){switch(e.type){case"text":return{type:"text",text:e.text};case"tool_use":return{type:"toolUse",toolCallId:e.tool_call_id,toolName:e.tool_name,input:e.input};case"tool_result":return{type:"toolResult",toolCallId:e.tool_call_id,output:e.output,isError:e.is_error};case"image":return{type:"image",source:Sr(e.source)};case"video":return{type:"video",source:Sr(e.source)};case"file":return{type:"file",fileId:e.file_id,name:e.name,mediaType:e.media_type,size:e.size};case"thinking":return{type:"thinking",thinking:e.thinking,signature:e.signature};default:return{type:"unknown",raw:e}}}function Qa(e){return{id:e.id,sessionId:e.session_id,role:e.role,content:e.content.map(Tl),createdAt:e.created_at,promptId:e.prompt_id,parentMessageId:e.parent_message_id,metadata:e.metadata}}function pk(e){switch(e.type){case"text":return{type:"text",text:e.text};case"toolUse":return{type:"tool_use",tool_call_id:e.toolCallId,tool_name:e.toolName,input:e.input};case"toolResult":return{type:"tool_result",tool_call_id:e.toolCallId,output:e.output,is_error:e.isError};case"image":case"video":{const t=e.source;let n;return t.kind==="base64"?n={kind:"base64",media_type:t.mediaType,data:t.data}:t.kind==="file"?n={kind:"file",file_id:t.fileId}:n={kind:"url",url:t.url,id:t.id},{type:e.type,source:n}}case"file":return{type:"file",file_id:e.fileId,name:e.name,media_type:e.mediaType,size:e.size};case"thinking":return{type:"thinking",thinking:e.thinking,signature:e.signature};case"unknown":return e.raw}}function fk(e){return{content:e.content.map(pk),metadata:e.metadata,agent_id:e.agentId,model:e.model,thinking:e.thinking,permission_mode:e.permissionMode,plan_mode:e.planMode,swarm_mode:e.swarmMode,supermoon_mode:e.supermoonMode,goal_objective:e.goalObjective,goal_control:e.goalControl}}function mk(e){return{decision:e.decision,scope:e.scope,feedback:e.feedback,selected_label:e.selectedLabel}}function xc(e){return{approvalId:e.approval_id,sessionId:e.session_id,turnId:e.turn_id,toolCallId:e.tool_call_id,toolName:e.tool_name,action:e.action,display:e.tool_input_display??e.display,expiresAt:e.expires_at,createdAt:e.created_at}}function vk(e){return{id:e.id,label:e.label,description:e.description,recommended:e.recommended===!0||e.is_recommended===!0}}function gk(e){return{id:e.id,question:e.question,header:e.header,body:e.body,options:e.options.map(vk),multiSelect:e.multi_select,allowOther:e.allow_other,otherLabel:e.other_label,otherDescription:e.other_description}}function Tc(e){return{questionId:e.question_id,sessionId:e.session_id,turnId:e.turn_id,toolCallId:e.tool_call_id,questions:e.questions.map(gk),createdAt:e.created_at}}function hk(e){switch(e.kind){case"single":return{kind:"single",option_id:e.optionId};case"multi":return{kind:"multi",option_ids:e.optionIds};case"other":return{kind:"other",text:e.text};case"multiWithOther":return{kind:"multi_with_other",option_ids:e.optionIds,other_text:e.otherText};case"skipped":return{kind:"skipped"}}}function yk(e){const t={};for(const[n,s]of Object.entries(e.answers))t[n]=hk(s);return{answers:t,method:e.method,note:e.note}}function Di(e){return{id:e.id,sessionId:e.session_id,kind:e.kind,description:e.description,status:e.status,command:e.command,createdAt:e.created_at,startedAt:e.started_at,completedAt:e.completed_at,outputPreview:e.output_preview,outputBytes:e.output_bytes,subagentPhase:e.subagent_phase,subagentType:e.subagent_type,model:e.model,thinkingEffort:e.thinking_effort,parentToolCallId:e.parent_tool_call_id,suspendedReason:e.suspended_reason,swarmIndex:e.swarm_index,runInBackground:e.run_in_background??(e.kind==="subagent"?!0:void 0)}}function Cr(e){return{path:e.path,name:e.name,kind:e.kind,size:e.size,modifiedAt:e.modified_at,etag:e.etag,mime:e.mime,languageId:e.language_id,isBinary:e.is_binary,isSymlinkTo:e.is_symlink_to,gitStatus:e.git_status,childCount:e.child_count}}function Ks(e,t){const n=e[t];return typeof n=="string"?n:void 0}function Io(e,t){const n=e[t];return typeof n=="number"&&Number.isFinite(n)?n:void 0}function Jn(e,t){const n=e[t];return typeof n=="number"&&Number.isFinite(n)?n:null}function Ic(e){if(!e||typeof e!="object")return null;const t=e,n=Ks(t,"status");if(n!=="active"&&n!=="paused"&&n!=="blocked"&&n!=="complete")return null;const s=t.budget,o=s&&typeof s=="object"?s:{};return{goalId:Ks(t,"goalId")??Ks(t,"goal_id")??"goal",objective:Ks(t,"objective")??"",completionCriterion:Ks(t,"completionCriterion")??Ks(t,"completion_criterion"),status:n,turnsUsed:Io(t,"turnsUsed")??Io(t,"turns_used")??0,tokensUsed:Io(t,"tokensUsed")??Io(t,"tokens_used")??0,wallClockMs:Io(t,"wallClockMs")??Io(t,"wall_clock_ms")??0,terminalReason:Ks(t,"terminalReason")??Ks(t,"terminal_reason"),budget:{tokenBudget:Jn(o,"tokenBudget")??Jn(o,"token_budget"),remainingTokens:Jn(o,"remainingTokens")??Jn(o,"remaining_tokens"),turnBudget:Jn(o,"turnBudget")??Jn(o,"turn_budget"),remainingTurns:Jn(o,"remainingTurns")??Jn(o,"remaining_turns"),wallClockBudgetMs:Jn(o,"wallClockBudgetMs")??Jn(o,"wall_clock_budget_ms"),remainingWallClockMs:Jn(o,"remainingWallClockMs")??Jn(o,"remaining_wall_clock_ms"),overBudget:o.overBudget===!0||o.over_budget===!0}}}function kk(e){const t=e;switch(e.type){case"event.session.created":return{type:"sessionCreated",session:cs(t.payload.session)};case"event.session.updated":return{type:"sessionUpdated",session:cs(t.payload.session),changedFields:t.payload.changed_fields};case"event.session.deleted":return{type:"sessionDeleted",sessionId:t.session_id};case"event.session.archived":return{type:"sessionArchived",sessionId:t.session_id,workspaceId:t.payload?.workspace_id??""};case"event.workspace.created":return{type:"workspaceCreated",workspace:oi(t.payload.workspace)};case"event.workspace.updated":return{type:"workspaceUpdated",workspace:oi(t.payload.workspace)};case"event.workspace.deleted":return{type:"workspaceDeleted",workspaceId:t.payload.workspace_id,root:t.payload.root};case"event.session.work_changed":return{type:"sessionWorkChanged",sessionId:t.session_id,busy:t.payload.busy,mainTurnActive:t.payload.main_turn_active,pendingInteraction:t.payload.pending_interaction,lastTurnReason:t.payload.last_turn_reason};case"event.session.status_changed":return{type:"sessionWorkChanged",sessionId:t.session_id,busy:t.payload.status!=="idle"&&t.payload.status!=="aborted",mainTurnActive:t.payload.status!=="idle"&&t.payload.status!=="aborted",pendingInteraction:t.payload.status==="awaiting_approval"?"approval":t.payload.status==="awaiting_question"?"question":"none",lastTurnReason:t.payload.status==="aborted"?"cancelled":void 0};case"event.session.usage_updated":return{type:"sessionUsageUpdated",sessionId:t.session_id,usage:$c(t.payload.usage)};case"event.session.history_compacted":return{type:"historyCompacted",sessionId:t.session_id,beforeSeq:t.payload.before_seq,reason:t.payload.reason,summaryMessageId:t.payload.summary_message_id};case"event.goal.updated":{const n=Ic(t.payload.snapshot??null);return{type:"goalUpdated",sessionId:t.session_id,goal:n?.status==="complete"?null:n}}case"event.message.created":return{type:"messageCreated",message:Qa(t.payload.message)};case"event.message.updated":return{type:"messageUpdated",sessionId:t.session_id,messageId:t.payload.message_id,content:t.payload.content.map(Tl),status:t.payload.status};case"event.assistant.delta":return{type:"assistantDelta",sessionId:t.session_id,messageId:t.payload.message_id,contentIndex:t.payload.content_index,delta:t.payload.delta};case"event.assistant.tool_use_started":case"event.assistant.tool_use_delta":case"event.assistant.tool_use_completed":case"event.assistant.completed":case"event.tool.started":return{type:"unknown",raw:{_noop:!0,_wireType:t.type}};case"event.tool.output":return{type:"toolOutput",sessionId:t.session_id,toolCallId:t.payload.tool_call_id,outputChunk:t.payload.chunk,stream:t.payload.stream};case"event.tool.progress":return typeof t.payload.message=="string"&&t.payload.message.length>0?{type:"toolOutput",sessionId:t.session_id,toolCallId:t.payload.tool_call_id,outputChunk:t.payload.message,stream:"stdout"}:{type:"unknown",raw:{_noop:!0,_wireType:t.type}};case"event.tool.completed":return{type:"unknown",raw:{_noop:!0,_wireType:t.type}};case"event.approval.requested":return{type:"approvalRequested",sessionId:t.session_id,approval:xc(t.payload)};case"event.approval.resolved":return{type:"approvalResolved",sessionId:t.session_id,approvalId:t.payload.approval_id,decision:t.payload.decision,resolvedAt:t.payload.resolved_at};case"event.approval.expired":return{type:"approvalExpired",sessionId:t.session_id,approvalId:t.payload.approval_id};case"event.question.requested":return{type:"questionRequested",sessionId:t.session_id,question:Tc(t.payload)};case"event.question.answered":return{type:"questionAnswered",sessionId:t.session_id,questionId:t.payload.question_id,resolvedAt:t.payload.resolved_at};case"event.question.dismissed":return{type:"questionDismissed",sessionId:t.session_id,questionId:t.payload.question_id,dismissedAt:t.payload.dismissed_at};case"event.task.created":return{type:"taskCreated",sessionId:t.session_id,task:Di(t.payload.task)};case"event.task.progress":return{type:"taskProgress",sessionId:t.session_id,taskId:t.payload.task_id,outputChunk:t.payload.output_chunk,stream:t.payload.stream};case"event.task.completed":return{type:"taskCompleted",sessionId:t.session_id,taskId:t.payload.task_id,status:t.payload.status,outputPreview:t.payload.output_preview,outputBytes:t.payload.output_bytes};case"event.config.changed":return{type:"configChanged",changedFields:t.payload.changed_fields,config:Ya(t.payload.config)};case"event.model_catalog.changed":return{type:"modelCatalogChanged",changed:t.payload.changed.map(n=>({providerId:n.provider_id,providerName:n.provider_name,added:n.added,removed:n.removed})),unchanged:t.payload.unchanged,failed:t.payload.failed};case"event.plugin.changed":return{type:"pluginsChanged"};case"event.capability.changed":return{type:"capabilityChanged",capabilityId:t.payload.capability_id,install:_k(t.payload.install)};default:return{type:"unknown",raw:e}}}function bk(e){return{id:e.model,provider:e.provider,model:e.model,displayName:e.display_name,maxContextSize:e.max_context_size,capabilities:e.capabilities,supportEfforts:e.support_efforts,defaultEffort:e.default_effort}}function Mi(e){return{id:e.id,type:e.type,baseUrl:e.base_url,defaultModel:e.default_model,hasApiKey:e.has_api_key,status:e.status,models:e.models}}function wk(e){return{id:e.id,name:e.name,maxContextSize:e.max_context_size,capabilities:e.capabilities,reasoning:e.reasoning}}function Sk(e){return{id:e.id,name:e.name,wireType:e.wire_type,guessed:e.guessed,needsBaseUrl:e.needs_base_url,rejected:e.rejected,rejectReason:e.reject_reason,envKey:e.env_key,models:e.models.map(wk)}}function Ya(e){const t={};for(const[n,s]of Object.entries(e.providers))t[n]={type:s.type,baseUrl:s.base_url,defaultModel:s.default_model,hasApiKey:s.has_api_key};return{providers:t,defaultProvider:e.default_provider,defaultModel:e.default_model,planningModel:e.planning_model,models:e.models,thinking:e.thinking,planMode:e.plan_mode,yolo:e.yolo,defaultPermissionMode:e.default_permission_mode,defaultPlanMode:e.default_plan_mode,permission:e.permission,hooks:e.hooks,services:e.services,mergeAllAvailableSkills:e.merge_all_available_skills,extraSkillDirs:e.extra_skill_dirs,loopControl:e.loop_control,background:e.background,experimental:e.experimental,telemetry:e.telemetry,raw:e.raw}}function _r(e){return ok(e)}function Ck(e){return rk(e)}function _k(e){return{running:e.running===!0,step:e.step,percent:typeof e.percent=="number"&&Number.isFinite(e.percent)?e.percent:void 0,error:e.error,note:e.note}}function Mr(e){return uk(e)}function Mk(e){return e.session_id}function $k(e){return e.seq}const xk="main",Tk=new Set(["turn.started","turn.step.started","turn.step.completed","turn.step.retrying","turn.step.interrupted","turn.ended","thinking.delta","assistant.delta","tool.use","tool.call.started","tool.call.delta","tool.progress","tool.result","agent.status.updated","prompt.completed","prompt.aborted","error"]);function Bs(e="msg_"){const t=Date.now().toString(36).padStart(10,"0"),n=Math.random().toString(36).slice(2,12).padEnd(10,"0");return`${e}${t}${n}`}function Ik(e){if(!e||typeof e!="object")return{input:0,output:0,cacheRead:0,cacheCreate:0};const t=e;return{input:t.inputOther??t.input_tokens??0,output:t.output??t.output_tokens??0,cacheRead:t.inputCacheRead??t.cache_read_input_tokens??0,cacheCreate:t.inputCacheCreation??t.cache_creation_input_tokens??0}}function $r(){return{turnPromptId:new Map,currentPromptId:void 0,currentAssistantMsgId:void 0,turnTextLen:0,turnThinkLen:0,toolStartTimes:new Map,totalInput:0,totalOutput:0,totalCacheRead:0,totalCacheCreate:0,contextTokens:0,contextLimit:0,turnCount:0,model:"",messages:[],subagentMeta:new Map,retryReuseMsgId:void 0}}function En(e,t){const n=e[t];return typeof n=="string"?n:void 0}function uo(e,t){const n=e[t];return typeof n=="number"&&Number.isFinite(n)?n:void 0}function es(e,t){const n=e[t];return typeof n=="number"&&Number.isFinite(n)?n:null}function Ak(e){if(!e||typeof e!="object")return null;const t=e,n=t.budget,s=n&&typeof n=="object"?n:{},o=En(t,"status");if(o!=="active"&&o!=="paused"&&o!=="blocked"&&o!=="complete")return null;const i=En(t,"goalId")??En(t,"goal_id")??"goal",u=En(t,"objective")??"";return{goalId:i,objective:u,completionCriterion:En(t,"completionCriterion")??En(t,"completion_criterion"),status:o,turnsUsed:uo(t,"turnsUsed")??uo(t,"turns_used")??0,tokensUsed:uo(t,"tokensUsed")??uo(t,"tokens_used")??0,wallClockMs:uo(t,"wallClockMs")??uo(t,"wall_clock_ms")??0,terminalReason:En(t,"terminalReason")??En(t,"terminal_reason"),budget:{tokenBudget:es(s,"tokenBudget")??es(s,"token_budget"),remainingTokens:es(s,"remainingTokens")??es(s,"remaining_tokens"),turnBudget:es(s,"turnBudget")??es(s,"turn_budget"),remainingTurns:es(s,"remainingTurns")??es(s,"remaining_turns"),wallClockBudgetMs:es(s,"wallClockBudgetMs")??es(s,"wall_clock_budget_ms"),remainingWallClockMs:es(s,"remainingWallClockMs")??es(s,"remaining_wall_clock_ms"),overBudget:s.overBudget===!0||s.over_budget===!0}}}function mo(e,t,n,s){if(typeof n!="string"||n.length===0)return null;const i={...e.subagentMeta.get(n)??{id:n,sessionId:t,kind:"subagent",description:"Sub Agent",status:"running",createdAt:new Date().toISOString(),subagentPhase:"queued"},...s,id:n,sessionId:t,kind:"subagent"};return e.subagentMeta.set(n,i),i}function Pk(e,t){if(e==="turn.step.started")return null;if(e==="tool.use"||e==="tool.call.started"){const n=En(t,"name")??En(t,"toolName")??"tool",s=so(Ek(n)),o=Bk(n,t.args??t.input);return o?`Calling ${s}: ${o}`:`Calling ${s}`}if(e==="tool.progress"){const n=t.update;if(n&&typeof n=="object"){const o=En(n,"text");if(o)return ba(o);const i=En(n,"message");if(i)return ba(i)}const s=En(t,"message");if(s)return ba(s)}return null}function Ek(e){return e.replace(/_\d+$/,"")}const xr=2e3;function ba(e){return e.length>xr?`${e.slice(0,xr)}…`:e}function Bk(e,t){if(t==null)return"";const n=typeof t=="string"?t:JSON.stringify(t);return So(e,n)}function Rk(e,t,n,s,o,i){if(i.has(n)&&s==="turn.step.started")return[];if(s==="assistant.delta"){const k=En(o,"delta");if(!k)return[];const x=e.subagentMeta.get(n),g=mo(e,t,n,{status:"running",subagentPhase:"working",startedAt:x?.startedAt??new Date().toISOString()}),m=[];return g&&m.push({type:"taskCreated",sessionId:t,task:g}),m.push({type:"taskProgress",sessionId:t,taskId:n,outputChunk:k,stream:"stdout",kind:"text"}),m}const u=Pk(s,o);if(u===null||u.length===0)return[];const p=e.subagentMeta.get(n),f=mo(e,t,n,{status:"running",subagentPhase:"working",startedAt:p?.startedAt??new Date().toISOString()}),v=[];return f&&v.push({type:"taskCreated",sessionId:t,task:f}),v.push({type:"taskProgress",sessionId:t,taskId:n,outputChunk:u,stream:"stdout"}),v}function Go(e){return{...e,content:e.content.map(t=>({...t}))}}function Tr(e,t,n){const s={id:Bs("msg_"),sessionId:t,role:"assistant",content:[],createdAt:new Date().toISOString(),promptId:n};return e.messages.push(s),s}function Lk(e,t,n,s,o,i){const u={id:s,sessionId:t,role:"user",content:o,createdAt:i,promptId:n};return e.messages.push(u),u}function Dk(e){return Array.isArray(e)?e.map(t=>Tl(t)):[]}function Ir(e,t,n,s){const o=e.messages.find(u=>u.id===t);if(!o)return-1;const i=o.content.at(-1);return i&&i.type===n?(n==="text"?i.text+=s:i.thinking+=s,o.content.length-1):(o.content.push(n==="text"?{type:"text",text:s}:{type:"thinking",thinking:s}),o.content.length-1)}function Ok(e,t,n,s,o,i){const u=e.messages.find(p=>p.id===t);u&&u.content.push({type:"toolUse",toolCallId:n,toolName:s,input:o,outputLines:i})}function zk(e){const t=e.update,n=t&&typeof t=="object"?t:null,o=(n?.stream??n?.kind??e.stream)==="stderr"?"stderr":"stdout",i=typeof n?.text=="string"&&n.text||typeof n?.message=="string"&&n.message||typeof e.chunk=="string"&&e.chunk||typeof e.output=="string"&&e.output||typeof e.message=="string"&&e.message||"";return i.length>0?{outputChunk:i,stream:o}:null}function Ar(e,t){e.messages.find(n=>n.id===t)}function Fk(e,t,n,s,o,i){const u={id:Bs("msg_"),sessionId:t,role:"tool",content:[{type:"toolResult",toolCallId:n,output:s,isError:o}],createdAt:new Date().toISOString(),promptId:i};return e.messages.push(u),u}function Qo(e,t){return e.messages.find(n=>n.id===t)}function Pr(e){return{inputTokens:e.totalInput,outputTokens:e.totalOutput,cacheReadTokens:e.totalCacheRead,cacheCreationTokens:e.totalCacheCreate,totalCostUsd:0,contextTokens:e.contextTokens,contextLimit:e.contextLimit,turnCount:e.turnCount}}function Nk(){const e=new Map,t=new Set;function n(x){let g=e.get(x);return g||(g=$r(),e.set(x,g)),g}function s(x){e.set(x,$r())}function o(x){e.delete(x)}function i(x){t.add(x)}function u(x,g){const m=n(x);m.currentPromptId=g}function p(x,g){s(x);const m=n(x),$=g.promptId??Bs("pr_");m.currentPromptId=$,m.turnPromptId.set(g.turnId,$);const h=Tr(m,x,$);g.thinkingText.length>0&&h.content.push({type:"thinking",thinking:g.thinkingText}),g.assistantText.length>0&&h.content.push({type:"text",text:g.assistantText});for(const y of g.runningTools){const S=typeof y.lastProgress?.text=="string"&&y.lastProgress.text.length>0?[y.lastProgress.text]:void 0;h.content.push({type:"toolUse",toolCallId:y.toolCallId,toolName:y.name,input:y.args??{},outputLines:S}),m.toolStartTimes.set(y.toolCallId,Date.now())}return m.currentAssistantMsgId=h.id,m.turnTextLen=g.assistantText.length,m.turnThinkLen=g.thinkingText.length,[{type:"messageCreated",message:Go(h)}]}function f(x,g,m,$){try{return k(x,g,m,$)}catch(h){return console.error("[agentProjector] Error projecting event:",x,h instanceof Error?h.message:h),[]}}function v(x,g){return g===void 0?"append":gx?"gap":"append"}function k(x,g,m,$){const h=n(m),y=g,S=[],B=y?.agentId;if(typeof B=="string"&&B!==xk){const b=t.has(B);if(b&&(x==="thinking.delta"||x==="assistant.delta")){const P=y?.delta??"";return P?[{type:"agentDelta",sessionId:m,agentId:B,delta:{[x==="thinking.delta"?"thinking":"text"]:P}}]:[]}if(b&&x==="turn.ended")return[{type:"agentTurnEnded",sessionId:m,agentId:B,reason:y?.reason}];if(Tk.has(x))return Rk(h,m,B,x,y??{},t)}switch(x){case"session.meta.updated":{const b=y?.patch?.title??y?.title,P=y?.patch?.lastPrompt,E={};typeof b=="string"&&b.length>0&&(E.title=b),typeof P=="string"&&(E.lastPrompt=P),(E.title!==void 0||E.lastPrompt!==void 0)&&S.push({type:"sessionMetaUpdated",sessionId:m,...E});break}case"prompt.submitted":{const b=y?.promptId,P=y?.userMessageId;if(!b||!P)break;const E=Dk(y?.content);if(E.length===0)break;h.currentPromptId=b;const R=Lk(h,m,b,P,E,typeof y?.createdAt=="string"?y.createdAt:new Date().toISOString());S.push({type:"messageCreated",message:Go(R)});break}case"turn.started":{const b=y?.turnId,P=h.currentPromptId??Bs("pr_");h.currentPromptId=P,b!==void 0&&h.turnPromptId.set(b,P),h.turnTextLen=0,h.turnThinkLen=0,S.push({type:"turnActiveChanged",sessionId:m,active:!0});break}case"turn.step.started":{const b=y?.turnId;let P=h.turnPromptId.get(b)??h.currentPromptId;if(P||(P=Bs("pr_"),h.currentPromptId=P,b!==void 0&&h.turnPromptId.set(b,P)),h.turnTextLen=0,h.turnThinkLen=0,h.retryReuseMsgId!==void 0){const R=h.retryReuseMsgId;if(h.retryReuseMsgId=void 0,Qo(h,R)!==void 0){h.currentAssistantMsgId=R;break}}const E=Tr(h,m,P);h.currentAssistantMsgId=E.id,S.push({type:"messageCreated",message:Go(E)});break}case"thinking.delta":{const b=h.currentAssistantMsgId;if(!b)break;const P=y?.delta??"";if(!P)break;$?.offset===0&&h.turnThinkLen>0&&(h.turnThinkLen=0);const E=v(h.turnThinkLen,$?.offset);if(E==="skip")break;if(E==="gap"){S.push({type:"historyCompacted",sessionId:m,beforeSeq:0,reason:"delta_gap"});break}const R=Ir(h,b,"thinking",P);if(R<0)break;h.turnThinkLen+=P.length,S.push({type:"assistantDelta",sessionId:m,messageId:b,contentIndex:R,delta:{thinking:P}});break}case"assistant.delta":{const b=h.currentAssistantMsgId;if(!b)break;const P=y?.delta??"";if(!P)break;$?.offset===0&&h.turnTextLen>0&&(h.turnTextLen=0);const E=v(h.turnTextLen,$?.offset);if(E==="skip")break;if(E==="gap"){S.push({type:"historyCompacted",sessionId:m,beforeSeq:0,reason:"delta_gap"});break}const R=Ir(h,b,"text",P);if(R<0)break;h.turnTextLen+=P.length,S.push({type:"assistantDelta",sessionId:m,messageId:b,contentIndex:R,delta:{text:P}});break}case"tool.use":case"tool.call.started":{const b=h.currentAssistantMsgId,P=y?.turnId,E=h.turnPromptId.get(P)??h.currentPromptId;if(!b||!E)break;const R=y?.toolCallId,W=y?.name??y?.toolName??"",Q=y?.args??y?.input??{};Ok(h,b,R,W,Q);const V=Qo(h,b);V&&V.content.length-1,h.toolStartTimes.set(R,Date.now()),V&&S.push({type:"messageUpdated",sessionId:m,messageId:b,content:V.content.map(C=>({...C})),status:"pending"});break}case"tool.call.delta":break;case"tool.progress":{const b=y?.toolCallId,P=zk(y??{});b&&P&&S.push({type:"toolOutput",sessionId:m,toolCallId:b,outputChunk:P.outputChunk,stream:P.stream});break}case"tool.result":{const b=y?.turnId;let P=h.turnPromptId.get(b)??h.currentPromptId;P||(P=Bs("pr_"),h.currentPromptId=P,b!==void 0&&h.turnPromptId.set(b,P));const E=y?.toolCallId,R=y?.output,W=y?.isError??!1;h.toolStartTimes.get(E)??Date.now(),h.toolStartTimes.delete(E);const Q=Fk(h,m,E,R,W,P);S.push({type:"messageCreated",message:Go(Q)}),h.currentAssistantMsgId=void 0;break}case"turn.step.completed":{const b=h.currentAssistantMsgId,P=Ik(y?.usage);if(h.totalInput+=P.input,h.totalOutput+=P.output,h.totalCacheRead+=P.cacheRead,h.totalCacheCreate+=P.cacheCreate,b){Ar(h,b);const E=Qo(h,b);E&&S.push({type:"messageUpdated",sessionId:m,messageId:b,content:E.content.map(R=>({...R})),status:"completed"})}break}case"agent.status.updated":{y?.model&&(h.model=y.model),y?.contextTokens!==void 0&&(h.contextTokens=y.contextTokens),y?.maxContextTokens!==void 0&&(h.contextLimit=y.maxContextTokens),S.push({type:"sessionUsageUpdated",sessionId:m,usage:Pr(h),model:h.model||void 0,swarmMode:y?.swarmMode===!0?!0:y?.swarmMode===!1?!1:void 0,planMode:y?.planMode===!0?!0:y?.planMode===!1?!1:void 0,supermoonMode:y?.supermoonMode===!0?!0:y?.supermoonMode===!1?!1:void 0,thinking:typeof y?.thinkingEffort=="string"&&y.thinkingEffort.length>0?y.thinkingEffort:void 0});break}case"turn.ended":{const b=h.currentAssistantMsgId,P=y?.reason??"completed",E=uo(y??{},"durationMs");if(S.push({type:"turnActiveChanged",sessionId:m,active:!1,reason:y?.reason}),b){Ar(h,b);const Q=Qo(h,b);Q&&S.push({type:"messageUpdated",sessionId:m,messageId:b,content:Q.content.map(V=>({...V})),status:P==="failed"||P==="blocked"?"error":"completed",durationMs:E})}h.turnCount++;const R=Pr(h);S.push({type:"sessionUsageUpdated",sessionId:m,usage:R});const W=y?.error;if(P==="failed"&&W!==void 0&&typeof W.message=="string"&&W.message.length>0){const Q=typeof y?.turnId=="number"?y.turnId:void 0,V=(Q!==void 0?h.turnPromptId.get(Q):void 0)??h.currentPromptId;S.push({type:"messageCreated",message:{id:`turnerror_${m}_${Q??"unknown"}`,sessionId:m,role:"assistant",content:[{type:"text",text:W.message}],createdAt:new Date().toISOString(),promptId:V,metadata:{[wc]:{code:typeof W.code=="string"?W.code:void 0,message:W.message}}}})}h.currentAssistantMsgId=void 0,h.currentPromptId=void 0,h.turnTextLen=0,h.turnThinkLen=0,h.retryReuseMsgId=void 0;break}case"prompt.completed":{const b=y?.promptId;typeof b=="string"&&b.length>0&&S.push({type:"promptCompleted",sessionId:m,promptId:b,reason:y?.reason??"completed"});break}case"prompt.aborted":{const b=y?.promptId;typeof b=="string"&&b.length>0&&S.push({type:"promptAborted",sessionId:m,promptId:b});break}case"turn.step.retrying":{const b=h.currentAssistantMsgId;if(b!==void 0){const P=Qo(h,b);P!==void 0&&(P.content=P.content.filter(E=>E.type!=="text"&&E.type!=="thinking"&&E.type!=="toolUse"),S.push({type:"messageUpdated",sessionId:m,messageId:b,content:P.content.map(E=>({...E})),status:"pending"}),h.retryReuseMsgId=b)}h.turnTextLen=0,h.turnThinkLen=0,h.toolStartTimes.clear();break}case"turn.step.interrupted":{h.currentAssistantMsgId=void 0,h.retryReuseMsgId=void 0;break}case"subagent.spawned":{const P={id:typeof y?.subagentId=="string"&&y.subagentId.length>0?y.subagentId:Bs("task_"),sessionId:m,kind:"subagent",description:typeof y?.description=="string"?y.description:y?.subagentName??"Sub Agent",status:"running",createdAt:new Date().toISOString(),subagentPhase:"queued",subagentType:typeof y?.subagentName=="string"?y.subagentName:void 0,parentToolCallId:typeof y?.parentToolCallId=="string"?y.parentToolCallId:void 0,swarmIndex:typeof y?.swarmIndex=="number"?y.swarmIndex:void 0,runInBackground:y?.runInBackground===!0,backgroundTaskId:typeof y?.taskId=="string"&&y.taskId.length>0?y.taskId:void 0};h.subagentMeta.set(P.id,P),S.push({type:"taskCreated",sessionId:m,task:P});break}case"subagent.started":{const b=mo(h,m,y?.subagentId,{subagentPhase:"working",status:"running",startedAt:new Date().toISOString()});b&&S.push({type:"taskCreated",sessionId:m,task:b});break}case"subagent.suspended":{const b=mo(h,m,y?.subagentId,{subagentPhase:"suspended",status:"running",suspendedReason:typeof y?.reason=="string"?y.reason:void 0});b&&S.push({type:"taskCreated",sessionId:m,task:b});break}case"subagent.completed":{const b=typeof y?.resultSummary=="string"?y.resultSummary:void 0,P=mo(h,m,y?.subagentId,{subagentPhase:"completed",status:"completed",completedAt:new Date().toISOString(),outputPreview:b});P&&S.push({type:"taskCreated",sessionId:m,task:P}),S.push({type:"taskCompleted",sessionId:m,taskId:y?.subagentId??"",status:"completed",outputPreview:b});break}case"subagent.failed":{const b=typeof y?.error=="string"?y.error:void 0,P=mo(h,m,y?.subagentId,{subagentPhase:"failed",status:"failed",completedAt:new Date().toISOString(),outputPreview:b});P&&S.push({type:"taskCreated",sessionId:m,task:P}),S.push({type:"taskCompleted",sessionId:m,taskId:y?.subagentId??"",status:"failed",outputPreview:b});break}case"error":{S.push({type:"unknown",raw:{_agentError:!0,code:y?.code,message:y?.message,name:y?.name,details:y?.details,retryable:y?.retryable}});break}case"warning":{S.push({type:"unknown",raw:{_agentWarning:!0,message:y?.message}});break}case"task.started":{const b=y?.info??{},P=typeof b.startedAt=="number"?new Date(b.startedAt).toISOString():void 0,E=typeof b.taskId=="string"?b.taskId:typeof b.taskId=="number"?String(b.taskId):Bs("task_"),R=typeof b.description=="string"?b.description:typeof b.command=="string"?b.command:St.global.t("tasks.defaultDescription");if(b.kind==="agent"){const Q=typeof b.agentId=="string"&&b.agentId.length>0?b.agentId:void 0;if(Q!==void 0){const V=mo(h,m,Q,{description:R,backgroundTaskId:E,runInBackground:!0});V&&S.push({type:"taskCreated",sessionId:m,task:V})}else S.push({type:"taskCreated",sessionId:m,task:{id:E,sessionId:m,kind:"subagent",description:R,status:"running",createdAt:P??new Date().toISOString(),startedAt:P,subagentPhase:"queued",runInBackground:!0}});break}const W=typeof b.command=="string"?b.command:void 0;S.push({type:"taskCreated",sessionId:m,task:{id:E,sessionId:m,kind:"bash",description:R,command:W,status:"running",createdAt:P??new Date().toISOString(),startedAt:P,outputPreview:W!==void 0?`$ ${W}`:void 0}});break}case"task.terminated":{const b=y?.info??{},P=b.status==="failed"||typeof b.exitCode=="number"&&b.exitCode!==0;S.push({type:"taskCompleted",sessionId:m,taskId:typeof b.taskId=="string"?b.taskId:typeof b.taskId=="number"?String(b.taskId):"",status:P?"failed":"completed"});break}case"compaction.completed":{const b=y?.result??{};S.push({type:"compactionCompleted",sessionId:m,tokensBefore:typeof b.tokensBefore=="number"?b.tokensBefore:void 0,tokensAfter:typeof b.tokensAfter=="number"?b.tokensAfter:void 0,summary:typeof b.summary=="string"?b.summary:void 0}),S.push({type:"historyCompacted",sessionId:m,beforeSeq:0,reason:"auto_compact"});break}case"compaction.started":{S.push({type:"compactionStarted",sessionId:m,trigger:y?.trigger==="manual"?"manual":"auto",instruction:typeof y?.instruction=="string"?y.instruction:void 0});break}case"compaction.cancelled":{S.push({type:"compactionCancelled",sessionId:m});break}case"goal.updated":{const b=Ak(y?.snapshot??null);S.push({type:"goalUpdated",sessionId:m,goal:b?.status==="complete"?null:b});break}case"cron.fired":{const b=y?.origin,P=En(y??{},"prompt");if(b&&typeof b=="object"&&b.kind==="cron_job"&&P){const E={id:Bs("cron_"),sessionId:m,role:"user",content:[{type:"text",text:P}],createdAt:new Date().toISOString(),metadata:{origin:b}};h.messages.push(E),S.push({type:"messageCreated",message:Go(E)})}break}}return S}return{project:f,bindNextPromptId:u,seedInFlight:p,reset:s,disposeSession:o,markSideChannelAgent:i}}const Wk=new Set(["server_hello","ack","ping","resync_required","error","pong"]),Er=new Set(["turn.started","turn.step.started","turn.step.completed","turn.step.retrying","turn.step.interrupted","turn.ended","thinking.delta","assistant.delta","tool.call.started","tool.use","tool.call.delta","tool.progress","tool.result","agent.status.updated","prompt.submitted","prompt.completed","prompt.aborted","session.meta.updated","compaction.started","compaction.completed","compaction.cancelled","goal.updated","error","warning","subagent.spawned","subagent.started","subagent.suspended","subagent.completed","subagent.failed","task.started","task.terminated","background.task.started","background.task.terminated","cron.fired"]),qk=new Set(["session.created","session.updated","session.deleted","session.status_changed","session.usage_updated","session.history_compacted","message.created","message.updated","approval.requested","approval.resolved","approval.expired","question.requested","question.answered","question.dismissed","task.created","task.progress","task.completed","assistant.tool_use_started","assistant.tool_use_delta","assistant.tool_use_completed","assistant.completed","tool.started","tool.output","tool.completed","plugin.changed","capability.changed"]),Hk=new Set(["assistant.delta","thinking.delta"]);function Uk(e,t){if(Wk.has(e))return{route:"ignore"};const n=e.startsWith("event."),s=n?e.slice(6):e;return Hk.has(s)?Vk(t)?{route:"agent",agentType:s}:{route:"protocol"}:n?qk.has(s)?{route:"protocol"}:Er.has(s)?{route:"agent",agentType:s}:{route:"protocol"}:Er.has(s)?{route:"agent",agentType:s}:{route:"agent",agentType:s}}function Vk(e){if(!e||typeof e!="object")return!1;const t=e;return"message_id"in t||"content_index"in t?!1:typeof t.delta=="string"}class ti extends Error{code;requestId;details;timestamp;durationMs;constructor(t){super(t.msg),this.name="DaemonApiError",this.code=t.code,this.requestId=t.requestId,this.details=t.details,this.timestamp=t.timestamp,this.durationMs=t.durationMs}}class As extends Error{cause;method;path;url;requestId;phase;timeoutMs;status;statusText;contentType;bodyPreview;timestamp;durationMs;constructor(t){super(t.message),this.name="DaemonNetworkError",this.cause=t.cause,this.method=t.method,this.path=t.path,this.url=t.url,this.requestId=t.requestId,this.phase=t.phase,this.timeoutMs=t.timeoutMs,this.status=t.status,this.statusText=t.statusText,this.contentType=t.contentType,this.bodyPreview=t.bodyPreview,this.timestamp=t.timestamp,this.durationMs=t.durationMs}}function Rn(e){return e instanceof ti||typeof e=="object"&&e!==null&&e.name==="DaemonApiError"&&typeof e.code=="number"}function Il(e){return e instanceof As||typeof e=="object"&&e!==null&&e.name==="DaemonNetworkError"&&typeof e.method=="string"&&typeof e.path=="string"}const yn="kimi-web.server-credential",jk="token",Kk=10080*60*1e3;let Os;const Za=new Set;function Gk(){if(typeof window>"u")return;const e=window.location.hash??"";if(!e.startsWith("#"))return;const n=new URLSearchParams(e.slice(1)).get(jk);if(!n)return;const s=new URL(window.location.href);return s.hash="",window.history.replaceState(window.history.state,"",`${s.pathname}${s.search}`),n}function Xa(e){return{version:1,credential:e,expiresAt:Date.now()+Kk}}function Qk(e){return JSON.stringify(e)}function Al(e){try{const t=JSON.parse(e);if(typeof t!="object"||t===null)return;const n=t;return n.version!==1||typeof n.credential!="string"||n.credential.length===0||typeof n.expiresAt!="number"||!Number.isFinite(n.expiresAt)?void 0:{version:1,credential:n.credential,expiresAt:n.expiresAt}}catch{return}}function Ja(e){globalThis.localStorage?.setItem(yn,Qk(e))}function Yk(){try{const e=globalThis.localStorage?.getItem(yn);if(e){const n=Al(e);if(n===void 0){const s=Xa(e);let o=!1;try{Ja(s),o=!0}catch{}if(!o)try{globalThis.localStorage?.getItem(yn)===e&&globalThis.localStorage?.removeItem(yn),o=!0}catch{}try{globalThis.sessionStorage?.removeItem(yn)}catch{}return o?s:void 0}if(n.expiresAt>Date.now())return n;globalThis.sessionStorage?.removeItem(yn),globalThis.localStorage?.getItem(yn)===e&&globalThis.localStorage?.removeItem(yn);return}const t=globalThis.sessionStorage?.getItem(yn);if(t){const n=Xa(t);let s=!1;try{Ja(n),s=!0}catch{}try{globalThis.sessionStorage?.removeItem(yn),s=!0}catch{}return s?n:void 0}return}catch{return}}function Zk(){if(Os=Yk(),pi()!==void 0)return!0;const e=Gk();return e?(Ac(e),!0):!1}function pi(){if(Os!==void 0){if(Os.expiresAt<=Date.now()){Xk(Os);return}return Os.credential}}function Xk(e){Os=void 0;try{globalThis.sessionStorage?.removeItem(yn);const t=globalThis.localStorage?.getItem(yn),n=t==null?void 0:Al(t);(n===void 0?t===e.credential:n.credential===e.credential&&n.expiresAt===e.expiresAt)&&globalThis.localStorage?.removeItem(yn)}catch{}}function Ac(e){const t=Xa(e);Os=t;try{Ja(t)}catch{}try{globalThis.sessionStorage?.removeItem(yn)}catch{}}function Jk(){const e=Os;Os=void 0;try{const t=globalThis.localStorage?.getItem(yn),s=(t==null?void 0:Al(t))?.credential??t;e!==void 0&&s===e.credential&&globalThis.localStorage?.removeItem(yn),globalThis.sessionStorage?.removeItem(yn)}catch{}}function eb(e){return Za.add(e),()=>{Za.delete(e)}}function tb(){Jk();for(const e of Za)try{e()}catch{}}const ni=3e4,$i=5*6e4,nb=5*6e4,Pc="0123456789ABCDEFGHJKMNPQRSTVWXYZ",Br=500,Ec=40101;function xi(e=ni){try{return AbortSignal.timeout(e)}catch{return}}function sb(e,t){let n="",s=e;for(let o=0;oPc[n%32]).join("")}function Ti(){return`${sb(Date.now(),10)}${ob(16)}`}function ib(e){try{const t=[];return e.forEach((n,s)=>{typeof n=="string"?t.push({field:s,value:n}):t.push({field:s,file:n.name,size:n.size,type:n.type})}),{formData:t}}catch{return"[FormData]"}}async function wa(e){try{const t=await e.text();return t?t.length>Br?`${t.slice(0,Br)}...`:t:void 0}catch{return}}class ab{constructor(t,n){this.origin=t,this.identity=n}async get(t,n){return this.request("GET",t,void 0,n)}async getBlob(t){const n=go(this.origin,t),s=Ti(),o={"X-Request-Id":s};this.addClientHeaders(o);const i=Date.now();Ci({method:"GET",path:t,url:n,requestId:s});let u;try{u=await fetch(n,{method:"GET",headers:o,signal:xi()})}catch(f){throw Vs({method:"GET",path:t,requestId:s,phase:"fetch",durationMs:Date.now()-i,error:f}),new As({message:`Network error calling GET ${t}`,cause:f,method:"GET",path:t,url:n,requestId:s,phase:"fetch",timeoutMs:ni,timestamp:Date.now(),durationMs:Date.now()-i})}if(u.ok)return To({method:"GET",path:t,requestId:s,status:u.status,durationMs:Date.now()-i,code:0,msg:""}),u.blob();let p;try{p=await u.clone().json()}catch{}throw this.checkAuthRequired(u,p?.code??0),To({method:"GET",path:t,requestId:s,status:u.status,durationMs:Date.now()-i,code:p?.code??u.status,msg:p?.msg??u.statusText,envelopeRequestId:p?.request_id}),new ti({code:p?.code??u.status,msg:p?.msg??u.statusText,requestId:p?.request_id??s,details:p?.details,timestamp:Date.now(),durationMs:Date.now()-i})}async post(t,n,s){return this.request("POST",t,n,void 0,s?.allowCodes,s?.timeoutMs)}async postZip(t,n,s){const o="POST",i=go(this.origin,t),u=Ti(),p={"X-Request-Id":u,"Content-Type":"application/json; charset=utf-8"};this.addClientHeaders(p);const f=Date.now();Ci({method:o,path:t,url:i,requestId:u,body:s});let v;try{v=await fetch(i,{method:o,headers:p,body:JSON.stringify(n),signal:xi($i)})}catch(m){throw Vs({method:o,path:t,requestId:u,phase:"fetch",durationMs:Date.now()-f,error:m}),new As({message:`Network error calling ${o} ${t}`,cause:m,method:o,path:t,url:i,requestId:u,phase:"fetch",timeoutMs:$i,timestamp:Date.now(),durationMs:Date.now()-f})}const k=v.headers.get("content-type")??void 0,x=k?.split(";",1)[0]?.trim().toLowerCase();if(!v.ok||x!=="application/zip"){let m;try{m=await v.clone().json()}catch{}if(this.checkAuthRequired(v,m?.code??0),!v.ok||m!==void 0&&m.code!==0){const y=m?.code??v.status,S=m?.msg??v.statusText;throw To({method:o,path:t,requestId:u,status:v.status,durationMs:Date.now()-f,code:y,msg:S,envelopeRequestId:m?.request_id}),new ti({code:y,msg:S,requestId:m?.request_id??u,details:m?.details,timestamp:Date.now(),durationMs:Date.now()-f})}const $=v.clone(),h=new TypeError(`Expected application/zip, received ${k??"no content type"}`);throw Vs({method:o,path:t,requestId:u,phase:"parse",durationMs:Date.now()-f,status:v.status,error:h}),new As({message:`Invalid ZIP response from ${o} ${t}`,cause:h,method:o,path:t,url:i,requestId:u,phase:"parse",timeoutMs:$i,status:v.status,statusText:v.statusText,contentType:k,bodyPreview:await wa($),timestamp:Date.now(),durationMs:Date.now()-f})}let g;try{g=await v.blob()}catch(m){throw Vs({method:o,path:t,requestId:u,phase:"parse",durationMs:Date.now()-f,status:v.status,error:m}),new As({message:`Failed to read ZIP response from ${o} ${t}`,cause:m,method:o,path:t,url:i,requestId:u,phase:"parse",timeoutMs:$i,status:v.status,statusText:v.statusText,contentType:k,timestamp:Date.now(),durationMs:Date.now()-f})}return To({method:o,path:t,requestId:u,status:v.status,durationMs:Date.now()-f,code:0,msg:""}),{blob:g,contentDisposition:v.headers.get("content-disposition")??void 0}}async postForm(t,n){const s=go(this.origin,t),o=Ti(),i={"X-Request-Id":o};this.addClientHeaders(i);const u=Date.now();Ci({method:"POST",path:t,url:s,requestId:o,body:ib(n)});let p;try{p=await fetch(s,{method:"POST",headers:i,body:n,signal:xi()})}catch(k){throw Vs({method:"POST",path:t,requestId:o,phase:"fetch",durationMs:Date.now()-u,error:k}),new As({message:`Network error calling POST ${t}`,cause:k,method:"POST",path:t,url:s,requestId:o,phase:"fetch",timeoutMs:ni,timestamp:Date.now(),durationMs:Date.now()-u})}let f;const v=p.clone();try{f=await p.json()}catch(k){throw Vs({method:"POST",path:t,requestId:o,phase:"parse",durationMs:Date.now()-u,status:p.status,error:k}),new As({message:`Failed to parse JSON response from POST ${t}`,cause:k,method:"POST",path:t,url:s,requestId:o,phase:"parse",timeoutMs:ni,status:p.status,statusText:p.statusText,contentType:p.headers.get("content-type")??void 0,bodyPreview:await wa(v),timestamp:Date.now(),durationMs:Date.now()-u})}if(To({method:"POST",path:t,requestId:o,status:p.status,durationMs:Date.now()-u,code:f.code,msg:f.msg,envelopeRequestId:f.request_id,data:f.data}),this.checkAuthRequired(p,f.code),f.code!==0)throw new ti({code:f.code,msg:f.msg,requestId:f.request_id,details:f.details,timestamp:Date.now(),durationMs:Date.now()-u});return f.data}async patch(t,n){return this.request("PATCH",t,n)}async delete(t){return this.request("DELETE",t)}async request(t,n,s,o,i=[],u){let p=go(this.origin,n);if(o){const h=new URLSearchParams;for(const[S,B]of Object.entries(o))B!==void 0&&h.set(S,String(B));const y=h.toString();y&&(p=`${p}?${y}`)}const f=Ti(),v={"X-Request-Id":f};this.addClientHeaders(v),s!==void 0&&(v["Content-Type"]="application/json; charset=utf-8");const k=Date.now();Ci({method:t,path:n,url:p,requestId:f,body:s});const x=u??ni;let g;try{g=await fetch(p,{method:t,headers:v,body:s!==void 0?JSON.stringify(s):void 0,signal:xi(x)})}catch(h){throw Vs({method:t,path:n,requestId:f,phase:"fetch",durationMs:Date.now()-k,error:h}),new As({message:`Network error calling ${t} ${n}`,cause:h,method:t,path:n,url:p,requestId:f,phase:"fetch",timeoutMs:x,timestamp:Date.now(),durationMs:Date.now()-k})}let m;const $=g.clone();try{m=await g.json()}catch(h){throw Vs({method:t,path:n,requestId:f,phase:"parse",durationMs:Date.now()-k,status:g.status,error:h}),new As({message:`Failed to parse JSON response from ${t} ${n}`,cause:h,method:t,path:n,url:p,requestId:f,phase:"parse",timeoutMs:x,status:g.status,statusText:g.statusText,contentType:g.headers.get("content-type")??void 0,bodyPreview:await wa($),timestamp:Date.now(),durationMs:Date.now()-k})}if(To({method:t,path:n,requestId:f,status:g.status,durationMs:Date.now()-k,code:m.code,msg:m.msg,envelopeRequestId:m.request_id,data:m.data}),this.checkAuthRequired(g,m.code),m.code!==0&&!i.includes(m.code))throw new ti({code:m.code,msg:m.msg,requestId:m.request_id,details:m.details,timestamp:Date.now(),durationMs:Date.now()-k});return m.data}addClientHeaders(t){const n=pi();n!==void 0&&(t.Authorization=`Bearer ${n}`),this.identity!==void 0&&(t["X-Kimi-Client-Id"]=this.identity.clientId,t["X-Kimi-Client-Name"]=this.identity.clientName,t["X-Kimi-Client-Version"]=this.identity.clientVersion,t["X-Kimi-Client-Ui-Mode"]=this.identity.clientUiMode)}checkAuthRequired(t,n){(t.status===401||n===Ec)&&tb()}}function lb(e){const t={catalog_id:e.catalogId};return e.localId!==void 0&&(t.id=e.localId),e.baseUrl!==void 0&&(t.base_url=e.baseUrl),e.apiKey!==void 0&&(t.api_key=e.apiKey),t}function rb(e){const t={url:e.url};return e.apiKey!==void 0&&(t.api_key=e.apiKey),t}function Rr(e){return{id:e.id,name:e.name,wireType:e.wireType,modelCount:e.models.length,needsBaseUrl:e.needsBaseUrl,envKey:e.envKey,rejected:e.rejected,rejectReason:e.rejectReason}}function ub(e,t){const n=t.trim().toLowerCase();return!!(n===""||e.name.toLowerCase().includes(n)||e.id.toLowerCase().includes(n)||e.wireType!==null&&e.wireType.toLowerCase().includes(n))}function cb(e,t){return e.filter(n=>ub(n,t))}function db(e){if(!(!e||e.length===0))return e.map(t=>({file_id:t.fileId,name:t.name,media_type:t.mediaType,size:t.size}))}function pb(e,t){return{type:"subscribe_v2",id:t,payload:{session_id:e.sessionId,transcript:e.grades,transcript_since:e.sinceSeq??void 0}}}function fb(e,t,n){return{type:"unsubscribe_v2",id:t,payload:{session_id:e,...n?{agent_ids:n}:{}}}}class mb{byKey=new Map;get(t,n){return this.byKey.get(`${t}:${n}`)??0}set(t,n,s){this.byKey.set(`${t}:${n}`,s)}clear(t){for(const n of this.byKey.keys())n.startsWith(`${t}:`)&&this.byKey.delete(n)}advance(t,n,s){const o=`${t}:${n}`,i=this.byKey.get(o)??0;return i===0||s===i+1?(this.byKey.set(o,s),!1):!0}}async function vb(e){const t=new URLSearchParams({agent_id:e.agentId,since_seq:String(e.sinceSeq)}),n={};e.token!==void 0&&e.token!==""&&(n.authorization=`Bearer ${e.token}`);const i=await(await(e.fetchImpl??fetch)(`${e.baseUrl}/api/v1/sessions/${encodeURIComponent(e.sessionId)}/transcript/ops?${t.toString()}`,{headers:n})).json();if(i.code!==0)throw new Error(`transcript ops failed (${String(i.code)}): ${String(i.msg??"")}`);const u=i.data;if(!u||typeof u.agent_id!="string"||!Array.isArray(u.batches)||typeof u.latest_seq!="number"||typeof u.complete!="boolean")throw new Error("transcript ops: unexpected response shape");const p=u.batches.flatMap(f=>{const v=f;return!v||typeof v.seq!="number"||!Array.isArray(v.ops)?[]:[{seq:v.seq,ops:v.ops}]});return{agentId:u.agent_id,batches:p,latestSeq:u.latest_seq,complete:u.complete}}function gb(e){let t=new Map;function n(g){const m=t.get(g);if(m!==void 0)return m;const $=hb();return t.set(g,$),$}function s(g){if(!Array.isArray(g))return[];const m=[];for(const $ of g)try{m.push(...i($))}catch(h){console.error("[transcriptProjector] error projecting op:",h instanceof Error?h.message:h)}return m}function o(){t=new Map}function i(g){const m=Ao(g);switch(qt(m,"op")){case"turn.upsert":return u(m);case"step.upsert":return p(m);case"frame.upsert":return f(m);case"append":return v(m);default:return[]}}function u(g){const m=Ao(g.turn),$=qt(m,"turnId"),h=qt(m,"state");if($===void 0||!wb(h))return[];const y=n($);y.state=h;const S=qt(m,"prompt");S!==void 0&&(y.prompt=S);const B=bb(m,"startedAt");B!==void 0&&(y.startedAt=B);const b=kb(m,"durationMs");b!==void 0&&(y.durationMs=b);const P=[];return h==="queued"?P:h==="running"?(y.prompt!==void 0&&y.prompt.length>0&&!y.userEmitted&&(P.push({type:"messageCreated",message:{id:`usr_${$}`,sessionId:e,role:"user",content:[{type:"text",text:y.prompt}],createdAt:y.startedAt??new Date().toISOString()}}),y.userEmitted=!0),P):(y.endEmitted||(y.assistantEmitted&&P.push({type:"messageUpdated",sessionId:e,messageId:`asst_${$}`,content:Lr(y.content),status:"completed",...y.durationMs!==void 0?{durationMs:y.durationMs}:{}}),P.push({type:"sessionWorkChanged",sessionId:e,busy:!1,mainTurnActive:!1,lastTurnReason:h}),y.endEmitted=!0),P)}function p(g){const m=Ao(g.step),$=qt(g,"turnId")??qt(m,"turnId"),h=m.frames;if($===void 0||!Array.isArray(h))return[];const y=n($),S=[];for(const B of h){const b=Ao(B),P=qt(b,"frameId");P!==void 0&&(y.seenFrames.has(P)||S.push(...k(y,$,b)))}return S}function f(g){const m=qt(g,"turnId"),$=Ao(g.frame),h=qt($,"frameId");if(m===void 0||h===void 0)return[];const y=n(m),S=qt($,"kind");return(S==="text"||S==="thinking")&&y.seenFrames.has(h)?[]:k(y,m,$)}function v(g){const m=Ao(g.target),$=qt(g,"text");if($===void 0)return[];const h=qt(m,"type");if(h==="task"){const W=qt(m,"taskId");return W===void 0?[]:[{type:"taskProgress",sessionId:e,taskId:W,outputChunk:$,stream:"stdout"}]}if(h!=="frame")return[];const y=qt(m,"turnId"),S=qt(m,"frameId");if(y===void 0||S===void 0)return[];const B=n(y),b=[];x(B,y,b);const P=el(B,S),E=B.content[P];(E===void 0||E.type!=="text"&&E.type!=="thinking")&&(B.content[P]={type:"text",text:""});const R=B.content[P];return R!==void 0&&(R.type==="text"?(R.text+=$,b.push({type:"assistantDelta",sessionId:e,messageId:`asst_${y}`,contentIndex:P,delta:{text:$}})):R.type==="thinking"&&(R.thinking+=$,b.push({type:"assistantDelta",sessionId:e,messageId:`asst_${y}`,contentIndex:P,delta:{thinking:$}}))),B.seenFrames.add(S),b}function k(g,m,$){const h=qt($,"frameId");if(h===void 0)return[];const y=[];switch(g.seenFrames.add(h),qt($,"kind")){case"text":{if(qt($,"role")!=="assistant")break;const b=qt($,"text");if(b===void 0)break;x(g,m,y);const{index:P,part:E}=Dr(g,h,"text");E.type==="text"&&(E.text+=b),y.push({type:"assistantDelta",sessionId:e,messageId:`asst_${m}`,contentIndex:P,delta:{text:b}});break}case"thinking":{const B=qt($,"text");if(B===void 0)break;x(g,m,y);const{index:b,part:P}=Dr(g,h,"thinking");P.type==="thinking"&&(P.thinking+=B),y.push({type:"assistantDelta",sessionId:e,messageId:`asst_${m}`,contentIndex:b,delta:{thinking:B}});break}case"tool":{const B=qt($,"toolCallId");if(B===void 0)break;if(x(g,m,y),!g.content.some(E=>E.type==="toolUse"&&E.toolCallId===B)){const E=el(g,h);g.content[E]={type:"toolUse",toolCallId:B,toolName:qt($,"name")??"",input:$.input??{},outputLines:[]}}y.push({type:"messageUpdated",sessionId:e,messageId:`asst_${m}`,content:Lr(g.content),status:"pending"});const b=$.progress;yb(b)&&y.push({type:"toolOutput",sessionId:e,toolCallId:B,outputChunk:qt(b,"text")??"",stream:b.kind==="stderr"?"stderr":"stdout"});const P=qt($,"state");(P==="done"||P==="error")&&!g.emittedToolResults.has(B)&&(g.emittedToolResults.add(B),y.push({type:"messageCreated",message:{id:`tool_${B}`,sessionId:e,role:"tool",content:[{type:"toolResult",toolCallId:B,output:$.output??$.display??{},isError:P==="error"}],createdAt:new Date().toISOString()}}));break}}return y}function x(g,m,$){g.assistantEmitted||(g.assistantEmitted=!0,$.push({type:"messageCreated",message:{id:`asst_${m}`,sessionId:e,role:"assistant",content:[],createdAt:new Date().toISOString()}}))}return{project:s,reset:o}}function hb(){return{state:"running",prompt:void 0,startedAt:void 0,durationMs:void 0,userEmitted:!1,assistantEmitted:!1,endEmitted:!1,content:[],frameIndex:new Map,nextIndex:0,seenFrames:new Set,emittedToolResults:new Set}}function Ao(e){return e===null||typeof e!="object"||Array.isArray(e)?{}:e}function yb(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function qt(e,t){const n=e[t];return typeof n=="string"?n:void 0}function kb(e,t){const n=e[t];return typeof n=="number"&&Number.isFinite(n)?n:void 0}function bb(e,t){const n=e[t];if(typeof n=="string")return n;if(typeof n=="number"&&Number.isFinite(n))return new Date(n).toISOString()}function wb(e){return e==="queued"||e==="running"||e==="completed"||e==="failed"||e==="cancelled"}function Lr(e){return e.map(t=>t.type==="toolUse"&&t.outputLines!==void 0?{...t,outputLines:[...t.outputLines]}:{...t})}function el(e,t){const n=e.frameIndex.get(t);if(n!==void 0)return n;const s=e.nextIndex;return e.nextIndex+=1,e.frameIndex.set(t,s),s}function Dr(e,t,n){const s=el(e,t),o=e.content[s];if(o!==void 0&&o.type===n)return{index:s,part:o};const i=n==="text"?{type:"text",text:""}:{type:"thinking",thinking:""};return e.content[s]=i,{index:s,part:i}}const Sb=new Set(["turn.started","turn.ended","turn.step.started","turn.step.completed","turn.step.retrying","turn.step.interrupted","thinking.delta","assistant.delta","tool.use","tool.call.started","tool.call.delta","tool.progress","tool.result","tool.list.updated","task.started","task.terminated","subagent.spawned","subagent.started","subagent.suspended","subagent.completed","subagent.failed","prompt.submitted","prompt.completed","prompt.aborted"]);function Cb(e){return Sb.has(e)}function _b(e,t){if(!Array.isArray(e))return[];const n=[];for(const s of e)try{n.push(...Mb(s,t))}catch(o){console.error("[transcriptOpsToAppEvents] error mapping op:",o instanceof Error?o.message:o)}return n}function Xs(e){return e===null||typeof e!="object"||Array.isArray(e)?{}:e}function ds(e,t){const n=e[t];return typeof n=="string"?n:void 0}function Or(e,t){const n=e[t];if(typeof n=="string")return n;if(typeof n=="number"&&Number.isFinite(n))return new Date(n).toISOString()}function Bc(e,t){for(const n of e)for(const s of t){const o=n[s];if(typeof o=="number"&&Number.isFinite(o))return o}}function Mb(e,t){if(e===null||typeof e!="object"||Array.isArray(e))return[];const n=e,s=n.op;if(typeof s!="string")return[];switch(s){case"prompt.upsert":return $b(n.prompt,t);case"task.upsert":return Ib(n.task,t);case"meta.merge":return Eb(n.meta,t);default:return[]}}function $b(e,t){const n=Xs(e),s=ds(n,"prompt");if(s===void 0||s.trim().length===0)return[];const o=ds(n,"createdAt")??new Date().toISOString();return[{type:"messageCreated",message:{id:ds(n,"promptId")??`pr_${t}-${o}`,sessionId:t,role:"user",content:[{type:"text",text:s}],createdAt:o}}]}const xb={shell:"bash",subagent:"subagent",tool:"tool"};function Tb(e){switch(e){case"created":case"pending":return{eventKind:"taskCreated",status:"running"};case"running":case"in_progress":return{eventKind:"taskProgress",status:"running"};case"completed":case"succeeded":return{eventKind:"taskCompleted",status:"completed"};case"failed":case"timed_out":case"lost":return{eventKind:"taskCompleted",status:"failed"};case"killed":return{eventKind:"taskCompleted",status:"cancelled"};default:return}}function Ib(e,t){const n=Xs(e),s=ds(n,"taskId");if(s===void 0||s.length===0)return[];const o=n.kind,i=typeof o=="string"?xb[o]:void 0;if(i===void 0)return[];const u=ds(n,"state");if(u===void 0)return[];const p=Tb(u);if(p===void 0)return[];const f=Or(n,"startedAt"),v=Or(n,"endedAt"),k=ds(n,"description")??ds(n,"name")??ds(n,"title")??"",x={id:s,sessionId:t,kind:i,description:k,status:p.status,createdAt:f??new Date().toISOString(),...f!==void 0?{startedAt:f}:{},...v!==void 0?{completedAt:v}:{}};switch(p.eventKind){case"taskCreated":return[{type:"taskCreated",sessionId:t,task:x}];case"taskProgress":return[{type:"taskProgress",sessionId:t,taskId:s,outputChunk:ds(n,"outputTail")??"",stream:"stdout"}];case"taskCompleted":{const g=ds(n,"error")??ds(n,"stateReason");return[{type:"taskCompleted",sessionId:t,taskId:s,status:p.status,...p.status==="failed"&&g!==void 0?{outputPreview:g}:{}}]}}}function Ab(e){if(e.usage!==void 0&&e.usage!==null||Object.keys(e).some(n=>n.startsWith("tokens_")))return!0;const t=Xs(e.agent);return t.usage!==void 0&&t.usage!==null?!0:Bc([t],["contextTokens","maxContextTokens"])!==void 0}function Pb(e){const t=Xs(e.usage),n=Xs(e.agent),s=Xs(Xs(n.usage).total),o=(i,u)=>Bc(i,u)??0;return{inputTokens:o([t,s,e],["inputTokens","input_tokens","inputOther","tokens_input"]),outputTokens:o([t,s,e],["outputTokens","output_tokens","output","tokens_output"]),cacheReadTokens:o([t,s,e],["cacheReadTokens","cache_read_input_tokens","inputCacheRead","tokens_cache_read"]),cacheCreationTokens:o([t,s,e],["cacheCreationTokens","cache_creation_input_tokens","inputCacheCreation","tokens_cache_creation"]),totalCostUsd:o([t,s,e],["totalCostUsd","cost","tokens_cost"]),contextTokens:o([t,n,e],["contextTokens","tokens_context"]),contextLimit:o([t,n,e],["contextLimit","maxContextTokens","tokens_context_limit"]),turnCount:o([t,e],["turnCount","tokens_turn_count"])}}function Eb(e,t){const n=Xs(e);return Ab(n)?[{type:"sessionUsageUpdated",sessionId:t,usage:Pb(n)}]:[]}const Bb="kimi-code.bearer.",Rb=3e4;function Lb(e){if(e.length===0)return!1;for(let t=0;t126||n===34||n===40||n===41||n===44||n===47||n>=58&&n<=64||n>=91&&n<=93||n===123||n===125)return!1}return!0}class Db{constructor(t,n,s){this.wsUrl=t,this.clientId=n,this.handlers=s}ws=null;connected=!1;closed=!1;subscriptions=new Map;pendingSubscriptions=[];terminalAttachments=new Map;transcriptSubscriptions=new Map;msgSeq=0;reconnectAttempts=0;reconnectTimer=null;heartbeatMs=3e4;lastActivityAt=0;connect(){if(this.ws!==null||this.closed)return;this.lastActivityAt=Date.now(),js("connect",{url:this.wsUrl,attempt:this.reconnectAttempts});const t=pi();let n;if(t!==void 0){const o=`${Bb}${t}`;if(!Lb(o)){js("connect-invalid-credential",{url:this.wsUrl,subprotocolLength:o.length}),this.handlers.onError(0,"Server token contains characters unsupported by WebSocket auth; run `kimi web rotate-token`.",!0);return}n=[o]}let s;try{s=new WebSocket(this.wsUrl,n)}catch(o){js("connect-failed",{url:this.wsUrl,subprotocol:n!==void 0,error:String(o)}),this.handlers.onError(0,`Failed to open WebSocket: ${String(o)}`,!1),this.scheduleReconnect();return}this.ws=s,s.onopen=()=>{js("open")},s.onmessage=o=>{this.lastActivityAt=Date.now();try{const i=JSON.parse(String(o.data));Fy(i),this.handleFrame(i)}catch(i){js("parse-error",{error:String(i)}),this.handlers.onError(0,`Failed to parse WS frame: ${String(i)}`,!1)}},s.onerror=()=>{js("error"),this.handlers.onError(0,"WebSocket error",!1)},s.onclose=o=>{js("close",o?{code:o.code,reason:o.reason,wasClean:o.wasClean}:void 0),this.connected=!1,this.ws=null,this.handlers.onConnectionState(!1),this.scheduleReconnect()}}scheduleReconnect(){if(this.closed||this.reconnectTimer!==null)return;const n=Math.min(3e4,1e3*2**this.reconnectAttempts)+Math.floor(Math.random()*250);this.reconnectAttempts+=1,js("reconnect-scheduled",{delayMs:n,attempt:this.reconnectAttempts}),this.reconnectTimer=setTimeout(()=>{this.reconnectTimer=null,this.connect()},n)}subscribe(t,n={seq:0}){if(this.subscriptions.set(t,{...n}),this.connected)this.sendSubscribe([t],{[t]:n});else{const s=this.pendingSubscriptions.findIndex(o=>o.sessionId===t);s!==-1&&this.pendingSubscriptions.splice(s,1),this.pendingSubscriptions.push({sessionId:t,cursor:{...n}})}}unsubscribe(t){this.subscriptions.delete(t);const n=this.pendingSubscriptions.findIndex(s=>s.sessionId===t);n!==-1&&this.pendingSubscriptions.splice(n,1),this.connected&&this.ws&&this.send({type:"unsubscribe",id:this.nextId(),payload:{session_ids:[t]}})}subscribeTranscript(t,n,s){const o=this.transcriptSubscriptions.get(t);this.transcriptSubscriptions.set(t,{grades:n,sinceSeq:{...o?.sinceSeq??{},...s??{}}}),this.connected&&this.sendTranscriptSubscribe(t)}updateTranscriptSince(t,n,s){const o=this.transcriptSubscriptions.get(t);o&&(o.sinceSeq[n]=s)}unsubscribeTranscript(t,n){this.transcriptSubscriptions.delete(t),this.connected&&this.ws&&this.send(fb(t,this.nextId(),n))}transcriptSubscribedSessionIds(){return Array.from(this.transcriptSubscriptions.keys())}sendTranscriptSubscribe(t){const n=this.transcriptSubscriptions.get(t);n&&this.send(pb({sessionId:t,grades:n.grades,sinceSeq:n.sinceSeq},this.nextId()))}abort(t,n){!this.connected||!this.ws||this.send({type:"abort",id:this.nextId(),payload:{session_id:t,prompt_id:n}})}terminalAttach(t,n,s){const o=Ii(t,n),i=this.terminalAttachments.get(o),u=s??i?.lastSeq??0;this.terminalAttachments.set(o,{sessionId:t,terminalId:n,lastSeq:u}),!(!this.connected||!this.ws)&&this.sendTerminalAttach(t,n,u)}terminalInput(t,n,s){!this.connected||!this.ws||this.send({type:"terminal_input",id:this.nextId(),payload:{session_id:t,terminal_id:n,data:s}})}terminalResize(t,n,s,o){!this.connected||!this.ws||this.send({type:"terminal_resize",id:this.nextId(),payload:{session_id:t,terminal_id:n,cols:s,rows:o}})}terminalDetach(t,n){this.terminalAttachments.delete(Ii(t,n)),!(!this.connected||!this.ws)&&this.send({type:"terminal_detach",id:this.nextId(),payload:{session_id:t,terminal_id:n}})}terminalClose(t,n){this.terminalAttachments.delete(Ii(t,n)),!(!this.connected||!this.ws)&&this.send({type:"terminal_close",id:this.nextId(),payload:{session_id:t,terminal_id:n}})}close(){this.closed=!0,this.connected=!1,this.reconnectTimer!==null&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null),this.ws&&(this.ws.close(1e3),this.ws=null)}health(){const t=this.ws!==null&&this.ws.readyState===WebSocket.OPEN,n=Math.max(this.heartbeatMs*2,Rb),s=this.lastActivityAt>0&&Date.now()-this.lastActivityAt>n;return{connected:this.connected,open:t,stale:s}}reconnect(){if(this.closed)return;this.reconnectTimer!==null&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null);const t=this.ws;if(t!==null){t.onopen=null,t.onmessage=null,t.onerror=null,t.onclose=null;try{t.close(1e3,"reconnect")}catch{}}const n=this.connected;this.ws=null,this.connected=!1,n&&this.handlers.onConnectionState(!1),this.connect()}handleFrame(t){const n=t;switch(t.type){case"server_hello":{const s=n.payload?.heartbeat_ms;typeof s=="number"&&s>0&&(this.heartbeatMs=s),this.onServerHello();break}case"ping":this.send({type:"pong",payload:{nonce:n.payload.nonce}});break;case"resync_required":{const s=n.payload.session_id,o=n.payload.epoch;this.subscriptions.set(s,{seq:n.payload.current_seq,epoch:o}),this.handlers.onResync(s,n.payload.current_seq,o);break}case"transcript.ops":{const s=n.session_id;typeof s=="string"&&this.handlers.onTranscriptOps?.(n.payload,s);break}case"transcript.reset":{const s=n.session_id;typeof s=="string"&&this.handlers.onTranscriptReset?.(n.payload,s);break}case"error":{const s=n.session_id;typeof s=="string"&&this.handlers.onRawAgentEvent?this.handlers.onRawAgentEvent({type:"error",seq:n.seq,session_id:s,timestamp:n.timestamp,payload:n.payload}):this.handlers.onError(n.payload.code,n.payload.msg,n.payload.fatal);break}case"ack":break;case"terminal_output":{const s=n.session_id,o=n.terminal_id,i=n.seq,u=Ii(s,o),p=this.terminalAttachments.get(u);p&&this.terminalAttachments.set(u,{...p,lastSeq:Math.max(p.lastSeq,i)});const f=typeof n.payload?.data=="string"?n.payload.data:"";this.handlers.onTerminalOutput?.(s,o,f,i);break}case"terminal_exit":{const s=n.session_id,o=n.terminal_id,i=n.payload?.exit_code,u=typeof i=="number"?i:null;this.handlers.onTerminalExit?.(s,o,u);break}default:{this.trackCursor(n);const s=n.type,o=Uk(s,n.payload);if(o.route==="protocol"){this.handlers.onWireEvent(n);break}if(o.route==="agent"){if(this.handlers.onRawAgentEvent&&typeof n.session_id=="string"){const i=n,u=n;this.handlers.onRawAgentEvent({type:o.agentType,seq:i.seq,session_id:i.session_id,timestamp:i.timestamp,payload:i.payload,...u.volatile!==void 0?{volatile:u.volatile}:{},...u.offset!==void 0?{offset:u.offset}:{}})}break}break}}}onServerHello(){this.connected=!0,this.reconnectAttempts=0,this.handlers.onConnectionState(!0);const t=Array.from(this.subscriptions.keys());for(const s of this.pendingSubscriptions)this.subscriptions.set(s.sessionId,s.cursor),t.includes(s.sessionId)||t.push(s.sessionId);this.pendingSubscriptions.length=0;const n={};for(const[s,o]of this.subscriptions.entries())n[s]=o;this.send({type:"client_hello",id:this.nextId(),payload:{client_id:this.clientId,subscriptions:t,cursors:n}});for(const s of this.terminalAttachments.values())this.sendTerminalAttach(s.sessionId,s.terminalId,s.lastSeq);for(const s of this.transcriptSubscriptions.keys())this.sendTranscriptSubscribe(s)}sendSubscribe(t,n){this.send({type:"subscribe",id:this.nextId(),payload:{session_ids:t,cursors:n}})}sendTerminalAttach(t,n,s){this.send({type:"terminal_attach",id:this.nextId(),payload:{session_id:t,terminal_id:n,since_seq:s>0?s:void 0}})}trackCursor(t){if(t.volatile===!0)return;const n=t.session_id,s=t.seq;if(typeof n!="string"||typeof s!="number")return;const o=this.subscriptions.get(n);if(!o||s<=o.seq&&o.epoch!==void 0)return;const i=typeof t.epoch=="string"?t.epoch:o.epoch;this.subscriptions.set(n,{seq:Math.max(s,o.seq),epoch:i})}send(t){if(!(!this.ws||this.ws.readyState!==WebSocket.OPEN))try{this.ws.send(JSON.stringify(t)),zy(t)}catch{}}nextId(){return`c_${++this.msgSeq}`}}function Ii(e,t){return`${e}\0${t}`}function Ob(e,t){if(e===void 0)return t;let n;const s=/filename\*\s*=\s*UTF-8''([^;]+)/i.exec(e)?.[1]?.trim();if(s!==void 0)try{n=decodeURIComponent(s.replaceAll(/^"|"$/g,""))}catch{return t}else n=/filename\s*=\s*"([^"]*)"/i.exec(e)?.[1]??/filename\s*=\s*([^;]+)/i.exec(e)?.[1]?.trim();return n===void 0||n.length===0||n.length>200||n==="."||n===".."||/[\u0000-\u001F\u007F/\\]/.test(n)||!n.toLowerCase().endsWith(".zip")?t:n}function zr(e){if(typeof e!="object"||e===null)return{errorName:typeof e};const t=e;return{errorName:typeof t.name=="string"?t.name:"Error",errorCode:typeof t.code=="number"?t.code:void 0,requestId:typeof t.requestId=="string"?t.requestId:void 0,phase:typeof t.phase=="string"?t.phase:void 0,httpStatus:typeof t.status=="number"?t.status:void 0}}const zb=40924,Fb=40925,Nb=600,Wb=2*6e4;function qb(e){return new Promise(t=>setTimeout(t,e))}function Sa(e){return{id:e.id,sessionId:e.session_id,cwd:e.cwd,shell:e.shell,cols:e.cols,rows:e.rows,status:e.status,createdAt:e.created_at,exitedAt:e.exited_at,exitCode:e.exit_code}}function Fr(e){return e==="auto_compact"||e==="manual_compact"}class Hb{http;config;constructor(t){this.config=t,this.http=new ab(t.serverHttpUrl,{clientId:t.clientId,clientName:t.clientName,clientVersion:t.clientVersion,clientUiMode:t.clientUiMode})}async getHealth(){return{status:"ok",uptimeSec:(await this.http.get("/healthz")).uptime_sec??0}}async getMeta(){const t=await this.http.get("/meta");return{serverVersion:t.server_version,serverId:t.server_id,startedAt:t.started_at,capabilities:t.capabilities,openInApps:Array.isArray(t.open_in_apps)?t.open_in_apps:[],dangerousBypassAuth:t.dangerous_bypass_auth===!0,kimiOauthEnabled:t.experimental_flags?.kimi_oauth===!0,backend:t.backend==="v2"?"v2":"v1",webTitle:t.web_title}}async listSessions(t){const n={before_id:t?.beforeId,after_id:t?.afterId,page_size:t?.pageSize,busy:t?.busy,include_archive:t?.includeArchive,archived_only:t?.archivedOnly,exclude_empty:t?.excludeEmpty,workspace_id:t?.workspaceId},s=await this.http.get("/sessions",n);return{items:s.items.map(cs),hasMore:s.has_more}}async createSession(t){const n={metadata:t.cwd!==void 0?{cwd:t.cwd}:{}};t.workspaceId!==void 0&&(n.workspace_id=t.workspaceId),t.title!==void 0&&(n.title=t.title),t.model!==void 0&&(n.agent_config={model:t.model});const s=await this.http.post("/sessions",n);return cs(s)}async getSession(t){const n=await this.http.get(`/sessions/${encodeURIComponent(t)}`);return cs(n)}async updateSession(t,n){const s={};n.title!==void 0&&(s.title=n.title),n.cwd!==void 0&&(s.metadata={cwd:n.cwd});const o={};n.model!==void 0&&(o.model=n.model),n.permissionMode!==void 0&&(o.permission_mode=n.permissionMode),n.planMode!==void 0&&(o.plan_mode=n.planMode),n.swarmMode!==void 0&&(o.swarm_mode=n.swarmMode),n.supermoonMode!==void 0&&(o.supermoon_mode=n.supermoonMode),n.goalObjective!==void 0&&(o.goal_objective=n.goalObjective),n.goalControl!==void 0&&(o.goal_control=n.goalControl),n.thinking!==void 0&&(o.thinking=n.thinking),Object.keys(o).length>0&&(s.agent_config=o);const i=await this.http.post(`/sessions/${encodeURIComponent(t)}/profile`,s);return cs(i)}async getSessionStatus(t){const n=await this.http.get(`/sessions/${encodeURIComponent(t)}/status`);return{model:n.model&&n.model.length>0?n.model:null,thinkingEffort:n.thinking_level,permission:n.permission,planMode:n.plan_mode===!0,swarmMode:n.swarm_mode===!0,supermoonMode:n.supermoon_mode===!0,contextTokens:n.context_tokens??0,maxContextTokens:n.max_context_tokens??0,contextUsage:n.context_usage??0}}async getSessionGoal(t){const n=await this.http.get(`/sessions/${encodeURIComponent(t)}/goal`);return Ic(n)}async getSessionWarnings(t){return(await this.http.get(`/sessions/${encodeURIComponent(t)}/warnings`)).warnings??[]}async archiveSession(t){return await this.http.post(`/sessions/${encodeURIComponent(t)}:archive`,{})}async restoreSession(t){const n=await this.http.post(`/sessions/${encodeURIComponent(t)}:restore`,{});return cs(n)}async generateSessionTitle(t,n){try{const s={};n?.force===!0&&(s.force=!0),n?.source!==void 0&&(s.source=n.source);const o=await this.http.post(`/sessions/${encodeURIComponent(t)}/title/generate`,s);return typeof o?.title=="string"&&o.title.length>0?o.title:null}catch{return null}}async listMessages(t,n){const s={before_id:n?.beforeId,after_id:n?.afterId,page_size:n?.pageSize,role:n?.role},o=await this.http.get(`/sessions/${encodeURIComponent(t)}/messages`,s);return{items:o.items.map(Qa),hasMore:o.has_more}}async getSessionSnapshot(t){const n=Date.now();tn("session:snapshot:start",{sessionId:t});try{const s=await this.http.get(`/sessions/${encodeURIComponent(t)}/snapshot`),o={asOfSeq:s.as_of_seq,epoch:s.epoch,session:cs(s.session),messages:s.messages.items.map(Qa),hasMoreMessages:s.messages.has_more,inFlightTurn:s.in_flight_turn===null?null:{turnId:s.in_flight_turn.turn_id,assistantText:s.in_flight_turn.assistant_text,thinkingText:s.in_flight_turn.thinking_text,runningTools:s.in_flight_turn.running_tools.map(i=>({toolCallId:i.tool_call_id,name:i.name,args:i.args,description:i.description,lastProgress:i.last_progress})),promptId:s.in_flight_turn.current_prompt_id},pendingApprovals:s.pending_approvals.map(xc),pendingQuestions:s.pending_questions.map(Tc),subagents:(s.subagents??[]).map(Di)};return tn("session:snapshot:accepted",{sessionId:t,busy:o.session.busy,seq:o.asOfSeq,messageCount:o.messages.length,durationMs:Date.now()-n}),o}catch(s){throw tn("session:snapshot:failed",{sessionId:t,status:"failed",durationMs:Date.now()-n,...zr(s)}),s}}async exportSession(t,n){const s=n===void 0?0:new TextEncoder().encode(n).byteLength,o=n===void 0||n.length===0?0:n.split(`
+`).length,i=await this.http.postZip(`/sessions/${encodeURIComponent(t)}/export`,{web_log:n},{web_log_bytes:s,web_log_entries:o}),u=`${t}.zip`;return{blob:i.blob,fileName:Ob(i.contentDisposition,u)}}async submitPrompt(t,n){const s=Date.now();tn("prompt:start",{sessionId:t,contentCount:n.content.length,mediaCount:n.content.filter(o=>o.type==="image"||o.type==="video"||o.type==="file").length});try{const o=await this.http.post(`/sessions/${encodeURIComponent(t)}/prompts`,fk(n));return tn("prompt:accepted",{sessionId:t,promptId:o.prompt_id,status:o.status,durationMs:Date.now()-s}),{promptId:o.prompt_id,userMessageId:o.user_message_id,status:o.status}}catch(o){throw tn("prompt:failed",{sessionId:t,status:"failed",durationMs:Date.now()-s,...zr(o)}),o}}async steerPrompts(t,n){const s=await this.http.post(`/sessions/${encodeURIComponent(t)}/prompts:steer`,{prompt_ids:n});return{steered:s.steered,promptIds:s.prompt_ids}}async abortPrompt(t,n){const s=await this.http.post(`/sessions/${encodeURIComponent(t)}/prompts/${encodeURIComponent(n)}:abort`,void 0,{allowCodes:[40903]});return{aborted:s.aborted,atSeq:s.at_seq}}async abortSession(t){return{aborted:(await this.http.post(`/sessions/${encodeURIComponent(t)}:abort`,{})).aborted}}async compactSession(t,n){await this.http.post(`/sessions/${encodeURIComponent(t)}:compact`,n?{instruction:n}:{})}async undoSession(t,n=1){await this.http.post(`/sessions/${encodeURIComponent(t)}:undo`,{count:n})}async forkSession(t,n){const s={};n?.title!==void 0&&(s.title=n.title);const o=await this.http.post(`/sessions/${encodeURIComponent(t)}:fork`,s,{timeoutMs:nb});return cs(o)}async createChildSession(t,n){const s={};n?.title!==void 0&&(s.title=n.title);const o=await this.http.post(`/sessions/${encodeURIComponent(t)}/children`,s);return cs(o)}async listChildSessions(t){return(await this.http.get(`/sessions/${encodeURIComponent(t)}/children`)).items.map(cs)}async startBtw(t){return{agentId:(await this.http.post(`/sessions/${encodeURIComponent(t)}:btw`,{})).agent_id}}async respondApproval(t,n,s){const o=await this.http.post(`/sessions/${encodeURIComponent(t)}/approvals/${encodeURIComponent(n)}`,mk(s));return{resolved:o.resolved,resolvedAt:o.resolved_at}}async respondQuestion(t,n,s){const o=await this.http.post(`/sessions/${encodeURIComponent(t)}/questions/${encodeURIComponent(n)}`,yk(s));return{resolved:o.resolved,resolvedAt:o.resolved_at}}async dismissQuestion(t,n){return{dismissed:!0,dismissedAt:(await this.http.post(`/sessions/${encodeURIComponent(t)}/questions/${encodeURIComponent(n)}:dismiss`,void 0,{allowCodes:[40909]})).dismissed_at}}async listTasks(t,n){const s={status:n};return(await this.http.get(`/sessions/${encodeURIComponent(t)}/tasks`,s)).items.map(Di)}async getTask(t,n,s){const o={with_output:s?.withOutput,output_bytes:s?.outputBytes},i=await this.http.get(`/sessions/${encodeURIComponent(t)}/tasks/${encodeURIComponent(n)}`,o);return Di(i)}async cancelTask(t,n){return await this.http.post(`/sessions/${encodeURIComponent(t)}/tasks/${encodeURIComponent(n)}:cancel`)}async detachTask(t,n){const s=await this.http.post(`/sessions/${encodeURIComponent(t)}/tasks/${encodeURIComponent(n)}:detach`);return{detached:s.detached,status:s.status}}async listTerminals(t){return(await this.http.get(`/sessions/${encodeURIComponent(t)}/terminals`)).items.map(Sa)}async createTerminal(t,n={}){const s={cwd:n.cwd,shell:n.shell,cols:n.cols,rows:n.rows},o=await this.http.post(`/sessions/${encodeURIComponent(t)}/terminals`,s);return Sa(o)}async getTerminal(t,n){const s=await this.http.get(`/sessions/${encodeURIComponent(t)}/terminals/${encodeURIComponent(n)}`);return Sa(s)}async closeTerminal(t,n){return this.http.post(`/sessions/${encodeURIComponent(t)}/terminals/${encodeURIComponent(n)}:close`)}async listSkills(t){return((await this.http.get(`/sessions/${encodeURIComponent(t)}/skills`)).skills??[]).map(s=>({name:s.name,description:s.description,source:s.source}))}async listSkillsForWorkspace(t){return((await this.http.get(`/workspaces/${encodeURIComponent(t)}/skills`)).skills??[]).map(s=>({name:s.name,description:s.description,source:s.source}))}async activateSkill(t,n,s,o){const i=db(o),u=await this.http.post(`/sessions/${encodeURIComponent(t)}/skills/${encodeURIComponent(n)}:activate`,{...s!==void 0&&s.length>0?{args:s}:{},...i!==void 0?{attachments:i}:{}});return{activated:u.activated,skillName:u.skill_name}}async listPlugins(){return((await this.http.get("/plugins")).plugins??[]).map(_r)}async listPluginMarketplace(){return((await this.http.get("/plugins/marketplace")).entries??[]).map(Ck)}async installPlugin(t){const n=await this.http.post("/plugins",{source:t});return _r(n)}async setPluginEnabled(t,n){await this.http.post(`/plugins/${encodeURIComponent(t)}:${n?"enable":"disable"}`,{})}async removePlugin(t){await this.http.post(`/plugins/${encodeURIComponent(t)}:remove`,{})}async listCapabilities(){return((await this.http.get("/capabilities")).capabilities??[]).map(Mr)}async getCapability(t){const n=await this.http.get(`/capabilities/${encodeURIComponent(t)}`);return Mr(n)}async installCapability(t,n){await this.http.post(`/capabilities/${encodeURIComponent(t)}:install`,{},{allowCodes:[zb]});const s=Date.now()+Wb;let o=await this.getCapability(t);for(n?.(o);o.install.running&&Date.now()[u,p.map(Cr)])):void 0;return{items:o.items.map(Cr),childrenByPath:i,truncated:o.truncated}}async readFile(t,n){const s={path:n.path};n.offset!==void 0&&(s.offset=n.offset),n.length!==void 0&&(s.length=n.length);const o=await this.http.post(`/sessions/${encodeURIComponent(t)}/fs:read`,s);return{path:o.path,content:o.content,encoding:o.encoding,size:o.size,truncated:o.truncated,etag:o.etag,mime:o.mime,languageId:o.language_id,lineCount:o.line_count,isBinary:o.is_binary}}async searchFiles(t,n){const s={workspace:t,query:n.query};n.limit!==void 0&&(s.limit=n.limit);const o=await this.http.post("/workspace/fs:search",s);return{items:o.items.map(i=>({path:i.path,name:i.name,kind:i.kind,score:i.score,matchPositions:i.match_positions})),truncated:o.truncated}}async grepFiles(t,n){const s={pattern:n.pattern};n.regex!==void 0&&(s.regex=n.regex),n.caseSensitive!==void 0&&(s.case_sensitive=n.caseSensitive);const o=await this.http.post(`/sessions/${encodeURIComponent(t)}/fs:grep`,s);return{files:o.files,filesScanned:o.files_scanned,truncated:o.truncated,elapsedMs:o.elapsed_ms}}async getGitStatus(t,n){const s={};n!==void 0&&(s.paths=n);const o=await this.http.post(`/sessions/${encodeURIComponent(t)}/fs:git_status`,s);return{branch:o.branch,ahead:o.ahead,behind:o.behind,entries:o.entries,additions:o.additions,deletions:o.deletions,pullRequest:o.pullRequest??null}}async getFileDiff(t,n){const s=await this.http.post(`/sessions/${encodeURIComponent(t)}/fs:diff`,{path:n});return{path:s.path,diff:s.diff}}getFileDownloadUrl(t,n){const s=n.split("/").map(o=>encodeURIComponent(o)).join("/");return go(this.config.serverHttpUrl,`/sessions/${encodeURIComponent(t)}/fs/${s}:download`)}async openFile(t,n){const s={path:n.path};return n.line!==void 0&&(s.line=n.line),this.http.post(`/sessions/${encodeURIComponent(t)}/fs:open`,s)}async revealFile(t,n){return this.http.post(`/sessions/${encodeURIComponent(t)}/fs:reveal`,{path:n.path})}async openInApp(t,n,s,o){const i={app_id:n,path:s};o!==void 0&&(i.line=o),await this.http.post(`/sessions/${encodeURIComponent(t)}/fs:open-in`,i)}async listWorkspaces(){try{return((await this.http.get("/workspaces")).items??[]).map(oi)}catch{return[]}}async addWorkspace(t){const n={root:t.root};t.name!==void 0&&(n.name=t.name);const s=await this.http.post("/workspaces",n);return oi(s)}async deleteWorkspace(t){await this.http.delete(`/workspaces/${encodeURIComponent(t)}`)}async updateWorkspace(t,n){const s=await this.http.patch(`/workspaces/${encodeURIComponent(t)}`,{name:n.name});return oi(s)}async browseFs(t){try{const n=await this.http.get("/fs:browse",{path:t});return{path:n.path,parent:n.parent,entries:(n.entries??[]).map(s=>({name:s.name,path:s.path,isDir:s.is_dir}))}}catch{return{path:"",parent:null,entries:[]}}}async getFsHome(){try{const t=await this.http.get("/fs:home");return{home:t.home,recentRoots:t.recent_roots??[]}}catch{return{home:"",recentRoots:[]}}}async listModels(){return(await this.http.get("/models")).items.map(bk)}async listProviders(){return(await this.http.get("/providers")).items.map(Mi)}async addProvider(t){const n={type:t.type};t.apiKey!==void 0&&(n.api_key=t.apiKey),t.baseUrl!==void 0&&(n.base_url=t.baseUrl),t.defaultModel!==void 0&&(n.default_model=t.defaultModel);const s=await this.http.post("/providers",n);return Mi(s)}async deleteProvider(t){return this.http.delete(`/providers/${encodeURIComponent(t)}`)}async refreshProvider(t){const n=await this.http.post(`/providers/${encodeURIComponent(t)}:refresh`);return Ca(n)}async refreshAllProviders(){const t=await this.http.post("/providers:refresh");return Ca(t)}async refreshOAuthProviderModels(){const t=await this.http.post("/providers:refresh_oauth");return Ca(t)}async browseCatalogProviders(t){return(await this.http.get("/catalog/providers",{query:t})).items.map(Sk)}async importCatalogProvider(t){const n=await this.http.post("/providers:import_catalog",lb(t));return{provider:Mi(n.provider),modelsImported:n.models_imported}}async importRegistry(t){const n=await this.http.post("/providers:import_registry",rb(t));return{providers:n.providers.map(Mi),modelsImported:n.models_imported}}async getConfig(){const t=await this.http.get("/config");return Ya(t)}async setConfig(t){const n={},s={providers:"providers",defaultProvider:"default_provider",defaultModel:"default_model",planningModel:"planning_model",models:"models",thinking:"thinking",planMode:"plan_mode",yolo:"yolo",defaultPermissionMode:"default_permission_mode",defaultPlanMode:"default_plan_mode",permission:"permission",hooks:"hooks",services:"services",mergeAllAvailableSkills:"merge_all_available_skills",extraSkillDirs:"extra_skill_dirs",loopControl:"loop_control",background:"background",experimental:"experimental",telemetry:"telemetry",raw:"raw"};for(const[i,u]of Object.entries(t)){const p=s[i];p!==void 0&&(n[p]=u)}const o=await this.http.post("/config",n);return Ya(o)}async getAuth(){const t=await this.http.get("/auth");return{ready:t.models_ready,providersCount:t.providers_count,defaultModel:t.default_model??null,managedProvider:t.managed_provider?{status:t.managed_provider.status}:null}}async startOAuthLogin(t){const n={};t!==void 0&&(n.region=t);const s=await this.http.post("/oauth/login",n);return s.status==="authenticated"?{flowId:s.flow_id,provider:s.provider,status:"authenticated"}:{flowId:s.flow_id,provider:s.provider,status:"pending",verificationUri:s.verification_uri,verificationUriComplete:s.verification_uri_complete,userCode:s.user_code,expiresIn:s.expires_in,interval:s.interval,expiresAt:s.expires_at}}async resolveOAuthRegion(){try{const t=await this.http.get("/oauth/region");return t.region==="mainland-cn"||t.region==="global"?t.region:null}catch{return null}}async pollOAuthLogin(){const t=await this.http.get("/oauth/login");return t?{flowId:t.flow_id,status:t.status,resolvedAt:t.resolved_at}:null}async cancelOAuthLogin(){const t=await this.http.delete("/oauth/login");return{cancelled:t.cancelled,status:t.status}}async logout(){return{loggedOut:(await this.http.post("/oauth/logout",{})).logged_out}}async uploadFile(t){const n=new FormData;n.append("file",t.file,t.name??(t.file instanceof File?t.file.name:"upload")),t.name!==void 0&&n.append("name",t.name);const s=await this.http.postForm("/files",n);return{id:s.id,name:s.name,mediaType:s.media_type,size:s.size}}getFileUrl(t){return go(this.config.serverHttpUrl,`/files/${encodeURIComponent(t)}`)}async getFileBlob(t){return this.http.getBlob(`/files/${encodeURIComponent(t)}`)}connectEvents(t){const n=Zp(this.config.serverHttpUrl,this.config.clientId),s=Nk();let o=!1;const i=new Map;function u(g){let m=i.get(g);return m||(m={projector:gb(g),watermarks:new mb,armed:!1},i.set(g,m)),m}function p(g,m){const $=u(g),h=[];for(const y of m)h.push(..._b([y],g)),h.push(...$.projector.project([y]));return h}const f=(g,m,$)=>{(async()=>{try{const h=await vb({baseUrl:this.config.serverHttpUrl,sessionId:g,agentId:m,sinceSeq:$.watermarks.get(g,m),token:pi()});for(const y of h.batches){$.watermarks.set(g,m,y.seq);for(const S of p(g,y.ops))t.onEvent(S,{sessionId:g,seq:y.seq})}h.complete||($.projector.reset(),t.onResync(g,0))}catch{$.projector.reset(),t.onResync(g,0)}})()};function v(g,m){const $=g;if(!$||typeof $.agent_id!="string"||!Array.isArray($.ops))return;const h=$.agent_id,y=u(m);y.armed=!0;const S=typeof $.seq=="number"?$.seq:void 0;if(S!==void 0&&y.watermarks.advance(m,h,S)){f(m,h,y);return}for(const B of p(m,$.ops))t.onEvent(B,{sessionId:m,seq:S??0});S!==void 0&&(y.watermarks.set(m,h,S),x.updateTranscriptSince(m,h,S))}function k(g,m){const $=u(m);$.armed=!0,$.projector.reset(),$.watermarks.clear(m),t.onResync(m,0)}const x=new Db(n,this.config.clientId,{onWireEvent:g=>{const m=Mk(g),$=$k(g),h=kk(g);h.type==="historyCompacted"&&!Fr(h.reason)&&t.onResync(h.sessionId,h.beforeSeq),t.onEvent(h,{sessionId:m,seq:$})},onRawAgentEvent:g=>{if(o&&i.get(g.session_id)?.armed===!0&&Cb(g.type))return;const{type:m,seq:$,session_id:h,payload:y,offset:S}=g,B=s.project(m,y,h,{offset:S});for(const b of B){const P=y?.turnId,E=b.type==="assistantDelta"&&typeof P=="number"&&typeof S=="number"&&(m==="assistant.delta"||m==="thinking.delta")?{turnId:P,offset:S,kind:m==="assistant.delta"?"text":"thinking"}:void 0;b.type==="historyCompacted"&&!Fr(b.reason)&&t.onResync(h,$),t.onEvent(b,{sessionId:h,seq:$,stream:E})}},onResync:(g,m,$)=>{s.reset(g),t.onResync(g,m,$)},onTranscriptOps:(g,m)=>{v(g,m)},onTranscriptReset:(g,m)=>{k(g,m)},onConnectionState:g=>{t.onConnectionChange(g)},onError:(g,m,$)=>{t.onError(g,m,$)},onTerminalOutput:(g,m,$,h)=>{t.onTerminalOutput?.(g,m,$,h)},onTerminalExit:(g,m,$)=>{t.onTerminalExit?.(g,m,$)}});return x.connect(),{subscribe(g,m){if(x.subscribe(g,m??{seq:0}),o){const $=u(g);x.subscribeTranscript(g,{main:"delta"},{main:$.watermarks.get(g,"main")})}},unsubscribe(g){x.unsubscribe(g),x.unsubscribeTranscript(g),s.disposeSession(g),i.delete(g)},setTranscriptMode(g){if(o!==g&&(o=g,!!g))for(const m of x.transcriptSubscribedSessionIds()){const $=u(m);x.subscribeTranscript(m,{main:"delta"},{main:$.watermarks.get(m,"main")})}},seedSnapshot(g,m){if(m.inFlightTurn===null){s.reset(g);return}const $=s.seedInFlight(g,m.inFlightTurn);for(const h of $)t.onEvent(h,{sessionId:g,seq:m.asOfSeq})},bindNextPromptId(g,m){s.bindNextPromptId(g,m)},abort(g,m){x.abort(g,m)},terminalAttach(g,m,$){x.terminalAttach(g,m,$)},terminalInput(g,m,$){x.terminalInput(g,m,$)},terminalResize(g,m,$,h){x.terminalResize(g,m,$,h)},terminalDetach(g,m){x.terminalDetach(g,m)},terminalClose(g,m){x.terminalClose(g,m)},markSideChannelAgent(g){s.markSideChannelAgent(g)},health(){return x.health()},reconnect(){x.reconnect()},close(){x.close()}}}}function Ca(e){return{changed:e.changed.map(t=>({providerId:t.provider_id,providerName:t.provider_name,added:t.added,removed:t.removed})),unchanged:e.unchanged,failed:e.failed}}let Nr;function De(){return Nr??=new Hb(lc()),Nr}function Wr(e){if(typeof e!="object"||e===null)return!1;const t=e.name;return t==="TimeoutError"||t==="AbortError"}function Rc(e){return Wr(e)?!0:typeof e!="object"||e===null?!1:Wr(e.cause)}const tl=new Set;function Ub(e){return tl.add(e),()=>{tl.delete(e)}}function Vb(e){for(const t of tl)try{t(e)}catch(n){console.warn("pluginEvent listener failed",n)}}const jb=3;function Kb(e){return e===void 0||!e.done&&e.attempts0?t[t.length-1]:e}const Yb=/^(?:[A-Za-z]:[\\/]|\\\\|\/\/)/;function ps(e){const t=e.replaceAll("\\","/"),n=Yb.test(t),s=t.replace(/\/+$/,"");return n?s.toLowerCase():s}function Zb(e,t){const n=ps(t.cwd);return e.find(s=>ps(s.root)===n)?.id??t.workspaceId??t.cwd}function Xb(e){const{workspaces:t,sessions:n,hiddenWorkspaceRoots:s,sessionsHasMoreByWorkspace:o}=e,i=new Set(s.map(ps)),u=new Map;for(const x of t){const g=ps(x.root);i.has(g)||u.has(g)||u.set(g,{...x})}for(const x of n){const g=x.cwd;if(!g)continue;const m=ps(g);i.has(m)||u.has(m)||u.set(m,{id:x.workspaceId??g,root:g,name:Lc(g),sessionCount:0})}const p=new Map;for(const x of n){const g=Zb(t,x);p.set(g,(p.get(g)??0)+1)}const f=[];for(const x of t){const g=ps(x.root);!i.has(g)&&!f.includes(g)&&f.push(g)}const v=[...u.keys()].filter(x=>!f.includes(x));v.sort((x,g)=>u.get(x).root.localeCompare(u.get(g).root));const k=[];for(const x of[...f,...v]){const g=u.get(x),m=p.get(g.id)??p.get(g.root)??0,$=o[g.id]===!1?m:Math.max(g.sessionCount,m);k.push({...g,sessionCount:$})}return k}function Jb(){const e=to(Ge.doneSessions);return Array.isArray(e)?e.filter(t=>typeof t=="string"):[]}function Pl(e){Ns(Ge.doneSessions,Array.from(e))}function e2(e,t){return e.includes(t)?e.filter(n=>n!==t):[...e,t]}function t2(e,t){const n=new Set(e),s=t.filter(o=>!n.has(o));return s.length===0?[...e]:[...e,...s]}function n2(e,t){const n=new Set(t);return e.filter(s=>!n.has(s))}function Cs(e,t){e.modeVersionBySession={...e.modeVersionBySession??{},[t]:(e.modeVersionBySession?.[t]??0)+1}}function s2(e,t,n){return(e.modeVersionBySession?.[t]??0)===n}function o2(e,t){if(t.length===0||e.length===0)return t;const n=Date.parse(t[0].createdAt);if(Number.isNaN(n))return t;const s=new Set(t.map(u=>u.id)),o=new Set(t.filter(u=>u.role==="user").map(u=>u.id)),i=e.filter(u=>{const p=Date.parse(u.createdAt);return!(Number.isNaN(p)||p>=n||s.has(u.id)||u.role==="user"&&u.promptId!==void 0&&o.has(u.promptId))});return i.length>0?[...i,...t]:t}function qr(e,t){const n=new Set(e.map(f=>f.id)),s=t.filter(f=>f.kind==="subagent"&&!n.has(f.id));if(s.length===0)return e;const o=new Map(e.map(f=>[f.id,f])),i=new Set,u=s.map(f=>{const v=f.backgroundTaskId!==void 0?o.get(f.backgroundTaskId):void 0;if(v===void 0)return f;i.add(v.id);const k=f.status==="running"&&v.status!=="running";return{...f,status:f.status==="running"?v.status:f.status,subagentPhase:k?v.status==="completed"?"completed":"failed":f.subagentPhase,completedAt:f.completedAt??v.completedAt,outputPreview:v.outputPreview??f.outputPreview,outputBytes:v.outputBytes??f.outputBytes}});return[...e.filter(f=>!i.has(f.id)),...u]}function i2(e,t){if(e.length===0)return t;const n=new Map(t.map(u=>[u.id,u])),s=new Set(e.map(u=>u.id)),o=e.map(u=>{const p=n.get(u.id);return p?{...u,outputLines:p.outputLines,text:p.text}:u}),i=t.filter(u=>!s.has(u.id));return i.length===0?o:[...o,...i]}function a2(e){const t=new Map,n=new Set;function s(i){const u=t.get(i);if(u!==void 0)return u;const p=(async()=>e(i))().finally(()=>{t.delete(i),n.delete(i)&&s(i)});return t.set(i,p),p}function o(i){if(t.has(i)){n.add(i);return}s(i)}return{run:s,request:o}}const Hr=2e3,Ur=100,Dc=80,Oc=24;function Vr(e){return{...e,lines:[],history:[],attached:!1,pendingTail:"",lastSeq:0}}function l2(e){return e.replace(/[\u001b\u009b][[\]()#;?]*(?:(?:(?:[a-zA-Z\d]*(?:;[-a-zA-Z\d/#&.:=?%@~_]*)*)?\u0007)|(?:(?:\d{1,4}(?:[;:]\d{0,4})*)?[\dA-PR-TZcf-nq-uy=><~]))/g,"")}function r2(){const e=T(void 0),t=T([]),n=T({}),s=T(null),o=T(!1),i=T(null);let u=null;const p=M(()=>{const R=s.value;return R===null?null:n.value[R]??null}),f=M(()=>p.value?.lines.join(`
+`)??"");function v(R){const W=n.value[R];if(W!==void 0)return W;const Q=t.value.find(C=>C.id===R),V=Vr(Q??{id:R,sessionId:e.value??"",cwd:"",shell:"",cols:Dc,rows:Oc,status:"running",createdAt:""});return n.value[R]=V,V}function k(R){if(e.value===R)return;const W=e.value;if(W!==void 0&&u!==null)for(const Q of Object.values(n.value))Q.attached&&u.terminalDetach(W,Q.id);e.value=R,t.value=[],n.value={},s.value=null,o.value=!1,i.value=null}function x(R){t.value=R;const W=new Set(R.map(Q=>Q.id));for(const[Q,V]of Object.entries(n.value)){if(!W.has(Q)){delete n.value[Q];continue}const C=R.find(D=>D.id===Q);C&&Object.assign(V,C)}s.value!==null&&!W.has(s.value)&&(s.value=R[0]?.id??null)}function g(R){const W=t.value.findIndex(V=>V.id===R.id);W===-1?t.value.push(R):t.value.splice(W,1,R);const Q=n.value[R.id];Q!==void 0?Object.assign(Q,R):n.value[R.id]=Vr(R)}function m(R){n.value[R]?.attached&&e.value!==void 0&&u!==null&&u.terminalDetach(e.value,R),delete n.value[R];const Q=t.value.findIndex(V=>V.id===R);if(Q!==-1&&t.value.splice(Q,1),s.value===R){const V=t.value[Q]??t.value[t.value.length-1];s.value=V?.id??null}}function $(R){const W=v(R);if(W.attached)return;W.attached=!0;const Q=e.value;Q!==void 0&&u!==null&&u.terminalAttach(Q,R,W.lastSeq)}function h(R){const W=n.value[R];if(W===void 0||!W.attached)return;W.attached=!1;const Q=e.value;Q!==void 0&&u!==null&&u.terminalDetach(Q,R)}function y(R,W){const Q=l2(W).split(`
+`),V=Q[0]??"";R.pendingTail+=V;for(let C=1;CHr&&R.lines.splice(0,R.lines.length-Hr)}function S(R,W,Q,V){if(e.value===void 0||e.value!==R)return;const C=v(W);V<=C.lastSeq||(C.lastSeq=V,y(C,Q))}function B(R,W,Q){if(e.value===void 0||e.value!==R)return;const V=v(W);V.status!=="exited"&&(V.status="exited",V.exitCode=Q)}function b(R,W){const Q=W.trim();if(Q.length===0)return"";const V=v(R);V.history.at(-1)!==Q&&(V.history.push(Q),V.history.length>Ur&&V.history.splice(0,V.history.length-Ur));const C=e.value;return C!==void 0&&u!==null&&V.status!=="exited"&&u.terminalInput(C,R,`${Q}
+`),Q}function P(R,W,Q){const V=v(R);V.cols=W,V.rows=Q;const C=e.value;C!==void 0&&u!==null&&u.terminalResize(C,R,W,Q)}function E(R){u=R;const W=e.value;if(W!==void 0)for(const Q of Object.values(n.value))Q.attached&&R.terminalAttach(W,Q.id,Q.lastSeq)}return{sessionId:e,terminals:t,activeId:s,loading:o,error:i,active:p,activeLines:f,entryOf:v,setSession:k,setLoading:R=>{o.value=R},setError:R=>{i.value=R},syncTerminals:x,upsertTerminal:g,removeTerminal:m,setActive:R=>{s.value=R},attach:$,detach:h,handleOutput:S,handleExit:B,submitInput:b,resize:P,bindTransport:E}}const jr=6,Kr=400,u2="Task finished";function c2(){return Dt(Ge.taskNotices)==="1"}function d2(e,t){const n=e.description?.trim()||u2,s=e.outputPreview??t??"",o=p2(s);return{taskId:e.id,summary:n,outputPreview:o.text,outputTruncated:o.truncated,outputBytes:e.outputBytes}}function p2(e){if(!e)return{text:"",truncated:!1};const t=e.split(/\r?\n/);let n=t.length>jr,s=t.slice(0,jr).join(`
+`);return s.length>Kr&&(s=s.slice(0,Kr),n=!0),{text:s,truncated:n}}const f2=new Set(["assistantDelta","agentDelta","toolOutput","taskProgress"]);function m2(e){return f2.has(e.type)}const v2=50,g2=100,nl=32*1024,h2={requestFrame(e){return typeof requestAnimationFrame=="function"?requestAnimationFrame(e):null},cancelFrame(e){typeof cancelAnimationFrame=="function"&&cancelAnimationFrame(e)},requestTask(e){return setTimeout(e,v2)},cancelTask(e){clearTimeout(e)}};function y2(e,t,n={}){const s=n.scheduler??h2,o=Math.max(1,Math.floor(n.maxItemsPerSlice??g2)),i=[];let u=0,p=null,f=null,v=0,k=!1;const x=()=>i.length-u,g=()=>{v+=1,p!==null&&(s.cancelFrame(p),p=null),f!==null&&(s.cancelTask(f),f=null)},m=()=>{u===i.length?(i.length=0,u=0):u>=1024&&(i.splice(0,u),u=0)};let $;const h=()=>{if(k||p!==null||f!==null||x()===0)return;const S=++v,B=()=>{S===v&&$()};p=s.requestFrame(B),f=s.requestTask(B)};$=()=>{g();let S=0;for(;!k&&S{if(!k){if(t(S)){const B=i.length>u?i.at(-1):void 0,b=B===void 0?void 0:n.coalesce?.(B,S);b===void 0?i.push(S):i[i.length-1]=b,h();return}if(x()===0){e(S);return}i.push(S),$()}});return y.flush=()=>{if(!k){for(g();!k&&u{if(k||x()===0)return;let B=u;for(let b=u;b{k||(k=!0,g(),i.length=0,u=0)},y}function sl(e){if(e.type==="assistantDelta"){if(e.delta.text!==void 0&&e.delta.thinking===void 0)return{kind:"text",value:e.delta.text};if(e.delta.thinking!==void 0&&e.delta.text===void 0)return{kind:"thinking",value:e.delta.thinking}}}function k2(e){if(e.appEvent.type!=="assistantDelta")return[e];const t=e.appEvent,n=e.meta.stream,s=sl(t);if(n===void 0||s===void 0||n.kind!==s.kind||s.value.length<=nl)return[e];const o=[];let i=0;for(;ii&&/[\uD800-\uDBFF]/u.test(s.value[u-1])&&/[\uDC00-\uDFFF]/u.test(s.value[u])&&(u-=1);const p=s.value.slice(i,u);o.push({appEvent:{...t,delta:s.kind==="text"?{text:p}:{thinking:p}},meta:{...e.meta,stream:{...n,offset:n.offset+i}}}),i=u}return o}function b2(e,t){if(e.appEvent.type!=="assistantDelta"||t.appEvent.type!=="assistantDelta")return;const n=e.meta.stream,s=t.meta.stream,o=sl(e.appEvent),i=sl(t.appEvent);if(n===void 0||s===void 0||o===void 0||i===void 0||e.meta.sessionId!==t.meta.sessionId||e.appEvent.sessionId!==t.appEvent.sessionId||e.appEvent.messageId!==t.appEvent.messageId||e.appEvent.contentIndex!==t.appEvent.contentIndex||n.turnId!==s.turnId||n.kind!==s.kind||o.kind!==i.kind||n.kind!==o.kind||s.kind!==i.kind||s.offset!==n.offset+o.value.length||o.value.length+i.value.length>nl)return;const u=o.value+i.value;return{appEvent:{...e.appEvent,delta:o.kind==="text"?{text:u}:{thinking:u}},meta:{...t.meta,stream:{...n}}}}const zc=["blue","mono"],Fc=["light","dark","system"],Nc=14,w2=12,S2=20;function C2(){const e=Dt(Ge.accent);return e&&zc.includes(e)?e:"blue"}function _2(e){typeof document>"u"||!document.documentElement||(document.documentElement.dataset.accent=e)}function M2(){const e=Dt(Ge.colorScheme);return e&&Fc.includes(e)?e:"system"}function $2(e){if(typeof document>"u"||!document.documentElement)return;document.documentElement.dataset.colorScheme=e;const t=document.querySelectorAll('meta[name="theme-color"]');if(t.length===0)return;const n=e==="dark"?"#0d1117":e==="light"?"#ffffff":null;t.forEach(s=>{const i=(s.getAttribute("media")??"").includes("dark")?"#0d1117":"#ffffff";s.setAttribute("content",n??i)})}function El(e){return Number.isFinite(e)?Math.min(S2,Math.max(w2,Math.round(e))):Nc}function x2(){const e=Dt(Ge.uiFontSize);return e===null?Nc:El(Number(e))}function T2(e){typeof document>"u"||!document.documentElement||document.documentElement.style.setProperty("--base-ui-font-size",`${El(e)}px`)}const Bl=T(M2()),Rl=T(C2()),Ll=T(x2());Ne(Bl,$2,{immediate:!0});Ne(Rl,_2,{immediate:!0});Ne(Ll,T2,{immediate:!0});function I2(e){Fc.includes(e)&&(Bl.value=e,Nt(Ge.colorScheme,e))}function A2(e){zc.includes(e)&&(Rl.value=e,Nt(Ge.accent,e))}function P2(e){const t=El(e);Ll.value=t,Nt(Ge.uiFontSize,String(t))}const E2=600,B2=250,na=250,R2=1e3,L2=160,Ui=T(!1);let vo=[],ho=null,Vi=-na;function D2(){vo=[],Vi=-na,Ui.value=!1,ho!==null&&(clearTimeout(ho),ho=null)}function O2(){Ui.value=!0,ho!==null&&clearTimeout(ho),ho=setTimeout(()=>{ho=null,vo=[],Vi=-na,Ui.value=!1},R2)}function z2(e){if(e<=0)return;const t=Date.now();vo.push({time:t,chars:e});const n=t-E2;if(vo=vo.filter(p=>p.time>=n),t-Vip+f.chars,0)/o*1e3>=L2&&O2()}function Wc(){return{colorScheme:Bl,accent:Rl,uiFontSize:Ll,fastMoon:Ui,setColorScheme:I2,setAccent:A2,setUiFontSize:P2,resetFastMoon:D2,recordMoonDelta:z2}}function F2(e,t,n){return e==="idle"&&!t&&!n}function Dl(e,t){const n=Dt(e);return n===null?t:n==="1"}const Ol=T(Dl(Ge.notifyOnComplete,!0)),zl=T(Dl(Ge.notifyOnQuestion,!1)),Fl=T(Dl(Ge.notifyOnApproval,!1)),Nl=T(typeof Notification<"u"?Notification.permission:"denied"),N2="/favicon.ico";async function Wl(e,t,n){if(!n){e.value=!1,Nt(t,"0");return}if(typeof Notification>"u")return;let s=Notification.permission;if(s==="default")try{s=await Notification.requestPermission()}catch{}Nl.value=s,s==="granted"&&(e.value=!0,Nt(t,"1"))}function W2(e){return Wl(Ol,Ge.notifyOnComplete,e)}function q2(e){return Wl(zl,Ge.notifyOnQuestion,e)}function H2(e){return Wl(Fl,Ge.notifyOnApproval,e)}function ql(...e){for(const t of e){const n=t?.trim();if(n)return n}return""}function U2(e){return{title:St.global.t("settings.notifyTitle"),body:ql(e,St.global.t("settings.notifyFallback"))}}function V2(e,t){return{title:St.global.t("settings.notifyQuestionTitle"),body:ql(t,e,St.global.t("settings.notifyQuestionFallback"))}}function j2(e,t){return{title:St.global.t("settings.notifyApprovalTitle"),body:ql(t,e,St.global.t("settings.notifyApprovalFallback"))}}function Hl(e,t,n,s){if(!e||typeof Notification>"u")return;const o=Notification.permission;if(o!=="denied"){if(o==="default"){Notification.requestPermission().then(i=>{Nl.value=i,i==="granted"&&Gr(t,n,s)});return}Gr(t,n,s)}}function Gr(e,t,n){if(!e.isUserWatching)try{const s=new Notification(t.title,{body:t.body,tag:n,icon:N2});s.onclick=()=>{try{window.focus()}catch{}e.onClick(),s.close()}}catch{}}function K2(e,t){Hl(Ol.value,t,U2(t.sessionTitle),`kimi-complete-${e}-${t.promptId??Date.now()}`)}function G2(e){Hl(zl.value,e,V2(e.sessionTitle,e.questionPreview),`kimi-question-${e.questionId}`)}function Q2(e){Hl(Fl.value,e,j2(e.sessionTitle,e.toolName),`kimi-approval-${e.approvalId}`)}function Y2(){return{notifyOnComplete:Ol,notifyOnQuestion:zl,notifyOnApproval:Fl,notifyPermission:Nl,setNotifyOnComplete:W2,setNotifyOnQuestion:q2,setNotifyOnApproval:H2,maybeNotifyCompletion:K2,maybeNotifyQuestion:G2,maybeNotifyApproval:Q2}}function Z2(){return Dt(Ge.soundOnComplete)==="1"}const Uo=T(Z2());function X2(){if(typeof window>"u")return;const e=window;return window.AudioContext??e.webkitAudioContext}let _a=null;function qc(){const e=X2();if(!e)return null;if(_a===null)try{_a=new e}catch{return null}return _a}function Hc(){if(!Uo.value)return;const e=qc();e!==null&&e.state==="suspended"&&e.resume().then(()=>{Ds("sound: audio context resumed",{state:e.state})},t=>{Ds("sound: audio context resume rejected",{error:String(t)})})}let Qr=!1;function J2(){if(Qr||typeof window>"u")return;Qr=!0;const e=()=>{Hc()};window.addEventListener("pointerdown",e,{capture:!0}),window.addEventListener("keydown",e,{capture:!0})}J2();function ew(e){Uo.value=e,Nt(Ge.soundOnComplete,e?"1":"0"),e&&Hc()}function Yr(e,t,n,s,o){const i=e.createOscillator(),u=e.createGain();i.type="sine",i.frequency.value=t,i.connect(u),u.connect(e.destination);const p=e.currentTime+n;u.gain.setValueAtTime(1e-4,p),u.gain.exponentialRampToValueAtTime(o,p+.01),u.gain.exponentialRampToValueAtTime(1e-4,p+s),i.start(p),i.stop(p+s+.02)}function Ul(){const e=qc();if(e===null){Ds("sound: skipped, AudioContext unavailable");return}if(e.state!=="running"){Ds("sound: skipped, context not running",{state:e.state}),e.state==="suspended"&&e.resume().then(()=>{Ds("sound: context resumed for next time",{state:e.state})},t=>{Ds("sound: resume rejected",{error:String(t)})});return}try{Yr(e,880,0,.16,.18),Yr(e,1320,.1,.22,.16),Ds("sound: chime scheduled",{state:e.state})}catch(t){Ds("sound: failed to play",{error:String(t)})}}function tw(){Uo.value&&Ul()}function nw(){Uo.value&&Ul()}function sw(){Uo.value&&Ul()}function ow(){return{soundOnComplete:Uo,setSoundOnComplete:ew,maybePlayCompletionSound:tw,maybePlayQuestionSound:nw,maybePlayApprovalSound:sw}}const iw=1e3,aw=4096,Zr=32*1024;function lw(e,t){let n=null,s;const o=new Set;async function i(g){try{const $=await De().listTasks(g);e.tasksBySession={...e.tasksBySession,[g]:qr($,e.tasksBySession[g]??[])},await u(g,$)}catch{}}async function u(g,m){if(e.activeSessionId!==g)return;const $=m??e.tasksBySession[g]??[],h=De(),y=new Map;if(await Promise.all($.map(async B=>{if((B.status==="completed"||B.status==="failed"||B.status==="cancelled")&&!o.has(B.id)&&!((B.outputLines?.length??0)>0))try{const P=await h.getTask(g,B.id,{withOutput:!0,outputBytes:Zr});P.outputPreview!==void 0&&y.set(B.id,{preview:P.outputPreview,bytes:P.outputBytes}),o.add(B.id)}catch{}})),y.size===0)return;const S=e.tasksBySession[g]??[];e.tasksBySession={...e.tasksBySession,[g]:S.map(B=>{const b=y.get(B.id)??(B.backgroundTaskId!==void 0?y.get(B.backgroundTaskId):void 0);return b?{...B,outputPreview:b.preview,outputBytes:b.bytes}:B})}}async function p(g){if(e.activeSessionId!==g)return;const m=De();let $;try{$=await m.listTasks(g)}catch{return}const h=new Map;await Promise.all($.map(async b=>{const P=b.status==="running",E=b.status==="completed"||b.status==="failed"||b.status==="cancelled";if(!(!P&&!E)&&!(E&&(o.has(b.id)||(b.outputLines?.length??0)>0)))try{const R=await m.getTask(g,b.id,{withOutput:!0,outputBytes:P?aw:Zr});R.outputPreview!==void 0&&h.set(b.id,{preview:R.outputPreview,bytes:R.outputBytes}),E&&o.add(b.id)}catch{}}));const y=e.tasksBySession[g]??[],S=new Map(y.map(b=>[b.id,b])),B=$.map(b=>{const P=S.get(b.id),E=h.get(b.id);return{...b,outputLines:P?.outputLines,text:P?.text,outputPreview:E?.preview??P?.outputPreview,outputBytes:E?.bytes??P?.outputBytes}});e.tasksBySession={...e.tasksBySession,[g]:qr(B,y)}}function f(g){n!==null&&s===g||(v(),s=g,p(g),n=setInterval(()=>{typeof document<"u"&&document.visibilityState==="hidden"||(e.activeSessionId===g?p(g):v())},iw))}function v(){n!==null&&(clearInterval(n),n=null),s=void 0,o.clear()}const k=T(0);let x=null;return Ne(()=>t.value.some(g=>g.status==="running"),g=>{g&&x===null?x=setInterval(()=>{k.value=(k.value+1)%Number.MAX_SAFE_INTEGER},1e3):!g&&x!==null&&(clearInterval(x),x=null)},{immediate:!0}),Ne(()=>{const g=e.activeSessionId;if(!g)return{sid:void 0,hasRunning:!1};const m=e.tasksBySession[g]??[];return{sid:g,hasRunning:m.some($=>$.status==="running")}},({sid:g,hasRunning:m},$,h)=>{let y;m&&g!==void 0?f(g):g!==void 0?y=setTimeout(()=>{(e.tasksBySession[g]??[]).some(B=>B.status==="running")||v()},1500):v(),h(()=>{y!==void 0&&clearTimeout(y)})},{deep:!0,immediate:!0}),{taskClock:M(()=>k.value),loadTasksForSession:i}}function sa(e){if(e===void 0)return"toggle";const t=e.capabilities??[];return t.includes("always_thinking")?"always-on":t.includes("thinking")||e.adaptiveThinking===!0?"toggle":"unsupported"}function Uc(e){return e?.supportEfforts??[]}function rw(e){return e[Math.floor(e.length/2)]}function li(e){if(sa(e)==="unsupported")return"off";const t=Uc(e);return t.length>0?e?.defaultEffort??rw(t):"on"}function oa(e){const t=Uc(e),n=sa(e);return t.length>0?n==="always-on"?[...t]:["off",...t]:n==="always-on"?["on"]:n==="unsupported"?["off"]:["on","off"]}function ol(e){return e.length===0?e:e.charAt(0).toUpperCase()+e.slice(1)}function uw(e){return e!=="off"}function cw(e,t){return oa(e).includes(t)}function Vl(e,t){return t==="off"?"off":t==="on"?li(e):t}function ri(e,t){return t??li(e)}function dw(e,t){if(e==="off")return{enabled:!1};if(e==="on")return{enabled:!0};const n=t?.at(-1);return n!==void 0&&e===n?{enabled:!0}:{enabled:!0,effort:e}}function pw(e,t,n){return!n||e===void 0?t:li(e)}const Ms=T(null),Do=T(!1);function jl(e){const t=Ms.value;!t||Do.value||(Ms.value=null,t.resolve(e))}async function fw(){const e=Ms.value;if(!(!e||Do.value)){if(!e.action){jl(!0);return}Do.value=!0;try{await e.action(),Ms.value===e&&(Ms.value=null),e.resolve(!0)}catch(t){Ms.value===e&&(Ms.value=null),e.reject(t)}finally{Do.value=!1}}}function mw(e){return Do.value?Promise.resolve(!1):(Ms.value&&jl(!1),new Promise((t,n)=>{Ms.value={...e,resolve:t,reject:n}}))}function xo(){return{current:Ms,busy:Do,confirm:mw,settle:jl,runAction:fw}}function vw(e){return e.startsWith("diff --git")||e.startsWith("index ")||e.startsWith("--- ")||e.startsWith("+++ ")||e.startsWith("new file mode")||e.startsWith("deleted file mode")||e.startsWith("old mode")||e.startsWith("new mode")||e.startsWith("similarity index")||e.startsWith("dissimilarity index")||e.startsWith("rename from")||e.startsWith("rename to")||e.startsWith("copy from")||e.startsWith("copy to")||e.startsWith("Binary files")}function gw(e){const t=[];if(!e)return t;let n=0,s=0,o=!1;for(const i of e.split(`
+`)){if(i.startsWith("diff --git")){o=!1;continue}if(!o&&vw(i))continue;if(i.startsWith("@@")){const f=/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@/.exec(i);f&&(n=Number.parseInt(f[1],10),s=Number.parseInt(f[2],10)),o=!0,t.push({type:"hunk",text:i});continue}if(!o||i.startsWith("\\"))continue;const u=i.charAt(0),p=i.slice(1);u==="+"?(t.push({type:"add",text:p,newNo:s}),s+=1):u==="-"?(t.push({type:"del",text:p,oldNo:n}),n+=1):u===" "&&(t.push({type:"context",text:p,oldNo:n,newNo:s}),n+=1,s+=1)}return t}function hw(e){if(e.draftModel&&e.draftModel.length>0)return e.draftModel;if(e.planModeOn&&e.planningModel&&e.planningModel.length>0)return e.planningModel;if(e.defaultModel&&e.defaultModel.length>0)return e.defaultModel}function Xr(e){return{text:e.text.trim(),attachments:[...e.attachments??[]]}}function yw(e,t,n=[]){const s=[],o=[];for(const u of e){const p=u.text.trim();p&&s.push(p),u.attachments?.length&&o.push(...u.attachments)}const i=t.trim();return i&&s.push(i),n.length&&o.push(...n),s.length===0&&o.length===0?null:{text:s.join(`
+
+`),attachments:o}}function Vc(e){return e.planArmed||e.planMode}function kw(e){return{planMode:e.planMode||e.planArmed,planArmed:!1}}function bw(e){return{planMode:!1,planArmed:!1}}const il="/sessions/";function Jr(e){const{pathname:t}=e;if(!t.startsWith(il))return;const n=t.slice(il.length);if(!(!n||n.includes("/")))try{const s=decodeURIComponent(n);return s.length>0?s:void 0}catch{return}}function ww(e){return e===void 0||e.length===0?"/":`${il}${encodeURIComponent(e)}`}const Sw=50,al=5,Cw=40402,_w=40410,Mw=40902,$w=2e3;function Ma(e){return Rn(e)&&e.code===Mw}const xw=40904;function Tw(e){return Rn(e)&&e.code===xw}const Iw=41301,Aw=413;function Pw(e){return Rn(e)?e.code===Iw||e.code===Aw:!1}const ro=Hn({}),Ai=Hn({}),$a=Hn({}),xa=Hn({}),ws=Hn(new Set),ia=new Map,Co=new Map,ji=new Map;let Ew=0;const co=new Map,Bw=3;let eu=0;function Rw(){return eu+=1,`${Date.now().toString(36)}-${eu}`}function Lw(e){return{generation:ia.get(e)??0,pending:(Co.get(e)?.size??0)>0}}function ll(e){const t=++Ew;ia.set(e,t);const n=Co.get(e)??new Set;return n.add(t),Co.set(e,n),t}function rl(e,t){const n=Co.get(e);if(n===void 0||(n.delete(t),n.size>0))return;Co.delete(e);const s=ji.get(e);ji.delete(e),s?.()}function Dw(e){ia.delete(e),Co.delete(e),ji.delete(e),co.delete(e)}function Ow(e,t){return!t.pending&&t.generation===(ia.get(e)??0)}function zw(e,t){if((Co.get(e)?.size??0)===0){t();return}ji.set(e,t)}function Fw(e,t){const{t:n}=St.global,{confirm:s}=xo(),{taskPoller:o,sideChat:i,modelProvider:u,pushOperationFailure:p,activity:f,sessionsKnownEmpty:v,setSessions:k,updateSession:x,upsertSessionFront:g,appendSession:m,forgetSession:$,setActiveSessionId:h,updateSessionMessages:y,nextOptimisticMsgId:S,getEventConn:B,syncSessionFromSnapshot:b,reopenSession:P,hasLoadedMessages:E,refreshSessionStatus:R,refreshSessionGoal:W,persistSessionProfile:Q,mergedWorkspaces:V,workspacesView:C,status:D,workspaceIdForSession:O,savePermissionToStorage:J,savePlanModeToStorage:ve,savePlanArmedToStorage:me,saveSwarmModeToStorage:ze,saveSupermoonModeToStorage:ie,saveGoalModeToStorage:le,draftModes:te,saveUnread:re,saveActiveWorkspaceToStorage:se,saveHiddenWorkspacesToStorage:he,goalErrorMessage:ae,resetFastMoon:F,initialized:Y,connectIssue:ke,selectedDiffPath:we,fileDiffLines:Le,fileDiffLoading:Ze}=t;let be=!1;async function pe(_){if(e.messagesLoadingMoreBySession[_])return;const z=e.messagesBySession[_];if(!z||z.length===0)return;const j=z[0].id;e.messagesLoadingMoreBySession={...e.messagesLoadingMoreBySession,[_]:!0},e.messagesLoadMoreErrorBySession={...e.messagesLoadMoreErrorBySession,[_]:!1};try{const ue=await De().listMessages(_,{beforeId:j,pageSize:Sw}),ye=[...ue.items].reverse();y(_,Te=>[...ye,...Te]),e.messagesHasMoreBySession={...e.messagesHasMoreBySession,[_]:ue.hasMore}}catch(ue){e.messagesLoadMoreErrorBySession={...e.messagesLoadMoreErrorBySession,[_]:!0},p("loadOlderMessages",ue,{sessionId:_})}finally{e.messagesLoadingMoreBySession={...e.messagesLoadingMoreBySession,[_]:!1}}}function ne(_){o.loadTasksForSession(_),K(_),R(_),W(_),Object.prototype.hasOwnProperty.call(u.skillsBySession.value,_)||u.loadSkillsForSession(_)}async function Z(_){const z=e.activeSessionId;if(z){we.value=_,Le.value=[],Ze.value=!0;try{const ue=await De().getFileDiff(z,_);if(we.value!==_)return;Le.value=gw(ue.diff)}catch(j){we.value===_&&(Le.value=[]),console.warn("[loadFileDiff] diff unavailable for",_,j)}finally{we.value===_&&(Ze.value=!1)}}}function oe(){we.value=null,Le.value=[],Ze.value=!1}async function K(_){try{const j=await De().getGitStatus(_);e.gitStatusBySession={...e.gitStatusBySession,[_]:j}}catch{}}async function Be(){try{const z=await De().getAuth();return e.authReady=z.ready,e.accountModel=z.defaultModel,e.managedProviderStatus=z.managedProvider?.status??null,ke.value=null,"proceed"}catch(_){return Rn(_)&&(_.code===401||_.code===Ec)?(ke.value=null,"server-auth-required"):(ke.value=(_ instanceof Error?_.message:String(_)).slice(0,140),"retry")}}async function Ve(){let _=!0;for(;;){const z=await Be();if(z!=="retry")return z;_&&(ke.value=null,_=!1),await new Promise(j=>{setTimeout(j,$w)})}}async function yt(){try{const _=De();e.config=await _.getConfig(),e.defaultModel=e.config?.defaultModel??e.accountModel??null}catch{e.defaultModel=e.accountModel??null}}async function dt(_){try{const j=await De().setConfig(_);return e.config=j,e.defaultModel=j.defaultModel??e.accountModel??null,!0}catch(z){return p("setConfig",z),!1}}const Me=100,xe=30,Se=720*60*1e3;async function Ae(){const _=De(),z=[];let j,ue;for(;;){let ye;try{ye=await _.listSessions({pageSize:Me,beforeId:j,excludeEmpty:!0})}catch(Te){if(z.length===0)throw Te;ue=Te;break}if(z.push(...ye.items),!ye.hasMore||ye.items.length===0)break;j=ye.items[ye.items.length-1].id}return{sessions:z,error:ue}}function Je(_){const z=new Map(e.sessions.map(j=>[j.id,j.usage]));k(_.map(j=>{const ue=z.get(j.id);return ue!==void 0&&Ga(j.usage)&&!Ga(ue)?{...j,usage:ue}:j}))}function ht(_){const z=[..._],j=new Set(z.map(ue=>ue.id));for(const ue of e.sessions)j.has(ue.id)||(z.push(ue),j.add(ue.id));return z.sort((ue,ye)=>new Date(ye.updatedAt).getTime()-new Date(ue.updatedAt).getTime()),z}async function qe(_){const z=De(),j=[],ue=Date.now(),ye=pt=>ue-new Date(pt.updatedAt).getTime();let Te,tt=!1,ft=!0,at;for(;;){let pt;try{pt=await z.listSessions({workspaceId:_,pageSize:al,beforeId:Te,excludeEmpty:!0})}catch(et){if(ft)throw et;at=et,tt=!0;break}if(tt=pt.hasMore,pt.items.length===0)break;const en=pt.items[pt.items.length-1],bt=ye(en)>=Se;if(!ft&&bt){const et=pt.items.findIndex(hn=>ye(hn)>=Se),Mt=et>=0?et+1:pt.items.length;j.push(...pt.items.slice(0,Mt)),tt=pt.hasMore||Mtqe(et.id))),j=[],ue=new Set,ye=new Map,Te=new Set;let tt;for(let et=0;etTe.has(et.id)).map(et=>et.root)),at=new Set(_.map(et=>et.id));for(const et of e.sessions)!(et.workspaceId!==void 0&&at.has(et.workspaceId)?Te.has(et.workspaceId):ft.has(et.cwd)||Te.has(O(et)))||ue.has(et.id)||(j.push(et),ue.add(et.id));const pt={},en={},bt={};for(const{id:et}of _){const Mt=ye.get(et);if(Mt===void 0){const hn=e.sessionsHasMoreByWorkspace[et],Vt=e.sessionsCursorByWorkspace[et],us=e.sessionsInitialCountByWorkspace[et];hn!==void 0&&(pt[et]=hn),Vt!==void 0&&(en[et]=Vt),us!==void 0&&(bt[et]=us);continue}pt[et]=Mt.hasMore,en[et]=Mt.items.length>0?Mt.items[Mt.items.length-1].id:void 0,bt[et]=Math.max(Mt.items.length,al)}return e.sessionsHasMoreByWorkspace=pt,e.sessionsCursorByWorkspace=en,e.sessionsInitialCountByWorkspace=bt,e.sessionsFullyLoaded=!1,j.sort((et,Mt)=>new Date(Mt.updatedAt).getTime()-new Date(et.updatedAt).getTime()),Te.size>0&&p("load",tt),j}async function Ue(_){if(e.sessionsLoadingMoreByWorkspace[_]||e.sessionsHasMoreByWorkspace[_]===!1)return;const z=e.sessionsCursorByWorkspace[_];if(z!==void 0){e.sessionsLoadingMoreByWorkspace={...e.sessionsLoadingMoreByWorkspace,[_]:!0};try{const j=await De().listSessions({workspaceId:_,pageSize:xe,beforeId:z,excludeEmpty:!0}),ue=new Set(e.sessions.map(Te=>Te.id)),ye=j.items.filter(Te=>!ue.has(Te.id));ye.length>0&&k([...e.sessions,...ye]),e.sessionsCursorByWorkspace={...e.sessionsCursorByWorkspace,[_]:j.items.length>0?j.items[j.items.length-1].id:z},e.sessionsHasMoreByWorkspace={...e.sessionsHasMoreByWorkspace,[_]:j.hasMore}}catch(j){p("loadMoreSessions",j)}finally{e.sessionsLoadingMoreByWorkspace={...e.sessionsLoadingMoreByWorkspace,[_]:!1}}}}async function ct(){if(e.sessionsFullyLoaded)return;const _=await Ae().catch(ue=>(console.warn("[kimi-web] loadAllSessions failed; search covers only loaded sessions",ue),null));if(_===null)return;const z=_.error===void 0?_.sessions:ht(_.sessions);if(Je(z),e.sessionsFullyLoaded=_.error===void 0,_.error!==void 0)return;const j={};for(const ue of e.workspaces)j[ue.id]=!1;e.sessionsHasMoreByWorkspace=j}async function it(){const _=await De().getMeta().catch(()=>null);_!==null&&(e.serverVersion=_.serverVersion,e.availableOpenInApps=_.openInApps,e.dangerousBypassAuth=_.dangerousBypassAuth,e.kimiOauthEnabled=_.kimiOauthEnabled,e.backend=_.backend,e.webTitle=_.webTitle??null)}async function Bt(){const _=Date.now();let z="accepted";tn("app:load:start"),e.loading=!0;const j=!Y.value;let ue=!0;try{if(j&&await Ve()==="server-auth-required"){ue=!1,z="auth-required";return}const ye=De();await Promise.all([ye.getHealth().catch(()=>null),it(),u.loadModels()]),j||await Be(),await yt(),await Ht();const Te=await He(),tt=Te??e.sessions;Te!==void 0&&Je(Te);const ft=tt[0],at=e.activeWorkspaceId;!(at!==null&&V.value.some(bt=>bt.id===at))&&ft&&ut(O(ft)),$n();const en=typeof window<"u"?Jr(window.location):void 0;!e.activeSessionId&&en!==void 0&&(e.sessions.some(et=>et.id===en)||await pn(en))&&await Ct(en,{urlMode:"replace"}),!e.activeSessionId&&tt.length>0&&await Ct(tt[0].id,{urlMode:"replace"})}catch(ye){z="failed",p("load",ye)}finally{e.loading=!1,ue&&(Y.value=!0),tn("app:load:complete",{status:z,sessionId:e.activeSessionId,sessionCount:e.sessions.length,workspaceCount:e.workspaces.length,durationMs:Date.now()-_})}}async function Ht(){try{const _=De(),[z,j]=await Promise.all([_.listWorkspaces().catch(()=>[]),_.getFsHome().catch(()=>({home:"",recentRoots:[]}))]);e.workspaces=ln(z),e.fsHome=j.home||null,e.recentRoots=j.recentRoots}catch{}}function ln(_){const z=wi();return Object.keys(z).length===0?_:_.map(j=>{const ue=z[j.root];return ue!==void 0?{...j,name:ue}:j})}function ut(_){e.activeWorkspaceId=_,se(_)}function nn(_){ut(_);const z=e.sessions.filter(j=>O(j)===_);if(z.length>0){const j=z[0];j&&j.id!==e.activeSessionId&&Ct(j.id)}else h(void 0),Ot(void 0,"push")}function sn(_){const z=wi()[_.root],j=z!==void 0?{..._,name:z}:_,ue=ps(j.root);e.hiddenWorkspaceRoots.some(tt=>ps(tt)===ue)&&(e.hiddenWorkspaceRoots=e.hiddenWorkspaceRoots.filter(tt=>ps(tt)!==ue),he(e.hiddenWorkspaceRoots));const ye=e.workspaces.findIndex(tt=>tt.id===j.id||tt.root===j.root);if(ye===-1){e.workspaces=[j,...e.workspaces];return}const Te=[...e.workspaces];Te[ye]=j,e.workspaces=Te}function Un(_){if(_.type==="workspaceCreated"||_.type==="workspaceUpdated"){sn(_.workspace);return}const z=e.workspaces.find(ue=>ue.id===_.workspaceId)?.root??_.root;if(z&&!e.hiddenWorkspaceRoots.includes(z)&&(e.hiddenWorkspaceRoots=[...e.hiddenWorkspaceRoots,z],he(e.hiddenWorkspaceRoots)),e.workspaces=e.workspaces.filter(ue=>ue.id!==_.workspaceId&&ue.root!==z),e.activeWorkspaceId===_.workspaceId||e.activeWorkspaceId===z){const ue=C.value[0]?.id??null;if(e.activeWorkspaceId=ue,ue)se(ue);else try{wo(Ge.activeWorkspace)}catch{}h(void 0),e.sessionLoading=!1,oe(),Ot(void 0,"replace")}}function Wt(){h(void 0),Ot(void 0,"push")}function Nn(_){ut(_),Wt(),oe()}async function rn(_){const z=V.value.find(et=>et.id===_);if(!z)return null;const j=e.thinking,ue=De();let ye,Te=z.root;try{const et=await ue.addWorkspace({root:z.root});ye=et.id,Te=et.root,sn(et)}catch{}const tt=u.draftModel.value??void 0,ft=te.planMode||e.config?.defaultPlanMode===!0&&!te.planModeTouched,at=hw({draftModel:tt,defaultModel:e.defaultModel,planningModel:e.config?.planningModel,planModeOn:ft}),pt=await ue.createSession({workspaceId:ye,cwd:Te,model:at});u.draftModel.value=null;const en=at!==void 0&&(!pt.model||pt.model.length===0)?{...pt,model:at}:pt;g(en),ut(pt.workspaceId??ye??_),await Ct(pt.id);const bt=pt.id;return j!==void 0&&(e.thinkingBySession={...e.thinkingBySession,[bt]:j}),te.planMode?(e.planModeBySession={...e.planModeBySession,[bt]:!0},ve(),Cs(e,bt)):e.config?.defaultPlanMode===!0&&!te.planModeTouched&&(e.planModeBySession={...e.planModeBySession,[bt]:!0},ve(),Cs(e,bt)),te.swarmMode&&(e.swarmModeBySession={...e.swarmModeBySession,[bt]:!0},ze(),Cs(e,bt)),te.supermoonMode&&(e.supermoonModeBySession={...e.supermoonModeBySession,[bt]:!0},ie(),Cs(e,bt)),te.goalMode&&(e.goalModeBySession={...e.goalModeBySession,[bt]:!0},le()),te.planArmed&&(e.planArmedBySession={...e.planArmedBySession,[bt]:!0},me()),te.planMode=!1,te.planArmed=!1,te.swarmMode=!1,te.supermoonMode=!1,te.goalMode=!1,te.planModeTouched=!1,bt}async function os(_,z,j){if(!ws.has(_)){ws.add(_);try{const ue=await rn(_);if(!ue)return;await on(ue,z,j)}catch(ue){p("startSessionAndSendPrompt",ue)}finally{ws.delete(_)}}}async function Vn(_,z,j,ue){if(!ws.has(_)){ws.add(_);try{const ye=await rn(_);if(!ye)return;const Te=e.planModeBySession[ye]??!1,tt=e.swarmModeBySession[ye]??!1,ft=e.supermoonModeBySession[ye]??!1,at=e.sessions.find(bt=>bt.id===ye),pt=(at?.model&&at.model.length>0?at.model:e.defaultModel)??void 0;if(!await Q({model:pt,planMode:Te,swarmMode:tt,supermoonMode:ft,permissionMode:e.permission},ye))return;await u.activateSkill(z,j,ye,ue)}catch(ye){p("startSessionAndActivateSkill",ye)}finally{ws.delete(_)}}}async function Qt(_,z){if(!ws.has(_)){ws.add(_);try{const j=await rn(_);if(!j)return;await i.openSideChatOn(j,z)}catch(j){p("startSessionAndOpenSideChat",j)}finally{ws.delete(_)}}}async function Ut(_){const z=_.trim();if(!z)return!1;const j=De();try{const ue=await j.addWorkspace({root:z});return sn(ue),Nn(ue.id),!0}catch(ue){return console.warn("[kimi-web] addWorkspaceByPath failed for",z,ue),!1}}async function kn(_){try{return await De().browseFs(_)}catch{return{path:"",parent:null,entries:[]}}}async function jn(){try{return await De().getFsHome()}catch{return{home:"",recentRoots:[]}}}function Ot(_,z){if(z==="none"||typeof window>"u"||!window.history)return;const j=ww(_);if(window.location.pathname!==j)try{z==="push"?window.history.pushState(null,"",j):window.history.replaceState(null,"",j)}catch{}}async function pn(_){try{const z=await De().getSession(_);return e.sessions.some(j=>j.id===z.id)||m(z),!0}catch{return!1}}function Mn(){const _=Jr(window.location);if(_===void 0){h(void 0);return}if(_!==e.activeSessionId){if(e.sessions.some(z=>z.id===_)){Ct(_,{urlMode:"none"});return}(async()=>{if(await pn(_)){await Ct(_,{urlMode:"none"});return}const z=e.sessions[0];z?await Ct(z.id,{urlMode:"replace"}):(h(void 0),Ot(void 0,"replace"))})()}}let Zt=!1;function $n(){Zt||typeof window>"u"||(Zt=!0,window.addEventListener("popstate",Mn))}async function Ct(_,z){const j=E(_),ue=!j&&v.has(_);v.delete(_);try{Ot(_,z?.urlMode??"push"),e.sessionLoading=!j&&!ue,h(_),F(),e.unreadBySession[_]&&(e.unreadBySession={...e.unreadBySession,[_]:!1},re({[_]:!1})),oe();const ye=e.sessions.find(Te=>Te.id===_);if(ye){const Te=O(ye);e.activeWorkspaceId!==Te&&ut(Te)}if(j){if(await P(_)==="not-found")return}else if(await b(_)==="not-found")return;ne(_)}catch(ye){p("selectSession",ye,{sessionId:_})}finally{e.activeSessionId===_&&(e.sessionLoading=!1)}}async function on(_,z,j){const ue=ll(_);e.inFlightBySession={...e.inFlightBySession,[_]:!0};const ye=S();try{const Te=De(),tt=[];z&&tt.push({type:"text",text:z});for(const Vt of j??[])Vt.kind==="video"?tt.push({type:"video",source:{kind:"file",fileId:Vt.fileId}}):Vt.kind==="file"?tt.push({type:"file",fileId:Vt.fileId,name:Vt.name??"",mediaType:Vt.mediaType||"application/octet-stream",size:Vt.size??0}):tt.push({type:"image",source:{kind:"file",fileId:Vt.fileId}});if(tt.length===0)return e.inFlightBySession={...e.inFlightBySession,[_]:!1},"rejected";const ft={id:ye,sessionId:_,role:"user",content:tt,createdAt:new Date().toISOString(),metadata:{"kimiWeb.optimisticUserMessage":!0}};y(_,Vt=>[...Vt,ft]);const at=e.sessions.find(Vt=>Vt.id===_),pt=(at?.model&&at.model.length>0?at.model:e.defaultModel)??void 0,en=e.swarmModeBySession[_]??!1,bt=e.supermoonModeBySession[_]??!1,et=e.goalModeBySession[_]??!1;if(et&&z){It(_);try{await Te.updateSession(_,{goalObjective:z.trim()})}catch(Vt){return p("createGoal",Vt,{sessionId:_}),e.inFlightBySession={...e.inFlightBySession,[_]:!1},y(_,us=>us.some(Us=>Us.id===ye)?us.filter(Us=>Us.id!==ye):us),"rejected"}}const Mt=Yt(_),hn=await Te.submitPrompt(_,{content:tt,model:pt,thinking:await u.resolveThinkingForPrompt(_,pt)??e.thinking,permissionMode:e.permission,planMode:Mt,swarmMode:en,supermoonMode:bt});return et&&(e.goalModeBySession={...e.goalModeBySession,[_]:!1},le()),e.promptIdBySession={...e.promptIdBySession,[_]:hn.promptId},y(_,Vt=>{const us=Vt.findIndex(Mp=>Mp.id===ye);if(us===-1)return Vt;const Us=[...Vt];return Us[us]={...Us[us],promptId:Us[us].promptId??hn.promptId},Us}),B()?.bindNextPromptId(_,hn.promptId),"ok"}catch(Te){return e.inFlightBySession={...e.inFlightBySession,[_]:!1},y(_,tt=>tt.some(ft=>ft.id===ye)?tt.filter(ft=>ft.id!==ye):tt),p("sendPrompt",Te,{sessionId:_}),Rn(Te)?"rejected":"uncertain"}finally{rl(_,ue)}}async function Xt(_,z){const j=e.activeSessionId;if(j){if(f.value!=="idle"||e.inFlightBySession[j]){vn(_,z);return}if((e.queuedBySession[j]?.length??0)>0){vn(_,z),wn(j);return}await on(j,_,z)}}async function _t(_,z,j,ue){if(f.value==="idle"&&!e.inFlightBySession[_]){await on(_,z,j)==="rejected"&&ue();return}const ye=[];z&&ye.push({type:"text",text:z});for(const at of j)at.kind==="video"?ye.push({type:"video",source:{kind:"file",fileId:at.fileId}}):at.kind==="file"?ye.push({type:"file",fileId:at.fileId,name:at.name??"",mediaType:at.mediaType||"application/octet-stream",size:at.size??0}):ye.push({type:"image",source:{kind:"file",fileId:at.fileId}});const Te=S(),tt={id:Te,sessionId:_,role:"user",content:ye,createdAt:new Date().toISOString(),metadata:{"kimiWeb.optimisticUserMessage":!0}};y(_,at=>[...at,tt]);const ft=ll(_);try{const at=De(),pt=e.sessions.find(et=>et.id===_),en=(pt?.model&&pt.model.length>0?pt.model:e.defaultModel)??void 0,bt=await at.submitPrompt(_,{content:ye,model:en,thinking:await u.resolveThinkingForPrompt(_,en)??e.thinking,permissionMode:e.permission,planMode:Yt(_),swarmMode:e.swarmModeBySession[_]??!1,supermoonMode:e.supermoonModeBySession[_]??!1});if(y(_,et=>{const Mt=et.findIndex(Vt=>Vt.id===Te);if(Mt===-1)return et;const hn=[...et];return hn[Mt]={...hn[Mt],promptId:hn[Mt].promptId??bt.promptId},hn}),bt.status!=="queued"){e.promptIdBySession={...e.promptIdBySession,[_]:bt.promptId},B()?.bindNextPromptId(_,bt.promptId);return}try{await at.steerPrompts(_,[bt.promptId])}catch{}}catch(at){y(_,pt=>pt.filter(en=>en.id!==Te)),Rn(at)&&ue(),p("steer",at,{sessionId:_})}finally{rl(_,ft)}}async function bn(_,z){const j=e.activeSessionId;if(!j)return;const ue=e.queuedBySession[j]??[],ye=yw(ue,_,z);if(ye===null)return;ue.length>0&&(e.queuedBySession={...e.queuedBySession,[j]:[]});const Te=()=>{if(ue.length===0)return;const tt=e.queuedBySession[j]??[];e.queuedBySession={...e.queuedBySession,[j]:[...ue,...tt]}};await _t(j,ye.text,ye.attachments,Te)}async function Pt(_){const z=e.activeSessionId;if(!z)return;const j=e.queuedBySession[z]??[],ue=j[_];if(!ue)return;e.queuedBySession={...e.queuedBySession,[z]:j.filter((tt,ft)=>ft!==_)};const ye=Xr(ue);if(ye.text.length===0&&ye.attachments.length===0)return;const Te=()=>{const ft=[...e.queuedBySession[z]??[]];ft.splice(Math.min(_,ft.length),0,ue),e.queuedBySession={...e.queuedBySession,[z]:ft}};await _t(z,ye.text,ye.attachments,Te)}async function un(_){const z=e.activeSessionId;if(!z)return;const j=e.queuedBySession[z]??[],ue=j[_];if(!ue)return;e.queuedBySession={...e.queuedBySession,[z]:j.filter((tt,ft)=>ft!==_)};const ye=Xr(ue);if(ye.text.length===0&&ye.attachments.length===0)return;if(await on(z,ye.text,ye.attachments)==="rejected"){const ft=[...e.queuedBySession[z]??[]];ft.splice(Math.min(_,ft.length),0,ue),e.queuedBySession={...e.queuedBySession,[z]:ft}}}async function On(_,z){try{const ue=await De().uploadFile({file:_,name:z});return{fileId:ue.id,name:ue.name,mediaType:ue.mediaType}}catch(j){return p("uploadImage",j),null}}function vn(_,z){const j=e.activeSessionId;if(!j)return;const ue=e.queuedBySession[j]??[],ye={text:_,attachments:z,id:Rw()};e.queuedBySession={...e.queuedBySession,[j]:[...ue,ye]}}function wn(_){const[z,...j]=e.queuedBySession[_]??[];z!==void 0&&(e.queuedBySession={...e.queuedBySession,[_]:j},on(_,z.text,z.attachments).then(ue=>{if(ue==="ok"){co.delete(_);return}if(ue==="uncertain"){co.delete(_);return}if(!e.sessions.some(at=>at.id===_)){co.delete(_);return}const ye=z.id??z.text,Te=co.get(_),tt=Te!==void 0&&Te.key===ye?Te.count+1:1;if(tt>=Bw){co.delete(_),(e.queuedBySession[_]?.length??0)>0&&wn(_);return}co.set(_,{key:ye,count:tt});const ft=e.queuedBySession[_]??[];e.queuedBySession={...e.queuedBySession,[_]:[z,...ft]}}))}function gn(_,z){const j=e.inFlightBySession[_]===!0;if(e.inFlightBySession={...e.inFlightBySession,[_]:!1},e.promptIdBySession[_]!==void 0){const ye={...e.promptIdBySession};delete ye[_],e.promptIdBySession=ye}return _===e.activeSessionId&&F(),(j||z?.turnWasActive===!0||(e.turnActiveBySession[_]??!1))&&wn(_),j}function zn(_,z){z.inFlightTurn!==null&&z.busy||gn(_)}async function xn(){const _=e.activeSessionId;if(!_)return;const z=e.sessions.find(ye=>ye.id===_);let j=e.promptIdBySession[_];if(j===void 0){const ye=z?.currentPromptId;ye!==void 0&&ye.length>0&&!ye.startsWith("pr_")&&(j=ye)}const ue=De();if(j!==void 0)try{if((await ue.abortPrompt(_,j)).aborted)return;const Te={...e.promptIdBySession};delete Te[_],e.promptIdBySession=Te}catch(ye){if(Rn(ye)&&ye.code===Cw){const Te={...e.promptIdBySession};delete Te[_],e.promptIdBySession=Te}else{p("abortCurrentPrompt",ye,{sessionId:_});return}}try{await ue.abortSession(_)}catch(ye){p("abortCurrentPrompt",ye,{sessionId:_})}}function cn(_,z){const j=e.approvalsBySession[_]??[];e.approvalsBySession={...e.approvalsBySession,[_]:j.filter(ue=>ue.approvalId!==z)}}function fn(_,z){const j=e.questionsBySession[_]??[];e.questionsBySession={...e.questionsBySession,[_]:j.filter(ue=>ue.questionId!==z)}}async function Jt(_,z){const j=e.activeSessionId;if(j&&!Ai[_]){Ai[_]=!0;try{const ue=De(),ye={decision:z.decision,scope:z.scope,feedback:z.feedback,selectedLabel:z.selectedLabel};await ue.respondApproval(j,_,ye),cn(j,_)}catch(ue){Ma(ue)?cn(j,_):p("respondApproval",ue,{sessionId:j})}finally{delete Ai[_]}}}async function Kn(_,z){const j=e.activeSessionId;if(j&&!ro[_]){ro[_]="answer";try{await De().respondQuestion(j,_,z),fn(j,_)}catch(ue){Ma(ue)?fn(j,_):p("respondQuestion",ue,{sessionId:j})}finally{delete ro[_]}}}async function Ce(_){const z=e.activeSessionId;if(z&&!ro[_]){ro[_]="dismiss";try{await De().dismissQuestion(z,_),fn(z,_)}catch(j){Ma(j)?fn(z,_):p("dismissQuestion",j,{sessionId:z})}finally{delete ro[_]}}}async function ge(_){const z=e.activeSessionId;if(z&&!$a[_]){$a[_]=!0;try{const j=De(),ue=(e.tasksBySession[z]??[]).find(Te=>Te.id===_)?.backgroundTaskId;await j.cancelTask(z,ue??_);const ye=e.tasksBySession[z]??[];e.tasksBySession={...e.tasksBySession,[z]:ye.map(Te=>Te.id===_?{...Te,status:"cancelled"}:Te)}}catch(j){Tw(j)||p("cancelTask",j,{sessionId:z})}finally{delete $a[_]}}}async function We(_){const z=e.activeSessionId;if(z&&!xa[_]){xa[_]=!0;try{const j=De(),ue=(e.tasksBySession[z]??[]).find(tt=>tt.id===_)?.backgroundTaskId,ye=await j.detachTask(z,ue??_),Te=e.tasksBySession[z]??[];e.tasksBySession={...e.tasksBySession,[z]:Te.map(tt=>tt.id===_?{...tt,status:ye.status,runInBackground:!0,backgroundTaskId:ue??tt.backgroundTaskId??_}:tt)}}catch(j){p("detachTask",j,{sessionId:z})}finally{delete xa[_]}}}function ot(_){const z=e.activeSessionId;z?(e.planModeBySession={...e.planModeBySession,[z]:_},Cs(e,z),ve(),Q({planMode:_})):(te.planMode=_,te.planModeTouched=!0)}function zt(){const _=e.activeSessionId,z=_?e.planModeBySession[_]??!1:te.planMode;ot(!z)}function Ft(){const _=e.activeSessionId;_?(e.planArmedBySession={...e.planArmedBySession,[_]:!0},me(),e.goalModeBySession[_]&&(e.goalModeBySession={...e.goalModeBySession,[_]:!1},le())):(te.planArmed=!0,te.goalMode=!1)}function Rt(){const _=e.activeSessionId,z=_?{planMode:e.planModeBySession[_]??!1,planArmed:e.planArmedBySession[_]??!1}:{planMode:te.planMode,planArmed:te.planArmed},j=bw();_?(z.planMode&&ot(!1),z.planArmed&&(e.planArmedBySession={...e.planArmedBySession,[_]:!1},me())):(z.planMode&&(te.planModeTouched=!0),te.planMode=j.planMode,te.planArmed=j.planArmed)}function Tt(){const _=e.activeSessionId,z=_?{planMode:e.planModeBySession[_]??!1,planArmed:e.planArmedBySession[_]??!1}:{planMode:te.planMode,planArmed:te.planArmed};Vc(z)?Rt():Ft()}function Yt(_){const z={planMode:e.planModeBySession[_]??!1,planArmed:e.planArmedBySession[_]??!1},j=kw(z);return(j.planMode!==z.planMode||j.planArmed!==z.planArmed)&&(e.planModeBySession={...e.planModeBySession,[_]:j.planMode},e.planArmedBySession={...e.planArmedBySession,[_]:j.planArmed},Cs(e,_),ve(),me(),j.planMode!==z.planMode&&Q({planMode:j.planMode},_)),j.planMode}function It(_){e.planModeBySession[_]&&(e.planModeBySession={...e.planModeBySession,[_]:!1},Cs(e,_),ve(),Q({planMode:!1},_)),e.planArmedBySession[_]&&(e.planArmedBySession={...e.planArmedBySession,[_]:!1},me())}function Tn(_){const z=e.activeSessionId;z?(e.swarmModeBySession={...e.swarmModeBySession,[z]:_},Cs(e,z),ze(),Q({swarmMode:_})):te.swarmMode=_}async function gs(){const _=e.activeSessionId,j=!(_?e.swarmModeBySession[_]??!1:te.swarmMode);j&&e.permission==="manual"&&!await s({title:n("workspace.swarmEnableConfirm"),variant:"primary"})||Tn(j)}function In(_,z){e.supermoonModeBySession={...e.supermoonModeBySession,[z]:_},Cs(e,z),ie(),_?hs(z):ys(z),Q({supermoonMode:_},z)}function is(_){const z=e.activeSessionId;z?In(_,z):te.supermoonMode=_}function Gn(){const _=e.activeSessionId,z=_?e.supermoonModeBySession[_]??!1:te.supermoonMode;is(!z)}function hs(_){const z=u.models.value.find(Te=>Te.id===D.value.modelId),j=z?.supportEfforts??[];if(j.length===0)return;const ue=j[j.length-1],ye=ri(z,e.thinking);u.setThinking(ue),e.supermoonPreviousEffortBySession={...e.supermoonPreviousEffortBySession,[_]:ye}}function ys(_){const z=e.supermoonPreviousEffortBySession[_];if(z===void 0)return;const j={...e.supermoonPreviousEffortBySession};delete j[_],e.supermoonPreviousEffortBySession=j;try{u.setThinking(z)}catch(ue){p("setSupermoonMode",ue,{sessionId:_})}}function $s(_){const z=e.activeSessionId;z?(e.goalModeBySession={...e.goalModeBySession,[z]:_},le(),_&&It(z)):(te.goalMode=_,_&&(te.planMode=!1,te.planModeTouched=!0,te.planArmed=!1))}function xs(){const _=e.activeSessionId,z=_?e.goalModeBySession[_]??!1:te.goalMode;$s(!z)}async function An(_){const z=_.trim();if(!z||e.permission==="manual"&&!await s({title:n("workspace.goalStartConfirm",{objective:z}),variant:"primary"}))return;let j=e.activeSessionId;if(!j){const ue=e.activeWorkspaceId,ye=ue&&C.value.some(Te=>Te.id===ue)?ue:C.value[0]?.id??null;if(!ye)return;try{j=await rn(ye)??void 0}catch(Te){p("createGoal",Te);return}if(!j)return}It(j);try{await De().updateSession(j,{goalObjective:z})}catch(ue){p("createGoal",ue,{sessionId:j,message:ae(ue)});return}e.goalModeBySession[j]&&(e.goalModeBySession={...e.goalModeBySession,[j]:!1},le()),e.activeSessionId===j?await Xt(z):await on(j,z)}function qs(_){const z=e.activeSessionId;z&&Promise.resolve(De().updateSession(z,{goalControl:_})).catch(j=>{p("controlGoal",j,{sessionId:z,message:ae(j)})})}function oo(_){e.permission=_,J(_),Q({permissionMode:_})}function io(_){const z=[...e.warnings];z.splice(_,1),e.warnings=z}async function as(_,z){try{await De().updateSession(_,{title:z}),x(_,ue=>({...ue,title:z}))}catch(j){p("renameSession",j,{sessionId:_})}}async function ao(_){const z=await De().generateSessionTitle(_,{force:!0,source:"digest"});return z!==null&&x(_,j=>({...j,title:z})),z}async function Ts(_,z){const j=e.workspaces.find(ye=>ye.id===_)?.root,ue=()=>{e.workspaces=e.workspaces.map(ye=>ye.id===_?{...ye,name:z}:ye)};try{if(await De().updateWorkspace(_,{name:z}),j!==void 0){const ye=wi();j in ye&&(delete ye[j],dr(ye))}ue()}catch(ye){if(j!==void 0&&Rn(ye)&&ye.code===_w){dr({...wi(),[j]:z}),ue();return}p("renameWorkspace",ye)}}async function Is(_){const z=e.workspaces.find(Te=>Te.id===_)?.root??V.value.find(Te=>Te.id===_)?.root??_,j=e.activeSessionId?e.sessions.find(Te=>Te.id===e.activeSessionId):void 0,ue=e.activeWorkspaceId===_||e.activeWorkspaceId===z,ye=!!(j&&(j.cwd===z||j.workspaceId===_||O(j)===_));z&&!e.hiddenWorkspaceRoots.includes(z)&&(e.hiddenWorkspaceRoots=[...e.hiddenWorkspaceRoots,z],he(e.hiddenWorkspaceRoots));try{await De().deleteWorkspace(_)}catch(Te){console.warn("[kimi-web] deleteWorkspace registry cleanup failed for",_,Te)}if(e.workspaces=e.workspaces.filter(Te=>Te.id!==_&&Te.root!==z),ue||ye){const Te=C.value[0]?.id??null;if(e.activeWorkspaceId=Te,Te)se(Te);else try{wo(Ge.activeWorkspace)}catch{}}(ue||ye)&&(h(void 0),e.sessionLoading=!1,oe(),Ot(void 0,"replace"))}async function ks(_){try{await De().archiveSession(_),$(_),i.clearSideChatForSession(_);const{[_]:j,...ue}=e.sideChatUserMessageIdsBySession;if(e.sideChatUserMessageIdsBySession=ue,e.activeSessionId===_){const ye=e.sessions[0];ye?await Ct(ye.id,{urlMode:"replace"}):(h(void 0),Ot(void 0,"replace"))}}catch(z){p("archiveSession",z,{sessionId:_})}}function Hs(_){e.warnings=[...e.warnings,_]}function Qn(_,z){e.warnings=[...e.warnings.filter(j=>j!==_),...z===void 0?[]:[z]]}async function Yn(_){if(be)return;const z=_??e.activeSessionId;if(!z){const ye=n("commands.export.noSession");tn("export:failed",{status:"no-session"}),p("exportSession",new Error(ye),{message:ye});return}be=!0;const j=Date.now();tn("export:start",{sessionId:z});const ue={severity:"info",title:n("commands.export.started"),sticky:!0};Hs(ue);try{const ye=Vy(),{blob:Te,fileName:tt}=await De().exportSession(z,ye);if(typeof document>"u")throw new Error("Document is unavailable");const ft=URL.createObjectURL(Te);let at;try{at=document.createElement("a"),at.href=ft,at.download=tt,document.body.append(at),at.click()}finally{at?.remove(),setTimeout(()=>{try{URL.revokeObjectURL(ft)}catch{}},0)}Qn(ue,{severity:"success",title:n("commands.export.done")}),tn("export:accepted",{sessionId:z,status:"accepted",zipBytes:Te.size,durationMs:Date.now()-j})}catch(ye){const Te=typeof ye=="object"&&ye!==null?ye:void 0;tn("export:failed",{sessionId:z,status:"failed",durationMs:Date.now()-j,errorName:typeof Te?.name=="string"?Te.name:typeof ye,errorCode:typeof Te?.code=="number"?Te.code:void 0,requestId:typeof Te?.requestId=="string"?Te.requestId:void 0,phase:typeof Te?.phase=="string"?Te.phase:void 0,httpStatus:typeof Te?.status=="number"?Te.status:void 0}),Qn(ue,void 0),Pw(ye)?p("exportSession",ye,{sessionId:z,title:n("commands.export.tooLarge")}):p("exportSession",ye,{sessionId:z})}finally{be=!1}}async function ls(_){try{const z=await De().restoreSession(_);return g(z),!0}catch(z){return p("restoreSession",z,{sessionId:_}),!1}}function Zn(_){return De().listSessions({archivedOnly:!0,beforeId:_?.beforeId,pageSize:_?.pageSize??50})}async function Ie(){try{await De().logout(),await Be(),await Bt()}catch(_){p("logout",_)}}function U(_){const z=e.activeSessionId;z&&De().compactSession(z,_).catch(j=>{p("compact",j,{sessionId:z})})}async function A(_){const z=_??e.activeSessionId;if(z)try{const j=await De().forkSession(z);g(j),await Ct(j.id)}catch(j){p("fork",j,{sessionId:z})}}async function _e(_=1){const z=e.activeSessionId;if(!z)return null;const j=(()=>{const ue=e.messagesBySession[z]??[];for(let ye=ue.length-1;ye>=0;ye--){const Te=ue[ye];if(Te.role==="user"&&!(Te.metadata?.origin&&Te.metadata.origin.kind!=="user"))return Te.content.filter(tt=>tt.type==="text").map(tt=>tt.text).join(`
+`)}return null})();try{return await De().undoSession(z,_),await b(z),j}catch(ue){return p("undo",ue,{sessionId:z}),null}}function $e(_){const z=e.activeSessionId;if(!z)return;const j=e.queuedBySession[z]??[];if(_<0||_>=j.length)return;const ue=[...j];ue.splice(_,1),e.queuedBySession={...e.queuedBySession,[z]:ue}}function N(_,z){const j=e.activeSessionId;if(!j)return;const ue=e.queuedBySession[j]??[];if(_===z||_<0||_>=ue.length||z<0||z>=ue.length)return;const ye=[...ue],[Te]=ye.splice(_,1);Te!==void 0&&(ye.splice(z,0,Te),e.queuedBySession={...e.queuedBySession,[j]:ye})}async function G(_){const z=e.activeSessionId;if(!z)return[];try{return(await De().listDirectory(z,{path:_,includeGitStatus:!0})).items}catch{return[]}}async function ce(_){const z=e.activeSessionId;if(!z)return null;try{const ue=await De().readFile(z,{path:_});return{path:ue.path,content:ue.content,encoding:ue.encoding,mime:ue.mime,languageId:ue.languageId,isBinary:ue.isBinary,size:ue.size,lineCount:ue.lineCount}}catch(j){return console.warn("[kimi-web] readFileContent failed for",_,j),null}}const nt=10485760;function rt(_){const z=e.activeSessionId;return z?De().getFileDownloadUrl(z,_):null}async function Lt(_,z){const j=e.activeSessionId;if(!j)return!1;try{return await De().openFile(j,{path:_,line:z}),!0}catch(ue){return p("openFile",ue,{sessionId:j}),!1}}async function dn(_,z,j){const ue=e.activeSessionId;if(!ue)return;const ye=z??(D.value.cwd||".");try{await De().openInApp(ue,_,ye,j)}catch(Te){p("openInApp",Te,{sessionId:ue})}}async function rs(_){const z=e.activeSessionId;if(!z)return!1;try{return await De().revealFile(z,{path:_}),!0}catch(j){return p("revealFile",j,{sessionId:z}),!1}}async function bs(_){if(/^(https?:|data:|blob:)/i.test(_))return _;const z=e.activeSessionId;if(!z)return _;let j=_;if(j.startsWith("/")){const ue=e.sessions.find(ye=>ye.id===z)?.cwd;if(ue&&(j===ue||j.startsWith(ue.endsWith("/")?ue:`${ue}/`))){if(j=j.slice(ue.length).replace(/^\//,""),!j)return _}else return _}if(j.startsWith("/")||j.startsWith("~")||j.includes(".."))return _;try{const ye=await De().readFile(z,{path:j,length:nt});return!ye.isBinary||ye.encoding!=="base64"||ye.truncated?_:`data:${ye.mime};base64,${ye.content}`}catch{return _}}async function lr(_){const z=e.sessions.find(ue=>ue.id===e.activeSessionId),j=z===void 0?e.activeWorkspaceId:O(z);if(!j)return[];try{return(await De().searchFiles(j,{query:_,limit:20})).items.map(Te=>({path:Te.path,name:Te.name}))}catch{return[]}}return{loadFileDiff:Z,clearFileDiff:oe,loadGitStatus:K,checkAuth:Be,loadConfig:yt,updateConfig:dt,listAllSessionsGlobal:Ae,load:Bt,refreshServerMeta:it,loadWorkspaces:Ht,loadMoreSessions:Ue,loadAllSessions:ct,selectWorkspace:ut,openWorkspace:nn,upsertWorkspacePreserveOrder:sn,applyWorkspaceEvent:Un,clearActiveSession:Wt,openWorkspaceDraft:Nn,startSessionAndSendPrompt:os,startSessionAndActivateSkill:Vn,startSessionAndOpenSideChat:Qt,addWorkspaceByPath:Ut,browseFs:kn,getFsHome:jn,writeSessionUrl:Ot,fetchSessionIntoList:pn,onSessionRoutePopState:Mn,bindSessionRoute:$n,selectSession:Ct,submitPromptInternal:on,finishPromptLocal:gn,localTurnStartState:Lw,isLocalTurnSnapshotCurrent:Ow,afterLocalTurnStartsSettle:zw,handleSessionSnapshot:zn,sendPrompt:Xt,steerPrompt:bn,steerQueuedPrompt:Pt,sendQueuedPrompt:un,uploadImage:On,enqueue:vn,unqueue:$e,reorderQueue:N,abortCurrentPrompt:xn,respondApproval:Jt,respondQuestion:Kn,dismissQuestion:Ce,pendingQuestionActions:ro,pendingApprovalActions:Ai,cancelTask:ge,detachTask:We,setPlanMode:ot,togglePlanMode:zt,armPlanMode:Ft,dismissPlanMode:Rt,togglePlanArm:Tt,setSwarmMode:Tn,toggleSwarmMode:gs,setSupermoonMode:is,toggleSupermoonMode:Gn,pinSupermoonEffort:hs,restoreSupermoonEffort:ys,setGoalMode:$s,toggleGoalMode:xs,createGoal:An,controlGoal:qs,setPermission:oo,dismissWarning:io,renameSession:as,regenerateSessionTitle:ao,renameWorkspace:Ts,deleteWorkspace:Is,archiveSession:ks,exportSession:Yn,restoreSession:ls,loadArchivedSessions:Zn,logout:Ie,compact:U,forkSession:A,undo:_e,listDir:G,readFileContent:ce,getFileDownloadUrl:rt,openWorkspaceFile:Lt,openInApp:dn,revealWorkspaceFile:rs,resolveImageUrl:bs,searchFiles:lr,loadOlderMessages:pe,refreshSessionSidecars:ne,isStartingFirstPrompt:()=>ws.size>0}}const jc=Ge.starredModels,tu=new Error("profile persist failed");function Nw(){try{const e=Dt(jc);if(!e)return[];const t=JSON.parse(e);if(Array.isArray(t)&&t.every(n=>typeof n=="string"))return t}catch{}return[]}function Ww(e){try{Nt(jc,JSON.stringify(e))}catch{}}function qw(e,t){const{pushOperationFailure:n,refreshSessionStatus:s,persistSessionProfile:o,activity:i,updateSession:u,updateSessionMessages:p}=t,f=T([]),v=T(Nw()),k=T({}),x=T({}),g=T([]),m=T(null);function $(F){if(!(F==null||F.length===0))return f.value.find(Y=>Y.id===F)??f.value.find(Y=>Y.model===F)}function h(){const F=e.activeSessionId?e.sessions.find(ke=>ke.id===e.activeSessionId):void 0,Y=F===void 0?m.value??e.defaultModel:F.model||e.defaultModel;return $(Y)?.id??Y??void 0}function y(F){if(F===void 0)return;const Y=$(F);return Y===void 0?void 0:li(Y)}function S(F,Y){const ke=F==null?void 0:e.thinkingBySession[F];return ke!==void 0&&cw(Y,ke)?ke:li(Y)}function B(F,Y){if(Y===void 0)return;const ke=$(Y);return ke===void 0?void 0:S(F,ke)}async function b(F,Y){return F!=null&&e.thinkingBySession[F]===void 0&&await s(F),B(F,Y)}function P(F){e.thinking=F;const Y=e.activeSessionId;return F!==void 0&&Y!==null&&Y!==void 0&&(e.thinkingBySession={...e.thinkingBySession,[Y]:F}),F}Ne([()=>e.activeSessionId,()=>h(),()=>{const F=e.activeSessionId;return F==null?void 0:e.thinkingBySession[F]}],()=>{const F=$(h());F!==void 0&&(e.thinking=S(e.activeSessionId,F))});function E(F){De().setConfig({thinking:dw(F,$(h())?.supportEfforts)}).catch(Y=>n("setConfig",Y))}async function R(F){try{const ke=await De().listSkills(F);k.value={...k.value,[F]:ke}}catch{}}async function W(F){try{const ke=await De().listSkillsForWorkspace(F);x.value={...x.value,[F]:ke}}catch{}}async function Q(){try{const F=De();f.value=await F.listModels();const Y=$(h());Y!==void 0&&(e.thinking=S(e.activeSessionId,Y))}catch(F){n("loadModels",F)}}async function V(){try{const F=De();g.value=await F.listProviders()}catch(F){n("loadProviders",F)}}async function C(F){const Y=e.activeSessionId,ke=$(F),we=e.thinking,Le=Y?e.sessions.find(pe=>pe.id===Y)?.model:void 0,Ze=h()!==(ke?.id??F),be=pw(ke,we,Ze);if(!Y)return m.value=F,e.thinking=be,be!==we&&be!==void 0&&E(be),!0;u(Y,pe=>({...pe,model:F})),be!==we&&(e.thinking=be,be!==void 0&&(e.thinkingBySession={...e.thinkingBySession,[Y]:be}));try{await De().updateSession(Y,{model:F,thinking:be!==we?be:void 0})}catch(pe){return u(Y,ne=>({...ne,model:Le??ne.model})),be!==we&&(e.thinking=we,we!==void 0&&(e.thinkingBySession={...e.thinkingBySession,[Y]:we})),n("setModel",pe,{sessionId:Y}),!1}return be!==we&&be!==void 0&&E(be),await s(Y),!0}function D(F){const Y=new Set(v.value);Y.has(F)?Y.delete(F):Y.add(F),v.value=Array.from(Y),Ww(v.value)}async function O(F,Y,ke,we){const Le=ke??e.activeSessionId;if(!Le)return;const Ze=i.value==="idle"&&!e.inFlightBySession[Le],be=`msg_skill_opt_${Date.now().toString(36)}`,pe=Ze?ll(Le):void 0;if(Ze){e.inFlightBySession={...e.inFlightBySession,[Le]:!0};const ne={id:be,sessionId:Le,role:"user",content:[{type:"text",text:`/${F}${Y?` ${Y}`:""}`}],createdAt:new Date().toISOString(),metadata:{"kimiWeb.optimisticUserMessage":!0,origin:{kind:"skill_activation",trigger:"user-slash",skillName:F,skillArgs:Y}}};p(Le,Z=>[...Z,ne])}try{const ne=e.sessions.find(K=>K.id===Le)?.model,Z=(ne&&ne.length>0?ne:e.defaultModel)??void 0;if(!await o({thinking:await b(Le,Z)??e.thinking},Le))throw tu;await De().activateSkill(Le,F,Y,we)}catch(ne){Ze&&(e.inFlightBySession={...e.inFlightBySession,[Le]:!1},p(Le,Z=>Z.filter(oe=>oe.id!==be))),ne!==tu&&n("activateSkill",ne,{sessionId:Le})}finally{pe!==void 0&&rl(Le,pe)}}async function J(F){try{await De().addProvider(F),await Promise.all([V(),Q()])}catch(Y){n("addProvider",Y)}}async function ve(F){try{await De().deleteProvider(F),await Promise.all([V(),Q()])}catch(Y){n("deleteProvider",Y)}}async function me(F){try{const Y=await De().refreshProvider(F);for(const ke of Y.failed)n("refreshProvider",new Error(ke.reason),{message:ke.provider});await Promise.all([V(),Q()])}catch(Y){n("refreshProvider",Y)}}async function ze(){try{const F=await De().refreshAllProviders();for(const Y of F.failed)n("refreshAllProviders",new Error(Y.reason),{message:Y.provider});await Promise.all([V(),Q()])}catch(F){n("refreshAllProviders",F)}}async function ie(F){try{await De().importCatalogProvider(F),await Promise.all([V(),Q()])}catch(Y){n("importCatalogProvider",Y)}}async function le(F){try{await De().importRegistry(F),await Promise.all([V(),Q()])}catch(Y){n("importRegistry",Y)}}async function te(F){try{return await De().startOAuthLogin(F)}catch{return null}}async function re(){try{return await De().resolveOAuthRegion()}catch{return null}}async function se(){try{return await De().pollOAuthLogin()}catch(F){return console.warn("[kimi-web] pollOAuthLogin failed",F),null}}async function he(){try{await De().cancelOAuthLogin()}catch{}}function ae(F){const Y=P(F);o({thinking:Y}),Y!==void 0&&E(Y)}return{models:f,starredModelIds:v,providers:g,draftModel:m,skillsBySession:k,skillsByWorkspace:x,loadSkillsForSession:R,loadSkillsForWorkspace:W,loadModels:Q,loadProviders:V,setModel:C,thinkingLevelForModelId:y,thinkingLevelForSessionId:B,resolveThinkingForPrompt:b,toggleStarModel:D,activateSkill:O,addProvider:J,deleteProvider:ve,refreshProvider:me,refreshAllProviders:ze,importCatalogProvider:ie,importRegistry:le,startOAuthLogin:te,resolveOAuthRegion:re,pollOAuthLogin:se,cancelOAuthLogin:he,setThinking:ae}}const Hw=/^read[_-]?media(?:file)?$/i,Uw=/^data:([^;]+);base64,(.*)$/s,Vw=/^<(image|video|audio)\s+path="([^"]+)">$/,jw=/^<(image|video|audio)\s+path="([^"]+)">(?:<\/\1>)?$/,Kw=/Mime type:\s*([^.\s]+)/i,Gw=/Size:\s*(\d+)\s*bytes/i,Qw=/Original dimensions:\s*(\d+)x(\d+)\s*pixels/i,Yw="Image compressed to fit model limits:",Zw=/Image compressed to fit model limits:[\s\S]*?<\/system>/g;function Xw(e){return e.includes(Yw)?e.replace(Zw,""):e}function Jw(e){return e.replaceAll(""",'"').replaceAll("<","<").replaceAll(">",">").replaceAll("&","&")}function e4(e){const t=jw.exec(e.trim());return t?{kind:t[1],path:Jw(t[2])}:null}const Kc=/^f_(?:[0-9A-Za-z]{26}|[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12})$/,t4=/^f_(?:[0-9A-Za-z]{26}|[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12})(?=-)/;function n4(e){const t=e.split(/[\\/]/).at(-1)??"",n=t.lastIndexOf("."),s=n>0?t.slice(0,n):t;return Kc.test(s)?s:void 0}const s4=/^Attached file "(.+)" \(([^,]+), (\d+) bytes\): (.+) — open it with the Read tool$/;function o4(e){const t=s4.exec(e.trim());if(!t)return null;const n=(t[4]??"").split(/[\\/]/).at(-1)??"",s=t4.exec(n)?.[0];return{name:t[1],mediaType:t[2],size:Number(t[3]),fileId:s!==void 0&&Kc.test(s)?s:void 0}}function i4(e){if(e.length===0)return 0;const t=e.endsWith("==")?2:e.endsWith("=")?1:0;return Math.floor(e.length*3/4)-t}function a4(e){if(Array.isArray(e))return e;if(typeof e!="string")return null;try{const t=JSON.parse(e);return Array.isArray(t)?t:null}catch{return null}}function l4(e){const t=e.type,n=t==="image_url"?"image":t==="video_url"?"video":t==="audio_url"?"audio":null;if(n===null)return null;const o=e[n==="image"?"imageUrl":n==="video"?"videoUrl":"audioUrl"];if(typeof o!="object"||o===null)return null;const i=o.url;return typeof i=="string"?{kind:n,url:i}:null}function r4(e,t){if(!Hw.test(e))return;const n=a4(t);if(n===null)return;let s,o,i,u,p,f=null;for(const k of n){if(typeof k!="object"||k===null)continue;const x=k;if(x.type==="text"&&typeof x.text=="string"){const m=x.text,$=Vw.exec(m);$&&(o=$[1],s=$[2]);const h=Kw.exec(m);h?.[1]&&(i=h[1]);const y=Gw.exec(m);y?.[1]&&(u=Number(y[1]));const S=Qw.exec(m);S?.[1]&&S[2]&&(p=`${S[1]}x${S[2]}`);continue}const g=l4(x);g&&(f=g)}if(f===null)return;const v=Uw.exec(f.url);return v?.[1]&&(i=v[1]),v?.[2]&&(u=i4(v[2])),{kind:f.kind??o??"image",url:f.url,path:s,mimeType:i,bytes:Number.isFinite(u)?u:void 0,dimensions:p}}function u4(e){if(e!=null){if(typeof e=="string")return e.split(`
+`);if(Array.isArray(e)){const t=[];for(const n of e)if(typeof n=="string")t.push(...n.split(`
+`));else if(n&&typeof n=="object"){const s=n;s.type==="text"&&typeof s.text=="string"?t.push(...s.text.split(`
+`)):s.type==="think"&&typeof s.think=="string"?t.push(...s.think.split(`
+`)):s.type==="image_url"||s.type==="image"?t.push("[image]"):typeof s.type=="string"?t.push(`[${s.type}]`):t.push(JSON.stringify(n))}return t.length>0?t:void 0}return[JSON.stringify(e)]}}function c4(e){return{id:e.id,toolCallId:e.parentToolCallId,name:e.description,subagentType:e.subagentType,phase:e.subagentPhase??(e.status==="completed"?"completed":e.status==="failed"?"failed":"working"),status:e.status,summary:e.outputPreview,outputLines:e.outputLines,text:e.text,suspendedReason:e.suspendedReason,swarmIndex:e.swarmIndex}}function d4(e,t){const n=e.split(`
+`),s=t.split(`
+`),o=[];return n.forEach((i,u)=>{o.push({kind:"rem",gutter:String(u+1),text:`- ${i}`})}),s.forEach((i,u)=>{o.push({kind:"add",gutter:String(u+1),text:`+ ${i}`})}),o}function p4(e){const t=e.display??{},n=typeof t.kind=="string"?t.kind:"";if(n==="diff"){const s=typeof t.path=="string"?t.path:"";return Array.isArray(t.diff)?{kind:"diff",path:s,diff:t.diff}:typeof t.old_text=="string"&&typeof t.new_text=="string"?{kind:"diff",path:s,diff:d4(t.old_text,t.new_text)}:{kind:"diff",path:s,diff:[]}}if(n==="shell"||n==="command")return{kind:"shell",command:typeof t.command=="string"?t.command:e.action,cwd:typeof t.cwd=="string"?t.cwd:void 0,danger:typeof t.danger=="string"?t.danger:void 0};if(n==="file_content"||n==="file")return{kind:"file",path:typeof t.path=="string"?t.path:"",content:typeof t.content=="string"?t.content:"",language:typeof t.language=="string"?t.language:void 0};if(n==="file_op"||n==="fileop")return{kind:"fileop",op:typeof t.operation=="string"?t.operation:typeof t.op=="string"?t.op:n,path:typeof t.path=="string"?t.path:"",detail:typeof t.detail=="string"?t.detail:void 0};if(n==="url_fetch"||n==="url")return{kind:"url",method:typeof t.method=="string"?t.method:void 0,url:typeof t.url=="string"?t.url:e.action};if(n==="search")return{kind:"search",query:typeof t.query=="string"?t.query:e.action,scope:typeof t.scope=="string"?t.scope:void 0};if(n==="invocation"||n==="agent_call"||n==="skill_call")return{kind:"invocation",kind2:typeof t.kind=="string"?t.kind:n,name:typeof t.name=="string"?t.name:e.toolName,description:typeof t.description=="string"?t.description:void 0};if(n==="todo"||n==="todo_list")return{kind:"todo",items:(Array.isArray(t.items)?t.items:[]).map(i=>{const u=i??{};return{title:typeof u.title=="string"?u.title:"",status:typeof u.status=="string"?u.status:"pending"}})};if(n==="plan_review"){const s=typeof t.plan=="string"?t.plan:"",o=typeof t.path=="string"?t.path:void 0,u=(Array.isArray(t.options)?t.options:[]).map(p=>{const f=p??{},v=typeof f.label=="string"?f.label:"";if(!v)return null;const k=typeof f.description=="string"?f.description:void 0;return{label:v,description:k}}).filter(p=>p!==null);return{kind:"plan_review",plan:s,path:o,options:u.length>0?u:void 0}}return{kind:"generic",summary:e.action}}function f4(e){const t=`
+`,n=`
+ `,s=e.indexOf(t),o=e.lastIndexOf(n);return s>=0&&o>=s+t.length?e.slice(s+t.length,o):m4(e)}function m4(e){const t=e.split(`
+`);return t.length>=2&&t[0]?.startsWith(""?t.slice(1,-1).join(`
+`):e}function v4(e){const t=e.metadata?.origin;if(t?.kind==="cron_job"||t?.kind==="cron_missed")return t.kind}function g4(e){const t=e.content.filter(n=>n.type==="text").map(n=>n.text).join(`
+`);return f4(t)}function h4(e,t){const n=e.metadata?.origin??{},s=g4(e);return t==="cron_missed"?{text:s,cron:{missedCount:typeof n.count=="number"?n.count:void 0}}:{text:s,cron:{jobId:typeof n.jobId=="string"?n.jobId:void 0,cron:typeof n.cron=="string"?n.cron:void 0,recurring:typeof n.recurring=="boolean"?n.recurring:void 0,coalescedCount:typeof n.coalescedCount=="number"?n.coalescedCount:void 0,stale:typeof n.stale=="boolean"?n.stale:void 0}}}function y4(e,t,n){const{text:s,cron:o}=h4(e,n);return{id:e.id,role:"cron",no:t,text:s,createdAt:e.createdAt,cron:o}}function k4(e){const t=e.metadata?.origin,n=t?.kind;return n===void 0||n==="user"?!0:n==="skill_activation"||n==="plugin_command"?t?.trigger==="user-slash":!1}function b4(e){return e.metadata?.origin?.kind==="compaction_summary"}function nu(e,t){return e===null?!1:e.promptId===void 0||t===void 0||e.promptId===t}function w4(e){if(!e||e.length===0)return;const t="Plan saved to: ";for(const n of e)if(n.startsWith(t))return n.slice(t.length).trim()}function S4(e){let t="",n="";const s=[],o=[];for(const i of e)i.type==="text"?t+=i.text:i.type==="thinking"?n+=i.thinking:i.type==="toolUse"?s.push(i.toolCallId):o.push(JSON.stringify(i));return s.sort(),o.sort(),{text:t,thinking:n,toolIds:s,rest:o}}function C4(e,t){return t.text!==""&&t.text!==e.text||t.thinking!==""&&t.thinking!==e.thinking?!1:t.toolIds.every(n=>e.toolIds.includes(n))&&t.rest.every(n=>e.rest.includes(n))}function Gc(e,t,n,s=!0,o={}){const i=[];let u=1;const p=new Map;for(const m of t)p.set(m.toolCallId,m);let f=null;function v(m=!1){if(!f)return;const $=f;if(f=null,!m||!s)for(let h=0;h<$.tools.length;h++){const y=$.tools[h];if(y.status!=="running")continue;const S={...y,status:"ok"};$.tools[h]=S;const B=$.blocks.find(b=>b.kind==="tool"&&b.tool.id===S.id);B&&B.kind==="tool"&&(B.tool=S)}i.push({id:$.id,role:"assistant",no:u++,text:$.textParts.join(`
+`),thinking:$.thinkingParts.length>0?$.thinkingParts.join(`
+`):void 0,tools:$.tools.length>0?$.tools:void 0,blocks:$.blocks.length>0?$.blocks:void 0,approval:$.approval,approvalId:$.approvalId,durationMs:$.durationMs,createdAt:$.createdAt})}function k(m,$){for(const h of $)if(h.type==="text"){if(h.text){m.textParts.push(h.text);const y=m.blocks.at(-1);y&&y.kind==="text"?y.text+=`
+`+h.text:m.blocks.push({kind:"text",text:h.text})}}else if(h.type==="thinking"){if(h.thinking){m.thinkingParts.push(h.thinking);const y=m.blocks.at(-1);y&&y.kind==="thinking"?y.thinking+=`
+`+h.thinking:m.blocks.push({kind:"thinking",thinking:h.thinking})}}else if(h.type==="toolUse"){const y=p.get(h.toolCallId),S={id:h.toolCallId,name:h.toolName,arg:typeof h.input=="string"?h.input:JSON.stringify(h.input),status:"running",output:h.outputLines,planPath:h.toolName==="ExitPlanMode"?o[h.toolCallId]?.path:void 0};m.tools.push(S),m.blocks.push({kind:"tool",tool:S}),y&&(m.approval=p4(y),m.approvalId=y.approvalId)}else if(h.type==="toolResult"){const y=m.tools.findIndex(S=>S.id===h.toolCallId);if(y!==-1){const S=m.tools[y],B={...S,status:h.isError?"error":"ok",output:u4(h.output),media:h.isError?void 0:r4(S.name,h.output)};B.name==="ExitPlanMode"&&!B.planPath&&(B.planPath=w4(B.output)),m.tools[y]=B;const b=m.blocks.find(P=>P.kind==="tool"&&P.tool.id===h.toolCallId);b&&b.kind==="tool"&&(b.tool=B)}}}function x(m,$){for(const h of $){if(h.type!=="toolUse"||!h.outputLines?.length)continue;const y=m.tools.findIndex(P=>P.id===h.toolCallId);if(y===-1)continue;const S=m.tools[y];if(S.output!==void 0)continue;const B={...S,output:h.outputLines};m.tools[y]=B;const b=m.blocks.find(P=>P.kind==="tool"&&P.tool.id===h.toolCallId);b&&b.kind==="tool"&&(b.tool=B)}}function g(m){if(m.type==="image"||m.type==="video"){const $=m.type,h=m.source;if(h.kind==="url")return{url:h.url,kind:$};if(h.kind==="base64")return{url:`data:${h.mediaType};base64,${h.data}`,kind:$};if(h.kind==="file"&&n)return{url:n(h.fileId),kind:$,fileId:h.fileId}}if(m.type==="file"&&n){if(m.mediaType.startsWith("image/"))return{url:n(m.fileId),kind:"image",fileId:m.fileId};if(m.mediaType.startsWith("video/"))return{url:n(m.fileId),kind:"video",fileId:m.fileId}}}for(const m of e){if(m.role==="system")continue;const $=m.metadata?.[wc];if($!==void 0){nu(f,m.promptId)||(v(),f={id:m.id,promptId:m.promptId,textParts:[],thinkingParts:[],tools:[],blocks:[],approval:void 0,approvalId:void 0,foldedSigs:[],durationMs:void 0,createdAt:m.createdAt}),f?.blocks.push({kind:"error",text:$.message,code:$.code});continue}if(b4(m)){v();const b=m.metadata?.[bc];i.push({id:m.id,role:"compaction",no:u,text:m.content.filter(P=>P.type==="text").map(P=>P.text).join(`
+`),compaction:{trigger:b?.trigger,tokensBefore:b?.tokensBefore,tokensAfter:b?.tokensAfter}});continue}if(m.role==="user"){const b=v4(m);if(v(),b!==void 0){i.push(y4(m,u++,b));continue}if(!k4(m))continue;const P=m.metadata?.origin,E=P?.kind==="skill_activation"&&P?.trigger==="user-slash",R=P?.kind==="plugin_command"&&P?.trigger==="user-slash",W=[],Q=[];for(const V of m.content){if(V.type==="text")if(E)W.push(P.skillArgs??"");else if(R)W.push(P.commandArgs??"");else{const D=e4(V.text);if(D&&(D.kind==="video"||D.kind==="image")&&n){const ve=n4(D.path);if(ve){Q.push({url:n(ve),kind:D.kind,fileId:ve});continue}}const O=o4(V.text);if(O){Q.push({kind:"file",url:O.fileId&&n?n(O.fileId):"",fileId:O.fileId,name:O.name,mediaType:O.mediaType,size:O.size});continue}const J=Xw(V.text);if(J!==V.text&&J.trim().length===0)continue;W.push(J)}const C=g(V);if(C){Q.push({url:C.url,kind:C.kind,name:V.type==="file"?V.name:void 0,fileId:C.fileId});continue}V.type==="file"&&n&&Q.push({kind:"file",url:n(V.fileId),fileId:V.fileId,name:V.name,mediaType:V.mediaType||void 0,size:V.size})}i.push({id:m.id,role:"user",no:u++,text:W.join(`
+`),attachments:Q.length>0?Q:void 0,skillActivation:E?{name:P.skillName??"",args:P.skillArgs}:void 0,pluginCommand:R?{pluginId:P.pluginId??"",commandName:P.commandName??"",args:P.commandArgs}:void 0,createdAt:m.createdAt});continue}if(m.role==="tool"){f&&k(f,m.content);continue}const h=m.promptId;nu(f,h)?f!==null&&f.promptId===void 0&&h!==void 0&&(f.promptId=h):(v(),f={id:m.id,promptId:h,textParts:[],thinkingParts:[],tools:[],blocks:[],approval:void 0,approvalId:void 0,foldedSigs:[],durationMs:m.durationMs,createdAt:m.createdAt});const S=f;if(S===null)continue;const B=S4(m.content);if(S.promptId!==void 0&&S.foldedSigs.some(b=>C4(b,B))){x(S,m.content);continue}S.foldedSigs.push(B),k(S,m.content)}return v(!0),i}function _4(e,t){const{pushOperationFailure:n,nextOptimisticMsgId:s,connectEventsIfNeeded:o,getEventConn:i,resolveThinkingForPrompt:u}=t,p=T({}),f=M(()=>{const C=e.activeSessionId;if(!C)return null;const D=p.value[C];return D?{parentId:C,agentId:D.agentId}:null}),v=M(()=>f.value?.parentId??null),k=M(()=>f.value!==null),x=M(()=>{const C=f.value;return C?!!e.sideChatSendingByAgent[C.agentId]:!1}),g=M(()=>{const C=f.value;return C?e.sideChatSendingByAgent[C.agentId]?!0:(e.tasksBySession[C.parentId]??[]).some(D=>D.id===C.agentId&&D.status==="running"):!1}),m=M(()=>{const C=f.value;if(!C)return[];const D=e.sideChatMessagesByAgent[C.agentId]??[];return Gc(D,[],O=>De().getFileUrl(O),g.value)});function $(C,D){e.sideChatMessagesByAgent={...e.sideChatMessagesByAgent,[C]:D(e.sideChatMessagesByAgent[C]??[])}}function h(C,D){$(C,O=>[...O,D])}function y(C){$(C,D=>{const O=[...D].reverse().findIndex(ve=>ve.role==="user");if(O===-1)return D;const J=D.length-1-O;return D.filter((ve,me)=>me!==J)})}function S(C,D){$(C,O=>{const J=[...O];for(let ve=J.length-1;ve>=0;ve-=1){const me=J[ve];if(me.role==="user")return J[ve]={...me,promptId:me.promptId??D},J}return O})}function B(C,D,O){O&&$(C,J=>{const ve=J.at(-1);if(ve?.role==="assistant"){const me=ve.content[0],ze=me?.type==="text"?me.text:"";return[...J.slice(0,-1),{...ve,content:[{type:"text",text:`${ze}${O}`}]}]}return[...J,{id:s(),sessionId:D,role:"assistant",content:[{type:"text",text:O}],createdAt:new Date().toISOString()}]})}function b(C,D,O){if(e.sideChatSendingByAgent={...e.sideChatSendingByAgent,[C]:!1},!O)return;const ve=(e.sideChatMessagesByAgent[C]??[]).at(-1);(ve?.role==="assistant"&&ve.content[0]?.type==="text"?ve.content[0].text:"").trim().length>0||B(C,D,O)}async function P(C){const D=e.activeSessionId;D&&await E(D,C)}async function E(C,D){if(!p.value[C]){let O;try{({agentId:O}=await De().startBtw(C))}catch(J){n("openSideChat",J,{sessionId:C});return}e.sideChatMessagesByAgent={...e.sideChatMessagesByAgent,[O]:e.sideChatMessagesByAgent[O]??[]},p.value={...p.value,[C]:{agentId:O}},o(),i()?.markSideChannelAgent(O)}D&&D.trim()&&await R(C,D.trim())}async function R(C,D){const O=p.value[C],J=D.trim();if(!O||!J)return;const ve=C,me=O.agentId;e.sideChatSendingByAgent={...e.sideChatSendingByAgent,[me]:!0};const ze={id:s(),sessionId:ve,role:"user",content:[{type:"text",text:J}],createdAt:new Date().toISOString(),metadata:{"kimiWeb.optimisticUserMessage":!0}};h(me,ze);try{const ie=e.sessions.find(re=>re.id===ve),le=(ie?.model&&ie.model.length>0?ie.model:e.defaultModel)??void 0,te=await De().submitPrompt(ve,{content:[{type:"text",text:J}],agentId:me,model:le,thinking:await u(ve,le)??e.thinking,permissionMode:e.permission,planMode:e.planModeBySession[ve]??!1,swarmMode:e.swarmModeBySession[ve]??!1,supermoonMode:e.supermoonModeBySession[ve]??!1});S(me,te.promptId),e.sideChatUserMessageIdsBySession={...e.sideChatUserMessageIdsBySession,[ve]:[...e.sideChatUserMessageIdsBySession[ve]??[],te.userMessageId]}}catch(ie){n("sendSideChatPrompt",ie,{sessionId:ve}),y(me),e.sideChatSendingByAgent={...e.sideChatSendingByAgent,[me]:!1}}}function W(){const C=e.activeSessionId;if(!C)return;const{[C]:D,...O}=p.value;p.value=O}async function Q(C){const D=f.value;D&&await R(D.parentId,C)}function V(C){if(!p.value[C])return;const{[C]:D,...O}=p.value;p.value=O}return{sideChatTargetBySession:p,sideChatSessionId:v,sideChatVisible:k,sideChatSending:x,sideChatRunning:g,sideChatTurns:m,appendSideChatAssistantText:B,finishSideChatAgent:b,openSideChat:P,openSideChatOn:E,closeSideChat:W,sendSideChatPrompt:Q,clearSideChatForSession:V}}const M4="kimiWeb.optimisticUserMessage",$4=1e6,su="Sub Agent";function x4(){return{sessions:[],activeSessionId:void 0,messagesBySession:{},approvalsBySession:{},planReviewByToolCallId:{},questionsBySession:{},tasksBySession:{},goalBySession:{},goalVersionBySession:{},lastSeqBySession:{},turnActiveBySession:{},compactionBySession:{},warnings:[]}}function T4(e){return{...e,sessions:e.sessions,messagesBySession:{...e.messagesBySession},approvalsBySession:{...e.approvalsBySession},planReviewByToolCallId:{...e.planReviewByToolCallId},questionsBySession:{...e.questionsBySession},tasksBySession:{...e.tasksBySession},goalBySession:{...e.goalBySession},goalVersionBySession:{...e.goalVersionBySession},lastSeqBySession:{...e.lastSeqBySession},turnActiveBySession:{...e.turnActiveBySession},compactionBySession:{...e.compactionBySession},warnings:[...e.warnings]}}function I4(e,t,n){if(t!==void 0&&n!==void 0&&n>0){const s=e.lastSeqBySession[t]??0;n>s&&(e.lastSeqBySession[t]=n)}}function Ta(e){return e.role==="user"&&e.metadata?.[M4]===!0}function A4(e){const t=e.metadata?.origin;return t?.kind==="cron_job"||t?.kind==="cron_missed"}function P4(e,t){return JSON.stringify(e.content)===JSON.stringify(t.content)}const E4=/^<(image|video|audio)\s+path="[^"]+"><\/\1>$/;function ou(e){let t="",n=0;for(const s of e.content)s.type==="text"?E4.test(s.text.trim())?n+=1:t+=s.text:(s.type==="image"||s.type==="video"||s.type==="file")&&(n+=1);return{text:t,media:n}}function B4(e,t){const n=ou(e),s=ou(t);return n.text===s.text&&n.media===s.media}function R4(e,t){const n=t.promptId;if(n!==void 0)for(let s=e.length-1;s>=0;s--){const o=e[s];if(Ta(o)&&o.promptId===n)return s}for(let s=e.length-1;s>=0;s--){const o=e[s];if(Ta(o)&&P4(o,t))return s}for(let s=e.length-1;s>=0;s--){const o=e[s];if(Ta(o)&&B4(o,t))return s}return-1}function L4(e,t,n){const s=e.findIndex(p=>p.content.some(f=>f.type==="toolUse"&&f.toolCallId===t));if(s===-1)return e;const o=e[s];let i=!1;const u=o.content.map(p=>p.type!=="toolUse"||p.toolCallId!==t?p:(i=!0,{...p,outputLines:[...p.outputLines??[],n]}));return i?[...e.slice(0,s),{...o,content:u},...e.slice(s+1)]:e}const D4={"provider.connection_error":"connection","provider.auth_error":"auth","provider.rate_limit":"rateLimit","provider.overloaded":"overloaded","provider.filtered":"filtered","provider.api_error":"api","provider.usage_limit":"usageLimit","context.overflow":"contextOverflow"},O4=new Set(["provider.usage_limit"]);function z4(e){const t=St.global.t,n=[],s=(u,p)=>{typeof p=="number"||typeof p=="boolean"?n.push({label:u,value:String(p)}):typeof p=="string"&&p.length>0&&n.push({label:u,value:p})};s(t("warnings.details.code"),e.code);const o=e.details??{};s(t("warnings.details.status"),o.statusCode),s(t("warnings.details.requestId"),o.requestId),s(t("warnings.details.errorName"),e.name);for(const[u,p]of Object.entries(o))u==="statusCode"||u==="requestId"||s(u,p);const i=(e.code!==void 0?D4[e.code]:void 0)??"title";return{severity:"error",title:t(`warnings.agentError.${i}`),message:e.message,details:n.length>0?n:void 0,sticky:e.code!==void 0&&O4.has(e.code)?!0:void 0}}function F4(e,t,n){const s=T4(e);switch(I4(s,n.sessionId,n.seq),t.type){case"sessionCreated":{s.sessions.some(i=>i.id===t.session.id)||(s.sessions=[t.session,...s.sessions]);break}case"sessionUpdated":{s.sessions=s.sessions.map(o=>o.id===t.session.id?t.session:o);break}case"sessionDeleted":{const o=t.sessionId;s.sessions=s.sessions.filter(i=>i.id!==o),delete s.messagesBySession[o],delete s.tasksBySession[o],delete s.goalBySession[o],delete s.approvalsBySession[o],delete s.questionsBySession[o],delete s.lastSeqBySession[o],delete s.turnActiveBySession[o],s.activeSessionId===o&&(s.activeSessionId=void 0);break}case"sessionArchived":{const o=t.sessionId;s.sessions=s.sessions.filter(i=>i.id!==o),s.activeSessionId===o&&(s.activeSessionId=void 0);break}case"sessionWorkChanged":{s.sessions=s.sessions.map(o=>o.id!==t.sessionId?o:{...o,busy:t.busy,mainTurnActive:t.mainTurnActive??(t.busy?o.mainTurnActive:!1),pendingInteraction:t.pendingInteraction??o.pendingInteraction,lastTurnReason:t.lastTurnReason}),t.mainTurnActive===!0?s.turnActiveBySession[t.sessionId]=!0:(t.mainTurnActive===!1||!t.busy)&&delete s.turnActiveBySession[t.sessionId];break}case"sessionMetaUpdated":{s.sessions=s.sessions.map(o=>o.id===t.sessionId?{...o,title:t.title??o.title,lastPrompt:t.lastPrompt??o.lastPrompt}:o);break}case"sessionUsageUpdated":{s.sessions=s.sessions.map(o=>{if(o.id!==t.sessionId)return o;const i=t.model&&t.model.length>0?t.model:o.model;return{...o,usage:t.usage,model:i}});break}case"historyCompacted":break;case"compactionStarted":{s.compactionBySession={...s.compactionBySession,[t.sessionId]:{status:"running",trigger:t.trigger}};break}case"compactionCompleted":{const o=t.sessionId,i=s.compactionBySession[o],{[o]:u,...p}=s.compactionBySession;if(s.compactionBySession=p,Object.prototype.hasOwnProperty.call(s.messagesBySession,o)){const f=s.messagesBySession[o]??[],v=`compaction_${o}_${n.seq}`;if(!f.some(k=>k.id===v)){const k={trigger:i?.trigger??"auto",tokensBefore:t.tokensBefore,tokensAfter:t.tokensAfter};s.messagesBySession[o]=[...f,{id:v,sessionId:o,role:"assistant",content:t.summary?[{type:"text",text:t.summary}]:[],createdAt:new Date().toISOString(),metadata:{origin:{kind:"compaction_summary"},[bc]:k}}]}}break}case"compactionCancelled":{const{[t.sessionId]:o,...i}=s.compactionBySession;s.compactionBySession=i;break}case"messageCreated":{const o=t.message.sessionId,i=t.message.createdAt;s.sessions=s.sessions.map(f=>f.id===o&&i>f.updatedAt?{...f,updatedAt:i}:f);const u=s.messagesBySession[o]??[];if(!u.some(f=>f.id===t.message.id)){if(t.message.role==="user"&&!A4(t.message)){const f=R4(u,t.message);if(f!==-1){const v=[...u],k=v[f];v[f]={...t.message,id:k.id,promptId:t.message.promptId??k.promptId,metadata:{...t.message.metadata,...k.metadata}},s.messagesBySession[o]=v;break}}s.messagesBySession[o]=[...u,t.message]}break}case"messageUpdated":{const o=t.sessionId,i=s.messagesBySession[o]??[];s.messagesBySession[o]=i.map(u=>u.id!==t.messageId?u:{...u,content:t.content,durationMs:t.durationMs??u.durationMs});break}case"assistantDelta":{const o=t.sessionId,i=s.messagesBySession[o]??[];s.messagesBySession[o]=i.map(u=>{if(u.id!==t.messageId)return u;const p=[...u.content],f=t.contentIndex;for(;p.length<=f;)p.push({type:"text",text:""});const v=p[f];let k;return t.delta.text!==void 0?v.type==="text"?k={type:"text",text:v.text+t.delta.text}:k={type:"text",text:t.delta.text}:t.delta.thinking!==void 0?v.type==="thinking"?k={type:"thinking",thinking:v.thinking+t.delta.thinking,signature:v.signature}:k={type:"thinking",thinking:t.delta.thinking}:k=v,p[f]=k,{...u,content:p}});break}case"toolOutput":{const o=t.sessionId,i=s.messagesBySession[o]??[];s.messagesBySession[o]=L4(i,t.toolCallId,t.outputChunk);break}case"approvalRequested":{const o=t.sessionId,i=s.approvalsBySession[o]??[];i.some(f=>f.approvalId===t.approval.approvalId)||(s.approvalsBySession[o]=[...i,t.approval]);const p=t.approval.display;p?.kind==="plan_review"&&typeof p.plan=="string"&&p.plan.length>0&&(s.planReviewByToolCallId={...s.planReviewByToolCallId,[t.approval.toolCallId]:{plan:p.plan,path:typeof p.path=="string"?p.path:void 0}});break}case"approvalResolved":case"approvalExpired":{const o=t.sessionId,i=t.approvalId,u=s.approvalsBySession[o]??[];s.approvalsBySession[o]=u.filter(p=>p.approvalId!==i);break}case"questionRequested":{const o=t.sessionId,i=s.questionsBySession[o]??[];i.some(p=>p.questionId===t.question.questionId)||(s.questionsBySession[o]=[...i,t.question]);break}case"questionAnswered":case"questionDismissed":{const o=t.sessionId,i=t.questionId,u=s.questionsBySession[o]??[];s.questionsBySession[o]=u.filter(p=>p.questionId!==i);break}case"taskCreated":{const o=t.sessionId,i=s.tasksBySession[o]??[],u=i.findIndex(p=>p.id===t.task.id);if(u===-1)s.tasksBySession[o]=[...i,t.task];else{const p=[...i],f=i[u];p[u]={...t.task,outputLines:f.outputLines,text:f.text,description:t.task.description===su&&f.description!==su?f.description:t.task.description,swarmIndex:t.task.swarmIndex??f.swarmIndex,parentToolCallId:t.task.parentToolCallId??f.parentToolCallId,subagentType:t.task.subagentType??f.subagentType,model:t.task.model??f.model,thinkingEffort:t.task.thinkingEffort??f.thinkingEffort,runInBackground:t.task.runInBackground??f.runInBackground,backgroundTaskId:t.task.backgroundTaskId??f.backgroundTaskId},s.tasksBySession[o]=p}break}case"taskProgress":{const o=t.sessionId,i=s.tasksBySession[o]??[];s.tasksBySession[o]=i.map(u=>{if(u.id!==t.taskId)return u;if(u.kind==="subagent"&&t.kind==="text")return{...u,text:((u.text??"")+t.outputChunk).slice(0,$4)};const p=u.outputLines??[];if(p.at(-1)===t.outputChunk)return u;const f=[...p,t.outputChunk];return{...u,outputLines:u.kind==="subagent"?f:f.slice(-40)}});break}case"taskCompleted":{const o=t.sessionId,i=s.tasksBySession[o]??[];s.tasksBySession[o]=i.map(u=>u.id!==t.taskId?u:{...u,status:t.status,outputPreview:t.outputPreview,outputBytes:t.outputBytes});break}case"goalUpdated":{const o=t.sessionId;s.goalVersionBySession[o]=(s.goalVersionBySession[o]??0)+1,t.goal===null||t.goal.status==="complete"?delete s.goalBySession[o]:s.goalBySession[o]=t.goal;break}case"configChanged":{s.config=t.config;break}case"modelCatalogChanged":break;case"agentDelta":case"agentTurnEnded":break;case"promptCompleted":case"promptAborted":break;case"turnActiveChanged":{s.sessions=s.sessions.map(o=>o.id===t.sessionId?{...o,mainTurnActive:t.active}:o),t.active?s.turnActiveBySession[t.sessionId]=!0:delete s.turnActiveBySession[t.sessionId];break}case"unknown":{const o=t.raw;if(!(o&&o._noop===!0))if(o&&o._agentError)s.warnings=[...s.warnings,z4(o)];else if(o&&o._agentWarning){const i=o.message??o.code??"agent warning";s.warnings=[...s.warnings,`${St.global.t("warnings.noteLabel")}: ${i}`]}else{const i=o?.type??"(unknown)";s.warnings=[...s.warnings,`Unhandled event: ${i}`]}break}}return s}function N4(e){return e==="in_progress"?"in_progress":e==="done"||e==="completed"?"done":"pending"}function W4(e){for(let t=e.length-1;t>=0;t--){const n=e[t];if(n.role==="assistant")for(let s=n.content.length-1;s>=0;s--){const o=n.content[s];if(o.type!=="toolUse"||$o(o.toolName)!=="todo")continue;let i=o.input;if(typeof i=="string")try{i=JSON.parse(i)}catch{continue}const u=i?.todos;if(Array.isArray(u))return u.flatMap(p=>{const f=p??{},v=typeof f.title=="string"?f.title:typeof f.content=="string"?f.content:"";return v?[{title:v,status:N4(f.status)}]:[]})}}return[]}const q4=["queued","working","suspended","completed","failed"];function Qc(e){return e.status==="completed"?"completed":e.status==="failed"||e.status==="cancelled"?"failed":e.subagentPhase?e.subagentPhase:"working"}function H4(){return{queued:0,working:0,suspended:0,completed:0,failed:0}}function U4(e){const t=new Map;for(const n of e){if(n.kind!=="subagent"||n.swarmIndex===void 0)continue;const s=n.parentToolCallId??"swarm",o=t.get(s)??[];o.push({id:n.id,name:n.description,subagentType:n.subagentType,phase:Qc(n),summary:n.outputPreview,outputLines:n.outputLines,text:n.text,suspendedReason:n.suspendedReason,swarmIndex:n.swarmIndex}),t.set(s,o)}return[...t.entries()].map(([n,s])=>{const o=s.toSorted((u,p)=>u.swarmIndex-p.swarmIndex||u.id.localeCompare(p.id)),i=H4();for(const u of o)i[u.phase]++;return{id:n,members:o,counts:i}}).filter(n=>n.members.length>1).toSorted((n,s)=>{const o=n.members.at(0)?.swarmIndex??0,i=s.members.at(0)?.swarmIndex??0;return o!==i?o-i:n.id.localeCompare(s.id)})}function V4(e){let t=0,n=0;for(const s of e){n+=s.members.length;for(const o of q4)(o==="completed"||o==="failed")&&(t+=s.counts[o])}return{done:t,total:n}}function j4(e){const t=new Map;for(const n of e){if(n.kind!=="subagent"||!n.parentToolCallId)continue;const s=t.get(n.parentToolCallId)??[];s.push({id:n.id,name:n.description,subagentType:n.subagentType,phase:Qc(n),summary:n.outputPreview,outputLines:n.outputLines,text:n.text,suspendedReason:n.suspendedReason,swarmIndex:n.swarmIndex??Number.MAX_SAFE_INTEGER}),t.set(n.parentToolCallId,s)}for(const[n,s]of t)t.set(n,s.toSorted((o,i)=>o.swarmIndex-i.swarmIndex||o.id.localeCompare(i.id)));return t}const Rs=Wc(),_s=Y2(),ui=ow(),Oi=r2(),Yc=Ge.permission,Zc=Ge.activeWorkspace,Xc=Ge.planMode,Jc=Ge.planArmed,ed=Ge.swarmMode,td=Ge.supermoonMode,nd=Ge.goalMode,iu=40401,sd=Ge.onboarded;wo(Ge.codeFont);wo(Ge.theme);wo(Ge.thinking);function K4(){try{const e=Dt(Yc);if(e==="auto"||e==="yolo"||e==="manual")return e}catch{}return"manual"}function G4(e){try{Nt(Yc,e)}catch{}}function Yo(e){const t=Dt(e);if(!t)return{};try{const n=JSON.parse(t);if(!n||typeof n!="object"||Array.isArray(n))return{};const s={};for(const[o,i]of Object.entries(n))i===!0&&(s[o]=!0);return s}catch{return{}}}function fi(e,t){try{const n={};for(const[s,o]of Object.entries(t))o&&(n[s]=!0);Nt(e,JSON.stringify(n))}catch{}}function od(){fi(Xc,H.planModeBySession)}function id(){fi(Jc,H.planArmedBySession)}function ad(){fi(ed,H.swarmModeBySession)}function ld(){fi(td,H.supermoonModeBySession)}function rd(){fi(nd,H.goalModeBySession)}function Q4(){try{return Dt(Zc)}catch{return null}}const ud=Ge.hiddenWorkspaces;function Y4(){try{const e=Dt(ud);if(!e)return[];const t=JSON.parse(e);return Array.isArray(t)?t.filter(n=>typeof n=="string"):[]}catch{return[]}}function Z4(e){try{Nt(ud,JSON.stringify(e))}catch{}}function X4(e){try{Nt(Zc,e)}catch{}}function J4(e,t){if(t&&e.startsWith(t)){const s=e.slice(t.length);return s?`~${s}`:"~"}const n=e.match(/^\/(?:Users|home)\/[^/]+(\/.*)?$/);return n?`~${n[1]??""}`:e}const H=Hn({...x4(),connected:!1,serverVersion:"",webTitle:null,dangerousBypassAuth:!1,kimiOauthEnabled:!1,backend:"v1",workspaceName:"kimi-web",connection:"disconnected",permission:K4(),thinking:void 0,thinkingBySession:{},planModeBySession:Yo(Xc),planArmedBySession:Yo(Jc),swarmModeBySession:Yo(ed),supermoonModeBySession:Yo(td),modeVersionBySession:{},supermoonPreviousEffortBySession:{},goalModeBySession:Yo(nd),loading:!1,sessionLoading:!1,queuedBySession:{},gitStatusBySession:{},promptIdBySession:{},inFlightBySession:{},unreadBySession:_l(),authReady:!1,accountModel:null,defaultModel:null,managedProviderStatus:null,workspaces:[],activeWorkspaceId:Q4(),fsHome:null,recentRoots:[],hiddenWorkspaceRoots:Y4(),availableOpenInApps:[],config:null,sideChatMessagesByAgent:{},sideChatSendingByAgent:{},sideChatUserMessageIdsBySession:{},messagesLoadingMoreBySession:{},messagesHasMoreBySession:{},messagesLoadMoreErrorBySession:{},sessionsHasMoreByWorkspace:{},sessionsLoadingMoreByWorkspace:{},sessionsCursorByWorkspace:{},sessionsInitialCountByWorkspace:{},sessionsFullyLoaded:!1}),Vo=Hn({planMode:!1,planArmed:!1,swarmMode:!1,supermoonMode:!1,goalMode:!1,planModeTouched:!1});function cd(e){H.sessions=e}function aa(e,t){H.sessions=H.sessions.map(n=>n.id===e?t(n):n)}function eS(e){H.sessions=[e,...H.sessions.filter(t=>t.id!==e.id)]}function tS(e){H.sessions=[...H.sessions,e]}function nS(e){H.sessions=H.sessions.filter(t=>t.id!==e)}function dd(){const e=H.activeSessionId;e&&H.unreadBySession[e]&&typeof document<"u"&&document.visibilityState==="visible"&&(H.unreadBySession={...H.unreadBySession,[e]:!1},Ml({[e]:!1}))}typeof window<"u"&&window.addEventListener("storage",e=>{e.key===Ge.unread&&(H.unreadBySession=_l(),dd())});function ul(){if(Ln===null||!Ln.health().stale)return;tn("ws:stale-reconnect",{sessionId:H.activeSessionId,status:"stale"}),Ds("ws: stale socket on focus, reconnecting",{activeSessionId:H.activeSessionId}),Ln.reconnect();const e=H.activeSessionId;e&&Qi.request(e)}typeof document<"u"&&document.addEventListener("visibilitychange",()=>{document.visibilityState==="visible"&&(dd(),ul())});typeof window<"u"&&(window.addEventListener("focus",ul),window.addEventListener("online",ul));function Kl(e){H.activeSessionId=e}function sS(e){H.messagesBySession=e}function oS(e,t){H.messagesBySession={...H.messagesBySession,[e]:t}}function pd(e,t){H.messagesBySession={...H.messagesBySession,[e]:t(H.messagesBySession[e]??[])}}function iS(e){const{[e]:t,...n}=H.messagesBySession;H.messagesBySession=n}function fd(e){Ln?.unsubscribe(e),IS(e),Ki.discard(({meta:t})=>t.sessionId===e),nS(e),iS(e),delete H.approvalsBySession[e],delete H.questionsBySession[e],delete H.tasksBySession[e],delete H.goalBySession[e],delete H.gitStatusBySession[e],delete H.lastSeqBySession[e],delete H.compactionBySession[e],delete H.messagesLoadingMoreBySession[e],delete H.messagesHasMoreBySession[e],delete H.messagesLoadMoreErrorBySession[e],delete cl[e],Gi.delete(e),zi.delete(e),Md.delete(e),Dw(e),delete H.queuedBySession[e],delete H.promptIdBySession[e],delete H.inFlightBySession[e],delete H.turnActiveBySession[e],delete H.planModeBySession[e],delete H.planArmedBySession[e],delete H.swarmModeBySession[e],delete H.supermoonModeBySession[e],delete H.modeVersionBySession[e],delete H.supermoonPreviousEffortBySession[e],delete H.goalModeBySession[e],delete H.thinkingBySession[e],od(),id(),ad(),ld(),rd()}const md=T(null),vd=T([]),gd=T(!1),hd=T(!1),yd=T(null);async function mi(e){const t=H.modeVersionBySession[e]??0;let n;try{n=await De().getSessionStatus(e)}catch{return}aa(e,s=>({...s,model:n.model||s.model,usage:{...s.usage,contextTokens:n.contextTokens,contextLimit:n.maxContextTokens}})),s2(H,e,t)&&(H.swarmModeBySession={...H.swarmModeBySession,[e]:n.swarmMode},H.planModeBySession={...H.planModeBySession,[e]:n.planMode},H.supermoonModeBySession={...H.supermoonModeBySession,[e]:n.supermoonMode}),n.thinkingEffort.length>0&&(H.thinkingBySession={...H.thinkingBySession,[e]:n.thinkingEffort})}async function aS(e){const t=H.goalVersionBySession[e]??0;let n;try{n=await De().getSessionGoal(e)}catch{return}if((H.goalVersionBySession[e]??0)!==t)return;const s={...H.goalBySession};n===null||n.status==="complete"?delete s[e]:s[e]=n,H.goalBySession=s}function kd(e,t){const n=t??H.activeSessionId;return n?Promise.resolve(De().updateSession(n,e)).then(()=>mi(n)).then(()=>!0).catch(s=>(vi("persistSessionProfile",s,{sessionId:n}),!1)):Promise.resolve(!1)}const bd=Ge.conversationToc;function lS(){try{const e=Dt(bd);return e===null?!0:e==="true"}catch{return!0}}function rS(e){try{Nt(bd,e?"true":"false")}catch{}}const wd=T(lS());function uS(e){wd.value=e,rS(e)}function cS(e){try{return Dt(e)??""}catch{return""}}const Sd=T(cS(sd)==="1");function dS(e){Sd.value=e;try{Nt(sd,e?"1":"0")}catch{}}let Ln=null,au=0;function Cd(){return au+=1,`msg_opt_${Date.now().toString(36)}_${au}`}function pS(e,t,n){const s={sessions:H.sessions,activeSessionId:H.activeSessionId,messagesBySession:H.messagesBySession,approvalsBySession:H.approvalsBySession,planReviewByToolCallId:H.planReviewByToolCallId,questionsBySession:H.questionsBySession,tasksBySession:H.tasksBySession,goalBySession:H.goalBySession,goalVersionBySession:H.goalVersionBySession,lastSeqBySession:H.lastSeqBySession,turnActiveBySession:H.turnActiveBySession,compactionBySession:H.compactionBySession,config:H.config,warnings:H.warnings},o=F4(s,e,{sessionId:t,seq:n});if(cd(o.sessions),Kl(o.activeSessionId),sS(o.messagesBySession),H.approvalsBySession=o.approvalsBySession,H.planReviewByToolCallId=o.planReviewByToolCallId,H.questionsBySession=o.questionsBySession,H.tasksBySession=o.tasksBySession,H.goalBySession=o.goalBySession,H.goalVersionBySession=o.goalVersionBySession,H.lastSeqBySession=o.lastSeqBySession,H.turnActiveBySession=o.turnActiveBySession,H.compactionBySession=o.compactionBySession,H.config=o.config??null,H.warnings=o.warnings,e.type==="configChanged"&&(H.defaultModel=e.config.defaultModel??H.accountModel??null),e.type==="modelCatalogChanged"&&($t.loadModels(),$t.loadProviders()),e.type==="sessionUsageUpdated"){if(e.swarmMode!==void 0&&(H.swarmModeBySession={...H.swarmModeBySession,[e.sessionId]:e.swarmMode}),e.planMode!==void 0&&(H.planModeBySession={...H.planModeBySession,[e.sessionId]:e.planMode}),e.supermoonMode!==void 0){const i=H.supermoonModeBySession[e.sessionId]??!1;H.supermoonModeBySession={...H.supermoonModeBySession,[e.sessionId]:e.supermoonMode},e.supermoonMode&&!i?Fe.pinSupermoonEffort(e.sessionId):!e.supermoonMode&&i&&Fe.restoreSupermoonEffort(e.sessionId)}e.thinking!==void 0&&(H.thinkingBySession={...H.thinkingBySession,[e.sessionId]:e.thinking}),(e.planMode!==void 0||e.swarmMode!==void 0||e.supermoonMode!==void 0)&&Cs(H,e.sessionId)}}function fS(e,t){const n=H.lastSeqBySession[t.sessionId]??0,s=H.turnActiveBySession[t.sessionId]??!1;pS(e,t.sessionId,t.seq);const o=Bn.sideChatTargetBySession.value[t.sessionId];if(o){const{agentId:i}=o,u=t.sessionId;e.type==="agentDelta"&&e.agentId===i?e.delta.text&&Bn.appendSideChatAssistantText(i,u,e.delta.text):e.type==="agentTurnEnded"&&e.agentId===i?Bn.finishSideChatAgent(i,u):e.type==="taskProgress"&&e.taskId===i?Bn.appendSideChatAssistantText(i,u,e.outputChunk):e.type==="taskCompleted"&&e.taskId===i&&Bn.finishSideChatAgent(i,u,e.outputPreview)}if(e.type==="messageCreated"&&e.message.role==="user"&&e.message.promptId!==void 0){const i=e.message.sessionId;H.promptIdBySession[i]!==e.message.promptId&&(H.promptIdBySession={...H.promptIdBySession,[i]:e.message.promptId})}if(e.type==="assistantDelta"&&t.sessionId===H.activeSessionId&&Rs.recordMoonDelta((e.delta.text?.length??0)+(e.delta.thinking?.length??0)),e.type==="turnActiveChanged"&&!e.active&&t.seq>n){const i=e.reason;ZC(e.sessionId,i==="cancelled"||i==="failed"||i==="blocked"?"aborted":"idle",s)}if(e.type==="sessionWorkChanged"&&(e.mainTurnActive===!1&&s||e.mainTurnActive===void 0&&!e.busy)&&t.seq>n&&YC(e.sessionId),(e.type==="promptAborted"||e.type==="promptCompleted"&&e.reason==="blocked")&&t.seq>n&&H.promptIdBySession[e.sessionId]===e.promptId&&Fe.finishPromptLocal(e.sessionId),e.type==="questionRequested"&&XC(e.sessionId,e.question),e.type==="approvalRequested"&&JC(e.sessionId,e.approval),e.type==="taskCompleted"){const i=(H.tasksBySession[e.sessionId]??[]).find(u=>u.id===e.taskId);i!==void 0&&gC(i)}}const Ki=y2(({appEvent:e,meta:t})=>fS(e,t),({appEvent:e})=>m2(e),{coalesce:b2});function _d(){if(Ln!==null||typeof WebSocket>"u")return;tn("ws:connection",{status:"connecting"}),H.connection="connecting",Ln=De().connectEvents({onEvent(t,n){if(t.type==="workspaceCreated"||t.type==="workspaceUpdated"||t.type==="workspaceDeleted"){Fe.applyWorkspaceEvent(t);return}if(t.type==="pluginsChanged"||t.type==="capabilityChanged"){Vb(t);return}for(const s of k2({appEvent:t,meta:n}))Ki(s)},onResync(t,n,s){tn("ws:resync",{sessionId:t,status:"required",seq:n}),Ki.flush(),Gi.add(t),Qi.request(t)},onError(t,n,s){tn("ws:error",{status:"failed",errorCode:t,fatal:s}),Gl({severity:"error",title:St.global.t("warnings.wsTitle"),message:n,details:[jt("message",n)].filter(o=>o!==void 0)})},onConnectionChange(t){tn("ws:connection",{status:t?"connected":"disconnected"}),H.connected=t,H.connection=t?"connected":"disconnected",t&&(wS(),Fe.refreshServerMeta())},onTerminalOutput(t,n,s,o){Oi.handleOutput(t,n,s,o)},onTerminalExit(t,n,s){Oi.handleExit(t,n,s)}}),Oi.bindTransport(Ln)}const cl={},Gi=new Set,zi=new Set,Md=new Set;function mS(e){return Rn(e)&&e.code===iu?!0:typeof e=="object"&&e!==null&&e.code===iu}function jt(e,t){if(!(t==null||t===""))return{label:St.global.t(`warnings.details.${e}`),value:$d(t)}}function $d(e){if(e instanceof Error)return typeof e.stack=="string"&&e.stack?e.stack:e.message?`${e.name}: ${e.message}`:e.name;if(typeof e=="string")return e;if(typeof e=="number"||typeof e=="boolean"||typeof e=="bigint")return String(e);try{return JSON.stringify(e)}catch{return String(e)}}function vS(e){return e instanceof Error||typeof e=="object"&&e!==null&&typeof e.name=="string"?e.name:void 0}function gS(e){return e instanceof Error||typeof e=="object"&&e!==null&&typeof e.message=="string"?e.message:void 0}function hS(e){return e instanceof Error&&typeof e.stack=="string"&&e.stack?e.stack:void 0}function yS(e){if(!(typeof e!="number"||!Number.isFinite(e)))return new Date(e).toISOString()}function lu(e){if(!(typeof e!="number"||!Number.isFinite(e)))return`${Math.round(e)}ms`}function kS(e,t,n){const s=Il(t),o=Rn(t),i=s||o?t.timestamp:void 0,u=s||o?t.durationMs:void 0,p=[jt("operation",e),jt("sessionId",n??H.activeSessionId),jt("connection",H.connection),jt("timestamp",yS(i??Date.now()))];return s?p.push(jt("duration",lu(u)),jt("request",`${t.method} ${t.path}`),jt("endpoint",t.url),jt("requestId",t.requestId),jt("phase",t.phase),jt("timeout",`${t.timeoutMs}ms`),jt("status",t.status===void 0?void 0:`${t.status} ${t.statusText??""}`.trim()),jt("contentType",t.contentType),jt("responsePreview",t.bodyPreview),jt("cause",t.cause)):o?p.push(jt("duration",lu(u)),jt("code",t.code),jt("requestId",t.requestId),jt("message",t.message),jt("details",t.details)):p.push(jt("errorName",vS(t)),jt("message",gS(t)??$d(t)),jt("stack",hS(t))),p.filter(f=>f!==void 0)}function bS(e,t,n={}){const s=Il(t),o=Rn(t),i=Rc(t),u=n.title??(i?St.global.t("warnings.daemonTimeoutTitle"):s?St.global.t("warnings.daemonNetworkTitle"):o?St.global.t("warnings.daemonApiTitle"):St.global.t("warnings.operationFailedTitle")),p=n.message??(i?St.global.t("warnings.daemonTimeoutMessage"):s?St.global.t("warnings.daemonNetworkMessage"):o?t.message:St.global.t("warnings.operationFailedMessage"));return{severity:"error",title:u,message:p,details:kS(e,t,n.sessionId)}}function Gl(e){H.warnings=[...H.warnings,e].slice(-50)}function wS(){const e=St.global.t("warnings.wsTitle"),t=H.warnings.filter(n=>!(typeof n=="object"&&n!==null&&n.severity==="error"&&n.title===e));t.length!==H.warnings.length&&(H.warnings=t)}function vi(e,t,n){console.error(`[kimi-web] operation failed: ${e}`,t);const s=Rn(t),o=Il(t);tn("operation:failed",{sessionId:n?.sessionId,status:"failed",operation:e,errorName:t instanceof Error?t.name:typeof t,errorCode:s?t.code:void 0,requestId:s||o?t.requestId:void 0,phase:o?t.phase:void 0,httpStatus:o?t.status:void 0,timeout:Rc(t)}),Gl(bS(e,t,n))}const SS={40913:"warnings.goal.alreadyExists",40914:"warnings.goal.notFound",40915:"warnings.goal.statusInvalid",40916:"warnings.goal.notResumable",40918:"warnings.goal.objectiveTooLong"};function CS(e){if(!Rn(e))return;const t=SS[e.code];return t?St.global.t(t):void 0}async function _S(e){if(fd(e),H.activeSessionId!==e)return;const t=H.sessions[0];t?await Fe.selectSession(t.id,{urlMode:"replace"}):(Kl(void 0),H.sessionLoading=!1,Fe.writeSessionUrl(void 0,"replace"))}const ru=new Set;async function MS(e){if(!ru.has(e)){ru.add(e);try{const t=await De().getSessionWarnings(e),n=St.global.t("warnings.noteLabel");for(const s of t)Gl(`${n}: ${s.message}`)}catch{}}}async function Ql(e){const t=Fe.localTurnStartState(e);try{const s=await De().getSessionSnapshot(e);if(!H.sessions.some(f=>f.id===e))return"ok";Ki.flush();const o=H.lastSeqBySession[e]??0,i=cl[e];if(!(Gi.has(e)||Yi.has(e))&&i!==void 0&&i===s.epoch&&o>s.asOfSeq)return zi.delete(e)||(zi.add(e),Qi.request(e)),"ok";if(!Fe.isLocalTurnSnapshotCurrent(e,t))return Fe.afterLocalTurnStartsSettle(e,()=>{Qi.request(e)}),"ok";const p=Ga(s.session.usage);aa(e,f=>({...s.session,model:s.session.model&&s.session.model.length>0?s.session.model:f.model,usage:p?f.usage:s.session.usage})),oS(e,o2(H.messagesBySession[e]??[],s.messages)),H.tasksBySession={...H.tasksBySession,[e]:i2(s.subagents,H.tasksBySession[e]??[])},H.messagesHasMoreBySession={...H.messagesHasMoreBySession,[e]:s.hasMoreMessages},H.approvalsBySession={...H.approvalsBySession,[e]:s.pendingApprovals};for(const f of s.pendingApprovals){const v=f.display;v?.kind==="plan_review"&&typeof v.plan=="string"&&v.plan.length>0&&(H.planReviewByToolCallId={...H.planReviewByToolCallId,[f.toolCallId]:{plan:v.plan,path:typeof v.path=="string"?v.path:void 0}})}H.questionsBySession={...H.questionsBySession,[e]:s.pendingQuestions},H.lastSeqBySession={...H.lastSeqBySession,[e]:s.asOfSeq},cl[e]=s.epoch,Gi.delete(e),zi.delete(e),Fe.handleSessionSnapshot(e,{inFlightTurn:s.inFlightTurn,busy:s.session.busy});{const f={...H.turnActiveBySession};s.session.mainTurnActive??(s.inFlightTurn!==null&&s.session.busy)?f[e]=!0:delete f[e],H.turnActiveBySession=f}try{_d(),Ln&&(Ln.seedSnapshot(e,s),Ln.subscribe(e,{seq:s.asOfSeq,epoch:s.epoch}),TS(e))}catch(f){console.error("[kimi-web] WS wiring failed during session sync",f),tn("ws:error",{status:"failed",errorName:f instanceof Error?f.name:typeof f})}return Yi.delete(e),p&&mi(e),MS(e),"ok"}catch(n){return mS(n)?(await _S(e),"not-found"):(vi("getSessionSnapshot",n,{title:St.global.t("warnings.sessionSnapshotTitle"),message:St.global.t("warnings.sessionSnapshotMessage"),sessionId:e}),"failed")}}const Qi=a2(Ql);function $S(e){return Object.prototype.hasOwnProperty.call(H.messagesBySession,e)}const xS=4,Ls=[],Yi=new Set;function TS(e){const t=Ls.indexOf(e);for(t!==-1&&Ls.splice(t,1),Ls.unshift(e);Ls.length>xS;){let n=-1;for(let o=Ls.length-1;o>=0;o--)if(Ls[o]!==H.activeSessionId){n=o;break}if(n===-1)break;const[s]=Ls.splice(n,1);if(s===void 0)break;Ln?.unsubscribe(s),Yi.add(s)}}function IS(e){const t=Ls.indexOf(e);t!==-1&&Ls.splice(t,1),Yi.delete(e)}async function AS(e){return Ql(e)}function Yl(e,t){return(H.inFlightBySession[e]??!1)||(H.turnActiveBySession[e]??!1)||(t??H.sessions.find(n=>n.id===e)?.mainTurnActive??!1)}function Zl(e){try{const t=new Date(e),s=Date.now()-t.getTime(),o=s/36e5;if(s<6e4)return St.global.t("sessions.justNow");if(o<1)return`${Math.round(s/6e4)}m`;if(o<24)return`${Math.round(o)}h`;const i=s/864e5;return i<7?`${Math.round(i)}d`:i<30?`${Math.round(i/7)}w`:i<365?`${Math.round(i/30)}mo`:`${Math.round(i/365)}y`}catch{return e}}const PS=3e4,ci=T(0);let Ia=null;function ES(){Ia===null&&(Ia=setInterval(()=>{ci.value=(ci.value+1)%Number.MAX_SAFE_INTEGER},PS),Ia.unref?.())}function BS(e,t){const n=e.split(`
+`),s=t.split(`
+`),o=[];return n.forEach((i,u)=>{o.push({kind:"rem",gutter:String(u+1),text:`- ${i}`})}),s.forEach((i,u)=>{o.push({kind:"add",gutter:String(u+1),text:`+ ${i}`})}),o}function RS(e){const t=e.display??{},n=typeof t.kind=="string"?t.kind:"";if(n==="diff"){const s=typeof t.path=="string"?t.path:"";return Array.isArray(t.diff)?{kind:"diff",path:s,diff:t.diff}:typeof t.old_text=="string"&&typeof t.new_text=="string"?{kind:"diff",path:s,diff:BS(t.old_text,t.new_text)}:{kind:"diff",path:s,diff:[]}}if(n==="shell"||n==="command"){const s=typeof t.command=="string"?t.command:e.action,o=typeof t.cwd=="string"?t.cwd:void 0,i=typeof t.danger=="string"?t.danger:void 0;return{kind:"shell",command:s,cwd:o,danger:i}}if(n==="file_content"||n==="file"){const s=typeof t.path=="string"?t.path:"",o=typeof t.content=="string"?t.content:"",i=typeof t.language=="string"?t.language:void 0;return{kind:"file",path:s,content:o,language:i}}if(n==="file_op"||n==="fileop"){const s=typeof t.operation=="string"?t.operation:typeof t.op=="string"?t.op:n,o=typeof t.path=="string"?t.path:"",i=typeof t.detail=="string"?t.detail:void 0;return{kind:"fileop",op:s,path:o,detail:i}}if(n==="url_fetch"||n==="url"){const s=typeof t.url=="string"?t.url:e.action;return{kind:"url",method:typeof t.method=="string"?t.method:void 0,url:s}}if(n==="search"){const s=typeof t.query=="string"?t.query:e.action,o=typeof t.scope=="string"?t.scope:void 0;return{kind:"search",query:s,scope:o}}if(n==="invocation"||n==="agent_call"||n==="skill_call"){const s=typeof t.kind=="string"?t.kind:n,o=typeof t.name=="string"?t.name:e.toolName,i=typeof t.description=="string"?t.description:void 0;return{kind:"invocation",kind2:s,name:o,description:i}}if(n==="todo"||n==="todo_list")return{kind:"todo",items:(Array.isArray(t.items)?t.items:[]).map(i=>{const u=i??{};return{title:typeof u.title=="string"?u.title:"",status:typeof u.status=="string"?u.status:"pending"}})};if(n==="plan_review"){const s=typeof t.plan=="string"?t.plan:"",o=typeof t.path=="string"?t.path:void 0,u=(Array.isArray(t.options)?t.options:[]).map(p=>{const f=p??{},v=typeof f.label=="string"?f.label:"";if(!v)return null;const k=typeof f.description=="string"?f.description:void 0;return{label:v,description:k}}).filter(p=>p!==null);return{kind:"plan_review",plan:s,path:o,options:u.length>0?u:void 0}}return{kind:"generic",summary:e.action}}function LS(e){return{questionId:e.questionId,sessionId:e.sessionId,questions:e.questions.map(t=>({id:t.id,question:t.question,header:t.header,body:t.body,options:t.options.map(n=>({id:n.id,label:n.label,description:n.description,recommended:n.recommended})),multiSelect:t.multiSelect,allowOther:t.allowOther,otherLabel:t.otherLabel}))}}function DS(e){const t=H.messagesBySession[e.sessionId];if(!t||t.length===0)return;const n=new Map;for(const o of t)if(o.role==="assistant")for(const i of o.content){if(i.type!=="toolUse"||i.toolName!=="Bash"&&i.toolName!=="bash")continue;const u=i.input,p=u&&typeof u.command=="string"?u.command:void 0;p&&n.set(i.toolCallId,p)}if(n.size===0)return;const s=`task_id: ${e.id}`;for(const o of t)if(o.role==="tool")for(const i of o.content){if(i.type!=="toolResult")continue;if((typeof i.output=="string"?i.output:i.output!==void 0?JSON.stringify(i.output):"").includes(s)){const p=n.get(i.toolCallId);if(p)return p}}}function OS(e){let t;e.status==="running"?t="run":e.status==="completed"?t="done":t="fail";let n="";if(e.status==="running"&&e.startedAt){const u=Math.round((Date.now()-new Date(e.startedAt).getTime())/1e3),p=Math.floor(u/60),f=u%60;n=St.global.t("tasks.timingRunning",{time:`${p}:${String(f).padStart(2,"0")}`})}else if(e.completedAt&&e.startedAt){const u=Math.round((new Date(e.completedAt).getTime()-new Date(e.startedAt).getTime())/1e3);n=St.global.t("tasks.timingDone",{sec:u})}else n=e.status;const s=e.outputLines&&e.outputLines.length>0?e.outputLines:e.outputPreview?e.outputPreview.split(/\r?\n/):void 0,o=e.command??DS(e),i=e.kind==="bash"&&o?`$ ${o}`:void 0;return{id:e.id,name:e.description,kind:e.kind,state:t,timing:n,meta:i,output:s,runInBackground:e.runInBackground,parentToolCallId:e.parentToolCallId}}const zS=M(()=>{const e=H.sessions.find(n=>n.id===H.activeSessionId),t=e?e.cwd.split("/").pop()??e.cwd:"main";return{name:H.workspaceName,branch:t}}),FS=M(()=>(ci.value,H.sessions.toSorted((e,t)=>new Date(t.updatedAt).getTime()-new Date(e.updatedAt).getTime()).map(e=>({id:e.id,title:e.title,time:Zl(e.updatedAt),busy:Yl(e.id,e.mainTurnActive),pendingInteraction:e.pendingInteraction,lastTurnReason:e.lastTurnReason})))),NS=M(()=>H.activeSessionId??""),WS=M(()=>{const e=H.activeSessionId;if(e)return $t.skillsBySession.value[e]??[];const t=ra.value;return t?$t.skillsByWorkspace.value[t]??[]:[]}),Xl=M(()=>{const e=H.activeSessionId;return e?H.inFlightBySession[e]??!1:!1}),qS=M(()=>Fe.isStartingFirstPrompt()),Bn=_4(H,{pushOperationFailure:vi,nextOptimisticMsgId:Cd,connectEventsIfNeeded:_d,getEventConn:()=>Ln,resolveThinkingForPrompt:(e,t)=>$t.resolveThinkingForPrompt(e,t)}),gi=M(()=>{const e=H.activeSessionId;if(!e)return[];const t=Bn.sideChatTargetBySession.value[e]?.agentId;return(H.tasksBySession[e]??[]).filter(n=>n.id!==t)}),xd=lw(H,gi),HS=M(()=>{const e=H.activeSessionId;if(!e)return[];const t=new Set(H.sideChatUserMessageIdsBySession[e]??[]),n=(H.messagesBySession[e]??[]).filter(o=>!t.has(o.id)),s=H.approvalsBySession[e]??[];return Gc(n,s,o=>De().getFileUrl(o),la.value,H.planReviewByToolCallId)}),la=M(()=>{const e=H.activeSessionId;return e?(H.turnActiveBySession[e]??!1)||(H.sessions.find(t=>t.id===e)?.mainTurnActive??!1):!1}),US=M(()=>Xl.value||la.value),VS=T(null),jS=M(()=>(xd.taskClock.value,gi.value.map(OS))),Td=M(()=>U4(gi.value)),KS=M(()=>j4(gi.value)),Eo=M(()=>{const e=H.activeSessionId;return e?H.goalBySession[e]??null:null}),GS=M(()=>{const e=H.activeSessionId;return e?W4(H.messagesBySession[e]??[]):[]}),QS=M(()=>{const e=H.activeSessionId;return e?H.compactionBySession[e]??null:null}),YS=M(()=>H.connection),ZS=M(()=>H.loading),XS=M(()=>H.sessionLoading),JS=M(()=>{const e=H.activeSessionId;return e?H.messagesLoadingMoreBySession[e]??!1:!1}),eC=M(()=>{const e=H.activeSessionId;return e?H.messagesHasMoreBySession[e]??!1:!1}),tC=M(()=>{const e=H.activeSessionId;return e?H.messagesLoadMoreErrorBySession[e]??!1:!1}),nC=M(()=>H.serverVersion),Id=M(()=>H.backend),sC=M(()=>H.dangerousBypassAuth),oC=M(()=>H.kimiOauthEnabled);Ne(Id,e=>{Ln!==null&&Ln.setTranscriptMode(e==="v2")},{immediate:!0});function iC(){H.dangerousBypassAuth=!1}const aC=M(()=>H.permission),lC=M(()=>H.thinking),Ad=M(()=>{const e=H.activeSessionId;return e?H.planModeBySession[e]??!1:Vo.planMode}),rC=M(()=>{const e=H.activeSessionId;return e?H.planArmedBySession[e]??!1:Vo.planArmed}),uC=M(()=>{const e=H.activeSessionId;return e?H.swarmModeBySession[e]??!1:Vo.swarmMode}),cC=M(()=>{const e=H.activeSessionId;return e?H.supermoonModeBySession[e]??!1:Vo.supermoonMode}),dC=M(()=>{const e=H.activeSessionId;return e?H.goalModeBySession[e]??!1:Vo.goalMode}),pC=M(()=>{const e=V4(Td.value);return{plan:Ad.value,goal:Eo.value&&Eo.value.status!=="complete"?{status:Eo.value.status,turnsUsed:Eo.value.turnsUsed,elapsedMs:Eo.value.wallClockMs}:null,swarm:e.total>0?e:null}}),fC=M(()=>{const e=H.activeSessionId;if(!e)return[];const t=De();return(H.queuedBySession[e]??[]).map(n=>({text:n.text,attachmentCount:n.attachments?.length??0,attachments:n.attachments?.map(s=>({fileId:s.fileId,kind:s.kind,url:t.getFileUrl(s.fileId),name:s.name}))}))}),mC=M(()=>H.warnings),ko=T([]),Jl=T(c2());function vC(e){Jl.value=e,Nt(Ge.taskNotices,e?"1":"0"),e||(ko.value=[])}function gC(e){if(!Jl.value||!(e.runInBackground===!0||e.backgroundTaskId!==void 0)||ko.value.some(o=>o.taskId===e.id))return;const n=d2(e,e.outputPreview??e.text),s={taskId:e.id,sessionId:e.sessionId,view:n,createdAt:Date.now()};ko.value=[...ko.value,s].slice(-3)}function hC(e){ko.value=ko.value.filter(t=>t.taskId!==e)}const yC=M(()=>{const e=H.activeSessionId;return e?(H.questionsBySession[e]??[]).map(LS):[]}),kC=M(()=>{const e=H.activeSessionId;return e?(H.approvalsBySession[e]??[]).map(t=>({approvalId:t.approvalId,block:RS(t),agentName:t.agentName})):[]}),er=M(()=>{const e=H.activeSessionId;return e?(H.approvalsBySession[e]??[]).length>0?"awaiting-approval":(H.questionsBySession[e]??[]).length>0?"awaiting-question":Xl.value||la.value?"running":"idle":"idle"}),$t=qw(H,{pushOperationFailure:vi,refreshSessionStatus:mi,persistSessionProfile:kd,activity:er,updateSession:aa,updateSessionMessages:pd}),dl=M(()=>{const e=H.activeSessionId;if(!e)return null;const t=H.gitStatusBySession[e];return t?{branch:t.branch,ahead:t.ahead,behind:t.behind}:null}),bC=M(()=>{const e=H.activeSessionId;return e?H.gitStatusBySession[e]?.pullRequest??null:null}),wC=M(()=>{const e=H.activeSessionId;if(!e)return[];const t=H.gitStatusBySession[e];return t?Object.entries(t.entries).map(([n,s])=>({path:n,status:s})).sort((n,s)=>n.path.localeCompare(s.path)):[]}),SC=M(()=>{const e=H.activeSessionId;if(!e)return null;const t=H.gitStatusBySession[e];return t?{totalAdditions:t.additions,totalDeletions:t.deletions}:null}),tr="—",Pd=M(()=>{const e=H.sessions.find(u=>u.id===H.activeSessionId),t=dl.value?.branch??(e?e.cwd.split("/").pop()??e.cwd:"main"),n=e===void 0?$t.draftModel.value:null,s=(e?.model&&e.model.length>0?e.model:n??H.defaultModel)??tr,o=$t.models.value.find(u=>u.id===s)??$t.models.value.find(u=>u.model===s);return{model:o?.displayName||o?.model||(s.includes("/")?s.split("/").pop():s),modelId:o?.id??s,ctxUsed:e?.usage.contextTokens??0,ctxMax:e?.usage.contextLimit??0,permission:H.permission,branch:t,cwd:e?.cwd??"",isGitRepo:dl.value!==null}}),CC=M(()=>vd.value),_C=M(()=>H.sessions.find(t=>t.id===H.activeSessionId)?.usage.totalCostUsd??0),MC=M(()=>H.authReady),$C=M(()=>H.defaultModel),xC=M(()=>H.accountModel),TC=M(()=>H.managedProviderStatus),IC=M(()=>H.config),AC=M(()=>{const e=H.activeSessionId;if(!e)return{};const t=H.gitStatusBySession[e];return t?{...t.entries}:{}});function No(e){const t=ps(e.cwd);return H.workspaces.find(n=>ps(n.root)===t)?.id??e.workspaceId??e.cwd}const di=M(()=>Xb({workspaces:H.workspaces,sessions:H.sessions,hiddenWorkspaceRoots:H.hiddenWorkspaceRoots,sessionsHasMoreByWorkspace:H.sessionsHasMoreByWorkspace})),Zi=T(qp()),Wo=T(Hp()==="manual"?"manual":"recent"),Oo=T(Up());Ne(()=>H.sessions,e=>{const t=bf(e,No),{next:n,changed:s}=wf(Oo.value,t);s&&(Oo.value=n,ac(n))});const Xi=T(of()),pl=T(c0());function PC(e){const t=lf(Xi.value,e);Xi.value=t,af(t)}function EC(e,t){const n=p0(pl.value,e,t);pl.value=n,d0(n)}const Fs=T(Jb()),Ed=T(mf());function BC(e){const t=e2(Fs.value,e);Fs.value=t,Pl(t)}function RC(e){const t=t2(Fs.value,e);Fs.value=t,Pl(t)}function LC(e){const t=n2(Fs.value,e);Fs.value=t,Pl(t)}function DC(e){Ed.value=e,vf(e)}async function OC(e){try{return await De().undoSession(e),!0}catch{return!1}}Ne(()=>[di.value.map(e=>e.id).join("\0"),H.loading],([e,t])=>{if(t)return;const n=e?e.split("\0"):[],s=cc(di.value,Oo.value),o=gf(n,Zi.value,s);o!==null&&(Zi.value=o,oc(o));const{next:i,changed:u}=Sf(Oo.value,new Set(n));u&&(Oo.value=i,ac(i))});const _o=M(()=>{const e=di.value.map(t=>({id:t.id,name:t.name,root:t.root,shortPath:J4(t.root,H.fsHome),sessionCount:t.sessionCount}));if(Wo.value==="recent"){const t=cc(di.value,Oo.value);return kf(e,t)}return hf(e,Zi.value)}),ra=M(()=>{const e=H.activeWorkspaceId,t=_o.value;return e&&t.some(n=>n.id===e)?e:t[0]?.id??null});Ne(ra,e=>{e&&(Object.prototype.hasOwnProperty.call($t.skillsByWorkspace.value,e)||$t.loadSkillsForWorkspace(e))},{immediate:!0});const zC=M(()=>{const e=ra.value;return e?_o.value.find(t=>t.id===e)??null:null});function Bd(e){return!e||e.state!=="open"&&e.state!=="closed"&&e.state!=="merged"?null:{number:e.number,state:e.state,url:e.url}}const FC=M(()=>{ci.value;const e=new Set(_o.value.map(n=>n.id)),t=new Map(_o.value.map(n=>[n.id,n.name]));return H.sessions.filter(n=>!n.parentSessionId&&e.has(No(n))).map(n=>{const s=No(n);return{id:n.id,title:n.title,time:Zl(n.updatedAt),busy:Yl(n.id,n.mainTurnActive),pendingInteraction:n.pendingInteraction,lastTurnReason:n.lastTurnReason,updatedAt:n.updatedAt,lastPrompt:n.lastPrompt,done:Fs.value.includes(n.id),workspaceId:s,workspaceName:t.get(s),pullRequest:Bd(H.gitStatusBySession[n.id]?.pullRequest)}})}),NC=M(()=>{ci.value;const e=new Map;for(const t of H.sessions.toSorted((n,s)=>new Date(s.updatedAt).getTime()-new Date(n.updatedAt).getTime())){if(t.parentSessionId)continue;const n=No(t),s={id:t.id,title:t.title,time:Zl(t.updatedAt),busy:Yl(t.id,t.mainTurnActive),pendingInteraction:t.pendingInteraction,lastTurnReason:t.lastTurnReason,updatedAt:t.updatedAt,done:Fs.value.includes(t.id),pullRequest:Bd(H.gitStatusBySession[t.id]?.pullRequest)},o=e.get(n)??[];o.push(s),e.set(n,o)}return _o.value.map(t=>({workspace:t,sessions:rc(e.get(t.id)??[],Xi.value),hasMore:H.sessionsHasMoreByWorkspace[t.id]??!1,loadingMore:H.sessionsLoadingMoreByWorkspace[t.id]??!1,initialCount:H.sessionsInitialCountByWorkspace[t.id]??al}))});function WC(e){Zi.value=e,oc(e),Wo.value!=="manual"&&(Wo.value="manual",ic("manual"))}function qC(e){Wo.value!==e&&(Wo.value=e,ic(e))}const Rd=M(()=>{const e={};for(const[t,n]of Object.entries(H.approvalsBySession))n.length>0&&(e[t]=(e[t]??0)+n.length);for(const[t,n]of Object.entries(H.questionsBySession))n.length>0&&(e[t]=(e[t]??0)+n.length);return e}),HC=M(()=>{const e={};for(const[t,n]of Object.entries(H.approvalsBySession))n.length>0&&((e[t]??={approvals:0,questions:0}).approvals=n.length);for(const[t,n]of Object.entries(H.questionsBySession))n.length>0&&((e[t]??={approvals:0,questions:0}).questions=n.length);return e}),UC=M(()=>{const e={};for(const[t,n]of Object.entries(H.unreadBySession))n&&(e[t]=!0);return e}),VC=M(()=>{const e={},t=Rd.value;for(const n of H.sessions){const s=t[n.id]??0;if(s<=0)continue;const o=No(n);e[o]=(e[o]??0)+s}return e}),jC=M(()=>H.recentRoots),KC=M(()=>H.availableOpenInApps),GC=M(()=>H.webTitle),Fe=Fw(H,{taskPoller:xd,sideChat:Bn,modelProvider:$t,pushOperationFailure:vi,activity:er,sessionsKnownEmpty:Md,setSessions:cd,updateSession:aa,upsertSessionFront:eS,appendSession:tS,forgetSession:fd,setActiveSessionId:Kl,updateSessionMessages:pd,nextOptimisticMsgId:Cd,getEventConn:()=>Ln,syncSessionFromSnapshot:Ql,reopenSession:AS,hasLoadedMessages:$S,refreshSessionStatus:mi,refreshSessionGoal:aS,persistSessionProfile:kd,mergedWorkspaces:di,workspacesView:_o,status:Pd,workspaceIdForSession:No,savePermissionToStorage:G4,savePlanModeToStorage:od,savePlanArmedToStorage:id,saveSwarmModeToStorage:ad,saveSupermoonModeToStorage:ld,saveGoalModeToStorage:rd,draftModes:Vo,saveUnread:Ml,saveActiveWorkspaceToStorage:X4,saveHiddenWorkspacesToStorage:Z4,goalErrorMessage:CS,resetFastMoon:Rs.resetFastMoon,initialized:hd,connectIssue:yd,selectedDiffPath:md,fileDiffLines:vd,fileDiffLoading:gd});function nr(e){return e===H.activeSessionId&&typeof document<"u"&&document.visibilityState==="visible"&&document.hasFocus()}const Aa=new Map;function QC(e){const t=Aa.get(e);Kb(t)&&(Aa.set(e,Gb(t)),De().generateSessionTitle(e,{source:"first_turn"}).then(n=>{n!==null&&Aa.set(e,Qb())}).catch(()=>{}))}function YC(e){if(H.turnActiveBySession[e]){const t={...H.turnActiveBySession};delete t[e],H.turnActiveBySession=t}H.inFlightBySession[e]&&(H.inFlightBySession={...H.inFlightBySession,[e]:!1})}function ZC(e,t,n){const s=H.promptIdBySession[e];Fe.finishPromptLocal(e,{turnWasActive:n}),H.config?.experimental?.auto_session_title===!0&&QC(e),Fe.loadGitStatus(e),e===H.activeSessionId?mi(e):t==="idle"&&(H.unreadBySession={...H.unreadBySession,[e]:!0},Ml({[e]:!0}));const o=(H.approvalsBySession[e]??[]).length>0,i=(H.questionsBySession[e]??[]).length>0;F2(t,o,i)&&_s.maybeNotifyCompletion(e,{isUserWatching:nr(e),sessionTitle:H.sessions.find(u=>u.id===e)?.title??"",promptId:s,onClick:()=>{Fe.selectSession(e)}}),t==="idle"&&ui.maybePlayCompletionSound()}function XC(e,t){const n=t.questions[0],s=n?.header?.trim()??"",o=n?.question?.trim()??"",i=s&&o?`${s}: ${o}`:o||s;_s.maybeNotifyQuestion({isUserWatching:nr(e),sessionTitle:H.sessions.find(u=>u.id===e)?.title??"",questionPreview:i,questionId:t.questionId,onClick:()=>{Fe.selectSession(e)}}),ui.maybePlayQuestionSound()}function JC(e,t){_s.maybeNotifyApproval({isUserWatching:nr(e),sessionTitle:H.sessions.find(n=>n.id===e)?.title??"",toolName:t.toolName,approvalId:t.approvalId,onClick:()=>{Fe.selectSession(e)}}),ui.maybePlayApprovalSound()}function hi(){return ES(),{workspace:zS,sessions:FS,activeSessionId:NS,workspacesView:_o,workspaceSortMode:Wo,visibleWorkspace:zC,activeWorkspaceId:ra,sessionsForView:FC,workspaceGroups:NC,attentionBySession:Rd,pendingBySession:HC,attentionByWorkspace:VC,unreadBySession:UC,pinnedSessionIds:Xi,sessionEmojiBySession:pl,doneSessionIds:Fs,multiTabSidebar:Ed,recentRoots:jC,turns:HS,tasks:jS,activeAppTasks:gi,todos:GS,goal:Eo,swarms:Td,swarmMembersByToolCallId:KS,activationBadges:pC,compaction:QS,status:Pd,sessionCost:_C,fileDiff:CC,selectedDiffPath:md,fileDiffLoading:gd,changes:wC,gitInfo:dl,gitDiffStats:SC,activePullRequest:bC,changesByPath:AC,pendingApprovals:kC,availableOpenInApps:KC,webTitle:GC,connection:YS,loading:ZS,sessionLoading:XS,loadingMoreMessages:JS,hasMoreMessages:eC,loadMoreMessagesError:tC,serverVersion:nC,backend:Id,dangerousBypassAuth:sC,kimiOauthEnabled:oC,clearDangerousBypassAuth:iC,initialized:hd,connectIssue:yd,permission:aC,thinking:lC,planMode:Ad,planArmed:rC,swarmMode:uC,supermoonMode:cC,goalMode:dC,queued:fC,warnings:mC,questions:yC,activity:er,turnActive:la,inFlight:Xl,working:US,modelRetry:VS,isStartingFirstPrompt:qS,fastMoon:Rs.fastMoon,models:$t.models,starredModelIds:$t.starredModelIds,providers:$t.providers,uiFontSize:Rs.uiFontSize,setUiFontSize:Rs.setUiFontSize,conversationToc:wd,setConversationToc:uS,colorScheme:Rs.colorScheme,setColorScheme:Rs.setColorScheme,accent:Rs.accent,setAccent:Rs.setAccent,notifyOnComplete:_s.notifyOnComplete,notifyOnQuestion:_s.notifyOnQuestion,notifyOnApproval:_s.notifyOnApproval,notifyPermission:_s.notifyPermission,setNotifyOnComplete:_s.setNotifyOnComplete,setNotifyOnQuestion:_s.setNotifyOnQuestion,setNotifyOnApproval:_s.setNotifyOnApproval,soundOnComplete:ui.soundOnComplete,setSoundOnComplete:ui.setSoundOnComplete,onboarded:Sd,setOnboarded:dS,load:Fe.load,selectSession:Fe.selectSession,clearActiveSession:Fe.clearActiveSession,loadOlderMessages:Fe.loadOlderMessages,loadWorkspaces:Fe.loadWorkspaces,loadMoreSessions:Fe.loadMoreSessions,loadAllSessions:Fe.loadAllSessions,selectWorkspace:Fe.selectWorkspace,openWorkspace:Fe.openWorkspace,openWorkspaceDraft:Fe.openWorkspaceDraft,startSessionAndSendPrompt:Fe.startSessionAndSendPrompt,startSessionAndActivateSkill:Fe.startSessionAndActivateSkill,startSessionAndOpenSideChat:Fe.startSessionAndOpenSideChat,addWorkspaceByPath:Fe.addWorkspaceByPath,browseFs:Fe.browseFs,getFsHome:Fe.getFsHome,sendPrompt:Fe.sendPrompt,steerPrompt:Fe.steerPrompt,steerQueuedPrompt:Fe.steerQueuedPrompt,sendQueuedPrompt:Fe.sendQueuedPrompt,sideChatVisible:Bn.sideChatVisible,sideChatSessionId:Bn.sideChatSessionId,sideChatTurns:Bn.sideChatTurns,sideChatRunning:Bn.sideChatRunning,sideChatSending:Bn.sideChatSending,openSideChat:Bn.openSideChat,closeSideChat:Bn.closeSideChat,sendSideChatPrompt:Bn.sendSideChatPrompt,terminal:Oi,uploadImage:Fe.uploadImage,abortCurrentPrompt:Fe.abortCurrentPrompt,respondApproval:Fe.respondApproval,respondQuestion:Fe.respondQuestion,dismissQuestion:Fe.dismissQuestion,pendingQuestionActions:Fe.pendingQuestionActions,pendingApprovalActions:Fe.pendingApprovalActions,cancelTask:Fe.cancelTask,detachTask:Fe.detachTask,setPermission:Fe.setPermission,setThinking:$t.setThinking,setPlanMode:Fe.setPlanMode,togglePlanMode:Fe.togglePlanMode,armPlanMode:Fe.armPlanMode,dismissPlanMode:Fe.dismissPlanMode,togglePlanArm:Fe.togglePlanArm,setSwarmMode:Fe.setSwarmMode,toggleSwarmMode:Fe.toggleSwarmMode,setSupermoonMode:Fe.setSupermoonMode,toggleSupermoonMode:Fe.toggleSupermoonMode,setGoalMode:Fe.setGoalMode,toggleGoalMode:Fe.toggleGoalMode,createGoal:Fe.createGoal,controlGoal:Fe.controlGoal,enqueue:Fe.enqueue,dismissWarning:Fe.dismissWarning,taskNotices:ko,taskNoticesEnabled:Jl,setTaskNoticesEnabled:vC,dismissTaskNotice:hC,renameSession:Fe.renameSession,regenerateSessionTitle:Fe.regenerateSessionTitle,renameWorkspace:Fe.renameWorkspace,deleteWorkspace:Fe.deleteWorkspace,reorderWorkspaces:WC,setWorkspaceSortMode:qC,togglePinnedSession:PC,setSessionEmoji:EC,toggleDoneSession:BC,markSessionsDone:RC,reopenSessions:LC,setMultiTabSidebar:DC,undoSessionById:OC,archiveSession:Fe.archiveSession,exportSession:Fe.exportSession,restoreSession:Fe.restoreSession,loadArchivedSessions:Fe.loadArchivedSessions,compact:Fe.compact,forkSession:Fe.forkSession,undo:Fe.undo,unqueue:Fe.unqueue,reorderQueue:Fe.reorderQueue,searchFiles:Fe.searchFiles,loadGitStatus:Fe.loadGitStatus,loadFileDiff:Fe.loadFileDiff,clearFileDiff:Fe.clearFileDiff,listDir:Fe.listDir,readFileContent:Fe.readFileContent,getFileDownloadUrl:Fe.getFileDownloadUrl,openWorkspaceFile:Fe.openWorkspaceFile,openInApp:Fe.openInApp,revealWorkspaceFile:Fe.revealWorkspaceFile,resolveImageUrl:Fe.resolveImageUrl,loadModels:$t.loadModels,loadProviders:$t.loadProviders,skills:WS,activateSkill:$t.activateSkill,setModel:$t.setModel,toggleStarModel:$t.toggleStarModel,addProvider:$t.addProvider,deleteProvider:$t.deleteProvider,refreshProvider:$t.refreshProvider,refreshAllProviders:$t.refreshAllProviders,importCatalogProvider:$t.importCatalogProvider,importRegistry:$t.importRegistry,authReady:MC,defaultModel:$C,accountModel:xC,managedProviderStatus:TC,config:IC,updateConfig:Fe.updateConfig,checkAuth:Fe.checkAuth,startOAuthLogin:$t.startOAuthLogin,resolveOAuthRegion:$t.resolveOAuthRegion,pollOAuthLogin:$t.pollOAuthLogin,cancelOAuthLogin:$t.cancelOAuthLogin,logout:Fe.logout}}const e3=["aria-label"],t3=Ee({__name:"Spinner",props:{size:{default:"md"},label:{default:"Loading"}},setup(e){return(t,n)=>(l(),c("span",{class:fe(["ui-spinner",`ui-spinner--${e.size}`]),role:"status","aria-label":e.label},[...n[0]||(n[0]=[r("svg",{class:"ui-spinner__svg",viewBox:"0 0 24 24","aria-hidden":"true"},[r("circle",{class:"ui-spinner__track",cx:"12",cy:"12",r:"9"}),r("circle",{class:"ui-spinner__arc",cx:"12",cy:"12",r:"9"})],-1)])],10,e3))}}),Gt=Re(t3,[["__scopeId","data-v-e5c5b17d"]]),n3=Ee({__name:"Menu",setup(e,{expose:t}){const n=T();return t({el:n}),(s,o)=>(l(),c("div",{ref_key:"el",ref:n,class:"ui-menu",role:"menu"},[At(s.$slots,"default",{},void 0,!0)],512))}}),Fn=Re(n3,[["__scopeId","data-v-60e6cd8d"]]),s3={key:0,class:"ui-menu-sep",role:"separator"},o3=["disabled"],i3=Ee({__name:"MenuItem",props:{active:{type:Boolean},danger:{type:Boolean},disabled:{type:Boolean},separator:{type:Boolean},size:{default:"md"}},emits:["click"],setup(e){return(t,n)=>e.separator?(l(),c("div",s3)):(l(),c("button",{key:1,class:fe(["ui-menu-item",[`ui-menu-item--${e.size}`,{"is-active":e.active,"is-danger":e.danger}]]),type:"button",role:"menuitem",disabled:e.disabled,onClick:n[0]||(n[0]=s=>t.$emit("click",s))},[At(t.$slots,"default",{},void 0,!0)],10,o3))}}),st=Re(i3,[["__scopeId","data-v-f940771a"]]),Gs=6,Qs=8,a3=150,l3=Ee({__name:"Tooltip",props:{text:{},placement:{default:"top"},maxWidth:{default:280},maxLines:{default:6}},setup(e){const t=e,n=T(),s=T(),o=T(!1),i=T(!1),u=T({maxWidth:`${t.maxWidth}px`});let p,f=null,v;function k(){const h=s.value;if(!f||!h)return;const y=f.getBoundingClientRect(),S=h.offsetWidth,B=h.offsetHeight,b=window.innerWidth,P=window.innerHeight;let E=t.placement;E==="top"&&y.top-Gs-BP-Qs?E="top":E==="left"&&y.left-Gs-Sb-Qs&&(E="left");let R=0,W=0;E==="top"?(R=y.top-Gs-B,W=y.left+y.width/2-S/2):E==="bottom"?(R=y.bottom+Gs,W=y.left+y.width/2-S/2):E==="left"?(R=y.top+y.height/2-B/2,W=y.left-Gs-S):(R=y.top+y.height/2-B/2,W=y.right+Gs),W=Math.min(Math.max(W,Qs),b-Qs-S),R=Math.min(Math.max(R,Qs),P-Qs-B),u.value={maxWidth:`${t.maxWidth}px`,top:`${Math.round(R)}px`,left:`${Math.round(W)}px`}}function x(){t.text&&(window.clearTimeout(p),p=window.setTimeout(()=>{o.value=!0,i.value=!1,window.addEventListener("scroll",m,{capture:!0,passive:!0}),window.addEventListener("resize",m,{passive:!0}),Xe(()=>{k(),i.value=!0})},a3))}function g(){window.clearTimeout(p),window.removeEventListener("scroll",m,{capture:!0}),window.removeEventListener("resize",m),o.value=!1,i.value=!1}function m(){o.value&&g()}function $(h){h!==f&&(f&&(f.removeEventListener("mouseenter",x),f.removeEventListener("mouseleave",g),f.removeEventListener("focusin",x),f.removeEventListener("focusout",g)),f=h,f&&(f.addEventListener("mouseenter",x),f.addEventListener("mouseleave",g),f.addEventListener("focusin",x),f.addEventListener("focusout",g)))}return xt(()=>{const h=n.value??null;$(h?.firstElementChild??h),h&&(v=new MutationObserver(()=>{const y=h.firstElementChild??null;y!==f&&(g(),$(y??h))}),v.observe(h,{childList:!0}))}),_n(()=>{window.clearTimeout(p),window.removeEventListener("scroll",m,{capture:!0}),window.removeEventListener("resize",m),v?.disconnect(),$(null)}),(h,y)=>(l(),c(de,null,[r("span",{ref_key:"trigger",ref:n,class:"ui-tip"},[At(h.$slots,"default",{},void 0,!0)],512),(l(),q(ss,{to:"body"},[wt(r("div",{ref_key:"bubble",ref:s,class:fe(["ui-tip__bubble",{positioned:i.value}]),style:vt([u.value,{"--tip-lines":e.maxLines}]),role:"tooltip"},d(e.text),7),[[Wn,o.value]])]))],64))}}),gt=Re(l3,[["__scopeId","data-v-98697f45"]]),r3={class:"row"},u3={class:"lead","aria-hidden":"true"},c3={key:1,class:"unread-dot"},d3={class:"left"},p3=["onKeydown"],f3={key:0,class:"t-emoji","aria-hidden":"true"},m3=["aria-label"],v3={class:"act"},g3={class:"ts"},h3={key:0,class:"emoji-glyph"},y3={class:"menu-time"},k3=["aria-label"],b3={class:"emoji-grid"},w3=["aria-label","onClick"],S3=Ee({__name:"SessionRow",props:{session:{},active:{type:Boolean},approvalCount:{default:0},questionCount:{default:0},unread:{type:Boolean,default:!1}},emits:["select","rename","archive","fork","export"],setup(e,{expose:t,emit:n}){const{t:s}=Ye(),{pinnedSessionIds:o,sessionEmojiBySession:i,togglePinnedSession:u,setSessionEmoji:p,toggleDoneSession:f,multiTabSidebar:v,config:k,regenerateSessionTitle:x}=hi(),g=e,m=n,$=M(()=>o.value.includes(g.session.id)),h=M(()=>i.value[g.session.id]??null),y=M(()=>g.session.done===!0);function S(){f(g.session.id)}const B=M(()=>k.value?.experimental?.auto_session_title===!0),b=M(()=>g.session.pullRequest??null),P=T(!1);async function E(){if(!P.value){P.value=!0;try{await x(g.session.id)}finally{P.value=!1}}}function R(){const Se=b.value?.url;Se&&window.open(Se,"_blank","noopener")}function W(){u(g.session.id)}function Q(Se){p(g.session.id,Se),ke()}function V(Se){const Ae=new Date(Se);if(Number.isNaN(Ae.getTime()))return Se;const Je=ht=>String(ht).padStart(2,"0");return`${Ae.getFullYear()}-${Je(Ae.getMonth()+1)}-${Je(Ae.getDate())} ${Je(Ae.getHours())}:${Je(Ae.getMinutes())}`}const C=M(()=>g.session.updatedAt?V(g.session.updatedAt):g.session.time),D=T(!1),O=T(null),J=T(null),ve=T({});function me(Se){const Ae=Se.target;J.value?.el?.contains(Ae)||O.value?.el?.contains(Ae)||le()}function ze(){const Se=O.value?.el;if(!Se)return;const Ae=J.value?.el,Je=Se.getBoundingClientRect(),ht=4,qe=8,He=Ae?.offsetHeight??0,Ue=Ae?.offsetWidth??0;let ct=Je.bottom+ht;ct+He>window.innerHeight-qe&&(ct=Math.max(qe,Je.top-He-ht));let it=Je.right-Ue;itdocument.addEventListener("mousedown",me),0),window.addEventListener("resize",le),await Xe(),ze()}function le(){D.value=!1,document.removeEventListener("mousedown",me),window.removeEventListener("resize",le)}kt(()=>{document.removeEventListener("mousedown",me),window.removeEventListener("resize",le),document.removeEventListener("mousedown",F),window.removeEventListener("resize",ke)});const te=T(!1),re=T(null),se=T(null),he=T({});function ae(){const Se=re.value?.el;if(!Se)return;const Ae=se.value,Je=Se.getBoundingClientRect(),ht=4,qe=8,He=Ae?.offsetHeight??0,Ue=Ae?.offsetWidth??0;let ct=Je.bottom+ht;ct+He>window.innerHeight-qe&&(ct=Math.max(qe,Je.top-He-ht));let it=Je.right-Ue;itdocument.addEventListener("mousedown",F),0),window.addEventListener("resize",ke),await Xe(),ae()}function ke(){te.value=!1,document.removeEventListener("mousedown",F),window.removeEventListener("resize",ke)}const we=T(!1),Le=T(""),Ze=T(null),be=T(!1);async function pe(){le(),we.value=!0,be.value=!1,Le.value=g.session.title,await Xe();try{Ze.value?.focus(),Ze.value?.select()}catch{}}function ne(){const Se=Le.value.trim();Se&&m("rename",g.session.id,Se),we.value=!1}function Z(){we.value=!1}function oe(Se){be.value||Wi(Se)||ne()}function K(Se){be.value||Wi(Se)||Z()}const Be=T(!1),Ve=T(!1);async function yt(){const Se=await an(g.session.id);Be.value=Se,Ve.value=!Se,setTimeout(()=>{Be.value=!1,Ve.value=!1,le()},1500)}function dt(){le(),m("fork",g.session.id)}function Me(){le(),m("export",g.session.id)}function xe(){le(),m("archive",g.session.id)}return t({closeMenu:le}),(Se,Ae)=>(l(),c("div",{class:fe(["se",{on:e.active,"has-gen":B.value}]),onClick:Ae[9]||(Ae[9]=Je=>m("select",e.session.id))},[r("div",r3,[r("span",u3,[e.session.busy?(l(),q(Gt,{key:0,size:"sm"})):e.unread?(l(),c("span",c3)):I("",!0)]),r("div",d3,[we.value?wt((l(),c("input",{key:0,ref_key:"renameInputRef",ref:Ze,"onUpdate:modelValue":Ae[0]||(Ae[0]=Je=>Le.value=Je),class:"rename-input",onClick:Ae[1]||(Ae[1]=Oe(()=>{},["stop"])),onCompositionstart:Ae[2]||(Ae[2]=Je=>be.value=!0),onCompositionend:Ae[3]||(Ae[3]=Je=>be.value=!1),onKeydown:[Cn(Oe(oe,["stop"]),["enter"]),Cn(Oe(K,["stop"]),["esc"])],onBlur:ne},null,40,p3)),[[Dn,Le.value]]):(l(),c("span",{key:1,class:"t",onDblclick:Oe(pe,["stop"])},[h.value?(l(),c("span",f3,d(h.value),1)):I("",!0),ee(d(e.session.title),1)],32))]),w(gt,{text:a(s)("workspace.awaitingAnswerTitle")},{default:L(()=>[!we.value&&(e.questionCount>0||e.session.pendingInteraction==="question")?(l(),q(Et,{key:0,variant:"info",size:"sm"},{default:L(()=>[ee(d(a(s)("workspace.awaitingAnswer")),1)]),_:1})):I("",!0)]),_:1},8,["text"]),w(gt,{text:a(s)("workspace.awaitingPermissionTitle")},{default:L(()=>[!we.value&&(e.approvalCount>0||e.session.pendingInteraction==="approval")?(l(),q(Et,{key:0,variant:"warning",size:"sm"},{default:L(()=>[ee(d(a(s)("workspace.awaitingPermission")),1)]),_:1})):I("",!0)]),_:1},8,["text"]),!we.value&&y.value?(l(),q(Et,{key:0,variant:"success",size:"sm"},{default:L(()=>[ee(d(a(s)("sidebar.tagDone")),1)]),_:1})):I("",!0),w(gt,{text:a(s)("workspace.abortedTitle")},{default:L(()=>[!we.value&&!e.session.busy&&e.session.pendingInteraction!=="question"&&e.session.pendingInteraction!=="approval"&&e.questionCount===0&&e.approvalCount===0&&a(Ka)(e.session)?(l(),q(Et,{key:0,variant:"danger",size:"sm"},{default:L(()=>[ee(d(a(s)("workspace.aborted")),1)]),_:1})):I("",!0)]),_:1},8,["text"]),!we.value&&b.value?(l(),c("button",{key:1,type:"button",class:fe(["pr",`pr--${b.value.state}`]),"aria-label":a(s)("sidebar.prTag",{number:b.value.number}),onClick:Oe(R,["stop"])},[w(X,{name:"git-pull-request",size:"sm"}),r("span",null,"#"+d(b.value.number),1)],10,m3)):I("",!0),r("span",v3,[r("span",g3,d(e.session.time),1),we.value?I("",!0):(l(),q(lt,{key:0,class:fe(["btn pin",{on:$.value}]),size:"sm",label:$.value?a(s)("sidebar.unpin"):a(s)("sidebar.pin"),onClick:Oe(W,["stop"])},{default:L(()=>[w(X,{name:$.value?"pin-fill":"pin"},null,8,["name"])]),_:1},8,["class","label"])),we.value?I("",!0):(l(),q(lt,{key:1,ref_key:"emojiBtnRef",ref:re,class:fe(["btn emoji-btn",{open:te.value}]),size:"sm",label:a(s)("sidebar.emoji"),onClick:Ae[4]||(Ae[4]=Oe(Je=>Y(Je),["stop"]))},{default:L(()=>[h.value?(l(),c("span",h3,d(h.value),1)):(l(),q(X,{key:1,name:"emotion"}))]),_:1},8,["class","label"])),!we.value&&B.value?(l(),q(lt,{key:2,class:fe(["btn gen-title",{open:P.value}]),size:"sm",label:a(s)("sidebar.genTitle"),disabled:P.value,onClick:Oe(E,["stop"])},{default:L(()=>[P.value?(l(),q(Gt,{key:0,size:"sm"})):(l(),q(X,{key:1,name:"sparkles"}))]),_:1},8,["class","label","disabled"])):I("",!0),we.value?I("",!0):(l(),q(lt,{key:3,ref_key:"kebabRef",ref:O,class:fe(["btn kebab",{open:D.value}]),size:"sm",label:a(s)("sidebar.options"),onClick:Ae[5]||(Ae[5]=Oe(Je=>ie(Je),["stop"]))},{default:L(()=>[w(X,{name:"dots-horizontal"})]),_:1},8,["class","label"]))])]),(l(),q(ss,{to:"body"},[D.value?(l(),q(Fn,{key:0,ref_key:"menuRef",ref:J,class:"menu",style:vt(ve.value),onClick:Ae[6]||(Ae[6]=Oe(()=>{},["stop"]))},{default:L(()=>[w(st,{danger:Ve.value,onClick:yt},{default:L(()=>[w(X,{name:Be.value?"check":"copy",size:"sm"},null,8,["name"]),ee(" "+d(Ve.value?a(s)("sidebar.copyFailed"):Be.value?a(s)("sidebar.copied"):a(s)("sidebar.copySessionId")),1)]),_:1},8,["danger"]),w(st,{separator:""}),a(v)?(l(),q(st,{key:0,onClick:S},{default:L(()=>[w(X,{name:y.value?"undo":"check-list",size:"sm"},null,8,["name"]),ee(" "+d(y.value?a(s)("sidebar.reopen"):a(s)("sidebar.markDone")),1)]),_:1})):I("",!0),w(st,{onClick:pe},{default:L(()=>[w(X,{name:"pencil",size:"sm"}),ee(" "+d(a(s)("sidebar.rename")),1)]),_:1}),w(st,{onClick:dt},{default:L(()=>[w(X,{name:"git-fork",size:"sm"}),ee(" "+d(a(s)("sidebar.fork")),1)]),_:1}),w(st,{onClick:Me},{default:L(()=>[w(X,{name:"download",size:"sm"}),ee(" "+d(a(s)("sidebar.export")),1)]),_:1}),w(st,{danger:"",onClick:xe},{default:L(()=>[w(X,{name:"archive",size:"sm"}),ee(" "+d(a(s)("sidebar.archive")),1)]),_:1}),w(st,{separator:""}),r("div",y3,d(C.value),1)]),_:1},8,["style"])):I("",!0)])),(l(),q(ss,{to:"body"},[te.value?(l(),c("div",{key:0,ref_key:"emojiPickerRef",ref:se,class:"emoji-picker",role:"menu","aria-label":a(s)("sidebar.emoji"),style:vt(he.value),onClick:Ae[8]||(Ae[8]=Oe(()=>{},["stop"]))},[r("div",b3,[(l(!0),c(de,null,Pe(a(mc),Je=>(l(),c("button",{key:Je,type:"button",class:fe(["emoji-cell",{on:Je===h.value}]),"aria-label":Je,role:"menuitem",onClick:Oe(ht=>Q(Je),["stop"])},d(Je),11,w3))),128))]),h.value?(l(),c("button",{key:0,type:"button",class:"emoji-clear",role:"menuitem",onClick:Ae[7]||(Ae[7]=Oe(Je=>Q(null),["stop"]))},d(a(s)("sidebar.emojiRemove")),1)):I("",!0)],12,k3)):I("",!0)]))],2))}}),fl=Re(S3,[["__scopeId","data-v-c466732e"]]),C3=["draggable"],_3={class:"gh-top"},M3={class:"gh-name"},$3=["inert"],x3=["disabled"],T3={class:"show-more-label"},I3={class:"show-more-label"},A3={key:2,class:"group-empty"},P3=Ee({__name:"WorkspaceGroup",props:{group:{},activeWorkspaceId:{},activeId:{},renamingId:{},renameValue:{},renameInputRef:{},pendingBySession:{},unreadBySession:{},wsMenuOpenId:{},dragging:{type:Boolean},isCollapsed:{type:Function},isExpanded:{type:Function}},emits:["groupClick","groupContextmenu","toggleWsMenu","createInWorkspace","selectSession","renameSession","archiveSession","forkSession","exportSession","loadMore","toggleExpand","confirmRename","cancelRename","updateRenameValue","wsDragstart","wsDragend"],setup(e,{emit:t}){const{t:n}=Ye(),s=e,o=t,i=M({get:()=>s.renameValue,set:y=>o("updateRenameValue",y)}),u=M(()=>s.renamingId===s.group.workspace.id),p=M(()=>{if(s.isExpanded(s.group.workspace.id))return s.group.sessions;const y=s.group.sessions.slice(0,s.group.initialCount);if(s.activeId&&!y.some(S=>S.id===s.activeId)){const S=s.group.sessions.find(B=>B.id===s.activeId);if(S)return[...y,S]}return y}),f=M(()=>s.group.sessions.length>s.group.initialCount);function v(){return Math.max(0,s.group.workspace.sessionCount-s.group.sessions.length)}function k(){return s.group.sessions.length-s.group.initialCount}function x(y){s.renameInputRef.value=y instanceof HTMLInputElement?y:null}function g(y){y.dataTransfer&&(y.dataTransfer.effectAllowed="move",y.dataTransfer.setData("text/plain",s.group.workspace.id),o("wsDragstart",s.group.workspace.id))}const m=T(!1);function $(y){m.value||Wi(y)||o("confirmRename")}function h(y){m.value||Wi(y)||o("cancelRename")}return(y,S)=>(l(),c("div",{class:fe(["group",{dragging:e.dragging}])},[r("div",{class:fe(["gh",{on:e.group.workspace.id===e.activeWorkspaceId,collapsed:e.isCollapsed(e.group.workspace.id),renaming:u.value}]),draggable:!u.value,onClick:S[7]||(S[7]=Oe(B=>o("groupClick",e.group.workspace.id,B),["stop"])),onContextmenu:S[8]||(S[8]=B=>o("groupContextmenu",e.group.workspace,B)),onDragstart:g,onDragend:S[9]||(S[9]=B=>o("wsDragend"))},[r("div",_3,[e.isCollapsed(e.group.workspace.id)?(l(),q(X,{key:0,class:"gh-folder",name:"folder-closed"})):(l(),q(X,{key:1,class:"gh-folder",name:"folder"})),e.renamingId!==e.group.workspace.id?(l(),q(gt,{key:2,text:e.group.workspace.root},{default:L(()=>[r("span",M3,d(e.group.workspace.name),1)]),_:1},8,["text"])):wt((l(),c("input",{key:3,ref:x,"onUpdate:modelValue":S[0]||(S[0]=B=>i.value=B),class:"gh-rename",type:"text",onCompositionstart:S[1]||(S[1]=B=>m.value=!0),onCompositionend:S[2]||(S[2]=B=>m.value=!1),onKeydown:[Cn($,["enter"]),Cn(h,["esc"])],onBlur:S[3]||(S[3]=B=>o("cancelRename")),onClick:S[4]||(S[4]=Oe(()=>{},["stop"]))},null,544)),[[Dn,i.value]]),e.renamingId!==e.group.workspace.id?(l(),c("div",{key:4,class:fe(["gh-actions",{open:e.wsMenuOpenId===e.group.workspace.id}])},[w(lt,{class:fe(["gh-more",{open:e.wsMenuOpenId===e.group.workspace.id}]),size:"sm",label:a(n)("sidebar.options"),"aria-haspopup":"menu","aria-expanded":e.wsMenuOpenId===e.group.workspace.id,onClick:S[5]||(S[5]=Oe(B=>o("toggleWsMenu",e.group.workspace,B),["stop"]))},{default:L(()=>[w(X,{name:"dots-horizontal"})]),_:1},8,["class","label","aria-expanded"]),w(lt,{class:"gh-add",size:"sm",label:a(n)("workspace.newInGroup"),onClick:S[6]||(S[6]=Oe(B=>o("createInWorkspace",e.group.workspace.id),["stop"]))},{default:L(()=>[w(X,{name:"chat-new"})]),_:1},8,["label"])],2)):I("",!0)])],42,C3),r("div",{class:fe(["group-sessions",{collapsed:e.isCollapsed(e.group.workspace.id)}]),inert:e.isCollapsed(e.group.workspace.id)},[(l(!0),c(de,null,Pe(p.value,B=>(l(),q(fl,{key:B.id,session:B,active:B.id===e.activeId,"approval-count":e.pendingBySession[B.id]?.approvals??0,"question-count":e.pendingBySession[B.id]?.questions??0,unread:e.unreadBySession[B.id]??!1,onSelect:S[10]||(S[10]=b=>o("selectSession",b)),onRename:S[11]||(S[11]=(b,P)=>o("renameSession",b,P)),onArchive:S[12]||(S[12]=b=>o("archiveSession",b)),onFork:S[13]||(S[13]=b=>o("forkSession",b)),onExport:S[14]||(S[14]=b=>o("exportSession",b))},null,8,["session","active","approval-count","question-count","unread"]))),128)),e.group.hasMore||e.group.loadingMore?(l(),c("button",{key:0,class:"show-more",disabled:e.group.loadingMore,onClick:S[15]||(S[15]=Oe(B=>o("loadMore",e.group.workspace.id),["stop"]))},[S[17]||(S[17]=r("span",{class:"show-more-lead","aria-hidden":"true"},null,-1)),r("span",T3,d(e.group.loadingMore?a(n)("sidebar.loadingMore"):a(n)("sidebar.showMore",{count:v()})),1)],8,x3)):I("",!0),f.value?(l(),c("button",{key:1,class:"show-more",onClick:S[16]||(S[16]=Oe(B=>o("toggleExpand",e.group.workspace.id),["stop"]))},[S[18]||(S[18]=r("span",{class:"show-more-lead","aria-hidden":"true"},null,-1)),r("span",I3,d(e.isExpanded(e.group.workspace.id)?a(n)("sidebar.showLess"):a(n)("sidebar.showAll",{count:k()})),1)])):I("",!0),e.group.sessions.length===0?(l(),c("div",A3,d(a(n)("sidebar.noSessions")),1)):I("",!0)],10,$3)],2))}}),E3=Re(P3,[["__scopeId","data-v-ec29996e"]]);function B3(e){try{const t=Dt(e);if(t===null)return null;const n=Number(t);return Number.isFinite(n)?n:null}catch{return null}}function R3(e,t){try{Nt(e,String(t))}catch{}}function Ld(e){const{storageKey:t,defaultWidth:n,min:s,max:o,reverse:i=!1,axis:u="x"}=e,p=u==="y";function f(b){return Number.isFinite(b)?Math.min(Zo(o),Math.max(s,Math.round(b))):n}const v=T(f(B3(t)??n)),k=T(!1);function x(b){const P=f(b);v.value=P,R3(t,P)}let g=0,m=0,$=null,h=-1;function y(b){if(!k.value)return;const E=(p?b.clientY:b.clientX)-g;x(m+(i?-E:E))}function S(){if(k.value){if(k.value=!1,typeof document<"u"&&(document.body.style.userSelect="",document.body.style.cursor=""),$){try{$.releasePointerCapture(h)}catch{}$.removeEventListener("pointermove",y),$.removeEventListener("pointerup",S),$.removeEventListener("pointercancel",S)}$=null,h=-1}}function B(b){b.preventDefault(),k.value=!0,g=p?b.clientY:b.clientX,m=f(v.value),$=b.currentTarget,h=b.pointerId,typeof document<"u"&&(document.body.style.userSelect="none",document.body.style.cursor=p?"row-resize":"col-resize");try{$.setPointerCapture(h)}catch{}$.addEventListener("pointermove",y),$.addEventListener("pointerup",S),$.addEventListener("pointercancel",S)}return _n(S),{width:v,dragging:k,clamp:f,setWidth:x,onPointerDown:B}}const L3={class:"pinned-list"},D3={class:"pinned-head"},O3={class:"pinned-title"},z3=["aria-label"],F3={key:1,class:"empty"},N3=Ee({__name:"PinnedSessionList",props:{sessions:{},pinnedSessionIds:{},activeId:{},pendingBySession:{default:()=>({})},unreadBySession:{default:()=>({})},emptyText:{default:""}},emits:["select","rename","archive","fork","export"],setup(e,{emit:t}){const n=e,s=t,{t:o}=Ye(),i=M(()=>rf(n.sessions,n.pinnedSessionIds)),u=M(()=>i.value.pinned),p=M(()=>i.value.rest),f=()=>typeof window<"u"?window.innerHeight:800,v=M(()=>Math.max(si,Math.min($l,Math.round(f()*.5)))),{width:k,dragging:x,setWidth:g,onPointerDown:m}=Ld({storageKey:Ge.sidebarPinnedHeight,defaultWidth:uf(f()),min:si,max:v,axis:"y"});function $(P){if(P.key!=="ArrowUp"&&P.key!=="ArrowDown")return;P.preventDefault();const E=P.shiftKey?48:16,R=P.key==="ArrowDown"?E:-E;g(uc(k.value+R,si,v.value))}const h=T(null),y=T(!1),S=T(!1);function B(){const P=h.value;P&&(y.value=P.scrollTop>0,S.value=P.scrollTop+P.clientHeight{Xe(B),typeof ResizeObserver=="function"&&h.value&&(b=new ResizeObserver(B),b.observe(h.value))}),_n(()=>b?.disconnect()),Ne(()=>u.value.length,()=>{Xe(()=>{B(),h.value&&b===null&&typeof ResizeObserver=="function"&&(b=new ResizeObserver(B),b.observe(h.value))})}),(P,E)=>(l(),c("div",L3,[u.value.length>0?(l(),c(de,{key:0},[r("div",D3,[r("span",O3,d(a(o)("sidebar.pinned")),1)]),r("div",{class:fe(["pinned-rows-wrap",{scrolled:y.value,"more-below":S.value}])},[r("div",{ref_key:"rowsEl",ref:h,class:"pinned-rows",style:vt({maxHeight:a(k)+"px"}),onScroll:B},[(l(!0),c(de,null,Pe(u.value,R=>(l(),q(fl,{key:R.id,session:R,active:R.id===e.activeId,"approval-count":e.pendingBySession[R.id]?.approvals??0,"question-count":e.pendingBySession[R.id]?.questions??0,unread:e.unreadBySession[R.id]??!1,onSelect:E[0]||(E[0]=W=>s("select",W)),onRename:E[1]||(E[1]=(W,Q)=>s("rename",W,Q)),onArchive:E[2]||(E[2]=W=>s("archive",W)),onFork:E[3]||(E[3]=W=>s("fork",W)),onExport:E[4]||(E[4]=W=>s("export",W))},null,8,["session","active","approval-count","question-count","unread"]))),128))],36),E[11]||(E[11]=r("span",{class:"pinned-seam pinned-seam--top","aria-hidden":"true"},null,-1)),E[12]||(E[12]=r("span",{class:"pinned-seam pinned-seam--bottom","aria-hidden":"true"},null,-1))],2),r("div",{class:fe(["pinned-resize",{dragging:a(x)}]),role:"separator","aria-label":a(o)("sidebar.resizePinnedAria"),tabindex:"0",onPointerdown:E[5]||(E[5]=(...R)=>a(m)&&a(m)(...R)),onKeydown:$},[...E[13]||(E[13]=[r("div",{class:"pinned-resize-bar"},null,-1)])],42,z3)],64)):I("",!0),(l(!0),c(de,null,Pe(p.value,R=>(l(),q(fl,{key:R.id,session:R,active:R.id===e.activeId,"approval-count":e.pendingBySession[R.id]?.approvals??0,"question-count":e.pendingBySession[R.id]?.questions??0,unread:e.unreadBySession[R.id]??!1,onSelect:E[6]||(E[6]=W=>s("select",W)),onRename:E[7]||(E[7]=(W,Q)=>s("rename",W,Q)),onArchive:E[8]||(E[8]=W=>s("archive",W)),onFork:E[9]||(E[9]=W=>s("fork",W)),onExport:E[10]||(E[10]=W=>s("export",W))},null,8,["session","active","approval-count","question-count","unread"]))),128)),e.sessions.length===0?(l(),c("div",F3,d(e.emptyText),1)):I("",!0)]))}}),Pa=Re(N3,[["__scopeId","data-v-ca629942"]]),W3="kimi_desktop",q3="platform",uu="kimi-desktop",cu="kimi-desktop-platform";function H3(){let e=!1,t=null;try{const n=new URLSearchParams(window.location.search);n.has(W3)?(sessionStorage.setItem(uu,"1"),e=!0):e=e||sessionStorage.getItem(uu)==="1";const s=n.get(q3);s?(sessionStorage.setItem(cu,s),t=s):t=sessionStorage.getItem(cu)}catch{}return{isDesktop:e,platform:t}}const ml=H3(),U3=ml.isDesktop,zo=ml.isDesktop&&ml.platform==="darwin";function V3(e,t){return e.key.toLowerCase()!=="k"?!1:t?e.metaKey:e.ctrlKey}const j3={class:"ui-kbd"},K3=Ee({__name:"Kbd",props:{keys:{}},setup(e){return(t,n)=>(l(),c("span",j3,[(l(!0),c(de,null,Pe(e.keys,s=>(l(),c("kbd",{key:s,class:"ui-kbd__key"},d(s),1))),128))]))}}),Ps=Re(K3,[["__scopeId","data-v-32292ed8"]]),G3="(prefers-reduced-motion: reduce)";function Q3(){if(!(typeof window>"u"||typeof window.matchMedia!="function"))return window.matchMedia(G3)}function Y3(e,t=Q3){const n=t();if(!n)return e(!1),()=>{};const s=()=>e(n.matches);return e(n.matches),n.addEventListener("change",s),()=>n.removeEventListener("change",s)}const Z3=["aria-label"],X3=Ee({__name:"KimiMascot",props:{label:{}},setup(e){const t=T(!1);let n;return xt(()=>{n=Y3(s=>{t.value=!s})}),_n(()=>n?.()),(s,o)=>(l(),c("span",{class:fe(["kimi-mascot",{"kimi-mascot--pulse":t.value}]),role:"img","aria-label":e.label},[w(X,{name:"sparkles",size:"sm"})],10,Z3))}}),J3=Re(X3,[["__scopeId","data-v-6634dad2"]]),e_=["disabled","aria-pressed"],t_=Ee({__name:"Pill",props:{clickable:{type:Boolean,default:!0},active:{type:Boolean},disabled:{type:Boolean},ariaPressed:{type:Boolean}},emits:["click"],setup(e){return(t,n)=>e.clickable?(l(),c("button",{key:0,class:fe(["ui-pill",{"is-active":e.active}]),type:"button",disabled:e.disabled,"aria-pressed":e.ariaPressed,onClick:n[0]||(n[0]=s=>t.$emit("click",s))},[At(t.$slots,"default",{},void 0,!0)],10,e_)):(l(),c("span",{key:1,class:fe(["ui-pill",{"is-active":e.active}])},[At(t.$slots,"default",{},void 0,!0)],2))}}),po=Re(t_,[["__scopeId","data-v-317ace1a"]]),n_=["aria-selected","onClick"],s_=Ee({__name:"Tabs",props:{modelValue:{},options:{},size:{default:"md"}},emits:["update:modelValue"],setup(e,{emit:t}){const n=t;return(s,o)=>(l(),c("div",{class:fe(["ui-tabs",`ui-tabs--${e.size}`]),role:"tablist"},[(l(!0),c(de,null,Pe(e.options,i=>(l(),c("button",{key:i.value,class:fe(["ui-tabs__item",{"is-on":i.value===e.modelValue}]),type:"button",role:"tab","aria-selected":i.value===e.modelValue,onClick:u=>n("update:modelValue",i.value)},d(i.label),11,n_))),128))],2))}}),o_=Re(s_,[["__scopeId","data-v-3b07f193"]]),i_={class:"ch"},a_={class:"ch-brand"},l_={class:"ch-backend-ep"},r_={class:"btn-wrap"},u_={class:"search-input"},c_={key:0,class:"side-tabs"},d_={class:"side-section-label"},p_={class:"side-section-title"},f_={class:"side-section-actions"},m_={class:"side-section-label"},v_={class:"side-section-title"},g_={key:0,class:"empty"},h_={class:"side-section-label"},y_={class:"side-section-title"},k_={class:"side-section-actions"},b_=["data-workspace-id","onDragover","onDrop"],w_={class:"side-footer"},S_={class:"section-menu-check"},C_={class:"section-menu-check"},__={class:"section-menu-check"},M_={class:"backend-menu-name"},$_={class:"backend-menu-url"},x_=1e3,T_=Ee({__name:"Sidebar",props:{activeWorkspace:{default:null},activeWorkspaceId:{default:null},sessions:{},groups:{},pinnedSessionIds:{default:()=>[]},activeId:{},multiTabSidebar:{type:Boolean,default:!1},workspaceSortMode:{},backend:{default:"v1"},attentionBySession:{default:()=>({})},pendingBySession:{default:()=>({})},unreadBySession:{default:()=>({})},colWidth:{default:220},collapsed:{type:Boolean,default:!1},dragging:{type:Boolean,default:!1}},emits:["select","create","createInWorkspace","selectWorkspace","addWorkspace","rename","archive","fork","export","renameWorkspace","deleteWorkspace","reorderWorkspaces","setWorkspaceSortMode","loadMoreSessions","loadAllSessions","openSettings","openSessionManagement","collapse"],setup(e,{emit:t}){const{t:n}=Ye(),s=!1,o=T(null),i=M(()=>""),u=["default","multi"];function p(Ce){const ge=o.value?.presets[Ce]??"";return ge?tf(ge):""}function f(Ce){const ge=o.value;return ge!==null&&ge.current===ge.presets[Ce]}const v=e,k=t,x=T(!1),g=S()?["⌘","K"]:["Ctrl","K"],m=M(()=>v.groups.map(Ce=>Ce.workspace));function $(){k("loadAllSessions"),x.value=!0}function h(Ce){V3(Ce,S())&&(Ce.preventDefault(),$())}function y(Ce){if(v.multiTabSidebar&&R.value!=="workspaces"&&(R.value="workspaces"),D.value.has(Ce)){const ge=new Set(D.value);ge.delete(Ce),D.value=ge,bi(ge)}Xe().then(()=>{Array.from(document.querySelectorAll("[data-workspace-id]")).find(We=>We.getAttribute("data-workspace-id")===Ce)?.scrollIntoView({block:"nearest"})})}xt(()=>window.addEventListener("keydown",h)),_n(()=>window.removeEventListener("keydown",h));function S(){if(typeof navigator>"u")return!1;if(/Mac|iPod|iPhone|iPad/.test(navigator.platform))return!0;const Ce=navigator.userAgentData;return Ce?.platform==="macOS"||Ce?.platform==="iOS"}const B=T(!1);function b(Ce){B.value=Ce.target.scrollTop>0}const P=T(df());function E(){P.value=P.value==="flat"?"grouped":"flat",pf(P.value)}const R=T("open");function W(Ce){ff(Ce)&&(R.value=Ce)}const Q=M(()=>pa(v.groups,v.pinnedSessionIds).filter(Ce=>Ce.done!==!0)),V=M(()=>pa(v.groups,v.pinnedSessionIds).filter(Ce=>Ce.done===!0)),C=M(()=>pa(v.groups,v.pinnedSessionIds)),D=T(new Set(Wp()));function O(Ce){return D.value.has(Ce)}function J(Ce){const ge=new Set(D.value);ge.has(Ce)?ge.delete(Ce):ge.add(Ce),D.value=ge,bi(ge)}function ve(){const Ce=new Set(v.groups.map(ge=>ge.workspace.id));D.value=Ce,bi(Ce)}function me(){const Ce=new Set;D.value=Ce,bi(Ce)}const ze=M(()=>v.groups.length>0&&v.groups.every(Ce=>D.value.has(Ce.workspace.id))),ie=T(new Set);function le(Ce){return ie.value.has(Ce)}function te(Ce){const ge=new Set(ie.value);ge.has(Ce)?ge.delete(Ce):ge.add(Ce),ie.value=ge}function re(Ce){if(!ie.value.has(Ce)){const ge=new Set(ie.value);ge.add(Ce),ie.value=ge}k("loadMoreSessions",Ce)}const se=T(null),he=T(null);function ae(Ce){se.value=Ce}function F(){se.value=null,he.value=null}function Y(Ce){const ge=Ce.currentTarget.getBoundingClientRect();return Ce.clientYzt.workspace.id),ge,Ce,We);k("reorderWorkspaces",ot)}function Le(Ce,ge){ge.target.closest(".gh-more, .gh-add")||J(Ce)}function Ze(Ce){k("select",Ce)}const be=T(null),pe=T(""),ne=T(null);function Z(){return ne}function oe(Ce,ge){be.value=Ce,pe.value=ge,Xe().then(()=>ne.value?.focus())}function K(){const Ce=be.value,ge=pe.value.trim();Ce&&ge&&k("renameWorkspace",Ce,ge),be.value=null}function Be(){be.value=null}function Ve(Ce){pe.value=Ce}const yt=T(!1),dt=T(null),Me=T({}),xe=T(null);function Se(Ce){xe.value?.el&&!xe.value.el.contains(Ce.target)&&Je()}function Ae(Ce,ge){ge.preventDefault(),ge.stopPropagation(),dt.value=Ce,Me.value={top:`${ge.clientY}px`,left:`${ge.clientX}px`},yt.value=!0,document.addEventListener("mousedown",Se,!0)}function Je(){yt.value=!1,document.removeEventListener("mousedown",Se,!0),dt.value=null}function ht(){dt.value&&an(dt.value.root),Je()}function qe(){dt.value&&oe(dt.value.id,dt.value.name),Je()}function He(){const Ce=dt.value;Ce&&(Je(),k("deleteWorkspace",Ce.id))}const Ue=T(null),ct=T(null),it=T({}),Bt=T(null);function Ht(Ce){const ge=Ce.target;ge.closest(".gh-more")||ge.closest(".ws-menu")||ut()}async function ln(Ce,ge){if(Ue.value===Ce.id){ut();return}const We=ge.currentTarget;ct.value=Ce,Ue.value=Ce.id,document.addEventListener("mousedown",Ht),window.addEventListener("resize",ut),await Xe();const ot=Bt.value?.el,zt=We.getBoundingClientRect(),Ft=4,Rt=8,Tt=ot?.offsetHeight??0,Yt=ot?.offsetWidth??0;let It=zt.bottom+Ft;It+Tt>window.innerHeight-Rt&&(It=Math.max(Rt,zt.top-Tt-Ft));let Tn=zt.right-Yt;Tnwindow.innerHeight-Ft&&(Yt=Math.max(Ft,ot.top-Rt-zt));let It=ot.right-Tt;Itwindow.innerHeight-Ft&&(Yt=Math.max(Ft,ot.top-Rt-zt));let It=ot.right-Tt;Itwindow.innerHeight-Ft&&(Tt=Math.max(Ft,ot.top-Rt-zt)),on.value={top:`${Math.round(Tt)}px`,left:`${Math.round(Math.max(Ft,ot.left))}px`}}function Pt(){Ct.value=!1,document.removeEventListener("mousedown",_t),window.removeEventListener("resize",Pt)}async function un(Ce){if(f(Ce)){Pt();return}if(await ef(Ce)===null){console.warn("[kimi-web] dev backend switch failed:",Ce),Pt();return}window.location.reload()}_n(()=>{document.removeEventListener("mousedown",Se,!0),document.removeEventListener("mousedown",Ht),document.removeEventListener("mousedown",os),document.removeEventListener("mousedown",_t),document.removeEventListener("mousedown",pn),window.removeEventListener("resize",ut),window.removeEventListener("resize",Qt),window.removeEventListener("resize",Pt),window.removeEventListener("resize",Zt)});const On=T(null);let vn;function wn(){const Ce=On.value;Ce&&(Ce.classList.remove("blink-now"),Ce.getBoundingClientRect(),Ce.classList.add("blink-now"),clearTimeout(vn),vn=setTimeout(()=>Ce.classList.remove("blink-now"),300))}const gn=ec(()=>sc(()=>import("./DesignSystemView-BiUIfaGX.js"),__vite__mapDeps([0,1,2,3,4,5,6,7]))),zn=T(!1);let xn,cn=!1;function fn(Ce){cn=!1,clearTimeout(xn),Ce.currentTarget.setPointerCapture?.(Ce.pointerId),xn=setTimeout(()=>{cn=!0,zn.value=!0},x_)}function Jt(Ce){clearTimeout(xn);const ge=Ce.currentTarget;ge.hasPointerCapture?.(Ce.pointerId)&&ge.releasePointerCapture(Ce.pointerId)}function Kn(){if(cn){cn=!1;return}wn()}return _n(()=>{clearTimeout(xn)}),(Ce,ge)=>(l(),c("aside",{class:fe(["side",{"macos-desktop":a(zo),collapsed:e.collapsed,"no-anim":e.dragging}]),style:vt({width:e.collapsed?"0px":e.colWidth+"px"})},[r("div",{class:"col",style:vt({width:e.colWidth+"px"})},[r("div",i_,[r("div",a_,[a(zo)?I("",!0):(l(),c(de,{key:0},[(l(),c("svg",{ref_key:"logoRef",ref:On,class:fe(["ch-logo",{"is-dev":a(s)}]),viewBox:"0 0 32 22",fill:"none",xmlns:"http://www.w3.org/2000/svg",role:"img","aria-label":"Kimi Code",onClick:Kn,onPointerdown:fn,onPointerup:Jt,onPointercancel:Jt},[...ge[37]||(ge[37]=[Sl(' ',2)])],34)),ge[38]||(ge[38]=r("span",{class:"ch-name"},"Kimi Code",-1)),a(s)?(l(),q(po,{key:0,class:"ch-backend",clickable:o.value!==null,title:a(n)("sidebar.backendTitle",{backend:e.backend,endpoint:i.value}),onClick:bn},{default:L(()=>[r("span",{class:fe(["ch-backend-kind",`is-${e.backend}`])},d(e.backend),3),r("span",l_," · "+d(i.value),1),o.value!==null?(l(),q(X,{key:0,name:"chevron-down",size:"sm"})):I("",!0)]),_:1},8,["clickable","title"])):I("",!0)],64))]),a(zo)?I("",!0):(l(),q(lt,{key:0,class:"ch-collapse",size:"sm",label:a(n)("sidebar.collapseSidebar"),onClick:ge[0]||(ge[0]=Oe(We=>k("collapse"),["stop"]))},{default:L(()=>[w(X,{name:"panel-collapse"})]),_:1},8,["label"]))]),r("div",r_,[r("button",{class:"btn-new-chat",type:"button",onClick:ge[1]||(ge[1]=Oe(We=>k("create"),["stop"]))},[w(X,{name:"chat-new"}),r("span",null,d(a(n)("sidebar.newChat")),1)]),I("",!0)]),r("div",{class:fe(["search-wrap",{"search-wrap--scrolled":B.value}])},[r("button",{class:"search",type:"button",onClick:$},[w(X,{class:"search-icon",name:"search"}),r("span",u_,d(a(n)("sidebar.search")),1),w(Ps,{keys:a(g)},null,8,["keys"])])],2),e.multiTabSidebar?(l(),c("div",c_,[w(o_,{"model-value":R.value,size:"sm",options:[{value:"open",label:a(n)("sidebar.tagOpen")},{value:"done",label:a(n)("sidebar.tabDone")},{value:"workspaces",label:a(n)("sidebar.tabWorkspaces")}],"onUpdate:modelValue":ge[3]||(ge[3]=We=>W(We))},null,8,["model-value","options"])])):I("",!0),r("div",{class:"sessions",onScroll:b},[e.multiTabSidebar&&R.value!=="workspaces"?(l(),c(de,{key:0},[R.value==="open"?(l(),c(de,{key:0},[r("div",d_,[r("span",p_,d(a(n)("sidebar.tagOpen")),1),r("div",f_,[w(lt,{class:"side-section-toggle side-section-kebab side-list-kebab",size:"sm",label:a(n)("sidebar.options"),"aria-haspopup":"menu","aria-expanded":kn.value,onClick:ge[4]||(ge[4]=Oe(We=>Mn(We),["stop"]))},{default:L(()=>[w(X,{name:"dots-horizontal"})]),_:1},8,["label","aria-expanded"])])]),w(Pa,{sessions:Q.value,"pinned-session-ids":e.pinnedSessionIds,"active-id":e.activeId,"pending-by-session":e.pendingBySession,"unread-by-session":e.unreadBySession,"empty-text":a(n)("sidebar.noSessions"),onSelect:Ze,onRename:ge[5]||(ge[5]=(We,ot)=>k("rename",We,ot)),onArchive:ge[6]||(ge[6]=We=>k("archive",We)),onFork:ge[7]||(ge[7]=We=>k("fork",We)),onExport:ge[8]||(ge[8]=We=>k("export",We))},null,8,["sessions","pinned-session-ids","active-id","pending-by-session","unread-by-session","empty-text"])],64)):R.value==="done"?(l(),c(de,{key:1},[r("div",m_,[r("span",v_,d(a(n)("sidebar.tabDone")),1)]),w(Pa,{sessions:V.value,"pinned-session-ids":e.pinnedSessionIds,"active-id":e.activeId,"pending-by-session":e.pendingBySession,"unread-by-session":e.unreadBySession,"empty-text":a(n)("sidebar.noDoneSessions"),onSelect:Ze,onRename:ge[9]||(ge[9]=(We,ot)=>k("rename",We,ot)),onArchive:ge[10]||(ge[10]=We=>k("archive",We)),onFork:ge[11]||(ge[11]=We=>k("fork",We)),onExport:ge[12]||(ge[12]=We=>k("export",We))},null,8,["sessions","pinned-session-ids","active-id","pending-by-session","unread-by-session","empty-text"])],64)):I("",!0)],64)):(l(),c(de,{key:1},[e.groups.length===0?(l(),c("div",g_,d(a(n)("workspace.noWorkspace")),1)):I("",!0),r("div",h_,[r("span",y_,d(P.value==="flat"?a(n)("sidebar.sessionsHeader"):a(n)("sidebar.workspaces")),1),r("div",k_,[P.value!=="flat"?(l(),c(de,{key:0},[w(lt,{class:"side-section-toggle",size:"sm",label:ze.value?a(n)("sidebar.expandAll"):a(n)("sidebar.collapseAll"),onClick:ge[13]||(ge[13]=Oe(We=>ze.value?me():ve(),["stop"]))},{default:L(()=>[ze.value?(l(),q(X,{key:0,name:"expand"})):(l(),q(X,{key:1,name:"collapse"}))]),_:1},8,["label"]),w(lt,{class:"side-section-toggle side-section-kebab",size:"sm",label:a(n)("sidebar.options"),"aria-haspopup":"menu","aria-expanded":Wt.value,onClick:ge[14]||(ge[14]=Oe(We=>Vn(We),["stop"]))},{default:L(()=>[w(X,{name:"dots-horizontal"})]),_:1},8,["label","aria-expanded"])],64)):I("",!0),w(lt,{class:"side-section-toggle side-section-view",size:"sm",label:e.multiTabSidebar?a(n)("sidebar.viewSwitcher"):P.value==="flat"?a(n)("sidebar.viewModeGrouped"):a(n)("sidebar.viewModeFlat"),"aria-pressed":P.value==="flat",onClick:Oe(E,["stop"])},{default:L(()=>[w(X,{name:P.value==="flat"?"folder":"list"},null,8,["name"])]),_:1},8,["label","aria-pressed"])])]),P.value==="flat"?(l(),q(Pa,{key:1,sessions:C.value,"pinned-session-ids":e.pinnedSessionIds,"active-id":e.activeId,"pending-by-session":e.pendingBySession,"unread-by-session":e.unreadBySession,"empty-text":a(n)("sidebar.noSessions"),onSelect:Ze,onRename:ge[15]||(ge[15]=(We,ot)=>k("rename",We,ot)),onArchive:ge[16]||(ge[16]=We=>k("archive",We)),onFork:ge[17]||(ge[17]=We=>k("fork",We)),onExport:ge[18]||(ge[18]=We=>k("export",We))},null,8,["sessions","pinned-session-ids","active-id","pending-by-session","unread-by-session","empty-text"])):(l(!0),c(de,{key:2},Pe(e.groups,We=>(l(),c("div",{key:We.workspace.id,class:fe(["ws-drop-target",{"drop-before":he.value?.id===We.workspace.id&&he.value.position==="before","drop-after":he.value?.id===We.workspace.id&&he.value.position==="after"}]),"data-workspace-id":We.workspace.id,onDragover:ot=>ke(ot,We.workspace.id),onDrop:ot=>we(We.workspace.id)},[w(E3,{group:We,"active-workspace-id":e.activeWorkspaceId,"active-id":e.activeId,"renaming-id":be.value,"rename-value":pe.value,"rename-input-ref":Z(),"pending-by-session":e.pendingBySession,"unread-by-session":e.unreadBySession,"ws-menu-open-id":Ue.value,dragging:se.value===We.workspace.id,"is-collapsed":O,"is-expanded":le,onGroupClick:Le,onGroupContextmenu:Ae,onToggleWsMenu:ln,onCreateInWorkspace:ge[19]||(ge[19]=ot=>k("createInWorkspace",ot)),onSelectSession:Ze,onRenameSession:ge[20]||(ge[20]=(ot,zt)=>k("rename",ot,zt)),onArchiveSession:ge[21]||(ge[21]=ot=>k("archive",ot)),onForkSession:ge[22]||(ge[22]=ot=>k("fork",ot)),onExportSession:ge[23]||(ge[23]=ot=>k("export",ot)),onLoadMore:re,onToggleExpand:te,onConfirmRename:K,onCancelRename:Be,onUpdateRenameValue:Ve,onWsDragstart:ae,onWsDragend:F},null,8,["group","active-workspace-id","active-id","renaming-id","rename-value","rename-input-ref","pending-by-session","unread-by-session","ws-menu-open-id","dragging"])],42,b_))),128))],64))],32),r("div",w_,[r("button",{class:"btn-settings",type:"button",onClick:ge[24]||(ge[24]=Oe(We=>k("openSettings"),["stop"]))},[w(X,{name:"settings"}),r("span",null,d(a(n)("settings.title")),1)]),w(J3,{class:"side-mascot",label:a(n)("sidebar.mascot")},null,8,["label"])])],4),yt.value?(l(),q(Fn,{key:0,ref_key:"ghMenuRef",ref:xe,class:"gh-menu",style:vt(Me.value),onClick:ge[25]||(ge[25]=Oe(()=>{},["stop"]))},{default:L(()=>[w(st,{onClick:ht},{default:L(()=>[ee(d(a(n)("sidebar.copyPath")),1)]),_:1}),w(st,{onClick:qe},{default:L(()=>[ee(d(a(n)("sidebar.rename")),1)]),_:1}),w(st,{danger:"",onClick:He},{default:L(()=>[ee(d(a(n)("sidebar.removeWorkspace")),1)]),_:1})]),_:1},8,["style"])):I("",!0),Ue.value!==null&&ct.value?(l(),q(Fn,{key:1,ref_key:"wsMenuRef",ref:Bt,class:"ws-menu",style:vt(it.value),onClick:ge[29]||(ge[29]=Oe(()=>{},["stop"]))},{default:L(()=>[w(st,{onClick:ge[26]||(ge[26]=We=>nn(ct.value))},{default:L(()=>[ee(d(a(n)("sidebar.copyPath")),1)]),_:1}),w(st,{separator:""}),w(st,{onClick:ge[27]||(ge[27]=We=>sn(ct.value))},{default:L(()=>[ee(d(a(n)("sidebar.rename")),1)]),_:1}),w(st,{separator:""}),w(st,{danger:"",onClick:ge[28]||(ge[28]=We=>Un(ct.value))},{default:L(()=>[ee(d(a(n)("sidebar.removeWorkspace")),1)]),_:1})]),_:1},8,["style"])):I("",!0),Wt.value?(l(),q(Fn,{key:2,ref_key:"sectionMenuRef",ref:rn,class:"section-menu",style:vt(Nn.value),onClick:ge[32]||(ge[32]=Oe(()=>{},["stop"]))},{default:L(()=>[w(st,{onClick:ge[30]||(ge[30]=We=>Ut("manual"))},{default:L(()=>[r("span",S_,[e.workspaceSortMode==="manual"?(l(),q(X,{key:0,name:"check",size:"sm"})):I("",!0)]),ee(" "+d(a(n)("sidebar.sortManual")),1)]),_:1}),w(st,{onClick:ge[31]||(ge[31]=We=>Ut("recent"))},{default:L(()=>[r("span",C_,[e.workspaceSortMode==="recent"?(l(),q(X,{key:0,name:"check",size:"sm"})):I("",!0)]),ee(" "+d(a(n)("sidebar.sortRecent")),1)]),_:1})]),_:1},8,["style"])):I("",!0),kn.value?(l(),q(Fn,{key:3,ref_key:"listMenuRef",ref:Ot,class:"list-menu",style:vt(jn.value),onClick:ge[33]||(ge[33]=Oe(()=>{},["stop"]))},{default:L(()=>[w(st,{onClick:$n},{default:L(()=>[w(X,{name:"check-list",size:"sm"}),ee(" "+d(a(n)("sidebar.manageSessions")),1)]),_:1})]),_:1},8,["style"])):I("",!0),Ct.value?(l(),q(Fn,{key:4,ref_key:"backendMenuRef",ref:Xt,class:"backend-menu",style:vt(on.value),onClick:ge[34]||(ge[34]=Oe(()=>{},["stop"]))},{default:L(()=>[(l(),c(de,null,Pe(u,We=>w(st,{key:We,onClick:ot=>un(We)},{default:L(()=>[r("span",__,[f(We)?(l(),q(X,{key:0,name:"check",size:"sm"})):I("",!0)]),r("span",M_,d(We),1),r("span",$_,d(p(We)),1)]),_:2},1032,["onClick"])),64))]),_:1},8,["style"])):I("",!0),x.value?(l(),q(r0,{key:5,sessions:e.sessions,workspaces:m.value,"active-id":e.activeId,onSelect:Ze,onSelectWorkspace:y,onClose:ge[35]||(ge[35]=We=>x.value=!1)},null,8,["sessions","workspaces","active-id"])):I("",!0),(l(),q(ss,{to:"body"},[zn.value?(l(),q(a(gn),{key:0,onClose:ge[36]||(ge[36]=We=>zn.value=!1)})):I("",!0)]))],6))}}),I_=Re(T_,[["__scopeId","data-v-d9d9dd75"]]),A_=["aria-label"],P_=Ee({__name:"ResizeHandle",props:{storageKey:{},defaultWidth:{},min:{},max:{},reverse:{type:Boolean},ariaLabel:{}},emits:["update:width","update:dragging"],setup(e,{emit:t}){const n=e,s=t,{t:o}=Ye(),{width:i,dragging:u,onPointerDown:p}=Ld({storageKey:n.storageKey,defaultWidth:n.defaultWidth,min:n.min,max:()=>n.max,reverse:n.reverse});return s("update:width",i.value),Ne(i,f=>s("update:width",f)),Ne(u,f=>s("update:dragging",f)),(f,v)=>(l(),c("div",{class:fe(["rh",{dragging:a(u)}]),role:"separator","aria-orientation":"vertical","aria-label":e.ariaLabel??a(o)("layout.resizeHandleAria"),onPointerdown:v[0]||(v[0]=(...k)=>a(p)&&a(p)(...k))},[...v[1]||(v[1]=[r("span",{class:"rh-bar","aria-hidden":"true"},null,-1)])],42,A_))}}),du=Re(P_,[["__scopeId","data-v-48fd0a6d"]]);function E_(e,t){if(e.status!=="running"||!e.startedAt)return;const n=Date.parse(e.startedAt);if(Number.isNaN(n))return;const s=Math.max(0,Math.floor((t-n)/1e3)),o=Math.floor(s/60),i=s%60;return`${o}:${String(i).padStart(2,"0")}`}function Dd(e){return e===void 0?!1:e.status==="running"&&e.runInBackground!==!0}const B_=Ee({__name:"StatusDot",props:{status:{}},setup(e){const t=e;function n(o){switch(o){case"ok":case"done":case"completed":case"success":return"ok";case"error":case"failed":case"danger":return"error";case"running":case"working":case"in_progress":case"active":return"running";case"suspended":return"suspended";default:return"idle"}}const s=M(()=>n(t.status));return(o,i)=>(l(),c("span",{class:fe(["kw-dot",`kw-dot--${s.value}`]),"aria-hidden":"true"},null,2))}}),qo=Re(B_,[["__scopeId","data-v-e36198e5"]]),R_=["innerHTML"],L_={class:"bh-text"},D_={class:"a"},O_={key:0,class:"p"},z_={class:"rt"},F_=["aria-label"],N_={key:0,class:"tm"},W_=["inert"],q_={class:"bb-pad"},H_=Ee({__name:"ToolRow",props:{status:{},icon:{default:""},name:{},arg:{default:""},time:{default:""},open:{type:Boolean,default:!1},expandable:{type:Boolean,default:!1},stacked:{type:Boolean,default:!1},stackPosition:{default:"single"}},emits:["toggle"],setup(e,{emit:t}){const n=t,s=zs("pinScroll",()=>{}),o=T(null);function i(){n("toggle");const u=o.value;u&&Xe(()=>s(u))}return(u,p)=>(l(),c("div",{class:fe(["box",{open:e.open,stacked:e.stacked,err:e.status==="error","stack-first":e.stackPosition==="first","stack-middle":e.stackPosition==="middle","stack-last":e.stackPosition==="last"}])},[r("div",{class:"bh",ref_key:"bhEl",ref:o,onClick:i},[e.icon?(l(),c("span",{key:0,class:"gl",innerHTML:e.icon,"aria-hidden":"true"},null,8,R_)):I("",!0),r("span",L_,[r("span",D_,d(e.name),1),w(gt,{text:e.arg},{default:L(()=>[e.arg?(l(),c("span",O_,d(e.arg),1)):I("",!0)]),_:1},8,["text"])]),r("span",z_,[r("span",{class:fe(["status",e.status]),role:"status","aria-label":e.status},[e.status==="ok"?(l(),q(X,{key:0,name:"check",size:"sm"})):e.status==="error"?(l(),q(X,{key:1,name:"close",size:"sm"})):e.status==="suspended"?(l(),q(qo,{key:2,status:"suspended"})):(l(),q(qo,{key:3,status:"running"}))],10,F_),At(u.$slots,"trailing"),e.time?(l(),c("span",N_,d(e.time),1)):I("",!0)]),e.expandable?(l(),q(X,{key:1,class:"car",name:e.open?"chevron-down":"chevron-right",size:"sm"},null,8,["name"])):I("",!0)],512),r("div",{class:fe(["bb",{open:e.open}]),inert:!e.open},[r("div",q_,[At(u.$slots,"default")])],10,W_)],2))}}),jo=Re(H_,[["__scopeId","data-v-fef8aad2"]]),U_={key:0,class:"at-type"},V_={class:"at-fgbg"},j_={key:0,class:"at-type-sep"},K_={key:1,class:"at-live"},G_={key:2,class:"at-task"},Q_={key:3,class:"bb-code"},Y_=Ee({__name:"AgentTool",props:{tool:{},mobile:{type:Boolean,default:!1},stackPosition:{default:"single"},toolDiffPanel:{type:Boolean,default:!1}},emits:["openMedia","openFile","openToolDiff","openAgent","moveToBackground"],setup(e,{emit:t}){const{t:n}=Ye(),s=e,o=t;function i(C){if(!C)return{};try{const D=JSON.parse(C);return{description:typeof D.description=="string"?D.description:void 0,subagentType:typeof D.subagent_type=="string"?D.subagent_type:void 0,prompt:typeof D.prompt=="string"?D.prompt:void 0,model:typeof D.model=="string"?D.model:void 0,thinkingEffort:typeof D.thinking_effort=="string"?D.thinking_effort:void 0}}catch{return{}}}const u=M(()=>i(s.tool.arg)),p=M(()=>!!s.tool.output&&s.tool.output.length>0),f=M(()=>!!u.value.prompt||!!u.value.subagentType||p.value),v=T(s.tool.defaultExpanded===!0&&f.value),k=M(()=>s.tool.status),x=M(()=>so(s.tool.name)),g=M(()=>Ho(s.tool.name)),m=M(()=>u.value.description||u.value.subagentType||""),$=zs("resolveAgentTaskId"),h=M(()=>$?$(s.tool.id)!==void 0:!0),y=zs("resolveTaskForToolCall"),S=M(()=>y?y(s.tool.id):void 0),B=M(()=>s.tool.status==="running"&&Dd(S.value)),b=M(()=>S.value?.runInBackground===!0?n("tasks.background"):n("tasks.foreground")),P=T(Date.now()),E=M(()=>k.value==="running"&&S.value?.status==="running"),R=M(()=>{const C=S.value;if(!E.value||C===void 0)return;const D=E_(C,P.value);return D===void 0?void 0:`${n("tasks.running")} · ${D}`});let W=null;Ne(E,C=>{C&&W===null?(P.value=Date.now(),W=setInterval(()=>{P.value=Date.now()},1e3)):!C&&W!==null&&(clearInterval(W),W=null)},{immediate:!0}),kt(()=>{W!==null&&clearInterval(W)});function Q(){const C=S.value;C!==void 0&&o("moveToBackground",C.backgroundTaskId??C.id)}function V(){f.value&&(v.value=!v.value)}return Ne(()=>[s.tool.defaultExpanded,s.tool.output?.length,s.tool.status],()=>{s.tool.defaultExpanded===!0&&f.value&&(v.value=!0)}),(C,D)=>(l(),q(jo,{status:k.value,icon:g.value,name:x.value,arg:v.value?"":m.value,time:e.tool.timing,open:v.value,expandable:f.value,stacked:e.stackPosition!=="single","stack-position":e.stackPosition,onToggle:V},{trailing:L(()=>[h.value?(l(),c("button",{key:0,type:"button",class:"at-open",onClick:D[0]||(D[0]=Oe(O=>o("openAgent",e.tool.id),["stop"]))},d(a(n)("tasks.openDetail")),1)):I("",!0),B.value?(l(),c("button",{key:1,type:"button",class:"at-open",onClick:Oe(Q,["stop"])},d(a(n)("panel.moveToBackground")),1)):I("",!0)]),default:L(()=>[u.value.subagentType||u.value.model||u.value.thinkingEffort?(l(),c("div",U_,[u.value.subagentType?(l(),c(de,{key:0},[ee(d(u.value.subagentType),1)],64)):I("",!0),r("span",V_,d(b.value),1),u.value.model?(l(),c(de,{key:1},[u.value.subagentType?(l(),c("span",j_,"·")):I("",!0),ee(d(u.value.model),1)],64)):I("",!0),u.value.thinkingEffort?(l(),c(de,{key:2},[D[1]||(D[1]=r("span",{class:"at-type-sep"},"·",-1)),ee(d(a(n)("tasks.thinkingEffort",{effort:u.value.thinkingEffort})),1)],64)):I("",!0)])):I("",!0),R.value?(l(),c("div",K_,d(R.value),1)):I("",!0),u.value.prompt?(l(),c("div",G_,d(u.value.prompt),1)):I("",!0),p.value?(l(),c("div",Q_,[(l(!0),c(de,null,Pe(e.tool.output??[],(O,J)=>(l(),c("div",{key:J},d(O),1))),128))])):I("",!0)]),_:1},8,["status","icon","name","arg","time","open","expandable","stacked","stack-position"]))}}),Z_=Re(Y_,[["__scopeId","data-v-2c2d5687"]]);function X_(e){if(!e)return[];try{const n=JSON.parse(e).questions;if(!Array.isArray(n))return[];const s=[];for(const o of n){if(!o||typeof o!="object")continue;const i=o,u=Array.isArray(i.options)?i.options.map(p=>{const f=p&&typeof p=="object"?p:{};return{label:typeof f.label=="string"?f.label:"",description:typeof f.description=="string"?f.description:""}}):[];s.push({question:typeof i.question=="string"?i.question:"",header:typeof i.header=="string"?i.header:"",options:u,multiSelect:i.multi_select===!0})}return s}catch{return[]}}const Pi={recognized:!1,answers:{},note:""};function J_(e){const t=e?.[0];if(!t)return Pi;let n;try{n=JSON.parse(t)}catch{return Pi}if(!n||typeof n!="object"||Array.isArray(n))return Pi;const s=n.answers;if(!s||typeof s!="object"||Array.isArray(s))return Pi;const o={};for(const[i,u]of Object.entries(s))typeof u=="string"?o[i]=u:u===!0&&(o[i]=!0);return{recognized:!0,answers:o,note:typeof n.note=="string"?n.note:""}}function e8(e,t,n){return e[t]??e[`q_${n}`]}const t8=/^opt_\d+_(\d+)$/;function n8(e,t=[]){if(e===void 0)return{selected:new Set,otherText:"",indeterminate:!1};if(e===!0)return{selected:new Set,otherText:"",indeterminate:!0};const n=new Map;t.forEach((u,p)=>{u.label.length>0&&!n.has(u.label)&&n.set(u.label,p)});const s=n.get(e);if(s!==void 0)return{selected:new Set([s]),otherText:"",indeterminate:!1};const o=new Set,i=[];for(const u of e.split(",")){const p=u.trim(),f=n.get(p);if(f!==void 0){o.add(f);continue}const v=t8.exec(p);v?o.add(Number(v[1])):p.length>0&&i.push(p)}return{selected:o,otherText:i.join(", "),indeterminate:!1}}const s8={key:0,class:"chip"},o8={key:0,class:"au-dismissed"},i8={key:1,class:"au-list"},a8={class:"au-q"},l8={key:0,class:"au-hdr"},r8={class:"au-qtext"},u8={class:"au-opts"},c8={class:"au-glyph"},d8={class:"au-label"},p8={key:0,class:"au-desc"},f8={key:0,class:"au-opt sel"},m8={class:"au-glyph"},v8={class:"au-label"},g8={key:1,class:"au-opt sel"},h8={class:"au-label"},y8={key:2,class:"au-raw"},k8=80,b8=Ee({__name:"AskUserTool",props:{tool:{},mobile:{type:Boolean,default:!1},stackPosition:{default:"single"},toolDiffPanel:{type:Boolean,default:!1}},emits:["openMedia","openFile","openToolDiff"],setup(e){const t=e,{t:n}=Ye();function s(W,Q=k8){const V=W.trim();return V.length>Q?V.slice(0,Q-1)+"…":V}const o=M(()=>X_(t.tool.arg)),i=M(()=>J_(t.tool.output)),u=M(()=>i.value.recognized),p=M(()=>u.value&&Object.keys(i.value.answers).length===0&&i.value.note.length>0),f=M(()=>o.value.map((W,Q)=>n8(e8(i.value.answers,W.question,Q),W.options))),v=M(()=>Object.keys(i.value.answers).length);function k(W,Q){return f.value[W]?.selected.has(Q)??!1}function x(W){return f.value[W]?.otherText??""}function g(W){return f.value[W]?.indeterminate??!1}function m(W,Q){return W?Q?"■":"□":Q?"●":"○"}const $=M(()=>{if(!u.value)return s(t.tool.output?.[0]??"");if(p.value)return n("tools.ask.dismissed");const W=o.value[0]?.question??"",Q=s(W);return o.value.length<=1?Q:`${Q} ${n("tools.ask.more",{count:o.value.length-1})}`}),h=M(()=>u.value?p.value?n("tools.ask.dismissed"):v.value===0?"":v.value===1?n("tools.ask.answer",{count:1}):n("tools.ask.answers",{count:v.value}):""),y=M(()=>!!t.tool.output&&t.tool.output.length>0),S=M(()=>u.value&&(o.value.length>0||p.value)||y.value),B=T(t.tool.defaultExpanded===!0&&S.value),b=M(()=>t.tool.status),P=M(()=>so(t.tool.name)),E=M(()=>Ho(t.tool.name));function R(){S.value&&(B.value=!B.value)}return Ne(()=>[t.tool.defaultExpanded,t.tool.output?.length,t.tool.status],()=>{t.tool.defaultExpanded===!0&&S.value&&(B.value=!0)}),(W,Q)=>(l(),q(jo,{status:b.value,icon:E.value,name:P.value,arg:B.value?"":$.value,time:e.tool.timing,open:B.value,expandable:S.value,stacked:e.stackPosition!=="single","stack-position":e.stackPosition,onToggle:R},{trailing:L(()=>[h.value?(l(),c("span",s8,d(h.value),1)):I("",!0)]),default:L(()=>[p.value?(l(),c("div",o8,d(i.value.note),1)):u.value?(l(),c("div",i8,[(l(!0),c(de,null,Pe(o.value,(V,C)=>(l(),c("div",{key:C,class:"au-block"},[r("div",a8,[V.header?(l(),c("span",l8,d(V.header),1)):I("",!0),r("span",r8,d(V.question),1)]),r("div",u8,[(l(!0),c(de,null,Pe(V.options,(D,O)=>(l(),c("div",{key:O,class:fe(["au-opt",{sel:k(C,O)}])},[r("span",c8,d(m(V.multiSelect,k(C,O))),1),r("span",d8,d(D.label),1),D.description?(l(),c("span",p8,d(D.description),1)):I("",!0)],2))),128)),x(C)?(l(),c("div",f8,[r("span",m8,d(m(V.multiSelect,!0)),1),r("span",v8,d(x(C)),1)])):I("",!0),g(C)?(l(),c("div",g8,[Q[0]||(Q[0]=r("span",{class:"au-glyph"},"●",-1)),r("span",h8,d(a(n)("tools.ask.answered")),1)])):I("",!0)])]))),128))])):(l(),c("div",y8,[(l(!0),c(de,null,Pe(e.tool.output??[],(V,C)=>(l(),c("div",{key:C},d(V),1))),128))]))]),_:1},8,["status","icon","name","arg","time","open","expandable","stacked","stack-position"]))}}),w8=Re(b8,[["__scopeId","data-v-a9a0f259"]]),S8=1e6,pu=5e3;function fu(e){if(e==="")return[];const t=e.split(`
+`);return t.at(-1)===""&&t.pop(),t}function C8(e,t){const n=fu(e),s=fu(t),o=n.length,i=s.length;if(o===0&&i===0)return[];if(o>pu||i>pu||(o+1)*(i+1)>S8)return null;const u=Array.from({length:o+1},()=>Array.from({length:i+1},()=>0));for(let m=1;m<=o;m++)for(let $=1;$<=i;$++)u[m][$]=n[m-1]===s[$-1]?u[m-1][$-1]+1:Math.max(u[m-1][$],u[m][$-1]);const p=[];let f=o,v=i;for(;f>0||v>0;)f>0&&v>0&&n[f-1]===s[v-1]?(p.push({type:"context",text:n[f-1]}),f--,v--):v>0&&(f===0||u[f][v-1]>=u[f-1][v])?(p.push({type:"add",text:s[v-1]}),v--):(p.push({type:"del",text:n[f-1]}),f--);p.reverse();const k=[];let x=1,g=1;for(const m of p)m.type==="context"?(k.push({type:"context",text:m.text,oldNo:x,newNo:g}),x++,g++):m.type==="add"?(k.push({type:"add",text:m.text,newNo:g}),g++):(k.push({type:"del",text:m.text,oldNo:x}),x++);return k}function _8(e){let t=0,n=0;for(const s of e)s.type==="add"?t++:s.type==="del"&&n++;return{added:t,removed:n}}function Od(e){const t=e.trim();if(!t.startsWith("{"))return null;try{const n=JSON.parse(t);return n&&typeof n=="object"&&!Array.isArray(n)?n:null}catch{return null}}function zd(e){const t=$o(e.name);if(t!=="edit"&&t!=="write")return null;const n=Od(e.arg);if(!n)return null;if(t==="edit"){if(n.replace_all===!0)return null;const s=typeof n.old_string=="string"?n.old_string:void 0,o=typeof n.new_string=="string"?n.new_string:void 0;return s===void 0||o===void 0?null:C8(s,o)}return null}function M8(e){const t=Od(e);return t&&typeof t.path=="string"?t.path:void 0}function $8(e,t){for(const n of e){const s=n.tools?.find(o=>o.id===t);if(s)return s}}const x8={key:0,class:"bb-empty"},mu=50,T8=Ee({__name:"ToolOutputBlock",props:{lines:{},emptyText:{}},setup(e){const t=e,n=M(()=>t.lines??[]),s=M(()=>n.value.length>mu),o={"--tool-output-visible-lines":String(mu)};return(i,u)=>(l(),c("div",{class:fe(["bb-code tool-output-block",{scroll:s.value}]),style:o},[n.value.length===0&&e.emptyText?(l(),c("div",x8,d(e.emptyText),1)):I("",!0),(l(!0),c(de,null,Pe(n.value,(p,f)=>(l(),c("div",{key:f},d(p),1))),128))],2))}}),ua=Re(T8,[["__scopeId","data-v-3eefb240"]]),I8={key:0,class:"chip"},A8={key:0,class:"bb-summary"},P8=Ee({__name:"EditTool",props:{tool:{},mobile:{type:Boolean,default:!1},stackPosition:{default:"single"},toolDiffPanel:{type:Boolean,default:!1}},emits:["openMedia","openFile","openToolDiff"],setup(e,{emit:t}){const n=e,s=t,o=M(()=>n.tool.status),i=M(()=>so(n.tool.name)),u=M(()=>Ho(n.tool.name)),p=M(()=>So(n.tool.name,n.tool.arg)),f=M(()=>So(n.tool.name,n.tool.arg,!0)),v=M(()=>zd(n.tool)),k=M(()=>{const h=v.value;if(h&&n.tool.status!=="error"){const{added:y,removed:S}=_8(h);if(y||S)return`+${y} −${S}`}return""}),x=M(()=>!!n.tool.output&&n.tool.output.length>0),g=T(!1),m=M(()=>x.value&&!n.toolDiffPanel);function $(){if(n.toolDiffPanel){s("openToolDiff",n.tool.id);return}x.value&&(g.value=!g.value)}return(h,y)=>(l(),q(jo,{status:o.value,icon:u.value,name:i.value,arg:g.value?"":p.value,time:e.tool.timing,open:g.value,expandable:m.value||e.toolDiffPanel,stacked:e.stackPosition!=="single","stack-position":e.stackPosition,onToggle:$},{trailing:L(()=>[k.value?(l(),c("span",I8,d(k.value),1)):I("",!0)]),default:L(()=>[f.value?(l(),c("div",A8,d(f.value),1)):I("",!0),w(ua,{lines:e.tool.output,"empty-text":"Waiting for output…"},null,8,["lines"])]),_:1},8,["status","icon","name","arg","time","open","expandable","stacked","stack-position"]))}}),E8=Re(P8,[["__scopeId","data-v-74e1da99"]]),B8={key:1,class:"chip"},R8={key:0,class:"bb-summary"},L8=Ee({__name:"GenericTool",props:{tool:{},mobile:{type:Boolean,default:!1},stackPosition:{default:"single"},toolDiffPanel:{type:Boolean,default:!1}},emits:["openMedia","openFile","openToolDiff","moveToBackground"],setup(e,{emit:t}){const n=e,s=t,{t:o}=Ye(),i=M(()=>n.tool.status==="running"&&/^bash$/i.test(n.tool.name)),u=M(()=>!!n.tool.output&&n.tool.output.length>0),p=M(()=>u.value||i.value),f=T(n.tool.defaultExpanded===!0&&p.value),v=zs("resolveTaskForToolCall"),k=M(()=>v?v(n.tool.id):void 0),x=M(()=>i.value&&k.value?.kind==="bash"&&Dd(k.value));function g(){const P=k.value;P!==void 0&&s("moveToBackground",P.id)}const m=M(()=>n.tool.status),$=M(()=>so(n.tool.name)),h=M(()=>Ho(n.tool.name)),y=M(()=>So(n.tool.name,n.tool.arg)),S=M(()=>So(n.tool.name,n.tool.arg,!0)),B=M(()=>Cc({name:n.tool.name,arg:n.tool.arg,output:n.tool.output,timing:n.tool.timing,status:n.tool.status}));function b(){p.value&&(f.value=!f.value)}return Ne(()=>[n.tool.defaultExpanded,n.tool.output?.length,n.tool.status,n.tool.name],()=>{n.tool.defaultExpanded===!0&&p.value&&(f.value=!0)}),(P,E)=>(l(),q(jo,{status:m.value,icon:h.value,name:$.value,arg:f.value?"":y.value,time:e.tool.name!=="bash"?e.tool.timing:"",open:f.value,expandable:p.value,stacked:e.stackPosition!=="single","stack-position":e.stackPosition,onToggle:b},{trailing:L(()=>[x.value?(l(),c("button",{key:0,type:"button",class:"gt-bg",onClick:Oe(g,["stop"])},d(a(o)("panel.moveToBackground")),1)):I("",!0),B.value?(l(),c("span",B8,d(B.value),1)):I("",!0)]),default:L(()=>[S.value?(l(),c("div",R8,d(S.value),1)):I("",!0),w(ua,{lines:e.tool.output,"empty-text":"Waiting for output…"},null,8,["lines"])]),_:1},8,["status","icon","name","arg","time","open","expandable","stacked","stack-position"]))}}),D8=Re(L8,[["__scopeId","data-v-d24a81f5"]]),O8={class:"media-title"},z8=["src","alt"],F8=["aria-label"],N8=["src"],W8={class:"media-play-badge"},q8=["src"],H8=Ee({__name:"MediaTool",props:{tool:{},mobile:{type:Boolean,default:!1}},emits:["openMedia"],setup(e,{emit:t}){const n=e,s=t,o=M(()=>n.tool.status==="ok"?n.tool.media:void 0);function i(v){return v.split(/[\\/]+/).pop()||v}function u(v){return v<1024?`${v} B`:v<1024*1024?`${(v/1024).toFixed(1)} KB`:`${(v/1024/1024).toFixed(1)} MB`}const p=M(()=>{const v=o.value;if(!v)return"";const k=[v.path?i(v.path):n.tool.name];return v.mimeType&&k.push(v.mimeType),v.bytes!==void 0&&k.push(u(v.bytes)),v.dimensions&&k.push(v.dimensions),k.join(" · ")});function f(){const v=o.value;v&&(v.kind==="image"||v.kind==="video")&&s("openMedia",v)}return(v,k)=>o.value?(l(),c("div",{key:0,class:fe(["media-tool",{mob:e.mobile}])},[w(gt,{text:o.value.path||p.value},{default:L(()=>[r("div",O8,d(p.value),1)]),_:1},8,["text"]),o.value.kind==="image"?(l(),q(gt,{key:0,text:o.value.path||p.value},{default:L(()=>[r("button",{type:"button",class:"media-image-button",onClick:f},[r("img",{class:"media-image",src:o.value.url,alt:o.value.path?i(o.value.path):p.value,loading:"lazy"},null,8,z8)])]),_:1},8,["text"])):o.value.kind==="video"?(l(),c("button",{key:1,type:"button",class:"media-video-button","aria-label":p.value,onClick:f},[r("video",{class:"media-video",src:o.value.url,preload:"metadata",playsinline:"",muted:""},null,8,N8),r("span",W8,[w(X,{name:"play",size:"md"})])],8,F8)):(l(),c("audio",{key:2,class:"media-audio",src:o.value.url,controls:""},null,8,q8))],2)):I("",!0)}}),U8=Re(H8,[["__scopeId","data-v-04192531"]]),V8="main",j8=1e4;function yi(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function bo(e){return typeof e=="string"&&e.length>0}function K8(e){try{return AbortSignal.timeout(e)}catch{return}}function G8(e){return!yi(e)||!bo(e.label)?null:{label:e.label,description:bo(e.description)?e.description:void 0}}function Q8(e){if(!yi(e))return;const t=e.state;if(t!=="pending"&&t!=="approved"&&t!=="rejected"&&t!=="cancelled")return;const n=bo(e.selected_option)?e.selected_option:void 0,s=bo(e.feedback)?e.feedback:void 0;return{state:t,selectedOption:n,feedback:s}}function Y8(e){if(!yi(e)||!bo(e.tool_call_id)||!bo(e.plan))return null;const t=e.source;if(t!=="interaction"&&t!=="display"&&t!=="output")return null;const n=Array.isArray(e.options)?e.options.map(G8).filter(s=>s!==null):void 0;return{toolCallId:e.tool_call_id,plan:e.plan,path:bo(e.path)?e.path:void 0,options:n!==void 0&&n.length>0?n:void 0,source:t,review:Q8(e.review)}}function Z8(e){if(!yi(e)||!Array.isArray(e.plans))return[];const t=[];for(const n of e.plans){const s=Y8(n);s!==null&&t.push(s)}return t}function X8(e){return!yi(e)||e.code!==0?[]:Z8(e.data)}async function Fd(e,t,n=fetch){const s=lc().serverHttpUrl,o=`/sessions/${encodeURIComponent(e)}/transcript/plan`,i=new URLSearchParams({agent_id:V8,tool_call_id:t}),u=pi();try{const p=await n(`${go(s,o)}?${i.toString()}`,{headers:u!==void 0?{Authorization:`Bearer ${u}`}:void 0,signal:K8(j8)});if(!p.ok)return null;const f=await p.json(),v=X8(f);return v.find(k=>k.toolCallId===t)??v[0]??null}catch{return null}}const J8={key:0,class:"chip"},e5={key:0,class:"bb-summary"},t5={key:1,class:"plan-wrap"},n5=["title"],s5={class:"plan-body"},o5={key:1,class:"plan-review"},i5={key:0,class:"plan-state"},a5={key:1,class:"plan-option"},l5={key:2,class:"plan-feedback"},r5={key:2,class:"plan-loading"},u5={key:3,class:"plan-empty"},c5=Ee({__name:"PlanTool",props:{tool:{},mobile:{type:Boolean,default:!1},stackPosition:{default:"single"},toolDiffPanel:{type:Boolean,default:!1}},emits:["openMedia","openFile","openToolDiff"],setup(e,{emit:t}){const n=ec(()=>sc(()=>Promise.resolve().then(()=>r$),void 0)),s=e,o=t,{t:i}=Ye(),u=zs("sessionId",()=>{}),p=M(()=>s.tool.status),f=M(()=>so(s.tool.name)),v=M(()=>Ho(s.tool.name)),k=M(()=>Cc({name:s.tool.name,arg:s.tool.arg,output:s.tool.output,timing:s.tool.timing,status:s.tool.status})),x=M(()=>!!s.tool.output&&s.tool.output.length>0),g=M(()=>s.tool.status==="running"&&/^bash$/i.test(s.tool.name)),m=T(null),$=T("idle"),h=M(()=>m.value?.path?m.value.path:So(s.tool.name,s.tool.arg)),y=M(()=>m.value!==null?"":So(s.tool.name,s.tool.arg,!0)),S=T(!1),B=M(()=>m.value!==null||x.value||g.value);Ne(m,W=>{W!==null&&(S.value=!0)});function b(){B.value&&(S.value=!S.value)}function P(){const W=m.value?.path;W&&o("openFile",{path:W})}const E=M(()=>{const W=m.value?.review?.state;if(W===void 0)return null;switch(W){case"approved":return i("tools.plan.approved");case"rejected":return i("tools.plan.rejected");case"cancelled":return i("tools.plan.cancelled");case"pending":return i("tools.plan.pending")}});async function R(){if($.value!=="idle")return;if(s.tool.status==="running"){$.value="settled";return}const W=u();if(!W){$.value="settled";return}$.value="loading",m.value=await Fd(W,s.tool.id),$.value="settled"}return xt(()=>{R()}),(W,Q)=>(l(),q(jo,{status:p.value,icon:v.value,name:f.value,arg:S.value?"":h.value,time:e.tool.timing,open:S.value,expandable:B.value,stacked:e.stackPosition!=="single","stack-position":e.stackPosition,onToggle:b},{trailing:L(()=>[k.value?(l(),c("span",J8,d(k.value),1)):I("",!0)]),default:L(()=>[y.value?(l(),c("div",e5,d(y.value),1)):I("",!0),m.value?(l(),c("div",t5,[m.value.path?(l(),c("button",{key:0,class:"plan-path",type:"button",title:m.value.path,onClick:P},d(m.value.path),9,n5)):I("",!0),r("div",s5,[w(a(n),{text:m.value.plan,"open-file":V=>o("openFile",V)},null,8,["text","open-file"])]),m.value.review?(l(),c("div",o5,[E.value?(l(),c("span",i5,d(E.value),1)):I("",!0),m.value.review.selectedOption?(l(),c("span",a5,d(m.value.review.selectedOption),1)):I("",!0),m.value.review.feedback?(l(),c("span",l5,"“"+d(m.value.review.feedback)+"”",1)):I("",!0)])):I("",!0)])):$.value==="loading"?(l(),c("div",r5,d(a(i)("tools.plan.loading")),1)):$.value==="settled"&&m.value===null&&!x.value?(l(),c("div",u5,d(a(i)("tools.plan.unavailable")),1)):(l(),q(ua,{key:4,lines:e.tool.output,"empty-text":"Waiting for output…"},null,8,["lines"]))]),_:1},8,["status","icon","name","arg","time","open","expandable","stacked","stack-position"]))}}),d5=Re(c5,[["__scopeId","data-v-c851b016"]]),p5=/([\s\S]*?)<\/summary>/,f5=/([\s\S]*?)<\/resume_hint>/,Ea=/]*)>|<\/subagent>/g,m5=" ",vu=/(completed|failed|aborted):\s*(\d+)/g,gu=/([a-z_]+)="([^"]*)"/g;function v5(e){return e.replaceAll(""",'"').replaceAll("<","<").replaceAll(">",">").replaceAll("&","&")}function g5(e){const t={};gu.lastIndex=0;let n;for(;(n=gu.exec(e))!==null;)t[n[1]]=v5(n[2]);return t}function h5(e){const t={completed:0,failed:0,aborted:0};vu.lastIndex=0;let n;for(;(n=vu.exec(e))!==null;){const s=n[1];t[s]=Number(n[2])}return t}function y5(e,t){const n=g5(e);return{outcome:n.outcome??"completed",item:n.item,agentId:n.agent_id,mode:n.mode,state:n.state,body:t.trim()}}function k5(e){const t=[],n=[];Ea.lastIndex=0;let s;for(;(s=Ea.exec(e))!==null;)if(s[0]===m5){if(n.length===0)continue;const o=n.pop();o&&n.length===0&&t.push(y5(o.attrs,e.slice(o.bodyStart,s.index)))}else n.length===0?n.push({attrs:s[1]??"",bodyStart:Ea.lastIndex}):n.push(null);return t}function b5(e){if(e==null)return null;const t=Array.isArray(e)?e.join(`
+`):e;if(!t.includes(""))return null;const n=p5.exec(t)?.[1]?.trim()??"",{completed:s,failed:o,aborted:i}=h5(n),u=f5.exec(t)?.[1]?.trim(),p=k5(t),f=s+o+i;return{summary:n,completed:s,failed:o,aborted:i,total:f>0?f:p.length,subagents:p,resumeHint:u}}function hu(e){return e?e.split(`
+`).map(t=>t.trimEnd()).filter(Boolean).at(-1)??"":""}function w5(e){return e.suspendedReason||hu(e.text)||hu(e.outputLines?.join(`
+`))||e.summary||""}function S5(e){return e.suspendedReason?e.suspendedReason:e.text?e.text:e.outputLines&&e.outputLines.length>0?e.outputLines.join(`
+`):e.summary??""}function C5(e){return e==="completed"?"completed":e==="failed"||e==="aborted"?"failed":"working"}function yu(e,t){return{id:e.agentId??e.item??`result-${t}`,name:e.item??`subagent ${t+1}`,activity:e.body.split(`
+`)[0]??"",phase:C5(e.outcome),body:e.body}}function _5(e,t){return!!(t.agentId&&e.id===t.agentId||t.item&&e.name.includes(t.item))}function M5(e,t){const n=e.map(o=>({id:o.id,name:o.name,activity:w5(o),phase:o.phase,body:S5(o)}));if(!t)return n;const s=t.subagents.filter(o=>(o.outcome==="aborted"||o.state==="not_started")&&!e.some(i=>_5(i,o))).map((o,i)=>yu(o,i));return n.length>0?[...n,...s]:t.subagents.map((o,i)=>yu(o,i))}const $5=["aria-expanded"],x5={class:"title"},T5={key:0,class:"meta"},I5={key:1,class:"sum-txt"},A5={class:"rt"},P5={class:"status"},E5={key:0,class:"chip"},B5={key:1,class:"tm"},R5={class:"body"},L5={class:"overview"},D5={class:"overview-line"},O5={class:"big"},z5={key:0,class:"lbl"},F5={key:1,class:"lbl"},N5={key:2,class:"lbl"},W5={key:0,class:"seg","aria-hidden":"true"},q5={key:1,class:"legend"},H5=["aria-expanded","onClick"],U5={class:"mname"},V5={class:"mact"},j5={class:"mphase"},K5={key:1,class:"fallback-output"},G5={key:2,class:"waiting"},Q5=Ee({__name:"SwarmTool",props:{tool:{},mobile:{type:Boolean,default:!1},stackPosition:{default:"single"},toolDiffPanel:{type:Boolean,default:!1}},emits:["openMedia","openFile","openToolDiff","openAgent"],setup(e){const{t}=Ye(),n=e;function s(C){if(!C)return{};try{const D=JSON.parse(C),O=Array.isArray(D.items)?D.items:void 0;return{description:typeof D.description=="string"?D.description:void 0,itemCount:O?.length}}catch{return{}}}const o=zs("resolveSwarmMembers"),i=M(()=>s(n.tool.arg)),u=M(()=>so(n.tool.name)),p=M(()=>i.value.description??""),f=M(()=>o?.(n.tool.id)??[]),v=M(()=>b5(n.tool.output)),k=M(()=>n.tool.status),x=M(()=>k.value==="running"?"running":k.value==="error"||(v.value?.failed??0)>0||(v.value?.aborted??0)>0?"error":"ok"),g=M(()=>M5(f.value,v.value)),m=M(()=>{const C={completed:0,working:0,suspended:0,queued:0,failed:0};for(const D of g.value)C[D.phase]++;return C}),$=M(()=>g.value.length||i.value.itemCount||0),h=M(()=>m.value.completed+m.value.failed),y=M(()=>m.value.working+m.value.suspended+m.value.queued),S=[{phase:"completed",cls:"s-ok"},{phase:"working",cls:"s-run"},{phase:"suspended",cls:"s-warn"},{phase:"failed",cls:"s-fail"},{phase:"queued",cls:"s-queue"}],B=M(()=>S.map(({phase:C,cls:D})=>({phase:C,count:m.value[C],cls:D})).filter(C=>C.count>0)),b=T(k.value==="running"||y.value>0);function P(){b.value=!b.value}const E=M(()=>g.value.length>0||v.value||k.value==="running"?"":(n.tool.output??[]).join(`
+`).trim()),R=T(new Set);function W(C){const D=new Set(R.value);D.has(C)?D.delete(C):D.add(C),R.value=D}function Q(C){return R.value.has(C)}function V(C){return t(`tools.swarm.phase${C[0].toUpperCase()}${C.slice(1)}`)}return(C,D)=>(l(),c("div",{class:fe(["swarm-card",{open:b.value,err:x.value==="error",stacked:e.stackPosition!=="single"}])},[r("button",{class:"head",type:"button","aria-expanded":b.value,onClick:P},[w(X,{class:"ic",name:"git-pull-request",size:"sm"}),r("span",x5,d(u.value),1),p.value?(l(),c("span",T5,"·")):I("",!0),p.value?(l(),c("span",I5,d(p.value),1)):I("",!0),r("span",A5,[r("span",P5,[x.value==="ok"?(l(),q(X,{key:0,name:"check",size:"sm"})):x.value==="error"?(l(),q(X,{key:1,name:"close",size:"sm"})):(l(),q(qo,{key:2,status:"running"}))]),h.value>0||$.value>0?(l(),c("span",E5,d(h.value)+" / "+d($.value),1)):I("",!0),e.tool.timing?(l(),c("span",B5,d(e.tool.timing),1)):I("",!0)]),w(X,{class:"car",name:b.value?"chevron-down":"chevron-right",size:"sm"},null,8,["name"])],8,$5),wt(r("div",R5,[r("div",L5,[r("div",D5,[r("span",O5,d(a(t)("tools.swarm.progress",{done:h.value,total:$.value})),1),x.value==="running"&&$.value>0?(l(),c("span",z5,d(a(t)("tools.swarm.runningSub",{count:y.value})),1)):v.value?(l(),c("span",F5,d(a(t)("tools.swarm.doneSub",{completed:v.value.completed,failed:v.value.failed+v.value.aborted})),1)):(l(),c("span",N5,d(a(t)("tools.swarm.waiting")),1))]),$.value>0&&B.value.length>0?(l(),c("div",W5,[(l(!0),c(de,null,Pe(B.value,O=>(l(),c("span",{key:O.phase,class:fe(O.cls),style:vt({flex:O.count})},null,6))),128))])):I("",!0),B.value.length>1?(l(),c("div",q5,[(l(!0),c(de,null,Pe(B.value,O=>(l(),c("span",{key:O.phase},[r("i",{class:fe(["lg-dot",O.cls])},null,2),ee(d(V(O.phase))+" "+d(O.count),1)]))),128))])):I("",!0)]),g.value.length>0?(l(!0),c(de,{key:0},Pe(g.value,O=>(l(),c("div",{key:O.id,class:fe(["member",[`phase-${O.phase}`,{open:Q(O.id)}]])},[r("button",{class:"member-head",type:"button","aria-expanded":Q(O.id),onClick:J=>W(O.id)},[w(qo,{class:"row-dot",status:O.phase},null,8,["status"]),w(gt,{text:O.name},{default:L(()=>[r("span",U5,d(O.name),1)]),_:2},1032,["text"]),O.activity?(l(),q(gt,{key:0,text:O.activity},{default:L(()=>[r("span",V5,d(O.activity),1)]),_:2},1032,["text"])):I("",!0),r("span",j5,d(V(O.phase)),1),w(X,{class:"mcar",name:Q(O.id)?"chevron-down":"chevron-right",size:"sm"},null,8,["name"])],8,H5),wt(r("div",{class:"member-body"},d(O.body),513),[[Wn,Q(O.id)]])],2))),128)):E.value?(l(),c("div",K5,d(E.value),1)):(l(),c("div",G5,d(a(t)("tools.swarm.waiting")),1))],512),[[Wn,b.value]])],2))}}),Y5=Re(Q5,[["__scopeId","data-v-4b58e128"]]),ns=St.global.t;function Z5(e,t,n){const s={};for(let o=t;o{o!==null&&s.push(o),o=null};for(let u=t;um.trim());if(t.length===0)return null;const n=t.findIndex(m=>m.startsWith("[")),s=n===-1?t.length:n,o=Z5(t,0,s),i=o.wait_status;if(i!=="completed"&&i!=="timed_out"&&i!=="no_tasks")return null;const u=Ba(t,"[finished]",0),p=Ba(t,"[completed_during_wait]",0),f=Ba(t,"[still_running]",0),v=u!==null?Ra(t,u.start,u.end)[0]:void 0,k=p!==null?Ra(t,p.start,p.end):[],x=f!==null?Ra(t,f.start,f.end):[];let g=x.length;if(f!==null)for(let m=f.start;mm.task_id??m.description??"").filter(m=>m.length>0)}}function J5(e){const t=(e??"").trim();if(t.startsWith("{"))try{const n=JSON.parse(t);if(n&&typeof n=="object"){const s=n.task_id??n.taskId;return typeof s=="string"&&s.length>0?s:void 0}}catch{}}function eM(e){const t=e.status??"ok";if(t==="running")return{kind:"running",taskId:J5(e.arg)};const n=X5(e.output);return t==="error"||n===null?{kind:"error",message:(e.output??[]).find(o=>o.trim().length>0)??""}:{kind:"result",result:n}}function tM(e){switch(e.kind){case"running":return e.taskId!==void 0?ns("tools.waitfor.waitingTask",{id:e.taskId}):ns("tools.waitfor.waitingAny");case"error":return e.message;case"result":{const t=e.result;switch(t.status){case"completed":return t.finishedDescription??t.taskId??"";case"timed_out":return t.runningCount>0?ns("tools.waitfor.stillRunning",{count:t.runningCount}):ns("tools.waitfor.timedOut");case"no_tasks":return ns("tools.waitfor.noTasks")}}}}function bu(e){if(e.runningSamples.length===0)return null;const t=[...e.runningSamples],n=e.runningCount-e.runningSamples.length;return n>0&&t.push(ns("tools.waitfor.moreRunning",{count:n})),t.join(", ")}function nM(e){if(e.kind!=="result")return null;const t=e.result;if(t.status==="completed"){const n=[t.taskId,Nd(t.finishedStatus)].filter(u=>u&&u.length>0).join(" · "),s=[];t.finishedDescription!==void 0&&t.finishedDescription.length>0&&s.push(t.finishedDescription);const o=[];t.extraCount>0&&o.push(ns("tools.waitfor.moreFinished",{count:t.extraCount})),t.runningCount>0&&o.push(ns("tools.waitfor.stillRunning",{count:t.runningCount})),o.length>0&&s.push(o.join(" · "));const i=bu(t);return i!==null&&s.push(i),{main:n,subs:s}}if(t.status==="timed_out"){if(t.runningCount===0&&t.extraCount===0)return null;const n=t.runningCount>0?ns("tools.waitfor.stillRunning",{count:t.runningCount}):ns("tools.waitfor.moreFinished",{count:t.extraCount}),s=[];t.runningCount>0&&t.extraCount>0&&s.push(ns("tools.waitfor.moreFinished",{count:t.extraCount}));const o=bu(t);return o!==null&&s.push(o),{main:n,subs:s}}return null}const sM={completed:"tools.waitfor.status.completed",failed:"tools.waitfor.status.failed",timed_out:"tools.waitfor.status.timed_out",killed:"tools.waitfor.status.killed",lost:"tools.waitfor.status.lost"};function Nd(e){if(!e)return"";const t=sM[e];return t?ns(t):e}function oM(e){if(e.kind!=="result")return null;const t=e.result.finishedStatus;if(!t)return null;const n=t==="completed"?"success":t==="failed"||t==="lost"?"danger":t==="timed_out"||t==="killed"?"warning":"neutral";return{label:Nd(t),variant:n}}function iM(e,t=""){if(e.kind==="result"){if(e.result.status==="no_tasks")return"";const n=e.result.waitedMs;if(n!==void 0){const s=aM(n);if(s)return s}}return t}function aM(e){if(!Number.isFinite(e)||e<0)return"";if(e<1e3)return`${Math.round(e)}ms`;const t=Math.round(e/1e3);if(t<60)return`${t}s`;const n=Math.floor(t/60),s=t%60;if(n<60)return s===0?`${n}m`:`${n}m ${s}s`;const o=Math.floor(n/60),i=n%60;return i===0?`${o}h`:`${o}h ${i}m`}const lM={key:0,class:"wf-glance"},rM={class:"wf-main"},uM=Ee({__name:"WaitForTool",props:{tool:{},mobile:{type:Boolean,default:!1},stackPosition:{default:"single"},toolDiffPanel:{type:Boolean,default:!1}},emits:["openMedia","openFile","openToolDiff"],setup(e){const t=e,{t:n}=Ye(),s=M(()=>eM(t.tool)),o=M(()=>t.tool.status),i=M(()=>n("tools.label.waitfor")),u=M(()=>Ho(t.tool.name)),p=M(()=>tM(s.value)),f=M(()=>iM(s.value,t.tool.timing??"")),v=M(()=>nM(s.value)),k=M(()=>oM(s.value)),x=M(()=>!!t.tool.output&&t.tool.output.length>0),g=M(()=>v.value!==null||x.value),m=T(t.tool.defaultExpanded===!0&&g.value);function $(){g.value&&(m.value=!m.value)}return Ne(()=>[t.tool.defaultExpanded,t.tool.output?.length,t.tool.status],()=>{t.tool.defaultExpanded===!0&&g.value&&(m.value=!0)}),(h,y)=>(l(),q(jo,{status:o.value,icon:u.value,name:i.value,arg:m.value?"":p.value,time:f.value,open:m.value,expandable:g.value,stacked:e.stackPosition!=="single","stack-position":e.stackPosition,onToggle:$},{trailing:L(()=>[k.value?(l(),q(Et,{key:0,variant:k.value.variant,size:"sm"},{default:L(()=>[w(X,{name:"check",size:"sm"}),ee(" "+d(k.value.label),1)]),_:1},8,["variant"])):s.value.kind==="result"&&s.value.result.status==="timed_out"?(l(),q(Et,{key:1,variant:"warning",size:"sm"},{default:L(()=>[ee(d(a(n)("tools.waitfor.timedOut")),1)]),_:1})):I("",!0)]),default:L(()=>[v.value?(l(),c("div",lM,[r("div",rM,d(v.value.main),1),(l(!0),c(de,null,Pe(v.value.subs,(S,B)=>(l(),c("div",{key:B,class:"wf-sub"},d(S),1))),128))])):I("",!0),x.value?(l(),q(ua,{key:1,lines:e.tool.output},null,8,["lines"])):I("",!0)]),_:1},8,["status","icon","name","arg","time","open","expandable","stacked","stack-position"]))}}),cM=Re(uM,[["__scopeId","data-v-abcade80"]]);function dM(e){if(e.media&&e.status==="ok")return U8;const t=$o(e.name);return t==="edit"||t==="write"||t==="multi_edit"?E8:t==="exitplanmode"?d5:t==="task"?Z_:t==="agentswarm"?Y5:t==="askuserquestion"?w8:t==="waitfor"?cM:D8}const Wd=Ee({__name:"ToolCall",props:{tool:{},mobile:{type:Boolean,default:!1},stackPosition:{default:"single"},toolDiffPanel:{type:Boolean,default:!1}},emits:["openMedia","openFile","openToolDiff","openAgent","moveToBackground"],setup(e,{emit:t}){const n=e,s=t,o=M(()=>dM(n.tool));return(i,u)=>(l(),q(Ju(o.value),{tool:e.tool,mobile:e.mobile,"stack-position":e.stackPosition,"tool-diff-panel":e.toolDiffPanel,"data-scroll-anchor-id":e.tool.id,onOpenMedia:u[0]||(u[0]=p=>s("openMedia",p)),onOpenFile:u[1]||(u[1]=p=>s("openFile",p)),onOpenToolDiff:u[2]||(u[2]=p=>s("openToolDiff",p)),onOpenAgent:u[3]||(u[3]=p=>s("openAgent",p)),onMoveToBackground:u[4]||(u[4]=p=>s("moveToBackground",p))},null,40,["tool","mobile","stack-position","tool-diff-panel","data-scroll-anchor-id"]))}});function fs(e){if(e>=1024*1024)return`${wu(e/(1024*1024))}M`;if(e>=1024){const t=e/1024;return`${t>=100?Math.round(t):wu(t)}k`}return String(e)}function wu(e){const t=e.toFixed(1);return t.endsWith(".0")?t.slice(0,-2):t}function ca(e){if(e.blocks)return e.blocks;const t=[];e.thinking&&t.push({kind:"thinking",thinking:e.thinking}),e.text&&t.push({kind:"text",text:e.text});for(const n of e.tools??[])t.push({kind:"tool",tool:n});return t}function pM(e){return!(e.tool.status==="ok"&&e.tool.media)}function fM(e,t){return t<=1?"single":e===0?"first":e===t-1?"last":"middle"}const Su=new WeakMap;function mM(e){const t=Su.get(e);if(t)return t;const n=vM(e);return Su.set(e,n),n}function vM(e){const t=ca(e),n=[];let s=[];const o=()=>{if(s.length===1){const[i]=s;i&&n.push({kind:"tool",tool:i.tool,sourceIndex:i.sourceIndex})}else s.length>1&&n.push({kind:"tool-stack",tools:s});s=[]};return t.forEach((i,u)=>{if(i.kind==="tool"){if(pM(i)){s.push({tool:i.tool,sourceIndex:u});return}o(),n.push({kind:"tool",tool:i.tool,sourceIndex:u});return}o(),i.kind==="thinking"?n.push({kind:"thinking",thinking:i.thinking,sourceIndex:u}):i.kind==="text"?n.push({kind:"text",text:i.text,sourceIndex:u}):i.kind==="error"&&n.push({kind:"error",text:i.text,code:i.code,sourceIndex:u})}),o(),n}function gM(e){return ca(e).flatMap(t=>t.kind==="text"&&t.text?[t.text]:[]).join(`
+
+`)}function hM(e){const t=[];for(const n of ca(e))if(n.kind==="thinking"&&n.thinking)t.push(`> **Thinking**
+> ${n.thinking.split(`
+`).join(`
+> `)}`);else if(n.kind==="text"&&n.text)t.push(n.text);else if(n.kind==="error"&&n.text){const s=n.code!==void 0?`**Error** (${n.code})`:"**Error**";t.push(`> ${s}
+> ${n.text.split(`
+`).join(`
+> `)}`)}else if(n.kind==="tool"&&n.tool.output&&n.tool.output.length>0){const s=n.tool.output.join(`
+`);t.push(`\`\`\`
+[${n.tool.name}]
+${s}
+\`\`\``)}return t.join(`
+
+`)}function qd(e){return e.tool.id||`tool-${e.sourceIndex}`}function yM(e,t){return e.kind==="tool-stack"?`tool-stack-${e.tools[0]?.sourceIndex??t}`:e.kind==="tool"?qd({tool:e.tool,sourceIndex:e.sourceIndex}):`${e.kind}-${e.sourceIndex}`}const kM=["aria-expanded"],bM={class:"tg-title"},wM={class:"tg-meta"},SM=["inert"],CM={class:"tool-group-body-inner"},_M=Ee({__name:"ToolGroup",props:{tools:{},mobile:{type:Boolean,default:!1},toolDiffPanel:{type:Boolean,default:!1}},emits:["openMedia","openFile","openToolDiff","openAgent","moveToBackground"],setup(e,{emit:t}){const n=e,s=t,o=T(!0),i=M(()=>n.tools.length),u=M(()=>n.tools.some(m=>m.tool.status==="running")?"running":n.tools.some(m=>m.tool.status==="error")?"error":"done"),{t:p}=Ye(),f=M(()=>{switch(u.value){case"running":return p("tools.group.running");case"error":return p("tools.group.error");default:return p("tools.group.done")}});function v(){o.value=!o.value}const k=zs("pinScroll",()=>{}),x=T(null);function g(){v();const m=x.value;m&&Xe(()=>k(m))}return(m,$)=>(l(),c("div",{class:fe(["tool-group",{open:o.value}])},[r("button",{class:"tool-group-head",ref_key:"headEl",ref:x,type:"button","aria-expanded":o.value,onClick:g},[w(qo,{status:u.value},null,8,["status"]),w(X,{class:"tg-ic",name:"list",size:"sm"}),r("span",bM,d(a(p)("tools.group.title",i.value)),1),r("span",wM,"· "+d(f.value),1),w(X,{class:"tg-car",name:"chevron-right",size:"sm"})],8,kM),r("div",{class:fe(["tool-group-body",{open:o.value}]),inert:!o.value},[r("div",CM,[(l(!0),c(de,null,Pe(e.tools,(h,y)=>(l(),q(Wd,{key:a(qd)(h),tool:h.tool,mobile:e.mobile,"stack-position":a(fM)(y,e.tools.length),"tool-diff-panel":e.toolDiffPanel,onOpenMedia:$[0]||($[0]=S=>s("openMedia",S)),onOpenFile:$[1]||($[1]=S=>s("openFile",S)),onOpenToolDiff:$[2]||($[2]=S=>s("openToolDiff",S)),onOpenAgent:$[3]||($[3]=S=>s("openAgent",S)),onMoveToBackground:$[4]||($[4]=S=>s("moveToBackground",S))},null,8,["tool","mobile","stack-position","tool-diff-panel"]))),128))])],10,SM)],2))}}),MM=Re(_M,[["__scopeId","data-v-5d4f37b4"]]),Ei=T(!1);let Cu=!1;function La(){const e=document.documentElement.dataset.colorScheme;return e==="dark"?!0:e==="light"?!1:window.matchMedia("(prefers-color-scheme: dark)").matches}function Hd(){return!Cu&&typeof window<"u"&&typeof document<"u"&&(Cu=!0,Ei.value=La(),new MutationObserver(()=>{Ei.value=La()}).observe(document.documentElement,{attributes:!0,attributeFilter:["data-color-scheme"]}),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",()=>{Ei.value=La()})),Ei}const Ud=["cjs","css","csv","gif","htm","html","jpeg","jpg","js","json","jsx","log","md","mjs","pdf","png","scss","svg","ts","tsx","txt","vue","webp","xml","yaml","yml"],$M=new Set(["AGENTS.md","CHANGELOG.md","Dockerfile","LICENSE","Makefile","README.md","package.json","pnpm-lock.yaml","pnpm-workspace.yaml","tsconfig.json","vite.config.ts"]),vl=[...Ud].sort((e,t)=>t.length-e.length).join("|"),Da=new RegExp([String.raw`(?:^|[\s([{"'`+"`"+String.raw`])`,String.raw`(`,String.raw`(?:~|\.{1,2}|/)?(?:[A-Za-z0-9_.@+()[\]-]+/)+[A-Za-z0-9_.@+()[\]-]+(?:\.(?:${vl}))?`,String.raw`|`,String.raw`[A-Za-z0-9_.@+()[\]-]+\.(?:${vl})`,String.raw`)`,String.raw`(?:#L?(\d+)|:(\d+))?`,String.raw`(?=$|[\s)"'\]}>.,;!?,。;!?)])`].join(""),"gi"),Vd=/[),.;!?,。;!?)]+$/;function xM(e){const t=e.toLowerCase();return Ud.some(n=>t.endsWith(`.${n}`))}function TM(e){const t=new Map,n=new RegExp(String.raw`\b(?:path|src)=["'](\/[^"']+\.(?:${vl}))["']`,"gi");let s;for(;(s=n.exec(e))!==null;){const o=s[1];if(!o)continue;const i=o.split("/").pop();i&&t.set(i,o)}return t}function IM(e,t={}){const n=e.trim();if(!n||/^[a-z][a-z0-9+.-]*:\/\//i.test(n))return null;const s=n.match(/^(.*?)(?:#L?(\d+)|:(\d+))?$/i);if(!s)return null;let o=(s[1]??"").replace(Vd,"");if(!o)return null;const i=o.split("/").pop()??o,u=o.includes("/"),p=$M.has(i),f=xM(i);if(u&&!p&&!f)return null;if(!u&&!p){const x=t.aliases?.get(i);if(!x)return null;o=x}const v=s[2]??s[3],k=v?Number(v):void 0;return{path:o,line:k!==void 0&&Number.isFinite(k)&&k>0?k:void 0}}function AM(e,t={}){const n=[];Da.lastIndex=0;let s;for(;(s=Da.exec(e))!==null;){const o=s[0]??"",i=s[1]??"",u=o.indexOf(i);if(u<0)continue;const p=s[2]??s[3];let f=i+(p?o.slice(u+i.length):"");const v=f.replace(Vd,""),k=f.length-v.length;f=v;const x=IM(f,t);if(!x)continue;const g=s.index+u,m=g+f.length;n.push({...x,start:g,end:m,text:f}),k>0&&(Da.lastIndex-=k)}return n}const PM=12e4,EM=6e4,BM=32,RM=3e4,_u=/(^|\n)(`{3,}|~{3,})[^\n]*\n([\s\S]*?)(?:\n)?\2(?=\n|$)/g;function LM(e){let t=0,n=0,s=0;_u.lastIndex=0;let o;for(;(o=_u.exec(e))!==null;){const u=o[3]??"";t+=1,n+=u.length,s=Math.max(s,u.length)}return{codeRenderer:e.length>=PM||n>=EM||t>=BM||s>=RM?"pre":"shiki",codeFenceCount:t,codeChars:n}}const DM=/^---\r?\n([\s\S]*?)\r?\n---(?:\r?\n|$)/;function OM(e){const t=DM.exec(e);return t===null?{frontmatter:null,body:e}:{frontmatter:t[1]??"",body:e.slice(t[0].length)}}const Mu=/@([^\s()\[\]{}"'`,;:!?,。;:!?]+)/g,zM=/[.,;:!?,。;:!?]+$/;function FM(e){const t=[];Mu.lastIndex=0;let n;for(;(n=Mu.exec(e))!==null;){const o=(n[1]??"").replace(zM,"");o!==""&&t.push({target:o,start:n.index,end:n.index+n[0].length})}return t}function jd(e){return e.endsWith("/")}function Kd(e){return jd(e)?"folder":e.includes("/")||e.includes(".")?"file":"skill"}function NM(e){if(jd(e)){const n=e.slice(0,-1).split("/").pop()??"";return n?`${n}/`:e}return(e.split("/").pop()??"")||e}function WM(e,t){if(t<=0||e.length<=t)return e;if(t<=1)return"…";const n=Math.ceil((t-1)*.6),s=t-1-n;return`${e.slice(0,n)}…${e.slice(e.length-s)}`}function qM(e,t){const n=t?.kind??Kd(e);return{target:e,kind:n,label:NM(e),full:e,description:t?.description??"",deleted:t?.deleted??!1}}const HM=new Set(["ts","tsx","js","jsx","mjs","cjs","vue","json","py","go","rs","java","kt","c","h","cpp","cc","hpp","cs","rb","php","swift","sh","bash","zsh","css","scss","less","html","htm","xml","sql","yaml","yml","toml","lua","dart","scala","clj","ex","exs"]),UM=new Set(["md","markdown","mdx","txt","rst","adoc","pdf","doc","docx"]),VM=new Set(["png","jpg","jpeg","gif","svg","webp","bmp","ico","avif"]);function Gd(e,t){const n=t??Kd(e);if(n==="folder")return"folder";if(n==="skill")return"sparkles";const s=e.split("/").pop()??e,o=s.lastIndexOf("."),i=o>0?s.slice(o+1).toLowerCase():"";return HM.has(i)?"code":UM.has(i)?"file-text":VM.has(i)?"image":"file"}const jM={class:"md-mention-pill-label"},KM={class:"md-mention-bubble-title"},GM={key:0,class:"md-mention-bubble-desc"},QM={key:1,class:"md-mention-bubble-path"},Oa=6,Bi=8,YM=120,ZM=Ee({__name:"MentionPill",props:{view:{},maxLabel:{default:26}},emits:["open"],setup(e,{emit:t}){const n=e,s=t,{t:o}=Ye(),i=T(null),u=T(null),p=T(!1),f=T({});let v=null;const k=M(()=>Gd(n.view.target,n.view.kind)),x=M(()=>WM(n.view.label,n.maxLabel));function g(){const y=i.value,S=u.value;if(!y||!S)return;const B=y.getBoundingClientRect(),b=S.offsetWidth,P=S.offsetHeight,E=window.innerWidth,R=window.innerHeight,Q=B.bottom+Oa+P<=R-Bi?B.bottom+Oa:Math.max(Bi,B.top-Oa-P);let V=B.left+B.width/2-b/2;V=Math.min(Math.max(V,Bi),E-Bi-b),f.value={top:`${Math.round(Q)}px`,left:`${Math.round(V)}px`}}function m(){v!==null&&(clearTimeout(v),v=null),p.value=!1,window.removeEventListener("scroll",m,{capture:!0}),window.removeEventListener("resize",m)}function $(){v!==null&&clearTimeout(v),v=setTimeout(()=>{v=null,p.value=!0,window.addEventListener("scroll",m,{capture:!0,passive:!0}),window.addEventListener("resize",m,{passive:!0}),Xe(g)},YM)}function h(){m(),s("open")}return _n(m),(y,S)=>(l(),c("span",{ref_key:"rootRef",ref:i,class:"md-mention-pill-host"},[r("button",{type:"button",class:fe(["md-mention-pill",[`md-mention-pill--${e.view.kind}`,{"md-mention-pill--deleted":e.view.deleted}]]),onMouseenter:$,onMouseleave:m,onFocusin:$,onFocusout:m,onClick:S[0]||(S[0]=B=>s("open"))},[w(X,{name:k.value,size:"sm"},null,8,["name"]),r("span",jM,d(x.value),1)],34),(l(),q(ss,{to:"body"},[wt(r("div",{ref_key:"bubbleRef",ref:u,class:"md-mention-bubble",style:vt(f.value),role:"tooltip",onMouseenter:$,onMouseleave:m},[e.view.kind==="skill"?(l(),c(de,{key:0},[r("div",KM,"@"+d(e.view.target),1),e.view.description?(l(),c("div",GM,d(e.view.description),1)):I("",!0),r("button",{type:"button",class:"md-mention-bubble-open",onClick:h},d(a(o)("mention.open")),1)],64)):(l(),c("div",QM,d(e.view.full),1))],36),[[Wn,p.value]])]))],512))}}),XM=Re(ZM,[["__scopeId","data-v-80a4a52f"]]),JM={key:0,class:"md-frontmatter"},e$={key:1,class:"diff-wrap"},t$={class:"diff-bar"},n$=["aria-label","onClick"],s$={class:"diff-pre"},o$={key:0,class:"diff-sign"},i$={class:"diff-text"},a$="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",$u="github-light",xu="github-dark",l$=Ee({__name:"Markdown",props:{text:{},openFile:{},streaming:{type:Boolean,default:!1},mentions:{default:()=>({})},onMentionOpen:{type:Function,default:()=>{}}},setup(e){Op(),zp(),Ap(),Lp(),Pp(new Ep),Bp(new Rp);function t(re){return re.inline.ruler.disable("math"),re.set({typographer:!1}),re}const{t:n}=Ye(),s=zs("resolveImage"),o=T(null),i=e,u=M(()=>!i.streaming),p=M(()=>TM(i.text??"")),f=M(()=>i.streaming?{codeRenderer:"shiki",codeFenceCount:0,codeChars:0}:LM(v.value.body)),v=M(()=>OM(i.text??"")),k=M(()=>v.value.frontmatter?.trim()??""),x=Hd(),g=M(()=>!i.streaming),m=Hn(new Map),$=new Set,h=/(!\[[^\]]*\]\()\s*([^)\s]+)([^)]*\))/g,y=/( ]*?\bsrc=")([^"]+)(")/gi;function S(re){return!/^(https?:|data:|blob:)/i.test(re)}function B(re){if(!s)return;const se=[];for(const he of[h,y]){he.lastIndex=0;let ae;for(;(ae=he.exec(re))!==null;)se.push(ae[2]??"")}for(const he of se)!he||!S(he)||m.has(he)||$.has(he)||($.add(he),s(he).then(ae=>{m.set(he,ae!==he?ae:"")}).catch(()=>{m.set(he,"")}).finally(()=>{$.delete(he)}))}function b(re){if(!s)return re;const se=he=>{if(!S(he))return null;const ae=m.get(he);return ae===void 0?a$:ae===""?null:ae};return re.replace(h,(he,ae,F,Y)=>{const ke=se(F);return ke===null?he:`${ae}${ke}${Y}`}).replace(y,(he,ae,F,Y)=>{const ke=se(F);return ke===null?he:`${ae}${ke}${Y}`})}Ne(()=>v.value.body,re=>B(re),{immediate:!0});function P(){if(!o.value||!i.openFile||i.streaming)return;const re=document.createTreeWalker(o.value,NodeFilter.SHOW_TEXT),se=[];let he=re.nextNode();for(;he;){const ae=he,F=ae.parentElement;F&&!F.closest("a, pre, .md-file-link, svg")&&ae.data.trim().length>0&&se.push(ae),he=re.nextNode()}for(const ae of se){const F=AM(ae.data,{aliases:p.value});if(F.length===0||!ae.parentNode)continue;const Y=document.createDocumentFragment();let ke=0;for(const we of F){we.start>ke&&Y.append(document.createTextNode(ae.data.slice(ke,we.start)));const Le=document.createElement("button");Le.type="button",Le.className="md-file-link",Le.textContent=we.text,Le.title=we.line?`${we.path}:${we.line}`:we.path,Le.addEventListener("click",Ze=>{Ze.preventDefault(),Ze.stopPropagation(),i.openFile?.({path:we.path,line:we.line})}),Y.append(Le),ke=we.end}ke=0;re--){const se=R[re];se.el.isConnected||(se.app.unmount(),R.splice(re,1))}}function Q(){if(!o.value||i.streaming)return;W();const re=document.createTreeWalker(o.value,NodeFilter.SHOW_TEXT),se=[];let he=re.nextNode();for(;he;){const ae=he;!E(ae)&&ae.data.includes("@")&&se.push(ae),he=re.nextNode()}for(const ae of se){const F=FM(ae.data);if(F.length===0||!ae.parentNode)continue;const Y=document.createDocumentFragment();let ke=0;for(const we of F){we.start>ke&&Y.append(document.createTextNode(ae.data.slice(ke,we.start)));const Le=qM(we.target,i.mentions[we.target]),Ze=document.createElement("span");Ze.className="md-mention-pill-host";const be=Cl(XM,{view:Le,onOpen:()=>{Le.kind==="skill"?i.onMentionOpen?.(we.target):i.openFile?.({path:we.target})}});be.use(St);const pe=be.mount(Ze);pe.$el instanceof HTMLElement&&R.push({app:be,el:pe.$el}),Y.append(Ze),ke=we.end}ke{ae.preventDefault(),ae.stopPropagation(),i.openFile?.({path:C(he)})}))}}function O(){Xe().then(()=>{P(),Q(),D()})}Ne(()=>i.text,O),Ne(()=>i.streaming,O);let J=null;xt(()=>{O(),o.value&&(J=new MutationObserver(O),J.observe(o.value,{childList:!0,subtree:!0}))}),kt(()=>{J?.disconnect()});const ve={showHeader:!0,showCopyButton:!0,showExpandButton:!1,showPreviewButton:!1,showCollapseButton:!1,showFontSizeButtons:!1,loading:!1,monacoOptions:{lineNumbers:!1,fontSize:13,fontFamily:"var(--font-mono)",padding:{top:12,bottom:12}}},me=/(^|\n)(?:```|~~~)diff\b[^\n]*\n([\s\S]*?)(?:\n)?(?:```|~~~)(?=\n|$)/g,ze=M(()=>{const re=b(v.value.body),se=[];let he=0;me.lastIndex=0;let ae;for(;(ae=me.exec(re))!==null;){const Y=ae[1]??"",ke=re.slice(he,ae.index)+(Y||"");ke.trim()&&se.push({kind:"md",text:ke}),se.push({kind:"diff",code:ae[2]??""}),he=me.lastIndex}const F=re.slice(he);return(F.trim()||se.length===0)&&se.push({kind:"md",text:F}),se});function ie(re){return re.split(`
+`).map(se=>se.startsWith("@@")?{type:"hunk",sign:"",text:se}:/^\+(?!\+\+)/.test(se)?{type:"add",sign:"+",text:se.slice(1)}:/^-(?!--)/.test(se)?{type:"del",sign:"-",text:se.slice(1)}:se.startsWith(" ")?{type:"ctx",sign:"",text:se.slice(1)}:{type:"ctx",sign:"",text:se})}const le=T(null);function te(re,se){an(re).then(he=>{he&&(le.value=se,setTimeout(()=>{le.value=null},1400))})}return(re,se)=>(l(),c("div",{ref_key:"mdRef",ref:o,class:"md"},[k.value?(l(),c("div",JM,[r("pre",null,d(k.value),1)])):I("",!0),(l(!0),c(de,null,Pe(ze.value,(he,ae)=>(l(),c(de,{key:ae},[he.kind==="md"?(l(),q(a(Dp),{key:0,content:he.text,"custom-markdown-it":t,mode:"chat","code-renderer":f.value.codeRenderer,"is-dark":a(x),"code-block-light-theme":$u,"code-block-dark-theme":xu,themes:[$u,xu],"code-block-props":ve,final:u.value,"smooth-streaming":e.streaming,"batch-rendering":g.value,"defer-nodes-until-visible":!1,onCopy:a(nf)},null,8,["content","code-renderer","is-dark","themes","final","smooth-streaming","batch-rendering","onCopy"])):(l(),c("div",e$,[r("div",t$,[se[0]||(se[0]=r("span",{class:"diff-lang"},"diff",-1)),w(gt,{text:a(n)("filePreview.copyCode")},{default:L(()=>[r("button",{class:"diff-copy","aria-label":a(n)("filePreview.copyCode"),onClick:F=>te(he.code,ae)},[w(X,{name:le.value===ae?"check":"copy",size:"sm"},null,8,["name"])],8,n$)]),_:2},1032,["text"])]),r("pre",s$,[r("code",null,[(l(!0),c(de,null,Pe(ie(he.code),(F,Y)=>(l(),c("span",{key:Y,class:fe(["diff-line",`diff-${F.type}`])},[F.type!=="hunk"?(l(),c("span",o$,d(F.sign),1)):I("",!0),r("span",i$,d(F.text),1)],2))),128))])])]))],64))),128))],512))}}),ki=Re(l$,[["__scopeId","data-v-cd907b91"]]),r$=Object.freeze(Object.defineProperty({__proto__:null,default:ki},Symbol.toStringTag,{value:"Module"})),u$={class:"tc-anim"},c$={class:"prev-anim"},d$={class:"prev"},p$=Ee({__name:"ThinkingBlock",props:{text:{},mobile:{type:Boolean,default:!1},streaming:{type:Boolean,default:!1},foldable:{type:Boolean,default:!0}},emits:["open"],setup(e,{emit:t}){const n=e,s=t,o=M(()=>n.text.split(/\n{2,}/).filter(v=>v.trim().length>0)),i=M(()=>n.foldable&&o.value.length>1),u=M(()=>n.streaming||!i.value),p=M(()=>o.value.at(-1)??""),f=T(null);return xt(()=>{if(!n.streaming)return;const v=f.value;v&&(v.scrollTop=v.scrollHeight)}),Ne(()=>n.text,()=>{const v=f.value;!v||!(v.scrollHeight-v.scrollTop-v.clientHeight<24)||Xe(()=>{f.value&&(f.value.scrollTop=f.value.scrollHeight)})},{immediate:!0}),(v,k)=>(l(),c("div",{class:fe(["think",{mob:e.mobile}])},[i.value?(l(),c("div",{key:0,class:fe(["tc-wrap",{"is-collapsed":!u.value}]),onClick:k[0]||(k[0]=x=>s("open"))},[r("div",u$,[r("pre",{ref_key:"bodyEl",ref:f,class:"tc"},d(e.text),513)]),r("div",c$,[r("span",d$,d(p.value),1)])],2)):(l(),c("pre",{key:1,ref_key:"bodyEl",ref:f,class:"tc"},d(e.text),513))],2))}}),f$=Re(p$,[["__scopeId","data-v-0b3b873f"]]),m$={class:"activity-notice",role:"status"},v$={"aria-hidden":"true"},g$={class:"an-label"},h$=Ee({__name:"ActivityNotice",props:{label:{}},setup(e){return(t,n)=>(l(),c("div",m$,[r("span",v$,[w(Gt,{size:"sm"})]),r("span",g$,d(e.label),1)]))}}),y$=Re(h$,[["__scopeId","data-v-0d497074"]]);function k$(e,t="昨天"){try{const n=new Date(e);if(Number.isNaN(n.getTime()))return e;const s=new Date,o=k=>String(k).padStart(2,"0"),i=`${o(n.getHours())}:${o(n.getMinutes())}`,u=n.getFullYear()===s.getFullYear(),p=n.getMonth()===s.getMonth(),f=n.getDate()===s.getDate();if(u&&p&&f)return i;const v=new Date(s);return v.setDate(s.getDate()-1),n.getFullYear()===v.getFullYear()&&n.getMonth()===v.getMonth()&&n.getDate()===v.getDate()?`${t} ${i}`:u?`${o(n.getMonth()+1)}-${o(n.getDate())} ${i}`:`${n.getFullYear()}-${o(n.getMonth()+1)}-${o(n.getDate())} ${i}`}catch{return e}}const b$=Ee({__name:"MessageTime",props:{time:{}},setup(e){const t=e,{t:n}=Ye(),s=T(!1),o=M(()=>{const p=new Date(t.time);if(Number.isNaN(p.getTime()))return t.time;const f=v=>String(v).padStart(2,"0");return`${p.getFullYear()}-${f(p.getMonth()+1)}-${f(p.getDate())} ${f(p.getHours())}:${f(p.getMinutes())}`}),i=M(()=>s.value?o.value:k$(t.time,n("conversation.yesterday")));function u(){s.value=!s.value}return(p,f)=>(l(),c("button",{type:"button",class:"msg-time",onClick:Oe(u,["stop"])},d(i.value),1))}}),Fi=Re(b$,[["__scopeId","data-v-9672fbd5"]]);function w$(e){return e.length===1?`0${e}`:e}function S$(e,t){return`${String(Number(e))}:${w$(t)}`}const Tu=e=>/^\d+$/.test(e);function C$(e,t){const n=e.trim().split(/\s+/);if(n.length!==5)return e;const[s,o,i,u,p]=n,f=i==="*"&&u==="*"&&p==="*",v=i==="*"&&u==="*";if(s==="*"&&o==="*"&&f)return t("conversation.cron.everyMinute");const k=/^\*\/(\d+)$/.exec(s);if(k&&o==="*"&&f)return k[1]==="1"?t("conversation.cron.everyMinute"):t("conversation.cron.everyNMinutes",{n:k[1]});if(s==="0"&&o==="*"&&f)return t("conversation.cron.everyHour");const x=/^\*\/(\d+)$/.exec(o);if(s==="0"&&x&&f)return t("conversation.cron.everyNHours",{n:x[1]});if(Tu(s)&&Tu(o)&&v){const g=S$(o,s);if(p==="1-5")return t("conversation.cron.weekdaysAt",{time:g});if(p==="*")return t("conversation.cron.dailyAt",{time:g})}return e}const _$=["data-turn-id"],M$={class:"cn-bubble"},$$={class:"cn-title"},x$={key:0,class:"cn-prompt"},T$={class:"cn-meta"},I$={key:0,class:"cn-meta-item"},A$={key:1,class:"cn-meta-item"},P$=["aria-label"],E$=["title"],B$=Ee({__name:"CronNotice",props:{text:{},cron:{},turnId:{},createdAt:{}},setup(e){const t=e,{t:n}=Ye(),s=M(()=>t.cron),o=M(()=>s.value?.missedCount!==void 0),i=M(()=>o.value?n("conversation.cron.missed"):n("conversation.cron.fired")),u=M(()=>{const k=s.value?.cron;return k?C$(k,n):""}),p=M(()=>o.value?"error":"ok"),f=M(()=>{const k=s.value;if(!k)return"";const x=[];return k.recurring===!1&&x.push(n("conversation.cron.oneShot")),typeof k.coalescedCount=="number"&&k.coalescedCount>1&&x.push(n("conversation.cron.coalesced",{n:k.coalescedCount})),k.missedCount!==void 0&&x.push(n("conversation.cron.missedCount",{n:k.missedCount})),k.stale===!0&&x.push(n("conversation.cron.finalDelivery")),x.join(" · ")}),v=M(()=>t.text??"");return(k,x)=>(l(),c("div",{class:fe(["cn cron-notice",{"turn-anchor":!!e.turnId}]),"data-turn-id":e.turnId,role:"status"},[r("div",M$,[r("span",$$,d(i.value),1),v.value?(l(),c("span",x$,d(v.value),1)):I("",!0)]),r("div",T$,[w(X,{name:"clock",size:"sm",class:"cn-meta-ico","aria-hidden":"true"}),u.value?(l(),c("span",I$,d(u.value),1)):I("",!0),f.value?(l(),c("span",A$,d(f.value),1)):I("",!0),r("span",{class:fe(["cn-status",p.value]),"aria-label":p.value},[p.value==="ok"?(l(),q(X,{key:0,name:"check",size:"sm"})):(l(),q(X,{key:1,name:"close",size:"sm"}))],10,P$),s.value?.jobId?(l(),c("span",{key:2,class:"cn-meta-item cn-id",title:a(n)("conversation.cron.job",{id:s.value.jobId})},d(s.value.jobId),9,E$)):I("",!0),e.createdAt?(l(),q(Fi,{key:3,time:e.createdAt},null,8,["time"])):I("",!0)])],10,_$))}}),R$=Re(B$,[["__scopeId","data-v-a62a6587"]]),L$=["src","controls","muted"],D$=["src","alt"],Qd=Ee({__name:"AuthMedia",props:{url:{},kind:{},alt:{},fileId:{},mediaClass:{default:"u-img"},controls:{type:Boolean,default:!0},muted:{type:Boolean,default:!1}},setup(e){const t=e,n=T(t.fileId?"":t.url),s=T(null),o=T(!t.fileId);let i=null,u=0,p=!1,f=null;function v(){i!==null&&(URL.revokeObjectURL(i),i=null)}async function k(){const x=++u;if(v(),!t.fileId){n.value=t.url;return}if(o.value)try{const g=await De().getFileBlob(t.fileId),m=URL.createObjectURL(g);if(p||x!==u){URL.revokeObjectURL(m);return}i=m,n.value=i}catch{if(p||x!==u)return;n.value=t.url}}return Ne(()=>[t.fileId,t.url,o.value],k,{immediate:!0}),xt(()=>{typeof IntersectionObserver=="function"&&s.value?(f=new IntersectionObserver(x=>{x[0]?.isIntersecting&&(o.value=!0,f?.disconnect(),f=null)},{rootMargin:"200px"}),f.observe(s.value)):o.value=!0}),_n(()=>{p=!0,f?.disconnect(),f=null,v()}),(x,g)=>e.kind==="video"?(l(),c("video",{key:0,ref_key:"mediaEl",ref:s,class:fe(e.mediaClass),src:n.value||void 0,controls:e.controls,muted:e.muted,playsinline:"",preload:"metadata"},null,10,L$)):(l(),c("img",{key:1,ref_key:"mediaEl",ref:s,class:fe(e.mediaClass),src:n.value||void 0,alt:e.alt||"",loading:"lazy"},null,10,D$))}}),O$=["title","data-kind"],z$=["aria-label"],F$={class:"att-tile"},N$={class:"att-name"},W$={key:1,class:"att-err"},q$=["aria-label"],H$=Ee({__name:"AttachmentChip",props:{kind:{},name:{},url:{},fileId:{},mediaType:{},size:{},uploading:{type:Boolean,default:!1},error:{type:Boolean,default:!1},removable:{type:Boolean,default:!1},removeLabel:{}},emits:["activate","remove"],setup(e,{emit:t}){const n=e,s=t,{t:o}=Ye(),i=M(()=>{const x=n.name?.match(/\.([A-Za-z0-9]{1,8})$/)?.[1]??n.mediaType?.split("/")[1]?.split("+")[0];return x?x.toUpperCase():void 0}),u=M(()=>{const k=i.value??"";return/^(txt|md|doc|docx|rtf|log)$/i.test(k)?"file-text":"file"}),p=M(()=>n.name?n.name:n.kind==="image"?o("composer.attachmentImage"):n.kind==="video"?o("composer.attachmentVideo"):o("composer.attachmentFile"));function f(k){return k<1024?`${k} B`:k<1024*1024?`${Math.round(k/1024)} KB`:`${(k/(1024*1024)).toFixed(1)} MB`}const v=M(()=>{const k=[p.value];return n.size!==void 0&&k.push(f(n.size)),k.join(" · ")});return(k,x)=>(l(),c("span",{class:fe(["att-chip",{"is-error":e.error,uploading:e.uploading}]),title:v.value,"data-kind":e.kind},[r("button",{type:"button",class:"att-activate","aria-label":v.value,onClick:x[0]||(x[0]=g=>s("activate"))},[r("span",F$,[e.kind==="image"&&e.url?(l(),q(Qd,{key:0,url:e.url,kind:"image",alt:e.name,"file-id":e.fileId,"media-class":"att-thumb"},null,8,["url","alt","file-id"])):e.kind==="video"?(l(),q(X,{key:1,name:"play",size:"sm"})):e.kind==="image"?(l(),q(X,{key:2,name:"image",size:"sm"})):(l(),q(X,{key:3,name:u.value,size:"sm"},null,8,["name"]))]),r("span",N$,d(p.value),1),e.uploading?(l(),q(Gt,{key:0,size:"sm",label:a(o)("composer.uploading")},null,8,["label"])):e.error?(l(),c("span",W$,[w(X,{name:"info",size:"sm"})])):I("",!0)],8,z$),e.removable?(l(),q(gt,{key:0,text:e.removeLabel??a(o)("composer.remove")},{default:L(()=>[r("button",{type:"button",class:"att-rm","aria-label":e.removeLabel??a(o)("composer.remove"),onClick:x[1]||(x[1]=g=>s("remove"))},[w(X,{name:"close",size:"sm"})],8,q$)]),_:1},8,["text"])):I("",!0)],10,O$))}}),Yd=Re(H$,[["__scopeId","data-v-12ec975b"]]),U$=["aria-label"],V$=120,j$=60,K$=Ee({__name:"MoonSpinner",props:{size:{default:"md"},fast:{type:Boolean},label:{default:"Waiting for response…"}},setup(e){const t=["🌑","🌒","🌓","🌔","🌕","🌖","🌗","🌘"];function n(s){return{"--moon-frame-delay":`${s*V$}ms`,"--moon-frame-fast-delay":`${s*j$}ms`}}return(s,o)=>(l(),c("span",{class:fe(["ui-moon",[`ui-moon--${e.size}`,{"ui-moon--fast":e.fast}]]),"aria-label":e.label,role:"img"},[(l(),c(de,null,Pe(t,(i,u)=>r("span",{key:i,class:"ui-moon__frame",style:vt(n(u)),"aria-hidden":"true"},d(i),5)),64))],10,U$))}}),Zd=Re(K$,[["__scopeId","data-v-a6b7ec07"]]),G$={class:"ui-banner__icon","aria-hidden":"true"},Q$={class:"ui-banner__text"},Y$=Ee({__name:"Banner",props:{variant:{default:"info"}},setup(e){return(t,n)=>(l(),c("div",{class:fe(["ui-banner",`ui-banner--${e.variant}`]),role:"status"},[r("span",G$,[At(t.$slots,"icon",{},()=>[e.variant==="info"?(l(),q(X,{key:0,name:"info",size:"md"})):(l(),q(X,{key:1,name:"alert-triangle",size:"md"}))],!0)]),r("span",Q$,[At(t.$slots,"default",{},void 0,!0)])],2))}}),Xd=Re(Y$,[["__scopeId","data-v-b0afda1c"]]),Z$=["type","disabled"],X$={class:"ui-button__content"},J$=Ee({__name:"Button",props:{variant:{default:"primary"},size:{default:"md"},disabled:{type:Boolean},loading:{type:Boolean},type:{default:"button"}},setup(e){return(t,n)=>(l(),c("button",{class:fe(["ui-button",[`ui-button--${e.variant}`,`ui-button--${e.size}`,{"is-loading":e.loading}]]),type:e.type,disabled:e.disabled||e.loading},[e.loading?(l(),q(Gt,{key:0,size:"sm",class:"ui-button__spinner"})):I("",!0),r("span",X$,[At(t.$slots,"default",{},void 0,!0)])],10,Z$))}}),je=Re(J$,[["__scopeId","data-v-556ea0b6"]]),za="chat-search-hit",ex="chat-search-hit--active",Iu={childList:!0,subtree:!0,characterData:!0};function tx(e){const{root:t,query:n,activeIndex:s}=e;let o=null,i=0;function u(v){const k=v.querySelectorAll(`.${za}`);for(const x of k)x.replaceWith(...Array.from(x.childNodes))}function p(){i=0;const v=t.value,k=n.value.trim();if(v){if(o?.disconnect(),u(v),k.length>0){const x=k.toLowerCase(),g=s.value,m=document.createTreeWalker(v,NodeFilter.SHOW_TEXT),$=[];let h=m.nextNode();for(;h;)$.push(h),h=m.nextNode();let y=0;for(const S of $){const B=S.data.toLowerCase();let b=B.indexOf(x);if(b===-1)continue;const P=S.parentNode;if(!P)continue;const E=document.createDocumentFragment();let R=0;for(;b!==-1;){b>R&&E.append(document.createTextNode(S.data.slice(R,b)));const W=document.createElement("span");W.className=y===g?`${za} ${ex}`:za,W.textContent=S.data.slice(b,b+k.length),E.append(W),y+=1,R=b+k.length,b=B.indexOf(x,R)}R{o?.disconnect(),o=null;const v=t.value;v&&(o=new MutationObserver(f),o.observe(v,Iu),p())}),Ne([n,s],()=>{Xe(p)},{flush:"post"}),kt(()=>{o?.disconnect(),o=null,i!==0&&cancelAnimationFrame(i)})}const nx=/^(application\/pdf|image\/(png|jpe?g|gif|webp|avif|bmp|x-icon|vnd\.microsoft\.icon)|video\/[\w.+-]+|audio\/[\w.+-]+)$/i,sx=/^(txt|md|markdown|log|json|ya?ml|csv|tsv|ts|mts|tsx|jsx|css|py|go|rs|java|c|h|cc|cpp|hpp|sh|zsh|sql|toml|ini|cfg|conf|vue)$/i,ox=/^(png|jpe?g|gif|webp|avif|bmp|ico)$/i,Au="text/plain;charset=utf-8";function ix(e,t){const n=(t??"").toLowerCase();if(nx.test(n))return n;if(n.startsWith("text/"))return n==="text/html"?null:Au;const s=e?.match(/\.([A-Za-z0-9]{1,8})$/)?.[1]?.toLowerCase();return s===void 0?null:sx.test(s)?Au:ox.test(s)?`image/${s==="jpg"?"jpeg":s==="ico"?"x-icon":s}`:s==="pdf"?"application/pdf":null}async function Jd(e,t,n){const s=ix(t,n);if(s===null)return"unsupported";const o=window.open("","_blank");o!==null&&(o.opener=null);const i=await De().getFileBlob(e).catch(()=>null);if(i===null)return o?.close(),"failed";const u=URL.createObjectURL(new Blob([i],{type:s}));if(o!==null)o.location.href=u;else{const p=document.createElement("a");p.href=u,p.download=t??e,p.click()}return setTimeout(()=>{URL.revokeObjectURL(u)},6e4),"previewed"}function Pu(e,t){const n=e.findIndex(s=>s.id===t);if(n===-1)return null;for(let s=n-1;s>=0;s--){const o=e[s];if(o.role!=="user")continue;if(o.skillActivation){const p=o.skillActivation.name.trim();return p?{text:o.text,attachments:o.attachments,skillActivation:{name:p,args:o.skillActivation.args}}:null}const i=o.text.trim(),u=o.attachments??[];return i.length===0&&u.length===0?null:{text:o.text,attachments:o.attachments}}return null}function ax(e){if(e.role!=="user")return null;if(e.skillActivation){const t=e.skillActivation.name.trim();return t?{text:e.text,attachments:e.attachments,skillActivation:{name:t,args:e.skillActivation.args}}:null}return{text:e.text,attachments:e.attachments}}const lx={key:0,class:"chat-loading"},rx={class:"chat-loading-text"},ux={key:1,class:"chat-empty"},cx={key:1,class:"top-sentinel-text"},dx={key:0,class:"u-turn"},px=["data-turn-id"],fx={key:0,class:"u-atts"},mx={key:1,class:"skill-act"},vx={class:"skill-act-head"},gx={key:0,class:"skill-act-args"},hx={key:2,class:"u-text"},yx={key:0,class:"u-meta"},kx=["aria-label","onClick"],bx=["aria-label","onClick"],wx=["data-turn-id"],Sx=["onClick"],Cx={class:"cd-view"},_x={key:1,class:"cd-label"},Mx=["data-turn-id"],$x={key:1,class:"msg"},xx={class:"turn-error-text"},Tx={key:0,class:"a-msg-ft"},Ix=["aria-label","onClick"],Ax={key:4,class:"sending-placeholder"},Px={key:5,class:"q-stack"},Ex={class:"q-head"},Bx={class:"q-title"},Rx={class:"q-hint"},Lx=["onDragover","onDrop"],Dx={class:"u-bub q-bub"},Ox=["title","onDragstart"],zx=["title","onClick"],Fx={key:0,class:"u-text q-text"},Nx={key:1,class:"q-text q-text-placeholder"},Wx={key:0,class:"q-imgs"},qx={key:0,class:"q-file"},Hx={key:1,class:"q-tag q-tag-next"},Ux={key:2,class:"q-tag q-tag-idx"},Vx=["aria-label","title","onClick"],jx=["aria-label","title","onClick"],Kx=["aria-label","onClick"],Gx={key:0,class:"open-unsupported",role:"status"},Qx=2500,Yx=Ee({__name:"ChatPane",props:{turns:{},approvals:{default:()=>[]},turnActive:{type:Boolean,default:!1},working:{type:Boolean,default:!1},retry:{default:null},fastMoon:{type:Boolean,default:!1},sessionLoading:{type:Boolean},compaction:{default:null},hasMoreMessages:{type:Boolean,default:!1},loadingMore:{type:Boolean,default:!1},loadingMoreError:{type:Boolean,default:!1},isFollowing:{type:Boolean,default:!1},toolDiffPanel:{type:Boolean,default:!1},queued:{default:()=>[]},searchQuery:{default:""},searchActiveIndex:{default:-1},mentions:{default:()=>({})}},emits:["openFile","openMedia","copyConversationCopied","openThinking","openCompaction","openAgent","openToolDiff","moveToBackground","editMessage","loadOlderMessages","unqueue","editQueued","reorderQueue","steerQueuedIndex","sendQueued","resumeTurn","openMentionSkill"],setup(e,{expose:t,emit:n}){const{t:s}=Ye(),{confirm:o}=xo();kt(()=>{ae!==null&&(clearTimeout(ae),ae=null),me!==null&&(clearTimeout(me),me=null),D!==null&&(clearTimeout(D),D=null),Le!==null&&(clearTimeout(Le),Le=null)});const i=e,u=T(null);let p=null;function f(){!u.value||typeof IntersectionObserver>"u"||(p?.disconnect(),p=new IntersectionObserver(pe=>{pe[0]?.isIntersecting&&i.hasMoreMessages&&!i.loadingMore&&!i.loadingMoreError&&!i.sessionLoading&&!i.isFollowing&&g("loadOlderMessages")},{root:null,rootMargin:"200px 0px 0px 0px",threshold:0}),p.observe(u.value))}xt(f),kt(()=>{p?.disconnect(),p=null}),Ne(()=>[i.hasMoreMessages,i.loadingMore,i.loadingMoreError],()=>{Xe().then(f)});const v=M(()=>{if(!i.turnActive||i.turns.length===0)return null;const pe=i.turns.at(-1);return pe.role==="assistant"?pe.id:null}),k=M(()=>i.working);function x(pe){const ne=Pu(i.turns,pe.id);ne&&g("resumeTurn",ne)}const g=n,m=T(null);tx({root:m,query:M(()=>i.searchQuery??""),activeIndex:M(()=>i.searchActiveIndex??-1)});const $=T(null),h=T(null);function y(pe){return(pe.attachments?.length??0)>0}function S(pe){g("editQueued",pe)}function B(pe,ne){if($.value=pe,!ne.dataTransfer)return;ne.dataTransfer.effectAllowed="move",ne.dataTransfer.setData("text/plain",String(pe));const Z=ne.currentTarget?.closest(".q-turn");Z&&ne.dataTransfer.setDragImage(Z,24,24)}function b(pe,ne){if($.value===null)return;ne.preventDefault(),ne.dataTransfer&&(ne.dataTransfer.dropEffect="move");const Z=ne.currentTarget.getBoundingClientRect(),oe=ne.clientY{for(let pe=i.turns.length-1;pe>=0;pe--)if(i.turns[pe].role==="user")return i.turns[pe].id;return null});function W(pe){return pe.role==="user"&&pe.id===R.value&&!i.working&&!pe.pluginCommand}function Q(pe){const ne=pe.compaction,Z=ne?.trigger==="auto"?s("conversation.compactedAuto"):s("conversation.compactedPlain");return typeof ne?.tokensBefore=="number"&&typeof ne?.tokensAfter=="number"?Z+s("conversation.compactedTokens",{before:fs(ne.tokensBefore),after:fs(ne.tokensAfter)}):Z}const V=T(null),C=T(null);let D=null;async function O(pe){await o({title:s("conversation.undo"),message:s("conversation.undoConfirm"),variant:"primary"})&&J(pe)}function J(pe){if(C.value!==null)return;const ne=ax(pe);ne!==null&&(C.value=pe.id,g("editMessage",ne),D=setTimeout(()=>{D=null,C.value=null},Qx))}Ne(()=>i.turns,pe=>{C.value!==null&&(pe.some(ne=>ne.id===C.value)||(C.value=null,D!==null&&(clearTimeout(D),D=null)))},{flush:"post"});const ve=T(!1);let me=null;function ze(){if(i.turns.length===0)return;const pe=[];for(const Z of i.turns){if(Z.role==="compaction"||Z.role==="cron")continue;const oe=Z.role==="user"?"User":"Assistant",K=hM(Z);K.trim()&&pe.push(`**${oe}**
+
+${K}`)}const ne=pe.join(`
+
+---
+
+`);an(ne).then(Z=>{Z&&(ve.value=!0,g("copyConversationCopied"),me!==null&&clearTimeout(me),me=setTimeout(()=>{me=null,ve.value=!1},2e3))}).catch(()=>{})}function ie(pe){const ne=[];for(let Z=pe;Z>=0;Z--){const oe=i.turns[Z];if(!oe||oe.role!=="assistant")break;ne.unshift(oe)}return ne}function le(pe){return ie(pe).map(ne=>gM(ne)).filter(Boolean).join(`
+
+`)}const te=M(()=>{const pe=new Map;for(let ne=i.turns.length-1;ne>=0;ne-=1){const Z=i.turns[ne];Z&&Z.role==="assistant"&&he(ne)&&pe.set(Z.id,le(ne))}return pe});function re(){for(let pe=i.turns.length-1;pe>=0;pe-=1)if(i.turns[pe]?.role==="assistant")return le(pe);return""}function se(){const pe=re();pe.trim()&&an(pe).then(ne=>{ne&&(ve.value=!0,g("copyConversationCopied"),me!==null&&clearTimeout(me),me=setTimeout(()=>{me=null,ve.value=!1},2e3))}).catch(()=>{})}t({copyConversation:ze,copyFinalSummary:se});function he(pe){const ne=i.turns[pe];if(!ne||ne.role!=="assistant")return!1;const Z=i.turns[pe+1];return!Z||Z.role!=="assistant"}let ae=null;function F(pe){const ne=i.turns[pe];if(!ne)return;const Z=le(pe);Z.trim()&&an(Z).then(oe=>{oe&&(V.value=ne.id,ae!==null&&clearTimeout(ae),ae=setTimeout(()=>{ae=null,V.value=null},1400))}).catch(()=>{})}function Y(pe){const ne=pe.text;ne.trim()&&an(ne).then(Z=>{Z&&(V.value=pe.id,ae!==null&&clearTimeout(ae),ae=setTimeout(()=>{ae=null,V.value=null},1400))}).catch(()=>{})}function ke(pe){return{kind:pe.kind==="video"?"video":"image",url:pe.url,path:pe.name,fileId:pe.fileId}}const we=T(null);let Le=null;function Ze(pe){if(pe.kind==="image"||pe.kind==="video"){g("openMedia",ke(pe));return}pe.fileId!==void 0&&Jd(pe.fileId,pe.name,pe.mediaType).then(ne=>{ne==="unsupported"&&(we.value=pe.name??pe.fileId??"",Le!==null&&clearTimeout(Le),Le=setTimeout(()=>{Le=null,we.value=null},2400))})}function be(pe,ne){return pe.id!==v.value?!1:ne.sourceIndex===ca(pe).length-1}return(pe,ne)=>(l(),c(de,null,[r("div",{ref_key:"chatRootRef",ref:m,class:"chat"},[e.sessionLoading?(l(),c("div",lx,[w(Gt,{size:"sm"}),r("span",rx,d(a(s)("conversation.loading")),1)])):e.turns.length===0&&(!e.approvals||e.approvals.length===0)?(l(),c("div",ux)):I("",!0),e.hasMoreMessages||e.loadingMore?(l(),c("div",{key:2,ref_key:"topSentinelRef",ref:u,class:fe(["top-sentinel",{"top-sentinel-loading":e.loadingMore}])},[e.loadingMore?(l(),c("span",cx,[w(Gt,{size:"sm"}),ee(" "+d(a(s)("conversation.loadingOlder")),1)])):(l(),c("button",{key:0,type:"button",class:"top-sentinel-btn",onClick:ne[0]||(ne[0]=Z=>g("loadOlderMessages"))},d(a(s)("conversation.loadOlder")),1))],2)):I("",!0),(l(!0),c(de,null,Pe(e.turns,(Z,oe)=>(l(),c(de,{key:Z.id},[Z.role==="user"?(l(),c("div",dx,[r("div",{class:fe(["u-bub turn-anchor",{undoing:C.value===Z.id}]),"data-turn-id":Z.id},[Z.attachments&&Z.attachments.length>0?(l(),c("div",fx,[(l(!0),c(de,null,Pe(Z.attachments,(K,Be)=>(l(),q(Yd,{key:Be,kind:K.kind,name:K.name,url:K.url,"file-id":K.fileId,"media-type":K.mediaType,size:K.size,onActivate:Ve=>Ze(K)},null,8,["kind","name","url","file-id","media-type","size","onActivate"]))),128))])):I("",!0),Z.pluginCommand?(l(),c("div",mx,[r("div",vx,[ne[11]||(ne[11]=r("span",{class:"skill-act-arrow"},"▶",-1)),r("span",null,"/"+d(Z.pluginCommand.pluginId)+":"+d(Z.pluginCommand.commandName),1)]),Z.pluginCommand.args?(l(),c("div",gx,d(Z.pluginCommand.args),1)):I("",!0)])):(l(),c("div",hx,d(Z.text),1))],10,px),Z.createdAt||W(Z)?(l(),c("div",yx,[W(Z)?(l(),c("div",{key:0,class:fe(["u-edit-wrap",{undoing:C.value===Z.id}])},[r("button",{type:"button",class:"u-edit","aria-label":a(s)("conversation.undoTooltip"),onClick:K=>O(Z)},[w(X,{name:"undo",size:"sm"})],8,kx)],2)):I("",!0),Z.text.trim().length>0?(l(),c("button",{key:1,type:"button",class:"u-copy","aria-label":a(s)("filePreview.copy"),onClick:Oe(K=>Y(Z),["stop"])},[V.value!==Z.id?(l(),q(X,{key:0,name:"copy",size:"sm"})):(l(),q(X,{key:1,name:"check",size:"sm"}))],8,bx)):I("",!0),Z.createdAt?(l(),q(Fi,{key:2,time:Z.createdAt},null,8,["time"])):I("",!0)])):I("",!0)])):Z.role==="compaction"?(l(),c("div",{key:1,class:"compact-divider turn-anchor","data-turn-id":Z.id,role:"separator"},[ne[12]||(ne[12]=r("span",{class:"cd-line","aria-hidden":"true"},null,-1)),Z.text?(l(),c("button",{key:0,type:"button",class:"cd-label cd-btn",onClick:K=>g("openCompaction",{turnId:Z.id})},[r("span",null,d(Q(Z)),1),r("span",Cx,d(a(s)("conversation.viewSummary")),1)],8,Sx)):(l(),c("span",_x,d(Q(Z)),1)),ne[13]||(ne[13]=r("span",{class:"cd-line","aria-hidden":"true"},null,-1))],8,wx)):Z.role==="cron"?(l(),q(R$,{key:2,text:Z.text,cron:Z.cron,"turn-id":Z.id,"created-at":Z.createdAt},null,8,["text","cron","turn-id","created-at"])):(l(),c("div",{key:3,class:"a-msg turn-anchor","data-turn-id":Z.id},[(l(!0),c(de,null,Pe(a(mM)(Z),(K,Be)=>(l(),c(de,{key:a(yM)(K,Be)},[K.kind==="thinking"?(l(),q(f$,{key:0,text:K.thinking,mobile:"",streaming:be(Z,K),onOpen:Ve=>g("openThinking",{turnId:Z.id,blockIndex:K.sourceIndex})},null,8,["text","streaming","onOpen"])):K.kind==="text"&&K.text?(l(),c("div",$x,[w(ki,{text:K.text,streaming:be(Z,K),mentions:e.mentions,"open-file":Ve=>g("openFile",Ve),"on-mention-open":Ve=>g("openMentionSkill",Ve)},null,8,["text","streaming","mentions","open-file","on-mention-open"])])):K.kind==="error"?(l(),q(Xd,{key:2,variant:"danger",class:"turn-error"},{default:L(()=>[r("span",xx,d(K.text),1),a(Pu)(e.turns,Z.id)!==null?(l(),q(je,{key:0,class:"turn-error-resume",size:"sm",variant:"secondary",onClick:Oe(Ve=>x(Z),["stop"])},{default:L(()=>[ee(d(a(s)("conversation.turnFailedResume")),1)]),_:1},8,["onClick"])):I("",!0)]),_:2},1024)):K.kind==="tool-stack"?(l(),q(MM,{key:3,tools:K.tools,mobile:"","tool-diff-panel":e.toolDiffPanel,onOpenMedia:ne[1]||(ne[1]=Ve=>g("openMedia",Ve)),onOpenFile:ne[2]||(ne[2]=Ve=>g("openFile",Ve)),onOpenToolDiff:ne[3]||(ne[3]=Ve=>g("openToolDiff",Ve)),onOpenAgent:ne[4]||(ne[4]=Ve=>g("openAgent",Ve)),onMoveToBackground:ne[5]||(ne[5]=Ve=>g("moveToBackground",Ve))},null,8,["tools","tool-diff-panel"])):K.kind==="tool"?(l(),q(Wd,{key:4,tool:K.tool,mobile:"","tool-diff-panel":e.toolDiffPanel,onOpenMedia:ne[6]||(ne[6]=Ve=>g("openMedia",Ve)),onOpenFile:ne[7]||(ne[7]=Ve=>g("openFile",Ve)),onOpenToolDiff:ne[8]||(ne[8]=Ve=>g("openToolDiff",Ve)),onOpenAgent:ne[9]||(ne[9]=Ve=>g("openAgent",Ve)),onMoveToBackground:ne[10]||(ne[10]=Ve=>g("moveToBackground",Ve))},null,8,["tool","tool-diff-panel"])):I("",!0)],64))),128)),Z.id!==v.value&&he(oe)&&((te.value.get(Z.id)??"").trim().length>0||Z.durationMs!==void 0)?(l(),c("div",Tx,[Z.createdAt&&Z.durationMs!==void 0?(l(),q(gt,{key:0,text:`${Z.durationMs} ms`},{default:L(()=>[w(Fi,{time:Z.createdAt},null,8,["time"])]),_:2},1032,["text"])):Z.createdAt?(l(),q(Fi,{key:1,time:Z.createdAt},null,8,["time"])):I("",!0),(te.value.get(Z.id)??"").trim().length>0?(l(),c("button",{key:2,class:"a-cpbtn","aria-label":a(s)("filePreview.copy"),onClick:K=>F(oe)},[V.value!==Z.id?(l(),q(X,{key:0,name:"copy",size:"sm"})):(l(),q(X,{key:1,name:"check",size:"sm"}))],8,Ix)):I("",!0)])):I("",!0)],8,Mx))],64))),128)),e.compaction?(l(),q(y$,{key:3,label:a(s)("conversation.compacting")},null,8,["label"])):I("",!0),k.value?(l(),c("div",Ax,[w(Zd,{fast:e.fastMoon,label:e.retry?a(s)("conversation.workingRetry",{n:e.retry.attempt,max:e.retry.max}):a(s)("conversation.waitingForResponse")},null,8,["fast","label"])])):I("",!0),e.queued.length>0?(l(),c("div",Px,[r("div",Ex,[r("span",Bx,[w(X,{name:"mail",size:"sm"}),ee(" "+d(a(s)("composer.queueLabel"))+" · ",1),r("b",null,d(e.queued.length),1)]),r("span",Rx,d(a(s)("composer.queueAutoDrain")),1)]),(l(!0),c(de,null,Pe(e.queued,(Z,oe)=>(l(),c("div",{key:oe,class:fe(["u-turn q-turn",{"q-dragging":$.value===oe,"drop-before":h.value?.index===oe&&h.value.position==="before","drop-after":h.value?.index===oe&&h.value.position==="after"}]),onDragover:K=>b(oe,K),onDrop:K=>P(oe,K)},[r("div",Dx,[r("span",{class:"q-grip",title:a(s)("composer.queueDragTitle"),draggable:"true",onDragstart:K=>B(oe,K),onDragend:E},[w(X,{name:"grip",size:"sm"})],40,Ox),r("button",{type:"button",class:"q-body",title:a(s)("composer.editQueued"),onClick:K=>S(oe)},[Z.text?(l(),c("span",Fx,d(Z.text),1)):(l(),c("span",Nx,[w(X,{name:"file",size:"sm"}),ee(" "+d(a(s)("composer.queuedAttachments",{n:Z.attachments?.length??0})),1)]))],8,zx),y(Z)?(l(),c("div",Wx,[(l(!0),c(de,null,Pe(Z.attachments,(K,Be)=>(l(),c(de,{key:Be},[K.kind==="file"?(l(),c("span",qx,[w(X,{name:"file",size:"sm"}),ee(" "+d(K.name??K.fileId),1)])):(l(),q(Qd,{key:1,url:K.url,kind:K.kind,"file-id":K.fileId,"media-class":"q-img",controls:!1,muted:""},null,8,["url","kind","file-id"]))],64))),128))])):I("",!0),oe===0?(l(),c("span",Hx,d(a(s)("composer.queueNext")),1)):(l(),c("span",Ux,"#"+d(oe+1),1)),r("button",{type:"button",class:"q-row-steer","aria-label":a(s)("composer.steerQueuedRow"),title:a(s)("composer.steerQueuedRow"),onClick:Oe(K=>g("steerQueuedIndex",oe),["stop"])},[w(X,{name:"bolt",size:"sm"})],8,Vx),r("button",{type:"button",class:"q-row-send","aria-label":a(s)("composer.sendQueuedRow"),title:a(s)("composer.sendQueuedRow"),onClick:Oe(K=>g("sendQueued",oe),["stop"])},[w(X,{name:"send",size:"sm"})],8,jx),r("button",{type:"button",class:"q-rm","aria-label":a(s)("composer.remove"),onClick:Oe(K=>g("unqueue",oe),["stop"])},[w(X,{name:"close",size:"sm"})],8,Kx)])],42,Lx))),128))])):I("",!0)],512),we.value!==null?(l(),c("div",Gx,d(a(s)("composer.attachmentOpenUnsupported",{name:we.value})),1)):I("",!0)],64))}}),ep=Re(Yx,[["__scopeId","data-v-860328dc"]]),Zx={class:"ch-id"},Xx={key:0,class:"ch-ws"},Jx={key:1,class:"ch-sep"},eT=["onKeydown"],tT={class:"ch-ses"},nT={key:0,class:"ch-pill ch-sync-pill"},sT={key:0,class:"ch-ahead"},oT={key:1,class:"ch-behind"},iT={key:1,class:"ch-pill ch-diff-pill"},aT={key:0,class:"ch-add"},lT={key:1,class:"ch-del"},rT=Ee({__name:"ChatHeader",props:{sessionId:{},workspaceName:{},workspaceRoot:{},sessionTitle:{},branch:{},ahead:{},behind:{},changesCount:{},gitDiffStats:{},isGitRepo:{type:Boolean},pr:{},copied:{type:Boolean},searchActive:{type:Boolean},pinned:{type:Boolean}},emits:["copyAll","copyFinalSummary","openChanges","openPr","renameSession","forkSession","archiveSession","exportSession","toggleSearch","togglePin"],setup(e,{emit:t}){const{t:n}=Ye(),s=e,o=t,i=M(()=>s.ahead??0),u=M(()=>s.behind??0),p=M(()=>s.gitDiffStats?.totalAdditions??0),f=M(()=>s.gitDiffStats?.totalDeletions??0),v=M(()=>p.value>0||f.value>0),k={open:"header.prStatusOpen",closed:"header.prStatusClosed",merged:"header.prStatusMerged",draft:"header.prStatusDraft"};function x(re){return re.trim().toLowerCase().replaceAll("_","-")}function g(re){const se=x(re);return k[se]?`pr-${se}`:"pr-unknown"}function m(re){return n(k[x(re)]??"header.prStatusUnknown")}const $=T(!1),h=T(null),y=T(null),S=T({});function B(re){const se=re.target;y.value?.el?.contains(se)||h.value?.el?.contains(se)||E()}function b(){E()}async function P(re){if(re.stopPropagation(),$.value){E();return}$.value=!0,document.addEventListener("mousedown",B),window.addEventListener("resize",b),await Xe();const se=h.value?.el,he=y.value?.el;if(!se||!he)return;const ae=se.getBoundingClientRect(),F=4,Y=8,ke=he.offsetWidth,we=he.offsetHeight;let Le=ae.bottom+F;Le+we>window.innerHeight-Y&&(Le=Math.max(Y,ae.top-we-F));let Ze=ae.left;Ze+ke>window.innerWidth-Y&&(Ze=Math.max(Y,ae.right-ke)),S.value={top:`${Math.round(Le)}px`,left:`${Math.round(Ze)}px`}}function E(){$.value=!1,document.removeEventListener("mousedown",B),window.removeEventListener("resize",b)}kt(()=>{document.removeEventListener("mousedown",B),window.removeEventListener("resize",b)});function R(){o("copyAll"),E()}function W(){o("copyFinalSummary"),E()}const Q=T(!1);function V(){s.sessionId&&an(s.sessionId).then(re=>{re&&(Q.value=!0,setTimeout(()=>{Q.value=!1},1200))})}const C=T(!1),D=T(""),O=T(null);async function J(){if(E(),!!s.sessionId){C.value=!0,D.value=s.sessionTitle??"",await Xe();try{O.value?.focus(),O.value?.select()}catch{}}}function ve(){const re=D.value.trim();re&&s.sessionId&&re!==(s.sessionTitle??"").trim()&&o("renameSession",s.sessionId,re),C.value=!1}function me(){C.value=!1}function ze(){s.sessionId&&(E(),o("forkSession",s.sessionId))}function ie(){s.sessionId&&(E(),o("exportSession",s.sessionId))}function le(){s.sessionId&&(E(),o("togglePin",s.sessionId))}function te(){s.sessionId&&(E(),o("archiveSession",s.sessionId))}return(re,se)=>(l(),c("header",{class:fe(["chat-header",{"macos-desktop":a(zo)}])},[r("div",Zx,[e.workspaceName?(l(),c("span",Xx,d(e.workspaceName),1)):I("",!0),e.workspaceName&&e.sessionTitle?(l(),c("span",Jx,"/")):I("",!0),C.value?wt((l(),c("input",{key:2,ref_key:"renameInputRef",ref:O,"onUpdate:modelValue":se[0]||(se[0]=he=>D.value=he),class:"ch-rename",type:"text",onKeydown:[Cn(Oe(ve,["stop"]),["enter"]),Cn(Oe(me,["stop"]),["esc"])],onBlur:ve,onClick:se[1]||(se[1]=Oe(()=>{},["stop"]))},null,40,eT)),[[Dn,D.value]]):e.sessionTitle?(l(),q(gt,{key:3,text:e.sessionTitle},{default:L(()=>[r("span",tT,d(e.sessionTitle),1)]),_:1},8,["text"])):I("",!0)]),w(lt,{class:fe(["ch-act-search",{active:e.searchActive}]),label:a(n)("header.search"),"aria-expanded":e.searchActive,onClick:se[2]||(se[2]=Oe(he=>o("toggleSearch"),["stop"]))},{default:L(()=>[w(X,{name:"search",size:"md"})]),_:1},8,["class","label","aria-expanded"]),w(lt,{ref_key:"kebabRef",ref:h,class:fe(["ch-act-more",{open:$.value}]),label:a(n)("header.options"),"aria-expanded":$.value,"aria-haspopup":"menu",onClick:se[3]||(se[3]=Oe(he=>P(he),["stop"]))},{default:L(()=>[w(X,{name:"dots-horizontal",size:"md"})]),_:1},8,["class","label","aria-expanded"]),$.value?(l(),q(Fn,{key:0,ref_key:"menuRef",ref:y,class:"ch-menu",style:vt(S.value),onClick:se[4]||(se[4]=Oe(()=>{},["stop"]))},{default:L(()=>[w(st,{onClick:R},{default:L(()=>[w(X,{name:e.copied?"check":"copy",size:"sm"},null,8,["name"]),ee(" "+d(e.copied?a(n)("header.copied"):a(n)("header.copyAll")),1)]),_:1}),w(st,{onClick:W},{default:L(()=>[w(X,{name:"file-text",size:"sm"}),ee(" "+d(a(n)("header.copyFinalSummary")),1)]),_:1}),e.sessionId?(l(),c(de,{key:0},[w(st,{separator:""}),w(st,{onClick:le},{default:L(()=>[w(X,{name:e.pinned?"pin-fill":"pin",size:"sm"},null,8,["name"]),ee(" "+d(e.pinned?a(n)("sidebar.unpin"):a(n)("sidebar.pin")),1)]),_:1}),w(st,{onClick:V},{default:L(()=>[w(X,{name:Q.value?"check":"copy",size:"sm"},null,8,["name"]),ee(" "+d(Q.value?a(n)("header.copied"):a(n)("header.copySessionId")),1)]),_:1}),w(st,{onClick:J},{default:L(()=>[w(X,{name:"pencil",size:"sm"}),ee(" "+d(a(n)("header.renameSession")),1)]),_:1}),w(st,{onClick:ze},{default:L(()=>[w(X,{name:"git-fork",size:"sm"}),ee(" "+d(a(n)("header.forkSession")),1)]),_:1}),w(st,{onClick:ie},{default:L(()=>[w(X,{name:"download",size:"sm"}),ee(" "+d(a(n)("header.exportSession")),1)]),_:1}),w(st,{danger:"",onClick:te},{default:L(()=>[w(X,{name:"archive",size:"sm"}),ee(" "+d(a(n)("header.archiveSession")),1)]),_:1})],64)):I("",!0)]),_:1},8,["style"])):I("",!0),se[7]||(se[7]=r("div",{class:"ch-spacer"},null,-1)),e.isGitRepo?(l(),c("button",{key:1,type:"button",class:"ch-git",onClick:se[5]||(se[5]=he=>o("openChanges"))},[r("span",{class:fe(["ch-branch",{"ch-detached":!e.branch}])},d(e.branch||a(n)("header.detached")),3),i.value>0||u.value>0?(l(),c("span",nT,[i.value>0?(l(),c("span",sT,"↑"+d(i.value),1)):I("",!0),u.value>0?(l(),c("span",oT,"↓"+d(u.value),1)):I("",!0)])):I("",!0),v.value?(l(),c("span",iT,[p.value>0?(l(),c("span",aT,"+"+d(p.value),1)):I("",!0),f.value>0?(l(),c("span",lT,"-"+d(f.value),1)):I("",!0)])):I("",!0)])):I("",!0),e.pr?(l(),c("button",{key:2,type:"button",class:fe(["ch-pill ch-pr",g(e.pr.state)]),onClick:se[6]||(se[6]=he=>e.pr&&o("openPr",e.pr.url))},[w(X,{name:"git-pull-request",size:"sm"}),r("span",null,"PR #"+d(e.pr.number)+" · "+d(m(e.pr.state)),1)],2)):I("",!0)],2))}}),uT=Re(rT,[["__scopeId","data-v-50d1d77b"]]);function tp(e,t,n,s=4,o=24){const i=t-e;if(e<=0||i<=1)return null;const u=e-s*2,p=u*e/t,f=Math.min(u,Math.max(o,p));return{top:u>f?s+n/i*(u-f):s,height:f}}function cT(e,t,n=4,s=24){const o=tp(e,t,0,n,s);if(!o)return 0;const i=e-n*2;return i>o.height?(t-e)/(i-o.height):1}function np(){const e=T(null),t=T(!1),n=T(!1),s=T(!1),o=T({});let i=null,u=!1,p=0,f=0,v=1;function k(){const h=e.value;if(!h)return;const{clientHeight:y,scrollHeight:S,scrollTop:B}=h;t.value=S>y+1,n.value=B>1,s.value=B{i?.disconnect(),i=null,h&&typeof ResizeObserver<"u"&&(i=new ResizeObserver(k),i.observe(h),Xe(k))}),kt(()=>{i?.disconnect(),i=null}),{listRef:e,scrollable:t,fadeTop:n,fadeBottom:s,thumbStyle:o,onScroll:x,onThumbPointerDown:g,onThumbPointerMove:m,onThumbPointerUp:$}}const dT=["data-query"],pT={class:"slash-scroller"},fT=["aria-selected","onMouseenter","onMousedown"],mT={class:"slash-name"},vT={key:0,class:"slash-match"},gT={class:"slash-desc"},hT={key:0,class:"slash-desc-match"},yT={key:0,class:"slash-empty",role:"status"},kT={key:1,class:"menu-scroll-fade menu-scroll-fade-top"},bT={key:2,class:"menu-scroll-fade menu-scroll-fade-bottom"},wT=Ee({__name:"SlashMenu",props:{matches:{},activeIndex:{},query:{default:""},sheet:{type:Boolean,default:!1}},emits:["select","hover"],setup(e,{emit:t}){const{t:n}=Ye(),s=e,o=t,i=T([]);Ne(()=>s.activeIndex,S=>{i.value[S]?.scrollIntoView({block:"nearest"})});const{listRef:u,scrollable:p,fadeTop:f,fadeBottom:v,thumbStyle:k,onScroll:x,onThumbPointerDown:g,onThumbPointerMove:m,onThumbPointerUp:$}=np();function h(S){return S.isSkill?S.desc:n(S.desc)}function y(S,B){if(B.length===0||S.length===0)return[{text:S,matched:!1}];const b=[];let P=0;for(const E of B){if(E.end<=P||E.start>S.length)continue;const R=Math.max(E.start,P);R>P&&b.push({text:S.slice(P,R),matched:!1}),b.push({text:S.slice(R,E.end),matched:!0}),P=E.end}return P(l(),c("div",{class:fe(["slash-menu",{"slash-menu--sheet":s.sheet}]),"data-query":e.query??""},[r("div",pT,[r("div",{ref_key:"listRef",ref:u,class:"slash-list",role:"listbox",onScroll:B[0]||(B[0]=(...b)=>a(x)&&a(x)(...b))},[(l(!0),c(de,null,Pe(s.matches,(b,P)=>(l(),c("div",{ref_for:!0,ref:E=>{E&&(i.value[P]=E)},key:`${b.item.name}-${b.index}`,class:fe(["slash-item",{active:P===s.activeIndex}]),role:"option","aria-selected":P===s.activeIndex,onMouseenter:E=>o("hover",P),onMousedown:Oe(E=>o("select",b.item),["prevent"])},[r("span",mT,[(l(!0),c(de,null,Pe(y(b.item.name,b.nameRanges),(E,R)=>(l(),c(de,{key:R},[E.matched?(l(),c("span",vT,d(E.text),1)):(l(),c(de,{key:1},[ee(d(E.text),1)],64))],64))),128))]),r("span",gT,[(l(!0),c(de,null,Pe(y(h(b.item),b.descRanges),(E,R)=>(l(),c(de,{key:R},[E.matched?(l(),c("span",hT,d(E.text),1)):(l(),c(de,{key:1},[ee(d(E.text),1)],64))],64))),128))])],42,fT))),128)),s.matches.length===0?(l(),c("div",yT,d(a(n)("composer.slashEmpty")),1)):I("",!0)],544),a(p)?(l(),c("div",{key:0,class:"menu-scroll-thumb",style:vt(a(k)),onPointerdown:B[1]||(B[1]=(...b)=>a(g)&&a(g)(...b)),onPointermove:B[2]||(B[2]=(...b)=>a(m)&&a(m)(...b)),onPointerup:B[3]||(B[3]=(...b)=>a($)&&a($)(...b)),onPointercancel:B[4]||(B[4]=(...b)=>a($)&&a($)(...b))},null,36)):I("",!0),a(p)&&a(f)?(l(),c("div",kT)):I("",!0),a(p)&&a(v)?(l(),c("div",bT)):I("",!0)])],10,dT))}}),Eu=Re(wT,[["__scopeId","data-v-77443e56"]]),ST=3,CT=2,_T=1;function MT(e){return e.endsWith("/")}function $T(e,t){const o=(e.replace(/\/+$/,"").split("/").pop()??e)||e;return t&&!o.endsWith("/")?`${o}/`:o}function xT(e){const t=MT(e.path),n=e.name||$T(e.path,t);return t?{kind:"folder",path:e.path,name:n}:{kind:"file",path:e.path,name:n}}function TT(e){return{kind:"skill",name:e.name,description:e.description}}function IT(e,t){return[...e.map(xT),...t.map(TT)]}function sp(e){return e.kind==="skill"?e.description:e.path}function op(e){return e.toLowerCase().trim()}function gl(e,t){return e===t?4:e.startsWith(t)?3:e.includes(t)?2:AT(e,t)?1:0}function AT(e,t){let n=0;for(const s of t){if(n=e.indexOf(s,n),n===-1)return!1;n++}return!0}function Bu(e,t){const n=op(t);if(n===""||e.length===0)return[];const s=gl(e.toLowerCase(),n);if(s===0)return[];if(s===1)return[{start:0,end:e.length}];const o=e.toLowerCase(),i=[];let u=0;for(;;){const p=o.indexOf(n,u);if(p===-1)break;i.push({start:p,end:p+n.length}),u=p+n.length}return i}function PT(e,t){const n=op(e);return n===""?t.map((s,o)=>({candidate:s,index:o,score:0,nameRanges:[],subRanges:[]})):t.map((s,o)=>{const i=s.name,u=sp(s),p=gl(i.toLowerCase(),n),f=gl(u.toLowerCase(),n),v=Math.max(p,f);if(v===0)return null;const k=p*ST+(s.kind==="skill"?f*_T:f*CT);return{match:{candidate:s,index:o,score:v*100+k,nameRanges:Bu(i,n),subRanges:Bu(u,n)},score:v*100+k}}).filter(s=>s!==null).sort((s,o)=>o.score-s.score||s.match.index-o.match.index).map(s=>s.match)}const ET={class:"mention-scroller"},BT={key:0,class:"mention-state dim"},RT={key:1,class:"mention-state dim"},LT=["aria-selected","onMouseenter","onMousedown"],DT=["innerHTML"],OT={class:"mention-name"},zT={key:0,class:"mention-match"},FT={class:"mention-path"},NT={key:0,class:"mention-match"},WT={key:1,class:"menu-scroll-fade menu-scroll-fade-top"},qT={key:2,class:"menu-scroll-fade menu-scroll-fade-bottom"},HT=Ee({__name:"MentionMenu",props:{items:{},activeIndex:{},loading:{type:Boolean},sheet:{type:Boolean,default:!1}},emits:["select","hover"],setup(e,{emit:t}){const n=e,s=t,{t:o}=Ye(),{listRef:i,scrollable:u,fadeTop:p,fadeBottom:f,thumbStyle:v,onScroll:k,onThumbPointerDown:x,onThumbPointerMove:g,onThumbPointerUp:m}=np();function $(S){const B=S.candidate;return B.kind==="skill"?`skill:${B.name}`:B.path}function h(S){return fc(Gd(S.kind==="skill"?S.name:S.path,S.kind),"sm")}function y(S,B){if(B.length===0||S.length===0)return[{text:S,matched:!1}];const b=[];let P=0;for(const E of B){if(E.end<=P||E.start>S.length)continue;const R=Math.max(E.start,P);R>P&&b.push({text:S.slice(P,R),matched:!1}),b.push({text:S.slice(R,E.end),matched:!0}),P=E.end}return P(l(),c("div",{class:fe(["mention-menu",{"mention-menu--sheet":n.sheet}])},[r("div",ET,[r("div",{ref_key:"listRef",ref:i,class:"mention-list",role:"listbox",onScroll:B[0]||(B[0]=(...b)=>a(k)&&a(k)(...b))},[n.loading?(l(),c("div",BT,d(a(o)("mention.searching")),1)):n.items.length===0?(l(),c("div",RT,d(a(o)("mention.noMatch")),1)):(l(!0),c(de,{key:2},Pe(n.items,(b,P)=>(l(),c("div",{key:$(b),class:fe(["mention-item",{active:P===n.activeIndex,skill:b.candidate.kind==="skill"}]),role:"option","aria-selected":P===n.activeIndex,onMouseenter:E=>s("hover",P),onMousedown:Oe(E=>s("select",b),["prevent"])},[r("span",{class:"mention-icon",innerHTML:h(b.candidate),"aria-hidden":"true"},null,8,DT),r("span",OT,[(l(!0),c(de,null,Pe(y(b.candidate.name,b.nameRanges),(E,R)=>(l(),c(de,{key:R},[E.matched?(l(),c("span",zT,d(E.text),1)):(l(),c(de,{key:1},[ee(d(E.text),1)],64))],64))),128))]),r("span",FT,[(l(!0),c(de,null,Pe(y(a(sp)(b.candidate),b.subRanges),(E,R)=>(l(),c(de,{key:R},[E.matched?(l(),c("span",NT,d(E.text),1)):(l(),c(de,{key:1},[ee(d(E.text),1)],64))],64))),128))])],42,LT))),128))],544),a(u)?(l(),c("div",{key:0,class:"menu-scroll-thumb",style:vt(a(v)),onPointerdown:B[1]||(B[1]=(...b)=>a(x)&&a(x)(...b)),onPointermove:B[2]||(B[2]=(...b)=>a(g)&&a(g)(...b)),onPointerup:B[3]||(B[3]=(...b)=>a(m)&&a(m)(...b)),onPointercancel:B[4]||(B[4]=(...b)=>a(m)&&a(m)(...b))},null,36)):I("",!0),a(u)&&a(p)?(l(),c("div",WT)):I("",!0),a(u)&&a(f)?(l(),c("div",qT)):I("",!0)])],2))}}),Ru=Re(HT,[["__scopeId","data-v-1fa972b5"]]),Pn={new:"cjxhh",clear:"qkbxjhh",login:"zllqzdl",plan:"qhjhmkg",swarm:"qhmsrwzjzxzx",goal:"cjkzmbmb",btw:"cbltwtxdcbhhtw",auto:"wqzzbztw",yolo:"zdpzgjczrkntw",thinking:"szskqd",compact:"yshhls",undo:"cxsytxx",fork:"bdqhhcygxhh",export:"jdqhhhpzrzxzwysb",status:"ckhhzt"},ip=[{name:"/new",desc:"commands.new.desc",pinyinFirst:Pn.new},{name:"/clear",desc:"commands.clear.desc",pinyinFirst:Pn.clear},{name:"/login",desc:"commands.login.desc",pinyinFirst:Pn.login},{name:"/plan",desc:"commands.plan.desc",pinyinFirst:Pn.plan},{name:"/swarm",desc:"commands.swarm.desc",pinyinFirst:Pn.swarm,acceptsInput:!0},{name:"/goal",desc:"commands.goal.desc",pinyinFirst:Pn.goal,acceptsInput:!0},{name:"/btw",desc:"commands.btw.desc",pinyinFirst:Pn.btw,acceptsInput:!0},{name:"/auto",desc:"commands.auto.desc",pinyinFirst:Pn.auto},{name:"/yolo",desc:"commands.yolo.desc",pinyinFirst:Pn.yolo},{name:"/thinking",desc:"commands.thinking.desc",pinyinFirst:Pn.thinking},{name:"/compact",desc:"commands.compact.desc",pinyinFirst:Pn.compact,acceptsInput:!0},{name:"/undo",desc:"commands.undo.desc",pinyinFirst:Pn.undo},{name:"/fork",desc:"commands.fork.desc",pinyinFirst:Pn.fork},{name:"/export",desc:"commands.export.desc",pinyinFirst:Pn.export},{name:"/status",desc:"commands.status.desc",pinyinFirst:Pn.status}];function UT(e){if(!e.startsWith("/"))return null;const t=e.indexOf(" ");return t===-1?{cmd:e,arg:""}:{cmd:e.slice(0,t),arg:e.slice(t+1)}}const Ji="skill:";function VT(e){return e.startsWith(Ji)?e.slice(Ji.length):e}function ap(e=[]){const t=e.map(n=>({name:n.source==="builtin"?`/${n.name}`:`/${Ji}${n.name}`,desc:n.description,isSkill:!0,acceptsInput:!0}));return[...ip,...t]}const jT=3,KT=1,GT=1;function lp(e){return e.toLowerCase().trim().replace(/^\//,"")}function Fa(e,t){return e===t?4:e.startsWith(t)?3:e.includes(t)?2:QT(e,t)?1:0}function QT(e,t){let n=0;for(const s of t){if(n=e.indexOf(s,n),n===-1)return!1;n++}return!0}function Lu(e,t){const n=lp(t);if(n===""||e.length===0)return[];const s=e.toLowerCase();if(!s.includes(n))return[{start:0,end:e.length}];const o=[];let i=0;for(;;){const u=s.indexOf(n,i);if(u===-1)break;o.push({start:u,end:u+n.length}),i=u+n.length}return o}function YT(e,t=ip,n=s=>s.desc){const s=lp(e);return s===""?t.map((o,i)=>({item:o,index:i,nameRanges:[],descRanges:[]})):t.map((o,i)=>{const u=o.name.replace(/^\//,"").toLowerCase(),p=n(o),f=Fa(u,s)*jT+Fa(p.toLowerCase(),s)*KT+(o.pinyinFirst?Fa(o.pinyinFirst,s)*GT:0);return f===0?null:{match:{item:o,index:i,nameRanges:Lu(o.name,s),descRanges:Lu(p,s)},score:f}}).filter(o=>o!==null).sort((o,i)=>i.score-o.score||o.match.index-i.match.index).map(o=>o.match)}const ea=100;function ZT(e){const t=to(Ge.inputHistory);if(Array.isArray(t)){const n=t.filter(i=>typeof i=="string"&&i.length>0);if(!e||n.length===0)return{};const s=n.length>ea?n.slice(-ea):n,o={[e]:s};return Ns(Ge.inputHistory,o),o}return t&&typeof t=="object"?t:{}}function XT(e){const{text:t,textareaRef:n,autosize:s,sessionId:o}=e,i=T(ZT(o())),u=M(()=>i.value[o()??""]??[]);let p=-1,f="";function v(S){const B=o();if(p=-1,!B)return;const b=S.trim();if(!b)return;const P=i.value[B]??[];if(P.at(-1)===b)return;const E=[...P,b],R=E.length>ea?E.slice(-ea):E;i.value={...i.value,[B]:R},Ns(Ge.inputHistory,i.value)}function k(){const S=n.value;return S?(S.selectionStart??0)===0:!1}function x(S){t.value=S,Xe(()=>{const B=n.value;if(!B)return;s();const b=S.length;B.setSelectionRange(b,b)})}function g(){const S=u.value;if(S.length!==0){if(p===-1)f=t.value,p=S.length-1;else if(p>0)p-=1;else return;x(S[p])}}function m(){if(p===-1)return;const S=u.value;p0}return Ne(o,()=>{p=-1}),{push:v,caretAtTextStart:k,recallOlder:g,recallNewer:m,resetBrowsing:$,isBrowsing:h,hasHistory:y}}function JT(e){const{text:t,textareaRef:n,autosize:s,skills:o,emitCommand:i,historyPush:u,clearDraft:p}=e,f=e.resolveDesc??(y=>y.desc),v=T(!1),k=T([]),x=M(()=>k.value.map(y=>y.item)),g=T(0),m=T("");function $(){const y=t.value;y.startsWith("/")&&!y.includes(" ")?(m.value=y,k.value=YT(y,ap(o()),f),g.value=0,v.value=!0):v.value=!1}function h(y){if(v.value=!1,y.acceptsInput){t.value=`${y.name} `,Xe(()=>{const S=n.value;if(!S)return;const B=t.value.length;S.setSelectionRange(B,B),S.focus(),s()});return}t.value="",p?.(),u(y.name),i(y.name)}return{open:v,matches:k,items:x,active:g,query:m,update:$,select:h}}function e6(e){const{text:t,textareaRef:n,autosize:s,searchFiles:o,skills:i}=e,u=T(!1),p=T([]),f=T(0),v=T(!1);let k=null;function x(){const y=t.value,S=n.value?.selectionStart??y.length;let B=S-1;for(;B>=0&&!/\s/.test(y[B]);)B--;B++;const b=y.slice(B,S);return b.startsWith("@")?{token:b.slice(1),start:B,end:S}:null}async function g(y){let S=[];const B=o();if(B)try{S=await B(y)}catch{S=[]}const b=IT(S,i());return PT(y,b)}function m(){const y=x(),S=o()!==void 0||i().length>0;if(!y||!S){u.value=!1;return}const B=y.token;k!==null&&clearTimeout(k),k=setTimeout(async()=>{v.value=!0,u.value=!0,f.value=0;try{p.value=await g(B)}catch{p.value=[]}finally{v.value=!1}},200)}function $(y){return y.kind==="skill"?`@${y.name}`:`@${y.path}`}function h(y){const S=x();if(!S)return;const B=t.value;t.value=B.slice(0,S.start)+$(y.candidate)+B.slice(S.end),u.value=!1,Xe(()=>{const b=n.value;if(!b)return;const P=S.start+$(y.candidate).length;b.setSelectionRange(P,P),b.focus(),s()})}return{open:u,items:p,active:f,loading:v,update:m,select:h}}function t6(e){const{sessionId:t}=e;function n(v){return Dt(cr(v))??""}function s(v,k){const x=cr(v);k?Nt(x,k):wo(x)}const o=T(n(t())),i=T(null);function u(){const v=i.value;v&&(v.style.height="auto",v.style.height=`${v.scrollHeight}px`)}Ne(o,v=>{Xe(u),s(t(),v)}),Ne(t,(v,k)=>{v!==k&&(s(k,o.value),o.value=n(v),Xe(u))});function p(v){o.value=v,Xe(()=>{const k=i.value;if(!k)return;k.focus();const x=v.length;k.setSelectionRange(x,x),u()})}function f(){s(t(),"")}return{text:o,textareaRef:i,autosize:u,loadForEdit:p,clearDraft:f}}function n6(e){const t=new Set;for(const i of e)i.isDirectory&&t.add(i.name);const n=[],s=new Set;let o=0;for(const i of e){if(i.isDirectory){o+=1;continue}if(i.size===0&&i.type===""&&t.has(i.name)){o+=1;continue}const u=`${i.size}:${i.type}:${i.name}`;s.has(u)||(s.add(u),n.push(i))}return{files:n,skippedDirectories:o}}function s6(e){const{uploadImage:t,sessionId:n}=e,s=T({}),o=M(()=>s.value[n()??""]??[]),i=T(null),u=T(null),p=T(!1);let f=0;function v(){return`att_${++f}`}function k(ie,le){s.value={...s.value,[ie]:le}}function x(ie){if(ie.previewUrl!==void 0)try{URL.revokeObjectURL(ie.previewUrl)}catch{}}function g(ie){return ie.startsWith("image/")?"image":ie.startsWith("video/")?"video":"file"}async function m(ie){const le=t();if(!le)return;const te=n()??"";if(ie.length!==0)for(const re of ie){const se=g(re.type),he=v(),ae=se==="file"?void 0:URL.createObjectURL(re),F={localId:he,name:re.name,kind:se,previewUrl:ae,mediaType:re.type||"application/octet-stream",size:re.size,uploading:!0};k(te,[...s.value[te]??[],F]),le(re,re.name).then(Y=>{const ke=s.value[te]??[];k(te,ke.map(we=>we.localId===he?{...we,uploading:!1,fileId:Y?.fileId,mediaType:Y?.mediaType??we.mediaType,error:Y===null}:we))}).catch(()=>{const Y=s.value[te]??[];k(te,Y.map(ke=>ke.localId===he?{...ke,uploading:!1,error:!0}:ke))})}}function $(ie){const le=n()??"",te=s.value[le]??[],re=te.find(se=>se.localId===ie);i.value?.localId===ie&&(i.value=null),re&&x(re),k(le,te.filter(se=>se.localId!==ie))}function h(ie){i.value=ie}function y(){i.value=null}function S(){u.value?.click()}function B(ie){const le=ie.target,te=Array.from(le.files??[]);m(te),le.value=""}function b(ie){if(!t())return;const le=ie.clipboardData;if(!le)return;const te=[];for(const se of Array.from(le.items)){if(se.kind!=="file")continue;const he=se.getAsFile();if(!he)continue;const ae=he.type.split("/")[1]??"png",F=he.name||`paste-${Date.now()}.${ae}`,Y=se.webkitGetAsEntry?.();te.push({file:he,name:F.includes(".")?F:`paste-${Date.now()}.${ae}`,size:he.size,type:he.type,isDirectory:Y?.isDirectory===!0})}for(const se of Array.from(le.files))te.push({file:se,name:se.name,size:se.size,type:se.type,isDirectory:!1});const re=n6(te);if(re.files.length===0){re.skippedDirectories>0&&ie.preventDefault();return}ie.preventDefault(),m(re.files.map(se=>se.file))}let P=0;function E(ie){!t()||!Array.from(ie.dataTransfer?.items??[]).some(te=>te.kind==="file")||(ie.preventDefault(),ie.stopPropagation(),p.value=!0)}function R(){p.value=!1}function W(ie){if(P=0,p.value=!1,!t())return;ie.preventDefault(),ie.stopPropagation();const le=Array.from(ie.dataTransfer?.files??[]);m(le)}function Q(ie){return Array.from(ie.dataTransfer?.items??[]).some(le=>le.kind==="file")}function V(ie){!t()||!Q(ie)||(ie.preventDefault(),P+=1,p.value=!0)}function C(ie){!t()||!Q(ie)||ie.preventDefault()}function D(ie){!t()||!Q(ie)||(P=Math.max(0,P-1),P===0&&(p.value=!1))}function O(ie){if(P=0,p.value=!1,!t())return;ie.preventDefault();const le=Array.from(ie.dataTransfer?.files??[]);m(le)}function J(){const ie=n()??"";for(const le of s.value[ie]??[])x(le);k(ie,[])}function ve(ie,le,te){const re=s.value[ie]??[];re.some(se=>se.localId===le)&&k(ie,re.map(se=>se.localId===le?{...se,...te}:se))}function me(ie){return fetch(ie).then(le=>{if(!le.ok)throw new Error(`fetch failed: ${le.status}`);return le.blob()})}function ze(ie){const le=n()??"";for(const te of s.value[le]??[])x(te);k(le,[]);for(const te of ie){const re=v(),se=/^data:/i.test(te.url),he=/^blob:/i.test(te.url),ae=te.name??te.kind;if(te.fileId){const F={localId:re,name:ae,kind:te.kind,previewUrl:te.kind==="file"?void 0:te.url,uploading:!1,fileId:te.fileId};k(le,[...s.value[le]??[],F]),te.kind!=="file"&&!se&&!he&&De().getFileBlob(te.fileId).then(Y=>{const ke=URL.createObjectURL(Y);if(!(s.value[le]??[]).some(Le=>Le.localId===re)){URL.revokeObjectURL(ke);return}ve(le,re,{previewUrl:ke})}).catch(()=>{})}else{if(!te.url)continue;const F=t();if(!F)continue;const Y={localId:re,name:ae,kind:te.kind,previewUrl:te.url,uploading:!0};k(le,[...s.value[le]??[],Y]),me(te.url).then(ke=>{const we=ae.includes(".")?ae:`${ae}.${ke.type.split("/")[1]??"bin"}`;return F(ke,we)}).then(ke=>{if(ke===null){const we=s.value[le]??[];k(le,we.filter(Le=>Le.localId!==re));return}ve(le,re,{uploading:!1,fileId:ke.fileId})}).catch(()=>{const ke=s.value[le]??[];k(le,ke.filter(we=>we.localId!==re))})}}}return Ne(n,()=>{i.value=null}),xt(()=>{document.addEventListener("paste",b),document.addEventListener("dragenter",V),document.addEventListener("dragover",C),document.addEventListener("dragleave",D),document.addEventListener("drop",O)}),kt(()=>{document.removeEventListener("paste",b),document.removeEventListener("dragenter",V),document.removeEventListener("dragover",C),document.removeEventListener("dragleave",D),document.removeEventListener("drop",O);for(const ie of Object.values(s.value))for(const le of ie)x(le);i.value=null}),{attachments:o,previewAttachment:i,fileInputRef:u,isDragOver:p,removeAttachment:$,openAttachmentPreview:h,closeAttachmentPreview:y,openFilePicker:S,handleFileInputChange:B,handleDragOver:E,handleDragLeave:R,handleDrop:W,clearAfterSubmit:J,loadAttachments:ze}}function rp(e){return!e||e.trim().length===0}const Na="(pointer: coarse)",o6="(any-pointer: fine)",i6="(max-width: 980px)",a6="(max-width: 640px)";function up(e){if(!(typeof window>"u"||typeof window.matchMedia!="function"))return window.matchMedia(e)}function hl(e,t=up){return t(e)?.matches??!1}function sr(e,t,n=up){const s=n(e);if(!s)return t(!1),()=>{};const o=()=>t(s.matches);return t(s.matches),s.addEventListener("change",o),()=>s.removeEventListener("change",o)}function l6(e){const t=T(!1),n=sr(a6,s=>{t.value=s},e);return Tp()&&kt(n),t}const r6=new Set(["F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","Escape","Home","End","PageUp","PageDown","Insert"]);function u6(e){return e.ctrlKey||e.metaKey||e.altKey?!0:r6.has(e.key)}let cp=!1;function c6(e){u6(e)&&(cp=!0)}function d6(e){return cp||hl(o6,e)}const p6={key:0,class:"sheet-root"},f6=["aria-label"],m6=["aria-label"],v6={key:0,class:"sheet-head"},g6={class:"sheet-title"},h6={class:"sheet-body"},y6=Ee({__name:"BottomSheet",props:{modelValue:{type:Boolean},title:{default:""}},emits:["update:modelValue","close"],setup(e,{emit:t}){const{t:n}=Ye(),s=e,o=t;function i(){o("update:modelValue",!1),o("close")}function u(p){p.key==="Escape"&&i()}return Ne(()=>s.modelValue,p=>{typeof document>"u"||(p?document.addEventListener("keydown",u):document.removeEventListener("keydown",u))},{immediate:!0}),kt(()=>{typeof document<"u"&&document.removeEventListener("keydown",u)}),(p,f)=>(l(),q(ai,{name:"sheet"},{default:L(()=>[e.modelValue?(l(),c("div",p6,[r("div",{class:"sheet-scrim",onClick:i}),r("div",{class:"sheet-panel",role:"dialog","aria-label":e.title||a(n)("mobile.sheetLabel")},[r("button",{type:"button",class:"sheet-grab","aria-label":a(n)("mobile.closeSheet"),onClick:i},null,8,m6),e.title?(l(),c("div",v6,[r("span",g6,d(e.title),1)])):I("",!0),r("div",h6,[At(p.$slots,"default",{},void 0,!0)])],8,f6)])):I("",!0)]),_:3}))}}),Fo=Re(y6,[["__scopeId","data-v-745ee5a2"]]),k6={class:"ctx-ring",viewBox:"0 0 20 20","aria-hidden":"true"},b6=["stroke-dasharray","stroke-dashoffset"],Wa=7,w6=Ee({__name:"ContextRing",props:{pct:{}},setup(e){const t=e,n=2*Math.PI*Wa;return(s,o)=>(l(),c("svg",k6,[r("circle",{class:"ctx-ring-track",cx:"10",cy:"10",r:Wa,fill:"none","stroke-width":"2.5"}),r("circle",{class:"ctx-ring-fill",cx:"10",cy:"10",r:Wa,fill:"none","stroke-width":"2.5","stroke-linecap":"round","stroke-dasharray":`${n}`,"stroke-dashoffset":`${n*(1-t.pct/100)}`},null,8,b6)]))}}),S6=Re(w6,[["__scopeId","data-v-a364f1f1"]]),C6={key:0,class:"att-strip"},_6={class:"att-lightbox-card"},M6=["src"],$6=["src","alt"],x6={class:"att-lightbox-name"},T6={class:"composer-card"},I6={class:"cin-wrap"},A6={class:"input-row"},P6=["placeholder","disabled"],E6=["aria-label"],B6={class:"toolbar-left"},R6=["onKeydown"],L6=["onClick"],D6={class:"pd-check"},O6={class:"pd-info"},z6={class:"pd-desc"},F6=["onClick"],N6={class:"pd-check"},W6={class:"pd-info"},q6={class:"pd-name"},H6={class:"pd-desc"},U6=["onClick"],V6={class:"pd-check"},j6={class:"pd-info"},K6={class:"pd-name"},G6={class:"pd-desc"},Q6=["aria-pressed"],Y6=["aria-label"],Z6=["aria-pressed"],X6=["aria-label"],J6=["aria-pressed"],e9=["aria-label"],t9=["aria-pressed"],n9=["aria-label"],s9={class:"toolbar-right"},o9=["aria-label"],i9=["onKeydown"],a9={key:0,class:"think-suffix"},l9=["aria-label"],r9=["aria-label","title","disabled"],u9={key:0,class:"md-section"},c9=["onClick"],d9={class:"md-check"},p9={class:"md-name"},f9={class:"md-provider"},m9={key:1,class:"md-divider"},v9={key:2,class:"md-section"},g9=["onClick"],h9={class:"md-check"},y9={class:"md-name"},k9={key:3,class:"md-divider"},b9={class:"md-name"},w9={key:0,class:"md-note"},S9=["aria-label"],C9=["disabled","onClick"],_9={class:"md-cache-note"},M9={class:"md-name"},$9={class:"drop-card"},Du=36,x9=Ee({__name:"Composer",props:{running:{type:Boolean,default:!1},starting:{type:Boolean,default:!1},sessionId:{},queued:{default:()=>[]},searchFiles:{type:Function,default:void 0},uploadImage:{type:Function,default:void 0},status:{},thinking:{},planMode:{type:Boolean},planArmed:{type:Boolean},swarmMode:{type:Boolean},supermoonMode:{type:Boolean},goalMode:{type:Boolean},goal:{},activationBadges:{},models:{default:()=>[]},starredIds:{default:()=>[]},skills:{default:()=>[]},hideContext:{type:Boolean}},emits:["submit","steer","command","interrupt","setPermission","setThinking","togglePlan","toggleSwarm","toggleSupermoon","toggleGoal","dismissPlan","focusGoal","compact","pickModel","selectModel"],setup(e,{expose:t,emit:n}){const s=e,o=T(hl(Na));let i=null;const u=M(()=>s.starting?f("composer.starting"):s.running?o.value?f("composer.placeholderRunningTouch"):f("composer.placeholderRunning"):s.goalMode?f("status.goalPlaceholder"):x.value?f("status.planPlaceholder"):f("composer.placeholder")),p=n,{t:f,locale:v}=Ye(),k=M(()=>s.planMode===!0),x=M(()=>Vc({planMode:k.value,planArmed:s.planArmed===!0})),g=M(()=>s.goal?.status??s.activationBadges?.goal?.status??null),m=M(()=>g.value!==null&&g.value!=="complete"),$=M(()=>m.value||s.goalMode===!0);function h(A){const _e=f(A==="swarm"?"status.swarmLabel":"status.supermoonLabel");return f("status.workModeDismiss",{mode:_e})}const{text:y,textareaRef:S,autosize:B,loadForEdit:b,clearDraft:P}=t6({sessionId:()=>s.sessionId}),E=T(!1);function R(){E.value=!E.value,Xe(()=>{B(),C(),S.value?.focus()})}function W(){E.value&&(E.value=!1,Xe(B))}function Q(A){if(typeof getComputedStyle>"u")return Du;const _e=Number.parseFloat(getComputedStyle(A).minHeight);return Number.isFinite(_e)&&_e>0?_e:Du}const V=T(!1);function C(){const A=S.value;V.value=!!A&&A.scrollHeight>Q(A)}Ne(y,()=>{Xe(C)}),Ne(()=>s.sessionId,()=>{E.value=!1,O.value=!1,te.value=!1});const D=XT({text:y,textareaRef:S,autosize:B,sessionId:()=>s.sessionId}),{open:O,matches:J,items:ve,active:me,query:ze,update:ie,select:le}=JT({text:y,textareaRef:S,autosize:B,skills:()=>s.skills,emitCommand:A=>p("command",A),historyPush:A=>D.push(A),clearDraft:P,resolveDesc:A=>A.isSkill?A.desc:f(A.desc)}),{open:te,items:re,active:se,loading:he,update:ae,select:F}=e6({text:y,textareaRef:S,autosize:B,searchFiles:()=>s.searchFiles,skills:()=>s.skills}),Y=l6();function ke(){D.resetBrowsing(),ie(),ae()}const we=T(null),Le=T(null);let Ze=null;function be(){Ze!==null&&(clearTimeout(Ze),Ze=null)}function pe(A){if(!A)return!1;const _e=we.value?.$el,$e=Le.value?.$el;return!!(O.value&&_e instanceof HTMLElement&&_e.contains(A)||te.value&&$e instanceof HTMLElement&&$e.contains(A))}function ne(A){pe(A.relatedTarget)||(be(),Ze=setTimeout(()=>{Ze=null,O.value=!1,te.value=!1},0))}const{attachments:Z,previewAttachment:oe,fileInputRef:K,isDragOver:Be,removeAttachment:Ve,openAttachmentPreview:yt,closeAttachmentPreview:dt,openFilePicker:Me,handleFileInputChange:xe,handleDragOver:Se,handleDragLeave:Ae,handleDrop:Je,clearAfterSubmit:ht,loadAttachments:qe}=s6({uploadImage:()=>s.uploadImage,sessionId:()=>s.sessionId});xt(()=>{i=sr(Na,A=>{o.value=A}),y.value&&Xe(()=>{B(),C()})}),kt(()=>{i?.(),i=null,document.removeEventListener("mousedown",ot),sn(),be()});function He(){S.value?.focus({preventScroll:!0})}function Ue(A){qe(A)}t({loadForEdit:b,loadAttachmentsForEdit:Ue,focus:He});function ct(A){return{fileId:A.fileId,kind:A.kind,name:A.name,mediaType:A.mediaType,size:A.size}}function it(){return Z.value.filter(A=>!A.uploading&&!A.error&&A.fileId!==void 0)}function Bt(A){if(A.kind==="file"){A.fileId!==void 0&&Jd(A.fileId,A.name,A.mediaType);return}yt(A)}function Ht(){const A=y.value.trim();if(Z.value.some(N=>N.uploading))return;const _e=it();if(!A&&_e.length===0)return;if(D.push(A),A){const N=UT(A),G=N?ap(s.skills).some(ce=>ce.name===N.cmd||ce.name===`/${Ji}${N.cmd.slice(1)}`):!1;if(N&&G){y.value="",P(),O.value=!1,W(),p("command",N.arg?`${N.cmd} ${N.arg}`:N.cmd,_e.length>0?_e.map(ce=>ct(ce)):void 0);return}}const $e={text:A,attachments:_e.map(N=>ct(N))};oe.value=null,ht(),y.value="",P(),O.value=!1,te.value=!1,W(),p("submit",$e)}function ln(){if(!s.running||Z.value.some(N=>N.uploading))return;const A=y.value.trim(),_e=it();if(!A&&_e.length===0&&s.queued.length===0)return;const $e={text:A,attachments:_e.map(N=>ct(N))};ht(),D.push(A),y.value="",P(),O.value=!1,te.value=!1,W(),p("steer",$e)}let ut=!1,nn=null;function sn(){nn!==null&&(clearTimeout(nn),nn=null)}function Un(){sn(),ut=!0}function Wt(){sn(),nn=setTimeout(()=>{nn=null,ut=!1},0)}function Nn(A){return ut||A.isComposing||A.keyCode===229}function rn(A){if(Nn(A))return;c6(A);const _e=hl(Na)&&!d6();if(A.key==="Escape"){if(Qt.value){A.preventDefault(),Ot();return}if(Ut.value){A.preventDefault(),Mn();return}if(Jt.value){A.preventDefault(),We();return}}if(O.value){if(A.key==="ArrowDown"){A.preventDefault(),me.value=(me.value+1)%ve.value.length;return}if(A.key==="ArrowUp"){A.preventDefault(),me.value=(me.value-1+ve.value.length)%ve.value.length;return}if(A.key==="Enter"||A.key==="Tab"){A.preventDefault();const $e=ve.value[me.value];$e&&le($e);return}if(A.key==="Escape"){A.preventDefault(),O.value=!1;return}}if(te.value&&!he.value){if(A.key==="ArrowDown"){A.preventDefault(),se.value=(se.value+1)%Math.max(1,re.value.length);return}if(A.key==="ArrowUp"){A.preventDefault(),se.value=(se.value-1+Math.max(1,re.value.length))%Math.max(1,re.value.length);return}if(A.key==="Enter"||A.key==="Tab"){A.preventDefault();const $e=re.value[se.value];$e&&F($e);return}if(A.key==="Escape"){A.preventDefault(),te.value=!1;return}}if(!_e&&A.key==="s"&&(A.ctrlKey||A.metaKey)&&!A.shiftKey&&!A.altKey){s.running&&(A.preventDefault(),ln());return}if(!E.value&&!O.value&&!te.value&&!A.shiftKey&&!A.altKey&&!A.metaKey&&!A.ctrlKey){const $e=D.isBrowsing();if(A.key==="ArrowUp"&&D.hasHistory()&&($e||D.caretAtTextStart())){A.preventDefault(),D.recallOlder();return}if(A.key==="ArrowDown"&&$e){A.preventDefault(),D.recallNewer();return}}if(A.key==="Enter"&&!A.shiftKey){if(E.value&&!(A.metaKey||A.ctrlKey)||_e)return;A.preventDefault(),Ht()}}const os=M(()=>f("composer.send")),Vn=M(()=>!!s.uploadImage),Qt=T(!1),Ut=T(!1),kn=T(null);function jn(){Qt.value=!Qt.value,Qt.value?(Ut.value=!1,We(),document.addEventListener("click",Zt,!0)):document.removeEventListener("click",Zt,!0)}function Ot(){Qt.value=!1,Ut.value||document.removeEventListener("click",Zt,!0)}function pn(){Ut.value=!Ut.value,Ut.value?(Qt.value=!1,We(),document.addEventListener("click",Zt,!0)):document.removeEventListener("click",Zt,!0)}function Mn(){Ut.value=!1,Qt.value||document.removeEventListener("click",Zt,!0)}function Zt(A){kn.value&&!kn.value.contains(A.target)&&(Ot(),Mn())}kt(()=>{document.removeEventListener("click",Zt,!0)});const $n=M(()=>{const A=s.status?.ctxMax??0;return A<=0?0:Math.min(100,Math.max(0,Math.ceil((s.status?.ctxUsed??0)/A*100)))}),Ct=M(()=>{const A=fs(s.status?.ctxUsed??0),_e=fs(s.status?.ctxMax??0);return f("status.ctxTooltip",{used:A,max:_e,pct:$n.value})}),on=M(()=>$n.value>=80),Xt=M(()=>s.status?rp(s.status.modelId)||s.status.modelId===tr:!1),_t=M(()=>s.models?.find(A=>A.id===s.status?.modelId)),bn=M(()=>sa(_t.value)),Pt=M(()=>oa(_t.value)),un=M(()=>ri(_t.value,s.thinking)),On=M(()=>Pt.value.includes(un.value)?un.value:""),vn=M(()=>uw(un.value)),wn=M(()=>bn.value==="unsupported"||Pt.value.length<=1),gn=M(()=>{if(!vn.value)return"";const A=(_t.value?.supportEfforts?.length??0)>0,_e=un.value;return A&&_e!=="on"?f("composer.thinkingSuffixEffort",{level:_e}):f("composer.thinkingSuffix")});function zn(A){wn.value||p("setThinking",Vl(_t.value,A))}function xn(A){return A==="on"?f("status.thinkingOn"):A==="off"?f("status.thinkingOff"):ol(A)}const cn=M(()=>s.swarmMode===!0),fn=M(()=>s.supermoonMode===!0),Jt=T(!1),Kn=T(null),Ce=T(null),ge=T({});function We(){Jt.value=!1,document.removeEventListener("mousedown",ot)}function ot(A){const _e=A.target;Kn.value?.contains(_e)||Ce.value?.contains(_e)||We()}function zt(){if(Jt.value){We();return}Ot(),Mn();const A=Kn.value?.getBoundingClientRect();A&&(ge.value={left:`${Math.round(A.left)}px`,bottom:`${Math.round(window.innerHeight-A.top+8)}px`}),Jt.value=!0,A&&Xe(()=>{const _e=Ce.value;if(!_e)return;const $e=Math.max(8,Math.min(A.left,window.innerWidth-_e.offsetWidth-8));ge.value={...ge.value,left:`${Math.round($e)}px`}}),setTimeout(()=>{Y.value||document.addEventListener("mousedown",ot)},0)}function Ft(){We(),p("togglePlan")}function Rt(){We(),m.value?p("focusGoal"):p("toggleGoal")}function Tt(){We(),p("toggleSwarm")}function Yt(){We(),p("toggleSupermoon")}const It=[{mode:"manual",color:"var(--dim)",labelKey:"status.permissionManual",descKey:"status.permissionManualDesc"},{mode:"yolo",color:"var(--color-warning)",labelKey:"status.permissionYolo",descKey:"status.permissionYoloDesc"},{mode:"auto",color:"var(--color-danger)",labelKey:"status.permissionAuto",descKey:"status.permissionAutoDesc"}],Tn=["composer.addPlanDesc","composer.addGoalDesc","composer.addSwarmDesc","composer.addSupermoonDesc"],gs=M(()=>[{key:"plan",icon:"file-edit",label:f("status.planLabel"),desc:f("composer.addPlanDesc"),current:x.value,pick:Ft},{key:"goal",icon:"target",label:f("status.goalLabel"),desc:f("composer.addGoalDesc"),current:$.value,pick:Rt},{key:"swarm",icon:"sparkles",label:f("status.swarmLabel"),desc:f("composer.addSwarmDesc"),current:cn.value,pick:Tt},{key:"supermoon",icon:"moon-stars",label:f("status.supermoonLabel"),desc:f("composer.addSupermoonDesc"),current:fn.value,pick:Yt}]),In=T(null),is=T(""),Gn=T("");function hs(A){const _e={};return A&&(_e["--composer-menu-desc-width"]=A),_e}const ys=M(()=>hs(is.value)),$s=M(()=>hs(Gn.value)),xs=M(()=>({...ge.value,...$s.value}));let An=null;function qs(A){const _e=Number.parseFloat(A);return Number.isFinite(_e)?_e:0}function oo(A){return`${A.fontStyle||"normal"} ${A.fontWeight||"400"} ${A.fontSize} ${A.fontFamily}`}function io(A){return A.letterSpacing==="normal"?0:qs(A.letterSpacing)}function as(A,_e){if(!A)return 0;const $e=Fp(A,oo(_e),{letterSpacing:io(_e)});return Np($e)}function ao(){const A=In.value?.querySelector(".pd-desc");if(!A)return;const _e=getComputedStyle(A),$e=Math.max(0,...It.map(nt=>as(f(nt.descKey),_e))),N=Math.max(0,...Tn.map(nt=>as(f(nt),_e))),G=window.innerWidth-96,ce=nt=>G>0?Math.min(nt,G):nt;is.value=$e>0?`${Math.ceil(ce($e))}px`:"",Gn.value=N>0?`${Math.ceil(ce(N))}px`:""}function Ts(){typeof window>"u"||(An!==null&&window.cancelAnimationFrame(An),Xe(()=>{An=window.requestAnimationFrame(()=>{An=null,ao()})}))}Ne(v,Ts,{immediate:!0}),xt(()=>{Ts(),document.fonts?.ready.then(Ts)}),kt(()=>{An!==null&&(window.cancelAnimationFrame(An),An=null)});function Is(A){p("setPermission",A),Mn()}const ks=M(()=>It.find(A=>A.mode===s.status?.permission)),Hs=M(()=>ks.value?f(ks.value.labelKey):""),Qn=M(()=>_t.value?.provider??""),Yn=M(()=>!Qn.value||!s.models?.length?[]:s.models.filter(A=>A.provider===Qn.value)),ls=M(()=>new Set(s.starredIds??[]));function Zn(A){return ls.value.has(A)}const Ie=M(()=>s.models?.length?s.models.filter(A=>Zn(A.id)&&A.provider!==Qn.value):[]);function U(A){p("selectModel",A),Ot()}return(A,_e)=>(l(),c("div",{class:fe(["composer",{"drag-over":a(Be),expanded:E.value}]),onDragover:_e[25]||(_e[25]=(...$e)=>a(Se)&&a(Se)(...$e)),onDragleave:_e[26]||(_e[26]=(...$e)=>a(Ae)&&a(Ae)(...$e)),onDrop:_e[27]||(_e[27]=(...$e)=>a(Je)&&a(Je)(...$e))},[a(Z).length>0?(l(),c("div",C6,[(l(!0),c(de,null,Pe(a(Z),$e=>(l(),q(Yd,{key:$e.localId,kind:$e.kind,name:$e.name,url:$e.previewUrl,"file-id":$e.fileId,"media-type":$e.mediaType,size:$e.size,uploading:$e.uploading,error:$e.error,removable:"","remove-label":a(f)("composer.removeNamed",{name:$e.name}),onActivate:N=>Bt($e),onRemove:N=>a(Ve)($e.localId)},null,8,["kind","name","url","file-id","media-type","size","uploading","error","remove-label","onActivate","onRemove"]))),128))])):I("",!0),a(oe)?(l(),c("div",{key:1,class:"att-lightbox",onClick:_e[1]||(_e[1]=Oe((...$e)=>a(dt)&&a(dt)(...$e),["self"]))},[r("div",_6,[w(gt,{text:a(f)("model.close")},{default:L(()=>[r("button",{type:"button",class:"att-lightbox-close",onClick:_e[0]||(_e[0]=(...$e)=>a(dt)&&a(dt)(...$e))},"✕")]),_:1},8,["text"]),a(oe).kind==="video"?(l(),c("video",{key:0,class:"att-lightbox-media",src:a(oe).previewUrl,controls:"",playsinline:""},null,8,M6)):(l(),c("img",{key:1,class:"att-lightbox-media",src:a(oe).previewUrl,alt:a(oe).name},null,8,$6)),r("div",x6,d(a(oe).name),1)])])):I("",!0),r("div",T6,[r("div",I6,[a(O)?(l(),c(de,{key:0},[a(Y)?(l(),q(ss,{key:0,to:"body"},[w(Fo,{modelValue:a(O),"onUpdate:modelValue":_e[3]||(_e[3]=$e=>da(O)?O.value=$e:null),title:a(f)("mobile.slashMenuTitle")},{default:L(()=>[w(Eu,{matches:a(J),query:a(ze),"active-index":a(me),sheet:"",onSelect:a(le),onHover:_e[2]||(_e[2]=$e=>me.value=$e)},null,8,["matches","query","active-index","onSelect"])]),_:1},8,["modelValue","title"])])):(l(),q(Eu,{key:1,ref_key:"slashMenuRef",ref:we,matches:a(J),query:a(ze),"active-index":a(me),onSelect:a(le),onHover:_e[4]||(_e[4]=$e=>me.value=$e)},null,8,["matches","query","active-index","onSelect"]))],64)):I("",!0),a(te)?(l(),c(de,{key:1},[a(Y)?(l(),q(ss,{key:0,to:"body"},[w(Fo,{modelValue:a(te),"onUpdate:modelValue":_e[6]||(_e[6]=$e=>da(te)?te.value=$e:null),title:a(f)("mobile.mentionMenuTitle")},{default:L(()=>[w(Ru,{items:a(re),"active-index":a(se),loading:a(he),sheet:"",onSelect:a(F),onHover:_e[5]||(_e[5]=$e=>se.value=$e)},null,8,["items","active-index","loading","onSelect"])]),_:1},8,["modelValue","title"])])):(l(),q(Ru,{key:1,ref_key:"mentionMenuRef",ref:Le,items:a(re),"active-index":a(se),loading:a(he),onSelect:a(F),onHover:_e[7]||(_e[7]=$e=>se.value=$e)},null,8,["items","active-index","loading","onSelect"]))],64)):I("",!0),r("div",A6,[wt(r("textarea",{ref_key:"textareaRef",ref:S,"onUpdate:modelValue":_e[8]||(_e[8]=$e=>da(y)?y.value=$e:null),class:"ph",placeholder:u.value,disabled:e.starting,rows:"1",onKeydown:rn,onCompositionstart:Un,onCompositionend:Wt,onInput:ke,onBlur:ne},null,40,P6),[[Dn,a(y)]]),E.value||V.value?(l(),c("button",{key:0,class:"expand-btn",type:"button","aria-label":E.value?a(f)("composer.collapseTitle"):a(f)("composer.expandTitle"),onClick:R},[E.value?(l(),q(X,{key:0,name:"collapse",size:"sm"})):(l(),q(X,{key:1,name:"expand",size:"sm"}))],8,E6)):I("",!0)])]),Vn.value?(l(),c("input",{key:0,ref_key:"fileInputRef",ref:K,type:"file",multiple:"",class:"file-input-hidden",onChange:_e[9]||(_e[9]=(...$e)=>a(xe)&&a(xe)(...$e))},null,544)):I("",!0),r("div",{ref_key:"toolbarRef",ref:kn,class:"toolbar"},[r("div",{ref_key:"menuMeasureRef",ref:In,class:"menu-measure","aria-hidden":"true"},[..._e[28]||(_e[28]=[r("span",{class:"pd-desc"},null,-1)])],512),r("div",B6,[Vn.value?(l(),q(lt,{key:0,size:"md",label:a(f)("composer.attachFile"),onClick:a(Me)},{default:L(()=>[w(X,{name:"attachment"})]),_:1},8,["label","onClick"])):I("",!0),e.status?(l(),c("span",{key:1,class:fe(["perm-pill",["perm-"+e.status.permission,{open:Ut.value}]]),role:"button",tabindex:"0",onClick:Oe(pn,["stop"]),onKeydown:[Cn(pn,["enter"]),Cn(Oe(pn,["prevent"]),["space"])]},d(Hs.value),43,R6)):I("",!0),Ut.value&&e.status?(l(),c("div",{key:2,class:"perm-dropdown",style:vt(ys.value),role:"menu",onClick:_e[10]||(_e[10]=Oe(()=>{},["stop"]))},[(l(),c(de,null,Pe(It,$e=>r("button",{key:$e.mode,class:fe(["pd-row",{"is-current":$e.mode===e.status.permission}]),role:"menuitem",onClick:N=>Is($e.mode)},[r("span",D6,[$e.mode===e.status.permission?(l(),q(X,{key:0,name:"check",size:"sm"})):I("",!0)]),r("span",O6,[r("span",{class:"pd-name",style:vt({color:$e.color})},d(a(f)($e.labelKey)),5),r("span",z6,d(a(f)($e.descKey)),1)])],10,L6)),64))],4)):I("",!0),e.status?(l(),c("span",{key:3,ref_key:"addMenuRef",ref:Kn,class:"add-menu-anchor"},[w(lt,{size:"md",label:a(f)("composer.addMenu"),class:fe({"is-open":Jt.value}),onClick:zt},{default:L(()=>[w(X,{name:"plus"})]),_:1},8,["label","class"])],512)):I("",!0),(l(),q(ss,{to:"body"},[Jt.value&&a(Y)?(l(),q(Fo,{key:0,modelValue:Jt.value,"onUpdate:modelValue":_e[11]||(_e[11]=$e=>Jt.value=$e),title:a(f)("mobile.addMenuTitle")},{default:L(()=>[(l(!0),c(de,null,Pe(gs.value,$e=>(l(),c("button",{key:$e.key,type:"button",class:fe(["pd-row",{"is-current":$e.current}]),role:"menuitem",onClick:$e.pick},[r("span",N6,[w(X,{name:$e.icon,size:"sm"},null,8,["name"])]),r("span",W6,[r("span",q6,d($e.label),1),r("span",H6,d($e.desc),1)])],10,F6))),128))]),_:1},8,["modelValue","title"])):Jt.value?(l(),c("div",{key:1,ref_key:"addMenuPopupRef",ref:Ce,class:"add-menu",style:vt(xs.value),role:"menu"},[(l(!0),c(de,null,Pe(gs.value,$e=>(l(),c("button",{key:$e.key,type:"button",class:fe(["pd-row",{"is-current":$e.current}]),role:"menuitem",onClick:$e.pick},[r("span",V6,[w(X,{name:$e.icon,size:"sm"},null,8,["name"])]),r("span",j6,[r("span",K6,d($e.label),1),r("span",G6,d($e.desc),1)])],10,U6))),128))],4)):I("",!0)])),e.status?(l(),c("span",{key:4,class:fe(["mode-chip",{on:x.value}])},[r("button",{type:"button",class:"mode-chip-main","aria-pressed":x.value,onClick:_e[12]||(_e[12]=$e=>p("togglePlan"))},[w(X,{name:"file-edit",size:"sm"}),r("span",null,d(a(f)("status.planLabel")),1)],8,Q6),x.value?(l(),c("button",{key:0,type:"button",class:"mode-chip-x","aria-label":a(f)("status.workModeDismiss",{mode:a(f)("status.planLabel")}),onClick:_e[13]||(_e[13]=$e=>p("dismissPlan"))},[w(X,{name:"close",size:"sm"})],8,Y6)):I("",!0)],2)):I("",!0),e.status?(l(),c("span",{key:5,class:fe(["mode-chip",{on:$.value}])},[r("button",{type:"button",class:"mode-chip-main","aria-pressed":$.value,onClick:_e[14]||(_e[14]=$e=>m.value?p("focusGoal"):p("toggleGoal"))},[w(X,{name:"target",size:"sm"}),r("span",null,d(a(f)("status.goalLabel")),1)],8,Z6),e.goalMode?(l(),c("button",{key:0,type:"button",class:"mode-chip-x","aria-label":a(f)("status.workModeDismiss",{mode:a(f)("status.goalLabel")}),onClick:_e[15]||(_e[15]=$e=>p("toggleGoal"))},[w(X,{name:"close",size:"sm"})],8,X6)):I("",!0)],2)):I("",!0),e.status?(l(),c("span",{key:6,class:fe(["mode-chip",{on:cn.value}])},[r("button",{type:"button",class:"mode-chip-main","aria-pressed":cn.value,onClick:_e[16]||(_e[16]=$e=>p("toggleSwarm"))},[w(X,{name:"sparkles",size:"sm"}),r("span",null,d(a(f)("status.swarmLabel")),1)],8,J6),cn.value?(l(),c("button",{key:0,type:"button",class:"mode-chip-x","aria-label":h("swarm"),onClick:_e[17]||(_e[17]=$e=>p("toggleSwarm"))},[w(X,{name:"close",size:"sm"})],8,e9)):I("",!0)],2)):I("",!0),e.status?(l(),c("span",{key:7,class:fe(["mode-chip",{on:fn.value}])},[r("button",{type:"button",class:"mode-chip-main","aria-pressed":fn.value,onClick:_e[18]||(_e[18]=$e=>p("toggleSupermoon"))},[w(X,{name:"moon-stars",size:"sm"}),r("span",null,d(a(f)("status.supermoonLabel")),1)],8,t9),fn.value?(l(),c("button",{key:0,type:"button",class:"mode-chip-x","aria-label":h("supermoon"),onClick:_e[19]||(_e[19]=$e=>p("toggleSupermoon"))},[w(X,{name:"close",size:"sm"})],8,n9)):I("",!0)],2)):I("",!0)]),r("div",s9,[on.value?(l(),c("button",{key:0,class:"compact-chip",onClick:_e[20]||(_e[20]=Oe($e=>p("compact"),["stop"]))},"/compact")):I("",!0),w(gt,{text:Ct.value},{default:L(()=>[e.status&&!e.hideContext?(l(),c("span",{key:0,class:"ctx-group",role:"img",tabindex:"0","aria-label":Ct.value},[w(S6,{pct:$n.value},null,8,["pct"])],8,o9)):I("",!0)]),_:1},8,["text"]),e.status?(l(),c("span",{key:1,class:fe(["model-pill",{open:Qt.value}]),role:"button",tabindex:"0",onClick:Oe(jn,["stop"]),onKeydown:[Cn(jn,["enter"]),Cn(Oe(jn,["prevent"]),["space"])]},[r("b",null,d(e.status.model),1),gn.value?(l(),c("span",a9,d(gn.value),1)):I("",!0),w(X,{class:"cv",name:"chevron-down",size:"sm"})],42,i9)):I("",!0),e.running?(l(),q(gt,{key:2,text:a(f)("composer.interruptTitle")},{default:L(()=>[r("button",{class:"stop","aria-label":a(f)("composer.interrupt"),onClick:_e[21]||(_e[21]=$e=>p("interrupt"))},[w(X,{name:"stop",size:"sm"})],8,l9)]),_:1},8,["text"])):I("",!0),r("button",{class:fe(["send",{"is-starting":e.starting}]),"aria-label":os.value,title:Xt.value?a(f)("composer.noModelGate"):void 0,disabled:e.starting,onClick:_e[22]||(_e[22]=$e=>Ht())},[e.starting?(l(),q(Gt,{key:0,size:"sm"})):(l(),q(X,{key:1,name:"send",size:"sm"}))],10,r9)]),Qt.value&&e.status?(l(),c("div",{key:0,class:"model-dropdown",role:"menu",onClick:_e[24]||(_e[24]=Oe(()=>{},["stop"]))},[Ie.value.length>0?(l(),c("div",u9,d(a(f)("status.starredModels")),1)):I("",!0),(l(!0),c(de,null,Pe(Ie.value,$e=>(l(),c("button",{key:$e.id,class:fe(["md-row",{"is-current":$e.id===e.status.modelId}]),role:"menuitem",onClick:N=>U($e.id)},[r("span",d9,[$e.id===e.status.modelId?(l(),q(X,{key:0,name:"check",size:"sm"})):I("",!0)]),r("span",p9,d($e.displayName??$e.model),1),r("span",f9,d($e.provider),1),w(X,{class:"md-star",name:"star",size:"sm"})],10,c9))),128)),Ie.value.length>0?(l(),c("div",m9)):I("",!0),Yn.value.length>0?(l(),c("div",v9,d(Qn.value),1)):I("",!0),(l(!0),c(de,null,Pe(Yn.value,$e=>(l(),c("button",{key:$e.id,class:fe(["md-row",{"is-current":$e.id===e.status.modelId}]),role:"menuitem",onClick:N=>U($e.id)},[r("span",h9,[$e.id===e.status.modelId?(l(),q(X,{key:0,name:"check",size:"sm"})):I("",!0)]),r("span",y9,d($e.displayName??$e.model),1),Zn($e.id)?(l(),q(X,{key:0,class:"md-star",name:"star",size:"sm"})):I("",!0)],10,g9))),128)),Yn.value.length>0?(l(),c("div",k9)):I("",!0),r("div",{class:fe(["md-thinking",{"is-readonly":wn.value}])},[r("span",b9,d(a(f)("status.thinkingLabel")),1),bn.value==="unsupported"?(l(),c("span",w9,d(a(f)("status.modeNotSupported")),1)):(l(),c("div",{key:1,class:"effort-segments",role:"group","aria-label":a(f)("status.thinkingLabel")},[(l(!0),c(de,null,Pe(Pt.value,$e=>(l(),c("button",{key:$e,type:"button",class:fe(["effort-seg",{"is-active":$e===On.value}]),disabled:wn.value,onClick:N=>zn($e)},d(xn($e)),11,C9))),128))],8,S9))],2),_e[29]||(_e[29]=r("div",{class:"md-divider"},null,-1)),r("div",_9,d(a(f)("status.cacheNote")),1),_e[30]||(_e[30]=r("div",{class:"md-divider"},null,-1)),r("button",{class:"md-row md-row-more",role:"menuitem",onClick:_e[23]||(_e[23]=$e=>{Ot(),p("pickModel")})},[r("span",M9,d(a(f)("status.moreModels")),1)])])):I("",!0)],512)]),r("div",{class:fe(["drop-overlay",{show:a(Be)}]),"aria-hidden":"true"},[r("div",$9,[w(X,{name:"file-plus",size:"lg"}),r("span",null,d(a(f)("composer.dropToAttach")),1)])],2)],34))}}),dp=Re(x9,[["__scopeId","data-v-67e4d9ee"]]),T9={key:0,class:"ui-card__head"},I9={class:"ui-card__body"},A9={key:1,class:"ui-card__foot"},P9=Ee({__name:"Card",props:{elevated:{type:Boolean,default:!1}},setup(e){return(t,n)=>(l(),c("div",{class:fe(["ui-card",{"is-elevated":e.elevated}])},[t.$slots.head?(l(),c("div",T9,[At(t.$slots,"head",{},void 0,!0)])):I("",!0),r("div",I9,[At(t.$slots,"default",{},void 0,!0)]),t.$slots.foot?(l(),c("div",A9,[At(t.$slots,"foot",{},void 0,!0)])):I("",!0)],2))}}),or=Re(P9,[["__scopeId","data-v-9c9f9a9a"]]),E9={class:"goal-kicker"},B9={key:0,class:"goal-progress","aria-hidden":"true"},R9={class:"goal-full"},L9={key:0,class:"goal-criterion"},D9=["inert","aria-hidden"],O9={class:"goal-meta"},z9={key:0},F9={class:"goal-actions"},N9=Ee({__name:"GoalStrip",props:{goal:{},forceExpanded:{}},emits:["controlGoal"],setup(e,{emit:t}){const n=e,s=t,{t:o}=Ye(),{confirm:i}=xo(),u=T(!1);Ne(()=>n.forceExpanded,()=>{n.forceExpanded!==void 0&&(u.value=!0)});const p=M(()=>{const x=n.goal.budget.tokenBudget;return!x||x<=0?0:Math.max(0,Math.min(100,Math.round(n.goal.tokensUsed/x*100)))});function f(x){switch(x){case"active":return o("status.goalStatusActive");case"paused":return o("status.goalStatusPaused");case"blocked":return o("status.goalStatusBlocked");case"complete":return o("status.goalStatusComplete")}}function v(x){const g=Math.max(0,Math.round(x/1e3)),m=Math.floor(g/60),$=g%60;return m<=0?`${$}s`:m<60?`${m}m ${$}s`:`${Math.floor(m/60)}h ${m%60}m`}async function k(){await i({title:o("status.goalCancel"),message:o("status.goalCancelConfirm"),confirmLabel:o("status.goalCancelConfirmYes"),cancelLabel:o("status.goalCancelConfirmNo"),variant:"danger"})&&s("controlGoal","cancel")}return(x,g)=>(l(),q(or,{class:fe(["goal-strip",{expanded:u.value}])},{head:L(()=>[r("button",{class:"goal-row",type:"button",onClick:g[0]||(g[0]=m=>u.value=!u.value)},[w(X,{class:"goal-icon",name:"target",size:"md"}),r("span",E9,d(a(o)("status.goalLabel")),1),r("span",{class:fe(["goal-objective",{"expanded-hidden":u.value}])},d(e.goal.objective),3),w(Et,{variant:e.goal.status==="active"?"success":e.goal.status==="blocked"?"danger":e.goal.status==="paused"?"warning":"neutral",size:"sm",class:"goal-status"},{default:L(()=>[ee(d(f(e.goal.status)),1)]),_:1},8,["variant"]),e.goal.budget.tokenBudget!==null?(l(),c("span",B9,[r("span",{class:"goal-progress-fill",style:vt({width:`${p.value}%`})},null,4)])):I("",!0),w(X,{class:fe(["goal-chevron",{open:u.value}]),name:"chevron-right",size:"md"},null,8,["class"])])]),default:L(()=>[r("div",R9,d(e.goal.objective),1),e.goal.completionCriterion?(l(),c("div",L9,[r("span",null,d(a(o)("workspace.doneWhen")),1),r("p",null,d(e.goal.completionCriterion),1)])):I("",!0)]),foot:L(()=>[r("div",{class:"goal-footer",inert:!u.value,"aria-hidden":!u.value},[r("div",O9,[r("span",null,d(e.goal.turnsUsed)+" turns",1),r("span",null,d(a(fs)(e.goal.tokensUsed))+" tokens",1),r("span",null,d(v(e.goal.wallClockMs)),1),e.goal.budget.tokenBudget!==null?(l(),c("span",z9,d(p.value)+"% token budget",1)):I("",!0)]),r("div",F9,[e.goal.status==="active"?(l(),q(je,{key:0,size:"sm",variant:"secondary",class:"goal-action",onClick:g[1]||(g[1]=Oe(m=>s("controlGoal","pause"),["stop"]))},{default:L(()=>[w(X,{name:"pause",size:"md"}),r("span",null,d(a(o)("status.goalPause")),1)]),_:1})):I("",!0),e.goal.status==="paused"||e.goal.status==="blocked"?(l(),q(je,{key:1,size:"sm",variant:"primary",class:"goal-action",onClick:g[2]||(g[2]=Oe(m=>s("controlGoal","resume"),["stop"]))},{default:L(()=>[w(X,{name:"play",size:"md"}),r("span",null,d(a(o)("status.goalResume")),1)]),_:1})):I("",!0),w(je,{size:"sm",variant:"danger-soft",class:"goal-action",onClick:Oe(k,["stop"])},{default:L(()=>[w(X,{name:"close",size:"md"}),r("span",null,d(a(o)("status.goalCancel")),1)]),_:1})])],8,D9)]),_:1},8,["class"]))}}),W9=Re(N9,[["__scopeId","data-v-9e444f61"]]),q9={class:"qh"},H9={class:"qtitle"},U9={key:0,class:"qstep"},V9={key:1,class:"qmin-peek"},j9=["aria-label"],K9=["aria-selected","aria-label","onClick"],G9={class:"qstep-num"},Q9={key:1,class:"qheader-chip"},Y9={class:"qtext"},Z9={class:"qopts"},X9=["onClick"],J9={class:"qopt-key"},eI={class:"qopt-glyph"},tI={key:0,class:"chk"},nI={key:1,class:"rad"},sI={class:"qopt-text"},oI={class:"qopt-label"},iI={key:0,class:"qopt-desc"},aI={class:"qopt-glyph"},lI={key:0,class:"chk"},rI={key:1,class:"rad"},uI={class:"qopt-label"},cI=["placeholder"],dI={class:"qfoot"},pI=Ee({__name:"QuestionCard",props:{question:{},busyKind:{}},emits:["answer","dismiss"],setup(e,{emit:t}){const n=e,{t:s}=Ye(),o=t,i=T(0),u=T(!1),p=M(()=>n.question.questions[i.value]),f=M(()=>n.question.questions.length);function v(){i.value>0&&i.value--}function k(){i.value=0&&ie{await Xe(),g.value?.scrollTo({top:0})});function m(ie){const le=h.value[ie];return le?le.kind==="multi"?le.optionIds.length>0:le.kind==="multiWithOther"?le.optionIds.length>0||le.otherText.trim().length>0:le.kind==="other"?le.text.trim().length>0:!0:!1}function $(){return m(p.value.id)}const h=T({});function y(ie){return ie.recommended===!0?!0:/\b(?:recommended|recommend)\b|推荐/.test(`${ie.label} ${ie.description??""}`.toLowerCase())}function S(){const ie={...h.value};let le=!1;for(const te of n.question.questions){if(ie[te.id])continue;const re=te.options.filter(y);re.length!==0&&(ie[te.id]=te.multiSelect?{kind:"multi",optionIds:re.map(se=>se.id)}:{kind:"single",optionId:re[0].id},le=!0)}le&&(h.value=ie)}Ne(()=>n.question.questionId,()=>{i.value=0,u.value=!1,h.value={},P.value={}}),Ne(()=>n.question,()=>{i.value>=n.question.questions.length&&(i.value=0),S()},{immediate:!0,deep:!0});function B(ie,le){const te=h.value[ie];if(te&&te.kind==="single"&&te.optionId===le){const re={...h.value};delete re[ie],h.value=re}else h.value={...h.value,[ie]:{kind:"single",optionId:le}}}function b(ie,le){const te=h.value[ie],re=te&&(te.kind==="multi"||te.kind==="multiWithOther")?te.kind==="multi"?[...te.optionIds]:[...te.optionIds]:[],se=re.indexOf(le);se>=0?re.splice(se,1):re.push(le);const he=h.value[ie],ae=he&&he.kind==="multiWithOther"?he.otherText:"";ae?h.value={...h.value,[ie]:{kind:"multiWithOther",optionIds:re,otherText:ae}}:h.value={...h.value,[ie]:{kind:"multi",optionIds:re}}}const P=T({}),E=T(null);function R(ie){const le=n.question.questions.find(re=>re.id===ie);if(!le)return;const te=P.value[ie]??"";if(le.multiSelect){const re=h.value[ie],se=re&&(re.kind==="multi"||re.kind==="multiWithOther")?re.kind==="multi"?[...re.optionIds]:[...re.optionIds]:[];h.value={...h.value,[ie]:{kind:"multiWithOther",optionIds:se,otherText:te}}}else h.value={...h.value,[ie]:{kind:"other",text:te}}}function W(ie){R(ie),Xe(()=>E.value?.focus())}function Q(ie,le){const te=h.value[ie];return te?te.kind==="single"?te.optionId===le:te.kind==="multi"||te.kind==="multiWithOther"?te.optionIds.includes(le):!1:!1}function V(ie){const le=h.value[ie];return!!(le&&(le.kind==="other"||le.kind==="multiWithOther"))}function C(){return n.question.questions.every(ie=>m(ie.id))}const D=M(()=>n.busyKind==="answer"),O=M(()=>n.busyKind==="dismiss"),J=M(()=>!!n.busyKind);function ve(){if(J.value||!C())return;const ie={answers:h.value,method:"click"};o("answer",n.question.questionId,ie)}function me(){J.value||o("dismiss",n.question.questionId)}function ze(ie){const le=(document.activeElement?.tagName??"").toLowerCase(),te=le==="input"||le==="textarea";if(J.value)return;if(ie.key==="Enter"){if(ie.preventDefault(),u.value)return;i.value=1&&re<=9){ie.preventDefault();const se=p.value,he=re-1,ae=se.options[he];ae&&(se.multiSelect?b(se.id,ae.id):B(se.id,ae.id))}}return xt(()=>document.addEventListener("keydown",ze)),kt(()=>document.removeEventListener("keydown",ze)),(ie,le)=>(l(),q(or,{class:fe(["qcard",{minimized:u.value}])},tc({head:L(()=>[r("div",q9,[le[5]||(le[5]=r("span",{class:"qh-ic"},"?",-1)),r("span",H9,d(a(s)("question.title")),1),f.value>1&&!u.value?(l(),c("span",U9,d(a(s)("question.step",{current:i.value+1,total:f.value})),1)):I("",!0),u.value?(l(),c("span",V9,d(p.value.question),1)):I("",!0),w(lt,{class:"qmin",size:"sm",label:u.value?a(s)("question.expand"):a(s)("question.minimize"),onClick:le[0]||(le[0]=te=>u.value=!u.value)},{default:L(()=>[u.value?(l(),q(X,{key:0,name:"chevron-up",size:"md"})):(l(),q(X,{key:1,name:"minus",size:"md"}))]),_:1},8,["label"])])]),_:2},[u.value?void 0:{name:"default",fn:L(()=>[r("div",{ref_key:"bodyScrollRef",ref:g,class:"qbody"},[f.value>1?(l(),c("div",{key:0,class:"qsteps",role:"tablist","aria-label":a(s)("question.step",{current:i.value+1,total:f.value})},[(l(!0),c(de,null,Pe(n.question.questions,(te,re)=>(l(),c("button",{key:te.id,type:"button",class:fe(["qstep-dot",{active:re===i.value,answered:m(te.id)}]),"aria-selected":re===i.value,"aria-label":a(s)("question.step",{current:re+1,total:f.value}),onClick:se=>x(re)},[r("span",G9,d(re+1),1)],10,K9))),128))],8,j9)):I("",!0),p.value.header?(l(),c("div",Q9,[w(Et,{variant:"neutral",size:"sm"},{default:L(()=>[ee(d(p.value.header),1)]),_:1})])):I("",!0),r("div",Y9,d(p.value.question),1),p.value.body?(l(),q(ki,{key:2,text:p.value.body,class:"qmdbody"},null,8,["text"])):I("",!0),r("div",Z9,[(l(!0),c(de,null,Pe(p.value.options,(te,re)=>(l(),c("label",{key:te.id,class:fe(["qopt",{selected:Q(p.value.id,te.id)}]),onClick:Oe(se=>p.value.multiSelect?b(p.value.id,te.id):B(p.value.id,te.id),["prevent"])},[r("span",J9,d(re+1),1),r("span",eI,[p.value.multiSelect?(l(),c("span",tI,d(Q(p.value.id,te.id)?"■":"□"),1)):(l(),c("span",nI,d(Q(p.value.id,te.id)?"●":"○"),1))]),r("span",sI,[r("span",oI,d(te.label),1),te.description?(l(),c("span",iI,d(te.description),1)):I("",!0)])],10,X9))),128)),p.value.allowOther?(l(),c("label",{key:0,class:fe(["qopt",{selected:V(p.value.id)}]),onClick:le[4]||(le[4]=Oe(te=>W(p.value.id),["prevent"]))},[le[6]||(le[6]=r("span",{class:"qopt-key"},null,-1)),r("span",aI,[p.value.multiSelect?(l(),c("span",lI,d(V(p.value.id)?"■":"□"),1)):(l(),c("span",rI,d(V(p.value.id)?"●":"○"),1))]),r("span",uI,d(p.value.otherLabel??a(s)("question.otherDefault")),1),wt(r("input",{ref_key:"otherInputEl",ref:E,"onUpdate:modelValue":le[1]||(le[1]=te=>P.value[p.value.id]=te),class:"other-input",type:"text",placeholder:p.value.otherLabel??a(s)("question.otherDefault"),onInput:le[2]||(le[2]=te=>R(p.value.id)),onFocus:le[3]||(le[3]=te=>R(p.value.id))},null,40,cI),[[Dn,P.value[p.value.id]]])],2)):I("",!0)])],512)]),key:"0"},u.value?void 0:{name:"foot",fn:L(()=>[r("div",dI,[i.value[ee(d(a(s)("question.nextQuestion")),1)]),_:1},8,["disabled"])):(l(),q(je,{key:1,class:"qfoot-btn qfoot-main",size:"sm",variant:"primary",disabled:!C(),loading:D.value,onClick:ve},{default:L(()=>[ee(d(a(s)("question.submit")),1)]),_:1},8,["disabled","loading"])),f.value>1?(l(),q(je,{key:2,class:"qfoot-btn",size:"sm",variant:"secondary",disabled:i.value===0||J.value,onClick:v},{default:L(()=>[ee(d(a(s)("question.back")),1)]),_:1},8,["disabled"])):I("",!0),w(je,{class:"qfoot-btn",size:"sm",variant:"ghost",loading:O.value,disabled:J.value,onClick:me},{default:L(()=>[ee(d(a(s)("question.dismiss")),1)]),_:1},8,["loading","disabled"])])]),key:"1"}]),1032,["class"]))}}),fI=Re(pI,[["__scopeId","data-v-fe9d5a9a"]]),mI={class:"ah"},vI={class:"akind"},gI={class:"apath"},hI={class:"ah-path"},yI={key:1,class:"diff"},kI={class:"dg"},bI={class:"dc"},wI={key:2,class:"body-shell"},SI={class:"shell-cmd"},CI={key:0,class:"shell-cwd"},_I={key:1,class:"shell-danger"},MI={key:3,class:"body-file"},$I={class:"file-bar"},xI={class:"file-lang"},TI={class:"file-content"},II={class:"file-ln"},AI={class:"file-text"},PI={key:4,class:"body-chip"},EI={class:"chip-label"},BI={class:"chip-value"},RI={key:0,class:"chip-detail"},LI={key:5,class:"body-chip"},DI={key:0,class:"chip-label"},OI={class:"chip-value"},zI={key:6,class:"body-chip"},FI={class:"chip-label"},NI={class:"chip-value"},WI={key:0,class:"chip-detail"},qI={key:7,class:"body-chip"},HI={class:"chip-label"},UI={class:"chip-value"},VI={key:0,class:"chip-detail"},jI={key:8,class:"body-todo"},KI={class:"todo-glyph"},GI={key:9,class:"body-plan"},QI={key:10,class:"body-generic"},YI={class:"gen-text"},ZI={key:11,class:"feedback-wrap"},XI=["placeholder"],JI={class:"feedback-hint"},e7={key:0,class:"plan-actions"},t7={key:1,class:"abtn"},n7=Ee({__name:"ApprovalCard",props:{block:{},agentName:{},busy:{type:Boolean}},emits:["decide"],setup(e,{emit:t}){const n=e,s=t,{t:o}=Ye(),i=M(()=>{const C=n.block;return C.kind!=="plan_review"?null:{plan:C.plan,path:C.path,options:C.options??[]}}),u=T(!1),p=["shell","diff","file","fileop","url","search","invocation","todo","plan_review","generic"];function f(){const C=p.includes(n.block.kind)?n.block.kind:"generic";return o(`approval.title.${C}`)}const v=T(!1),k=T(""),x=T(null);function g(){n.busy||(v.value=!0,k.value="",setTimeout(()=>x.value?.focus(),0))}function m(){if(n.busy)return;const C=k.value.trim();i.value?S("feedback",{decision:"rejected",selectedLabel:"Revise",feedback:C||void 0}):S("feedback",{decision:"rejected",feedback:C||void 0}),v.value=!1,k.value=""}function $(){v.value=!1,k.value=""}function h(C){C.key==="Enter"&&!C.shiftKey?(C.preventDefault(),m()):C.key==="Escape"&&(C.preventDefault(),$())}const y=T(null);Ne(()=>n.busy,C=>{C||(y.value=null)});function S(C,D){n.busy||(y.value=C,s("decide",D))}function B(){S("approve",{decision:"approved"})}function b(){S("approveSession",{decision:"approved",scope:"session"})}function P(){S("reject",{decision:"rejected"})}function E(){S("approvePlan",{decision:"approved"})}function R(C){S(`option:${C}`,{decision:"approved",selectedLabel:C})}function W(){n.busy||g()}function Q(){S("rejectAndExit",{decision:"rejected",selectedLabel:"Reject and Exit"})}function V(C){const D=(document.activeElement?.tagName??"").toLowerCase();if(D==="input"||D==="textarea"||n.busy||u.value)return;const O=i.value;if(O){if(O.options.length===0){C.key==="1"?(C.preventDefault(),E()):C.key==="2"?(C.preventDefault(),W()):C.key==="3"&&(C.preventDefault(),Q());return}C.key==="1"&&O.options[0]?(C.preventDefault(),R(O.options[0].label)):C.key==="2"&&O.options[1]?(C.preventDefault(),R(O.options[1].label)):C.key==="3"&&O.options[2]&&(C.preventDefault(),R(O.options[2].label));return}C.key==="1"?(C.preventDefault(),B()):C.key==="2"?(C.preventDefault(),b()):C.key==="3"?(C.preventDefault(),P()):C.key==="4"&&(C.preventDefault(),g())}return xt(()=>document.addEventListener("keydown",V)),kt(()=>document.removeEventListener("keydown",V)),(C,D)=>(l(),q(or,{class:fe(["appr",{minimized:u.value}])},tc({head:L(()=>[r("div",mI,[D[2]||(D[2]=r("span",{class:"ah-ic"},"!",-1)),r("span",vI,d(f()),1),r("span",gI,[e.block.kind==="diff"||e.block.kind==="file"||e.block.kind==="fileop"?(l(),c(de,{key:0},[ee(d(e.block.path),1)],64)):e.block.kind==="shell"?(l(),c(de,{key:1},[ee(d(e.block.command),1)],64)):e.block.kind==="url"?(l(),c(de,{key:2},[ee(d(e.block.url),1)],64)):e.block.kind==="search"?(l(),c(de,{key:3},[ee(d(e.block.query),1)],64)):e.block.kind==="invocation"?(l(),c(de,{key:4},[ee(d(e.block.name),1)],64)):e.block.kind==="generic"?(l(),c(de,{key:5},[ee(d(e.block.summary),1)],64)):I("",!0)]),e.agentName&&!u.value?(l(),q(Et,{key:0,variant:"neutral",size:"sm"},{default:L(()=>[ee(d(a(o)("approval.subagentBadge",{name:e.agentName})),1)]),_:1})):I("",!0),u.value?I("",!0):(l(),q(Et,{key:1,variant:"warning",size:"sm",class:"aw"},{default:L(()=>[ee(d(a(o)("approval.required")),1)]),_:1})),w(lt,{class:"amin",size:"sm",label:u.value?a(o)("question.expand"):a(o)("question.minimize"),onClick:D[0]||(D[0]=O=>u.value=!u.value)},{default:L(()=>[u.value?(l(),q(X,{key:0,name:"chevron-up",size:"md"})):(l(),q(X,{key:1,name:"minus",size:"md"}))]),_:1},8,["label"])])]),_:2},[u.value?void 0:{name:"default",fn:L(()=>[e.block.kind==="plan_review"&&e.block.path?(l(),q(gt,{key:0,text:e.block.path},{default:L(()=>[r("div",hI,d(e.block.path),1)]),_:1},8,["text"])):I("",!0),e.block.kind==="diff"?(l(),c("div",yI,[(l(!0),c(de,null,Pe(e.block.diff,(O,J)=>(l(),c("div",{key:J,class:fe(["dl",O.kind==="add"?"add":O.kind==="rem"?"del":""])},[r("span",kI,d(O.gutter),1),r("span",bI,d(O.text),1)],2))),128))])):e.block.kind==="shell"?(l(),c("div",wI,[r("div",SI,[D[3]||(D[3]=r("span",{class:"shell-dollar"},"$",-1)),ee(" "+d(e.block.command),1)]),e.block.cwd?(l(),c("div",CI,"cwd: "+d(e.block.cwd),1)):I("",!0),e.block.danger?(l(),c("div",_I,d(a(o)("approval.danger",{detail:e.block.danger})),1)):I("",!0)])):e.block.kind==="file"?(l(),c("div",MI,[r("div",$I,[r("span",xI,d(e.block.language??""),1)]),r("div",TI,[(l(!0),c(de,null,Pe(e.block.content.split(`
+`),(O,J)=>(l(),c("div",{key:J,class:"file-line"},[r("span",II,d(J+1),1),r("span",AI,d(O),1)]))),128))])])):e.block.kind==="fileop"?(l(),c("div",PI,[r("span",EI,d(e.block.op),1),r("span",BI,d(e.block.path),1),e.block.detail?(l(),c("span",RI,d(e.block.detail),1)):I("",!0)])):e.block.kind==="url"?(l(),c("div",LI,[e.block.method?(l(),c("span",DI,d(e.block.method),1)):I("",!0),r("span",OI,d(e.block.url),1)])):e.block.kind==="search"?(l(),c("div",zI,[r("span",FI,d(a(o)("approval.searchQueryLabel")),1),r("span",NI,d(e.block.query),1),e.block.scope?(l(),c("span",WI,d(a(o)("approval.searchScope",{scope:e.block.scope})),1)):I("",!0)])):e.block.kind==="invocation"?(l(),c("div",qI,[r("span",HI,d(e.block.kind2),1),r("span",UI,d(e.block.name),1),e.block.description?(l(),c("span",VI,d(e.block.description),1)):I("",!0)])):e.block.kind==="todo"?(l(),c("div",jI,[(l(!0),c(de,null,Pe(e.block.items,(O,J)=>(l(),c("div",{key:J,class:"todo-item"},[r("span",KI,d(O.status==="done"||O.status==="completed"?"✓":"○"),1),r("span",{class:fe(["todo-title",{"todo-done":O.status==="done"||O.status==="completed"}])},d(O.title),3)]))),128))])):e.block.kind==="plan_review"?(l(),c("div",GI,[w(ki,{text:e.block.plan},null,8,["text"])])):(l(),c("div",QI,[r("span",YI,d(e.block.summary),1)])),v.value?(l(),c("div",ZI,[wt(r("textarea",{ref_key:"feedbackRef",ref:x,"onUpdate:modelValue":D[1]||(D[1]=O=>k.value=O),class:"feedback-ta",placeholder:a(o)("approval.feedbackPlaceholder"),rows:"2",onKeydown:h},null,40,XI),[[Dn,k.value]]),r("div",JI,d(a(o)("approval.feedbackHint")),1)])):I("",!0)]),key:"0"},u.value?void 0:{name:"foot",fn:L(()=>[i.value?(l(),c("div",e7,[i.value.options.length>0?(l(!0),c(de,{key:0},Pe(i.value.options,(O,J)=>(l(),q(gt,{key:J,text:O.description},{default:L(()=>[w(je,{class:"kbtn",size:"sm",variant:"primary",loading:y.value===`option:${O.label}`,disabled:e.busy,onClick:ve=>R(O.label)},{default:L(()=>[ee(d(O.label),1),w(Ps,{class:"k",keys:[String(J+1)]},null,8,["keys"])]),_:2},1032,["loading","disabled","onClick"])]),_:2},1032,["text"]))),128)):(l(),q(je,{key:1,class:"kbtn",size:"sm",variant:"primary",loading:y.value==="approvePlan",disabled:e.busy,onClick:E},{default:L(()=>[ee(d(a(o)("approval.approvePlan")),1),w(Ps,{class:"k",keys:["1"]})]),_:1},8,["loading","disabled"])),w(je,{class:"kbtn",size:"sm",variant:"secondary",disabled:e.busy,onClick:W},{default:L(()=>[ee(d(a(o)("approval.revise")),1),i.value.options.length===0?(l(),q(Ps,{key:0,class:"k",keys:["2"]})):I("",!0)]),_:1},8,["disabled"]),w(je,{class:"kbtn",size:"sm",variant:"danger-soft",loading:y.value==="rejectAndExit",disabled:e.busy,onClick:Q},{default:L(()=>[ee(d(a(o)("approval.rejectAndExit")),1),i.value.options.length===0?(l(),q(Ps,{key:0,class:"k",keys:["3"]})):I("",!0)]),_:1},8,["loading","disabled"])])):(l(),c("div",t7,[w(je,{class:"kbtn",size:"sm",variant:"primary",loading:y.value==="approve",disabled:e.busy,onClick:B},{default:L(()=>[ee(d(a(o)("approval.approve")),1),w(Ps,{class:"k",keys:["1"]})]),_:1},8,["loading","disabled"]),w(je,{class:"kbtn",size:"sm",variant:"secondary",loading:y.value==="approveSession",disabled:e.busy,onClick:b},{default:L(()=>[ee(d(a(o)("approval.approveSession")),1),w(Ps,{class:"k",keys:["2"]})]),_:1},8,["loading","disabled"]),w(je,{class:"kbtn",size:"sm",variant:"secondary",loading:y.value==="reject",disabled:e.busy,onClick:P},{default:L(()=>[ee(d(a(o)("approval.reject")),1),w(Ps,{class:"k",keys:["3"]})]),_:1},8,["loading","disabled"]),w(je,{class:"kbtn",size:"sm",variant:"secondary",disabled:e.busy,onClick:g},{default:L(()=>[ee(d(a(o)("approval.feedback")),1),w(Ps,{class:"k",keys:["4"]})]),_:1},8,["disabled"])]))]),key:"1"}]),1032,["class"]))}}),s7=Re(n7,[["__scopeId","data-v-458a9d7d"]]),o7=["recent","running","done","all"];function i7(e,t){switch(t){case"running":return e.filter(n=>n.state==="run");case"done":return e.filter(n=>n.state==="done");case"recent":return e.filter(n=>n.state==="run"||n.state==="done");case"all":return[...e]}}const a7=["aria-selected","onClick"],l7=Ee({__name:"SegmentedControl",props:{modelValue:{},options:{},size:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=t;return(s,o)=>(l(),c("div",{class:fe(["ui-seg",`ui-seg--${e.size??"md"}`]),role:"tablist"},[(l(!0),c(de,null,Pe(e.options,i=>(l(),c("button",{key:i.value,class:fe(["ui-seg__item",{"is-on":i.value===e.modelValue}]),type:"button",role:"tab","aria-selected":i.value===e.modelValue,onClick:u=>n("update:modelValue",i.value)},d(i.label),11,a7))),128))],2))}}),mn=Re(l7,[["__scopeId","data-v-d1aaccd7"]]),r7=Ee({__name:"StatusGlyph",props:{status:{}},setup(e){const t=e,n={pending:"○",run:"●",done:"✓",fail:"✗"};return(s,o)=>(l(),c("span",{class:fe(["status-glyph",`s-${t.status}`]),"aria-hidden":"true"},d(n[t.status]),3))}}),Ni=Re(r7,[["__scopeId","data-v-4a029f7f"]]);function u7(e,t){const n=e.meta??"",s=(e.output??[]).join(`
+`);switch(t){case"command":return n;case"output":return s;case"all":{const o=[];return n&&o.push(n),s&&o.push(s),o.join(`
+
+`)}}}const c7=["aria-label","aria-expanded"],d7=Ee({__name:"TaskCopyMenu",props:{task:{}},setup(e){const t=e,{t:n}=Ye(),s=T(!1),o=T(null),i=M(()=>!!t.task.meta?.trim()),u=M(()=>(t.task.output?.length??0)>0);async function p(v){const k=u7(t.task,v);!k||!await an(k)||(o.value=v,s.value=!1,setTimeout(()=>{o.value===v&&(o.value=null)},1400))}function f(){s.value=!s.value}return(v,k)=>(l(),c("div",{class:"tcm",onClick:k[4]||(k[4]=Oe(()=>{},["stop"]))},[r("button",{class:fe(["tcm-trigger",{copied:o.value!==null}]),type:"button","aria-label":a(n)("tasks.copyCommand"),"aria-haspopup":!0,"aria-expanded":s.value,onClick:Oe(f,["stop"])},[w(X,{name:o.value!==null?"check":"copy",size:"sm"},null,8,["name"])],10,c7),s.value?(l(),q(Fn,{key:0,class:"tcm-menu",onClick:k[3]||(k[3]=Oe(()=>{},["stop"]))},{default:L(()=>[w(st,{disabled:!i.value,onClick:k[0]||(k[0]=x=>p("command"))},{default:L(()=>[w(X,{name:"terminal",size:"sm"}),ee(" "+d(a(n)("tasks.copyCommand")),1)]),_:1},8,["disabled"]),w(st,{disabled:!u.value,onClick:k[1]||(k[1]=x=>p("output"))},{default:L(()=>[w(X,{name:"code",size:"sm"}),ee(" "+d(a(n)("tasks.copyOutput")),1)]),_:1},8,["disabled"]),w(st,{separator:""}),w(st,{onClick:k[2]||(k[2]=x=>p("all"))},{default:L(()=>[w(X,{name:"copy",size:"sm"}),ee(" "+d(a(n)("tasks.copyAll")),1)]),_:1})]),_:1})):I("",!0)]))}}),Ri=Re(d7,[["__scopeId","data-v-4829abca"]]),p7={class:"tp-head"},f7={class:"tp-title"},m7={class:"tp-count"},v7={key:0,class:"tp-filter"},g7={key:1,class:"tp-body"},h7={class:"tp-list-col"},y7={key:0,class:"tp-empty"},k7=["role","onClick"],b7={class:"tp-name"},w7={class:"tp-time"},S7=["onClick"],C7={key:0,class:"tp-detail"},_7={key:0,class:"tp-codebox"},M7={class:"tp-pre"},$7={class:"tp-cmd"},x7={key:1,class:"tp-codebox"},T7={class:"tp-pre"},I7={class:"tp-main tp-detail-head"},A7={class:"tp-name"},P7={class:"tp-time"},E7={key:0,class:"tp-codebox"},B7={class:"tp-pre"},R7={class:"tp-cmd"},L7={key:1,class:"tp-codebox"},D7={class:"tp-pre"},O7={key:2,class:"tp-detail-empty"},z7={key:1,class:"tp-detail-empty"},F7={key:2,class:"tp-body tp-grid"},N7={key:0,class:"tp-empty"},W7=["onClick"],q7={class:"tp-card-line"},H7={class:"tp-card-name"},U7={class:"tp-card-line tp-card-meta"},V7=["onClick"],j7={key:1,class:"tp-time"},K7=Ee({__name:"TasksPane",props:{tasks:{},variant:{}},emits:["cancel","open"],setup(e,{emit:t}){const n=e,s=t,{t:o}=Ye(),i={recent:"filterRecent",running:"filterRunning",done:"filterDone",all:"filterAll"},u={recent:"emptyRecent",running:"emptyRunning",done:"emptyDone",all:"emptyTasks"},p=T("recent"),f=T(null),v=M(()=>n.tasks.find(b=>b.id===f.value)??null),k=Hn(new Set),x=T(null),g=M(()=>n.variant==="todos"?n.tasks:i7(n.tasks,p.value)),m=M(()=>o7.map(b=>({value:b,label:o(`tasks.${i[b]}`)}))),$=M(()=>n.variant==="todos"?"tasks.emptyTasks":`tasks.${u[p.value]}`);function h(b){return!!(b.output&&b.output.length>0||b.meta)}function y(b){if(h(b)){if(n.variant==="todos"){k.has(b.id)?k.delete(b.id):k.add(b.id);return}f.value=b.id,Xe(()=>x.value?.scrollIntoView({block:"nearest"}))}}function S(b){return b==="run"||b==="done"||b==="fail"?b:"pending"}function B(b){p.value=b}return(b,P)=>(l(),c("div",{class:fe(["taskspane",`tp-${e.variant}`])},[r("div",p7,[r("span",f7,d(a(o)("tasks.tag")),1),r("span",m7,d(g.value.length),1)]),e.variant!=="todos"?(l(),c("div",v7,[w(mn,{"model-value":p.value,options:m.value,size:"sm","onUpdate:modelValue":B},null,8,["model-value","options"])])):I("",!0),e.variant!=="subagent"?(l(),c("div",g7,[r("div",h7,[g.value.length===0?(l(),c("div",y7,d(a(o)($.value)),1)):(l(!0),c(de,{key:1},Pe(g.value,E=>(l(),c("div",{key:E.id,class:fe(["tp-row",{done:E.state==="done",fail:E.state==="fail",expandable:h(E),selected:E.id===f.value}])},[r("div",{class:"tp-main",role:h(E)?"button":void 0,onClick:R=>y(E)},[w(Ni,{status:S(E.state)},null,8,["status"]),r("span",b7,d(E.name),1),w(Et,{variant:"neutral",size:"sm"},{default:L(()=>[ee(d(E.kind),1)]),_:2},1024),r("span",w7,d(E.timing),1),E.state==="run"?(l(),c("button",{key:0,class:"tp-stop",onClick:Oe(R=>s("cancel",E.id),["stop"])},d(a(o)("tasks.stop")),9,S7)):I("",!0),h(E)?(l(),q(X,{key:1,class:fe(["tp-chevron",{open:e.variant==="todos"&&k.has(E.id)}]),name:"chevron-right",size:"sm"},null,8,["class"])):I("",!0)],8,k7),e.variant==="todos"&&k.has(E.id)&&h(E)?(l(),c("div",C7,[E.meta?(l(),c("div",_7,[w(Ri,{task:E},null,8,["task"]),r("pre",M7,[r("code",null,[r("span",$7,d(E.meta),1)])])])):I("",!0),E.output&&E.output.length>0?(l(),c("div",x7,[w(Ri,{task:E},null,8,["task"]),r("pre",T7,[r("code",null,[P[0]||(P[0]=ee(`
+ `,-1)),(l(!0),c(de,null,Pe(E.output,(R,W)=>(l(),c("span",{key:W,class:"tp-line"},d(R),1))),128)),P[1]||(P[1]=ee(`
+ `,-1))])])])):I("",!0)])):I("",!0)],2))),128))]),e.variant==="bash"?(l(),c("div",{key:0,ref_key:"detailColRef",ref:x,class:"tp-detail-col"},[v.value?(l(),c(de,{key:0},[r("div",I7,[w(Ni,{status:S(v.value.state)},null,8,["status"]),r("span",A7,d(v.value.name),1),w(Et,{variant:"neutral",size:"sm"},{default:L(()=>[ee(d(v.value.kind),1)]),_:1}),r("span",P7,d(v.value.timing),1)]),v.value.meta?(l(),c("div",E7,[w(Ri,{task:v.value},null,8,["task"]),r("pre",B7,[r("code",null,[r("span",R7,d(v.value.meta),1)])])])):I("",!0),v.value.output&&v.value.output.length>0?(l(),c("div",L7,[w(Ri,{task:v.value},null,8,["task"]),r("pre",D7,[r("code",null,[P[2]||(P[2]=ee(`
+ `,-1)),(l(!0),c(de,null,Pe(v.value.output,(E,R)=>(l(),c("span",{key:R,class:"tp-line"},d(E),1))),128)),P[3]||(P[3]=ee(`
+ `,-1))])])])):I("",!0),!v.value.meta&&!(v.value.output&&v.value.output.length>0)?(l(),c("div",O7,d(a(o)("tasks.noOutput")),1)):I("",!0)],64)):(l(),c("div",z7,d(a(o)("tasks.detailPlaceholder")),1))],512)):I("",!0)])):I("",!0),e.variant==="subagent"?(l(),c("div",F7,[g.value.length===0?(l(),c("div",N7,d(a(o)($.value)),1)):(l(!0),c(de,{key:1},Pe(g.value,E=>(l(),c("div",{key:E.id,class:fe(["tp-card",{done:E.state==="done",fail:E.state==="fail"}]),role:"button",onClick:R=>s("open",E.id)},[r("span",q7,[w(Ni,{status:S(E.state)},null,8,["status"]),r("span",H7,d(E.name),1)]),r("span",U7,[w(Et,{variant:"neutral",size:"sm"},{default:L(()=>[ee(d(E.kind),1)]),_:2},1024),E.state==="run"?(l(),c("button",{key:0,class:"tp-stop",onClick:Oe(R=>s("cancel",E.id),["stop"])},d(a(o)("tasks.stop")),9,V7)):(l(),c("span",j7,d(E.timing),1))])],10,W7))),128))])):I("",!0)],2))}}),Ou=Re(K7,[["__scopeId","data-v-1c6864c4"]]),G7={class:"todo-card"},Q7={key:0,class:"tc-empty"},Y7={key:1,class:"tc-progress"},Z7={class:"tc-name"},X7=Ee({__name:"TodoCard",props:{todos:{},doneCount:{}},setup(e){const t=e,{t:n}=Ye(),s=M(()=>t.doneCount??t.todos.filter(i=>i.status==="done").length);function o(i){return i==="in_progress"?"run":i}return(i,u)=>(l(),c("div",G7,[t.todos.length===0?(l(),c("div",Q7,[w(X,{name:"check-list",size:"md",class:"tc-empty-ico","aria-hidden":"true"}),r("span",null,d(a(n)("tasks.emptyTodo")),1)])):(l(),c("div",Y7,[w(X,{name:"check-list",size:"sm",class:"tc-progress-ico","aria-hidden":"true"}),r("span",null,d(a(n)("tasks.todoProgress",{done:s.value,total:t.todos.length})),1)])),(l(!0),c(de,null,Pe(t.todos,(p,f)=>(l(),c("div",{key:f,class:fe(["tc-row",`s-${p.status}`])},[w(Ni,{status:o(p.status)},null,8,["status"]),r("span",Z7,d(p.title),1)],2))),128))]))}}),J7=Re(X7,[["__scopeId","data-v-4f8e45d2"]]),eA={class:"terminal-panel"},tA={key:0,class:"term-state"},nA={key:1,class:"term-state"},sA={class:"term-toolbar"},oA=["aria-label"],iA=["aria-selected","onClick"],aA={class:"term-tab-label"},lA={key:0,class:"term-error",role:"alert"},rA={key:1,class:"term-exit"},uA={class:"term-input-row"},cA=["disabled","placeholder"],dA=Ee({__name:"TerminalPanel",props:{sessionId:{},store:{}},setup(e){const t=e,{t:n}=Ye(),s=De(),o=T(""),i=T(!1),u=T(new Set),p=T(null),f=T(null),v=M(()=>t.store.terminals.value),k=M(()=>t.store.active.value),x=M(()=>t.store.activeLines.value),g=M(()=>t.store.loading.value),m=M(()=>t.store.error.value),$=M(()=>{const O=k.value?.exitCode;return O==null?"?":String(O)});let h=0;async function y(){const O=++h;if(!t.sessionId){t.store.setSession(void 0);return}t.store.setSession(t.sessionId),t.store.setLoading(!0),t.store.setError(null);try{const J=await s.listTerminals(t.sessionId);if(O!==h)return;t.store.syncTerminals(J);const ve=t.store.terminals.value[0];ve&&(t.store.setActive(ve.id),t.store.attach(ve.id))}catch(J){if(O!==h)return;t.store.setError(P(J)??n("terminal.listFailed"))}finally{O===h&&t.store.setLoading(!1)}}async function S(){if(!(!t.sessionId||i.value)){i.value=!0,t.store.setError(null);try{const O=await s.createTerminal(t.sessionId,{cols:Dc,rows:Oc});t.store.upsertTerminal(O),t.store.setActive(O.id),t.store.attach(O.id),await Xe(),C()}catch(O){t.store.setError(P(O)??n("terminal.createFailed"))}finally{i.value=!1}}}async function B(O){if(!(!t.sessionId||u.value.has(O))){u.value=new Set(u.value).add(O),t.store.setError(null);try{await s.closeTerminal(t.sessionId,O),t.store.detach(O),t.store.removeTerminal(O)}catch(J){t.store.setError(P(J)??n("terminal.closeFailed"))}finally{const J=new Set(u.value);J.delete(O),u.value=J}}}function b(O){t.store.setActive(O),t.store.attach(O),C()}function P(O){return O instanceof Error&&O.message?O.message:null}let E=-1,R="";function W(){const O=k.value;if(!O||O.status==="exited")return;const J=o.value;J.trim().length!==0&&(t.store.submitInput(O.id,J),o.value="",E=-1,C())}function Q(){const O=k.value?.history??[];if(O.length===0)return;if(E===-1)R=o.value,E=O.length-1;else if(E>0)E-=1;else return;const J=O[E];J!==void 0&&(o.value=J)}function V(){const O=k.value?.history??[];if(E!==-1)if(E{f.value?.focus()})}function D(){const O=p.value;if(!O)return;O.scrollHeight-O.scrollTop-O.clientHeight<40&&(O.scrollTop=O.scrollHeight)}return Ne(()=>t.store.activeLines.value,D),Ne(()=>t.sessionId,()=>{y()}),xt(()=>{y()}),(O,J)=>(l(),c("div",eA,[g.value?(l(),c("div",tA,[w(Gt,{size:"sm"}),r("span",null,d(a(n)("terminal.loading")),1)])):v.value.length===0?(l(),c("div",nA,[r("span",null,d(a(n)("terminal.empty")),1),w(je,{variant:"secondary",size:"sm",loading:i.value,onClick:J[0]||(J[0]=ve=>S())},{default:L(()=>[ee(d(a(n)("terminal.newTerminal")),1)]),_:1},8,["loading"])])):(l(),c(de,{key:2},[r("div",sA,[v.value.length>1?(l(),c("div",{key:0,class:"term-tabs",role:"tablist","aria-label":a(n)("terminal.dockTerminal")},[(l(!0),c(de,null,Pe(v.value,(ve,me)=>(l(),c("button",{key:ve.id,class:fe(["term-tab",{active:ve.id===t.store.activeId.value}]),type:"button",role:"tab","aria-selected":ve.id===t.store.activeId.value,onClick:ze=>b(ve.id)},[w(qo,{status:ve.status},null,8,["status"]),r("span",aA,"#"+d(me+1),1),w(lt,{size:"sm",label:a(n)("terminal.closeTerminal"),disabled:u.value.has(ve.id),onClick:Oe(ze=>B(ve.id),["stop"])},{default:L(()=>[w(X,{name:"close",size:"sm"})]),_:1},8,["label","disabled","onClick"])],10,iA))),128))],8,oA)):I("",!0),w(lt,{class:"term-add",label:a(n)("terminal.newTerminal"),disabled:i.value,onClick:J[1]||(J[1]=ve=>S())},{default:L(()=>[w(X,{name:"plus",size:"sm"})]),_:1},8,["label","disabled"])]),m.value?(l(),c("div",lA,d(m.value),1)):I("",!0),k.value?.status==="exited"?(l(),c("div",rA,d(a(n)("terminal.exited",{code:$.value})),1)):I("",!0),k.value?(l(),c("pre",{key:2,ref_key:"preRef",ref:p,class:"term-output"},d(x.value),513)):I("",!0),r("div",uA,[J[6]||(J[6]=r("span",{class:"term-prompt"},"$",-1)),wt(r("input",{ref_key:"inputRef",ref:f,"onUpdate:modelValue":J[2]||(J[2]=ve=>o.value=ve),class:"term-input",disabled:!k.value||k.value.status==="exited",placeholder:a(n)("terminal.inputPlaceholder"),onKeydown:[J[3]||(J[3]=Cn(Oe(ve=>W(),["prevent"]),["enter"])),J[4]||(J[4]=Cn(Oe(ve=>Q(),["prevent"]),["up"])),J[5]||(J[5]=Cn(Oe(ve=>V(),["prevent"]),["down"]))]},null,40,cA),[[Dn,o.value]])])],64))]))}}),pA=Re(dA,[["__scopeId","data-v-4d134005"]]);function fA(e){const t=["cancel"];return e==="active"?t.unshift("pause"):(e==="paused"||e==="blocked")&&t.unshift("resume"),t}function mA(e){const t=Math.max(0,Math.round(e/1e3)),n=Math.floor(t/60),s=t%60;return n<=0?`${s}s`:n<60?`${n}m ${s}s`:`${Math.floor(n/60)}h ${n%60}m`}const vA={class:"ui-empty"},gA={key:0,class:"ui-empty__icon","aria-hidden":"true"},hA={key:1,class:"ui-empty__title"},yA={key:2,class:"ui-empty__hint"},kA=Ee({__name:"EmptyState",props:{title:{},hint:{}},setup(e){return(t,n)=>(l(),c("div",vA,[t.$slots.icon?(l(),c("span",gA,[At(t.$slots,"icon",{},void 0,!0)])):I("",!0),e.title?(l(),c("div",hA,d(e.title),1)):I("",!0),e.hint?(l(),c("div",yA,d(e.hint),1)):I("",!0),At(t.$slots,"default",{},void 0,!0)]))}}),ii=Re(kA,[["__scopeId","data-v-38e00944"]]),bA={class:"goal-panel"},wA={key:0,class:"gp-head"},SA={class:"gp-title-row"},CA={class:"gp-kicker"},_A=["title"],MA=["title"],$A={class:"gp-actions"},xA={key:0,class:"gp-criterion"},TA={class:"gp-criterion-label"},IA={class:"gp-criterion-text"},AA=Ee({__name:"GoalPanel",props:{goal:{}},emits:["controlGoal"],setup(e,{emit:t}){const n=t,{t:s}=Ye(),{confirm:o}=xo();function i(f){switch(f){case"active":return s("status.goalStatusActive");case"paused":return s("status.goalStatusPaused");case"blocked":return s("status.goalStatusBlocked");case"complete":return s("status.goalStatusComplete")}}function u(f){switch(f){case"active":return"success";case"blocked":return"danger";case"paused":return"warning";case"complete":return"neutral"}}async function p(){await o({title:s("status.goalCancel"),message:s("status.goalCancelConfirm"),confirmLabel:s("status.goalCancelConfirmYes"),cancelLabel:s("status.goalCancelConfirmNo"),variant:"danger"})&&n("controlGoal","cancel")}return(f,v)=>(l(),c("div",bA,[e.goal?(l(),c("div",wA,[r("div",SA,[w(X,{class:"gp-icon",name:"target",size:"md"}),r("span",CA,d(a(s)("status.goalLabel")),1),r("span",{class:"gp-objective",title:e.goal.objective},d(e.goal.objective),9,_A),w(Et,{variant:u(e.goal.status),size:"sm",class:"gp-status"},{default:L(()=>[ee(d(i(e.goal.status)),1)]),_:1},8,["variant"]),r("span",{class:"gp-elapsed",title:`${e.goal.wallClockMs} ms`},[w(X,{name:"clock",size:"sm"}),ee(" "+d(a(mA)(e.goal.wallClockMs)),1)],8,MA),r("div",$A,[(l(!0),c(de,null,Pe(a(fA)(e.goal.status),k=>(l(),q(lt,{key:k,size:"md",label:a(s)(`status.goal${k==="resume"?"Resume":k==="pause"?"Pause":"Cancel"}`),class:"gp-action",onClick:x=>k==="cancel"?p():n("controlGoal",k)},{default:L(()=>[w(X,{name:k==="resume"?"play":k==="pause"?"pause":"close"},null,8,["name"])]),_:2},1032,["label","onClick"]))),128))])]),e.goal.completionCriterion?(l(),c("div",xA,[r("span",TA,d(a(s)("workspace.doneWhen")),1),r("p",IA,d(e.goal.completionCriterion),1)])):I("",!0)])):(l(),q(ii,{key:1,title:a(s)("status.goalEmptyTitle"),hint:a(s)("status.goalEmptyHint")},{icon:L(()=>[w(X,{name:"target"})]),_:1},8,["title","hint"]))]))}}),PA=Re(AA,[["__scopeId","data-v-d3a415b3"]]);function EA(e){return typeof e=="string"&&e.toLowerCase()==="exitplanmode"}function BA(e){for(let t=e.length-1;t>=0;t--){const n=e[t]?.tools;if(!(n===void 0||n.length===0)){for(let s=n.length-1;s>=0;s--)if(EA(n[s]?.name))return n[s].id}}}function RA(e,t,n,s,o){return n!==null?{kind:"plan",plan:n}:t==="loading"||e!==void 0&&t==="idle"?{kind:"loading"}:{kind:"empty",armed:s||o}}const LA={class:"plan-panel"},DA={key:0,class:"pp-loading",role:"status"},OA={class:"pp-plan-wrap"},zA={key:0,class:"pp-path"},FA={class:"pp-plan"},NA={key:0,class:"pp-review"},WA={class:"pp-state"},qA={key:0,class:"pp-option"},HA={key:1,class:"pp-feedback"},UA=Ee({__name:"PlanPanel",props:{sessionId:{},toolCallId:{},planMode:{type:Boolean,default:!1},planArmed:{type:Boolean,default:!1}},setup(e){const t=e,{t:n}=Ye(),s=T("idle"),o=T(null);let i=0;async function u(){const v=t.sessionId,k=t.toolCallId,x=++i;if(o.value=null,!v||!k){s.value="settled";return}s.value="loading";const g=await Fd(v,k);x===i&&(o.value=g,s.value="settled")}Ne(()=>[t.sessionId,t.toolCallId],u,{immediate:!0});function p(v){switch(v){case"approved":return n("tools.plan.approved");case"rejected":return n("tools.plan.rejected");case"cancelled":return n("tools.plan.cancelled");case"pending":return n("tools.plan.pending")}}const f=M(()=>RA(t.toolCallId,s.value,o.value,t.planMode,t.planArmed));return(v,k)=>(l(),c("div",LA,[f.value.kind==="loading"?(l(),c("div",DA,[w(Gt,{size:"sm"}),r("span",null,d(a(n)("tools.plan.loading")),1)])):f.value.kind==="plan"?(l(),c(de,{key:1},[r("div",OA,[f.value.plan.path?(l(),c("p",zA,d(f.value.plan.path),1)):I("",!0),r("pre",FA,d(f.value.plan.plan),1)]),f.value.plan.review?(l(),c("div",NA,[r("span",WA,d(p(f.value.plan.review.state)),1),f.value.plan.review.selectedOption?(l(),c("span",qA,d(f.value.plan.review.selectedOption),1)):I("",!0),f.value.plan.review.feedback?(l(),c("span",HA," “"+d(f.value.plan.review.feedback)+"” ",1)):I("",!0)])):I("",!0)],64)):(l(),q(ii,{key:2,title:f.value.armed?a(n)("status.planEmptyArmed"):a(n)("status.planEmptyIdle")},{icon:L(()=>[w(X,{name:"file-edit"})]),_:1},8,["title"]))]))}}),VA=Re(UA,[["__scopeId","data-v-9073f2b6"]]),jA={class:"dock-work-head"},KA={key:0,class:"dock-work-tab static"},GA={key:1,class:"dock-work-tab static"},QA={key:2,class:"dock-work-tab static"},YA={key:3,class:"dock-work-tab static"},ZA={key:4,class:"dock-work-tab static"},XA={key:5,class:"dock-work-tab static"},JA={class:"dock-work-body"},eP={class:"dw-count"},tP={class:"dw-count"},nP={class:"dw-count"},sP={key:0,class:"dw-count"},oP=Ee({__name:"ChatDock",props:{sessionId:{},running:{type:Boolean},starting:{type:Boolean},queued:{},searchFiles:{type:Function},uploadImage:{type:Function},status:{},thinking:{},planMode:{type:Boolean},planArmed:{type:Boolean},swarmMode:{type:Boolean},supermoonMode:{type:Boolean},goalMode:{type:Boolean},activationBadges:{},models:{},starredIds:{},skills:{},goal:{},goalExpandSignal:{},planToolCallId:{},dockPanel:{},bashTasks:{},subagentTasks:{},bashRunning:{},subagentRunning:{},todoDoneCount:{},hasDockWork:{type:Boolean},todos:{},pendingQuestion:{},questionBusyKind:{},pendingApproval:{},approvalBusy:{type:Boolean},terminal:{},mobile:{type:Boolean}},emits:["submit","steer","command","interrupt","setPermission","setThinking","togglePlan","toggleSwarm","toggleSupermoon","toggleGoal","dismissPlan","controlGoal","focusGoal","compact","pickModel","selectModel","answer","dismiss","approval","cancelTask","toggle-dock-panel","close-dock-panel","openAgent"],setup(e,{expose:t,emit:n}){const s=e,o=n,{t:i}=Ye(),u=M(()=>s.terminal!==void 0&&s.sessionId!==void 0),p=M(()=>s.terminal?.terminals.value.length??0),f=M(()=>s.goal!==null&&s.goal!==void 0&&s.goal.status!=="complete"||s.goalMode===!0),v=M(()=>s.planMode===!0||s.planArmed===!0),k=M(()=>s.planMode?i("status.planModeOn"):s.planArmed?i("status.planArmed"):""),x=T(null),g=T(null),m=T(null),$=T(null);function h(E){return x.value?(x.value.loadForEdit(E),!0):!1}function y(E){x.value?.loadAttachmentsForEdit(E)}function S(){x.value?.focus()}function B(E){if(!s.dockPanel)return;const R=E.target;R&&(g.value?.contains(R)||m.value?.contains(R)||o("close-dock-panel"))}Ne(()=>s.dockPanel,E=>{typeof document>"u"||(document.removeEventListener("mousedown",B,!0),E&&document.addEventListener("mousedown",B,!0))},{immediate:!0});let b=null;function P(){const E=$.value?.offsetHeight??0;document.documentElement.style.setProperty("--dock-h",`${E}px`)}return xt(()=>{typeof ResizeObserver!="function"||!$.value||(b=new ResizeObserver(P),b.observe($.value),P())}),kt(()=>{typeof document<"u"&&document.removeEventListener("mousedown",B,!0),b?.disconnect(),b=null}),t({loadForEdit:h,loadAttachmentsForEdit:y,focus:S}),(E,R)=>(l(),c("div",{ref_key:"dockRef",ref:$,class:fe(["chat-dock",[e.mobile?"align-mobile":"align-center",{"has-approval":!!e.pendingApproval,"has-question":!!e.pendingQuestion}]]),onClick:R[30]||(R[30]=Oe(()=>{},["stop"]))},[w(ai,{name:"dock-panel"},{default:L(()=>[e.dockPanel?(l(),c("div",{key:0,ref_key:"workPanelRef",ref:g,class:"dock-work-panel",onClick:R[4]||(R[4]=Oe(()=>{},["stop"]))},[r("div",jA,[e.dockPanel==="bash"?(l(),c("span",KA,d(a(i)("tasks.dockBash"))+" · "+d(e.bashRunning)+" "+d(a(i)("tasks.running")),1)):e.dockPanel==="subagent"?(l(),c("span",GA,d(a(i)("tasks.dockSubagent"))+" · "+d(e.subagentRunning)+" "+d(a(i)("tasks.running")),1)):e.dockPanel==="todos"?(l(),c("span",QA,d(a(i)("tasks.dockTodos"))+" · "+d(e.todoDoneCount)+"/"+d(e.todos?.length??0),1)):e.dockPanel==="terminal"?(l(),c("span",YA,d(a(i)("terminal.dockTerminal"))+" · "+d(p.value),1)):e.dockPanel==="goal"?(l(),c("span",ZA,[ee(d(a(i)("status.goalLabel")),1),e.goal?(l(),c(de,{key:0},[ee(" · "+d(e.goal.objective),1)],64)):I("",!0)])):e.dockPanel==="plan"?(l(),c("span",XA,[ee(d(a(i)("status.planLabel")),1),k.value?(l(),c(de,{key:0},[ee(" · "+d(k.value),1)],64)):I("",!0)])):I("",!0)]),r("div",JA,[e.dockPanel==="bash"?(l(),q(Ou,{key:0,variant:"bash",tasks:e.bashTasks,onCancel:R[0]||(R[0]=W=>o("cancelTask",W))},null,8,["tasks"])):e.dockPanel==="subagent"?(l(),q(Ou,{key:1,variant:"subagent",tasks:e.subagentTasks,onCancel:R[1]||(R[1]=W=>o("cancelTask",W)),onOpen:R[2]||(R[2]=W=>o("openAgent",W))},null,8,["tasks"])):e.dockPanel==="todos"?(l(),q(J7,{key:2,todos:e.todos??[],"done-count":e.todoDoneCount},null,8,["todos","done-count"])):e.dockPanel==="terminal"&&e.terminal!==void 0?(l(),q(pA,{key:3,"session-id":e.sessionId??"",store:e.terminal},null,8,["session-id","store"])):e.dockPanel==="goal"?(l(),q(PA,{key:4,goal:e.goal??null,onControlGoal:R[3]||(R[3]=W=>o("controlGoal",W))},null,8,["goal"])):e.dockPanel==="plan"?(l(),q(VA,{key:5,"session-id":e.sessionId??"","tool-call-id":e.planToolCallId,"plan-mode":e.planMode,"plan-armed":e.planArmed},null,8,["session-id","tool-call-id","plan-mode","plan-armed"])):I("",!0)])],512)):I("",!0)]),_:1}),e.goal?(l(),q(W9,{key:0,goal:e.goal,"force-expanded":e.goalExpandSignal,onControlGoal:R[5]||(R[5]=W=>o("controlGoal",W))},null,8,["goal","force-expanded"])):I("",!0),e.hasDockWork||u.value||f.value||v.value?(l(),c("div",{key:1,ref_key:"workbarRef",ref:m,class:"dock-workbar"},[e.bashTasks.length>0?(l(),q(po,{key:0,active:e.dockPanel==="bash","aria-pressed":e.dockPanel==="bash",onClick:R[6]||(R[6]=W=>o("toggle-dock-panel","bash"))},{default:L(()=>[w(X,{name:"clock",size:"md"}),r("span",null,d(a(i)("tasks.dockBash")),1),r("span",eP,[R[31]||(R[31]=ee("(",-1)),r("b",null,d(e.bashTasks.length),1),R[32]||(R[32]=ee(")",-1))])]),_:1},8,["active","aria-pressed"])):I("",!0),e.subagentTasks.length>0?(l(),q(po,{key:1,active:e.dockPanel==="subagent","aria-pressed":e.dockPanel==="subagent",onClick:R[7]||(R[7]=W=>o("toggle-dock-panel","subagent"))},{default:L(()=>[w(X,{name:"sparkles",size:"md"}),r("span",null,d(a(i)("tasks.dockSubagent")),1),r("span",tP,[R[33]||(R[33]=ee("(",-1)),r("b",null,d(e.subagentTasks.length),1),R[34]||(R[34]=ee(")",-1))])]),_:1},8,["active","aria-pressed"])):I("",!0),(e.todos?.length??0)>0?(l(),q(po,{key:2,active:e.dockPanel==="todos","aria-pressed":e.dockPanel==="todos",onClick:R[8]||(R[8]=W=>o("toggle-dock-panel","todos"))},{default:L(()=>[w(X,{name:"check-list",size:"md"}),r("span",null,d(a(i)("tasks.dockTodos")),1),r("span",nP,[R[35]||(R[35]=ee("(",-1)),r("b",null,d(e.todoDoneCount)+"/"+d(e.todos?.length??0),1),R[36]||(R[36]=ee(")",-1))])]),_:1},8,["active","aria-pressed"])):I("",!0),u.value?(l(),q(po,{key:3,active:e.dockPanel==="terminal","aria-pressed":e.dockPanel==="terminal",onClick:R[9]||(R[9]=W=>o("toggle-dock-panel","terminal"))},{default:L(()=>[w(X,{name:"terminal",size:"md"}),r("span",null,d(a(i)("terminal.dockTerminal")),1),p.value>0?(l(),c("span",sP,[R[37]||(R[37]=ee("(",-1)),r("b",null,d(p.value),1),R[38]||(R[38]=ee(")",-1))])):I("",!0)]),_:1},8,["active","aria-pressed"])):I("",!0),f.value?(l(),q(po,{key:4,active:e.dockPanel==="goal","aria-pressed":e.dockPanel==="goal",onClick:R[10]||(R[10]=W=>o("toggle-dock-panel","goal"))},{default:L(()=>[w(X,{name:"target",size:"md"}),r("span",null,d(a(i)("status.goalLabel")),1)]),_:1},8,["active","aria-pressed"])):I("",!0),v.value?(l(),q(po,{key:5,active:e.dockPanel==="plan","aria-pressed":e.dockPanel==="plan",onClick:R[11]||(R[11]=W=>o("toggle-dock-panel","plan"))},{default:L(()=>[w(X,{name:"file-edit",size:"md"}),r("span",null,d(a(i)("status.planLabel")),1)]),_:1},8,["active","aria-pressed"])):I("",!0)],512)):I("",!0),e.pendingQuestion?(l(),q(fI,{key:e.pendingQuestion.questionId,question:e.pendingQuestion,"busy-kind":e.questionBusyKind,onAnswer:R[12]||(R[12]=(W,Q)=>o("answer",W,Q)),onDismiss:R[13]||(R[13]=W=>o("dismiss",W))},null,8,["question","busy-kind"])):e.pendingApproval?(l(),q(s7,{key:e.pendingApproval.approvalId,class:"dock-approval",block:e.pendingApproval.block,"agent-name":e.pendingApproval.agentName,busy:e.approvalBusy,onDecide:R[14]||(R[14]=W=>o("approval",e.pendingApproval.approvalId,W))},null,8,["block","agent-name","busy"])):(l(),q(dp,{key:4,ref_key:"composerRef",ref:x,"session-id":e.sessionId,running:e.running,queued:e.queued,"search-files":e.searchFiles,"upload-image":e.uploadImage,status:e.status,thinking:e.thinking,"plan-mode":e.planMode,"plan-armed":e.planArmed,"swarm-mode":e.swarmMode,"supermoon-mode":e.supermoonMode,"goal-mode":e.goalMode,goal:e.goal,"activation-badges":e.activationBadges,models:e.models,"starred-ids":e.starredIds,skills:e.skills,starting:e.starting,onSubmit:R[15]||(R[15]=W=>o("submit",W)),onSteer:R[16]||(R[16]=W=>o("steer",W)),onCommand:R[17]||(R[17]=(W,Q)=>o("command",W,Q)),onInterrupt:R[18]||(R[18]=W=>o("interrupt")),onSetPermission:R[19]||(R[19]=W=>o("setPermission",W)),onSetThinking:R[20]||(R[20]=W=>o("setThinking",W)),onTogglePlan:R[21]||(R[21]=W=>o("togglePlan")),onToggleSwarm:R[22]||(R[22]=W=>o("toggleSwarm")),onToggleSupermoon:R[23]||(R[23]=W=>o("toggleSupermoon")),onToggleGoal:R[24]||(R[24]=W=>o("toggleGoal")),onDismissPlan:R[25]||(R[25]=W=>o("dismissPlan")),onFocusGoal:R[26]||(R[26]=W=>o("focusGoal")),onCompact:R[27]||(R[27]=W=>o("compact")),onPickModel:R[28]||(R[28]=W=>o("pickModel")),onSelectModel:R[29]||(R[29]=W=>o("selectModel",W))},null,8,["session-id","running","queued","search-files","upload-image","status","thinking","plan-mode","plan-armed","swarm-mode","supermoon-mode","goal-mode","goal","activation-badges","models","starred-ids","skills","starting"]))],2))}}),iP=Re(oP,[["__scopeId","data-v-24d34e66"]]),aP=["type","value","placeholder","disabled","readonly"],lP=Ee({__name:"Input",props:{modelValue:{},size:{default:"md"},type:{default:"text"},placeholder:{},disabled:{type:Boolean},readonly:{type:Boolean},error:{type:Boolean}},emits:["update:modelValue","focus","blur"],setup(e,{expose:t,emit:n}){const s=n,o=T();function i(f){s("update:modelValue",f.target.value)}function u(){o.value?.focus()}function p(){o.value?.select()}return t({focus:u,select:p,el:o}),(f,v)=>(l(),c("input",{ref_key:"el",ref:o,class:fe(["ui-input",[`ui-input--${e.size}`,{"has-error":e.error}]]),type:e.type,value:e.modelValue,placeholder:e.placeholder,disabled:e.disabled,readonly:e.readonly,onInput:i,onFocus:v[0]||(v[0]=k=>f.$emit("focus",k)),onBlur:v[1]||(v[1]=k=>f.$emit("blur",k))},null,42,aP))}}),qn=Re(lP,[["__scopeId","data-v-340f0da2"]]),rP={class:"conv-search",role:"search"},uP={key:0,class:"conv-search-count"},cP={key:1,class:"conv-search-count conv-search-none"},dP=Ee({__name:"ConversationSearch",props:{query:{},total:{},activeIndex:{}},emits:["update:query","next","prev","close"],setup(e,{emit:t}){const{t:n}=Ye(),s=t,o=T(null);xt(()=>{o.value?.focus()});function i(u){u.key==="Enter"?(u.preventDefault(),u.shiftKey?s("prev"):s("next")):u.key==="Escape"&&(u.preventDefault(),u.stopPropagation(),s("close"))}return(u,p)=>(l(),c("div",rP,[w(X,{class:"conv-search-icon",name:"search",size:"sm"}),w(qn,{ref_key:"inputRef",ref:o,class:"conv-search-input",size:"sm",type:"text","model-value":e.query,placeholder:a(n)("conversation.searchPlaceholder"),"aria-label":a(n)("conversation.searchPlaceholder"),autocomplete:"off",spellcheck:"false","onUpdate:modelValue":p[0]||(p[0]=f=>s("update:query",f)),onKeydown:i},null,8,["model-value","placeholder","aria-label"]),e.total>0?(l(),c("span",uP,d(a(n)("conversation.searchPosition",{current:Math.max(e.activeIndex,0)+1,total:e.total})),1)):e.query.trim().length>0?(l(),c("span",cP,d(a(n)("conversation.searchNoResults")),1)):I("",!0),w(lt,{size:"sm",class:"conv-search-prev",label:a(n)("conversation.searchPrev"),disabled:e.total===0,onClick:p[1]||(p[1]=f=>s("prev"))},{default:L(()=>[w(X,{name:"chevron-up",size:"sm"})]),_:1},8,["label","disabled"]),w(lt,{size:"sm",class:"conv-search-next",label:a(n)("conversation.searchNext"),disabled:e.total===0,onClick:p[2]||(p[2]=f=>s("next"))},{default:L(()=>[w(X,{name:"chevron-down",size:"sm"})]),_:1},8,["label","disabled"]),w(lt,{size:"sm",class:"conv-search-close",label:a(n)("conversation.searchClose"),onClick:p[3]||(p[3]=f=>s("close"))},{default:L(()=>[w(X,{name:"close",size:"sm"})]),_:1},8,["label"])]))}}),pP=Re(dP,[["__scopeId","data-v-c521ac2e"]]),fP=["aria-label","aria-hidden"],mP={class:"toc-scroll"},vP=["onClick"],gP={class:"toc-label"},hP=240,yP=Ee({__name:"ConversationToc",props:{items:{},activeTurnId:{},mobile:{type:Boolean},sessionLoading:{type:Boolean},occluded:{type:Boolean}},emits:["select"],setup(e,{emit:t}){const n=e,s=t,{t:o}=Ye(),i=T(null),u=T(!0);let p=null;function f(){const k=i.value,x=k?.offsetParent;if(!k||!x)return;const g=k.getBoundingClientRect().left,m=x.getBoundingClientRect().right;u.value=m-g>=hP}const v=M(()=>!n.mobile&&!n.sessionLoading&&n.items.length>1);return Ne(v,k=>{p?.disconnect(),p=null,k&&Xe(()=>{const x=i.value,g=x?.offsetParent;!x||!g||(typeof ResizeObserver<"u"&&(p=new ResizeObserver(f),p.observe(g)),f())})},{immediate:!0}),_n(()=>{p?.disconnect(),p=null}),(k,x)=>v.value?(l(),c("nav",{key:0,ref_key:"navRef",ref:i,class:fe(["conversation-toc",{"toc-clipped":!u.value||e.occluded}]),"aria-label":a(o)("conversation.toc"),"aria-hidden":u.value&&!e.occluded?void 0:!0},[r("div",mP,[(l(!0),c(de,null,Pe(e.items,g=>(l(),c("button",{key:g.id,type:"button",class:fe(["toc-row",{active:e.activeTurnId===g.id}]),onClick:m=>s("select",g.id)},[x[0]||(x[0]=r("span",{class:"toc-bar"},null,-1)),r("span",gP,d(g.title),1)],10,vP))),128))])],10,fP)):I("",!0)}}),kP=Re(yP,[["__scopeId","data-v-46ac0b80"]]),bP=5;function wP(e,t,n,s=bP){if(n||e.length<=s)return e;const o=e.slice(0,s);if(t&&!o.some(i=>i.id===t)){const i=e.find(u=>u.id===t);i&&(o[s-1]=i)}return o}function SP(e){return e.role==="user"?e.text:e.role!=="assistant"?"":e.blocks?e.blocks.filter(t=>t.kind==="text").map(t=>t.text).join(`
+`):e.text}function CP(e,t){const n=t.trim();if(n.length===0)return[];const s=n.toLowerCase(),o=[];return e.forEach((i,u)=>{const p=SP(i);if(p.length===0)return;const f=p.toLowerCase();let v=f.indexOf(s);for(;v!==-1;)o.push({turnId:i.id,turnIndex:u,start:v,end:v+n.length}),v=f.indexOf(s,v+n.length)}),o}function _P(e,t){return t<=0?-1:e<0?0:(e+1)%t}function MP(e,t){return t<=0?-1:e<0?t-1:(e-1+t)%t}function $P(e){return e.armed&&e.turnCount>0}const xP={class:"chat-layout"},TP={class:"empty-hint"},IP={key:0,class:"empty-hint-text"},AP={key:1,class:"ws-pick"},PP={class:"ws-pick-name"},EP={key:1,class:"ws-pick-menu"},BP=["onClick"],RP={class:"ws-pick-item-name"},LP={class:"ws-pick-item-path"},DP=["aria-label"],OP={key:0,class:"abort-toast",role:"status","aria-live":"polite"},zP={class:"abort-toast-text"},qa=80,zu=1e3,FP=420,NP=3e3,WP=Ee({__name:"ConversationPane",props:{turns:{},sessionId:{},approvals:{},gitInfo:{},tasks:{},todos:{},goal:{},activationBadges:{},status:{},thinking:{},planMode:{type:Boolean},planArmed:{type:Boolean},swarmMode:{type:Boolean},supermoonMode:{type:Boolean},goalMode:{type:Boolean},questions:{},pendingQuestionActions:{},pendingApprovalActions:{},running:{type:Boolean},turnActive:{type:Boolean},queued:{},searchFiles:{type:Function},uploadImage:{type:Function},changes:{},fileReloadKey:{},working:{type:Boolean},modelRetry:{},starting:{type:Boolean},fastMoon:{type:Boolean},mobile:{type:Boolean},sessionLoading:{type:Boolean},compaction:{},hasMoreMessages:{type:Boolean},loadingMore:{type:Boolean},loadingMoreError:{type:Boolean},loadOlderMessages:{type:Function},models:{},starredIds:{},skills:{},workspaceName:{},workspaceRoot:{},gitDiffStats:{},workspaces:{},activeWorkspaceId:{},sessionTitle:{},sessionPinned:{type:Boolean},pr:{},conversationToc:{type:Boolean},terminal:{}},emits:["submit","steer","approval","cancelTask","answer","dismiss","command","interrupt","unqueue","editQueued","reorderQueue","steerQueuedIndex","sendQueued","setPermission","setThinking","togglePlan","toggleSwarm","toggleSupermoon","toggleGoal","dismissPlan","controlGoal","compact","pickModel","selectModel","openFile","openMedia","openThinking","openCompaction","openAgent","openToolDiff","moveToBackground","openChanges","refreshGitStatus","editMessage","selectWorkspace","addWorkspace","openPr","renameSession","togglePin","forkSession","archiveSession","exportSession","resumeTurn","openMentionSkill"],setup(e,{expose:t,emit:n}){const{t:s}=Ye(),o=e,i=n,u=T(!1),p=T(!1),f=M(()=>o.workspaces?.find(G=>G.id===o.activeWorkspaceId)?.name??o.workspaceName??""),v=M(()=>(o.workspaces?.length??0)>0),k=M(()=>{const N={};for(const G of o.skills??[])N[G.name]={kind:"skill",description:G.description};return N}),x=M(()=>wP(o.workspaces??[],o.activeWorkspaceId,p.value)),g=M(()=>(o.workspaces?.length??0)-x.value.length);Ne(u,N=>{N||(p.value=!1)});function m(N){u.value=!1,N!==o.activeWorkspaceId&&i("selectWorkspace",N)}wo(Ge.contentAlign);const $=T(null),h=T(null),y=T(null),S=T(!1),B=T(0);let b=null;function P(N,G){const ce=y.value??h.value;return!ce||ce.loadForEdit(N)===!1?!1:(ce.loadAttachmentsForEdit(G??[]),!0)}function E(){S.value=!0,b!==null&&clearTimeout(b),b=setTimeout(()=>{b=null,S.value=!1},2e3)}function R(){B.value++,ve.value="goal"}const W=M(()=>o.tasks.filter(N=>N.kind!=="subagent")),Q=M(()=>o.tasks.filter(N=>N.kind==="subagent"&&N.runInBackground)),V=M(()=>W.value.filter(N=>N.state==="run").length),C=M(()=>Q.value.filter(N=>N.state==="run").length);function D(N){const G=o.tasks,ce=G.find(rt=>rt.id===N)??G.find(rt=>rt.parentToolCallId===N);if(ce)return ce.id;const nt=G.filter(rt=>rt.kind==="subagent"&&!rt.parentToolCallId);if(nt.length===1)return nt[0].id}yo("resolveAgentTaskId",D),yo("pinScroll",wn),yo("sessionId",()=>o.sessionId);const O=M(()=>(o.todos??[]).filter(N=>N.status==="done").length),J=M(()=>W.value.length>0||Q.value.length>0||(o.todos?.length??0)>0||(o.queued?.length??0)>0),ve=T(null),me=M(()=>o.gitInfo?o.changes?.length??0:0),ze=M(()=>BA(o.turns));function ie(N){ve.value=ve.value===N?null:N}function le(){ve.value=null}Ne(J,N=>{!N&&ve.value!=="terminal"&&ve.value!=="goal"&&ve.value!=="plan"&&le()});function te(N){if(N.role==="compaction")return s("conversation.compactedPlain");if(N.role==="user"){if(N.skillActivation)return`/${N.skillActivation.name}`;if(N.pluginCommand)return`/${N.pluginCommand.pluginId}:${N.pluginCommand.commandName}`;const ce=N.text.trim().replaceAll(/\s+/g," ");return ce.length>0?ce:"user"}const G=(N.text||N.thinking||"").trim().replaceAll(/\s+/g," ");return G.length>0?G:(N.tools?.length??0)>0?`${N.tools.length} tools`:"kimi"}const re=M(()=>o.turns.filter(N=>N.role==="user").map((N,G)=>({id:N.id,role:N.role,no:G+1,title:te(N)}))),se=T(null);function he(){const N=xe.value;if(!N)return;const G=N.querySelectorAll(".turn-anchor[data-turn-id]");if(G.length===0)return;const ce=re.value;if(ce.length===0)return;const nt=new Set(ce.map(rs=>rs.id));if(ln()<=qa){se.value=ce[ce.length-1].id;return}const rt=N.getBoundingClientRect(),Lt=rt.height/2;let dn=null;G.forEach(rs=>{const bs=rs.dataset.turnId;if(!bs||!nt.has(bs))return;rs.getBoundingClientRect().top-rt.top<=Lt&&(dn=bs)}),se.value=dn??ce[0].id}const ae=T(!1),F=T(""),Y=T(0),ke=M(()=>CP(o.turns,F.value)),we=M(()=>ke.value.length);function Le(){ae.value?Ze():ae.value=!0}function Ze(){ae.value=!1,F.value="",Y.value=0}function be(){Y.value=_P(Y.value,we.value)}function pe(){Y.value=MP(Y.value,we.value)}Ne(F,()=>{Y.value=0,ne()}),Ne(we,N=>{N===0?Y.value=0:Y.value>=N&&(Y.value=N-1)}),Ne(Y,()=>{ne()});async function ne(){if(we.value===0)return;await Xe();const N=xe.value;if(!N)return;const G=N.querySelector(".chat-search-hit--active");if(G){G.scrollIntoView({behavior:"smooth",block:"center"});return}const ce=Math.min(Y.value,we.value-1),nt=ke.value[ce];nt&&Ct(nt.turnId)}const Z=T(!1);let oe=0;function K(){oe||(oe=Xt(()=>{oe=0,Be()}))}function Be(){const N=xe.value,G=!o.mobile&&o.conversationToc&&N?N.closest(".con")?.querySelector(".conversation-toc"):null,ce=G?.querySelector(".toc-bar");let nt=!1;if(N&&G&&ce){const rt=ce.getBoundingClientRect(),Lt=G.getBoundingClientRect(),dn=rt.left+rt.width/2;nt=Array.from(N.querySelectorAll(".table-node-wrapper")).some(rs=>{const bs=rs.getBoundingClientRect();return bs.left<=dn&&dn<=bs.right&&bs.topLt.top})}Z.value!==nt&&(Z.value=nt)}const Ve=M(()=>o.questions&&o.questions.length>0?o.questions[0]:void 0),yt=M(()=>{const N=Ve.value;if(N)return o.pendingQuestionActions?.[N.questionId]}),dt=M(()=>o.approvals&&o.approvals.length>0?o.approvals[0]:void 0),Me=M(()=>{const N=dt.value;return N?!!o.pendingApprovalActions?.[N.approvalId]:!1}),xe=T(null),Se=T(null),Ae=T(0),Je=T(0),ht=M(()=>({"--panes-scrollbar-width":`${Ae.value}px`}));function qe(N){return N instanceof HTMLElement?N:N&&"$el"in N&&N.$el instanceof HTMLElement?N.$el:null}function He(){const N=xe.value;Ae.value=N?Math.max(0,N.offsetWidth-N.clientWidth):0,Je.value=Se.value?.offsetHeight??0}function Ue(N){const G=qe(N);xe.value=G,G&&Hs()}function ct(N){const G=qe(N);Se.value=G??null,N&&"loadForEdit"in N&&typeof N.loadForEdit=="function"&&"focus"in N&&typeof N.focus=="function"?y.value={loadForEdit:N.loadForEdit.bind(N),loadAttachmentsForEdit:"loadAttachmentsForEdit"in N&&typeof N.loadAttachmentsForEdit=="function"?N.loadAttachmentsForEdit.bind(N):()=>{},focus:N.focus.bind(N)}:y.value=null,ks()}const it=T(!0),Bt=T(!1),Ht=M(()=>$P({armed:Bt.value,turnCount:o.turns.length}));function ln(){const N=xe.value;return N?N.scrollHeight-N.scrollTop-N.clientHeight:0}let ut=0,nn=0,sn=0,Un=0,Wt=0,Nn=0;function rn(){return Date.now()1?(it.value=!1,Bt.value=!0):ce<=qa&&G>ut+1&&(it.value=!0,Bt.value=!1),ut=G,Qt()}let Vn=0;function Qt(){Vn||(Vn=Xt(()=>{Vn=0,he()}))}function Ut(N=!1){const G=xe.value;it.value=!0,Bt.value=!1,G&&(!N&&performance.now()({node:Lt,top:kn(N,Lt)})),nt=ce.findIndex(Lt=>Lt.top>=G),rt=nt<0?Math.max(0,ce.length-1):nt;return ce.slice(rt,rt+2).flatMap(Lt=>{const dn=Lt.node.dataset.scrollAnchorId,rs=dn??Lt.node.dataset.turnId;return rs?[{kind:dn?"tool":"turn",id:rs,top:Lt.top}]:[]})}const Ot=new Map;function pn(N,G){for(const ce of G.anchors){const nt=ce.kind==="tool"?"data-scroll-anchor-id":"data-turn-id",rt=N.querySelector(`[${nt}="${$n(ce.id)}"]`);if(rt)return kn(N,rt)-ce.top}return N.scrollHeight-G.oldHeight}function Mn(N,G,ce=N.scrollTop){return N.scrollTop=ce+pn(N,G),ut=N.scrollTop,N.scrollTop}async function Zt(){if(!o.sessionId||!o.loadOlderMessages||o.loadingMore||Gn.value||!o.hasMoreMessages)return;const N=o.sessionId,G=xe.value,ce=G?.scrollTop??0,nt={anchors:G?jn(G,ce):[],oldHeight:G?.scrollHeight??0};hs(N,!0),$s();try{if(await Xe(),await o.loadOlderMessages(N),await Xe(),o.sessionId!==N){Ot.set(N,nt);return}const rt=xe.value;if(!rt)return;Mn(rt,nt),Ot.delete(N)}finally{hs(N,!1)}}function $n(N){return typeof CSS<"u"&&typeof CSS.escape=="function"?CSS.escape(N):N.replaceAll(/["\\]/g,"\\$&")}function Ct(N){const G=xe.value;if(!G)return;const ce=G.querySelector(`.turn-anchor[data-turn-id="${$n(N)}"]`);ce&&(xs(),it.value=!1,Bt.value=ln()>qa,ce.scrollIntoView({behavior:"smooth",block:"center"}))}function on(){const N=xe.value;if(!N)return"none";const G=N.firstElementChild,ce=G instanceof HTMLElement?G.offsetHeight:0,nt=Se.value?.offsetHeight??0;return`${N.scrollHeight}:${N.clientHeight}:${ce}:${nt}`}function Xt(N){return typeof requestAnimationFrame=="function"?requestAnimationFrame(N):setTimeout(N,16)}function _t(N){typeof cancelAnimationFrame=="function"?cancelAnimationFrame(N):clearTimeout(N)}let bn=0,Pt=0,un=null,On=0;function vn(){return performance.now(){if(Pt=0,performance.now()>=bn||!un){un=null;return}const rt=un.getBoundingClientRect().top-On;rt&&(ce.scrollTop+=rt),Pt=Xt(nt)};Pt=Xt(nt)}function gn(N=36){if(!it.value&&!rn())return;const G=++Nn;let ce="",nt=0,rt=0;Wt&&(_t(Wt),Wt=0);const Lt=()=>{if(Wt=0,G!==Nn||!it.value&&!rn())return;Ut(!1);const dn=on();nt=dn===ce?nt+1:0,ce=dn,rt++,nt<3&&rt0&&G.length>=N.length&&N.firstId!==G.firstId&&N.lastId===G.lastId&&N.lastTextLen===G.lastTextLen&&N.lastThinkingLen===G.lastThinkingLen&&N.lastToolsLen===G.lastToolsLen&&N.approvalIds===G.approvalIds}const xn=M(()=>{const N=(o.approvals??[]).map(Lt=>Lt.approvalId).join(","),G=o.turns,ce=G.at(-1),nt=ce?.thinking?.length??0,rt=ce?.tools?.reduce((Lt,dn)=>Lt+dn.name.length+(dn.arg?.length??0)+(dn.output?.join("").length??0),0)??0;return{length:G.length,firstId:G[0]?.id??"",lastId:ce?.id??"",lastTextLen:ce?.text.length??0,lastThinkingLen:nt,lastToolsLen:rt,approvalIds:N}});Ne(xn,async(N,G)=>{if(Gn.value&&zn(G,N)){he();return}await Xe(),it.value||rn()?Ut(N.length{ks()}),Ne(()=>o.mobile,async()=>{await Xe(),He()});const cn=new Map;Ne(()=>o.fileReloadKey,async(N,G)=>{const ce=xe.value;G&&ce&&cn.set(String(G),{top:ce.scrollTop,following:it.value}),xs(),await Xe();const nt=xe.value,rt=N?cn.get(String(N)):void 0;if(rt&&nt){const Lt=Ot.get(String(N)),dn=Lt?Mn(nt,Lt,rt.top):rt.top;Lt&&Ot.delete(String(N)),it.value=rt.following,nt.scrollTop=dn,ut=nt.scrollTop,Bt.value=!rt.following&&ln()>1,rt.following&&gn()}else it.value=!0,ut=0,Ut(!1),gn();he()}),Ne(()=>o.sessionLoading,async(N,G)=>{N||!G||(it.value=!0,await Xe(),gn(),he())}),Ne(()=>o.turnActive,async(N,G)=>{N||!G||!it.value&&!rn()||(await Xe(),gn(48),he())});function fn(){it.value=!0,Bt.value=!1,nn=Date.now()+zu,Xe(()=>{Ut(!0),gn(16)})}function Jt(N){fn(),i("submit",N)}function Kn(N){it.value=!0,Bt.value=!1,nn=Date.now()+zu,i("editMessage",N)}function Ce(N){const G=o.queued?.[N],ce=G?.text??"";P(ce,G?.attachments)&&i("editQueued",N)}function ge(N){i("reorderQueue",N)}function We(N){i("steerQueuedIndex",N)}function ot(N){i("sendQueued",N)}function zt(N,G){fn(),i("answer",N,G)}function Ft(N,G){!N||!G||i("approval",N,G)}let Rt=null,Tt=null,Yt=null,It=null,Tn=0,gs=0,In=0;const is=T(new Set),Gn=M(()=>!!o.sessionId&&is.value.has(o.sessionId));function hs(N,G){const ce=new Set(is.value);G?ce.add(N):ce.delete(N),is.value=ce}function ys(){Gn.value||In||(In=Xt(()=>{In=0,!Gn.value&&(vn()||(it.value||rn())&&Ut(!1))}))}function $s(){Nn++,Wt&&(_t(Wt),Wt=0),In&&(_t(In),In=0)}function xs(){const N=xe.value;if(nn=0,$s(),bn=0,un=null,N){const G=N.scrollTop;typeof N.scrollTo=="function"?N.scrollTo({top:G,behavior:"auto"}):N.scrollTop=G}Un=0,sn=Number.NEGATIVE_INFINITY,N&&(ut=N.scrollTop)}function An(){const N=xe.value;!N||o.turns.length===0||N.scrollHeight-N.clientHeight<=1&&!o.hasMoreMessages||(it.value=!1,xs(),N.scrollHeight-N.clientHeight>1&&(Bt.value=!0))}function qs(N){const G=xe.value;if(!G)return!1;for(const ce of N.composedPath()){if(ce===G)return!1;if(ce instanceof HTMLElement&&ce.scrollHeight>ce.clientHeight+1&&ce.scrollTop>1)return!0}return!1}function oo(N){N.defaultPrevented||N.ctrlKey||N.shiftKey||N.deltaY>=0||qs(N)||An()}function io(N){const G=xe.value;if(!G||N.defaultPrevented||N.button!==0||N.pointerType==="touch")return;const ce=G.getBoundingClientRect(),nt=G.offsetWidth-G.clientWidth,rt=nt>0?nt:12;N.target===G&&N.clientX>=ce.right-rt&&An()}let as=null;function ao(N){as=N.touches.length===1?N.touches[0].clientY:null}function Ts(N){const G=N.touches.length===1?N.touches[0].clientY:null;G!==null&&as!==null&&G>as+2&&!qs(N)&&An(),as=G}function Is(){if(!Tt)return;const N=xe.value?.firstElementChild??null;N!==Yt&&(Yt&&Tt.unobserve(Yt),Yt=N,N&&Tt.observe(N))}function ks(){if(!Tt)return;const N=Se.value;N!==It&&(It&&Tt.unobserve(It),It=N,N&&Tt.observe(N))}function Hs(){const N=xe.value;He(),Rt&&(Rt.disconnect(),N&&Rt.observe(N,{childList:!0,subtree:!0,characterData:!0})),Tt&&(Tt.disconnect(),Yt=null,It=null,N&&Tt.observe(N),Is(),ks()),Tn=N?.scrollHeight??0,gs=N?.clientHeight??0,K()}function Qn(){Is(),ys(),K()}function Yn(){typeof document>"u"||document.visibilityState==="visible"&&it.value&&gn()}const ls=T(!1);let Zn=null;function Ie(){ls.value=!0,Zn!==null&&clearTimeout(Zn),Zn=setTimeout(()=>{ls.value=!1},NP)}function U(){Ie(),i("interrupt")}function A(N){N.key==="Escape"&&(o.running||o.working)&&(N.preventDefault(),U())}function _e(){it.value&&ys()}xt(()=>{Xe(()=>{typeof MutationObserver=="function"&&(Rt=new MutationObserver(Qn)),typeof ResizeObserver=="function"&&(Tt=new ResizeObserver(()=>{K(),He();const N=xe.value;if(!N)return;const{scrollHeight:G,clientHeight:ce}=N,nt=G>Tn+1,rt=ce{Rt&&Rt.disconnect(),Tt&&Tt.disconnect(),In&&_t(In),Wt&&_t(Wt),Pt&&_t(Pt),oe&&_t(oe),Zn!==null&&clearTimeout(Zn),b!==null&&(clearTimeout(b),b=null),typeof document<"u"&&(document.removeEventListener("visibilitychange",Yn),document.removeEventListener("keydown",A)),window.visualViewport?.removeEventListener("resize",_e)});function $e(){(y.value??h.value)?.focus()}return t({loadComposerForEdit:P,focusComposer:$e}),(N,G)=>(l(),c("section",{class:fe(["con",{mobile:e.mobile}])},[!e.mobile&&!(e.turns.length===0&&!e.sessionLoading)?(l(),q(uT,{key:0,"session-id":e.sessionId,"workspace-name":e.workspaceName,"workspace-root":e.workspaceRoot,"session-title":e.sessionTitle,branch:e.gitInfo?.branch,ahead:e.gitInfo?.ahead,behind:e.gitInfo?.behind,"changes-count":me.value,"git-diff-stats":e.gitDiffStats,"is-git-repo":!!e.gitInfo,pr:e.pr,copied:S.value,"search-active":ae.value,pinned:e.sessionPinned,onOpenChanges:G[0]||(G[0]=ce=>i("openChanges")),onCopyAll:G[1]||(G[1]=ce=>$.value?.copyConversation()),onCopyFinalSummary:G[2]||(G[2]=ce=>$.value?.copyFinalSummary()),onOpenPr:G[3]||(G[3]=ce=>e.pr&&i("openPr",e.pr.url)),onRenameSession:G[4]||(G[4]=(ce,nt)=>i("renameSession",ce,nt)),onTogglePin:G[5]||(G[5]=ce=>i("togglePin",ce)),onForkSession:G[6]||(G[6]=ce=>i("forkSession",ce)),onArchiveSession:G[7]||(G[7]=ce=>i("archiveSession",ce)),onExportSession:G[8]||(G[8]=ce=>i("exportSession",ce)),onToggleSearch:Le},null,8,["session-id","workspace-name","workspace-root","session-title","branch","ahead","behind","changes-count","git-diff-stats","is-git-repo","pr","copied","search-active","pinned"])):I("",!0),ae.value?(l(),q(pP,{key:1,query:F.value,total:we.value,"active-index":Y.value,"onUpdate:query":G[9]||(G[9]=ce=>F.value=ce),onNext:be,onPrev:pe,onClose:Ze},null,8,["query","total","active-index"])):I("",!0),e.conversationToc?(l(),q(kP,{key:2,items:re.value,"active-turn-id":se.value,mobile:e.mobile,"session-loading":e.sessionLoading,occluded:Z.value,onSelect:Ct},null,8,["items","active-turn-id","mobile","session-loading","occluded"])):I("",!0),r("div",xP,[r("div",{ref:Ue,class:fe(["panes chat-scroll",{"is-following":it.value,"history-prepending":Gn.value}]),onScrollPassive:os,onWheelPassive:oo,onPointerdownPassive:io,onTouchstartPassive:ao,onTouchmovePassive:Ts},[r("div",{class:fe(["content-wrap",[e.mobile?"align-mobile":"align-center"]])},[e.turns.length===0&&!e.sessionLoading?(l(),c(de,{key:0},[G[59]||(G[59]=r("div",{class:"empty-spacer"},null,-1)),r("div",TP,[r("span",{class:fe(["empty-hint-title",{"is-starting":e.starting}])},[e.starting?(l(),q(Gt,{key:0,size:"sm"})):I("",!0),r("span",null,d(e.starting?a(s)("conversation.starting"):a(s)("composer.emptyConversationTitle")),1)],2),e.starting?I("",!0):(l(),c("span",IP,d(a(s)("composer.emptyConversation")),1)),v.value&&!e.starting?(l(),c("div",AP,[w(gt,{text:a(s)("conversation.switchWorkspace")},{default:L(()=>[r("button",{type:"button",class:"ws-pick-btn",onClick:G[10]||(G[10]=Oe(ce=>u.value=!u.value,["stop"]))},[w(X,{name:"folder",size:"sm"}),r("span",PP,d(f.value),1),w(X,{class:fe(["ws-pick-chev",{open:u.value}]),name:"chevron-down",size:"sm"},null,8,["class"])])]),_:1},8,["text"]),u.value?(l(),c("div",{key:0,class:"ws-pick-backdrop",onClick:G[11]||(G[11]=ce=>u.value=!1)})):I("",!0),u.value?(l(),c("div",EP,[(l(!0),c(de,null,Pe(x.value,ce=>(l(),c("button",{key:ce.id,type:"button",class:fe(["ws-pick-item",{on:ce.id===e.activeWorkspaceId}]),onClick:Oe(nt=>m(ce.id),["stop"])},[r("span",RP,d(ce.name),1),r("span",LP,d(ce.shortPath),1)],10,BP))),128)),g.value>0?(l(),c("button",{key:0,type:"button",class:"ws-pick-item ws-pick-more",onClick:G[12]||(G[12]=Oe(ce=>p.value=!p.value,["stop"]))},[r("span",null,d(a(s)("conversation.moreWorkspaces",{count:g.value})),1)])):I("",!0),G[58]||(G[58]=r("div",{class:"ws-pick-divider"},null,-1)),r("button",{type:"button",class:"ws-pick-action",onClick:G[13]||(G[13]=Oe(ce=>{u.value=!1,i("addWorkspace")},["stop"]))},[w(X,{name:"plus",size:"sm"}),r("span",null,d(a(s)("conversation.addWorkspace")),1)])])):I("",!0)])):e.starting?I("",!0):(l(),c("button",{key:2,type:"button",class:"empty-add-workspace",onClick:G[14]||(G[14]=ce=>i("addWorkspace"))},[w(X,{name:"folder-plus",size:"sm"}),r("span",null,d(a(s)("conversation.addWorkspace")),1)]))]),w(dp,{ref_key:"emptyComposerRef",ref:h,class:"empty-composer","session-id":e.sessionId,running:e.running,queued:e.queued,"search-files":e.searchFiles,"upload-image":e.uploadImage,status:e.status,thinking:e.thinking,"plan-mode":e.planMode,"plan-armed":e.planArmed,"swarm-mode":e.swarmMode,"supermoon-mode":e.supermoonMode,"goal-mode":e.goalMode,goal:e.goal,"activation-badges":e.activationBadges,models:e.models,"starred-ids":e.starredIds,skills:e.skills,starting:e.starting,"hide-context":"",onSubmit:Jt,onSteer:G[15]||(G[15]=ce=>i("steer",ce)),onCommand:G[16]||(G[16]=(ce,nt)=>i("command",ce,nt)),onInterrupt:U,onUnqueue:G[17]||(G[17]=ce=>i("unqueue",ce)),onEditQueued:G[18]||(G[18]=ce=>i("editQueued",ce)),onSetPermission:G[19]||(G[19]=ce=>i("setPermission",ce)),onSetThinking:G[20]||(G[20]=ce=>i("setThinking",ce)),onTogglePlan:G[21]||(G[21]=ce=>i("togglePlan")),onToggleSwarm:G[22]||(G[22]=ce=>i("toggleSwarm")),onToggleSupermoon:G[23]||(G[23]=ce=>i("toggleSupermoon")),onToggleGoal:G[24]||(G[24]=ce=>i("toggleGoal")),onDismissPlan:G[25]||(G[25]=ce=>i("dismissPlan")),onFocusGoal:R,onCompact:G[26]||(G[26]=ce=>i("compact")),onPickModel:G[27]||(G[27]=ce=>i("pickModel")),onSelectModel:G[28]||(G[28]=ce=>i("selectModel",ce))},null,8,["session-id","running","queued","search-files","upload-image","status","thinking","plan-mode","plan-armed","swarm-mode","supermoon-mode","goal-mode","goal","activation-badges","models","starred-ids","skills","starting"]),G[60]||(G[60]=r("div",{class:"empty-spacer"},null,-1))],64)):(l(),q(ep,{ref_key:"chatPaneRef",ref:$,key:e.fileReloadKey??"no-session",turns:e.turns,approvals:e.approvals,"turn-active":e.turnActive,working:e.working,retry:e.modelRetry,"fast-moon":e.fastMoon,"session-loading":e.sessionLoading,compaction:e.compaction,"has-more-messages":e.hasMoreMessages,"loading-more":e.loadingMore,"loading-more-error":e.loadingMoreError,"is-following":it.value,"tool-diff-panel":!0,queued:e.queued,"search-query":F.value,"search-active-index":ae.value?Y.value:-1,mentions:k.value,onOpenFile:G[29]||(G[29]=ce=>i("openFile",ce)),onOpenMedia:G[30]||(G[30]=ce=>i("openMedia",ce)),onCopyConversationCopied:E,onOpenThinking:G[31]||(G[31]=ce=>i("openThinking",ce)),onOpenCompaction:G[32]||(G[32]=ce=>i("openCompaction",ce)),onOpenAgent:G[33]||(G[33]=ce=>i("openAgent",ce)),onOpenToolDiff:G[34]||(G[34]=ce=>i("openToolDiff",ce)),onMoveToBackground:G[35]||(G[35]=ce=>i("moveToBackground",ce)),onEditMessage:Kn,onLoadOlderMessages:Zt,onUnqueue:G[36]||(G[36]=ce=>i("unqueue",ce)),onEditQueued:Ce,onReorderQueue:ge,onOpenMentionSkill:G[37]||(G[37]=ce=>i("openMentionSkill",ce)),onSteerQueuedIndex:We,onSendQueued:ot,onResumeTurn:G[38]||(G[38]=ce=>i("resumeTurn",ce))},null,8,["turns","approvals","turn-active","working","retry","fast-moon","session-loading","compaction","has-more-messages","loading-more","loading-more-error","is-following","queued","search-query","search-active-index","mentions"]))],2)],34),e.turns.length===0&&!e.sessionLoading?I("",!0):(l(),q(iP,{key:0,ref:ct,style:vt(ht.value),"session-id":e.sessionId,running:e.running,starting:e.starting,queued:e.queued,"search-files":e.searchFiles,"upload-image":e.uploadImage,status:e.status,thinking:e.thinking,"plan-mode":e.planMode,"plan-armed":e.planArmed,"swarm-mode":e.swarmMode,"supermoon-mode":e.supermoonMode,"goal-mode":e.goalMode,"activation-badges":e.activationBadges,models:e.models,"starred-ids":e.starredIds,skills:e.skills,goal:e.goal,"goal-expand-signal":B.value,"plan-tool-call-id":ze.value,"dock-panel":ve.value,"bash-tasks":W.value,"subagent-tasks":Q.value,"bash-running":V.value,"subagent-running":C.value,"todo-done-count":O.value,"has-dock-work":J.value,todos:e.todos,"pending-question":Ve.value,"question-busy-kind":yt.value,"pending-approval":dt.value,"approval-busy":Me.value,terminal:e.terminal,mobile:e.mobile,onToggleDockPanel:G[39]||(G[39]=ce=>ie(ce)),onCloseDockPanel:G[40]||(G[40]=ce=>le()),onOpenAgent:G[41]||(G[41]=ce=>i("openAgent",ce)),onAnswer:zt,onDismiss:G[42]||(G[42]=ce=>i("dismiss",ce)),onApproval:Ft,onCancelTask:G[43]||(G[43]=ce=>i("cancelTask",ce)),onControlGoal:G[44]||(G[44]=ce=>i("controlGoal",ce)),onSubmit:Jt,onSteer:G[45]||(G[45]=ce=>i("steer",ce)),onCommand:G[46]||(G[46]=(ce,nt)=>i("command",ce,nt)),onInterrupt:U,onSetPermission:G[47]||(G[47]=ce=>i("setPermission",ce)),onSetThinking:G[48]||(G[48]=ce=>i("setThinking",ce)),onTogglePlan:G[49]||(G[49]=ce=>i("togglePlan")),onToggleSwarm:G[50]||(G[50]=ce=>i("toggleSwarm")),onToggleSupermoon:G[51]||(G[51]=ce=>i("toggleSupermoon")),onToggleGoal:G[52]||(G[52]=ce=>i("toggleGoal")),onDismissPlan:G[53]||(G[53]=ce=>i("dismissPlan")),onFocusGoal:R,onCompact:G[54]||(G[54]=ce=>i("compact")),onPickModel:G[55]||(G[55]=ce=>i("pickModel")),onSelectModel:G[56]||(G[56]=ce=>i("selectModel",ce))},null,8,["style","session-id","running","starting","queued","search-files","upload-image","status","thinking","plan-mode","plan-armed","swarm-mode","supermoon-mode","goal-mode","activation-badges","models","starred-ids","skills","goal","goal-expand-signal","plan-tool-call-id","dock-panel","bash-tasks","subagent-tasks","bash-running","subagent-running","todo-done-count","has-dock-work","todos","pending-question","question-busy-kind","pending-approval","approval-busy","terminal","mobile"]))]),w(ai,{name:"pill"},{default:L(()=>[Ht.value?(l(),c("button",{key:0,class:"newmsg-pill",style:vt({bottom:`${Je.value+12}px`}),"aria-label":a(s)("conversation.jumpToLatestAria"),onClick:G[57]||(G[57]=ce=>Ut(!0))},[w(X,{class:"pill-chevron",name:"chevron-down",size:"md"}),ee(" "+d(a(s)("conversation.newMessages")),1)],12,DP)):I("",!0)]),_:1}),w(ai,{name:"abort-toast"},{default:L(()=>[ls.value?(l(),c("div",OP,[r("span",zP,d(a(s)("conversation.manuallyAborted")),1)])):I("",!0)]),_:1})],2))}}),qP=Re(WP,[["__scopeId","data-v-08a8a5ed"]]);function HP(e){const{path:t}=e;if(!t)return"";if(t.startsWith("/"))return t;const n=(e.workspaceRoot??"").replace(/\/+$/,"");return n?`${n}/${t}`:t}const UP={class:"ui-panel-header__title"},VP={key:0,class:"ui-panel-header__sub"},jP=Ee({__name:"PanelHeader",props:{title:{},subtitle:{},closable:{type:Boolean,default:!0},closeLabel:{default:"Close"},wrap:{type:Boolean}},emits:["close"],setup(e){return(t,n)=>(l(),c("div",{class:fe(["ui-panel-header",{wrap:e.wrap}])},[r("span",UP,d(e.title),1),w(gt,{text:e.subtitle},{default:L(()=>[e.subtitle?(l(),c("span",VP,d(e.subtitle),1)):I("",!0)]),_:1},8,["text"]),At(t.$slots,"default",{},void 0,!0),e.closable?(l(),q(lt,{key:0,class:"ui-panel-header__close",size:"sm",label:e.closeLabel,onClick:n[0]||(n[0]=s=>t.$emit("close"))},{default:L(()=>[w(X,{name:"close",size:"sm"})]),_:1},8,["label"])):I("",!0)],2))}}),Mo=Re(jP,[["__scopeId","data-v-c47879ad"]]),KP={key:0,class:"fp-empty fp-error"},GP={key:1,class:"fp-empty"},QP={key:2,class:"fp-loading"},YP={class:"fp-path"},ZP={class:"fp-meta"},XP={key:0,class:"fp-lines"},JP={class:"fp-size"},eE={key:3,class:"fp-search"},tE=["placeholder"],nE={key:0,class:"fp-search-count"},sE=["href","aria-label"],oE={key:1,class:"fp-code"},iE={class:"fp-line-table"},aE=["data-line"],lE={class:"fp-gutter"},rE=["innerHTML"],uE={key:1,class:"fp-body fp-code"},cE={class:"fp-line-table"},dE=["data-line"],pE={class:"fp-gutter"},fE=["innerHTML"],mE={key:2,class:"fp-body"},vE=["srcdoc","title"],gE={key:1,class:"fp-code"},hE={class:"fp-line-table"},yE=["data-line"],kE={class:"fp-gutter"},bE=["innerHTML"],wE={key:3,class:"fp-body fp-pdf-wrap"},SE=["src","title"],CE={key:1,class:"fp-binary-card"},_E={class:"fp-binary-label"},ME={key:4,class:"fp-body fp-table-wrap"},$E={class:"fp-table"},xE=["data-line"],TE={key:5,class:"fp-body fp-image-wrap"},IE=["src","alt"],AE={key:1,class:"fp-binary-card"},PE={class:"fp-binary-icon"},EE={class:"fp-binary-label"},BE={key:6,class:"fp-body fp-image-wrap"},RE=["src"],LE={key:1,class:"fp-binary-card"},DE={class:"fp-binary-icon"},OE={class:"fp-binary-label"},zE={key:7,class:"fp-body fp-code"},FE={class:"fp-line-table"},NE=["data-line"],WE={class:"fp-gutter"},qE=["innerHTML"],HE={key:8,class:"fp-body fp-binary-wrap"},UE={class:"fp-binary-card"},VE={class:"fp-binary-icon"},jE={class:"fp-binary-label"},KE=Ee({__name:"FilePreview",props:{file:{},loading:{type:Boolean},error:{},line:{},downloadUrl:{},closable:{type:Boolean},externalActions:{type:Boolean},openFile:{type:Function},workspaceRoot:{},openInApps:{}},emits:["close","openExternal","reveal","openInApp"],setup(e,{emit:t}){const{t:n}=Ye();function s(Me,xe){const Se=xe?xe.split("/").filter(Boolean):[];for(const Ae of Me.split("/"))Ae===""||Ae==="."||(Ae===".."?Se.pop():Se.push(Ae));return Se.join("/")}const o=zs("resolveImage",async Me=>Me),i=M(()=>{const Me=v.file?.path??"",xe=Me.lastIndexOf("/");return xe>0?Me.slice(0,xe):""});function u(Me){if(/^(https?:|data:|blob:)/i.test(Me)||Me.startsWith("/"))return Me;const xe=i.value;return xe?s(Me,xe):Me}async function p(Me){const xe=u(Me);return o?o(xe):xe}yo("resolveImage",p);function f(Me){let xe=Me.path;if(/^(https?:|mailto:|tel:|data:|blob:|#)/i.test(xe)||xe.startsWith("/"))return Me;for(const Ae of["#","?"]){const Je=xe.indexOf(Ae);Je!==-1&&(xe=xe.slice(0,Je))}const Se=i.value;return{...Me,path:s(xe,Se)}}const v=e,k=t;function x(Me){v.openFile?.(f(Me))}const g=T(null),m=M(()=>{const Me=v.file;if(!Me)return"binary";const xe=Me.mime??"",Se=Me.languageId??"",Ae=Me.path.toLowerCase();return xe==="text/markdown"||Se==="markdown"||Se==="md"||Ae.endsWith(".mdx")?"markdown":xe==="application/json"||Se==="json"?"json":xe==="text/html"||Se==="html"||Ae.endsWith(".html")||Ae.endsWith(".htm")?"html":xe==="application/pdf"||Ae.endsWith(".pdf")?"pdf":xe==="text/csv"||Se==="csv"||Ae.endsWith(".csv")?"csv":xe.startsWith("image/")?"image":xe.startsWith("video/")?"video":Me.isBinary?"binary":xe.startsWith("text/")||Se!==""?"text":"binary"});function $(Me){const xe=atob(Me),Se=Uint8Array.from(xe,Ae=>Ae.charCodeAt(0));return new TextDecoder().decode(Se)}const h=M(()=>{const Me=v.file;if(!Me)return"";if(Me.encoding==="base64")try{return $(Me.content)}catch{return Me.content}return Me.content}),y=M(()=>{if(m.value!=="json"||!v.file)return"";try{return JSON.stringify(JSON.parse(h.value),null,2)}catch{return h.value}}),S=M(()=>v.file?(m.value==="json"?y.value:h.value).split(`
+`):[]),B=M(()=>v.file?m.value==="json"?y.value:h.value:""),b=T(""),P=T(0),E=M(()=>{const Me=b.value.trim().toLowerCase();if(!Me)return[];const xe=[];return S.value.forEach((Se,Ae)=>{Se.toLowerCase().includes(Me)&&xe.push(Ae+1)}),xe});Ne(b,()=>{P.value=0});function R(Me,xe=!1){Me&&Xe(()=>{const Se=g.value?.querySelector(".fp-body"),Ae=Se?.querySelector(`[data-line="${Me}"]`);if(!Se||!Ae)return;xe&&(Se.scrollTop=0);const Je=Se.getBoundingClientRect(),ht=Ae.getBoundingClientRect(),qe=ht.top-Je.top+Se.scrollTop;Se.scrollTop=qe-Se.clientHeight/2+ht.height/2})}Ne(()=>[v.file?.path,v.line],()=>R(v.line,!0),{immediate:!0});function W(Me){const xe=E.value;xe.length!==0&&(P.value=(P.value+Me+xe.length)%xe.length,R(xe[P.value]))}function Q(Me){const xe=E.value;return{target:v.line===Me,hit:xe.includes(Me),active:xe[P.value]===Me}}function V(Me){return Me<1024?`${Me} B`:Me<1024*1024?`${(Me/1024).toFixed(1)} KB`:`${(Me/(1024*1024)).toFixed(1)} MB`}const C=T(!1),D=T(!1);function O(){v.file&&an(B.value).then(Me=>{Me&&(C.value=!0,setTimeout(()=>{C.value=!1},1400))})}function J(){v.file&&an(v.file.path).then(Me=>{Me&&(D.value=!0,setTimeout(()=>{D.value=!1},1400))})}const ve=T(!1),me=T({}),ze=T(null),ie=T(null),le=T(!1);function te(Me){ze.value?.el&&!ze.value.el.contains(Me.target)&&se()}function re(){if(ve.value){se();return}ve.value=!0,document.addEventListener("mousedown",te,!0),window.addEventListener("resize",se),Xe().then(()=>{const Me=ie.value?.el,xe=ze.value?.el;if(!Me||!xe)return;const Se=Me.getBoundingClientRect(),Ae=4,Je=8,ht=xe.offsetHeight??0,qe=xe.offsetWidth??0;let He=Se.bottom+Ae;He+ht>window.innerHeight-Je&&(He=Math.max(Je,Se.top-ht-Ae));let Ue=Se.right-qe;Ue{le.value=!1},1400))}function ae(Me){se(),v.file&&k("openInApp",Me,v.file.path,v.line)}const F=T("preview"),Y=T("preview"),ke=T("fit");function we(Me){F.value=Me}function Le(Me){Y.value=Me}function Ze(Me){ke.value=Me}Ne(m,Me=>{F.value=Me==="html"?"preview":"source",Y.value="preview",ke.value="fit"});const be=M(()=>{const Me=v.file;return!Me||m.value!=="image"?null:Me.sourceUrl?Me.sourceUrl:Me.encoding==="base64"?`data:${Me.mime};base64,${Me.content}`:Me.mime==="image/svg+xml"?`data:${Me.mime};charset=utf-8,${encodeURIComponent(Me.content)}`:null}),pe=M(()=>{const Me=v.file;return!Me||m.value!=="video"?null:Me.sourceUrl?Me.sourceUrl:Me.encoding==="base64"?`data:${Me.mime};base64,${Me.content}`:null}),ne=M(()=>{const Me=v.file;return!Me||m.value!=="pdf"?null:v.downloadUrl?v.downloadUrl:Me.encoding==="base64"?`data:${Me.mime};base64,${Me.content}`:null}),Z=M(()=>v.file?["",' ',` `,h.value].join(""):"");function oe(Me){const xe=[];let Se="",Ae=!1;for(let Je=0;JeS.value.slice(0,200).map(oe));function Be(Me){return Me.replaceAll("&","&").replaceAll("<","<").replaceAll(">",">").replaceAll('"',""")}function Ve(){const Me=v.file;if(!Me)return"";const xe=Me.languageId?.toLowerCase();return xe||(Me.path.split(".").pop()?.toLowerCase()??"")}function yt(Me){const xe=Ve();let Se=Be(Me);return m.value==="json"||xe==="json"||xe==="jsonc"?(Se=Se.replace(/("[^&]*?")(\s*:)/g,'$1 $2'),Se=Se.replace(/(:\s*)("[^&]*?")/g,'$1$2 '),Se=Se.replace(/\b(true|false|null)\b/g,'$1 '),Se=Se.replace(/(:\s*)(-?\d+(?:\.\d+)?)/g,'$1$2 '),Se):m.value==="html"||xe==="html"||xe==="xml"||xe==="svg"?(Se=Se.replace(/\s([A-Za-z_:][-A-Za-z0-9_:.]*)(=)/g,' $1 $2'),Se=Se.replace(/(".*?")/g,'$1 '),Se=Se.replace(/(<\/?)([A-Za-z][\w:-]*)/g,'$1$2 '),Se):(Se=Se.replace(/\b(async|await|break|case|catch|class|const|continue|else|export|extends|finally|for|from|function|if|import|interface|let|new|return|switch|throw|try|type|while)\b/g,'$1 '),Se=Se.replace(/(".*?"|'.*?')/g,'$1 '),Se=Se.replace(/(\/\/.*)$/g,''),Se)}function dt(Me,xe=55){return!Me||Me.length<=xe?Me:"…"+Me.slice(Me.length-xe+1)}return(Me,xe)=>(l(),c("div",{ref_key:"rootRef",ref:g,class:"file-preview"},[e.error&&!e.loading?(l(),c("div",KP,[r("span",null,d(e.error),1),e.closable?(l(),q(je,{key:0,variant:"secondary",size:"sm",onClick:xe[0]||(xe[0]=Se=>k("close"))},{default:L(()=>[ee(d(a(n)("filePreview.close")),1)]),_:1})):I("",!0)])):!e.file&&!e.loading?(l(),c("div",GP,d(a(n)("filePreview.empty")),1)):e.loading?(l(),c("div",QP,[xe[8]||(xe[8]=r("span",{class:"spinner"},null,-1)),r("span",null,d(a(n)("filePreview.loading")),1)])):e.file?(l(),c(de,{key:3},[w(Mo,{wrap:"",title:a(n)("common.preview"),closable:e.closable,"close-label":a(n)("filePreview.close"),onClose:xe[4]||(xe[4]=Se=>k("close"))},{default:L(()=>[w(gt,{text:e.file.path},{default:L(()=>[r("span",YP,d(dt(e.file.path)),1)]),_:1},8,["text"]),r("span",ZP,[e.file.lineCount?(l(),c("span",XP,d(a(n)("filePreview.lineCount",{count:e.file.lineCount})),1)):I("",!0),r("span",JP,d(V(e.file.size)),1)]),m.value==="html"?(l(),q(mn,{key:0,"model-value":F.value,size:"sm",options:[{value:"preview",label:a(n)("filePreview.preview")},{value:"source",label:a(n)("filePreview.source")}],"onUpdate:modelValue":we},null,8,["model-value","options"])):I("",!0),m.value==="markdown"?(l(),q(mn,{key:1,"model-value":Y.value,size:"sm",options:[{value:"preview",label:a(n)("filePreview.preview")},{value:"source",label:a(n)("filePreview.source")}],"onUpdate:modelValue":Le},null,8,["model-value","options"])):I("",!0),m.value==="image"?(l(),q(mn,{key:2,"model-value":ke.value,size:"sm",options:[{value:"fit",label:a(n)("filePreview.fit")},{value:"actual",label:a(n)("filePreview.actual")}],"onUpdate:modelValue":Ze},null,8,["model-value","options"])):I("",!0),m.value==="text"||m.value==="json"||m.value==="html"||m.value==="csv"?(l(),c("div",eE,[wt(r("input",{"onUpdate:modelValue":xe[1]||(xe[1]=Se=>b.value=Se),class:"fp-search-input",type:"search",placeholder:a(n)("filePreview.search")},null,8,tE),[[Dn,b.value]]),b.value.trim()?(l(),c("span",nE,d(E.value.length),1)):I("",!0),w(lt,{size:"sm",disabled:E.value.length===0,label:a(n)("filePreview.prevMatch"),onClick:xe[2]||(xe[2]=Se=>W(-1))},{default:L(()=>[w(X,{name:"arrow-up",size:"md"})]),_:1},8,["disabled","label"]),w(lt,{size:"sm",disabled:E.value.length===0,label:a(n)("filePreview.nextMatch"),onClick:xe[3]||(xe[3]=Se=>W(1))},{default:L(()=>[w(X,{name:"arrow-down",size:"md"})]),_:1},8,["disabled","label"])])):I("",!0),w(lt,{size:"sm",class:fe({copied:D.value}),label:D.value?a(n)("filePreview.copied"):a(n)("filePreview.copyPath"),onClick:J},{default:L(()=>[D.value?(l(),q(X,{key:1,class:"fp-check",name:"check",size:"md"})):(l(),q(X,{key:0,name:"link",size:"md"}))]),_:1},8,["class","label"]),e.externalActions?(l(),q(gt,{key:4,text:e.file.path},{default:L(()=>[w(lt,{ref_key:"openInTriggerRef",ref:ie,size:"sm",label:a(n)("filePreview.openInMenu"),onClick:re},{default:L(()=>[w(X,{name:"external-link",size:"md"})]),_:1},8,["label"])]),_:1},8,["text"])):I("",!0),e.downloadUrl?(l(),c("a",{key:5,class:"fp-download",href:e.downloadUrl,target:"_blank",rel:"noreferrer",download:"","aria-label":a(n)("filePreview.download")},[w(X,{name:"download",size:"md"})],8,sE)):I("",!0),!e.file.isBinary&&m.value!=="image"?(l(),q(lt,{key:6,size:"sm",class:fe({copied:C.value}),label:C.value?a(n)("filePreview.copied"):a(n)("filePreview.copy"),onClick:O},{default:L(()=>[C.value?(l(),q(X,{key:1,class:"fp-check",name:"check",size:"md"})):(l(),q(X,{key:0,name:"copy",size:"md"}))]),_:1},8,["class","label"])):I("",!0)]),_:1},8,["title","closable","close-label"]),(l(),q(ss,{to:"body"},[ve.value?(l(),q(Fn,{key:0,ref_key:"openInMenuRef",ref:ze,class:"fp-open-in",style:vt(me.value),onClick:xe[7]||(xe[7]=Oe(()=>{},["stop"]))},{default:L(()=>[w(st,{onClick:he},{default:L(()=>[w(X,{name:"link",size:"sm"}),ee(" "+d(le.value?a(n)("filePreview.copied"):a(n)("filePreview.copyAbsolutePath")),1)]),_:1}),w(st,{separator:""}),w(st,{onClick:xe[5]||(xe[5]=Se=>{k("openExternal"),se()})},{default:L(()=>[w(X,{name:"external-link",size:"sm"}),ee(" "+d(a(n)("filePreview.openInEditor")),1)]),_:1}),(l(!0),c(de,null,Pe(e.openInApps??[],Se=>(l(),q(st,{key:Se,onClick:Ae=>ae(Se)},{default:L(()=>[w(X,{name:"code",size:"sm"}),ee(" "+d(a(n)("filePreview.openInApp",{app:Se})),1)]),_:2},1032,["onClick"]))),128)),w(st,{separator:""}),w(st,{onClick:xe[6]||(xe[6]=Se=>{k("reveal"),se()})},{default:L(()=>[w(X,{name:"folder",size:"sm"}),ee(" "+d(a(n)("filePreview.reveal")),1)]),_:1})]),_:1},8,["style"])):I("",!0)])),m.value==="markdown"?(l(),c("div",{key:0,class:fe(["fp-body",{"fp-markdown":Y.value==="preview"}])},[Y.value==="preview"?(l(),q(ki,{key:0,text:h.value,"open-file":v.openFile?x:void 0},null,8,["text","open-file"])):(l(),c("div",oE,[r("div",iE,[(l(!0),c(de,null,Pe(S.value,(Se,Ae)=>(l(),c("div",{key:Ae,class:fe(["fp-line-row",Q(Ae+1)]),"data-line":Ae+1},[r("span",lE,d(Ae+1),1),r("span",{class:"fp-line-text",innerHTML:yt(Se)},null,8,rE)],10,aE))),128))])]))],2)):m.value==="json"?(l(),c("div",uE,[r("div",cE,[(l(!0),c(de,null,Pe(S.value,(Se,Ae)=>(l(),c("div",{key:Ae,class:fe(["fp-line-row",Q(Ae+1)]),"data-line":Ae+1},[r("span",pE,d(Ae+1),1),r("span",{class:"fp-line-text",innerHTML:yt(Se)},null,8,fE)],10,dE))),128))])])):m.value==="html"?(l(),c("div",mE,[F.value==="preview"?(l(),c("iframe",{key:0,class:"fp-html-frame",sandbox:"",srcdoc:Z.value,title:e.file.path},null,8,vE)):(l(),c("div",gE,[r("div",hE,[(l(!0),c(de,null,Pe(S.value,(Se,Ae)=>(l(),c("div",{key:Ae,class:fe(["fp-line-row",Q(Ae+1)]),"data-line":Ae+1},[r("span",kE,d(Ae+1),1),r("span",{class:"fp-line-text",innerHTML:yt(Se)},null,8,bE)],10,yE))),128))])]))])):m.value==="pdf"?(l(),c("div",wE,[ne.value?(l(),c("iframe",{key:0,class:"fp-pdf-frame",src:ne.value,title:e.file.path},null,8,SE)):(l(),c("div",CE,[r("span",_E,d(a(n)("filePreview.pdfNoPreview")),1)]))])):m.value==="csv"?(l(),c("div",ME,[r("table",$E,[r("tbody",null,[(l(!0),c(de,null,Pe(K.value,(Se,Ae)=>(l(),c("tr",{key:Ae,class:fe(Q(Ae+1)),"data-line":Ae+1},[r("th",null,d(Ae+1),1),(l(!0),c(de,null,Pe(Se,(Je,ht)=>(l(),c("td",{key:ht},d(Je),1))),128))],10,xE))),128))])])])):m.value==="image"?(l(),c("div",TE,[be.value?(l(),c("img",{key:0,src:be.value,alt:e.file.path,class:fe(["fp-image",{actual:ke.value==="actual"}])},null,10,IE)):(l(),c("div",AE,[r("span",PE,[w(X,{name:"image-off",size:"lg"})]),r("span",EE,d(a(n)("filePreview.imageNoPreview",{mime:e.file.mime,size:V(e.file.size)})),1)]))])):m.value==="video"?(l(),c("div",BE,[pe.value?(l(),c("video",{key:0,src:pe.value,class:"fp-image",controls:"",playsinline:"",preload:"metadata"},null,8,RE)):(l(),c("div",LE,[r("span",DE,[w(X,{name:"image-off",size:"lg"})]),r("span",OE,d(a(n)("filePreview.videoNoPreview",{mime:e.file.mime,size:V(e.file.size)})),1)]))])):m.value==="text"?(l(),c("div",zE,[r("div",FE,[(l(!0),c(de,null,Pe(S.value,(Se,Ae)=>(l(),c("div",{key:Ae,class:fe(["fp-line-row",Q(Ae+1)]),"data-line":Ae+1},[r("span",WE,d(Ae+1),1),r("span",{class:"fp-line-text",innerHTML:yt(Se)},null,8,qE)],10,NE))),128))])])):(l(),c("div",HE,[r("div",UE,[r("span",VE,[w(X,{name:"file-off",size:"lg"})]),r("span",jE,d(a(n)("filePreview.binaryNoPreview",{mime:e.file.mime||a(n)("filePreview.unknownType"),size:V(e.file.size)})),1)])]))],64)):I("",!0)],512))}}),GE=Re(KE,[["__scopeId","data-v-6fe88fd7"]]),QE={class:"tp"},YE=Ee({__name:"ThinkingPanel",props:{text:{},subtitle:{}},emits:["close"],setup(e,{emit:t}){const n=e,s=t,{t:o}=Ye(),i=T(null);return Ne(()=>n.text,()=>{const u=i.value;!u||!(u.scrollHeight-u.scrollTop-u.clientHeight<24)||Xe(()=>{i.value&&(i.value.scrollTop=i.value.scrollHeight)})},{immediate:!0}),(u,p)=>(l(),c("div",QE,[w(Mo,{title:a(o)("common.preview"),subtitle:e.subtitle??a(o)("thinking.panelTitle"),"close-label":a(o)("thinking.close"),onClose:p[0]||(p[0]=f=>s("close"))},null,8,["title","subtitle","close-label"]),r("pre",{ref_key:"bodyEl",ref:i,class:"tp-body"},d(e.text),513)]))}}),Fu=Re(YE,[["__scopeId","data-v-98c343f3"]]),ZE={class:"ap"},XE={key:0,class:"ap-type"},JE={key:1,class:"ap-reason"},eB={key:2,class:"ap-field"},tB={class:"ap-field-label"},nB={class:"ap-field-body"},sB={key:3,class:"ap-field"},oB={class:"ap-field-label"},iB={class:"ap-field-body ap-live"},aB={key:4,class:"ap-field"},lB={class:"ap-field-label"},rB={class:"ap-field-body ap-progress"},uB={key:0,class:"ap-call"},cB={key:1,class:"ap-output"},dB=["onClick"],pB={key:5,class:"ap-field"},fB={class:"ap-field-label"},mB={class:"ap-field-body"},vB=8,Nu=5,Wu=2,gB=Ee({__name:"AgentDetailPanel",props:{member:{}},emits:["close"],setup(e,{emit:t}){const n=e,s=t,{t:o}=Ye(),i=M(()=>(n.member.outputLines??[]).map(h=>h.trimEnd()).filter(h=>h.length>0)),u=M(()=>(n.member.text??"").trimEnd());function p(h){const y=[];let S=null,B=0;for(const b of h)b.startsWith("Calling ")?(S={key:`g${B++}`,call:b,output:[]},y.push(S)):S?S.output.push(b):(S={key:`g${B++}`,call:"",output:[b]},y.push(S));return y}const f=M(()=>p(i.value)),v=T(new Set);function k(h){return v.value.has(h)}function x(h){const y=new Set(v.value);y.has(h)?y.delete(h):y.add(h),v.value=y}function g(h){return h.output.length-Nu-Wu}function m(h){switch(h){case"queued":return"Queued";case"working":return"Working";case"suspended":return"Suspended";case"completed":return"Completed";case"failed":return"Failed"}}const $=T(null);return Ne(()=>i.value.length+u.value.length,()=>{const h=$.value;!h||!(h.scrollHeight-h.scrollTop-h.clientHeight<24)||Xe(()=>{$.value&&($.value.scrollTop=$.value.scrollHeight)})},{immediate:!0}),(h,y)=>(l(),c("div",ZE,[w(Mo,{title:a(o)("common.preview"),subtitle:e.member.name,"close-label":a(o)("thinking.close"),onClose:y[0]||(y[0]=S=>s("close"))},{default:L(()=>[w(Et,{variant:"neutral",size:"sm",class:"ap-phase"},{default:L(()=>[ee(d(m(e.member.phase)),1)]),_:1})]),_:1},8,["title","subtitle","close-label"]),r("div",{ref_key:"bodyEl",ref:$,class:"ap-body"},[e.member.subagentType?(l(),c("div",XE,d(e.member.subagentType),1)):I("",!0),e.member.suspendedReason?(l(),c("div",JE,d(e.member.suspendedReason),1)):I("",!0),e.member.prompt?(l(),c("div",eB,[r("span",tB,d(a(o)("tasks.fieldTask")),1),r("div",nB,d(e.member.prompt),1)])):I("",!0),u.value?(l(),c("div",sB,[r("span",oB,d(a(o)("tasks.fieldOutput")),1),r("div",iB,d(u.value),1)])):I("",!0),f.value.length>0?(l(),c("div",aB,[r("span",lB,d(a(o)("tasks.fieldProgress")),1),r("div",rB,[(l(!0),c(de,null,Pe(f.value,S=>(l(),c("div",{key:S.key,class:"ap-group"},[S.call?(l(),c("div",uB,[y[1]||(y[1]=r("span",{class:"ap-glyph","aria-hidden":"true"},"▶",-1)),ee(" "+d(S.call),1)])):I("",!0),S.output.length>0?(l(),c("div",cB,[S.output.length<=vB||k(S.key)?(l(!0),c(de,{key:0},Pe(S.output,(B,b)=>(l(),c("div",{key:b,class:"ap-out-line"},d(B),1))),128)):(l(),c(de,{key:1},[(l(!0),c(de,null,Pe(S.output.slice(0,Nu),(B,b)=>(l(),c("div",{key:b,class:"ap-out-line"},d(B),1))),128)),r("button",{type:"button",class:"ap-fold",onClick:B=>x(S.key)}," … ("+d(g(S))+" more) ",9,dB),(l(!0),c(de,null,Pe(S.output.slice(-Wu),(B,b)=>(l(),c("div",{key:"t"+b,class:"ap-out-line"},d(B),1))),128))],64))])):I("",!0)]))),128))])])):I("",!0),e.member.summary?(l(),c("div",pB,[r("span",fB,d(a(o)("tasks.fieldResult")),1),r("div",mB,d(e.member.summary),1)])):I("",!0)],512)]))}}),hB=Re(gB,[["__scopeId","data-v-59df0789"]]),pp=["off","protanopia-deuteranopia","tritanopia"],yB=["pierre-light","pierre-light-protanopia-deuteranopia","pierre-light-tritanopia","pierre-dark","pierre-dark-protanopia-deuteranopia","pierre-dark-tritanopia"];function kB(e){return typeof e=="string"&&pp.includes(e)}function qu(e){return kB(e)?e:"off"}function bB(e,t){const n=e?"pierre-dark":"pierre-light";return t==="off"?n:`${n}-${t}`}function wB(e,t,n=yB){const s=bB(e,t);return n.includes(s)?s:null}const SB={"pierre-light":{add:"#18a46c",addSoft:"#18a46c33",del:"#d52c36",delSoft:"#d52c3633"},"pierre-light-protanopia-deuteranopia":{add:"#216cab",addSoft:"#216cab33",del:"#ac6023",delSoft:"#ac602333"},"pierre-light-tritanopia":{add:"#1e858e",addSoft:"#1e858e33",del:"#d5512f",delSoft:"#d5512f33"},"pierre-dark":{add:"#07c480",addSoft:"#07c4801a",del:"#ff2e3f",delSoft:"#ff2e3f1a"},"pierre-dark-protanopia-deuteranopia":{add:"#97c4ff",addSoft:"#97c4ff1a",del:"#fe8c2c",delSoft:"#fe8c2c1a"},"pierre-dark-tritanopia":{add:"#92dde4",addSoft:"#92dde41a",del:"#ff855e",delSoft:"#ff855e1a"}},CB=["data-theme"],_B={key:0,class:"hunk-text"},MB={class:"dl-gutter old"},$B={class:"dl-gutter new"},xB={class:"dl-sign"},TB={class:"dl-text"},IB=Ee({__name:"DiffLines",props:{lines:{},theme:{default:null}},setup(e){const t=e,n=M(()=>{const u=t.theme?SB[t.theme]:void 0;return u?{"--dl-add":u.add,"--dl-add-soft":u.addSoft,"--dl-del":u.del,"--dl-del-soft":u.delSoft}:null});function s(u){return u.oldNo!==void 0?String(u.oldNo):""}function o(u){return u.newNo!==void 0?String(u.newNo):""}function i(u){return`dl-${u.type}`}return(u,p)=>(l(),c("div",{class:"diff-lines","data-theme":n.value?t.theme:null,style:vt(n.value)},[(l(!0),c(de,null,Pe(e.lines,(f,v)=>(l(),c("div",{key:v,class:fe(["dl",i(f)])},[f.type==="hunk"?(l(),c("span",_B,d(f.text),1)):(l(),c(de,{key:1},[r("span",MB,d(s(f)),1),r("span",$B,d(o(f)),1),r("span",xB,d(f.type==="add"?"+":f.type==="del"?"-":" "),1),r("span",TB,d(f.text),1)],64))],2))),128))],12,CB))}}),fp=Re(IB,[["__scopeId","data-v-26e24204"]]),AB={class:"tdp"},PB={class:"tdp-body"},EB={key:1,class:"tdp-output"},BB={key:2,class:"tdp-empty"},RB=Ee({__name:"ToolDiffPanel",props:{target:{}},emits:["close"],setup(e,{emit:t}){const n=t,{t:s}=Ye();return(o,i)=>(l(),c("div",AB,[w(Mo,{title:e.target.title,subtitle:e.target.path,"close-label":a(s)("thinking.close"),onClose:i[0]||(i[0]=u=>n("close"))},null,8,["title","subtitle","close-label"]),r("div",PB,[e.target.lines&&e.target.lines.length>0?(l(),q(fp,{key:0,lines:e.target.lines},null,8,["lines"])):e.target.output&&e.target.output.length>0?(l(),c("div",EB,[(l(!0),c(de,null,Pe(e.target.output,(u,p)=>(l(),c("div",{key:p},d(u),1))),128))])):(l(),c("div",BB,d(a(s)("diff.noDiff")),1))])]))}}),LB=Re(RB,[["__scopeId","data-v-76f2fbca"]]),DB={class:"sc"},OB={key:0,class:"sc-empty"},zB={key:2,class:"sc-loading","aria-hidden":"true"},FB={class:"sc-composer"},NB=["placeholder"],WB=["aria-label","disabled"],qB=Ee({__name:"SideChatPanel",props:{turns:{},running:{type:Boolean},sending:{type:Boolean},title:{},subtitle:{}},emits:["send","close"],setup(e,{emit:t}){const n=e,s=t,{t:o}=Ye(),i=M(()=>n.turns.find(B=>B.role==="user")?.text?.trim()??""),u=M(()=>n.title?.trim()||o("sideChat.title")),p=M(()=>n.subtitle?.trim()?n.subtitle.trim():i.value||o("sideChat.subtitle")),f=T(""),v=T(null),k=T(null);function x(){const S=f.value.trim();S&&(s("send",S),f.value="",Xe(()=>{v.value&&(v.value.style.height="auto"),g()}))}function g(){const S=k.value;S&&(S.scrollTop=S.scrollHeight)}const m=M(()=>{const S=n.turns;if(S.length===0)return"0";const B=S.at(-1),b=B.thinking?.length??0,P=B.tools?.reduce((E,R)=>E+R.name.length+(R.arg?.length??0)+(R.output?.join("").length??0),0)??0;return`${S.length}:${B.text.length}:${b}:${P}`});Ne(m,async()=>{!n.running&&!n.sending||(await Xe(),g())});const $=M(()=>n.sending?n.turns.at(-1)?.role==="user":!1);function h(S){S.key==="Enter"&&!S.shiftKey&&!S.isComposing&&(S.preventDefault(),x())}function y(){const S=v.value;S&&(S.style.height="auto",S.style.height=`${Math.min(S.scrollHeight,160)}px`)}return(S,B)=>(l(),c("div",DB,[w(Mo,{title:u.value,subtitle:p.value,"close-label":a(o)("thinking.close"),onClose:B[0]||(B[0]=b=>s("close"))},null,8,["title","subtitle","close-label"]),r("div",{ref_key:"bodyRef",ref:k,class:"sc-body"},[e.turns.length===0?(l(),c("div",OB,d(a(o)("sideChat.empty")),1)):(l(),q(ep,{key:1,turns:e.turns,approvals:[],"turn-active":e.running,working:e.sending||e.running},null,8,["turns","turn-active","working"])),$.value?(l(),c("div",zB,[w(Zd,{label:a(o)("conversation.waitingForResponse")},null,8,["label"])])):I("",!0)],512),r("div",FB,[wt(r("textarea",{ref_key:"inputRef",ref:v,"onUpdate:modelValue":B[1]||(B[1]=b=>f.value=b),class:"sc-input",rows:"1",placeholder:a(o)("sideChat.placeholder"),onInput:y,onKeydown:h},null,40,NB),[[Dn,f.value]]),w(gt,{text:a(o)("sideChat.send")},{default:L(()=>[r("button",{type:"button",class:"sc-send","aria-label":a(o)("sideChat.send"),disabled:!f.value.trim(),onClick:x},[w(X,{name:"arrow-right",size:"sm"})],8,WB)]),_:1},8,["text"])])]))}}),HB=Re(qB,[["__scopeId","data-v-867ab366"]]),UB={class:"changes-pane"},VB={class:"dv-path"},jB={class:"diff-head"},KB={class:"back-label"},GB={class:"dv-cb-label"},QB={key:0,class:"empty-state"},YB={key:1,class:"dv-lines-wrap"},ZB={key:2,class:"empty-state"},XB={class:"dv-change-count"},JB={class:"ch-head"},eR={class:"br-label"},tR={class:"br-name"},nR={key:0,class:"sync-info"},sR={key:0,class:"ahead"},oR={key:0,class:"behind"},iR={key:1,class:"empty-head"},aR={key:0,class:"ch-list"},lR=["onClick"],rR={class:"fpath"},uR={key:1,class:"ch-list ch-tree"},cR={class:"tree-list"},dR=["onClick"],pR={class:"tree-name"},fR=["onClick"],mR={class:"tree-name"},vR={key:2,class:"empty-state"},gR={key:3,class:"empty-state"},hR=Ee({__name:"DiffView",props:{changes:{},gitInfo:{},fileDiff:{},selectedDiffPath:{},fileDiffLoading:{type:Boolean},mode:{default:"full"},hideBack:{type:Boolean,default:!1},closable:{type:Boolean,default:!0}},emits:["open","back","close"],setup(e,{emit:t}){const{t:n}=Ye(),s=e,o=t;function i(ie){const le=ie.toLowerCase();return le==="modified"?"modified":le==="added"?"added":le==="deleted"?"deleted":le==="renamed"?"renamed":le==="untracked"?"untracked":le==="conflicted"?"conflicted":le==="ignored"?"ignored":le==="clean"?"clean":"unknown"}const u={modified:"M",added:"A",deleted:"D",renamed:"R",untracked:"U",conflicted:"C",ignored:"I",clean:"·",unknown:"?"};function p(ie){return u[i(ie)]??"?"}function f(ie,le=60){return ie.length<=le?ie:"…"+ie.slice(ie.length-le+1)}const v=M(()=>s.gitInfo!==null),k=M(()=>s.changes.length>0),x=M(()=>(s.selectedDiffPath??null)!==null),g=M(()=>s.mode==="detail"||s.mode==="full"&&x.value),m=M(()=>s.fileDiff??[]),$=M(()=>s.fileDiffLoading===!0),h=Hd(),y=T(qu(Dt(Ge.diffColorblind))),S=M(()=>y.value==="off"?null:wB(h.value,y.value)),B={off:"colorblindOff","protanopia-deuteranopia":"colorblindRedGreen",tritanopia:"colorblindBlueYellow"},b=M(()=>pp.map(ie=>({value:ie,label:n(`diff.${B[ie]}`)})));function P(ie){const le=qu(ie);y.value=le,Nt(Ge.diffColorblind,le)}function E(ie){o("open",ie)}function R(){o("back")}function W(){o("close")}const Q=T("list");function V(ie){Q.value=ie}function C(ie){const le={children:[]},te=[...ie].sort((re,se)=>re.path.localeCompare(se.path));for(const re of te){const se=re.path.split("/");let he=le;for(let ae=0;aeLe.name===F&&Le.kind===(Y?"file":"folder"));we||(we={name:F,path:ke,kind:Y?"file":"folder",status:Y?re.status:void 0,children:[]},he.children.push(we)),he=we}}return le.children}const D=M(()=>C(s.changes)),O=T(new Set);function J(ie){return!O.value.has(ie)}const ve=M(()=>{const ie=[];function le(te,re){for(const se of te)ie.push({node:se,depth:re}),se.kind==="folder"&&J(se.path)&&le(se.children,re+1)}return le(D.value,0),ie});function me(ie){const le=new Set(O.value);le.has(ie.path)?le.delete(ie.path):le.add(ie.path),O.value=le}function ze(ie){return`${16+ie*16}px`}return(ie,le)=>(l(),c("div",UB,[g.value?(l(),c(de,{key:0},[w(Mo,{title:a(n)("diff.title"),closable:e.closable,"close-label":a(n)("diff.close"),onClose:W},{default:L(()=>[w(gt,{text:e.selectedDiffPath??""},{default:L(()=>[r("span",VB,d(f(e.selectedDiffPath??"",50)),1)]),_:1},8,["text"])]),_:1},8,["title","closable","close-label"]),r("div",jB,[e.hideBack?I("",!0):(l(),q(je,{key:0,variant:"ghost",size:"sm",onClick:R},{default:L(()=>[le[0]||(le[0]=r("span",{"aria-hidden":"true"},"←",-1)),r("span",KB,d(a(n)("diff.back")),1)]),_:1})),m.value.length>0?(l(),c(de,{key:1},[r("span",GB,d(a(n)("diff.colorblind")),1),w(mn,{class:"dv-cb-toggle","model-value":y.value,size:"sm",options:b.value,"onUpdate:modelValue":P},null,8,["model-value","options"])],64)):I("",!0)]),$.value?(l(),c("div",QB,d(a(n)("diff.loading")),1)):m.value.length>0?(l(),c("div",YB,[w(fp,{lines:m.value,theme:S.value},null,8,["lines","theme"])])):(l(),c("div",ZB,d(a(n)("diff.noDiff")),1))],64)):(l(),c(de,{key:1},[w(Mo,{title:a(n)("diff.title"),closable:e.closable,"close-label":a(n)("diff.close"),onClose:W},{default:L(()=>[r("span",XB,d(a(n)("diff.changeCount",{count:e.changes.length})),1),w(mn,{"model-value":Q.value,size:"sm",options:[{value:"list",label:a(n)("diff.list")},{value:"tree",label:a(n)("diff.tree")}],"onUpdate:modelValue":V},null,8,["model-value","options"])]),_:1},8,["title","closable","close-label"]),r("div",JB,[v.value?(l(),c(de,{key:0},[r("span",eR,d(a(n)("diff.branch")),1),r("span",tR,d(e.gitInfo.branch),1),e.gitInfo.ahead>0||e.gitInfo.behind>0?(l(),c("span",nR,[w(gt,{text:a(n)("diff.aheadTitle")},{default:L(()=>[e.gitInfo.ahead>0?(l(),c("span",sR,"↑"+d(e.gitInfo.ahead),1)):I("",!0)]),_:1},8,["text"]),w(gt,{text:a(n)("diff.behindTitle")},{default:L(()=>[e.gitInfo.behind>0?(l(),c("span",oR,"↓"+d(e.gitInfo.behind),1)):I("",!0)]),_:1},8,["text"])])):I("",!0)],64)):(l(),c("span",iR,d(a(n)("diff.empty")),1))]),k.value&&Q.value==="list"?(l(),c("div",aR,[(l(!0),c(de,null,Pe(e.changes,te=>(l(),q(gt,{key:te.path,text:te.path},{default:L(()=>[r("button",{type:"button",class:"ch-row",onClick:re=>E(te.path)},[r("span",{class:fe(["badge",i(te.status)])},d(p(te.status)),3),r("span",rR,d(f(te.path)),1)],8,lR)]),_:2},1032,["text"]))),128))])):k.value&&Q.value==="tree"?(l(),c("div",uR,[r("ul",cR,[(l(!0),c(de,null,Pe(ve.value,({node:te,depth:re})=>(l(),c("li",{key:te.path,class:"tree-node"},[te.kind==="folder"?(l(),c("button",{key:0,type:"button",class:"tree-row tree-folder",style:vt({paddingLeft:ze(re)}),onClick:se=>me(te)},[w(X,{class:"tree-icon",name:"folder-solid",size:"sm"}),r("span",pR,d(te.name),1)],12,dR)):(l(),q(gt,{key:1,text:te.path},{default:L(()=>[r("button",{type:"button",class:"tree-row tree-file",style:vt({paddingLeft:ze(re)}),onClick:se=>E(te.path)},[r("span",{class:fe(["badge",i(te.status)])},d(p(te.status)),3),r("span",mR,d(te.name),1)],12,fR)]),_:2},1032,["text"]))]))),128))])])):v.value?(l(),c("div",vR,d(a(n)("diff.clean")),1)):(l(),c("div",gR,d(a(n)("diff.empty")),1))],64))]))}}),yR=Re(hR,[["__scopeId","data-v-6591e558"]]),kR={key:0,class:"rp-tabs",role:"tablist","aria-label":"Right panel tabs"},bR=["aria-selected","tabindex","title","onClick","onKeydown"],wR={class:"rp-tab-label"},SR=Ee({__name:"RightPanelTabs",props:{tabs:{},activeTabId:{default:null},labels:{}},emits:["activate","close"],setup(e,{emit:t}){const n=e,s=t,{t:o}=Ye();function i(p){p!==n.activeTabId&&s("activate",p)}function u(p,f){const v=n.tabs;if(v.length!==0){if(p.key==="ArrowRight"){p.preventDefault();const k=v[(f+1)%v.length];k!==void 0&&s("activate",k)}else if(p.key==="ArrowLeft"){p.preventDefault();const k=v[(f-1+v.length)%v.length];k!==void 0&&s("activate",k)}}}return(p,f)=>e.tabs.length>0?(l(),c("div",kR,[(l(!0),c(de,null,Pe(e.tabs,(v,k)=>(l(),c("button",{key:v,type:"button",class:fe(["rp-tab",{"is-on":v===e.activeTabId}]),role:"tab","aria-selected":v===e.activeTabId,tabindex:v===e.activeTabId?0:-1,title:e.labels[v],onClick:x=>i(v),onKeydown:x=>u(x,k)},[r("span",wR,d(e.labels[v]),1),w(lt,{class:"rp-tab-close",size:"sm",label:a(o)("panel.closeTab"),onClick:Oe(x=>s("close",v),["stop"])},{default:L(()=>[w(X,{name:"close",size:"sm"})]),_:1},8,["label","onClick"])],42,bR))),128))])):I("",!0)}}),CR=Re(SR,[["__scopeId","data-v-f674f6b6"]]);function ir(e,t){let n=null;xt(()=>{n=typeof document<"u"&&document.activeElement instanceof HTMLElement?document.activeElement:null,Xe(()=>{const s=t?.value??e.value;try{s?.focus()}catch{}})}),_n(()=>{const s=n;if(n=null,!(!s||typeof document>"u"||!document.contains(s)))try{s.focus()}catch{}})}function mp(e){const t=new Set,n=[];for(const s of e)t.has(s.provider)||(t.add(s.provider),n.push(s.provider));return n}function vp(e,t){const n=t.query.trim().toLowerCase(),s=e.filter(i=>{if(t.activeTab!=="all"&&i.provider!==t.activeTab)return!1;if(!n)return!0;const u=(i.displayName??i.model).toLowerCase().includes(n),p=i.provider.toLowerCase().includes(n),f=i.id.toLowerCase().includes(n);return u||p||f});if(t.activeTab!=="all")return s;const o=new Set(t.starredIds??[]);return s.slice().sort((i,u)=>{const p=o.has(i.id)?1:0;return(o.has(u.id)?1:0)-p})}const _R={class:"search-wrap"},MR={key:0,class:"tab-strip"},$R={key:1,class:"state-row"},xR={key:2,class:"state-row unavail"},TR={key:3,class:"model-list"},IR=["aria-selected","onClick","onMouseenter"],AR={class:"check"},PR={class:"model-main"},ER={class:"model-name"},BR={class:"model-id"},RR={key:0,class:"caps"},LR={class:"model-provider"},DR={class:"model-ctx"},OR={key:0,class:"empty"},zR={class:"footer-hint"},FR=Ee({__name:"ModelPicker",props:{models:{},current:{},starredIds:{},loading:{type:Boolean},unavailable:{type:Boolean}},emits:["select","toggle-star","close"],setup(e,{emit:t}){const{t:n}=Ye(),s=e,o=t,i=M(()=>new Set(s.starredIds??[]));function u(b){return i.value.has(b)}const p=T(""),f=T(null),v=T(null),k=T("all");ir(v,f);const x=M(()=>{const b=mp(s.models);return[{id:"all",label:n("model.allTab")},...b.map(P=>({id:P,label:P}))]}),g=M(()=>vp(s.models,{query:p.value,activeTab:k.value,starredIds:s.starredIds??[]})),m=M(()=>g.value),$=T(0);Ne([p,k],()=>{$.value=0}),Ne(x,b=>{b.some(P=>P.id===k.value)||(k.value="all")}),Ne(m,b=>{$.value=Math.min($.value,Math.max(b.length-1,0))});function h(b){if(b.key==="Escape"){o("close");return}if(b.key==="ArrowDown")b.preventDefault(),$.value=Math.min($.value+1,m.value.length-1);else if(b.key==="ArrowUp")b.preventDefault(),$.value=Math.max($.value-1,0);else if(b.key==="Enter"){const P=m.value[$.value];P&&o("select",P.id)}}xt(()=>{document.addEventListener("keydown",h)}),kt(()=>{document.removeEventListener("keydown",h)});function y(b){o("select",b)}function S(b){return m.value.indexOf(b)}function B(b){k.value=b}return(b,P)=>(l(),q(ms,{open:!0,"close-on-esc":!1,title:a(n)("model.title"),size:"xl",height:"fixed",onClose:P[1]||(P[1]=E=>o("close"))},{default:L(()=>[r("div",{ref_key:"dialogRef",ref:v,class:"mp"},[r("div",_R,[w(qn,{ref_key:"searchRef",ref:f,modelValue:p.value,"onUpdate:modelValue":P[0]||(P[0]=E=>p.value=E),placeholder:a(n)("model.searchPlaceholder"),autocomplete:"off",spellcheck:"false",autofocus:""},null,8,["modelValue","placeholder"])]),x.value.length>1?(l(),c("div",MR,[(l(!0),c(de,null,Pe(x.value,E=>(l(),q(je,{key:E.id,variant:E.id===k.value?"secondary":"ghost",size:"sm",onClick:R=>B(E.id)},{default:L(()=>[ee(d(E.label),1)]),_:2},1032,["variant","onClick"]))),128))])):I("",!0),e.loading?(l(),c("div",$R,[w(Gt,{size:"sm"}),r("span",null,d(a(n)("model.loading")),1)])):e.unavailable?(l(),c("div",xR,[w(X,{name:"alert-triangle",size:"lg"}),r("span",null,d(a(n)("model.unavailable")),1)])):(l(),c("div",TR,[(l(!0),c(de,null,Pe(m.value,E=>(l(),c("div",{key:E.id,class:fe(["model-row",{"is-current":E.id===e.current,"is-selected":S(E)===$.value}]),role:"option","aria-selected":E.id===e.current,onClick:R=>y(E.id),onMouseenter:R=>$.value=S(E)},[r("span",AR,[E.id===e.current?(l(),q(X,{key:0,name:"check",size:"sm"})):I("",!0)]),r("span",PR,[r("span",ER,d(E.displayName??E.model),1),r("span",BR,d(E.id),1),E.capabilities&&E.capabilities.length>0?(l(),c("span",RR,[(l(!0),c(de,null,Pe(E.capabilities,R=>(l(),q(Et,{key:R,variant:"info",size:"sm"},{default:L(()=>[ee(d(R),1)]),_:2},1024))),128))])):I("",!0)]),r("span",LR,d(E.provider),1),r("span",DR,d(a(n)("model.contextSuffix",{size:a(fs)(E.maxContextSize)})),1),w(lt,{size:"sm",label:u(E.id)?a(n)("model.unstarTitle"):a(n)("model.starTitle"),onClick:Oe(R=>o("toggle-star",E.id),["stop"])},{default:L(()=>[u(E.id)?(l(),q(X,{key:0,name:"star",size:"md"})):(l(),q(X,{key:1,name:"star-outline",size:"md"}))]),_:2},1032,["label","onClick"])],42,IR))),128)),m.value.length===0&&!e.loading&&!e.unavailable?(l(),c("div",OR,d(s.models.length===0?a(n)("model.emptyNoModels"):a(n)("model.emptyNoMatch")),1)):I("",!0)])),r("div",zR,d(a(n)("model.footerHint")),1)],512)]),_:1},8,["title"]))}}),NR=Re(FR,[["__scopeId","data-v-d5bb878a"]]),WR={key:0,class:"ui-field__label"},qR={key:1,class:"ui-field__error"},HR={key:2,class:"ui-field__hint"},UR=Ee({__name:"Field",props:{label:{},hint:{},error:{}},setup(e){return(t,n)=>(l(),c("div",{class:fe(["ui-field",{"has-error":!!e.error}])},[e.label?(l(),c("label",WR,d(e.label),1)):I("",!0),At(t.$slots,"default",{},void 0,!0),e.error?(l(),c("span",qR,d(e.error),1)):e.hint?(l(),c("span",HR,d(e.hint),1)):I("",!0)],2))}}),Es=Re(UR,[["__scopeId","data-v-49bce958"]]),VR=["value","disabled"],jR=Ee({__name:"Select",props:{modelValue:{},size:{default:"md"},disabled:{type:Boolean},error:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:t}){const n=t;function s(o){n("update:modelValue",o.target.value)}return(o,i)=>(l(),c("select",{class:fe(["ui-select",[`ui-select--${e.size}`,{"has-error":e.error}]]),value:e.modelValue,disabled:e.disabled,onChange:s},[At(o.$slots,"default",{},void 0,!0)],42,VR))}}),Js=Re(jR,[["__scopeId","data-v-92a040fd"]]),KR={class:"prov-list"},GR={key:0,class:"state-row"},QR={key:1,class:"state-row unavail"},YR={key:2,class:"empty"},ZR={class:"prov-info"},XR={class:"prov-type"},JR={key:0,class:"prov-url"},eL={class:"prov-meta"},tL={key:0},nL={class:"prov-actions"},sL={key:0,class:"add-section"},oL={key:0,class:"add-btns"},iL={key:1,class:"add-form"},aL=["value"],lL={key:0,class:"add-error"},rL={class:"form-btns"},uL={key:2,class:"import-form"},cL={class:"import-head"},dL={class:"import-title"},pL={key:0,class:"state-row"},fL={key:1,class:"import-error"},mL={key:2,class:"empty"},vL={key:3,class:"catalog-list"},gL=["aria-disabled","onClick"],hL={class:"catalog-check"},yL={class:"catalog-main"},kL={class:"catalog-name"},bL={class:"catalog-id"},wL={key:0,class:"catalog-wire"},SL={class:"catalog-meta"},CL={key:2,class:"catalog-count"},_L={key:4,class:"catalog-selected"},ML={class:"form-btns"},$L={key:3,class:"import-form"},xL={class:"import-head"},TL={class:"import-title"},IL={key:0,class:"add-error"},AL={class:"form-btns"},PL={class:"footer-hint"},EL=Ee({__name:"ProviderManager",props:{providers:{},loading:{type:Boolean},unavailable:{type:Boolean},kimiOauthEnabled:{type:Boolean}},emits:["add","refresh","delete","openLogin","import-catalog","import-registry","close"],setup(e,{emit:t}){const{t:n}=Ye(),s=T(null);ir(s);const o=t;function i(he){o("delete",he)}const u=T(!1),p=Hn({type:"moonshot",apiKey:"",baseUrl:"",defaultModel:""}),f=T(""),v=["moonshot","anthropic","openai","custom"];function k(){p.type="moonshot",p.apiKey="",p.baseUrl="",p.defaultModel="",f.value="",u.value=!0}function x(){u.value=!1}function g(){if(!p.apiKey.trim()){f.value=n("providers.apiKeyRequired");return}f.value="",o("add",{type:p.type,apiKey:p.apiKey.trim()||void 0,baseUrl:p.baseUrl.trim()||void 0,defaultModel:p.defaultModel.trim()||void 0}),u.value=!1}const m=T(!1),$=T(""),h=T([]),y=T(!1),S=T(""),B=T(""),b=T("");let P;const E=M(()=>cb(h.value,$.value).map(Rr)),R=M(()=>h.value.find(he=>he.id===B.value)??null),W=M(()=>R.value===null?null:Rr(R.value));async function Q(he){y.value=!0,S.value="";try{h.value=await De().browseCatalogProviders(he)}catch{S.value=n("providers.import.catalogLoadError")}finally{y.value=!1}}Ne($,he=>{B.value="",b.value="",P!==void 0&&clearTimeout(P),P=setTimeout(()=>void Q(he),250)});function V(){m.value=!0,$.value="",B.value="",b.value="",S.value="",h.value=[],Q("")}function C(){m.value=!1,P!==void 0&&(clearTimeout(P),P=void 0)}function D(he){B.value=he,b.value=""}function O(){const he=R.value;he!==null&&(o("import-catalog",{catalogId:he.id,baseUrl:he.needsBaseUrl&&b.value.trim()||void 0}),C())}const J=T(!1),ve=Hn({url:"",apiKey:""}),me=T("");function ze(){ve.url="",ve.apiKey="",me.value="",J.value=!0}function ie(){J.value=!1}function le(){const he=ve.url.trim();if(he===""){me.value=n("providers.import.registryUrlRequired");return}me.value="",o("import-registry",{url:he,apiKey:ve.apiKey.trim()||void 0}),ie()}function te(he){if(he.key==="Escape"){if(m.value){C();return}if(J.value){ie();return}if(u.value){x();return}o("close")}}xt(()=>document.addEventListener("keydown",te)),kt(()=>{document.removeEventListener("keydown",te),P!==void 0&&clearTimeout(P)});function re(he){return he==="connected"?"var(--color-success)":he==="error"?"var(--color-danger)":"var(--color-text-faint)"}function se(he){return n(he==="connected"?"providers.status.connected":he==="error"?"providers.status.error":"providers.status.unconfigured")}return(he,ae)=>(l(),q(ms,{open:!0,"close-on-esc":!1,title:a(n)("providers.title"),size:"xl",height:"fixed",onClose:ae[10]||(ae[10]=F=>o("close"))},{default:L(()=>[r("div",{ref_key:"dialogRef",ref:s,class:"pm"},[r("div",KR,[e.loading?(l(),c("div",GR,[w(Gt,{size:"sm"}),r("span",null,d(a(n)("providers.loading")),1)])):e.unavailable?(l(),c("div",QR,[w(X,{name:"alert-triangle",size:"md"}),r("span",null,d(a(n)("providers.unavailable")),1)])):e.providers.length===0?(l(),c("div",YR,d(a(n)("providers.empty")),1)):(l(!0),c(de,{key:3},Pe(e.providers,F=>(l(),c("div",{key:F.id,class:"prov-row"},[w(gt,{text:se(F.status)},{default:L(()=>[r("span",{class:fe(["status-dot",{"status-dot--empty":F.status!=="connected"&&F.status!=="error"}]),style:vt(F.status==="connected"||F.status==="error"?{background:re(F.status)}:void 0)},null,6)]),_:2},1032,["text"]),r("div",ZR,[r("span",XR,d(F.type),1),F.baseUrl?(l(),c("span",JR,d(F.baseUrl),1)):I("",!0),r("span",eL,[w(Et,{variant:F.hasApiKey?"success":"neutral",size:"sm"},{default:L(()=>[ee(d(F.hasApiKey?a(n)("providers.keySet"):a(n)("providers.keyNotSet")),1)]),_:2},1032,["variant"]),F.models&&F.models.length>0?(l(),c("span",tL," · "+d(a(n)("providers.modelCount",{count:F.models.length})),1)):I("",!0)])]),r("div",nL,[w(gt,{text:a(n)("providers.refreshTitle",{type:F.type})},{default:L(()=>[w(je,{variant:"secondary",size:"sm",onClick:Y=>o("refresh",F.id)},{default:L(()=>[ee(d(a(n)("providers.refresh")),1)]),_:1},8,["onClick"])]),_:2},1032,["text"]),w(gt,{text:a(n)("providers.deleteTitle",{type:F.type})},{default:L(()=>[w(je,{variant:"danger-soft",size:"sm",onClick:Y=>i(F.id)},{default:L(()=>[ee(d(a(n)("providers.delete")),1)]),_:1},8,["onClick"])]),_:2},1032,["text"])])]))),128))]),e.unavailable?I("",!0):(l(),c("div",sL,[!u.value&&!m.value&&!J.value?(l(),c("div",oL,[e.kimiOauthEnabled?(l(),q(je,{key:0,variant:"secondary",size:"sm",onClick:ae[0]||(ae[0]=F=>o("openLogin","moonshot"))},{default:L(()=>[w(X,{name:"user",size:"sm"}),ee(" "+d(a(n)("providers.loginKimi")),1)]),_:1})):I("",!0),e.kimiOauthEnabled?(l(),q(je,{key:1,variant:"secondary",size:"sm",onClick:ae[1]||(ae[1]=F=>o("openLogin","anthropic"))},{default:L(()=>[w(X,{name:"user",size:"sm"}),ee(" "+d(a(n)("providers.loginAnthropic")),1)]),_:1})):I("",!0),w(je,{variant:"primary",size:"sm",onClick:k},{default:L(()=>[w(X,{name:"plus",size:"sm"}),ee(" "+d(a(n)("providers.enterApiKey")),1)]),_:1}),w(je,{variant:"secondary",size:"sm",onClick:V},{default:L(()=>[w(X,{name:"globe",size:"sm"}),ee(" "+d(a(n)("providers.import.fromCatalog")),1)]),_:1}),w(je,{variant:"secondary",size:"sm",onClick:ze},{default:L(()=>[w(X,{name:"download",size:"sm"}),ee(" "+d(a(n)("providers.import.fromRegistry")),1)]),_:1})])):u.value?(l(),c("div",iL,[w(Es,{label:a(n)("providers.fieldType")},{default:L(()=>[w(Js,{modelValue:p.type,"onUpdate:modelValue":ae[2]||(ae[2]=F=>p.type=F)},{default:L(()=>[(l(),c(de,null,Pe(v,F=>r("option",{key:F,value:F},d(F),9,aL)),64))]),_:1},8,["modelValue"])]),_:1},8,["label"]),w(Es,{label:a(n)("providers.fieldApiKey")},{default:L(()=>[w(qn,{modelValue:p.apiKey,"onUpdate:modelValue":ae[3]||(ae[3]=F=>p.apiKey=F),type:"password",placeholder:"sk-…",autocomplete:"off",spellcheck:"false"},null,8,["modelValue"])]),_:1},8,["label"]),w(Es,{label:a(n)("providers.fieldBaseUrl")},{default:L(()=>[w(qn,{modelValue:p.baseUrl,"onUpdate:modelValue":ae[4]||(ae[4]=F=>p.baseUrl=F),placeholder:a(n)("providers.baseUrlPlaceholder"),autocomplete:"off",spellcheck:"false"},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),w(Es,{label:a(n)("providers.fieldDefaultModel")},{default:L(()=>[w(qn,{modelValue:p.defaultModel,"onUpdate:modelValue":ae[5]||(ae[5]=F=>p.defaultModel=F),placeholder:a(n)("providers.optional"),autocomplete:"off",spellcheck:"false"},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),f.value?(l(),c("div",lL,d(f.value),1)):I("",!0),r("div",rL,[w(je,{variant:"primary",size:"sm",onClick:g},{default:L(()=>[ee(d(a(n)("providers.add")),1)]),_:1}),w(je,{variant:"secondary",size:"sm",onClick:x},{default:L(()=>[ee(d(a(n)("common.cancel")),1)]),_:1})])])):m.value?(l(),c("div",uL,[r("div",cL,[w(je,{variant:"ghost",size:"sm",onClick:C},{default:L(()=>[ee(d(a(n)("providers.import.back")),1)]),_:1}),r("span",dL,d(a(n)("providers.import.catalogTitle")),1)]),w(Es,{label:a(n)("providers.import.catalogSearchLabel")},{default:L(()=>[w(qn,{modelValue:$.value,"onUpdate:modelValue":ae[6]||(ae[6]=F=>$.value=F),placeholder:a(n)("providers.import.catalogSearchPlaceholder"),autocomplete:"off",spellcheck:"false"},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),y.value?(l(),c("div",pL,[w(Gt,{size:"sm"}),r("span",null,d(a(n)("providers.import.catalogLoading")),1)])):S.value?(l(),c("div",fL,d(S.value),1)):E.value.length===0?(l(),c("div",mL,d(a(n)("providers.import.catalogEmpty")),1)):(l(),c("div",vL,[(l(!0),c(de,null,Pe(E.value,F=>(l(),c("div",{key:F.id,class:fe(["catalog-row",{"is-selected":F.id===B.value,"is-rejected":F.rejected}]),"aria-disabled":F.rejected?"true":void 0,onClick:Y=>F.rejected?void 0:D(F.id)},[r("span",hL,[F.id===B.value?(l(),q(X,{key:0,name:"check",size:"sm"})):I("",!0)]),r("span",yL,[r("span",kL,d(F.name),1),r("span",bL,d(F.id),1),F.wireType?(l(),c("span",wL,d(F.wireType),1)):I("",!0)]),r("span",SL,[F.rejected?(l(),q(Et,{key:0,variant:"danger",size:"sm"},{default:L(()=>[ee(d(a(n)("providers.import.catalogRejected",{reason:F.rejectReason??""})),1)]),_:2},1024)):F.needsBaseUrl?(l(),q(Et,{key:1,variant:"warning",size:"sm"},{default:L(()=>[ee(d(a(n)("providers.import.catalogNeedsBaseUrl")),1)]),_:1})):(l(),c("span",CL,d(a(n)("providers.modelCount",{count:F.modelCount})),1))])],10,gL))),128))])),W.value?(l(),c("div",_L,[W.value.needsBaseUrl?(l(),q(Es,{key:0,label:a(n)("providers.fieldBaseUrl"),hint:a(n)("providers.import.catalogBaseUrlHint")},{default:L(()=>[w(qn,{modelValue:b.value,"onUpdate:modelValue":ae[7]||(ae[7]=F=>b.value=F),placeholder:a(n)("providers.baseUrlPlaceholder"),autocomplete:"off",spellcheck:"false"},null,8,["modelValue","placeholder"])]),_:1},8,["label","hint"])):I("",!0)])):I("",!0),r("div",ML,[w(je,{variant:"primary",size:"sm",disabled:R.value===null||W.value?.needsBaseUrl===!0&&b.value.trim()==="",onClick:O},{default:L(()=>[ee(d(a(n)("providers.import.importAction")),1)]),_:1},8,["disabled"]),w(je,{variant:"secondary",size:"sm",onClick:C},{default:L(()=>[ee(d(a(n)("common.cancel")),1)]),_:1})])])):J.value?(l(),c("div",$L,[r("div",xL,[w(je,{variant:"ghost",size:"sm",onClick:ie},{default:L(()=>[ee(d(a(n)("providers.import.back")),1)]),_:1}),r("span",TL,d(a(n)("providers.import.registryTitle")),1)]),w(Es,{label:a(n)("providers.import.registryUrlLabel")},{default:L(()=>[w(qn,{modelValue:ve.url,"onUpdate:modelValue":ae[8]||(ae[8]=F=>ve.url=F),placeholder:a(n)("providers.import.registryUrlPlaceholder"),autocomplete:"off",spellcheck:"false"},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),w(Es,{label:a(n)("providers.import.registryApiKeyLabel")},{default:L(()=>[w(qn,{modelValue:ve.apiKey,"onUpdate:modelValue":ae[9]||(ae[9]=F=>ve.apiKey=F),type:"password",autocomplete:"off",spellcheck:"false"},null,8,["modelValue"])]),_:1},8,["label"]),me.value?(l(),c("div",IL,d(me.value),1)):I("",!0),r("div",AL,[w(je,{variant:"primary",size:"sm",onClick:le},{default:L(()=>[ee(d(a(n)("providers.import.importAction")),1)]),_:1}),w(je,{variant:"secondary",size:"sm",onClick:ie},{default:L(()=>[ee(d(a(n)("common.cancel")),1)]),_:1})])])):I("",!0)])),r("div",PL,d(a(n)("providers.escClose")),1)],512)]),_:1},8,["title"]))}}),BL=Re(EL,[["__scopeId","data-v-63ce966e"]]),RL=3;function LL(){return{kind:"region-pick"}}function Ss(e,t){switch(t.kind){case"pick-region":return e.kind==="region-pick"?{kind:"starting"}:e;case"retry":return e.kind==="expired"||e.kind==="error"&&(e.cause==="start-failed"||e.cause==="poll-failed")?{kind:"starting"}:e;case"start-pending":return e.kind==="starting"?{kind:"device-code",region:t.region,flow:t.flow,pollFailures:0}:e;case"start-authenticated":return e.kind==="starting"?{kind:"success"}:e;case"start-failed":return e.kind==="starting"?{kind:"error",cause:"start-failed"}:e;case"poll":return e.kind!=="device-code"?e:t.result==="authenticated"?{kind:"success"}:t.result==="expired"||t.result==="cancelled"?{kind:"expired"}:{...e,pollFailures:0};case"poll-failed":if(e.kind!=="device-code")return e;const n=e.pollFailures+1;return n>=RL?{kind:"error",cause:"poll-failed"}:{...e,pollFailures:n};case"reset":return{kind:"region-pick"};default:return DL(t)}}function DL(e){throw new Error(`Exhaustiveness check failed; unexpected action: ${String(e)}`)}const OL={key:0,width:"36",height:"36",viewBox:"0 0 36 36",fill:"none",stroke:"var(--color-success)","stroke-width":"2","aria-hidden":"true"},zL={key:1,width:"28",height:"28",viewBox:"0 0 28 28",fill:"none",stroke:"var(--color-danger)","stroke-width":"1.5","aria-hidden":"true"},FL={key:2,width:"28",height:"28",viewBox:"0 0 28 28",fill:"none",stroke:"var(--color-warning)","stroke-width":"1.5","aria-hidden":"true"},Ha=Ee({__name:"AuthStateIcon",props:{kind:{}},setup(e){return(t,n)=>e.kind==="success"?(l(),c("svg",OL,[...n[0]||(n[0]=[r("circle",{cx:"18",cy:"18",r:"15"},null,-1),r("polyline",{points:"10,18 15,24 26,12"},null,-1)])])):e.kind==="expired"?(l(),c("svg",zL,[...n[1]||(n[1]=[r("circle",{cx:"14",cy:"14",r:"12"},null,-1),r("line",{x1:"14",y1:"8",x2:"14",y2:"15"},null,-1),r("circle",{cx:"14",cy:"19",r:"1.2",fill:"var(--color-danger)"},null,-1)])])):(l(),c("svg",FL,[...n[2]||(n[2]=[r("path",{d:"M14 3 L26 24 H2 Z"},null,-1),r("line",{x1:"14",y1:"12",x2:"14",y2:"18"},null,-1),r("circle",{cx:"14",cy:"21.5",r:"1",fill:"var(--color-warning)"},null,-1)])]))}}),NL={key:0,class:"region"},WL={class:"region-lead"},qL={class:"region-grid"},HL={class:"region-name"},UL={class:"region-desc"},VL={class:"region-name"},jL={class:"region-desc"},KL={key:1,class:"center-body"},GL={class:"center-text"},QL={key:2,class:"nb"},YL={class:"nb-status"},ZL={class:"nb-status-title"},XL={class:"nb-countdown"},JL={class:"nb-lead"},eD={class:"nb-code-row"},tD={class:"nb-code"},nD={class:"nb-or"},sD={class:"nb-fallback"},oD={class:"nb-fb-text"},iD=["href"],aD={key:3,class:"center-body"},lD={class:"center-text success-text"},rD={class:"center-hint"},uD={class:"center-body"},cD={class:"center-text err-text"},dD={class:"center-hint"},pD={class:"actions"},fD={class:"center-body"},mD={class:"center-text warn-text"},vD={class:"center-hint"},gD={class:"actions"},hD=Ee({__name:"LoginDialog",props:{onStartOAuthLogin:{type:Function},onPollOAuthLogin:{type:Function},onCancelOAuthLogin:{type:Function},onResolveOAuthRegion:{type:Function}},emits:["success","close"],setup(e,{emit:t}){const{t:n}=Ye(),s=T(!0),o=t,i=e,u=T(LL()),p=T(null),f=T(0),v=T(!1);let k=null,x=null;const g=M(()=>u.value.kind==="device-code"?u.value.flow:null);xt(async()=>{const V=i.onResolveOAuthRegion?await i.onResolveOAuthRegion():null;V!==null&&(p.value=V),window.addEventListener("focus",m)}),kt(()=>{b(),window.removeEventListener("focus",m)});function m(){u.value.kind==="device-code"&&S()}async function $(V){if(u.value.kind!=="region-pick")return;p.value=V,u.value=Ss(u.value,{kind:"pick-region"});const C=window.open("","_blank");await h(V,C)}async function h(V,C){b(),v.value=!1,u.value=Ss(u.value,{kind:"pick-region"}),p.value=V;const D=await i.onStartOAuthLogin(V);if(!D){C?.close(),u.value=Ss(u.value,{kind:"start-failed"});return}if(D.status==="authenticated"){C?.close(),u.value=Ss(u.value,{kind:"start-authenticated"}),setTimeout(()=>{o("success"),o("close")},800);return}const O={flowId:D.flowId,verificationUri:D.verificationUri,verificationUriComplete:D.verificationUriComplete,userCode:D.userCode,expiresIn:D.expiresIn,interval:D.interval};u.value=Ss(u.value,{kind:"start-pending",region:V,flow:O}),C&&!C.closed?C.location.href=D.verificationUriComplete:window.open(D.verificationUriComplete,"_blank","noopener"),f.value=D.expiresIn,y(),B(D.interval)}function y(){x&&clearInterval(x),x=setInterval(()=>{f.value>0?f.value--:(x&&clearInterval(x),x=null)},1e3)}async function S(){if(u.value.kind!=="device-code")return;const V=u.value.flow.interval,C=await i.onPollOAuthLogin();if(C===null){u.value=Ss(u.value,{kind:"poll-failed"}),u.value.kind==="device-code"&&B(V);return}C.status==="authenticated"?(b(),u.value=Ss(u.value,{kind:"poll",result:"authenticated"}),setTimeout(()=>{o("success"),o("close")},1200)):C.status==="expired"||C.status==="cancelled"?(b(),u.value=Ss(u.value,{kind:"poll",result:C.status})):(u.value=Ss(u.value,{kind:"poll",result:"pending"}),B(V))}function B(V){k&&clearTimeout(k),k=setTimeout(()=>{S()},V*1e3)}function b(){k&&(clearTimeout(k),k=null),x&&(clearInterval(x),x=null)}function P(){const V=p.value??"global";u.value=Ss(u.value,{kind:"retry"});const C=window.open("","_blank");h(V,C)}async function E(){const V=u.value.kind==="device-code"?u.value.flow:null;V&&window.open(V.verificationUriComplete,"_blank","noopener")}async function R(){const V=u.value.kind==="device-code"?u.value.flow:null;!V||!await an(V.userCode)||(v.value=!0,setTimeout(()=>{v.value=!1},2e3))}async function W(){b(),u.value.kind==="device-code"&&i.onCancelOAuthLogin(),o("close")}function Q(V){const C=Math.floor(V/60),D=V%60;return`${C}:${String(D).padStart(2,"0")}`}return(V,C)=>(l(),q(ms,{open:s.value,"onUpdate:open":C[2]||(C[2]=D=>s.value=D),title:a(n)("login.title"),"close-on-overlay":!1,onClose:W},{default:L(()=>[u.value.kind==="region-pick"?(l(),c("div",NL,[r("p",WL,d(a(n)("login.regionHint")),1),r("div",qL,[r("button",{type:"button",class:fe(["region-card",{"is-selected":p.value==="global"}]),onClick:C[0]||(C[0]=D=>$("global"))},[r("span",HL,d(a(n)("login.regionGlobal")),1),r("span",UL,d(a(n)("login.regionGlobalDesc")),1)],2),r("button",{type:"button",class:fe(["region-card",{"is-selected":p.value==="mainland-cn"}]),onClick:C[1]||(C[1]=D=>$("mainland-cn"))},[r("span",VL,d(a(n)("login.regionMainland")),1),r("span",jL,d(a(n)("login.regionMainlandDesc")),1)],2)])])):u.value.kind==="starting"?(l(),c("div",KL,[w(Gt,{size:"md"}),r("span",GL,d(a(n)("login.starting")),1)])):u.value.kind==="device-code"&&g.value?(l(),c("div",QL,[r("div",YL,[w(Gt,{size:"sm"}),r("span",ZL,d(a(n)("login.waitingAuth")),1),r("span",XL,d(Q(f.value)),1)]),r("p",JL,d(a(n)("login.waitingAutoClose")),1),r("div",eD,[r("span",tD,d(g.value.userCode),1),w(je,{class:fe(["nb-copy",{"is-copied":v.value}]),variant:"secondary",size:"sm",onClick:R},{default:L(()=>[v.value?(l(),c(de,{key:0},[w(X,{name:"check",size:"sm"}),ee(" "+d(a(n)("login.copied")),1)],64)):(l(),c(de,{key:1},[w(X,{name:"copy",size:"sm"}),ee(" "+d(a(n)("login.copy")),1)],64))]),_:1},8,["class"])]),w(je,{class:"nb-primary",variant:"primary",size:"md",onClick:E},{default:L(()=>[ee(d(a(n)("login.reopenBrowser"))+" ",1),w(X,{name:"external-link",size:"sm"})]),_:1}),r("div",nD,d(a(n)("login.orDivider")),1),r("div",sD,[r("div",oD,[ee(d(a(n)("login.fallbackPrefix")),1),r("a",{class:"nb-fb-link",href:g.value.verificationUri,target:"_blank",rel:"noopener noreferrer"},d(g.value.verificationUri),9,iD),ee(d(a(n)("login.fallbackSuffix")),1)])])])):u.value.kind==="success"?(l(),c("div",aD,[w(Ha,{kind:"success"}),r("span",lD,d(a(n)("login.success")),1),r("span",rD,d(a(n)("login.successHint")),1)])):u.value.kind==="expired"?(l(),c(de,{key:4},[r("div",uD,[w(Ha,{kind:"expired"}),r("span",cD,d(a(n)("login.expiredTitle")),1),r("span",dD,d(a(n)("login.expiredHint")),1)]),r("div",pD,[w(je,{variant:"primary",onClick:P},{default:L(()=>[ee(d(a(n)("login.retry")),1)]),_:1}),w(je,{variant:"secondary",onClick:W},{default:L(()=>[ee(d(a(n)("login.closeBtn")),1)]),_:1})])],64)):u.value.kind==="error"?(l(),c(de,{key:5},[r("div",fD,[w(Ha,{kind:"error"}),r("span",mD,d(u.value.cause==="poll-failed"?a(n)("login.pollErrorTitle"):a(n)("login.errorTitle")),1),r("span",vD,d(u.value.cause==="poll-failed"?a(n)("login.pollErrorHint"):a(n)("login.errorHint")),1)]),r("div",gD,[w(je,{variant:"primary",onClick:P},{default:L(()=>[ee(d(a(n)("login.retry")),1)]),_:1}),w(je,{variant:"secondary",onClick:W},{default:L(()=>[ee(d(a(n)("login.closeBtn")),1)]),_:1})])],64)):I("",!0)]),_:1},8,["open","title"]))}}),yD=Re(hD,[["__scopeId","data-v-8f13defd"]]),Hu=1,kD=6,bD=.25;function gp(e){return Number.isFinite(e)?Math.min(kD,Math.max(Hu,e)):Hu}function wD(e){return Math.round(e*100)/100}function hp(e,t){return gp(wD(e+t*bD))}function SD(e){return hp(e,1)}function CD(e){return hp(e,-1)}function Uu(e,t,n){const s=Math.max(0,(t-n)/2);return Math.min(s,Math.max(-s,e))}const _D=["aria-label"],MD={key:0,class:"ml-loading"},$D=["src","alt"],xD={key:0,class:"ml-zoom-hint"},TD=["src"],ID={key:3,class:"ml-error"},AD={key:4,class:"ml-toolbar"},PD=["aria-label"],ED={class:"ml-zoom-label"},BD=["aria-label"],RD=["disabled","aria-label"],LD=Ee({__name:"MediaLightbox",props:{state:{}},emits:["close"],setup(e,{emit:t}){const n=e,s=t,{t:o}=Ye(),i=T(1),u=T(0),p=T(0);Ne(()=>n.state?.media,()=>{i.value=1,u.value=0,p.value=0});const f=M(()=>n.state?.media.kind==="image"),v=M(()=>{const W=i.value;return W<=1?"":`scale(${W}) translate(${u.value}px, ${p.value}px)`});function k(W){if(!f.value)return;W.preventDefault();const Q=gp(i.value+(W.deltaY<0?.25:-.25));i.value=Q,g()}const x=T(null);function g(){const W=x.value;W&&(u.value=Uu(u.value,W.clientWidth*i.value,W.clientWidth),p.value=Uu(p.value,W.clientHeight*i.value,W.clientHeight))}function m(){i.value=SD(i.value),g()}function $(){i.value=CD(i.value),g()}function h(){i.value=1,u.value=0,p.value=0}const y=T(!1);let S=0,B=0;function b(W){!f.value||i.value<=1||(y.value=!0,S=W.clientX,B=W.clientY,W.target.setPointerCapture?.(W.pointerId))}function P(W){y.value&&(u.value+=W.clientX-S,p.value+=W.clientY-B,S=W.clientX,B=W.clientY,g())}function E(W){y.value=!1,W.target.releasePointerCapture?.(W.pointerId)}function R(W){W.key==="Escape"?s("close"):W.key==="+"||W.key==="="?m():W.key==="-"?$():W.key==="0"&&h()}return(W,Q)=>(l(),q(ss,{to:"body"},[e.state?(l(),c("div",{key:0,class:"media-lightbox",role:"dialog","aria-modal":"true",tabindex:"-1",onKeydown:R},[r("div",{class:"ml-backdrop",onClick:Q[0]||(Q[0]=V=>s("close"))}),r("button",{type:"button",class:"ml-close","aria-label":a(o)("common.close"),onClick:Q[1]||(Q[1]=V=>s("close"))},[w(X,{name:"close"})],8,_D),e.state.loading?(l(),c("div",MD,[w(Gt)])):e.state.sourceUrl&&f.value?(l(),c("div",{key:1,ref_key:"viewportRef",ref:x,class:"ml-viewport",onWheel:k,onPointerdown:b,onPointermove:P,onPointerup:E,onPointercancel:E},[r("img",{class:"ml-image",src:e.state.sourceUrl,alt:e.state.media.path??"",style:vt({transform:v.value}),draggable:"false"},null,12,$D),i.value>1?(l(),c("div",xD,d(a(o)("media.dragHint")),1)):I("",!0)],544)):e.state.sourceUrl&&!f.value?(l(),c("video",{key:2,class:"ml-video",src:e.state.sourceUrl,controls:"",autoplay:"",playsinline:""},null,8,TD)):(l(),c("div",ID,[r("p",null,d(e.state.error??a(o)("media.noPreview")),1)])),e.state.sourceUrl&&f.value?(l(),c("div",AD,[r("button",{type:"button",class:"ml-btn","aria-label":a(o)("media.zoomOut"),onClick:$},[w(X,{name:"minus"})],8,PD),r("span",ED,d(Math.round(i.value*100))+"%",1),r("button",{type:"button",class:"ml-btn","aria-label":a(o)("media.zoomIn"),onClick:m},[w(X,{name:"plus"})],8,BD),r("button",{type:"button",class:"ml-btn",disabled:i.value<=1,"aria-label":a(o)("media.resetZoom"),onClick:h},[w(X,{name:"expand"})],8,RD)])):I("",!0)],32)):I("",!0)]))}}),DD=Re(LD,[["__scopeId","data-v-0ff39638"]]);function yl(e){return/^(?:https?:|blob:|data:)/i.test(e)}function OD({client:e,detailTarget:t,rightPanelTabs:n}){const{t:s}=Ye(),o=T(null),i=T(null),u=T(!1),p=T(null),f=T(null);let v=0,k=null;function x(){k!==null&&(URL.revokeObjectURL(k),k=null)}const g=M(()=>{const Q=f.value;return Q?e.getFileDownloadUrl(Q):null}),m=M(()=>o.value!==null);function $(Q){return Q.length>1?Q.replace(/\/+$/,""):Q}function h(Q){const V=[];for(const C of Q.split(/[\\/]+/))if(!(!C||C===".")){if(C===".."){V.pop();continue}V.push(C)}return V.join("/")}function y(Q){const V=Q.trim();if(!V)return{error:s("filePreview.errors.emptyPath")};if(/^[a-z][a-z0-9+.-]*:\/\//i.test(V))return{error:s("filePreview.errors.unsupportedPath")};if(V.startsWith("~"))return{error:s("filePreview.errors.outsideWorkspace")};const C=$(e.status.value.cwd);if(V.startsWith("/")){if(!C||V!==C&&!V.startsWith(`${C}/`))return{error:s("filePreview.errors.outsideWorkspace")};const O=V===C?"":V.slice(C.length+1);if(O.split(/[\\/]+/).includes(".."))return{error:s("filePreview.errors.outsideWorkspace")};const J=h(O);return J?{path:J}:{error:s("filePreview.errors.isDirectory")}}if(V.split(/[\\/]+/).includes(".."))return{error:s("filePreview.errors.outsideWorkspace")};const D=h(V);return D?{path:D}:{error:s("filePreview.errors.emptyPath")}}async function S(Q){const V=o.value;if(t.value==="file"&&V&&V.path===Q.path&&V.line===Q.line){E();return}const C=++v;x(),n?n.ensureTab("file"):t.value="file",i.value=null,p.value=null,u.value=!0,o.value=Q,f.value=null;const D=y(Q.path);if("error"in D){u.value=!1,p.value=D.error;return}f.value=D.path;try{const O=await e.readFileContent(D.path);if(C!==v)return;O?i.value={...O,path:O.path||D.path}:p.value=s("filePreview.errors.loadFailed")}catch(O){if(C!==v)return;p.value=O instanceof Error?O.message:s("filePreview.errors.loadFailed")}finally{C===v&&(u.value=!1)}}function B(Q){return/^data:([^;,]+)/i.exec(Q)?.[1]}function b(Q){if(Q.kind!=="image"&&Q.kind!=="video")return;const V=++v;x(),n?n.ensureTab("file"):t.value="file",o.value=null,f.value=null,p.value=null;const C=Q.kind==="video",D={path:Q.path??s(C?"filePreview.videoFallback":"filePreview.imageFallback"),content:"",encoding:"utf-8",mime:Q.mimeType??B(Q.url)??(C?"video/*":"image/*"),isBinary:!0,size:Q.bytes??0};Q.fileId?(u.value=!0,i.value=D,De().getFileBlob(Q.fileId).then(O=>{if(V===v){if(t.value!=="file"||!i.value){u.value=!1;return}k=URL.createObjectURL(O),i.value={...i.value,sourceUrl:k},u.value=!1}}).catch(()=>{V===v&&(i.value&&(i.value={...i.value,sourceUrl:Q.url}),u.value=!1)})):(u.value=!1,i.value=yl(Q.url)?{...D,sourceUrl:Q.url}:D)}function P(){v+=1,o.value=null,f.value=null,i.value=null,p.value=null,u.value=!1,x()}function E(){P(),n?n.closeTab("file"):t.value==="file"&&(t.value=null)}function R(){const Q=i.value?.path??o.value?.path;Q&&e.openWorkspaceFile(Q,o.value?.line)}function W(){const Q=i.value?.path??o.value?.path;Q&&e.revealWorkspaceFile(Q)}return{previewTarget:o,previewFile:i,previewLoading:u,previewError:p,previewDownloadUrl:g,previewExternalActions:m,openFilePreview:S,openMediaPreview:b,closeFilePreview:E,openPreviewInEditor:R,revealPreviewFile:W}}function zD(e=De()){const{t}=Ye(),n=T(null),s=M(()=>n.value!==null);let o=0;function i(p){if(p.kind!=="image"&&p.kind!=="video")return;const f=++o,v=!!p.fileId;if(n.value={media:p,sourceUrl:null,loading:v,error:null},!p.fileId){n.value={media:p,sourceUrl:yl(p.url)?p.url:null,loading:!1,error:null};return}e.getFileBlob(p.fileId).then(k=>{if(f!==o||!n.value)return;const x=URL.createObjectURL(k);n.value={media:p,sourceUrl:x,loading:!1,error:null}}).catch(()=>{f!==o||!n.value||(n.value={media:p,sourceUrl:yl(p.url)?p.url:null,loading:!1,error:t("filePreview.errors.loadFailed")})})}function u(){o+=1,n.value=null}return{isOpen:s,state:n,open:i,close:u}}function FD(e,t){const n=[...e];return t==="archived-desc"?n.sort((s,o)=>o.updatedAt.localeCompare(s.updatedAt)):t==="created-desc"?n.sort((s,o)=>o.createdAt.localeCompare(s.createdAt)):n.sort((s,o)=>s.title.localeCompare(o.title,"zh")),n}function ND(e,t){const n=new Set(e.map(o=>o.id)),s=t.filter(o=>!n.has(o.id));return[...e,...s]}const yp=Ee({__name:"LanguageSwitcher",setup(e){const{locale:t}=Ye(),n=vc.map(o=>({value:o.code,label:o.label}));function s(o){t.value!==o&&gc(o)}return(o,i)=>(l(),q(mn,{"model-value":a(t),options:a(n),"onUpdate:modelValue":s},null,8,["model-value","options"]))}}),WD=["href","target","rel"],qD=Ee({__name:"Link",props:{href:{},variant:{default:"default"},external:{type:Boolean}},setup(e){return(t,n)=>e.href?(l(),c("a",{key:0,class:fe(["ui-link",`ui-link--${e.variant}`]),href:e.href,target:e.external?"_blank":void 0,rel:e.external?"noopener noreferrer":void 0},[At(t.$slots,"default",{},void 0,!0)],10,WD)):(l(),c("span",{key:1,class:fe(["ui-link",`ui-link--${e.variant}`])},[At(t.$slots,"default",{},void 0,!0)],2))}}),Vu=Re(qD,[["__scopeId","data-v-645e7d4e"]]),HD=["aria-checked","aria-label","disabled"],UD=Ee({__name:"Switch",props:{modelValue:{type:Boolean},disabled:{type:Boolean},label:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=t;return(s,o)=>(l(),c("button",{class:fe(["ui-switch",{"is-on":e.modelValue}]),type:"button",role:"switch","aria-checked":e.modelValue,"aria-label":e.label,disabled:e.disabled,onClick:o[0]||(o[0]=i=>n("update:modelValue",!e.modelValue))},[...o[1]||(o[1]=[r("span",{class:"ui-switch__thumb"},null,-1)])],10,HD))}}),ts=Re(UD,[["__scopeId","data-v-e5aecc8e"]]),VD={class:"ps"},jD={class:"ext-hint-title"},KD={key:1,class:"action-error"},GD={class:"plug-sec"},QD={class:"plug-title"},YD={key:0,class:"plug-state"},ZD={key:1,class:"plug-state is-error"},XD={key:3,class:"plug-list"},JD={class:"plug-info"},eO={class:"plug-name"},tO={class:"plug-display"},nO={key:0,class:"plug-version"},sO={key:0,class:"plug-counts"},oO={class:"plug-actions"},iO={class:"plug-sec"},aO={class:"plug-sec-head"},lO={class:"plug-title"},rO={key:0,class:"plug-state"},uO={key:1,class:"plug-state is-error"},cO={key:3,class:"plug-list"},dO={class:"plug-info"},pO={class:"plug-name"},fO={class:"plug-display"},mO={key:0,class:"plug-desc"},vO={key:1,class:"plug-home"},gO={class:"plug-actions"},hO={class:"plug-sec"},yO={class:"plug-title"},kO={key:0,class:"plug-state"},bO={key:1,class:"plug-state is-error"},wO={key:3,class:"plug-list"},SO={class:"plug-info"},CO={class:"plug-name"},_O={class:"plug-display"},MO={key:0,class:"plug-desc"},$O={key:1,class:"cap-progress"},xO={class:"cap-progress-text"},TO={class:"cap-progress-track","aria-hidden":"true"},IO={key:2,class:"cap-error"},AO={key:3,class:"cap-steps"},PO={key:2,class:"cap-step-missing","aria-hidden":"true"},EO={class:"cap-step-label"},BO={class:"plug-actions"},Ua="kimi-webbridge",RO=Ee({__name:"PluginSettingsPanel",props:{active:{type:Boolean}},setup(e){const{t}=Ye(),{confirm:n}=xo(),s=e,o=T([]),i=T(!1),u=T(""),p=T([]),f=T("idle"),v=T([]),k=T(!1),x=T(""),g=T(!1),m=T(""),$=Hn({}),h=Hn({});async function y(){if(!i.value){i.value=!0,u.value="";try{o.value=await De().listPlugins()}catch(be){u.value=P(be)}finally{i.value=!1}}}async function S(){if(f.value!=="loading"){f.value="loading";try{p.value=await De().listPluginMarketplace(),f.value="ok"}catch{p.value.length===0?f.value="error":f.value="ok"}}}async function B(){if(!k.value){k.value=!0,x.value="";try{v.value=await De().listCapabilities()}catch(be){x.value=P(be)}finally{k.value=!1}}}function b(){y(),S(),B()}function P(be){return Rn(be)&&be.message?be.message:t("settings.plugins.loadFailed")}Ne(()=>s.active,be=>{be&&!g.value&&(g.value=!0,b())},{immediate:!0});let E;xt(()=>{E=Ub(be=>{if(be.type==="pluginsChanged"){b();return}he(be.capabilityId,be.install),be.install.running||(B(),y())})}),_n(()=>{E?.()});function R(be){return t(`settings.plugins.source.${be}`)}function W(be){const pe=(Z,oe)=>t(`settings.plugins.counts.${Z}`,{n:oe}),ne=[];return be.skillCount>0&&ne.push(pe("skill",be.skillCount)),be.mcpServerCount>0&&ne.push(pe("mcp",be.mcpServerCount)),be.enabledMcpServerCount>0&&ne.push(pe("mcpEnabled",be.enabledMcpServerCount)),be.hookCount>0&&ne.push(pe("hook",be.hookCount)),be.commandCount>0&&ne.push(pe("command",be.commandCount)),ne.join(" · ")}async function Q(be,pe){if(!$[be.id]){$[be.id]=!0,m.value="";try{await De().setPluginEnabled(be.id,pe),await y()}catch(ne){m.value=P(ne)}finally{delete $[be.id]}}}async function V(be){m.value="";try{await n({title:t("settings.plugins.remove"),message:t("settings.plugins.confirmRemove"),variant:"danger",action:()=>De().removePlugin(be.id)})&&await y()}catch(pe){m.value=P(pe)}}function C(be){return be==="official"?t("settings.plugins.official"):be==="third-party"?t("settings.plugins.thirdParty"):null}async function D(be){if(!$[be.id]){$[be.id]=!0,m.value="";try{const pe=be.capabilityId;pe!==void 0?(await De().installCapability(pe,ne=>{he(pe,ne.install)}),await B()):await De().installPlugin(be.source),await y(),await S()}catch(pe){m.value=P(pe)}finally{delete $[be.id]}}}const O=T(!1),J=T(""),ve=T(!1),me=T("");function ze(){J.value="",me.value="",O.value=!0}function ie(){ve.value||(O.value=!1)}async function le(){const be=J.value.trim();if(!ck(be)){me.value=t("settings.plugins.customInstallHint");return}me.value="",ve.value=!0;try{await De().installPlugin(be),O.value=!1,await y()}catch(pe){me.value=P(pe)}finally{ve.value=!1}}function te(be){return t(`settings.plugins.capabilityStates.${be}`)}function re(be){return be==="ready"?"success":be==="partial"?"warning":"neutral"}function se(be){return dk(be.install,be.state)}function he(be,pe){v.value=v.value.map(ne=>ne.id===be?{...ne,install:Mc(ne.install,pe)}:ne)}async function ae(be){if(!h[be.id]){h[be.id]=!0,m.value="";try{await De().installCapability(be.id,pe=>{he(be.id,pe.install)}),await B(),await y()}catch(pe){Rn(pe)&&pe.code===Fb?m.value=t("settings.plugins.capabilityStates.unsupported"):m.value=P(pe),await B()}finally{delete h[be.id]}}}function F(be){const pe=be.install.percent;if(!(typeof pe!="number"||Number.isNaN(pe)))return Math.min(100,Math.max(0,Math.round(pe)))}const Y=T(Dt(Ge.pluginExtensionHintDismissed)==="1"),ke=M(()=>v.value.find(be=>be.id===Ua)),we=M(()=>p.value.find(pe=>pe.capabilityId===Ua||pe.id===Ua)?.homepage),Le=M(()=>{if(Y.value)return!1;const be=ke.value;return be!==void 0&&be.supported&&be.state!=="ready"});function Ze(){Y.value=!0,Nt(Ge.pluginExtensionHintDismissed,"1")}return(be,pe)=>(l(),c("div",VD,[Le.value?(l(),q(Xd,{key:0,variant:"info",class:"ext-hint"},{default:L(()=>[r("span",jD,d(a(t)("settings.plugins.extensionHintTitle")),1),we.value?(l(),q(Vu,{key:0,href:we.value,external:"",class:"ext-hint-guide"},{default:L(()=>[ee(d(a(t)("settings.plugins.extensionGuide")),1)]),_:1},8,["href"])):I("",!0),w(lt,{size:"sm",class:"ext-hint-dismiss",label:a(t)("settings.plugins.dismissHint"),onClick:Ze},{default:L(()=>[w(X,{name:"close",size:"sm"})]),_:1},8,["label"])]),_:1})):I("",!0),m.value?(l(),c("div",KD,[w(X,{name:"alert-triangle",size:"sm"}),r("span",null,d(m.value),1)])):I("",!0),r("section",GD,[r("h3",QD,d(a(t)("settings.plugins.sections.installed")),1),i.value?(l(),c("div",YD,[w(Gt,{size:"sm"}),r("span",null,d(a(t)("settings.plugins.loading")),1)])):u.value?(l(),c("div",ZD,[r("span",null,d(u.value),1),w(je,{variant:"secondary",size:"sm",onClick:y},{default:L(()=>[ee(d(a(t)("settings.plugins.retry")),1)]),_:1})])):o.value.length===0?(l(),q(ii,{key:2,title:a(t)("settings.plugins.empty")},null,8,["title"])):(l(),c("div",XD,[(l(!0),c(de,null,Pe(o.value,ne=>(l(),c("div",{key:ne.id,class:"plug-row"},[r("div",JD,[r("div",eO,[r("span",tO,d(ne.displayName||ne.id),1),ne.version?(l(),c("span",nO,d(ne.version),1)):I("",!0),w(Et,{variant:"neutral",size:"sm"},{default:L(()=>[ee(d(R(ne.source)),1)]),_:2},1024),ne.hasErrors?(l(),q(Et,{key:1,variant:"danger",size:"sm"},{default:L(()=>[ee(d(a(t)("settings.plugins.hasErrors")),1)]),_:1})):I("",!0)]),W(ne)?(l(),c("div",sO,d(W(ne)),1)):I("",!0)]),r("div",oO,[w(ts,{"model-value":ne.enabled,disabled:$[ne.id]===!0,label:a(t)("settings.plugins.enabled"),"onUpdate:modelValue":Z=>Q(ne,Z)},null,8,["model-value","disabled","label","onUpdate:modelValue"]),w(je,{variant:"danger-soft",size:"sm",disabled:$[ne.id]===!0,onClick:Z=>V(ne)},{default:L(()=>[ee(d(a(t)("settings.plugins.remove")),1)]),_:1},8,["disabled","onClick"])])]))),128))]))]),r("section",iO,[r("div",aO,[r("h3",lO,d(a(t)("settings.plugins.sections.marketplace")),1),w(je,{variant:"secondary",size:"sm",onClick:ze},{default:L(()=>[w(X,{name:"plus",size:"sm"}),ee(" "+d(a(t)("settings.plugins.customInstall")),1)]),_:1})]),f.value==="loading"?(l(),c("div",rO,[w(Gt,{size:"sm"}),r("span",null,d(a(t)("settings.plugins.loading")),1)])):f.value==="error"?(l(),c("div",uO,[r("span",null,d(a(t)("settings.plugins.catalogUnavailable")),1),w(je,{variant:"secondary",size:"sm",onClick:S},{default:L(()=>[ee(d(a(t)("settings.plugins.retry")),1)]),_:1})])):p.value.length===0?(l(),q(ii,{key:2,title:a(t)("settings.plugins.empty")},null,8,["title"])):(l(),c("div",cO,[(l(!0),c(de,null,Pe(p.value,ne=>(l(),c("div",{key:ne.id,class:"plug-row"},[r("div",dO,[r("div",pO,[r("span",fO,d(ne.displayName||ne.id),1),C(ne.tier)?(l(),q(Et,{key:0,variant:"info",size:"sm"},{default:L(()=>[ee(d(C(ne.tier)),1)]),_:2},1024)):I("",!0),ne.installed?(l(),q(Et,{key:1,variant:"success",size:"sm"},{default:L(()=>[ee(d(a(t)("settings.plugins.installed")),1)]),_:1})):I("",!0),ne.updateAvailable?(l(),q(Et,{key:2,variant:"warning",size:"sm"},{default:L(()=>[ee(d(a(t)("settings.plugins.update")),1)]),_:1})):I("",!0)]),ne.description?(l(),c("p",mO,d(ne.description),1)):I("",!0),ne.homepage?(l(),c("div",vO,[w(Vu,{href:ne.homepage,external:""},{default:L(()=>[ee(d(a(t)("settings.plugins.homepage")),1)]),_:1},8,["href"])])):I("",!0)]),r("div",gO,[ne.updateAvailable?(l(),q(je,{key:0,variant:"primary",size:"sm",loading:$[ne.id]===!0,disabled:$[ne.id]===!0,onClick:Z=>D(ne)},{default:L(()=>[ee(d(a(t)("settings.plugins.update")),1)]),_:1},8,["loading","disabled","onClick"])):ne.installed?(l(),q(je,{key:1,variant:"secondary",size:"sm",disabled:""},{default:L(()=>[ee(d(a(t)("settings.plugins.installed")),1)]),_:1})):(l(),q(je,{key:2,variant:"primary",size:"sm",loading:$[ne.id]===!0,disabled:$[ne.id]===!0,onClick:Z=>D(ne)},{default:L(()=>[ee(d(a(t)("settings.plugins.install")),1)]),_:1},8,["loading","disabled","onClick"]))])]))),128))]))]),r("section",hO,[r("h3",yO,d(a(t)("settings.plugins.sections.capabilities")),1),k.value?(l(),c("div",kO,[w(Gt,{size:"sm"}),r("span",null,d(a(t)("settings.plugins.loading")),1)])):x.value?(l(),c("div",bO,[r("span",null,d(x.value),1),w(je,{variant:"secondary",size:"sm",onClick:B},{default:L(()=>[ee(d(a(t)("settings.plugins.retry")),1)]),_:1})])):v.value.length===0?(l(),q(ii,{key:2,title:a(t)("settings.plugins.capabilitiesUnavailable")},null,8,["title"])):(l(),c("div",wO,[(l(!0),c(de,null,Pe(v.value,ne=>(l(),c("div",{key:ne.id,class:"plug-row"},[r("div",SO,[r("div",CO,[r("span",_O,d(ne.displayName||ne.id),1),w(Et,{variant:re(ne.state),size:"sm"},{default:L(()=>[ee(d(te(ne.state)),1)]),_:2},1032,["variant"])]),ne.description?(l(),c("p",MO,d(ne.description),1)):I("",!0),se(ne).phase==="installing"?(l(),c("div",$O,[r("span",xO,[ee(d(a(t)("settings.plugins.installing"))+" ",1),se(ne).step?(l(),c(de,{key:0},[ee(" · "+d(se(ne).step),1)],64)):I("",!0),F(ne)!==void 0?(l(),c(de,{key:1},[ee(" · "+d(F(ne))+"% ",1)],64)):I("",!0)]),r("span",TO,[r("span",{class:"cap-progress-fill",style:vt({width:`${F(ne)??0}%`})},null,4)])])):se(ne).phase==="error"?(l(),c("div",IO,[w(X,{name:"alert-triangle",size:"sm"}),r("span",null,d(se(ne).error),1)])):I("",!0),ne.steps.length>0?(l(),c("ul",AO,[(l(!0),c(de,null,Pe(ne.steps,Z=>(l(),c("li",{key:Z.id,class:"cap-step"},[Z.state==="ok"?(l(),q(X,{key:0,name:"check",size:"sm",class:"cap-step-ok"})):Z.state==="failed"?(l(),q(X,{key:1,name:"alert-triangle",size:"sm",class:"cap-step-bad"})):(l(),c("span",PO)),r("span",EO,d(Z.id),1)]))),128))])):I("",!0)]),r("div",BO,[ne.state!=="ready"&&ne.state!=="unsupported"&&ne.supported?(l(),q(je,{key:0,variant:"primary",size:"sm",loading:h[ne.id]===!0,disabled:h[ne.id]===!0,onClick:Z=>ae(ne)},{default:L(()=>[ee(d(a(t)("settings.plugins.install")),1)]),_:1},8,["loading","disabled","onClick"])):I("",!0)])]))),128))]))]),w(ms,{open:O.value,title:a(t)("settings.plugins.customInstall"),size:"md",onClose:ie},{foot:L(()=>[w(je,{variant:"primary",size:"sm",loading:ve.value,disabled:ve.value,onClick:le},{default:L(()=>[ee(d(a(t)("settings.plugins.install")),1)]),_:1},8,["loading","disabled"]),w(je,{variant:"secondary",size:"sm",disabled:ve.value,onClick:ie},{default:L(()=>[ee(d(a(t)("common.cancel")),1)]),_:1},8,["disabled"])]),default:L(()=>[w(Es,{label:a(t)("settings.plugins.customInstall"),hint:a(t)("settings.plugins.customInstallHint"),error:me.value},{default:L(()=>[w(qn,{modelValue:J.value,"onUpdate:modelValue":pe[0]||(pe[0]=ne=>J.value=ne),placeholder:a(t)("settings.plugins.customInstallPlaceholder"),disabled:ve.value,spellcheck:"false",autocomplete:"off",onKeyup:Cn(le,["enter"])},null,8,["modelValue","placeholder","disabled"])]),_:1},8,["label","hint","error"])]),_:1},8,["open","title"])]))}}),LO=Re(RO,[["__scopeId","data-v-8c64da0f"]]),DO=["aria-label"],OO=["aria-selected","onClick"],zO={class:"body"},FO={class:"panel"},NO={class:"sec"},WO={class:"sec-title"},qO={class:"row"},HO={class:"rlabel"},UO={class:"row"},VO={class:"rlabel"},jO={class:"row"},KO={class:"rlabel"},GO={class:"num-field"},QO=["value","aria-label"],YO={class:"row"},ZO={class:"rlabel"},XO={class:"row"},JO={class:"rlabel"},ez={class:"hint"},tz={class:"sec"},nz={class:"sec-title"},sz={class:"row"},oz={class:"rlabel"},iz={key:0,class:"hint"},az={class:"row"},lz={class:"rlabel"},rz={key:0,class:"hint"},uz={class:"row"},cz={class:"rlabel"},dz={key:0,class:"hint"},pz={class:"row"},fz={class:"rlabel"},mz={class:"row"},vz={class:"rlabel"},gz={class:"hint"},hz={class:"panel"},yz={class:"sec"},kz={class:"sec-title"},bz={class:"row"},wz={class:"rlabel"},Sz={key:0,class:"rvalue"},Cz={class:"actions"},_z={class:"panel"},Mz={class:"sec"},$z={class:"sec-head"},xz={class:"sec-title"},Tz={key:0,class:"saving"},Iz={class:"row"},Az={class:"rlabel"},Pz={class:"hint"},Ez={key:0,class:"select-wrap"},Bz={key:0,value:"",disabled:""},Rz=["label"],Lz=["value"],Dz={key:1,class:"rvalue mono"},Oz={class:"row"},zz={class:"rlabel"},Fz={class:"hint"},Nz={class:"planning-control"},Wz={key:0,class:"select-wrap"},qz={key:0,value:"",disabled:""},Hz=["label"],Uz=["value"],Vz={key:1,class:"rvalue mono"},jz={key:2,id:"settings-planning-model-error",class:"field-error",role:"alert"},Kz={class:"row"},Gz={class:"rlabel"},Qz={class:"hint"},Yz={class:"row"},Zz={class:"rlabel"},Xz={class:"hint"},Jz={class:"row"},eF={class:"rlabel"},tF={class:"hint"},nF={class:"row"},sF={class:"rlabel"},oF={class:"hint"},iF={key:1,class:"empty-config"},aF={class:"panel plugins-panel"},lF={class:"panel"},rF={class:"sec"},uF={class:"sec-title"},cF={class:"row"},dF={class:"rlabel"},pF={class:"rvalue mono"},fF={class:"row"},mF={class:"rlabel"},vF={class:"rvalue mono"},gF={class:"row"},hF={class:"rlabel"},yF={class:"rvalue mono"},kF={key:0,class:"row"},bF={class:"rlabel"},wF={class:"hint"},SF={class:"hint"},CF={class:"row"},_F={class:"rlabel"},MF={key:0,class:"hint"},$F={class:"panel"},xF={class:"panel-head"},TF={class:"panel-kicker"},IF={class:"panel-title"},AF={class:"panel-desc"},PF={class:"archive-toolbar"},EF={class:"archive-search"},BF=["placeholder"],RF={value:"all"},LF=["value"],DF={key:0,class:"archive-empty"},OF={key:0,class:"archive-list"},zF={class:"archive-workspace"},FF={class:"path"},NF={class:"count"},WF={class:"setting-card"},qF={class:"archive-meta"},HF={class:"archive-name"},UF={class:"archive-time"},VF=["disabled"],jF={key:1,class:"archive-empty"},KF={class:"panel"},GF={class:"panel-head"},QF={class:"panel-kicker"},YF={class:"panel-title"},ZF={class:"panel-desc"},XF={class:"sec"},JF={class:"row"},eN={class:"rlabel"},tN={class:"hint"},nN=50,sN=Ee({__name:"SettingsDialog",props:{colorScheme:{},accent:{},uiFontSize:{},authReady:{type:Boolean},kimiOauthEnabled:{type:Boolean},accountModel:{},notify:{type:Boolean},notifyQuestion:{type:Boolean},notifyApproval:{type:Boolean},notifyPermission:{},sound:{type:Boolean},taskNotices:{type:Boolean},conversationToc:{type:Boolean},multiTabSidebar:{type:Boolean},config:{},models:{},configSaving:{type:Boolean},serverVersion:{},backend:{}},emits:["setColorScheme","setAccent","setUiFontSize","setNotify","setNotifyQuestion","setNotifyApproval","setSound","setTaskNotices","setConversationToc","setMultiTabSidebar","login","logout","openOnboarding","openProviders","updateConfig","close"],setup(e,{emit:t}){const{t:n}=Ye(),s=e,o=t,i=T("general"),u=[{id:"general",labelKey:"settings.tabs.general"},{id:"agent",labelKey:"settings.tabs.agent"},{id:"account",labelKey:"settings.tabs.account"},{id:"plugins",labelKey:"settings.tabs.plugins"},{id:"advanced",labelKey:"settings.tabs.advanced"},{id:"archived",labelKey:"settings.tabs.archived"},{id:"lab",labelKey:"settings.tabs.lab"}],p=Yp(),f=M(()=>s.backend==="v2"?"v2 (kap-server)":"v1 (server)"),v=T(null);async function k(Z){const oe=Z==="endpoint"?p:s.serverVersion||"";!oe||!await an(oe)||(v.value=Z,setTimeout(()=>{v.value===Z&&(v.value=null)},1400))}const x=["manual","yolo","auto"],g={manual:"status.permissionManual",auto:"status.permissionAuto",yolo:"status.permissionYolo"},m=T(null);ir(m);function $(Z){Z.key==="Escape"&&o("close")}xt(()=>document.addEventListener("keydown",$)),kt(()=>document.removeEventListener("keydown",$));function h(){kc()}const y=M(()=>{const Z=new Map;for(const oe of s.models??[])Z.set(oe.id,{id:oe.id,label:oe.displayName??oe.model??oe.id,provider:oe.provider});for(const[oe,K]of Object.entries(s.config?.models??{})){if(Z.has(oe))continue;const Be=b(K);Z.set(oe,{id:oe,label:P(oe,K,Be),provider:Be??oe})}return Array.from(Z.values())}),S=M(()=>{const Z=new Map;for(const oe of y.value){const K=Z.get(oe.provider)??[];K.push(oe),Z.set(oe.provider,K)}for(const oe of Z.values())oe.sort((K,Be)=>K.label.localeCompare(Be.label));return Array.from(Z.entries()).toSorted(([oe],[K])=>oe.localeCompare(K)).map(([oe,K])=>({provider:oe,options:K}))}),B=M(()=>{const Z=s.config?.defaultPermissionMode;return Z==="auto"||Z==="yolo"||Z==="manual"?Z:"manual"});function b(Z){if(!Z||typeof Z!="object")return;const oe=Z;return typeof oe.provider=="string"?oe.provider:void 0}function P(Z,oe,K){if(!oe||typeof oe!="object")return Z;const Be=oe,Ve=typeof Be.model=="string"?Be.model:void 0,yt=K??b(oe);return Ve&&yt?`${Z} (${yt}/${Ve})`:Ve?`${Z} (${Ve})`:Z}function E(Z){return Z===!0}function R(Z){!Z||Z===s.config?.defaultModel||o("updateConfig",{defaultModel:Z})}function W(Z){if(Z)return(s.models??[]).find(oe=>oe.id===Z)?.maxContextSize}function Q(Z,oe){if(!Z||!oe)return!1;const K=W(Z),Be=W(oe);return K===void 0||Be===void 0?!1:K!==Be}const V=T(null),C=M(()=>V.value?V.value:Q(s.config?.planningModel,s.config?.defaultModel)?n("settings.planningModelContextMismatch"):null);function D(Z){if(!(!Z||Z===s.config?.planningModel)){if(Q(Z,s.config?.defaultModel)){V.value=n("settings.planningModelContextMismatch");return}V.value=null,o("updateConfig",{planningModel:Z})}}function O(Z){Z!==B.value&&o("updateConfig",{defaultPermissionMode:Z})}function J(Z){const oe=s.config?.[Z];o("updateConfig",{[Z]:!E(oe)})}function ve(){const Z=s.config?.thinking;return!Z||typeof Z!="object"?!0:Z.enabled!==!1}function me(){o("updateConfig",{thinking:{enabled:!ve()}})}function ze(){const Z=s.config?.telemetry!==!1;o("updateConfig",{telemetry:!Z})}function ie(Z){i.value=Z}const le=hi(),te=T([]),re=T(!1),se=T(!1),he=T(!1),ae=T(""),F=T("all"),Y=T("archived-desc");let ke;async function we(Z){if(!re.value){re.value=!0;try{const oe=await le.loadArchivedSessions({beforeId:Z?void 0:ke,pageSize:nN});te.value=Z?oe.items:ND(te.value,oe.items),ke=oe.items.at(-1)?.id,he.value=oe.hasMore&&oe.items.length>0,se.value=!0}catch(oe){console.warn("fetchArchivedPage failed",oe)}finally{re.value=!1}}}Ne(i,Z=>{Z==="archived"&&!se.value&&we(!0)});const Le=M(()=>{const Z=new Set;for(const oe of te.value)Z.add(oe.cwd);return Array.from(Z).sort((oe,K)=>oe.localeCompare(K))}),Ze=M(()=>{let Z=te.value.filter(K=>K.archived===!0);F.value!=="all"&&(Z=Z.filter(K=>K.cwd===F.value));const oe=ae.value.trim().toLowerCase();return oe&&(Z=Z.filter(K=>K.title.toLowerCase().includes(oe))),FD(Z,Y.value)}),be=M(()=>{const Z=new Map;for(const oe of Ze.value){const K=Z.get(oe.cwd)??[];K.push(oe),Z.set(oe.cwd,K)}return Array.from(Z.entries()).map(([oe,K])=>({cwd:oe,items:K}))});async function pe(Z){await le.restoreSession(Z)&&(te.value=te.value.filter(K=>K.id!==Z))}function ne(Z){const oe=new Date(Z);if(Number.isNaN(oe.getTime()))return Z;const K=Be=>String(Be).padStart(2,"0");return`${oe.getFullYear()}-${K(oe.getMonth()+1)}-${K(oe.getDate())} ${K(oe.getHours())}:${K(oe.getMinutes())}`}return(Z,oe)=>(l(),q(ms,{open:!0,"close-on-esc":!1,title:a(n)("settings.title"),size:"xl",height:"fixed",padded:!1,onClose:oe[24]||(oe[24]=K=>o("close"))},{default:L(()=>[r("div",{ref_key:"dialogRef",ref:m,class:"sd"},[r("nav",{class:"settings-tabs",role:"tablist","aria-label":a(n)("settings.title")},[(l(),c(de,null,Pe(u,K=>r("button",{key:K.id,type:"button",class:fe(["tab",{on:i.value===K.id}]),role:"tab","aria-selected":i.value===K.id,onClick:Be=>ie(K.id)},d(a(n)(K.labelKey)),11,OO)),64))],8,DO),r("div",zO,[wt(r("section",FO,[r("section",NO,[r("h3",WO,d(a(n)("settings.appearance")),1),r("div",qO,[r("span",HO,d(a(n)("theme.colorSchemeLabel")),1),w(mn,{"model-value":e.colorScheme,options:[{value:"light",label:a(n)("theme.light")},{value:"dark",label:a(n)("theme.dark")},{value:"system",label:a(n)("theme.system")}],"onUpdate:modelValue":oe[0]||(oe[0]=K=>o("setColorScheme",K))},null,8,["model-value","options"])]),r("div",UO,[r("span",VO,d(a(n)("theme.accentLabel")),1),w(mn,{"model-value":e.accent,options:[{value:"blue",label:a(n)("theme.accentBlue")},{value:"mono",label:a(n)("theme.accentBlack")}],"onUpdate:modelValue":oe[1]||(oe[1]=K=>o("setAccent",K))},null,8,["model-value","options"])]),r("div",jO,[r("span",KO,d(a(n)("settings.uiFontSize")),1),r("label",GO,[r("input",{class:"num-input",type:"number",min:"12",max:"20",step:"1",value:e.uiFontSize,"aria-label":a(n)("settings.uiFontSize"),onInput:oe[2]||(oe[2]=K=>o("setUiFontSize",Number(K.target.value)))},null,40,QO),oe[25]||(oe[25]=r("span",{class:"num-unit"},"px",-1))])]),r("div",YO,[r("span",ZO,d(a(n)("sidebar.language")),1),w(yp)]),r("div",XO,[r("span",JO,[ee(d(a(n)("settings.conversationToc"))+" ",1),r("span",ez,d(a(n)("settings.conversationTocHint")),1)]),w(ts,{"model-value":e.conversationToc??!0,label:a(n)("settings.conversationToc"),"onUpdate:modelValue":oe[3]||(oe[3]=K=>o("setConversationToc",K))},null,8,["model-value","label"])])]),r("section",tz,[r("h3",nz,d(a(n)("settings.notifications")),1),r("div",sz,[r("span",oz,[ee(d(a(n)("settings.notifyOnComplete"))+" ",1),e.notifyPermission==="denied"?(l(),c("span",iz,d(a(n)("settings.notifyDenied")),1)):I("",!0)]),w(ts,{"model-value":e.notify,disabled:e.notifyPermission==="denied",label:a(n)("settings.notifyOnComplete"),"onUpdate:modelValue":oe[4]||(oe[4]=K=>o("setNotify",K))},null,8,["model-value","disabled","label"])]),r("div",az,[r("span",lz,[ee(d(a(n)("settings.notifyOnQuestion"))+" ",1),e.notifyPermission==="denied"?(l(),c("span",rz,d(a(n)("settings.notifyDenied")),1)):I("",!0)]),w(ts,{"model-value":e.notifyQuestion,disabled:e.notifyPermission==="denied",label:a(n)("settings.notifyOnQuestion"),"onUpdate:modelValue":oe[5]||(oe[5]=K=>o("setNotifyQuestion",K))},null,8,["model-value","disabled","label"])]),r("div",uz,[r("span",cz,[ee(d(a(n)("settings.notifyOnApproval"))+" ",1),e.notifyPermission==="denied"?(l(),c("span",dz,d(a(n)("settings.notifyDenied")),1)):I("",!0)]),w(ts,{"model-value":e.notifyApproval,disabled:e.notifyPermission==="denied",label:a(n)("settings.notifyOnApproval"),"onUpdate:modelValue":oe[6]||(oe[6]=K=>o("setNotifyApproval",K))},null,8,["model-value","disabled","label"])]),r("div",pz,[r("span",fz,d(a(n)("settings.soundOnComplete")),1),w(ts,{"model-value":e.sound,label:a(n)("settings.soundOnComplete"),"onUpdate:modelValue":oe[7]||(oe[7]=K=>o("setSound",K))},null,8,["model-value","label"])]),r("div",mz,[r("span",vz,[ee(d(a(n)("settings.taskNotices"))+" ",1),r("span",gz,d(a(n)("settings.taskNoticesHint")),1)]),w(ts,{"model-value":e.taskNotices,label:a(n)("settings.taskNotices"),"onUpdate:modelValue":oe[8]||(oe[8]=K=>o("setTaskNotices",K))},null,8,["model-value","label"])])])],512),[[Wn,i.value==="general"]]),wt(r("section",hz,[r("section",yz,[r("h3",kz,d(a(n)("settings.account")),1),r("div",bz,[r("span",wz,d(e.authReady?"managed:kimi-code":a(n)("sidebar.notSignedIn")),1),w(gt,{text:e.accountModel},{default:L(()=>[e.authReady&&e.accountModel?(l(),c("span",Sz,d(e.accountModel),1)):I("",!0)]),_:1},8,["text"])]),r("div",Cz,[w(je,{variant:"secondary",size:"sm",onClick:oe[9]||(oe[9]=K=>{o("openOnboarding"),o("close")})},{default:L(()=>[ee(d(a(n)("onboarding.reopen")),1)]),_:1}),e.authReady?(l(),q(je,{key:0,variant:"danger-soft",size:"sm",onClick:oe[10]||(oe[10]=K=>o("logout"))},{default:L(()=>[ee(d(a(n)("sidebar.signOut")),1)]),_:1})):e.kimiOauthEnabled?(l(),q(je,{key:1,variant:"primary",size:"sm",onClick:oe[11]||(oe[11]=K=>o("login"))},{default:L(()=>[ee(d(a(n)("sidebar.signIn")),1)]),_:1})):I("",!0)])])],512),[[Wn,i.value==="account"]]),wt(r("section",_z,[r("section",Mz,[r("div",$z,[r("h3",xz,d(a(n)("settings.agentDefaults")),1),e.configSaving?(l(),c("span",Tz,d(a(n)("settings.saving")),1)):I("",!0)]),e.config?(l(),c(de,{key:0},[r("div",Iz,[r("span",Az,[ee(d(a(n)("settings.defaultModel"))+" ",1),r("span",Pz,d(a(n)("settings.defaultModelHint")),1)]),S.value.length>0?(l(),c("div",Ez,[w(Js,{"model-value":e.config.defaultModel??"",disabled:e.configSaving,"aria-label":a(n)("settings.defaultModel"),"onUpdate:modelValue":R},{default:L(()=>[e.config.defaultModel?I("",!0):(l(),c("option",Bz,d(a(n)("settings.noDefaultModel")),1)),(l(!0),c(de,null,Pe(S.value,K=>(l(),c("optgroup",{key:K.provider,label:K.provider},[(l(!0),c(de,null,Pe(K.options,Be=>(l(),c("option",{key:Be.id,value:Be.id},d(Be.label),9,Lz))),128))],8,Rz))),128))]),_:1},8,["model-value","disabled","aria-label"])])):(l(),c("span",Dz,d(e.config.defaultModel??a(n)("settings.noDefaultModel")),1))]),r("div",Oz,[r("span",zz,[ee(d(a(n)("settings.planningModel"))+" ",1),r("span",Fz,d(a(n)("settings.planningModelHint")),1)]),r("div",Nz,[S.value.length>0?(l(),c("div",Wz,[w(Js,{"model-value":e.config.planningModel??"",disabled:e.configSaving,error:!!C.value,"aria-label":a(n)("settings.planningModel"),"aria-describedby":"settings-planning-model-error","onUpdate:modelValue":D},{default:L(()=>[e.config.planningModel?I("",!0):(l(),c("option",qz,d(a(n)("settings.noDefaultModel")),1)),(l(!0),c(de,null,Pe(S.value,K=>(l(),c("optgroup",{key:K.provider,label:K.provider},[(l(!0),c(de,null,Pe(K.options,Be=>(l(),c("option",{key:Be.id,value:Be.id},d(Be.label),9,Uz))),128))],8,Hz))),128))]),_:1},8,["model-value","disabled","error","aria-label"])])):(l(),c("span",Vz,d(e.config.planningModel??a(n)("settings.noDefaultModel")),1)),C.value?(l(),c("span",jz,d(C.value),1)):I("",!0)])]),r("div",Kz,[r("span",Gz,[ee(d(a(n)("settings.defaultPermission"))+" ",1),r("span",Qz,d(a(n)("settings.defaultPermissionHint")),1)]),w(mn,{"model-value":B.value,options:x.map(K=>({value:K,label:a(n)(g[K])})),"onUpdate:modelValue":oe[12]||(oe[12]=K=>O(K))},null,8,["model-value","options"])]),r("div",Yz,[r("span",Zz,[ee(d(a(n)("settings.defaultThinking"))+" ",1),r("span",Xz,d(a(n)("settings.defaultThinkingHint")),1)]),w(ts,{"model-value":ve(),disabled:e.configSaving,label:a(n)("settings.defaultThinking"),"onUpdate:modelValue":oe[13]||(oe[13]=K=>me())},null,8,["model-value","disabled","label"])]),r("div",Jz,[r("span",eF,[ee(d(a(n)("settings.defaultPlanMode"))+" ",1),r("span",tF,d(a(n)("settings.defaultPlanModeHint")),1)]),w(ts,{"model-value":E(e.config.defaultPlanMode),disabled:e.configSaving,label:a(n)("settings.defaultPlanMode"),"onUpdate:modelValue":oe[14]||(oe[14]=K=>J("defaultPlanMode"))},null,8,["model-value","disabled","label"])]),r("div",nF,[r("span",sF,[ee(d(a(n)("settings.mergeSkills"))+" ",1),r("span",oF,d(a(n)("settings.mergeSkillsHint")),1)]),w(ts,{"model-value":E(e.config.mergeAllAvailableSkills),disabled:e.configSaving,label:a(n)("settings.mergeSkills"),"onUpdate:modelValue":oe[15]||(oe[15]=K=>J("mergeAllAvailableSkills"))},null,8,["model-value","disabled","label"])])],64)):(l(),c("div",iF,d(a(n)("settings.configUnavailable")),1))])],512),[[Wn,i.value==="agent"]]),wt(r("section",aF,[w(LO,{active:i.value==="plugins"},null,8,["active"])],512),[[Wn,i.value==="plugins"]]),wt(r("section",lF,[r("section",rF,[r("h3",uF,d(a(n)("settings.advanced")),1),r("div",cF,[r("span",dF,d(a(n)("sidebar.daemon")),1),r("span",pF,d(a(p)),1),w(je,{variant:"secondary",size:"sm",onClick:oe[16]||(oe[16]=K=>k("endpoint"))},{default:L(()=>[ee(d(v.value==="endpoint"?a(n)("sidebar.copied"):a(n)("settings.copyServer")),1)]),_:1})]),r("div",fF,[r("span",mF,d(a(n)("settings.backend")),1),r("span",vF,d(f.value),1)]),r("div",gF,[r("span",hF,d(a(n)("settings.serverVersion")),1),r("span",yF,d(e.serverVersion||"-"),1),w(je,{variant:"secondary",size:"sm",disabled:!e.serverVersion,onClick:oe[17]||(oe[17]=K=>k("version"))},{default:L(()=>[ee(d(v.value==="version"?a(n)("sidebar.copied"):a(n)("settings.copyServer")),1)]),_:1},8,["disabled"])]),e.config?(l(),c("div",kF,[r("span",bF,[ee(d(a(n)("settings.telemetry"))+" ",1),r("span",wF,d(a(n)("settings.telemetryHint")),1),r("span",SF,d(a(n)("settings.telemetryRestartHint")),1)]),w(ts,{"model-value":e.config.telemetry!==!1,disabled:e.configSaving,label:a(n)("settings.telemetry"),"onUpdate:modelValue":oe[18]||(oe[18]=K=>ze())},null,8,["model-value","disabled","label"])])):I("",!0),r("div",CF,[r("span",_F,[ee(d(a(n)("settings.exportLog"))+" ",1),a(vs)()?I("",!0):(l(),c("span",MF,d(a(n)("settings.logHint")),1))]),w(je,{variant:"secondary",size:"sm",onClick:h},{default:L(()=>[ee(d(a(n)("settings.exportLogBtn")),1)]),_:1})])])],512),[[Wn,i.value==="advanced"]]),wt(r("section",$F,[r("div",xF,[r("div",TF,d(a(n)("settings.archivedTitle")),1),r("h4",IF,d(a(n)("settings.archivedTitle")),1),r("p",AF,d(a(n)("settings.archivedDesc")),1)]),r("div",PF,[r("label",EF,[w(X,{name:"search",size:"sm"}),wt(r("input",{"onUpdate:modelValue":oe[19]||(oe[19]=K=>ae.value=K),placeholder:a(n)("settings.archivedSearch")},null,8,BF),[[Dn,ae.value]])]),w(Js,{"model-value":F.value,size:"sm","aria-label":a(n)("settings.archivedAllWorkspaces"),"onUpdate:modelValue":oe[20]||(oe[20]=K=>F.value=K)},{default:L(()=>[r("option",RF,d(a(n)("settings.archivedAllWorkspaces")),1),(l(!0),c(de,null,Pe(Le.value,K=>(l(),c("option",{key:K,value:K},d(K),9,LF))),128))]),_:1},8,["model-value","aria-label"]),w(mn,{size:"sm","model-value":Y.value,options:[{value:"archived-desc",label:a(n)("settings.archivedSortArchived")},{value:"created-desc",label:a(n)("settings.archivedSortCreated")},{value:"name-asc",label:a(n)("settings.archivedSortName")}],"onUpdate:modelValue":oe[21]||(oe[21]=K=>Y.value=K)},null,8,["model-value","options"])]),re.value&&!se.value?(l(),c("div",DF,d(a(n)("settings.archivedLoadingAll")),1)):(l(),c(de,{key:1},[be.value.length>0?(l(),c("div",OF,[(l(!0),c(de,null,Pe(be.value,K=>(l(),c("section",{key:K.cwd,class:"archive-card"},[r("div",zF,[w(X,{name:"folder-closed",size:"sm"}),r("span",FF,d(K.cwd),1),r("span",NF,d(a(n)("settings.archivedSessionsCount",{count:K.items.length})),1)]),r("div",WF,[(l(!0),c(de,null,Pe(K.items,Be=>(l(),c("div",{key:Be.id,class:"archive-row"},[r("div",qF,[r("div",HF,d(Be.title),1),r("div",UF,d(a(n)("settings.archivedAt",{time:ne(Be.updatedAt)})),1)]),w(je,{variant:"secondary",size:"sm",onClick:Ve=>pe(Be.id)},{default:L(()=>[ee(d(a(n)("settings.archivedRestore")),1)]),_:1},8,["onClick"])]))),128))])]))),128)),he.value?(l(),c("button",{key:0,class:"archive-load-more",disabled:re.value,onClick:oe[22]||(oe[22]=K=>we(!1))},d(re.value?a(n)("settings.archivedLoading"):a(n)("settings.archivedLoadMore")),9,VF)):I("",!0)])):(l(),c("div",jF,d(te.value.length===0?a(n)("settings.archivedEmpty"):a(n)("settings.archivedNoMatch")),1))],64))],512),[[Wn,i.value==="archived"]]),wt(r("section",KF,[r("div",GF,[r("div",QF,d(a(n)("settings.lab.title")),1),r("h4",YF,d(a(n)("settings.lab.title")),1),r("p",ZF,d(a(n)("settings.lab.desc")),1)]),r("section",XF,[r("div",JF,[r("span",eN,[ee(d(a(n)("settings.lab.multiTabSidebar"))+" ",1),r("span",tN,d(a(n)("settings.lab.multiTabSidebarHint")),1)]),w(ts,{"model-value":e.multiTabSidebar??!1,label:a(n)("settings.lab.multiTabSidebar"),"onUpdate:modelValue":oe[23]||(oe[23]=K=>o("setMultiTabSidebar",K))},null,8,["model-value","label"])])])],512),[[Wn,i.value==="lab"]])])],512)]),_:1},8,["title"]))}}),oN=Re(sN,[["__scopeId","data-v-0e526447"]]),ju=[20,50,100],iN={workspace:"all",status:"all",time:"all",search:""};function Ku(){return{...iN}}function aN(e,t,n=Date.now()){const s=t.time==="all"?null:n-t.time*24*60*60*1e3,o=t.search.trim().toLowerCase();return e.filter(i=>{if(t.workspace!=="all"&&i.workspaceName!==t.workspace||t.status==="open"&&i.done||t.status==="done"&&!i.done)return!1;if(s!==null){const u=i.updatedAt?new Date(i.updatedAt).getTime():Number.NaN;if(!Number.isFinite(u)||us.id));return t.filter(s=>!n.has(s))}return ar(e,t)}function kp(e,t){if(e.length===0)return!1;const n=new Set(t);return e.every(s=>n.has(s.id))}const cN=["checked","disabled"],dN={class:"ui-check__box","aria-hidden":"true"},pN={key:0,class:"ui-check__label"},fN=Ee({__name:"Checkbox",props:{modelValue:{type:Boolean},disabled:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:t}){const n=t;return(s,o)=>(l(),c("label",{class:fe(["ui-check",{"is-on":e.modelValue,"is-disabled":e.disabled}])},[r("input",{class:"ui-check__input",type:"checkbox",checked:e.modelValue,disabled:e.disabled,onChange:o[0]||(o[0]=i=>n("update:modelValue",i.target.checked))},null,40,cN),r("span",dN,[e.modelValue?(l(),q(X,{key:0,name:"check",size:"md"})):I("",!0)]),s.$slots.default?(l(),c("span",pN,[At(s.$slots,"default",{},void 0,!0)])):I("",!0)],2))}}),Qu=Re(fN,[["__scopeId","data-v-1802c5bd"]]),mN={class:"sd"},vN={class:"sd-head"},gN={class:"sd-head-text"},hN={class:"sd-title"},yN={class:"sd-subtitle"},kN={class:"toolbar"},bN={class:"search"},wN=["placeholder","aria-label"],SN={value:"all"},CN=["value"],_N={value:"all"},MN={value:"open"},$N={value:"done"},xN={value:"all"},TN={value:"7"},IN={value:"30"},AN={class:"batch-bar"},PN={class:"batch-count"},EN={class:"batch-actions"},BN={class:"list"},RN={key:0,class:"empty"},LN={class:"row-main"},DN=["aria-label","onBlur"],ON=["title"],zN={class:"row-meta"},FN=["title"],NN=["title"],WN={key:1,class:"row-emoji","aria-hidden":"true"},qN={class:"pager"},HN={class:"page-info"},UN=["value"],VN={class:"total"},jN=Ee({__name:"SessionManagementDialog",props:{sessions:{}},emits:["close"],setup(e,{emit:t}){const{t:n}=Ye(),s=hi(),o=e,i=t,u=s.sessionEmojiBySession,p=M(()=>o.sessions.map(qe=>({id:qe.id,title:qe.title,workspaceName:qe.workspaceName,updatedAt:qe.updatedAt,done:qe.done===!0,time:qe.time,emoji:u.value[qe.id]??null}))),f=T(Ku()),v=T(0),k=T(ju[0]),x=T([]),g=M(()=>{const qe=new Set;for(const He of p.value)He.workspaceName&&qe.add(He.workspaceName);return Array.from(qe).sort((He,Ue)=>He.localeCompare(Ue))}),m=M(()=>aN(p.value,f.value)),$=M(()=>lN(m.value,v.value,k.value)),h=M(()=>$.value.rows),y=M(()=>kp(h.value,x.value));Ne(m,()=>{v.value=0});function S(qe){f.value={...f.value,workspace:qe}}function B(qe){f.value={...f.value,status:qe}}function b(qe){f.value={...f.value,time:qe==="all"?"all":Number(qe)}}function P(){f.value=Ku()}function E(qe){k.value=Number(qe),v.value=0}function R(){v.value>0&&(v.value-=1)}function W(){v.value+1<$.value.totalPages&&(v.value+=1)}function Q(){x.value=uN(h.value,x.value)}function V(){x.value=Gu(p.value,x.value)}function C(){x.value=rN(h.value,x.value)}function D(){x.value=Gu(m.value,x.value)}function O(){x.value=[]}function J(qe){return x.value.includes(qe)}function ve(qe,He){He?x.value.includes(qe)||(x.value=[...x.value,qe]):x.value=x.value.filter(Ue=>Ue!==qe)}function me(){s.markSessionsDone(x.value),O()}function ze(){s.reopenSessions(x.value),O()}function ie(qe){s.toggleDoneSession(qe.id)}function le(qe){Be(),s.forkSession(qe.id)}function te(qe){Be(),s.exportSession(qe.id)}function re(qe){Be(),s.undoSessionById(qe.id)}function se(qe){s.setSessionEmoji(qe.id,null),Be()}const he=T(null),ae=T(""),F=T(null);function Y(qe){Be(),he.value=qe.id,ae.value=qe.title,Xe().then(()=>{F.value?.focus(),F.value?.select()})}function ke(qe){const He=ae.value.trim();He&&s.renameSession(qe,He),he.value=null}function we(){he.value=null}function Le(){he.value!==null&&ke(he.value)}function Ze(){we()}const be=T(null),pe=T(null),ne=T({}),Z=T(null);function oe(qe){const He=qe.target;He.closest(".row-kebab")||He.closest(".row-menu")||Be()}async function K(qe,He){const Ue=He.currentTarget;be.value=qe.id,pe.value=qe,document.addEventListener("mousedown",oe),window.addEventListener("resize",Be),await Xe();const ct=Z.value?.el,it=Ue.getBoundingClientRect(),Bt=4,Ht=8,ln=ct?.offsetHeight??0,ut=ct?.offsetWidth??0;let nn=it.bottom+Bt;nn+ln>window.innerHeight-Ht&&(nn=Math.max(Ht,it.top-ln-Bt));let sn=it.right-ut;snwindow.innerHeight-Ht&&(ln=Math.max(Ht,ct.top-it-4));let ut=ct.right-Bt;ut{document.removeEventListener("mousedown",oe),window.removeEventListener("resize",Be),document.removeEventListener("mousedown",Me),window.removeEventListener("resize",Se)});function Je(qe){if(!qe)return"";const He=new Date(qe);if(Number.isNaN(He.getTime()))return qe;const Ue=ct=>String(ct).padStart(2,"0");return`${He.getFullYear()}-${Ue(He.getMonth()+1)}-${Ue(He.getDate())} ${Ue(He.getHours())}:${Ue(He.getMinutes())}`}function ht(qe){return he.value===qe.id}return(qe,He)=>(l(),q(ms,{open:!0,"close-on-esc":!1,title:a(n)("admin.title"),size:"xl",height:"fixed",padded:!1,onClose:He[17]||(He[17]=Ue=>i("close"))},{default:L(()=>[r("div",mN,[r("div",vN,[r("div",gN,[r("h3",hN,d(a(n)("admin.title")),1),r("p",yN,d(a(n)("admin.subtitle")),1)]),w(je,{variant:"ghost",size:"sm",onClick:He[0]||(He[0]=Ue=>i("close"))},{default:L(()=>[ee(d(a(n)("admin.back")),1)]),_:1})]),r("div",kN,[r("label",bN,[w(X,{name:"search",size:"sm"}),wt(r("input",{"onUpdate:modelValue":He[1]||(He[1]=Ue=>f.value.search=Ue),placeholder:a(n)("admin.searchWorkspace"),"aria-label":a(n)("admin.searchWorkspace")},null,8,wN),[[Dn,f.value.search]])]),w(Js,{"model-value":f.value.workspace,size:"sm","aria-label":a(n)("admin.filterWorkspace"),"onUpdate:modelValue":S},{default:L(()=>[r("option",SN,d(a(n)("admin.allWorkspaces")),1),(l(!0),c(de,null,Pe(g.value,Ue=>(l(),c("option",{key:Ue,value:Ue},d(Ue),9,CN))),128))]),_:1},8,["model-value","aria-label"]),w(Js,{"model-value":f.value.status,size:"sm","aria-label":a(n)("admin.filterStatus"),"onUpdate:modelValue":B},{default:L(()=>[r("option",_N,d(a(n)("admin.allStatus")),1),r("option",MN,d(a(n)("admin.statusOpen")),1),r("option",$N,d(a(n)("admin.statusDone")),1)]),_:1},8,["model-value","aria-label"]),w(Js,{"model-value":f.value.time,size:"sm","aria-label":a(n)("admin.filterTime"),"onUpdate:modelValue":b},{default:L(()=>[r("option",xN,d(a(n)("admin.timeAll")),1),r("option",TN,d(a(n)("admin.timeDaysAgo",{n:7})),1),r("option",IN,d(a(n)("admin.timeDaysAgo",{n:30})),1)]),_:1},8,["model-value","aria-label"]),w(je,{variant:"ghost",size:"sm",disabled:f.value.search===""&&f.value.workspace==="all"&&f.value.status==="all"&&f.value.time==="all",onClick:P},{default:L(()=>[ee(d(a(n)("admin.reset")),1)]),_:1},8,["disabled"])]),r("div",AN,[w(Qu,{"model-value":y.value,"aria-label":a(n)("admin.selectPageAll"),"onUpdate:modelValue":Q},null,8,["model-value","aria-label"]),r("span",PN,d(a(n)("admin.batchSelected",{n:x.value.length})),1),r("div",EN,[w(lt,{class:"select-trigger",size:"sm",label:a(n)("admin.selectAll"),"aria-haspopup":"menu","aria-expanded":Ve.value,onClick:He[2]||(He[2]=Oe(Ue=>xe(Ue),["stop"]))},{default:L(()=>[w(X,{name:"check-list"})]),_:1},8,["label","aria-expanded"]),w(je,{variant:"secondary",size:"sm",disabled:x.value.length===0,onClick:me},{default:L(()=>[w(X,{name:"check-list",size:"sm"}),ee(" "+d(a(n)("admin.markDoneCount",{n:x.value.length})),1)]),_:1},8,["disabled"]),w(je,{variant:"secondary",size:"sm",disabled:x.value.length===0,onClick:ze},{default:L(()=>[w(X,{name:"undo",size:"sm"}),ee(" "+d(a(n)("admin.reopenCount",{n:x.value.length})),1)]),_:1},8,["disabled"])])]),r("div",BN,[m.value.length===0?(l(),c("div",RN,d(a(n)("admin.noSessions")),1)):(l(!0),c(de,{key:1},Pe(h.value,Ue=>(l(),c("div",{key:Ue.id,class:fe(["row",{on:J(Ue.id)}])},[w(Qu,{"model-value":J(Ue.id),"aria-label":Ue.title,"onUpdate:modelValue":ct=>ve(Ue.id,ct)},null,8,["model-value","aria-label","onUpdate:modelValue"]),r("div",LN,[ht(Ue)?wt((l(),c("input",{key:0,ref_for:!0,ref_key:"renameInputRef",ref:F,"onUpdate:modelValue":He[3]||(He[3]=ct=>ae.value=ct),class:"rename-input","aria-label":a(n)("admin.rename"),onClick:He[4]||(He[4]=Oe(()=>{},["stop"])),onKeydown:[Cn(Le,["enter"]),Cn(Ze,["esc"])],onBlur:ct=>ke(Ue.id)},null,40,DN)),[[Dn,ae.value]]):(l(),c("div",{key:1,class:"row-title",title:Ue.title},d(Ue.title),9,ON)),r("div",zN,[r("span",{class:"row-ws",title:Ue.workspaceName},d(Ue.workspaceName||"—"),9,FN),r("span",{class:"row-time",title:Je(Ue.updatedAt)},d(Ue.time||""),9,NN),Ue.done?(l(),q(Et,{key:0,variant:"success",size:"sm"},{default:L(()=>[ee(d(a(n)("admin.statusDone")),1)]),_:1})):I("",!0),Ue.emoji?(l(),c("span",WN,d(Ue.emoji),1)):I("",!0)])]),w(lt,{class:"row-kebab",size:"sm",label:a(n)("admin.moreActions"),"aria-haspopup":"menu",onClick:Oe(ct=>K(Ue,ct),["stop"])},{default:L(()=>[w(X,{name:"dots-horizontal"})]),_:1},8,["label","onClick"])],2))),128))]),r("div",qN,[w(je,{variant:"ghost",size:"sm",disabled:v.value===0,onClick:R},{default:L(()=>[ee(d(a(n)("admin.prevPage")),1)]),_:1},8,["disabled"]),r("span",HN,d(v.value+1)+" / "+d($.value.totalPages),1),w(je,{variant:"ghost",size:"sm",disabled:v.value+1>=$.value.totalPages,onClick:W},{default:L(()=>[ee(d(a(n)("admin.nextPage")),1)]),_:1},8,["disabled"]),w(Js,{"model-value":k.value,size:"sm","aria-label":a(n)("admin.pageSize"),"onUpdate:modelValue":E},{default:L(()=>[(l(!0),c(de,null,Pe(a(ju),Ue=>(l(),c("option",{key:Ue,value:Ue},d(Ue),9,UN))),128))]),_:1},8,["model-value","aria-label"]),r("span",VN,d(a(n)("admin.total",{n:m.value.length})),1)])]),(l(),q(ss,{to:"body"},[be.value!==null&&pe.value?(l(),q(Fn,{key:0,ref_key:"rowMenuRef",ref:Z,class:"row-menu",style:vt(ne.value),onClick:He[11]||(He[11]=Oe(()=>{},["stop"]))},{default:L(()=>[w(st,{onClick:He[5]||(He[5]=Ue=>ie(pe.value))},{default:L(()=>[w(X,{name:pe.value.done?"undo":"check-list",size:"sm"},null,8,["name"]),ee(" "+d(pe.value.done?a(n)("admin.reopen"):a(n)("admin.markDone")),1)]),_:1}),w(st,{separator:""}),w(st,{onClick:He[6]||(He[6]=Ue=>Y(pe.value))},{default:L(()=>[w(X,{name:"pencil",size:"sm"}),ee(" "+d(a(n)("admin.rename")),1)]),_:1}),w(st,{onClick:He[7]||(He[7]=Ue=>le(pe.value))},{default:L(()=>[w(X,{name:"git-fork",size:"sm"}),ee(" "+d(a(n)("admin.fork")),1)]),_:1}),w(st,{onClick:He[8]||(He[8]=Ue=>te(pe.value))},{default:L(()=>[w(X,{name:"download",size:"sm"}),ee(" "+d(a(n)("admin.export")),1)]),_:1}),w(st,{onClick:He[9]||(He[9]=Ue=>re(pe.value))},{default:L(()=>[w(X,{name:"undo",size:"sm"}),ee(" "+d(a(n)("admin.undo")),1)]),_:1}),pe.value.emoji?(l(),q(st,{key:0,onClick:He[10]||(He[10]=Ue=>se(pe.value))},{default:L(()=>[w(X,{name:"emotion",size:"sm"}),ee(" "+d(a(n)("admin.removeTag")),1)]),_:1})):I("",!0)]),_:1},8,["style"])):I("",!0),Ve.value?(l(),q(Fn,{key:1,ref_key:"selectMenuRef",ref:dt,class:"select-menu",style:vt(yt.value),onClick:He[16]||(He[16]=Oe(()=>{},["stop"]))},{default:L(()=>[w(st,{onClick:He[12]||(He[12]=Ue=>Ae("all"))},{default:L(()=>[ee(d(a(n)("admin.selectAll")),1)]),_:1}),w(st,{onClick:He[13]||(He[13]=Ue=>Ae("page"))},{default:L(()=>[ee(d(a(n)("admin.selectPageAll")),1)]),_:1}),w(st,{onClick:He[14]||(He[14]=Ue=>Ae("matching"))},{default:L(()=>[ee(d(a(n)("admin.selectAllMatching")),1)]),_:1}),w(st,{separator:""}),w(st,{onClick:He[15]||(He[15]=Ue=>Ae("clear"))},{default:L(()=>[ee(d(a(n)("admin.clearSelection")),1)]),_:1})]),_:1},8,["style"])):I("",!0)]))]),_:1},8,["title"]))}}),KN=Re(jN,[["__scopeId","data-v-57938067"]]),GN=/^(?:\/|~(?:\/|$)|[A-Za-z]:[\\/]|\\\\)/,bp=/^[A-Za-z]:[\\/]/,QN=/^\/\/(?!\/)/;function Va(e){return GN.test(e.trim())}function YN(e,t){return e==="~"?t||e:e.startsWith("~/")?(t||"~")+e.slice(1):e}function ZN(e){return QN.test(e)?`//${e.slice(2).replaceAll(/\/{2,}/g,"/")}`:e.replaceAll(/\/{2,}/g,"/")}function XN(e){return bp.test(e)||e.startsWith("\\\\")||e.startsWith("//")}function JN(e){return bp.test(e)?3:e.startsWith("\\\\")||e.startsWith("//")?2:e.startsWith("/")?1:0}function kl(e,t){let n=ZN(YN(e.trim(),t));const s=XN(n),o=n==="/"||n==="//"||n==="\\\\"||/^[A-Za-z]:[\\/]$/.test(n),i=s?/[\\/]$/.test(n):n.endsWith("/");!o&&i&&(n=n.slice(0,-1));const u=n.lastIndexOf("/"),p=s?n.lastIndexOf("\\"):-1,f=Math.max(u,p),v=p>u?"\\":"/",k=JN(n),x=fx.value.trim().length>0);let h=0,y=null;const S=M(()=>Va(x.value)),B=T("idle"),b=T(""),P=T("/"),E=T([]),R=T(""),W=T(null),Q=T(null),V=M(()=>B.value!=="valid"?null:tW(x.value,R.value,Q.value));let C=0,D=null;function O(Y,ke){const we=Y.toLowerCase(),Le=ke.toLowerCase();let Ze=0;for(let be=0;be0&&pe=Yu))break;ne.depth+1{y&&clearTimeout(y),D&&clearTimeout(D),C++,B.value="idle",E.value=[],Q.value=null;const ke=Y.trim();if(ke===""){h++,m.value=[],g.value=!1;return}if(Va(ke)){if(h++,m.value=[],g.value=!1,p.value)return;B.value="checking",D=setTimeout(()=>void ve(ke),150);return}y=setTimeout(()=>void J(Y),220)});async function ve(Y){const ke=++C;B.value="checking",Q.value=null;const we=kl(Y,R.value),{target:Le}=we;try{const be=await s.browseFs(Le);if(ke!==C)return;if(be.path){B.value="valid",E.value=[],Q.value=Le,f.value=be.path,v.value=be.parent,k.value=be.entries,p.value=!1;return}}catch{}if(ke!==C)return;const Ze=we.base.toLowerCase();b.value=we.parent,P.value=we.separator;try{const be=await s.browseFs(we.parent);if(ke!==C)return;if(be.path){E.value=be.entries.filter(pe=>pe.isDir&&pe.name.toLowerCase().startsWith(Ze)),B.value="not-found";return}}catch{}ke===C&&(E.value=[],B.value="bad-parent")}function me(Y){x.value=eW(b.value,Y,P.value),W.value?.focus()}const ze=M(()=>p.value?n("workspace.degradedPlaceholder"):n("workspace.searchPlaceholder")),ie=M(()=>p.value?n("workspace.degradedHint"):S.value&&B.value==="valid"?n("workspace.pathFollowHint"):n("workspace.browseHint"));function le(Y){if(Y.key==="Escape"){x.value?x.value="":o("close");return}if(Y.key!=="Enter")return;const ke=x.value.trim();if(Va(ke)){if(Y.preventDefault(),p.value){const{target:we}=kl(ke,R.value);we&&o("add",we);return}B.value==="valid"?F():B.value==="not-found"&&E.value[0]&&me(E.value[0].name)}}const te=M(()=>{const Y=f.value;if(!Y)return[];const ke=Y.split("/").filter(Boolean),we=[{label:"/",path:"/"}];let Le="";for(const Ze of ke)Le+=`/${Ze}`,we.push({label:Ze,path:Le});return we}),re=M(()=>!(f.value.length===0||S.value&&V.value===null));async function se(Y){u.value=!0;try{const ke=await s.browseFs(Y);if(!ke.path){p.value=!0;return}f.value=ke.path,v.value=ke.parent,k.value=ke.entries,x.value="",p.value=!1}catch{p.value=!0}finally{u.value=!1}}function he(Y){Y.isDir&&se(Y.path)}function ae(){v.value&&se(v.value)}function F(){re.value&&o("add",V.value??f.value)}return xt(async()=>{u.value=!0;try{const Y=await s.getFsHome().catch(()=>({home:"",recentRoots:[]}));if(Y.home&&(R.value=Y.home),s.defaultPath&&(await se(s.defaultPath),!p.value))return;R.value?await se(R.value):p.value=!0}catch{p.value=!0}finally{u.value=!1}}),kt(()=>{y&&clearTimeout(y),D&&clearTimeout(D)}),(Y,ke)=>(l(),q(ms,{open:i.value,"onUpdate:open":ke[2]||(ke[2]=we=>i.value=we),title:a(n)("workspace.addTitle"),size:"lg",height:"fixed",onClose:ke[3]||(ke[3]=we=>o("close"))},{default:L(()=>[r("div",nW,[p.value?I("",!0):(l(),c("div",sW,[w(lt,{size:"sm",disabled:!v.value,label:a(n)("workspace.up"),onClick:ae},{default:L(()=>[w(X,{name:"arrow-up",size:"md"})]),_:1},8,["disabled","label"]),r("div",oW,[(l(!0),c(de,null,Pe(te.value,(we,Le)=>(l(),c(de,{key:we.path},[Le>1?(l(),c("span",iW,"/")):I("",!0),r("button",{class:fe(["crumb",{last:Le===te.value.length-1}]),onClick:Ze=>se(we.path)},d(we.label),11,aW)],64))),128))])])),!u.value||p.value?(l(),c("div",{key:1,class:fe(["filterbar",{"has-error":B.value==="not-found"||B.value==="bad-parent"}])},[w(X,{class:"filter-icon",name:"search",size:"md"}),wt(r("input",{ref_key:"filterEl",ref:W,"onUpdate:modelValue":ke[0]||(ke[0]=we=>x.value=we),class:"filter-input",type:"text",placeholder:ze.value,autocomplete:"off",spellcheck:"false",onKeydown:Oe(le,["stop"])},null,40,lW),[[Dn,x.value]]),g.value||B.value==="checking"?(l(),q(Gt,{key:0,size:"sm"})):I("",!0)],2)):I("",!0),p.value?(l(),c("div",CW,d(a(n)("workspace.degradedHint")),1)):(l(),c("div",rW,[u.value?(l(),c("div",uW,d(a(n)("workspace.browsing")),1)):S.value&&B.value!=="valid"?(l(),c(de,{key:1},[B.value==="checking"?(l(),c("div",cW,d(a(n)("workspace.checkingPath")),1)):B.value==="not-found"?(l(),c(de,{key:1},[E.value.length>0?(l(),c("div",dW,d(a(n)("workspace.pathPickHint")),1)):I("",!0),(l(!0),c(de,null,Pe(E.value,we=>(l(),c("button",{key:we.path,class:"folder-row",onClick:Le=>me(we.name)},[w(X,{class:"dir-icon",name:"folder-closed",size:"sm"}),r("span",fW,d(we.name),1)],8,pW))),128)),E.value.length===0?(l(),c("div",mW,d(a(n)("workspace.noPathMatch",{parent:b.value})),1)):I("",!0)],64)):B.value==="bad-parent"?(l(),c("div",vW,d(a(n)("workspace.badParent",{parent:b.value})),1)):I("",!0)],64)):$.value&&!S.value?(l(),c(de,{key:2},[(l(!0),c(de,null,Pe(m.value,we=>(l(),c("button",{key:we.path,class:"folder-row",onClick:Le=>se(we.path)},[w(X,{class:"dir-icon",name:"folder-closed",size:"sm"}),r("span",hW,d(we.rel),1)],8,gW))),128)),!g.value&&m.value.length===0?(l(),c("div",yW,d(a(n)("workspace.noFilterMatch",{q:x.value.trim()})),1)):g.value&&m.value.length===0?(l(),c("div",kW,d(a(n)("workspace.searching")),1)):I("",!0)],64)):(l(),c(de,{key:3},[(l(!0),c(de,null,Pe(k.value,we=>(l(),c("button",{key:we.path,class:"folder-row",onClick:Le=>he(we)},[w(X,{class:"dir-icon",name:"folder-closed",size:"sm"}),r("span",wW,d(we.name),1)],8,bW))),128)),k.value.length===0?(l(),c("div",SW,d(a(n)("workspace.noSubfolders")),1)):I("",!0)],64))])),e.error?(l(),c("div",_W,d(e.error),1)):I("",!0),r("div",MW,[w(gt,{text:f.value},{default:L(()=>[p.value?I("",!0):(l(),q(je,{key:0,variant:"primary",disabled:!re.value,onClick:F},{default:L(()=>[ee(d(a(n)("workspace.openThisFolder")),1)]),_:1},8,["disabled"]))]),_:1},8,["text"]),w(je,{variant:"secondary",onClick:ke[1]||(ke[1]=we=>o("close"))},{default:L(()=>[ee(d(a(n)("workspace.cancel")),1)]),_:1})]),r("div",$W,d(ie.value),1)])]),_:1},8,["open","title"]))}}),AW=Re(IW,[["__scopeId","data-v-a2c2e0eb"]]),PW={key:0,class:"confirm-dialog__message"},EW=Ee({__name:"ConfirmDialog",props:{open:{type:Boolean},title:{},message:{},confirmLabel:{},cancelLabel:{},variant:{default:"danger"},loading:{type:Boolean}},emits:["update:open","confirm","cancel"],setup(e,{emit:t}){const n=e,s=t,{t:o}=Ye();function i(){n.loading||(s("update:open",!1),s("cancel"))}function u(p){if(p.key!=="Enter"||!n.open||n.loading)return;const f=p.target;f instanceof HTMLButtonElement||f instanceof HTMLAnchorElement||f instanceof HTMLTextAreaElement||f instanceof HTMLSelectElement||f instanceof HTMLInputElement||(p.preventDefault(),s("confirm"))}return typeof window<"u"&&window.addEventListener("keydown",u),_n(()=>{typeof window<"u"&&window.removeEventListener("keydown",u)}),(p,f)=>(l(),q(ms,{open:e.open,title:e.title,height:"auto","initial-focus":".confirm-dialog__confirm","close-on-esc":!e.loading,"close-on-overlay":!e.loading,"onUpdate:open":f[1]||(f[1]=v=>s("update:open",v)),onClose:i},{foot:L(()=>[w(je,{variant:"secondary",disabled:e.loading,onClick:i},{default:L(()=>[ee(d(e.cancelLabel??a(o)("common.cancel")),1)]),_:1},8,["disabled"]),w(je,{class:"confirm-dialog__confirm",variant:e.variant,loading:e.loading,onClick:f[0]||(f[0]=v=>s("confirm"))},{default:L(()=>[ee(d(e.confirmLabel??a(o)("common.confirm")),1)]),_:1},8,["variant","loading"])]),default:L(()=>[e.message?(l(),c("p",PW,d(e.message),1)):I("",!0)]),_:1},8,["open","title","close-on-esc","close-on-overlay"]))}}),BW=Re(EW,[["__scopeId","data-v-2e719024"]]),RW=Ee({__name:"ConfirmDialogHost",setup(e){const{current:t,busy:n,settle:s,runAction:o}=xo();function i(){o()}return(u,p)=>(l(),q(BW,{open:a(t)!==null,title:a(t)?.title??"",message:a(t)?.message,"confirm-label":a(t)?.confirmLabel,"cancel-label":a(t)?.cancelLabel,variant:a(t)?.variant,loading:a(n),onConfirm:i,onCancel:p[0]||(p[0]=f=>a(s)(!1))},null,8,["open","title","message","confirm-label","cancel-label","variant","loading"]))}}),LW={class:"rows"},DW={class:"row"},OW={class:"row"},zW={class:"row"},FW={class:"row"},NW={class:"row"},WW={class:"row"},qW={class:"row"},HW={class:"ctx-text"},UW={key:0,class:"bar"},VW={class:"row"},jW=Ee({__name:"StatusPanel",props:{status:{},thinking:{},planMode:{type:Boolean},swarmMode:{type:Boolean},supermoonMode:{type:Boolean},costUsd:{}},emits:["close"],setup(e,{emit:t}){const{t:n}=Ye(),s=e,o=t,i=T(!0),u=M(()=>s.status.ctxMax<=0?0:Math.min(100,Math.max(0,Math.ceil(s.status.ctxUsed/s.status.ctxMax*100)))),p=M(()=>s.status.ctxMax>0?n("status.statusContextValue",{used:fs(s.status.ctxUsed),max:fs(s.status.ctxMax),pct:u.value}):n("status.statusNone"));function f(h){return n(h==="yolo"?"status.permissionYolo":h==="auto"?"status.permissionAuto":"status.permissionManual")}const v=M(()=>{const h=s.status.permission;return h==="yolo"?"var(--color-warning)":h==="auto"?"var(--color-danger)":"var(--color-text)"}),k=M(()=>s.planMode?n("status.planOn"):n("status.planOff")),x=M(()=>s.swarmMode?n("status.swarmOn"):n("status.swarmOff")),g=M(()=>s.supermoonMode?n("status.supermoonOn"):n("status.supermoonOff")),m=M(()=>typeof s.costUsd=="number"&&s.costUsd>0),$=M(()=>m.value?`$${s.costUsd.toFixed(4)}`:n("status.statusNone"));return(h,y)=>(l(),q(ms,{open:i.value,"onUpdate:open":y[0]||(y[0]=S=>i.value=S),title:a(n)("status.statusPanelTitle"),onClose:y[1]||(y[1]=S=>o("close"))},{default:L(()=>[r("dl",LW,[r("div",DW,[r("dt",null,d(a(n)("status.statusModel")),1),r("dd",null,d(e.status.model),1)]),r("div",OW,[r("dt",null,d(a(n)("status.statusThinking")),1),r("dd",null,d(e.thinking),1)]),r("div",zW,[r("dt",null,d(a(n)("status.statusPermission")),1),r("dd",{style:vt({color:v.value})},d(f(e.status.permission)),5)]),r("div",FW,[r("dt",null,d(a(n)("status.statusPlanMode")),1),r("dd",{class:fe({"plan-on":e.planMode})},d(k.value),3)]),r("div",NW,[r("dt",null,d(a(n)("status.statusSwarmMode")),1),r("dd",{class:fe({"swarm-on":e.swarmMode})},d(x.value),3)]),r("div",WW,[r("dt",null,d(a(n)("status.statusSupermoonMode")),1),r("dd",{class:fe({"supermoon-on":e.supermoonMode})},d(g.value),3)]),r("div",qW,[r("dt",null,d(a(n)("status.statusContext")),1),r("dd",null,[r("span",HW,d(p.value),1),e.status.ctxMax>0?(l(),c("span",UW,[r("i",{style:vt({width:u.value+"%"})},null,4)])):I("",!0)])]),r("div",VW,[r("dt",null,d(a(n)("status.statusCost")),1),r("dd",null,d($.value),1)])])]),_:1},8,["open","title"]))}}),KW=Re(jW,[["__scopeId","data-v-5ba9ba29"]]),GW={class:"ui-toast__icon","aria-hidden":"true"},QW={class:"ui-toast__body"},YW={class:"ui-toast__title"},ZW={key:0,class:"ui-toast__msg"},XW=Ee({__name:"Toast",props:{variant:{default:"info"},title:{},message:{},dismissLabel:{default:"Dismiss"}},emits:["dismiss"],setup(e){return(t,n)=>(l(),c("div",{class:fe(["ui-toast",`ui-toast--${e.variant}`])},[r("span",GW,[At(t.$slots,"icon",{},()=>[e.variant==="success"?(l(),q(X,{key:0,name:"check"})):e.variant==="danger"?(l(),q(X,{key:1,name:"close"})):e.variant==="warning"?(l(),q(X,{key:2,name:"alert-triangle"})):(l(),q(X,{key:3,name:"info"}))],!0)]),r("div",QW,[r("div",YW,d(e.title),1),e.message?(l(),c("div",ZW,d(e.message),1)):I("",!0),At(t.$slots,"default",{},void 0,!0)]),w(lt,{class:"ui-toast__close",size:"sm",label:e.dismissLabel,onClick:n[0]||(n[0]=s=>t.$emit("dismiss"))},{default:L(()=>[w(X,{name:"close",size:"sm"})]),_:1},8,["label"])],2))}}),wp=Re(XW,[["__scopeId","data-v-adc6f346"]]),JW={key:0,class:"actions"},eq=["onClick"],tq=["onClick"],nq={key:1,class:"details"},sq=Ee({__name:"WarningToasts",props:{warnings:{}},emits:["dismiss"],setup(e,{emit:t}){const n=e,s=t,{t:o}=Ye();function i(C){return typeof C=="object"&&C!==null}function u(C){return i(C)?C.title:C}function p(C){return i(C)?C.message??"":""}function f(C){return i(C)?C.details:void 0}function v(C){return i(C)?C.severity==="error":C.startsWith(`${o("warnings.errorLabel")}:`)||/\b4\d\d\b|error|失败|failed/i.test(C)}function k(C){if(!i(C))return v(C)?"danger":"warning";switch(C.severity){case"error":return"danger";case"success":return"success";case"info":return"info";default:return"warning"}}function x(C){return i(C)&&C.sticky===!0}function g(C){return i(C)?`notice:${C.severity}:${C.title}:${C.message??""}:${JSON.stringify(C.details??[])}`:`text:${C}`}function m(C){if(!i(C))return C;const D=[C.title];C.message&&D.push(C.message);const O=C.details??[];if(O.length>0){D.push("",`${o("warnings.diagnostics")}:`);for(const J of O)D.push(`${J.label}: ${J.value}`)}return D.join(`
+`)}let $=1;const h=T([]),y=new Map,S=new Map;function B(C){const D=v(C)?12e3:6e3;return typeof window<"u"&&window.matchMedia?.("(hover: none)").matches===!0?D+5e3:D}function b(C,D){const O=y.get(C)??{handle:null,deadline:0,remaining:0};O.handle=setTimeout(()=>V(C),D),O.deadline=Date.now()+D,y.set(C,O)}function P(C){const D=y.get(C);D&&D.handle!==null&&clearTimeout(D.handle),y.delete(C)}function E(C){const D=y.get(C);!D||D.handle===null||(clearTimeout(D.handle),D.handle=null,D.remaining=Math.max(0,D.deadline-Date.now()))}function R(C){if(h.value.find(J=>J.id===C)?.detailsOpen)return;const O=y.get(C);!O||O.handle!==null||b(C,O.remaining)}function W(C){C.detailsOpen=!C.detailsOpen,C.detailsOpen?E(C.id):R(C.id)}async function Q(C){if(!await an(m(C.warning)))return;C.copied=!0;const O=S.get(C.id);O&&clearTimeout(O),S.set(C.id,setTimeout(()=>{C.copied=!1,S.delete(C.id)},1400))}function V(C){P(C);const D=S.get(C);D&&clearTimeout(D),S.delete(C);const O=h.value.findIndex(J=>J.id===C);O!==-1&&(h.value=h.value.filter(J=>J.id!==C),s("dismiss",O))}return Ne(()=>n.warnings,C=>{const D=[...h.value];h.value=C.map(O=>{const J=g(O),ve=D.findIndex(ie=>ie.key===J),me=ve===-1?void 0:D.splice(ve,1)[0];if(me)return me.warning=O,me;const ze={id:$++,key:J,warning:O,detailsOpen:!1,copied:!1};return x(O)||b(ze.id,B(O)),ze});for(const O of D){P(O.id);const J=S.get(O.id);J&&clearTimeout(J),S.delete(O.id)}},{immediate:!0,flush:"post"}),kt(()=>{y.forEach(C=>{C.handle!==null&&clearTimeout(C.handle)}),y.clear(),S.forEach(C=>clearTimeout(C)),S.clear()}),(C,D)=>(l(),q(nc,{name:"toast",tag:"div",class:"toasts",role:"status","aria-live":"polite"},{default:L(()=>[(l(!0),c(de,null,Pe(h.value,O=>(l(),q(wp,{key:O.id,variant:k(O.warning),title:u(O.warning),message:p(O.warning),"dismiss-label":a(o)("warnings.dismiss"),onDismiss:J=>V(O.id),onPointerenter:J=>E(O.id),onPointerleave:J=>R(O.id)},{default:L(()=>[f(O.warning)?.length?(l(),c("div",JW,[r("button",{class:"link",type:"button",onClick:J=>W(O)},d(O.detailsOpen?a(o)("warnings.hideDetails"):a(o)("warnings.showDetails")),9,eq),r("button",{class:"link",type:"button",onClick:J=>Q(O)},d(O.copied?a(o)("warnings.copied"):a(o)("warnings.copyDetails")),9,tq)])):I("",!0),O.detailsOpen&&f(O.warning)?.length?(l(),c("dl",nq,[(l(!0),c(de,null,Pe(f(O.warning),J=>(l(),c("div",{key:`${J.label}:${J.value}`,class:"detail-row"},[r("dt",null,d(J.label),1),r("dd",null,d(J.value),1)]))),128))])):I("",!0)]),_:2},1032,["variant","title","message","dismiss-label","onDismiss","onPointerenter","onPointerleave"]))),128))]),_:1}))}}),oq=Re(sq,[["__scopeId","data-v-c92be17a"]]),iq={class:"tn-meta"},aq={key:0,class:"tn-bytes"},lq={key:1,class:"tn-truncated"},rq={key:0,class:"tn-preview"},uq=["disabled","onClick"],cq=8e3,dq=Ee({__name:"TaskNoticeStack",props:{notices:{}},emits:["dismiss"],setup(e,{emit:t}){const n=e,s=t,{t:o}=Ye(),i=T(new Set),u=new Map,p=new Map;function f(g){u.has(g)||u.set(g,setTimeout(()=>{u.delete(g),s("dismiss",g)},cq))}function v(g){const m=u.get(g);m!==void 0&&clearTimeout(m),u.delete(g)}Ne(()=>n.notices,g=>{for(const m of g)f(m.taskId)},{immediate:!0});async function k(g){if(!await an(g.view.outputPreview)||!g.view.outputPreview)return;const $=new Set(i.value);$.add(g.taskId),i.value=$;const h=p.get(g.taskId);h&&clearTimeout(h),p.set(g.taskId,setTimeout(()=>{const y=new Set(i.value);y.delete(g.taskId),i.value=y,p.delete(g.taskId)},1400))}function x(g){v(g.taskId),s("dismiss",g.taskId)}return kt(()=>{u.forEach(g=>clearTimeout(g)),u.clear(),p.forEach(g=>clearTimeout(g)),p.clear()}),(g,m)=>(l(),q(nc,{name:"tn",tag:"div",class:"task-notices",role:"status","aria-live":"polite"},{default:L(()=>[(l(!0),c(de,null,Pe(e.notices,$=>(l(),q(wp,{key:$.taskId,variant:"success",title:$.view.summary,"dismiss-label":a(o)("warnings.dismiss"),onDismiss:h=>x($),onPointerenter:h=>v($.taskId),onPointerleave:h=>f($.taskId)},{default:L(()=>[r("div",iq,[r("span",null,d(a(o)("tasks.noticeTitle")),1),$.view.outputBytes!==void 0?(l(),c("span",aq,d($.view.outputBytes)+" B ",1)):I("",!0),$.view.outputTruncated?(l(),c("span",lq," · "+d(a(o)("tasks.noticeOutputTruncated")),1)):I("",!0)]),$.view.outputPreview?(l(),c("pre",rq,d($.view.outputPreview),1)):I("",!0),$.view.outputPreview?(l(),c("button",{key:1,class:"tn-copy",type:"button",disabled:i.value.has($.taskId),onClick:h=>k($)},d(i.value.has($.taskId)?a(o)("tasks.copied"):a(o)("tasks.noticeCopyOutput")),9,uq)):I("",!0)]),_:2},1032,["title","dismiss-label","onDismiss","onPointerenter","onPointerleave"]))),128))]),_:1}))}}),pq=Re(dq,[["__scopeId","data-v-83335bbd"]]),fq={class:"topbar"},mq={class:"wsq"},vq=["aria-label"],gq={class:"tb-path"},hq={class:"ws"},yq={class:"se"},kq={class:"tb-sub"},bq=Ee({__name:"MobileTopBar",props:{workspace:{default:null},sessionTitle:{default:""},running:{type:Boolean,default:!1},branch:{default:""},sessionCount:{default:0}},emits:["openSwitcher","openSettings"],setup(e,{emit:t}){const{t:n}=Ye(),s=e,o=t,i=M(()=>{const f=s.workspace,k=(f?.name||f?.root||"").trim().charAt(0);return k?k.toUpperCase():"K"}),u=M(()=>s.workspace?.name??n("workspace.noWorkspace")),p=M(()=>s.running?n("mobile.running"):n("mobile.idle"));return(f,v)=>(l(),c("div",fq,[r("span",mq,d(i.value),1),r("button",{type:"button",class:"tb-mid","aria-label":a(n)("mobile.openSwitcher"),onClick:v[0]||(v[0]=k=>o("openSwitcher"))},[r("span",gq,[r("span",hq,d(u.value),1),e.sessionTitle?(l(),c(de,{key:0},[v[2]||(v[2]=r("span",{class:"sl"},"/",-1)),r("span",yq,d(e.sessionTitle),1)],64)):I("",!0),v[3]||(v[3]=r("span",{class:"cv"},"⌄",-1))]),r("span",kq,[r("span",{class:fe(["rd",{on:e.running}])},null,2),r("span",null,d(p.value),1),e.branch?(l(),c(de,{key:0},[ee(" · "+d(e.branch),1)],64)):I("",!0),e.sessionCount>0?(l(),c(de,{key:1},[ee(" · "+d(a(n)("mobile.sessionCount",{n:e.sessionCount})),1)],64)):I("",!0)])],8,vq),w(lt,{size:"lg",label:a(n)("mobile.openSettings"),onClick:v[1]||(v[1]=k=>o("openSettings"))},{default:L(()=>[w(X,{name:"sliders",size:"lg"})]),_:1},8,["label"])]))}}),wq=Re(bq,[["__scopeId","data-v-6b4b901f"]]);function Sq(e){const t=new Set,n=[];for(const s of e)for(const o of s.sessions)t.has(o.id)||(t.add(o.id),n.push(o));return n}const Cq={class:"mtabs"},_q={key:0,class:"mlist"},Mq={key:0,class:"mempty"},$q=["onClick"],xq={class:"m"},Tq={class:"s"},Iq={key:0,class:"att"},Aq={key:1,class:"mlist"},Pq={key:0,class:"mempty"},Eq=["onClick"],Bq={class:"mgh-main"},Rq={class:"mgh-name"},Lq={class:"mgh-path"},Dq={key:2,class:"att"},Oq={key:0,class:"mempty small"},zq=["onClick"],Fq={class:"m"},Nq={class:"s"},Wq={key:0,class:"att"},qq=["disabled","onClick"],Hq=["onClick"],Uq=Ee({__name:"MobileSwitcherSheet",props:{modelValue:{type:Boolean},groups:{},activeWorkspaceId:{default:null},activeId:{},attentionBySession:{default:()=>({})},attentionByWorkspace:{default:()=>({})}},emits:["update:modelValue","select","create","createInWorkspace","addWorkspace","rename","archive","deleteWorkspace","loadMore"],setup(e,{emit:t}){const{t:n}=Ye(),s=e,o=t,i=T("workspace");function u(){o("update:modelValue",!1)}function p(J){o("select",J),u()}function f(J){o("createInWorkspace",J),u()}function v(){o("create"),u()}function k(){o("addWorkspace"),u()}const x=T([]);Ne(()=>s.groups,()=>{x.value=Sq(s.groups)},{immediate:!0});const g=T(new Set);function m(J){return g.value.has(J)}function $(J){const ve=new Set(g.value);ve.has(J)?ve.delete(J):ve.add(J),g.value=ve,E.value=null,V.value=null}const h=T(new Set);function y(J){return h.value.has(J)}function S(J){const ve=new Set(h.value);ve.has(J)?ve.delete(J):ve.add(J),h.value=ve}function B(J){if(y(J.workspace.id))return J.sessions;const ve=J.sessions.slice(0,J.initialCount);if(s.activeId&&!ve.some(me=>me.id===s.activeId)){const me=J.sessions.find(ze=>ze.id===s.activeId);if(me)return[...ve,me]}return ve}function b(J){if(!h.value.has(J)){const ve=new Set(h.value);ve.add(J),h.value=ve}o("loadMore",J)}function P(J){return s.attentionByWorkspace[J]??0}const E=T(null);function R(J){E.value=E.value===J?null:J,V.value=null}function W(J){E.value=null;const me=(typeof window<"u"?window.prompt(n("sidebar.rename"),J.title):null)?.trim();me&&o("rename",J.id,me)}function Q(J){E.value=null,o("archive",J)}const V=T(null);function C(J){V.value=V.value===J?null:J,E.value=null}function D(J){an(J.root),V.value=null}function O(J){V.value=null,o("deleteWorkspace",J.id)}return(J,ve)=>(l(),q(Fo,{"model-value":e.modelValue,"onUpdate:modelValue":ve[4]||(ve[4]=me=>o("update:modelValue",me))},{default:L(()=>[r("button",{type:"button",class:"newrow",onClick:v},[w(X,{name:"message",size:"sm"}),ee(" "+d(a(n)("sidebar.newChat")),1)]),r("button",{type:"button",class:"newrow secondary",onClick:k},[w(X,{name:"folder",size:"sm"}),ee(" "+d(a(n)("sidebar.newWorkspace")),1)]),r("div",Cq,[w(mn,{"model-value":i.value,options:[{value:"flat",label:a(n)("mobile.flatTab")},{value:"workspace",label:a(n)("mobile.workspaceTab")}],"onUpdate:modelValue":ve[0]||(ve[0]=me=>i.value=me)},null,8,["model-value","options"])]),i.value==="flat"?(l(),c("div",_q,[x.value.length===0?(l(),c("div",Mq,d(a(n)("mobile.noFlatSessions")),1)):I("",!0),(l(!0),c(de,null,Pe(x.value,me=>(l(),c("div",{key:me.id,class:fe(["srow",{cur:me.id===e.activeId}]),onClick:ze=>p(me.id)},[r("div",xq,[r("div",{class:fe(["t",{run:me.busy,aborted:!me.busy&&(e.attentionBySession[me.id]??0)===0&&a(Ka)(me)}])},d(me.title),3),r("div",Tq,d(me.time),1)]),(e.attentionBySession[me.id]??0)>0?(l(),c("span",Iq,d(e.attentionBySession[me.id]),1)):I("",!0),w(lt,{size:"lg",class:"kb",label:a(n)("sidebar.options"),onClick:Oe(ze=>R(me.id),["stop"])},{default:L(()=>[w(X,{name:"dots-horizontal",size:"md"})]),_:1},8,["label","onClick"]),E.value===me.id?(l(),q(Fn,{key:1,class:"kmenu",onClick:ve[1]||(ve[1]=Oe(()=>{},["stop"]))},{default:L(()=>[w(st,{size:"lg",onClick:ze=>W(me)},{default:L(()=>[ee(d(a(n)("sidebar.rename")),1)]),_:1},8,["onClick"]),w(st,{size:"lg",danger:"",onClick:ze=>Q(me.id)},{default:L(()=>[ee(d(a(n)("sidebar.archive")),1)]),_:1},8,["onClick"])]),_:2},1024)):I("",!0)],10,$q))),128))])):(l(),c("div",Aq,[e.groups.length===0?(l(),c("div",Pq,d(a(n)("workspace.noWorkspace")),1)):I("",!0),(l(!0),c(de,null,Pe(e.groups,me=>(l(),c("div",{key:me.workspace.id,class:"mgroup"},[r("div",{class:fe(["mgh",{on:me.workspace.id===e.activeWorkspaceId}]),onClick:ze=>$(me.workspace.id)},[m(me.workspace.id)?(l(),q(X,{key:0,class:"mgh-folder",name:"folder-closed",size:"sm"})):(l(),q(X,{key:1,class:"mgh-folder",name:"folder",size:"sm"})),r("div",Bq,[r("span",Rq,d(me.workspace.name),1),w(gt,{text:me.workspace.root},{default:L(()=>[r("span",Lq,d(me.workspace.shortPath),1)]),_:2},1032,["text"])]),m(me.workspace.id)&&P(me.workspace.id)>0?(l(),c("span",Dq,d(P(me.workspace.id)),1)):I("",!0),w(lt,{size:"lg",class:"mgh-more",label:a(n)("sidebar.options"),onClick:Oe(ze=>C(me.workspace.id),["stop"])},{default:L(()=>[w(X,{name:"dots-horizontal",size:"md"})]),_:1},8,["label","onClick"]),w(lt,{size:"lg",class:"mgh-add",label:a(n)("workspace.newInGroup"),onClick:Oe(ze=>f(me.workspace.id),["stop"])},{default:L(()=>[w(X,{name:"plus",size:"md"})]),_:1},8,["label","onClick"]),V.value===me.workspace.id?(l(),q(Fn,{key:3,class:"kmenu wsmenu",onClick:ve[2]||(ve[2]=Oe(()=>{},["stop"]))},{default:L(()=>[w(st,{size:"lg",onClick:ze=>D(me.workspace)},{default:L(()=>[ee(d(a(n)("sidebar.copyPath")),1)]),_:1},8,["onClick"]),w(st,{size:"lg",danger:"",onClick:ze=>O(me.workspace)},{default:L(()=>[ee(d(a(n)("sidebar.delete")),1)]),_:1},8,["onClick"])]),_:2},1024)):I("",!0)],10,Eq),wt(r("div",null,[me.sessions.length===0?(l(),c("div",Oq,d(a(n)("sidebar.noSessions")),1)):I("",!0),(l(!0),c(de,null,Pe(B(me),ze=>(l(),c("div",{key:ze.id,class:fe(["srow",{cur:ze.id===e.activeId}]),onClick:ie=>p(ze.id)},[r("div",Fq,[r("div",{class:fe(["t",{run:ze.busy,aborted:!ze.busy&&(e.attentionBySession[ze.id]??0)===0&&a(Ka)(ze)}])},d(ze.title),3),r("div",Nq,d(ze.time),1)]),(e.attentionBySession[ze.id]??0)>0?(l(),c("span",Wq,d(e.attentionBySession[ze.id]),1)):I("",!0),w(lt,{size:"lg",class:"kb",label:a(n)("sidebar.options"),onClick:Oe(ie=>R(ze.id),["stop"])},{default:L(()=>[w(X,{name:"dots-horizontal",size:"md"})]),_:1},8,["label","onClick"]),E.value===ze.id?(l(),q(Fn,{key:1,class:"kmenu",onClick:ve[3]||(ve[3]=Oe(()=>{},["stop"]))},{default:L(()=>[w(st,{size:"lg",onClick:ie=>W(ze)},{default:L(()=>[ee(d(a(n)("sidebar.rename")),1)]),_:1},8,["onClick"]),w(st,{size:"lg",danger:"",onClick:ie=>Q(ze.id)},{default:L(()=>[ee(d(a(n)("sidebar.archive")),1)]),_:1},8,["onClick"])]),_:2},1024)):I("",!0)],10,zq))),128)),me.hasMore||me.loadingMore?(l(),c("button",{key:1,type:"button",class:"mshow-more",disabled:me.loadingMore,onClick:Oe(ze=>b(me.workspace.id),["stop"])},d(me.loadingMore?a(n)("sidebar.loadingMore"):a(n)("sidebar.showMore",{count:Math.max(0,me.workspace.sessionCount-me.sessions.length)})),9,qq)):I("",!0),me.sessions.length>me.initialCount?(l(),c("button",{key:2,type:"button",class:"mshow-more",onClick:Oe(ze=>S(me.workspace.id),["stop"])},d(y(me.workspace.id)?a(n)("sidebar.showLess"):a(n)("sidebar.showAll",{count:me.sessions.length-me.initialCount})),9,Hq)):I("",!0)],512),[[Wn,!m(me.workspace.id)]])]))),128))]))]),_:1},8,["model-value"]))}}),Vq=Re(Uq,[["__scopeId","data-v-0640251a"]]),jq={class:"group-title"},Kq={class:"srow-main"},Gq={class:"srow-label"},Qq={class:"srow-sub"},Yq={class:"srow read-only"},Zq={class:"srow-main"},Xq={class:"srow-label"},Jq={key:0,class:"srow-sub"},eH={class:"cache-note"},tH={class:"srow-main"},nH={class:"srow-label"},sH={class:"srow-sub"},oH=["aria-checked"],iH={class:"srow-main"},aH={class:"srow-label"},lH={class:"srow-sub"},rH=["aria-checked"],uH={class:"srow-main"},cH={class:"srow-label"},dH={class:"srow-sub"},pH=["aria-checked"],fH={class:"srow-main"},mH={class:"srow-label"},vH={class:"srow-sub"},gH=["aria-checked"],hH={class:"srow-main"},yH={class:"srow-label"},kH={class:"srow read-only"},bH={class:"srow-main"},wH={class:"srow-label"},SH={class:"srow-sub"},CH=["aria-label"],_H={class:"group-title"},MH={class:"srow-main"},$H={class:"srow-label"},xH={class:"srow-sub"},TH={class:"srow read-only pref"},IH={class:"srow-main"},AH={class:"srow-label"},PH={class:"srow read-only pref"},EH={class:"srow-main"},BH={class:"srow-label"},RH={class:"srow read-only pref"},LH={class:"srow-main"},DH={class:"srow-label"},OH={class:"num-field"},zH=["value","aria-label"],FH={class:"srow-main"},NH={class:"srow-label"},WH={class:"srow-sub"},qH=["aria-checked"],HH={class:"srow-main"},UH={class:"srow-label"},VH={class:"srow-sub"},jH=["aria-checked"],KH={class:"srow-main"},GH={class:"srow-label"},QH={class:"srow-main"},YH={class:"srow-label"},ZH={key:2,class:"srow read-only"},XH={class:"srow-main"},JH={class:"srow-label"},eU={class:"srow-val dim"},tU={class:"arch-subhead"},nU={class:"arch-count"},sU={class:"arch-tools"},oU={key:0,class:"arch-empty"},iU={class:"arch-meta"},aU={class:"arch-name"},lU={class:"arch-time"},rU={key:2,class:"arch-empty"},uU=100,cU=Ee({__name:"MobileSettingsSheet",props:{modelValue:{type:Boolean},status:{},thinking:{},planMode:{type:Boolean},goalMode:{type:Boolean},swarmMode:{type:Boolean},supermoonMode:{type:Boolean},colorScheme:{default:"system"},uiFontSize:{default:14},authReady:{type:Boolean,default:!1},kimiOauthEnabled:{type:Boolean,default:!1},conversationToc:{type:Boolean},taskNotices:{type:Boolean},serverVersion:{default:""},models:{default:()=>[]}},emits:["update:modelValue","pickModel","setThinking","togglePlan","toggleGoal","toggleSwarm","toggleSupermoon","setPermission","setColorScheme","setUiFontSize","setConversationToc","setTaskNotices","login","logout"],setup(e,{emit:t}){const{t:n}=Ye(),s=e,o=t;function i(ae){o("setColorScheme",ae)}const u=["manual","yolo","auto"],p=M(()=>s.models?.find(ae=>ae.id===s.status?.modelId)),f=M(()=>sa(p.value)),v=M(()=>oa(p.value)),k=M(()=>ri(p.value,s.thinking)),x=M(()=>v.value.includes(k.value)?k.value:""),g=M(()=>v.value.map(ae=>({value:ae,label:ol(ae)}))),m=M(()=>s.planMode===!0),$=M(()=>s.goalMode===!0),h=M(()=>s.swarmMode===!0),y=M(()=>s.supermoonMode===!0),S=M(()=>{const ae=s.status.permission;return ae==="yolo"?"var(--color-warning)":ae==="auto"?"var(--color-danger)":"var(--color-text-muted)"}),B=M(()=>{const ae=s.status.permission,F=n(ae==="yolo"?"mobile.permYoloSub":ae==="auto"?"mobile.permAutoSub":"mobile.permManualSub");return`${ae} · ${F}`}),b=M(()=>s.status.ctxMax>0?Math.min(100,Math.max(0,Math.ceil(s.status.ctxUsed/s.status.ctxMax*100))):0),P=M(()=>s.status.ctxMax>0?`${fs(s.status.ctxUsed)}/${fs(s.status.ctxMax)}`:n("status.statusNone"));function E(ae){o("setThinking",Vl(p.value,ae))}function R(){const ae=u.indexOf(s.status.permission),F=u[(ae+1)%u.length];o("setPermission",F)}function W(){o("pickModel"),o("update:modelValue",!1)}function Q(){o("login"),o("update:modelValue",!1)}function V(){o("logout"),o("update:modelValue",!1)}const C=hi(),D=T("main"),O=T([]),J=T(!1),ve=T(!1),me=T(""),ze=T("archived-desc");async function ie(){if(!J.value){J.value=!0,ve.value=!1;try{const ae=[];let F;for(;;){const Y=await C.loadArchivedSessions({beforeId:F,pageSize:uU});if(ae.push(...Y.items),!Y.hasMore||Y.items.length===0)break;const ke=Y.items.at(-1)?.id;if(ke===void 0)break;F=ke}O.value=ae,ve.value=!0}catch(ae){console.warn("loadAllArchived failed",ae)}finally{J.value=!1}}}function le(){D.value="archived",me.value="",ie()}function te(){D.value="main"}const re=M(()=>{const ae=me.value.trim().toLowerCase();let F=O.value.filter(Y=>Y.archived===!0);return ae&&(F=F.filter(Y=>Y.title.toLowerCase().includes(ae))),F=F.slice(),ze.value==="archived-desc"?F.sort((Y,ke)=>ke.updatedAt.localeCompare(Y.updatedAt)):ze.value==="created-desc"?F.sort((Y,ke)=>ke.createdAt.localeCompare(Y.createdAt)):F.sort((Y,ke)=>Y.title.localeCompare(ke.title,"zh")),F});async function se(ae){await C.restoreSession(ae)&&(O.value=O.value.filter(Y=>Y.id!==ae))}function he(ae){const F=new Date(ae);if(Number.isNaN(F.getTime()))return ae;const Y=ke=>String(ke).padStart(2,"0");return`${F.getFullYear()}-${Y(F.getMonth()+1)}-${Y(F.getDate())} ${Y(F.getHours())}:${Y(F.getMinutes())}`}return Ne(()=>s.modelValue,ae=>{ae||(D.value="main")}),(ae,F)=>(l(),q(Fo,{"model-value":e.modelValue,title:a(n)("mobile.settingsTitle"),"onUpdate:modelValue":F[9]||(F[9]=Y=>o("update:modelValue",Y))},{default:L(()=>[D.value==="main"?(l(),c(de,{key:0},[r("div",jq,d(a(n)("mobile.groupSession")),1),r("button",{type:"button",class:"srow",onClick:W},[r("span",Kq,[r("span",Gq,d(a(n)("status.statusModel")),1),r("span",Qq,d(e.status.model),1)]),F[10]||(F[10]=r("span",{class:"chev"},"›",-1))]),r("div",Yq,[r("span",Zq,[r("span",Xq,d(a(n)("status.statusThinking")),1),f.value==="unsupported"?(l(),c("span",Jq,d(a(n)("status.modeNotSupported")),1)):I("",!0)]),v.value.length>1?(l(),q(mn,{key:0,"model-value":x.value,options:g.value,size:"sm","onUpdate:modelValue":E},null,8,["model-value","options"])):(l(),c("span",{key:1,class:fe(["srow-val",{dim:k.value==="off"}])},d(k.value==="off"?a(n)("status.planOff"):a(ol)(k.value)),3))]),r("div",eH,d(a(n)("status.cacheNote")),1),r("button",{type:"button",class:"srow",onClick:F[0]||(F[0]=Y=>o("togglePlan"))},[r("span",tH,[r("span",nH,d(a(n)("status.statusPlanMode")),1),r("span",sH,d(a(n)("mobile.planModeSub")),1)]),r("span",{class:fe(["toggle",{on:m.value}]),role:"switch","aria-checked":m.value},null,10,oH)]),r("button",{type:"button",class:"srow",onClick:F[1]||(F[1]=Y=>o("toggleSwarm"))},[r("span",iH,[r("span",aH,d(a(n)("status.statusSwarmMode")),1),r("span",lH,d(a(n)("mobile.swarmModeSub")),1)]),r("span",{class:fe(["toggle",{on:h.value}]),role:"switch","aria-checked":h.value},null,10,rH)]),r("button",{type:"button",class:"srow",onClick:F[2]||(F[2]=Y=>o("toggleSupermoon"))},[r("span",uH,[r("span",cH,d(a(n)("status.statusSupermoonMode")),1),r("span",dH,d(a(n)("mobile.supermoonModeSub")),1)]),r("span",{class:fe(["toggle",{on:y.value}]),role:"switch","aria-checked":y.value},null,10,pH)]),r("button",{type:"button",class:"srow",onClick:F[3]||(F[3]=Y=>o("toggleGoal"))},[r("span",fH,[r("span",mH,d(a(n)("status.statusGoalMode")),1),r("span",vH,d(a(n)("mobile.goalModeSub")),1)]),r("span",{class:fe(["toggle",{on:$.value}]),role:"switch","aria-checked":$.value},null,10,gH)]),r("button",{type:"button",class:"srow",onClick:R},[r("span",hH,[r("span",yH,d(a(n)("status.statusPermission")),1),r("span",{class:"srow-sub",style:vt({color:S.value})},d(B.value),5)]),F[11]||(F[11]=r("span",{class:"chev"},"›",-1))]),r("div",kH,[r("span",bH,[r("span",wH,d(a(n)("status.statusContext")),1),r("span",SH,d(P.value),1)]),r("span",{class:"ctx-meter","aria-label":P.value},[r("i",{style:vt({width:b.value+"%"})},null,4)],8,CH)]),r("div",_H,d(a(n)("mobile.groupApp")),1),r("button",{type:"button",class:"srow",onClick:le},[r("span",MH,[r("span",$H,d(a(n)("mobile.archivedSessions")),1),r("span",xH,d(a(n)("mobile.archivedSessionsSub")),1)]),F[12]||(F[12]=r("span",{class:"chev"},"›",-1))]),r("div",TH,[r("span",IH,[r("span",AH,d(a(n)("theme.colorSchemeLabel")),1)]),w(mn,{"model-value":e.colorScheme??"system",options:[{value:"light",label:a(n)("theme.light")},{value:"dark",label:a(n)("theme.dark")},{value:"system",label:a(n)("theme.system")}],"onUpdate:modelValue":i},null,8,["model-value","options"])]),r("div",PH,[r("span",EH,[r("span",BH,d(a(n)("sidebar.language")),1)]),w(yp)]),r("div",RH,[r("span",LH,[r("span",DH,d(a(n)("settings.uiFontSize")),1)]),r("label",OH,[r("input",{class:"num-input",type:"number",min:"12",max:"20",step:"1",value:e.uiFontSize,"aria-label":a(n)("settings.uiFontSize"),onInput:F[4]||(F[4]=Y=>o("setUiFontSize",Number(Y.target.value)))},null,40,zH),F[13]||(F[13]=r("span",{class:"num-unit"},"px",-1))])]),r("button",{type:"button",class:"srow",onClick:F[5]||(F[5]=Y=>o("setConversationToc",!e.conversationToc))},[r("span",FH,[r("span",NH,d(a(n)("settings.conversationToc")),1),r("span",WH,d(a(n)("settings.conversationTocHint")),1)]),r("span",{class:fe(["toggle",{on:e.conversationToc}]),role:"switch","aria-checked":e.conversationToc},null,10,qH)]),r("button",{type:"button",class:"srow",onClick:F[6]||(F[6]=Y=>o("setTaskNotices",!e.taskNotices))},[r("span",HH,[r("span",UH,d(a(n)("settings.taskNotices")),1),r("span",VH,d(a(n)("settings.taskNoticesHint")),1)]),r("span",{class:fe(["toggle",{on:e.taskNotices}]),role:"switch","aria-checked":e.taskNotices},null,10,jH)]),e.authReady?(l(),c("button",{key:0,type:"button",class:"srow acct out",onClick:V},[r("span",KH,[r("span",GH,d(a(n)("sidebar.signOut")),1)])])):(l(),c("button",{key:1,type:"button",class:"srow acct in",onClick:Q},[r("span",QH,[r("span",YH,d(a(n)("sidebar.signIn")),1)])])),e.serverVersion?(l(),c("div",ZH,[r("span",XH,[r("span",JH,d(a(n)("settings.serverVersion")),1)]),r("span",eU,d(e.serverVersion),1)])):I("",!0)],64)):(l(),c(de,{key:1},[r("div",tU,[r("button",{type:"button",class:"arch-back",onClick:te},[F[14]||(F[14]=r("span",{class:"chev back"},"‹",-1)),ee(" "+d(a(n)("mobile.archivedBack")),1)]),r("span",nU,d(a(n)("mobile.sessionCount",{n:re.value.length})),1)]),r("div",sU,[w(qn,{class:"arch-search-input","model-value":me.value,size:"sm",placeholder:a(n)("settings.archivedSearch"),"onUpdate:modelValue":F[7]||(F[7]=Y=>me.value=Y)},null,8,["model-value","placeholder"]),w(mn,{size:"sm","model-value":ze.value,options:[{value:"archived-desc",label:a(n)("settings.archivedSortArchived")},{value:"created-desc",label:a(n)("settings.archivedSortCreated")},{value:"name-asc",label:a(n)("settings.archivedSortName")}],"onUpdate:modelValue":F[8]||(F[8]=Y=>ze.value=Y)},null,8,["model-value","options"])]),J.value?(l(),c("div",oU,d(a(n)("settings.archivedLoadingAll")),1)):re.value.length>0?(l(!0),c(de,{key:1},Pe(re.value,Y=>(l(),c("div",{key:Y.id,class:"arch-row"},[r("div",iU,[r("div",aU,d(Y.title),1),r("div",lU,d(a(n)("settings.archivedAt",{time:he(Y.updatedAt)})),1)]),w(je,{variant:"secondary",size:"sm",onClick:ke=>se(Y.id)},{default:L(()=>[ee(d(a(n)("settings.archivedRestore")),1)]),_:1},8,["onClick"])]))),128)):(l(),c("div",rU,d(O.value.length===0?a(n)("settings.archivedEmpty"):a(n)("settings.archivedNoMatch")),1))],64))]),_:1},8,["model-value","title"]))}}),dU=Re(cU,[["__scopeId","data-v-12cc4ffa"]]),pU={class:"mmp"},fU={class:"search-wrap"},mU={key:0,class:"tab-strip"},vU={key:1,class:"state-row"},gU={key:2,class:"state-row unavail"},hU={key:3,class:"model-list"},yU=["aria-selected","onClick"],kU={class:"check"},bU={class:"model-main"},wU={class:"model-name"},SU={class:"model-id"},CU={key:0,class:"caps"},_U={class:"model-ctx"},MU={key:0,class:"empty"},$U=Ee({__name:"MobileModelPickerSheet",props:{modelValue:{type:Boolean},models:{},current:{},starredIds:{default:()=>[]},loading:{type:Boolean,default:!1},unavailable:{type:Boolean,default:!1}},emits:["update:modelValue","select","toggle-star","close"],setup(e,{emit:t}){const{t:n}=Ye(),s=e,o=t,i=M(()=>new Set(s.starredIds??[]));function u(m){return i.value.has(m)}const p=T(""),f=T("all"),v=M(()=>{const m=mp(s.models);return[{id:"all",label:n("model.allTab")},...m.map($=>({id:$,label:$}))]}),k=M(()=>vp(s.models,{query:p.value,activeTab:f.value,starredIds:s.starredIds??[]}));Ne(v,m=>{m.some($=>$.id===f.value)||(f.value="all")}),Ne(()=>s.modelValue,m=>{m&&(p.value="")});function x(m){o("select",m),o("update:modelValue",!1)}function g(){o("close"),o("update:modelValue",!1)}return(m,$)=>(l(),q(Fo,{"model-value":e.modelValue,title:a(n)("model.title"),"onUpdate:modelValue":$[1]||($[1]=h=>h?void 0:g())},{default:L(()=>[r("div",pU,[r("div",fU,[w(qn,{modelValue:p.value,"onUpdate:modelValue":$[0]||($[0]=h=>p.value=h),placeholder:a(n)("model.searchPlaceholder"),autocomplete:"off",spellcheck:"false"},null,8,["modelValue","placeholder"])]),v.value.length>1?(l(),c("div",mU,[(l(!0),c(de,null,Pe(v.value,h=>(l(),q(je,{key:h.id,variant:h.id===f.value?"secondary":"ghost",size:"sm",onClick:y=>f.value=h.id},{default:L(()=>[ee(d(h.label),1)]),_:2},1032,["variant","onClick"]))),128))])):I("",!0),e.loading?(l(),c("div",vU,[w(Gt,{size:"sm"}),r("span",null,d(a(n)("model.loading")),1)])):e.unavailable?(l(),c("div",gU,[w(X,{name:"alert-triangle",size:"lg"}),r("span",null,d(a(n)("model.unavailable")),1)])):(l(),c("div",hU,[(l(!0),c(de,null,Pe(k.value,h=>(l(),c("div",{key:h.id,class:fe(["model-row",{"is-current":h.id===e.current}]),role:"option","aria-selected":h.id===e.current,onClick:y=>x(h.id)},[r("span",kU,[h.id===e.current?(l(),q(X,{key:0,name:"check",size:"sm"})):I("",!0)]),r("span",bU,[r("span",wU,d(h.displayName??h.model),1),r("span",SU,d(h.id),1),h.capabilities&&h.capabilities.length>0?(l(),c("span",CU,[(l(!0),c(de,null,Pe(h.capabilities,y=>(l(),q(Et,{key:y,variant:"info",size:"sm"},{default:L(()=>[ee(d(y),1)]),_:2},1024))),128))])):I("",!0)]),r("span",_U,d(a(n)("model.contextSuffix",{size:a(fs)(h.maxContextSize)})),1),w(lt,{size:"lg",label:u(h.id)?a(n)("model.unstarTitle"):a(n)("model.starTitle"),onClick:Oe(y=>o("toggle-star",h.id),["stop"])},{default:L(()=>[u(h.id)?(l(),q(X,{key:0,name:"star",size:"md"})):(l(),q(X,{key:1,name:"star-outline",size:"md"}))]),_:2},1032,["label","onClick"])],10,yU))),128)),k.value.length===0&&!e.loading&&!e.unavailable?(l(),c("div",MU,d(s.models.length===0?a(n)("model.emptyNoModels"):a(n)("model.emptyNoMatch")),1)):I("",!0)]))])]),_:1},8,["model-value","title"]))}}),xU=Re($U,[["__scopeId","data-v-67fc54be"]]),TU={class:"ob-brand"},IU={class:"ob-brand-text"},AU={class:"ob-title"},PU={class:"ob-sub"},EU={class:"ob-sec"},BU={class:"ob-label"},RU={class:"ob-sec"},LU={class:"ob-label"},DU={class:"ob-sec"},OU={class:"ob-label"},zU=Ee({__name:"Onboarding",emits:["complete","skip"],setup(e,{emit:t}){const n=t,{t:s,locale:o}=Ye(),{colorScheme:i,accent:u,setColorScheme:p,setAccent:f}=Wc();function v(x){o.value!==x&&gc(x)}function k(){n("complete")}return(x,g)=>(l(),q(ms,{open:!0,size:"md","close-on-overlay":!1,"close-on-esc":!1,onClose:g[3]||(g[3]=m=>n("skip"))},{head:L(()=>[r("div",TU,[g[4]||(g[4]=r("svg",{class:"ob-logo",viewBox:"0 0 32 22",fill:"none",xmlns:"http://www.w3.org/2000/svg",role:"img","aria-label":"Kimi Code"},[r("defs",null,[r("mask",{id:"obKimiEyes",maskUnits:"userSpaceOnUse"},[r("rect",{x:"0",y:"0",width:"32",height:"22",fill:"#fff"}),r("g",{class:"ob-eyes",fill:"#000"},[r("rect",{class:"ob-eye",x:"11.8",y:"7",width:"2.8",height:"8",rx:"1.4"}),r("rect",{class:"ob-eye",x:"17.4",y:"7",width:"2.8",height:"8",rx:"1.4"})])])]),r("rect",{x:"1",y:"1",width:"30",height:"20",rx:"6",fill:"var(--color-accent)",mask:"url(#obKimiEyes)"})],-1)),r("div",IU,[r("div",AU,d(a(s)("onboarding.title")),1),r("div",PU,d(a(s)("onboarding.subtitle")),1)])])]),default:L(()=>[r("section",EU,[r("div",BU,d(a(s)("onboarding.languageLabel")),1),w(mn,{"model-value":a(o),options:a(vc).map(m=>({value:m.code,label:m.label})),"onUpdate:modelValue":g[0]||(g[0]=m=>v(m))},null,8,["model-value","options"])]),r("section",RU,[r("div",LU,d(a(s)("theme.colorSchemeLabel")),1),w(mn,{"model-value":a(i),options:[{value:"light",label:a(s)("theme.light")},{value:"dark",label:a(s)("theme.dark")},{value:"system",label:a(s)("theme.system")}],"onUpdate:modelValue":g[1]||(g[1]=m=>a(p)(m))},null,8,["model-value","options"])]),r("section",DU,[r("div",OU,d(a(s)("theme.accentLabel")),1),w(mn,{"model-value":a(u),options:[{value:"blue",label:a(s)("theme.accentBlue")},{value:"mono",label:a(s)("theme.accentBlack")}],"onUpdate:modelValue":g[2]||(g[2]=m=>a(f)(m))},null,8,["model-value","options"])]),w(je,{variant:"primary",size:"lg",class:"ob-start",onClick:k},{default:L(()=>[ee(d(a(s)("onboarding.start")),1)]),_:1})]),_:1}))}}),FU=Re(zU,[["__scopeId","data-v-fbdd3eab"]]),NU=["aria-label"],WU={class:"gload-box"},qU={class:"gload-text"},HU={key:0,class:"gload-issue"},UU={class:"gload-issue-detail"},VU=Ee({__name:"GlobalLoading",props:{issue:{}},setup(e){const{t}=Ye();return(n,s)=>(l(),c("div",{class:"gload",role:"status","aria-label":a(t)("app.connecting")},[r("div",WU,[s[0]||(s[0]=Sl(' ',1)),w(Gt,{size:"md",label:a(t)("app.connecting")},null,8,["label"]),r("div",qU,d(a(t)("app.connecting")),1),e.issue?(l(),c("div",HU,[r("div",null,d(a(t)("app.connectRetrying")),1),r("div",UU,d(e.issue),1)])):I("",!0)])],8,NU))}}),jU=Re(VU,[["__scopeId","data-v-0b6dec6a"]]),KU={class:"kap-root"},GU={class:"kap-head"},QU={class:"kap-count"},YU={class:"kap-head-actions"},ZU={class:"kap-filters"},XU=["value"],JU={class:"kap-check"},eV={class:"kap-check"},tV={class:"kap-view-toggle",role:"group"},nV={key:0,class:"kap-empty"},sV=["onClick"],oV={class:"kap-ts"},iV={class:"kap-label"},aV={key:0,class:"kap-detail"},lV={class:"kap-detail-actions"},rV=["onClick"],uV={key:1,class:"kap-agg"},cV={class:"mono"},dV={class:"mono"},pV={class:"num"},fV={class:"num"},mV={key:0},vV={class:"mono"},gV={class:"num"},hV={class:"num"},yV={key:0},kV=Ee({__name:"KapDebugView",emits:["close"],setup(e,{emit:t}){const n=t,s=T("all"),o=T(""),i=T(""),u=T(!1),p=T("timeline"),f=M(()=>(xl.value,[...Ly()])),v=M(()=>{const V=new Set;for(const C of f.value)C.sessionId&&V.add(C.sessionId);return[...V].sort()});function k(V){return V.kind==="rest:error"||V.code!==void 0&&V.code!==0||V.eventType==="error"||V.eventType==="parse-error"}const x=M(()=>{const V=o.value.trim().toLowerCase();return f.value.filter(C=>!(s.value!=="all"&&C.source!==s.value||i.value&&C.sessionId!==i.value||u.value&&!k(C)||V&&!`${C.label} ${C.kind} ${C.eventType??""} ${C.sessionId??""} ${C.requestId??""}`.toLowerCase().includes(V)))}),g=M(()=>{const V=new Map;for(const C of x.value){if(C.kind!=="ws:in"&&C.kind!=="ws:out")continue;const D=C.kind==="ws:in"?"←":"→",O=`${D} ${C.eventType??"?"} @ ${C.sessionId??"-"}`,J=V.get(O)??{key:O,sessionId:C.sessionId??"-",eventType:C.eventType??"?",dir:D,count:0};J.count++,C.seq!==void 0&&(J.lastSeq=C.seq),V.set(O,J)}return[...V.values()].sort((C,D)=>D.count-C.count)}),m=M(()=>{const V=new Map;for(const C of x.value){if(C.source!=="rest"||C.kind==="rest:request")continue;const D=`${C.method??"?"} ${C.path??"?"}`,O=V.get(D)??{count:0,errors:0,totalMs:0,timed:0};O.count++,k(C)&&O.errors++,C.durationMs!==void 0&&(O.totalMs+=C.durationMs,O.timed++),V.set(D,O)}return[...V.entries()].map(([C,D])=>({key:C,count:D.count,errors:D.errors,avgMs:D.timed>0?Math.round(D.totalMs/D.timed):0})).sort((C,D)=>D.count-C.count)}),$=T(null),h=T(!0),y=T(null),S=T(null);Ne(()=>x.value.length,async()=>{if(!h.value||p.value!=="timeline")return;await Xe();const V=y.value;V&&(V.scrollTop=V.scrollHeight)});function B(V){$.value=$.value===V?null:V}function b(V){const C=new Date(V),D=(O,J=2)=>String(O).padStart(J,"0");return`${D(C.getHours())}:${D(C.getMinutes())}:${D(C.getSeconds())}.${D(C.getMilliseconds(),3)}`}function P(V){return JSON.stringify(V,null,2)}async function E(V){await an(P(V))&&(S.value=V.id,setTimeout(()=>{S.value===V.id&&(S.value=null)},1500))}function R(){kc(x.value)}function W(V){return k(V)||V.source==="client"?"b-err":V.source==="rest"?"b-rest":V.kind==="ws:lifecycle"?"b-life":V.kind==="ws:out"?"b-out":"b-in"}function Q(V){return V.source==="rest"?"REST":V.source==="client"?"APP":"WS"}return(V,C)=>(l(),c("section",KU,[r("header",GU,[C[11]||(C[11]=r("strong",null,"KAP debug",-1)),r("span",QU,d(x.value.length)+"/"+d(f.value.length),1),r("div",YU,[r("button",{type:"button",class:fe({on:a(ei)}),onClick:C[0]||(C[0]=D=>ei.value=!a(ei))},d(a(ei)?"resume":"pause"),3),r("button",{type:"button",onClick:C[1]||(C[1]=D=>a(Dy)())},"clear"),r("button",{type:"button",onClick:C[2]||(C[2]=D=>R())},"export jsonl"),w(gt,{text:"Close window"},{default:L(()=>[r("button",{type:"button",onClick:C[3]||(C[3]=D=>n("close"))},"✕")]),_:1})])]),r("div",ZU,[wt(r("select",{"onUpdate:modelValue":C[4]||(C[4]=D=>s.value=D),"aria-label":"Source filter"},[...C[12]||(C[12]=[r("option",{value:"all"},"rest + ws + app",-1),r("option",{value:"rest"},"rest",-1),r("option",{value:"ws"},"ws",-1),r("option",{value:"client"},"app errors",-1)])],512),[[rr,s.value]]),wt(r("select",{"onUpdate:modelValue":C[5]||(C[5]=D=>i.value=D),"aria-label":"Session filter"},[C[13]||(C[13]=r("option",{value:""},"all sessions",-1)),(l(!0),c(de,null,Pe(v.value,D=>(l(),c("option",{key:D,value:D},d(D),9,XU))),128))],512),[[rr,i.value]]),wt(r("input",{"onUpdate:modelValue":C[6]||(C[6]=D=>o.value=D),type:"text",placeholder:"filter (type / path / id)","aria-label":"Text filter"},null,512),[[Dn,o.value]]),r("label",JU,[wt(r("input",{"onUpdate:modelValue":C[7]||(C[7]=D=>u.value=D),type:"checkbox"},null,512),[[ur,u.value]]),C[14]||(C[14]=ee(" errors",-1))]),r("label",eV,[wt(r("input",{"onUpdate:modelValue":C[8]||(C[8]=D=>h.value=D),type:"checkbox"},null,512),[[ur,h.value]]),C[15]||(C[15]=ee(" follow",-1))]),r("div",tV,[r("button",{type:"button",class:fe({on:p.value==="timeline"}),onClick:C[9]||(C[9]=D=>p.value="timeline")},"timeline",2),r("button",{type:"button",class:fe({on:p.value==="aggregate"}),onClick:C[10]||(C[10]=D=>p.value="aggregate")},"aggregate",2)])]),p.value==="timeline"?(l(),c("div",{key:0,ref_key:"listRef",ref:y,class:"kap-list"},[x.value.length===0?(l(),c("div",nV," No trace entries yet. REST calls and WS frames will appear here. ")):I("",!0),(l(!0),c(de,null,Pe(x.value,D=>(l(),c("div",{key:D.id,class:"kap-row-wrap"},[r("button",{type:"button",class:fe(["kap-row",{expanded:$.value===D.id}]),onClick:O=>B(D.id)},[r("span",oV,d(b(D.ts)),1),r("span",{class:fe(["kap-badge",W(D)])},d(Q(D)),3),r("span",iV,d(D.label),1)],10,sV),$.value===D.id?(l(),c("div",aV,[r("div",lV,[r("button",{type:"button",onClick:O=>E(D)},d(S.value===D.id?"copied ✓":"copy json"),9,rV)]),r("pre",null,d(P(D)),1)])):I("",!0)]))),128))],512)):(l(),c("div",uV,[C[20]||(C[20]=r("h4",null,"WS frames by session / type",-1)),r("table",null,[C[17]||(C[17]=r("thead",null,[r("tr",null,[r("th",null,"dir"),r("th",null,"type"),r("th",null,"session"),r("th",null,"count"),r("th",null,"last seq")])],-1)),r("tbody",null,[(l(!0),c(de,null,Pe(g.value,D=>(l(),c("tr",{key:D.key},[r("td",null,d(D.dir),1),r("td",cV,d(D.eventType),1),r("td",dV,d(D.sessionId),1),r("td",pV,d(D.count),1),r("td",fV,d(D.lastSeq??"—"),1)]))),128)),g.value.length===0?(l(),c("tr",mV,[...C[16]||(C[16]=[r("td",{colspan:"5",class:"kap-empty"},"no ws frames",-1)])])):I("",!0)])]),C[21]||(C[21]=r("h4",null,"REST by endpoint",-1)),r("table",null,[C[19]||(C[19]=r("thead",null,[r("tr",null,[r("th",null,"endpoint"),r("th",null,"count"),r("th",null,"errors"),r("th",null,"avg ms")])],-1)),r("tbody",null,[(l(!0),c(de,null,Pe(m.value,D=>(l(),c("tr",{key:D.key},[r("td",vV,d(D.key),1),r("td",gV,d(D.count),1),r("td",{class:fe(["num",{err:D.errors>0}])},d(D.errors),3),r("td",hV,d(D.avgMs),1)]))),128)),m.value.length===0?(l(),c("tr",yV,[...C[18]||(C[18]=[r("td",{colspan:"4",class:"kap-empty"},"no rest calls",-1)])])):I("",!0)])])]))]))}}),bV=Re(kV,[["__scopeId","data-v-3cda6fe3"]]),wV=Ee({__name:"DebugPanel",setup(e){const t=T(!1);let n=null,s=null,o=null;const i=["data-color-scheme","data-accent"];function u(k){const x=document.documentElement,g=k.documentElement;for(const m of i){const $=x.getAttribute(m);$!==null?g.setAttribute(m,$):g.removeAttribute(m)}}function p(k){const x=k.document;x.title="KAP debug";const g=x.createElement("base");g.href=location.href,x.head.appendChild(g);for(const $ of Array.from(document.querySelectorAll('style, link[rel="stylesheet"]')))x.head.appendChild($.cloneNode(!0));u(x),x.body.style.margin="0";const m=x.createElement("div");return m.style.height="100vh",x.body.appendChild(m),m}function f(){o?.disconnect(),o=null;try{s?.unmount()}catch{}s=null,n=null,t.value=!1}function v(){if(n&&!n.closed){n.focus();return}const k=window.open("","kap-debug","popup=yes,width=1040,height=760");if(!k)return;n=k;const x=p(k),g=Cl(bV,{onClose:()=>k.close()});g.mount(x),s=g,t.value=!0,o=new MutationObserver(()=>{n&&!n.closed&&u(n.document)}),o.observe(document.documentElement,{attributes:!0,attributeFilter:[...i]}),k.addEventListener("pagehide",f),k.addEventListener("beforeunload",f)}return xt(()=>{v()}),_n(()=>{n&&!n.closed&&n.close(),f()}),(k,x)=>(l(),q(gt,{text:t.value?"Focus KAP debug window":"Open KAP debug window"},{default:L(()=>[r("button",{class:"kap-fab",type:"button",onClick:v}," KAP ")]),_:1},8,["text"]))}}),SV=Re(wV,[["__scopeId","data-v-21346738"]]);function CV({client:e,authLogoRef:t}){const n=M(()=>e.authReady.value),s=M(()=>e.initialized.value&&!n.value&&e.kimiOauthEnabled.value),o="/login",i=T(null);let u=null;function p(){return typeof window>"u"?"/":`${window.location.pathname}${window.location.search}${window.location.hash}`}function f(k){typeof window>"u"||window.history.replaceState(window.history.state,"",k)}Ne(s,k=>{if(!(typeof window>"u")){if(k){window.location.pathname!==o&&(i.value=p(),f(o));return}window.location.pathname===o&&(f(i.value??"/"),i.value=null)}},{immediate:!0});function v(){const k=t.value;k&&(k.classList.remove("blink-now"),k.getBoundingClientRect(),k.classList.add("blink-now"),u!==null&&clearTimeout(u),u=setTimeout(()=>{u=null,k.classList.remove("blink-now")},300))}return kt(()=>{u!==null&&clearTimeout(u)}),{showAuthGate:s,blinkAuthLogo:v}}function _V({running:e,showAuthGate:t,workspaceTitle:n}){const{t:s}=Ye(),o=["◐","◓","◑","◒"],i=T(0);let u=null;function p(){u===null&&(i.value=0,u=setInterval(()=>{i.value=(i.value+1)%o.length},250))}function f(){u!==null&&(clearInterval(u),u=null),i.value=0}Ne(e,k=>{k?p():f()},{immediate:!0});const v=M(()=>{const k=e.value?`${o[i.value]} `:"",x=t.value?s("app.authPageTitle"):"Kimi Code Web",g=n?.value?.trim()??"",m=g?`${g} — ${x}`:x;return`${k}${m}`});Ip(()=>{typeof document<"u"&&(document.title=v.value)}),kt(()=>{f()})}const Sp=T(typeof window>"u"?0:window.innerWidth);let Li=0,ta=!1;function bl(){Sp.value=window.innerWidth}function MV(){ta||typeof window>"u"||(window.addEventListener("resize",bl),ta=!0,bl())}function $V(){!ta||typeof window>"u"||(window.removeEventListener("resize",bl),ta=!1)}function Cp(e,t,n){return Math.max(t,e-n)}function wl(e,t,n){return Math.min(n,Math.max(t,e))}function _p(){return xt(()=>{Li+=1,MV()}),_n(()=>{Li=Math.max(0,Li-1),Li===0&&$V()}),{viewportWidth:Sp}}const xV="kimi-web.file-preview-width",Bo=320;function TV({client:e,sideWidth:t,detailTarget:n,closeFilePreview:s,rightPanelTabs:o}){const{viewportWidth:i}=_p(),u=M(()=>Math.max(0,i.value-t.value)),p=M(()=>Cp(u.value,Bo,Bo));function f(K){return wl(Math.round(K),Bo,p.value)}function v(){return f(u.value/2)}const k=M(()=>v()),x=T(k.value),g=M(()=>wl(x.value,Bo,p.value));function m(K){o?o.ensureTab(K):n.value=K}function $(K){if(o){o.closeTab(K);return}n.value===K&&(n.value=null)}const h=T(null),y=M(()=>{const K=h.value;if(!K)return null;const Ve=e.turns.value.find(yt=>yt.id===K.turnId)?.blocks?.[K.blockIndex];return Ve?.kind==="thinking"?Ve.thinking:null}),S=M(()=>y.value!==null);function B(K){const Be=h.value;if(Be&&Be.turnId===K.turnId&&Be.blockIndex===K.blockIndex&&n.value==="thinking"){b();return}m("thinking"),h.value=K}function b(){h.value=null,$("thinking")}const P=T(null),E=M(()=>{const K=P.value;if(!K)return null;const Be=e.turns.value.find(Ve=>Ve.id===K.turnId);return Be?.role==="compaction"&&Be.text?Be.text:null}),R=M(()=>E.value!==null);function W(K){if(P.value?.turnId===K.turnId&&n.value==="compaction"){Q();return}m("compaction"),P.value=K}function Q(){P.value=null,$("compaction")}const V=T(null);function C(K){const Be=e.activeAppTasks.value,Ve=Be.find(dt=>dt.id===K)??Be.find(dt=>dt.parentToolCallId===K);if(Ve)return Ve.id;const yt=Be.filter(dt=>dt.kind==="subagent"&&!dt.parentToolCallId);if(yt.length===1)return yt[0].id}const D=M(()=>{const K=V.value;if(!K)return null;const Be=e.activeAppTasks.value.find(Ve=>Ve.id===K.subagentId);return Be?c4(Be):null}),O=M(()=>D.value!==null);function J(K){const Be=C(K);if(Be){if(V.value?.subagentId===Be&&n.value==="agent"){ve();return}V.value={subagentId:Be},m("agent")}}function ve(){V.value=null,$("agent")}const me=T(null),ze=M(()=>{const K=me.value;if(!K)return null;const Be=$8(e.turns.value,K);return Be?{id:K,title:so(Be.name),path:M8(Be.arg),lines:Be.status==="error"?null:zd(Be),output:Be.output}:null}),ie=M(()=>ze.value!==null);function le(K){if(n.value==="toolDiff"&&me.value===K){te();return}m("toolDiff"),me.value=K}function te(){me.value=null,$("toolDiff")}const re=T("list"),se=T(null);function he(){if(n.value==="diff"){ae();return}m("diff"),re.value="list",se.value=null;const K=e.activeSessionId.value;K&&e.loadGitStatus(K)}function ae(){$("diff"),re.value="list",se.value=null,e.clearFileDiff()}async function F(K){re.value="detail",se.value=K,await e.loadFileDiff(K)}async function Y(K){!e.activeSessionId.value&&e.activeWorkspaceId.value?await e.startSessionAndOpenSideChat(e.activeWorkspaceId.value,K):await e.openSideChat(K),m("btw")}function ke(){e.closeSideChat(),$("btw")}function we(){$("btw")}const Le=M(()=>e.sideChatVisible.value),Ze=M(()=>n.value!==null&&(n.value!=="thinking"||S.value)&&(n.value!=="compaction"||R.value)&&(n.value!=="agent"||O.value)&&(n.value!=="toolDiff"||ie.value)&&(n.value!=="btw"||Le.value)),be=T(!1),pe=T({});function ne(){const K=o?.tabState.value??{tabs:n.value!==null?[n.value]:[],activeTabId:n.value},Be=K.tabs.filter(dt=>dt!=="file"&&dt!=="diff");if(Be.length===0)return null;const Ve=K.activeTabId!==null&&Be.includes(K.activeTabId)?K.activeTabId:Be[0]??null;return{tabs:Be,activeTabId:Ve,thinking:h.value?{...h.value}:void 0,compaction:P.value?{...P.value}:void 0,agent:V.value?{...V.value}:void 0,toolDiff:me.value?{toolId:me.value}:void 0,btw:e.sideChatVisible.value?!0:void 0}}function Z(K){if(!K||K.tabs.length===0)return;const Be=K.tabs.filter(yt=>yt!=="btw"||K.btw===!0&&e.sideChatVisible.value);if(Be.length===0)return;K.thinking&&(h.value=K.thinking),K.compaction&&(P.value=K.compaction),K.agent&&(V.value=K.agent),K.toolDiff&&(me.value=K.toolDiff.toolId);const Ve=K.activeTabId!==null&&Be.includes(K.activeTabId)?K.activeTabId:Be[0]??null;o?o.setTabState({tabs:Be,activeTabId:Ve}):Ve!==null&&(n.value=Ve)}function oe(){return n.value==="thinking"&&S.value?(b(),!0):n.value==="compaction"&&R.value?(Q(),!0):n.value==="agent"&&O.value?(ve(),!0):n.value==="toolDiff"&&ie.value?(te(),!0):n.value==="file"?(s(),!0):n.value==="diff"?(ae(),!0):n.value==="btw"?(ke(),!0):!1}return Ne(e.activeSessionId,(K,Be)=>{if(Be){const Ve=ne();Ve?pe.value[Be]=Ve:delete pe.value[Be]}s(),b(),Q(),ve(),te(),ae(),we(),o?.closeAllTabs(),K&&Z(pe.value[K])}),{PREVIEW_WIDTH_KEY:xV,PREVIEW_MIN:Bo,previewDefaultWidth:k,previewMax:p,previewWidth:x,previewPanelWidth:g,thinkingPanelText:y,thinkingVisible:S,openThinkingPanel:B,closeThinkingPanel:b,compactionPanelText:E,compactionPanelVisible:R,openCompactionPanel:W,closeCompactionPanel:Q,agentPanelMember:D,agentPanelVisible:O,openAgentPanel:J,closeAgentPanel:ve,toolDiffTarget:ze,toolDiffVisible:ie,openToolDiff:le,closeToolDiff:te,detailDiffMode:re,detailDiffPath:se,openDiffDetail:he,closeDiffDetail:ae,selectDiffFile:F,btwVisible:Le,openSideChatTab:Y,closeSideChat:ke,hideSideChatPanel:we,sidePanelVisible:Ze,panelDragging:be,closeOpenSidePanel:oe}}const IV=Ge.sidebarWidth,Zu=Ge.sidebarCollapsed,Xu=270,ja=220,AV=480,PV=320;function EV(e={}){const{viewportWidth:t}=_p(),n=T(Xu),s=T(!1),o=T(null),i=T(!1),u=M(()=>{const g=PV+(Zo(e.previewOpen)?Bo:0);return Math.min(AV,Cp(t.value,ja,g))}),p=M(()=>wl(n.value,ja,u.value)),f=M(()=>Zo(e.isNarrow)?o.value??!0:s.value);function v(){try{s.value=Dt(Zu)==="true"}catch{s.value=!1}}function k(){try{Nt(Zu,String(s.value))}catch{}}Ne(()=>Zo(e.isNarrow),g=>{g||(o.value=null)},{flush:"sync"});function x(){if(Zo(e.isNarrow)){o.value=!f.value;return}s.value=!s.value,k()}return{SIDEBAR_WIDTH_KEY:IV,SIDEBAR_DEFAULT:Xu,SIDEBAR_MIN:ja,sidebarMax:u,sessionColWidth:n,effectiveSidebarCollapsed:f,sidebarCollapsed:s,sidebarDragging:i,sideWidth:p,loadSidebarCollapsed:v,toggleSidebarCollapse:x}}function BV(){return{tabs:[],activeTabId:null}}function RV(e,t){return e.tabs.includes(t)?{...e,activeTabId:t}:{tabs:[...e.tabs,t],activeTabId:t}}function LV(e,t){return!e.tabs.includes(t)||e.activeTabId===t?e:{...e,activeTabId:t}}function DV(e,t){const n=e.tabs.indexOf(t);if(n===-1)return e;const s=e.tabs.filter(i=>i!==t);if(e.activeTabId!==t)return{tabs:s,activeTabId:e.activeTabId};const o=s[n]??s[n-1]??null;return{tabs:s,activeTabId:o}}function OV(e){return e.tabs.length===0?e:{tabs:[],activeTabId:null}}function zV(e){const t=T(BV());function n(p){t.value=RV(t.value,p),e.value=p}function s(p){t.value=LV(t.value,p),e.value!==p&&(e.value=p)}function o(p){const f=DV(t.value,p);t.value=f,e.value===p&&(e.value=f.activeTabId)}function i(){const p=OV(t.value);t.value=p,e.value=p.activeTabId}function u(p){t.value=p,e.value=p.activeTabId}return{tabState:t,ensureTab:n,activateTab:s,closeTab:o,closeAllTabs:i,setTabState:u}}const FV=640,NV=`(max-width: ${FV}px)`;function WV(){const e=T(!1);if(typeof window>"u"||typeof window.matchMedia!="function")return e;const t=window.matchMedia(NV);e.value=t.matches;const n=s=>{e.value=s.matches};return typeof t.addEventListener=="function"?(t.addEventListener("change",n),kt(()=>t.removeEventListener("change",n))):typeof t.addListener=="function"&&(t.addListener(n),kt(()=>t.removeListener(n))),e}function qV(){const e=T(!1),t=sr(i6,n=>{e.value=n});return kt(t),e}const HV={class:"server-auth-overlay",role:"dialog","aria-modal":"true","aria-labelledby":"server-auth-title"},UV={class:"server-auth-card"},VV={class:"server-auth-head"},jV={id:"server-auth-title",class:"server-auth-title"},KV={class:"server-auth-hint"},GV={class:"server-auth-body"},QV={class:"server-auth-foot"},YV=Ee({__name:"ServerAuthDialog",setup(e){const{t}=Ye(),n=T(""),s=T(null),o=T(!1);xt(()=>{Xe(()=>s.value?.focus())});function i(){const p=n.value;!p||o.value||(o.value=!0,Ac(p),window.location.reload())}function u(p){p.key==="Enter"&&(p.preventDefault(),i())}return(p,f)=>(l(),c("div",HV,[r("div",UV,[r("div",VV,[r("h1",jV,d(a(t)("serverAuth.title")),1),r("p",KV,d(a(t)("serverAuth.hint",{password:"KIMI_CODE_PASSWORD"})),1)]),r("div",GV,[w(qn,{ref_key:"inputRef",ref:s,modelValue:n.value,"onUpdate:modelValue":f[0]||(f[0]=v=>n.value=v),type:"password",autocomplete:"current-password",placeholder:a(t)("serverAuth.placeholder"),disabled:o.value,onKeydown:u},null,8,["modelValue","placeholder","disabled"])]),r("div",QV,[w(je,{variant:"primary",disabled:!n.value||o.value,loading:o.value,onClick:i},{default:L(()=>[ee(d(o.value?a(t)("serverAuth.connecting"):a(t)("serverAuth.connect")),1)]),_:1},8,["disabled","loading"])])])]))}}),ZV=Re(YV,[["__scopeId","data-v-469e14bc"]]);function XV(e,t){const n=t?.trim();if(n)return n;const s=Lc(e);return s==="/"?"":s}const JV=["aria-label"],ej=Ee({__name:"InternalBuildBanner",setup(e){const{t}=Ye(),n=U3;return(s,o)=>a(n)?(l(),c("span",{key:0,class:"internal-build-tag",role:"note","aria-label":a(t)("app.internalBuildBanner")},[w(X,{name:"alert-triangle",size:"sm","aria-hidden":"true"}),r("span",null,d(a(t)("app.internalBuildBanner")),1)],8,JV)):I("",!0)}}),tj=Re(ej,[["__scopeId","data-v-086c00dc"]]),nj={class:"app-shell"},sj={key:1,class:"auth-page"},oj={class:"auth-page-inner"},ij={class:"auth-page-copy"},aj=["aria-label","aria-hidden"],lj={class:"panel-content"},rj=Ee({__name:"App",setup(e){Zk();const t=T(!1);let n=null;const s=hi(),o=M(()=>!s.dangerousBypassAuth.value&&t.value);yo("resolveImage",s.resolveImageUrl),yo("resolveSwarmMembers",Ie=>s.swarmMembersByToolCallId.value.get(Ie)??[]),yo("resolveTaskForToolCall",Ie=>s.activeAppTasks.value.find(U=>U.id===Ie||U.parentToolCallId===Ie));const{t:i}=Ye(),{confirm:u}=xo(),p=vs(),f=WV(),v=qV(),k=T(!1),x=T(!1),g=M(()=>{const Ie=s.activeSessionId.value;return s.sessions.value.find(U=>U.id===Ie)?.title??""}),m=M(()=>s.visibleWorkspace.value?.sessionCount??0),$=M(()=>s.activity.value!=="idle"),h=T(null),{showAuthGate:y,blinkAuthLogo:S}=CV({client:s,authLogoRef:h}),B=M(()=>XV(s.status.value.cwd,s.webTitle.value));_V({running:$,showAuthGate:y,workspaceTitle:B});function b(Ie){const U=s.models.value.find(N=>N.id===s.status.value.modelId),A=oa(U),_e=A.indexOf(ri(U,Ie)),$e=A[(_e+1)%A.length]??A[0]??"off";return Vl(U,$e)}const P=M(()=>{const Ie=s.models.value.find(U=>U.id===s.status.value.modelId);return ri(Ie,s.thinking.value)}),E=T(!s.onboarded.value);function R(){s.setOnboarded(!0),E.value=!1}function W(){E.value=!0}let Q=0;function V(){const Ie=window.visualViewport,U=document.documentElement.style;U.setProperty("--app-height",`${Ie?.height??window.innerHeight}px`),U.setProperty("--app-top",`${Ie?.offsetTop??0}px`)}function C(){Q||(Q=requestAnimationFrame(()=>{Q=0,V()}))}xt(()=>{n=eb(()=>{t.value=!0,s.clearDangerousBypassAuth()}),s.load(),yt(),V(),window.visualViewport?.addEventListener("resize",C),window.visualViewport?.addEventListener("scroll",C),window.addEventListener("resize",C),document.addEventListener("keydown",D,!0)}),kt(()=>{document.removeEventListener("keydown",D,!0),window.visualViewport?.removeEventListener("resize",C),window.visualViewport?.removeEventListener("scroll",C),window.removeEventListener("resize",C),Q&&(cancelAnimationFrame(Q),Q=0),document.documentElement.style.removeProperty("--app-height"),document.documentElement.style.removeProperty("--app-top"),n!==null&&(n(),n=null)});function D(Ie){Ie.key==="Escape"&&(gn.value||Zt()&&(Ie.stopPropagation(),Ie.preventDefault()))}const O=T(null),J=zV(O),ve=J.tabState,me=M(()=>({thinking:i("panel.tabThinking"),compaction:i("panel.tabCompaction"),agent:i("panel.tabAgent"),btw:i("panel.tabSideChat"),diff:i("panel.tabDiff"),toolDiff:i("panel.tabToolDiff"),file:i("panel.tabFile")})),ze=T(!1);Ne(s.activeSessionId,()=>{ze.value=!0,Xe(()=>{ze.value=!1})});const{previewTarget:ie,previewFile:le,previewLoading:te,previewError:re,previewDownloadUrl:se,previewExternalActions:he,openFilePreview:ae,closeFilePreview:F,openPreviewInEditor:Y,revealPreviewFile:ke}=OD({client:s,detailTarget:O,rightPanelTabs:J}),we=zD(),Le=M(()=>f.value||v.value),Ze=M(()=>O.value!==null&&!Le.value),{SIDEBAR_WIDTH_KEY:be,SIDEBAR_DEFAULT:pe,SIDEBAR_MIN:ne,sidebarMax:Z,sessionColWidth:oe,effectiveSidebarCollapsed:K,sidebarDragging:Be,sideWidth:Ve,loadSidebarCollapsed:yt,toggleSidebarCollapse:dt}=EV({previewOpen:Ze,isNarrow:v}),{PREVIEW_WIDTH_KEY:Me,PREVIEW_MIN:xe,previewDefaultWidth:Se,previewMax:Ae,previewWidth:Je,previewPanelWidth:ht,thinkingPanelText:qe,thinkingVisible:He,openThinkingPanel:Ue,closeThinkingPanel:ct,compactionPanelText:it,compactionPanelVisible:Bt,openCompactionPanel:Ht,closeCompactionPanel:ln,agentPanelMember:ut,openAgentPanel:nn,closeAgentPanel:sn,toolDiffTarget:Un,openToolDiff:Wt,closeToolDiff:Nn,detailDiffMode:rn,detailDiffPath:os,openDiffDetail:Vn,closeDiffDetail:Qt,selectDiffFile:Ut,btwVisible:kn,openSideChatTab:jn,closeSideChat:Ot,sidePanelVisible:pn,panelDragging:Mn,closeOpenSidePanel:Zt}=TV({client:s,sideWidth:Ve,detailTarget:O,closeFilePreview:F,rightPanelTabs:J}),$n=T(null),Ct=T(!1),on=T(!1),Xt=T(!1),_t=T(!1),bn=T(!1),Pt=T(!1),un=T(!1),On=T(null),vn=T(null),wn=T(null),gn=M(()=>Po.value>0||Ct.value||on.value||Xt.value||_t.value||bn.value||Pt.value||un.value||E.value||k.value||x.value),zn=T(!1),xn=T(!1),cn=T(!1),fn=T(!1),Jt=T(!1);async function Kn(){zn.value=!0,xn.value=!1,Ct.value=!0;try{await s.refreshAllProviders()}catch{xn.value=!0}finally{zn.value=!1}}async function Ce(){cn.value=!0,fn.value=!1,on.value=!0;try{await s.loadProviders()}catch{fn.value=!0}finally{cn.value=!1}}function ge(){Xt.value=!0}async function We(Ie){Ct.value=!1,await zt(Ie)}function ot(){Ct.value=!1,vn.value=null}async function zt(Ie){await s.setModel(Ie)&&Ie!==s.defaultModel.value&&s.updateConfig({defaultModel:Ie});const A=vn.value;A!==null&&(vn.value=null,await Is(A))}async function Ft(Ie){await s.addProvider(Ie)}async function Rt(Ie){await s.refreshProvider(Ie)}async function Tt(Ie){await s.importCatalogProvider(Ie)}async function Yt(Ie){await s.importRegistry(Ie)}async function It(Ie){await u({title:i("sidebar.archive"),message:i("sidebar.archiveConfirm"),variant:"danger",action:()=>s.archiveSession(Ie)})}async function Tn(Ie){const U=s.workspacesView.value.find(A=>A.id===Ie)?.name??Ie;await u({title:i("sidebar.removeWorkspace"),message:i("workspace.removeWorkspaceConfirm",{name:U}),variant:"danger",action:()=>s.deleteWorkspace(Ie)})}async function gs(Ie){await u({title:i("providers.delete"),message:i("providers.confirmDelete"),variant:"danger",action:()=>s.deleteProvider(Ie)})}async function In(Ie){Jt.value=!0;try{await s.updateConfig(Ie)}finally{Jt.value=!1}}async function is(Ie){return s.startOAuthLogin(Ie)}async function Gn(){return s.resolveOAuthRegion()}async function hs(){return s.pollOAuthLogin()}async function ys(){return s.cancelOAuthLogin()}async function $s(){Xt.value=!1,await s.checkAuth(),await s.load()}async function xs(Ie,U,A){await s.openInApp(Ie,U,A)}async function An(Ie){if(await s.undo(1),await Xe(),Ie.skillActivation?.name){s.activateSkill(Ie.skillActivation.name,Ie.skillActivation.args);return}$n.value?.loadComposerForEdit(Ie.text,Ie.attachments)}function qs(Ie){if(Ie.skillActivation?.name){s.activateSkill(Ie.skillActivation.name,Ie.skillActivation.args);return}const U=(Ie.attachments??[]).filter(A=>A.fileId!==void 0).map(A=>({fileId:A.fileId,kind:A.kind,name:A.name,mediaType:A.mediaType,size:A.size}));s.sendPrompt(Ie.text,U)}function oo(Ie,U){if(Ie==="/compact"||Ie.startsWith("/compact ")){s.compact(Ie.slice(8).trim()||void 0);return}if(Ie==="/swarm"||Ie.startsWith("/swarm ")){const A=Ie.slice(6).trim();A==="on"?s.setSwarmMode(!0):A==="off"?s.setSwarmMode(!1):A?(s.setSwarmMode(!0),s.sendPrompt(A)):s.toggleSwarmMode();return}if(Ie==="/goal"||Ie.startsWith("/goal ")){const A=Ie.slice(5).trim();A==="pause"||A==="resume"||A==="cancel"?s.controlGoal(A):A?s.createGoal(A):s.setGoalMode(!0);return}if(Ie==="/btw"||Ie.startsWith("/btw ")){const A=Ie.slice(4).trim();!A&&s.sideChatVisible.value?Ot():jn(A||void 0);return}switch(Ie){case"/new":case"/clear":Yn();break;case"/fork":s.forkSession();break;case"/export":s.exportSession();break;case"/undo":s.undo();break;case"/plan":s.armPlanMode();break;case"/auto":s.setPermission("auto");break;case"/yolo":s.setPermission("yolo");break;case"/thinking":s.setThinking(b(s.thinking.value));break;case"/status":bn.value=!0;break;case"/login":ge();break;default:{const A=Ie.indexOf(" "),_e=VT((A===-1?Ie:Ie.slice(0,A)).slice(1)),$e=A===-1?void 0:Ie.slice(A+1).trim()||void 0;if(!_e)break;!s.activeSessionId.value&&s.activeWorkspaceId.value?s.startSessionAndActivateSkill(s.activeWorkspaceId.value,_e,$e,U):s.activateSkill(_e,$e,void 0,U);break}}}function io(Ie){Ie&&(!s.activeSessionId.value&&s.activeWorkspaceId.value?s.startSessionAndActivateSkill(s.activeWorkspaceId.value,Ie,void 0,void 0):s.activateSkill(Ie,void 0,void 0,void 0))}function as(Ie){s.unqueue(Ie)}function ao(Ie){s.unqueue(Ie)}function Ts(Ie){s.reorderQueue(Ie.from,Ie.to)}async function Is(Ie){const U=s.status.value.modelId;if(rp(U)||U.length>0&&U===tr){vn.value=Ie,Ct.value=!0;return}const _e=s.activeWorkspaceId.value;if(!s.activeSessionId.value&&_e){await s.startSessionAndSendPrompt(_e,Ie.text,Ie.attachments);return}if(!s.activeSessionId.value&&!_e){On.value=Ie,_t.value=!0;return}s.sendPrompt(Ie.text,Ie.attachments)}async function ks(Ie){if(wn.value=null,!await s.addWorkspaceByPath(Ie)){wn.value=i("workspace.addFailed");return}_t.value=!1;const A=On.value;On.value=null;const _e=s.activeWorkspaceId.value;A&&_e&&await s.startSessionAndSendPrompt(_e,A.text,A.attachments)}function Hs(){On.value=null,wn.value=null,_t.value=!1}function Qn(){Xe(()=>{$n.value?.focusComposer()})}function Yn(){const Ie=s.activeWorkspaceId.value;Ie?s.openWorkspaceDraft(Ie):s.clearActiveSession(),Qn()}function ls(Ie){s.openWorkspaceDraft(Ie),Qn()}function Zn(Ie){Ie&&window.open(Ie,"_blank","noopener")}return(Ie,U)=>(l(),c("div",nj,[o.value?(l(),q(ZV,{key:0})):I("",!0),a(y)?(l(),c("section",sj,[r("div",oj,[(l(),c("svg",{ref_key:"authLogoRef",ref:h,class:"auth-page-logo ch-logo",viewBox:"0 0 32 22",fill:"none",xmlns:"http://www.w3.org/2000/svg",role:"img","aria-label":"Kimi Code",onMousedown:U[0]||(U[0]=Oe(()=>{},["prevent"])),onClick:U[1]||(U[1]=(...A)=>a(S)&&a(S)(...A))},[...U[117]||(U[117]=[Sl(' ',2)])],544)),r("div",ij,[r("h1",null,d(a(i)("app.authPageTitle")),1),r("p",null,d(a(i)("app.authPageMessage")),1)]),w(je,{class:"auth-page-btn",variant:"primary",onClick:ge},{default:L(()=>[w(X,{name:"log-in",size:"md"}),r("span",null,d(a(i)("app.authPageLogin")),1)]),_:1})])])):(l(),c("div",{key:2,class:fe(["app",{mobile:a(f),"sidebar-collapsed":a(K)&&!a(f),"macos-desktop":a(zo)}]),style:vt({"--preview-w":a(ht)+"px"})},[a(f)?(l(),q(wq,{key:1,workspace:a(s).visibleWorkspace.value,"session-title":g.value,running:$.value,branch:a(s).status.value.branch,"session-count":m.value,onOpenSwitcher:U[20]||(U[20]=A=>k.value=!0),onOpenSettings:U[21]||(U[21]=A=>x.value=!0)},null,8,["workspace","session-title","running","branch","session-count"])):(l(),c(de,{key:0},[w(I_,{collapsed:a(K),dragging:a(Be),"col-width":a(Ve),"active-workspace":a(s).visibleWorkspace.value,"active-workspace-id":a(s).activeWorkspaceId.value,sessions:a(s).sessionsForView.value,groups:a(s).workspaceGroups.value,"pinned-session-ids":a(s).pinnedSessionIds.value,"multi-tab-sidebar":a(s).multiTabSidebar.value,"active-id":a(s).activeSessionId.value,"attention-by-session":a(s).attentionBySession.value,"pending-by-session":a(s).pendingBySession.value,"unread-by-session":a(s).unreadBySession.value,"workspace-sort-mode":a(s).workspaceSortMode.value,backend:a(s).backend.value,onSelect:U[2]||(U[2]=A=>a(s).selectSession(A)),onCreate:Yn,onCreateInWorkspace:U[3]||(U[3]=A=>ls(A)),onSelectWorkspace:U[4]||(U[4]=A=>a(s).openWorkspace(A)),onAddWorkspace:U[5]||(U[5]=A=>_t.value=!0),onRename:U[6]||(U[6]=(A,_e)=>a(s).renameSession(A,_e)),onArchive:U[7]||(U[7]=A=>It(A)),onFork:U[8]||(U[8]=A=>a(s).forkSession(A)),onExport:U[9]||(U[9]=A=>a(s).exportSession(A)),onRenameWorkspace:U[10]||(U[10]=(A,_e)=>a(s).renameWorkspace(A,_e)),onDeleteWorkspace:U[11]||(U[11]=A=>Tn(A)),onReorderWorkspaces:U[12]||(U[12]=A=>a(s).reorderWorkspaces(A)),onSetWorkspaceSortMode:U[13]||(U[13]=A=>a(s).setWorkspaceSortMode(A)),onLoadMoreSessions:U[14]||(U[14]=A=>void a(s).loadMoreSessions(A)),onLoadAllSessions:U[15]||(U[15]=A=>void a(s).loadAllSessions()),onOpenSettings:U[16]||(U[16]=A=>Pt.value=!0),onOpenSessionManagement:U[17]||(U[17]=A=>un.value=!0),onCollapse:a(dt)},null,8,["collapsed","dragging","col-width","active-workspace","active-workspace-id","sessions","groups","pinned-session-ids","multi-tab-sidebar","active-id","attention-by-session","pending-by-session","unread-by-session","workspace-sort-mode","backend","onCollapse"]),wt(w(du,{class:"side-handle","storage-key":a(be),"default-width":a(pe),min:a(ne),max:a(Z),"onUpdate:width":U[18]||(U[18]=A=>oe.value=A),"onUpdate:dragging":U[19]||(U[19]=A=>Be.value=A)},null,8,["storage-key","default-width","min","max"]),[[Wn,!a(K)]])],64)),w(qP,{ref_key:"conversationPaneRef",ref:$n,mobile:a(f),turns:a(s).turns.value,"session-id":a(s).activeSessionId.value,approvals:a(s).pendingApprovals.value,changes:a(s).changes.value,"git-info":a(s).gitInfo.value,tasks:a(s).tasks.value,todos:a(s).todos.value,goal:a(s).goal.value,"activation-badges":a(s).activationBadges.value,status:a(s).status.value,thinking:a(s).thinking.value,"plan-mode":a(s).planMode.value,"plan-armed":a(s).planArmed.value,"swarm-mode":a(s).swarmMode.value,"supermoon-mode":a(s).supermoonMode.value,"goal-mode":a(s).goalMode.value,models:a(s).models.value,"starred-ids":a(s).starredModelIds.value,skills:a(s).skills.value,questions:a(s).questions.value,"pending-question-actions":a(s).pendingQuestionActions,"pending-approval-actions":a(s).pendingApprovalActions,running:$.value,"turn-active":a(s).turnActive.value,queued:a(s).queued.value,"search-files":a(s).searchFiles,"upload-image":a(s).uploadImage,working:a(s).working.value,"model-retry":a(s).modelRetry.value,starting:a(s).isStartingFirstPrompt.value,"fast-moon":a(s).fastMoon.value,"file-reload-key":a(s).activeSessionId.value,"session-loading":a(s).sessionLoading.value,compaction:a(s).compaction.value,"has-more-messages":a(s).hasMoreMessages.value,"loading-more":a(s).loadingMoreMessages.value,"loading-more-error":a(s).loadMoreMessagesError.value,"load-older-messages":a(s).loadOlderMessages,"workspace-name":a(s).visibleWorkspace.value?.name,"workspace-root":a(s).visibleWorkspace.value?.root??a(s).status.value.cwd,"git-diff-stats":a(s).gitDiffStats.value,workspaces:a(s).workspacesView.value,"active-workspace-id":a(s).activeWorkspaceId.value,"session-title":g.value,"session-pinned":a(s).pinnedSessionIds.value.includes(a(s).activeSessionId.value??""),terminal:a(s).terminal,pr:a(s).activePullRequest.value,"conversation-toc":a(s).conversationToc.value,onOpenChanges:U[22]||(U[22]=A=>a(Vn)()),onSelectWorkspace:U[23]||(U[23]=A=>ls(A)),onAddWorkspace:U[24]||(U[24]=A=>_t.value=!0),onOpenPr:Zn,onSubmit:U[25]||(U[25]=A=>Is(A)),onSteer:U[26]||(U[26]=A=>a(s).steerPrompt(A.text,A.attachments)),onApproval:U[27]||(U[27]=(A,_e)=>a(s).respondApproval(A,_e)),onCancelTask:U[28]||(U[28]=A=>a(s).cancelTask(A)),onMoveToBackground:U[29]||(U[29]=A=>a(s).detachTask(A)),onAnswer:U[30]||(U[30]=(A,_e)=>a(s).respondQuestion(A,_e)),onDismiss:U[31]||(U[31]=A=>a(s).dismissQuestion(A)),onCommand:oo,onInterrupt:U[32]||(U[32]=A=>a(s).abortCurrentPrompt()),onUnqueue:as,onEditQueued:ao,onReorderQueue:Ts,onSteerQueuedIndex:U[33]||(U[33]=A=>void a(s).steerQueuedPrompt(A)),onSendQueued:U[34]||(U[34]=A=>void a(s).sendQueuedPrompt(A)),onSetPermission:U[35]||(U[35]=A=>a(s).setPermission(A)),onSetThinking:U[36]||(U[36]=A=>a(s).setThinking(A)),onTogglePlan:U[37]||(U[37]=A=>a(s).togglePlanArm()),onToggleSwarm:U[38]||(U[38]=A=>a(s).toggleSwarmMode()),onToggleSupermoon:U[39]||(U[39]=A=>a(s).toggleSupermoonMode()),onToggleGoal:U[40]||(U[40]=A=>a(s).toggleGoalMode()),onDismissPlan:U[41]||(U[41]=A=>a(s).dismissPlanMode()),onControlGoal:U[42]||(U[42]=A=>a(s).controlGoal(A)),onRefreshGitStatus:U[43]||(U[43]=A=>a(s).activeSessionId.value&&a(s).loadGitStatus(a(s).activeSessionId.value)),onRenameSession:U[44]||(U[44]=(A,_e)=>a(s).renameSession(A,_e)),onTogglePin:U[45]||(U[45]=A=>a(s).togglePinnedSession(A)),onForkSession:U[46]||(U[46]=A=>a(s).forkSession(A)),onArchiveSession:U[47]||(U[47]=A=>It(A)),onExportSession:U[48]||(U[48]=A=>a(s).exportSession(A)),onCompact:U[49]||(U[49]=A=>a(s).compact()),onPickModel:U[50]||(U[50]=A=>Kn()),onSelectModel:U[51]||(U[51]=A=>zt(A)),onOpenFile:U[52]||(U[52]=A=>a(ae)(A)),onOpenMedia:U[53]||(U[53]=A=>a(we).open(A)),onOpenThinking:U[54]||(U[54]=A=>a(Ue)(A)),onOpenCompaction:U[55]||(U[55]=A=>a(Ht)(A)),onOpenAgent:U[56]||(U[56]=A=>a(nn)(A)),onOpenToolDiff:U[57]||(U[57]=A=>a(Wt)(A)),onEditMessage:An,onResumeTurn:qs,onOpenMentionSkill:io},null,8,["mobile","turns","session-id","approvals","changes","git-info","tasks","todos","goal","activation-badges","status","thinking","plan-mode","plan-armed","swarm-mode","supermoon-mode","goal-mode","models","starred-ids","skills","questions","pending-question-actions","pending-approval-actions","running","turn-active","queued","search-files","upload-image","working","model-retry","starting","fast-moon","file-reload-key","session-loading","compaction","has-more-messages","loading-more","loading-more-error","load-older-messages","workspace-name","workspace-root","git-diff-stats","workspaces","active-workspace-id","session-title","session-pinned","terminal","pr","conversation-toc"]),!a(f)&&(a(zo)||a(K))?(l(),q(lt,{key:2,class:"sidebar-toggle-btn",size:"sm",label:a(K)?a(i)("sidebar.expandSidebar"):a(i)("sidebar.collapseSidebar"),onClick:a(dt)},{default:L(()=>[w(X,{name:a(K)?"panel-expand":"panel-collapse"},null,8,["name"])]),_:1},8,["label","onClick"])):I("",!0),a(pn)&&!Le.value?(l(),q(du,{key:3,class:"preview-handle","storage-key":a(Me),"default-width":a(Se),min:a(xe),max:a(Ae),reverse:"","aria-label":a(i)("layout.resizePreviewAria"),"onUpdate:width":U[58]||(U[58]=A=>Je.value=A),"onUpdate:dragging":U[59]||(U[59]=A=>Mn.value=A)},null,8,["storage-key","default-width","min","max","aria-label"])):I("",!0),!Le.value||a(pn)?(l(),c("aside",{key:4,class:fe(["global-preview",{open:a(pn),overlay:Le.value,"no-anim":a(Mn)||ze.value}]),role:"complementary","aria-label":a(i)("layout.detailPanelAria"),"aria-hidden":!a(pn)},[a(ve).tabs.length>0?(l(),q(CR,{key:0,tabs:a(ve).tabs,"active-tab-id":O.value,labels:me.value,onActivate:U[60]||(U[60]=A=>a(J).activateTab(A)),onClose:U[61]||(U[61]=A=>a(J).closeTab(A))},null,8,["tabs","active-tab-id","labels"])):I("",!0),r("div",lj,[O.value==="thinking"&&a(He)?(l(),q(Fu,{key:0,text:a(qe)??"",onClose:a(ct)},null,8,["text","onClose"])):O.value==="compaction"&&a(Bt)?(l(),q(Fu,{key:1,text:a(it)??"",subtitle:a(i)("conversation.summaryTitle"),onClose:a(ln)},null,8,["text","subtitle","onClose"])):O.value==="agent"&&a(ut)?(l(),q(hB,{key:2,member:a(ut),onClose:a(sn)},null,8,["member","onClose"])):O.value==="btw"&&a(kn)?(l(),q(HB,{key:3,turns:a(s).sideChatTurns.value,running:a(s).sideChatRunning.value,sending:a(s).sideChatSending.value,onSend:U[62]||(U[62]=A=>a(s).sendSideChatPrompt(A)),onClose:a(Ot)},null,8,["turns","running","sending","onClose"])):O.value==="diff"?(l(),q(yR,{key:4,mode:a(rn),changes:a(s).changes.value,"git-info":a(s).gitInfo.value,"file-diff":a(s).fileDiff.value,"selected-diff-path":a(s).selectedDiffPath.value,"file-diff-loading":a(s).fileDiffLoading.value,closable:"",onOpen:a(Ut),onBack:U[63]||(U[63]=A=>{rn.value="list",os.value=null,a(s).clearFileDiff()}),onClose:a(Qt)},null,8,["mode","changes","git-info","file-diff","selected-diff-path","file-diff-loading","onOpen","onClose"])):O.value==="toolDiff"&&a(Un)?(l(),q(LB,{key:5,target:a(Un),onClose:a(Nn)},null,8,["target","onClose"])):O.value==="file"?(l(),q(GE,{key:6,file:a(le),loading:a(te),error:a(re),line:a(ie)?.line,"download-url":a(se),closable:"","external-actions":a(he),"workspace-root":a(s).visibleWorkspace.value?.root??a(s).status.value.cwd,"open-in-apps":a(s).availableOpenInApps.value,"open-file":a(ae),onClose:a(F),onOpenExternal:a(Y),onReveal:a(ke),onOpenInApp:xs},null,8,["file","loading","error","line","download-url","external-actions","workspace-root","open-in-apps","open-file","onClose","onOpenExternal","onReveal"])):I("",!0)])],10,aj)):I("",!0),w(tj,{class:"internal-build-fab"}),a(f)&&Ct.value?(l(),q(xU,{key:5,modelValue:Ct.value,"onUpdate:modelValue":U[64]||(U[64]=A=>Ct.value=A),models:a(s).models.value,current:a(s).status.value.modelId,"starred-ids":a(s).starredModelIds.value,loading:zn.value,unavailable:xn.value,onSelect:U[65]||(U[65]=A=>We(A)),onToggleStar:U[66]||(U[66]=A=>a(s).toggleStarModel(A)),onClose:ot},null,8,["modelValue","models","current","starred-ids","loading","unavailable"])):Ct.value?(l(),q(NR,{key:6,models:a(s).models.value,current:a(s).status.value.modelId,"starred-ids":a(s).starredModelIds.value,loading:zn.value,unavailable:xn.value,onSelect:U[67]||(U[67]=A=>We(A)),onToggleStar:U[68]||(U[68]=A=>a(s).toggleStarModel(A)),onClose:ot},null,8,["models","current","starred-ids","loading","unavailable"])):I("",!0),Pt.value?(l(),q(oN,{key:7,"color-scheme":a(s).colorScheme.value,accent:a(s).accent.value,"ui-font-size":a(s).uiFontSize.value,"auth-ready":a(s).authReady.value,"kimi-oauth-enabled":a(s).kimiOauthEnabled.value,"account-model":a(s).accountModel.value,notify:a(s).notifyOnComplete.value,"notify-question":a(s).notifyOnQuestion.value,"notify-approval":a(s).notifyOnApproval.value,"notify-permission":a(s).notifyPermission.value,sound:a(s).soundOnComplete.value,"task-notices":a(s).taskNoticesEnabled.value,"conversation-toc":a(s).conversationToc.value,"multi-tab-sidebar":a(s).multiTabSidebar.value,config:a(s).config.value,models:a(s).models.value,"config-saving":Jt.value,"server-version":a(s).serverVersion.value,backend:a(s).backend.value,onSetColorScheme:U[69]||(U[69]=A=>a(s).setColorScheme(A)),onSetAccent:U[70]||(U[70]=A=>a(s).setAccent(A)),onSetUiFontSize:U[71]||(U[71]=A=>a(s).setUiFontSize(A)),onSetNotify:U[72]||(U[72]=A=>a(s).setNotifyOnComplete(A)),onSetNotifyQuestion:U[73]||(U[73]=A=>a(s).setNotifyOnQuestion(A)),onSetNotifyApproval:U[74]||(U[74]=A=>a(s).setNotifyOnApproval(A)),onSetSound:U[75]||(U[75]=A=>a(s).setSoundOnComplete(A)),onSetTaskNotices:U[76]||(U[76]=A=>a(s).setTaskNoticesEnabled(A)),onSetConversationToc:U[77]||(U[77]=A=>a(s).setConversationToc(A)),onSetMultiTabSidebar:U[78]||(U[78]=A=>a(s).setMultiTabSidebar(A)),onUpdateConfig:U[79]||(U[79]=A=>In(A)),onLogin:U[80]||(U[80]=()=>{Pt.value=!1,ge()}),onLogout:a(s).logout,onOpenOnboarding:U[81]||(U[81]=()=>{Pt.value=!1,W()}),onOpenProviders:U[82]||(U[82]=()=>{Pt.value=!1,Ce()}),onClose:U[83]||(U[83]=A=>Pt.value=!1)},null,8,["color-scheme","accent","ui-font-size","auth-ready","kimi-oauth-enabled","account-model","notify","notify-question","notify-approval","notify-permission","sound","task-notices","conversation-toc","multi-tab-sidebar","config","models","config-saving","server-version","backend","onLogout"])):I("",!0),un.value?(l(),q(KN,{key:8,sessions:a(s).sessionsForView.value,onClose:U[84]||(U[84]=A=>un.value=!1)},null,8,["sessions"])):I("",!0),on.value?(l(),q(BL,{key:9,providers:a(s).providers.value,loading:cn.value,unavailable:fn.value,"kimi-oauth-enabled":a(s).kimiOauthEnabled.value,onAdd:U[85]||(U[85]=A=>Ft(A)),onRefresh:U[86]||(U[86]=A=>Rt(A)),onDelete:U[87]||(U[87]=A=>gs(A)),onImportCatalog:U[88]||(U[88]=A=>Tt(A)),onImportRegistry:U[89]||(U[89]=A=>Yt(A)),onOpenLogin:U[90]||(U[90]=()=>{on.value=!1,ge()}),onClose:U[91]||(U[91]=A=>on.value=!1)},null,8,["providers","loading","unavailable","kimi-oauth-enabled"])):I("",!0),bn.value?(l(),q(KW,{key:10,status:a(s).status.value,thinking:P.value,"plan-mode":a(s).planMode.value,"swarm-mode":a(s).swarmMode.value,"supermoon-mode":a(s).supermoonMode.value,"cost-usd":a(s).sessionCost.value,onClose:U[92]||(U[92]=A=>bn.value=!1)},null,8,["status","thinking","plan-mode","swarm-mode","supermoon-mode","cost-usd"])):I("",!0),_t.value?(l(),q(AW,{key:11,"browse-fs":a(s).browseFs,"get-fs-home":a(s).getFsHome,"default-path":a(s).visibleWorkspace.value?.root??a(s).status.value.cwd,error:wn.value,onAdd:U[93]||(U[93]=A=>ks(A)),onClose:Hs},null,8,["browse-fs","get-fs-home","default-path","error"])):I("",!0),w(ai,{name:"gload-fade"},{default:L(()=>[a(s).initialized.value?I("",!0):(l(),q(jU,{key:0,issue:a(s).connectIssue.value},null,8,["issue"]))]),_:1}),a(s).initialized.value&&E.value&&!a(y)?(l(),q(FU,{key:12,onComplete:R,onSkip:R})):I("",!0),w(oq,{warnings:a(s).warnings.value,onDismiss:a(s).dismissWarning},null,8,["warnings","onDismiss"]),w(pq,{notices:a(s).taskNotices.value,onDismiss:a(s).dismissTaskNotice},null,8,["notices","onDismiss"]),a(p)?(l(),q(SV,{key:13})):I("",!0),w(RW),a(f)?(l(),q(Vq,{key:14,modelValue:k.value,"onUpdate:modelValue":U[94]||(U[94]=A=>k.value=A),groups:a(s).workspaceGroups.value,"active-workspace-id":a(s).activeWorkspaceId.value,"active-id":a(s).activeSessionId.value,"attention-by-session":a(s).attentionBySession.value,"attention-by-workspace":a(s).attentionByWorkspace.value,onSelect:U[95]||(U[95]=A=>a(s).selectSession(A)),onCreate:Yn,onCreateInWorkspace:U[96]||(U[96]=A=>ls(A)),onAddWorkspace:U[97]||(U[97]=A=>_t.value=!0),onRename:U[98]||(U[98]=(A,_e)=>a(s).renameSession(A,_e)),onArchive:U[99]||(U[99]=A=>It(A)),onDeleteWorkspace:U[100]||(U[100]=A=>Tn(A)),onLoadMore:U[101]||(U[101]=A=>void a(s).loadMoreSessions(A))},null,8,["modelValue","groups","active-workspace-id","active-id","attention-by-session","attention-by-workspace"])):I("",!0),a(f)?(l(),q(dU,{key:15,modelValue:x.value,"onUpdate:modelValue":U[102]||(U[102]=A=>x.value=A),status:a(s).status.value,thinking:a(s).thinking.value,models:a(s).models.value,"plan-mode":a(s).planMode.value,"goal-mode":a(s).goalMode.value,"swarm-mode":a(s).swarmMode.value,"supermoon-mode":a(s).supermoonMode.value,"color-scheme":a(s).colorScheme.value,"ui-font-size":a(s).uiFontSize.value,"auth-ready":a(s).authReady.value,"kimi-oauth-enabled":a(s).kimiOauthEnabled.value,"conversation-toc":a(s).conversationToc.value,"task-notices":a(s).taskNoticesEnabled.value,"server-version":a(s).serverVersion.value,onPickModel:U[103]||(U[103]=A=>Kn()),onSetThinking:U[104]||(U[104]=A=>a(s).setThinking(A)),onTogglePlan:U[105]||(U[105]=A=>a(s).togglePlanMode()),onToggleGoal:U[106]||(U[106]=A=>a(s).toggleGoalMode()),onToggleSwarm:U[107]||(U[107]=A=>a(s).toggleSwarmMode()),onToggleSupermoon:U[108]||(U[108]=A=>a(s).toggleSupermoonMode()),onSetPermission:U[109]||(U[109]=A=>a(s).setPermission(A)),onSetColorScheme:U[110]||(U[110]=A=>a(s).setColorScheme(A)),onSetUiFontSize:U[111]||(U[111]=A=>a(s).setUiFontSize(A)),onSetConversationToc:U[112]||(U[112]=A=>a(s).setConversationToc(A)),onSetTaskNotices:U[113]||(U[113]=A=>a(s).setTaskNoticesEnabled(A)),onLogin:U[114]||(U[114]=()=>{x.value=!1,ge()}),onLogout:a(s).logout},null,8,["modelValue","status","thinking","models","plan-mode","goal-mode","swarm-mode","supermoon-mode","color-scheme","ui-font-size","auth-ready","kimi-oauth-enabled","conversation-toc","task-notices","server-version","onLogout"])):I("",!0)],6)),Xt.value?(l(),q(yD,{key:3,"on-start-o-auth-login":is,"on-poll-o-auth-login":hs,"on-cancel-o-auth-login":ys,"on-resolve-o-auth-region":Gn,onSuccess:$s,onClose:U[115]||(U[115]=A=>Xt.value=!1)})):I("",!0),w(DD,{state:a(we).state.value,onClose:U[116]||(U[116]=A=>a(we).close())},null,8,["state"])]))}}),uj=Re(rj,[["__scopeId","data-v-c18a3368"]]);qy();Cl(uj).use(St).mount("#app");export{fj as I,X as _,Re as a};
diff --git a/apps/kimi-code/dist-web/assets/index-KXzZPNcO.css b/apps/kimi-code/dist-web/assets/index-KXzZPNcO.css
new file mode 100644
index 00000000000..87b7c534037
--- /dev/null
+++ b/apps/kimi-code/dist-web/assets/index-KXzZPNcO.css
@@ -0,0 +1 @@
+.ui-icon-button[data-v-c9e67023]{display:inline-flex;align-items:center;justify-content:center;flex:none;padding:0;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--color-text-muted);cursor:pointer;transition:background var(--duration-base) var(--ease-out),color var(--duration-base) var(--ease-out)}.ui-icon-button[data-v-c9e67023]:hover:not(:disabled){background:color-mix(in srgb,var(--color-text) 8%,transparent);color:var(--color-text)}.ui-icon-button[data-v-c9e67023]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.ui-icon-button[data-v-c9e67023]:disabled{opacity:.5;cursor:not-allowed}.ui-icon-button--sm[data-v-c9e67023]{width:26px;height:26px;border-radius:var(--radius-sm)}.ui-icon-button--md[data-v-c9e67023]{width:32px;height:32px}.ui-icon-button--lg[data-v-c9e67023]{width:44px;height:44px}.ui-icon-button[data-v-c9e67023] svg{width:var(--p-ic-md);height:var(--p-ic-md)}.ui-icon-button--sm[data-v-c9e67023] svg{width:var(--p-ic-md);height:var(--p-ic-md)}.ui-icon-button--lg[data-v-c9e67023] svg{width:var(--p-ic-lg);height:var(--p-ic-lg)}.ui-dialog__overlay[data-v-ee025dcb]{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--space-6);background:#0d111773;animation:kimi-dialog-overlay-in-ee025dcb var(--duration-base) var(--ease-out)}@keyframes kimi-dialog-overlay-in-ee025dcb{0%{opacity:0}to{opacity:1}}.ui-dialog[data-v-ee025dcb]{max-height:calc(100vh - var(--space-8) * 2);display:flex;flex-direction:column;background:var(--color-surface-raised);border:1px solid var(--color-line);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);outline:none;overflow:hidden;animation:kimi-card-in var(--duration-slow) var(--ease-out)}.ui-dialog--md[data-v-ee025dcb]{width:min(440px,100%)}.ui-dialog--lg[data-v-ee025dcb]{width:min(640px,100%)}.ui-dialog--xl[data-v-ee025dcb]{width:min(var(--p-content-max),100%)}.ui-dialog--fixed-height[data-v-ee025dcb]{height:min(680px,calc(100vh - var(--space-8) * 2))}.ui-dialog--flush .ui-dialog__body[data-v-ee025dcb]{padding:0}.ui-dialog__head[data-v-ee025dcb]{display:flex;align-items:flex-start;gap:var(--space-3);padding:20px 22px 14px}.ui-dialog__titles[data-v-ee025dcb]{flex:1;min-width:0}.ui-dialog__title[data-v-ee025dcb]{font-size:var(--text-lg);font-weight:500;color:var(--color-text);line-height:var(--leading-tight)}.ui-dialog__desc[data-v-ee025dcb]{margin-top:4px;font-size:var(--text-base);color:var(--color-text-muted)}.ui-dialog__close[data-v-ee025dcb]{flex:none;margin-top:-2px}.ui-dialog__body[data-v-ee025dcb]{flex:1;min-height:0;padding:4px 22px 18px;color:var(--color-text);overflow:auto}.ui-dialog__foot[data-v-ee025dcb]{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:14px 22px 20px}.ui-badge[data-v-5bc5cd6d]{display:inline-flex;align-items:center;gap:6px;border-radius:var(--radius-full);font-family:var(--font-ui);font-weight:var(--weight-medium);line-height:1;white-space:nowrap;border:1px solid transparent}.ui-badge--md[data-v-5bc5cd6d]{height:22px;padding:0 9px;font-size:var(--text-xs)}.ui-badge--sm[data-v-5bc5cd6d]{height:18px;padding:0 7px;font-size:11px}.ui-badge__dot[data-v-5bc5cd6d]{width:6px;height:6px;border-radius:var(--radius-full);background:currentColor;flex:none}.ui-badge--neutral[data-v-5bc5cd6d]{background:var(--color-surface-sunken);color:var(--color-text-muted);border-color:var(--color-line)}.ui-badge--info[data-v-5bc5cd6d]{background:var(--color-accent-soft);color:var(--color-accent-hover);border-color:var(--color-accent-bd)}.ui-badge--success[data-v-5bc5cd6d]{background:var(--color-success-soft);color:var(--color-success);border-color:var(--color-success-bd)}.ui-badge--warning[data-v-5bc5cd6d]{background:var(--color-warning-soft);color:var(--color-warning);border-color:var(--color-warning-bd)}.ui-badge--danger[data-v-5bc5cd6d]{background:var(--color-danger-soft);color:var(--color-danger);border-color:var(--color-danger-bd)}.ui-badge--solid[data-v-5bc5cd6d]{background:var(--color-text);color:var(--color-bg)}.sd-head[data-v-8a3dfe4f]{flex:1;min-width:0;display:flex;align-items:center;gap:var(--space-2)}.sd-search-icon[data-v-8a3dfe4f]{flex:none;color:var(--color-text-muted)}.sd-input[data-v-8a3dfe4f]{flex:1;min-width:0;font-family:var(--font-ui);font-size:var(--text-lg);color:var(--color-text);background:none;border:none;outline:none;padding:var(--space-1) 0}.sd-input[data-v-8a3dfe4f]::placeholder{color:var(--color-text-muted)}.sd-list[data-v-8a3dfe4f]{height:420px;overflow-y:auto;padding:var(--space-1) var(--space-2)}.sd-row[data-v-8a3dfe4f]{display:flex;flex-direction:column;gap:2px;width:100%;padding:var(--space-2) var(--space-3);border:none;border-radius:var(--radius-md);background:none;cursor:pointer;text-align:left;font-family:var(--font-ui);color:var(--color-text)}.sd-row[data-v-8a3dfe4f]:hover,.sd-row.on[data-v-8a3dfe4f]{background:var(--color-surface-sunken)}.sd-row.is-workspace .sd-title[data-v-8a3dfe4f]{color:var(--color-accent-hover)}.sd-meta[data-v-8a3dfe4f]{display:flex;align-items:center;gap:var(--space-1);min-width:0;font-size:var(--text-xs);color:var(--color-text-muted)}.sd-folder[data-v-8a3dfe4f]{flex:none;color:var(--color-text-muted)}.sd-ws[data-v-8a3dfe4f]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-time[data-v-8a3dfe4f]{flex:none;font-family:var(--font-mono);color:var(--color-text-faint)}.sd-title[data-v-8a3dfe4f]{min-width:0;font-size:var(--text-base);color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-snippet[data-v-8a3dfe4f]{min-width:0;font-size:var(--text-sm);color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-title[data-v-8a3dfe4f] mark,.sd-snippet[data-v-8a3dfe4f] mark,.sd-ws[data-v-8a3dfe4f] mark{background:var(--color-accent);color:var(--color-bg);font-weight:var(--weight-semibold);border-radius:var(--radius-xs);padding:0 2px}.sd-empty[data-v-8a3dfe4f]{padding:var(--space-6) var(--space-4);text-align:center;color:var(--color-text-muted);font-size:var(--text-sm)}.sd-hint[data-v-8a3dfe4f]{font-size:var(--text-xs);color:var(--color-text-muted)}.ui-spinner[data-v-e5c5b17d]{display:inline-flex;flex:none;color:var(--color-accent)}.ui-spinner--sm[data-v-e5c5b17d]{width:14px;height:14px}.ui-spinner--md[data-v-e5c5b17d]{width:18px;height:18px}.ui-spinner--lg[data-v-e5c5b17d]{width:28px;height:28px}.ui-spinner__svg[data-v-e5c5b17d]{width:100%;height:100%;animation:ui-spinner-rotate-e5c5b17d .85s linear infinite}.ui-spinner__track[data-v-e5c5b17d]{fill:none;stroke:var(--color-line);stroke-width:2.2}.ui-spinner__arc[data-v-e5c5b17d]{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-dasharray:56 56;stroke-dashoffset:38}@keyframes ui-spinner-rotate-e5c5b17d{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.ui-spinner__svg[data-v-e5c5b17d]{animation-duration:1.8s}}.ui-menu[data-v-60e6cd8d]{min-width:180px;padding:var(--space-1);background:var(--color-surface-raised);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column}.ui-menu-item[data-v-f940771a]{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:6px 10px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text);font-family:var(--font-ui);font-size:var(--text-base);text-align:left;cursor:pointer;transition:background var(--duration-base),color var(--duration-base)}.ui-menu-item[data-v-f940771a]:hover:not(:disabled){background:var(--color-surface-sunken)}.ui-menu-item[data-v-f940771a]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.ui-menu-item[data-v-f940771a]:disabled{opacity:.5;cursor:not-allowed}.ui-menu-item.is-active[data-v-f940771a]{background:var(--color-accent-soft);color:var(--color-accent-hover)}.ui-menu-item.is-danger[data-v-f940771a]{color:var(--color-danger)}.ui-menu-item.is-danger[data-v-f940771a]:hover:not(:disabled){background:var(--color-danger-soft)}.ui-menu-item[data-v-f940771a] svg{width:14px;height:14px;flex:none}.ui-menu-item--lg[data-v-f940771a]{min-height:44px;padding:12px 14px;font-size:var(--text-base)}.ui-menu-sep[data-v-f940771a]{height:1px;margin:4px 0;background:var(--color-line)}.ui-tip[data-v-98697f45]{display:contents}.ui-tip__bubble[data-v-98697f45]{position:fixed;z-index:var(--z-tooltip);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--tip-lines);max-width:280px;padding:4px 8px;border-radius:var(--radius-sm);background:var(--color-text);color:var(--color-bg);font-family:var(--font-ui);font-size:var(--text-xs);line-height:1.35;overflow:hidden;overflow-wrap:anywhere;pointer-events:none;opacity:0;transition:opacity var(--duration-fast) var(--ease-out)}.ui-tip__bubble.positioned[data-v-98697f45]{opacity:1}.se[data-v-c466732e]{display:block;margin:0;padding:8px var(--space-2);border-radius:var(--radius-sm);font-family:var(--font-ui);color:var(--color-text);cursor:pointer;position:relative}.se[data-v-c466732e]:hover{background:var(--sb-hover, var(--color-surface-sunken));color:var(--color-text)}.se.on[data-v-c466732e]{background:var(--color-selected);color:var(--color-text)}.row[data-v-c466732e]{display:flex;align-items:center;gap:var(--sb-gap, 6px);min-width:0}.left[data-v-c466732e]{display:flex;align-items:center;flex:1;min-width:0}.lead[data-v-c466732e]{width:var(--sb-gutter, 16px);flex:none;display:inline-flex;align-items:center;justify-content:center}.unread-dot[data-v-c466732e]{width:7px;height:7px;border-radius:var(--radius-full);background:var(--color-accent)}.t[data-v-c466732e]{color:inherit;font-size:var(--ui-font-size-sm);font-weight:var(--weight-medium);line-height:var(--leading-tight);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.t-emoji[data-v-c466732e]{margin-right:4px;font-size:var(--text-base)}.ts[data-v-c466732e]{color:var(--color-text-faint);font-size:var(--text-xs);font-family:var(--font-ui);font-weight:var(--weight-medium);line-height:var(--leading-tight);font-variant-numeric:tabular-nums;text-align:right}.pr[data-v-c466732e]{display:inline-flex;align-items:center;gap:var(--space-1);flex:none;padding:1px var(--space-1);border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-surface-sunken);color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-xs);font-weight:var(--weight-medium);line-height:1;cursor:pointer}.pr[data-v-c466732e]:hover{border-color:var(--color-line-strong)}.pr[data-v-c466732e]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.pr--open[data-v-c466732e],.pr--open[data-v-c466732e]:hover{background:var(--color-success-soft);border-color:var(--color-success-bd);color:var(--color-success)}.pr--merged[data-v-c466732e],.pr--merged[data-v-c466732e]:hover{background:var(--color-done-soft);border-color:var(--color-done-bd);color:var(--color-done)}.act[data-v-c466732e]{position:relative;flex:none;display:inline-flex;align-items:center;justify-content:flex-end;min-width:78px}.se.has-gen .act[data-v-c466732e]{min-width:104px}.act .btn[data-v-c466732e]{position:absolute;top:50%;transform:translateY(-50%);visibility:hidden}.act .kebab[data-v-c466732e]{right:0}.act .pin[data-v-c466732e]{right:26px}.act .emoji-btn[data-v-c466732e]{right:52px}.act .gen-title[data-v-c466732e]{right:78px}.act .pin.on[data-v-c466732e]{visibility:visible;color:var(--color-accent)}.se:hover .act .btn[data-v-c466732e],.act:has(.btn.open) .btn[data-v-c466732e]{visibility:visible}.se:hover .act .ts[data-v-c466732e],.act:has(.btn.open) .ts[data-v-c466732e]{visibility:hidden}.btn.open[data-v-c466732e]{color:var(--color-text);background:var(--sb-hover, var(--color-surface-sunken))}.emoji-glyph[data-v-c466732e]{font-size:var(--text-base);line-height:1}.emoji-picker[data-v-c466732e]{position:fixed;top:0;left:0;z-index:var(--z-dropdown);min-width:172px;padding:var(--space-2);background:var(--color-surface-raised);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.emoji-grid[data-v-c466732e]{display:grid;grid-template-columns:repeat(5,28px);gap:var(--space-1)}.emoji-cell[data-v-c466732e]{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-sm);background:transparent;font-size:var(--text-base);line-height:1;cursor:pointer;transition:background var(--duration-fast) var(--ease-out)}.emoji-cell[data-v-c466732e]:hover{background:var(--color-surface-sunken)}.emoji-cell[data-v-c466732e]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.emoji-cell.on[data-v-c466732e]{background:var(--color-accent-soft)}.emoji-clear[data-v-c466732e]{margin-top:var(--space-1);width:100%;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-xs);line-height:var(--leading-tight);padding:4px 8px;cursor:pointer}.emoji-clear[data-v-c466732e]:hover{background:var(--color-surface-sunken);color:var(--color-text)}.menu[data-v-c466732e]{position:fixed;top:0;left:0;z-index:var(--z-dropdown)}.menu-time[data-v-c466732e]{padding:6px 10px;color:var(--color-text-faint);font-family:var(--font-mono);font-size:var(--text-xs);cursor:default;user-select:text}.rename-input[data-v-c466732e]{flex:1;font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-accent);border-radius:var(--radius-xs);padding:1px 4px;outline:none;min-width:0}.sessions .se[data-v-c466732e]{margin:0;border-radius:var(--radius-sm);padding:8px calc(var(--sb-pad-x, 20px) - var(--sb-inset, 12px))}.sessions .se .rename-input[data-v-c466732e]{border-radius:var(--radius-sm);font-family:var(--sans)}.sessions .se .btn[data-v-c466732e]{border-radius:var(--radius-sm)}.group.dragging[data-v-ec29996e]{opacity:.45}.group-sessions[data-v-ec29996e]{height:auto;overflow:hidden;transition:height var(--duration-base) var(--ease-out)}.group-sessions.collapsed[data-v-ec29996e]{height:0}.gh[data-v-ec29996e]{display:flex;flex-direction:column;margin:0;padding:8px calc(var(--sb-pad-x) - var(--sb-inset));border-radius:var(--radius-sm);font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-text);user-select:none;position:relative;cursor:grab}.gh[data-v-ec29996e]:active{cursor:grabbing}.gh.renaming[data-v-ec29996e],.gh.renaming[data-v-ec29996e]:active{cursor:auto}.gh[data-v-ec29996e]:hover{background:var(--sb-hover, var(--color-surface-sunken))}.gh-top[data-v-ec29996e]{position:relative;display:flex;align-items:center;gap:var(--sb-gap)}.gh-folder[data-v-ec29996e]{flex:none;color:var(--color-text-muted)}.gh-name[data-v-ec29996e]{font-size:var(--ui-font-size-sm);line-height:var(--leading-tight);color:var(--color-text-muted);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.gh-actions[data-v-ec29996e]{position:absolute;right:0;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:var(--space-1);padding-left:var(--space-1);border-radius:var(--radius-sm);isolation:isolate;background:var(--color-sidebar-bg);opacity:0;pointer-events:none}.gh-actions[data-v-ec29996e]:after{content:"";position:absolute;inset:0;z-index:0;border-radius:var(--radius-sm);background:transparent}.gh:hover .gh-actions[data-v-ec29996e]:after{background:var(--sb-hover, var(--color-surface-sunken))}.gh-actions[data-v-ec29996e]>*{position:relative;z-index:1}.gh:hover .gh-actions[data-v-ec29996e],.gh:focus-within .gh-actions[data-v-ec29996e],.gh-actions.open[data-v-ec29996e]{opacity:1;pointer-events:auto}.gh-more.open[data-v-ec29996e]{color:var(--color-text);background:var(--color-line)}.group-empty[data-v-ec29996e]{padding:var(--space-1) var(--space-2) var(--space-1) calc(var(--sb-pad-x) - var(--sb-inset) + var(--sb-gutter) + var(--sb-gap));font-size:var(--text-xs);color:var(--color-text-faint);font-family:var(--font-ui)}.show-more[data-v-ec29996e]{display:flex;align-items:center;gap:var(--sb-gap);width:100%;margin:0;padding:8px calc(var(--sb-pad-x) - var(--sb-inset));border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-xs);line-height:var(--leading-tight);text-align:left;cursor:pointer}.show-more[data-v-ec29996e]:hover{background:var(--sb-hover, var(--color-surface-sunken))}.show-more[data-v-ec29996e]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.show-more-lead[data-v-ec29996e]{width:var(--sb-gutter);flex:none}.show-more-label[data-v-ec29996e]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gh-rename[data-v-ec29996e]{flex:1;min-width:0;font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--weight-regular);color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-accent);border-radius:var(--radius-xs);padding:2px 5px;outline:none}.gh-rename[data-v-ec29996e]{border-radius:var(--radius-sm);font-family:var(--sans)}.gh-add[data-v-ec29996e]{color:var(--faint)}.gh-add[data-v-ec29996e]:hover{color:var(--dim)}.pinned-head[data-v-ca629942]{padding-top:var(--space-1)}.pinned-head[data-v-ca629942]{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 var(--space-3) var(--space-1) var(--space-2);font-family:var(--font-ui);font-size:var(--text-xs);font-weight:var(--weight-regular);text-transform:uppercase;color:var(--faint);user-select:none}.pinned-head .pinned-title[data-v-ca629942]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pinned-rows-wrap[data-v-ca629942]{position:relative;margin:0 calc(var(--sb-inset) * -1);--pinned-seam-down: linear-gradient(to bottom, color-mix(in srgb, var(--color-text) 1.5%, transparent), transparent 35%), linear-gradient(to bottom, color-mix(in srgb, var(--color-text) 1%, transparent), transparent 65%), linear-gradient(to bottom, color-mix(in srgb, var(--color-text) .75%, transparent), transparent);--pinned-seam-up: linear-gradient(to top, color-mix(in srgb, var(--color-text) 1.5%, transparent), transparent 35%), linear-gradient(to top, color-mix(in srgb, var(--color-text) 1%, transparent), transparent 65%), linear-gradient(to top, color-mix(in srgb, var(--color-text) .75%, transparent), transparent)}.pinned-rows[data-v-ca629942]{max-height:40vh;overflow-y:auto;padding:0 var(--sb-inset);scrollbar-width:none}.pinned-rows[data-v-ca629942]::-webkit-scrollbar{display:none}.pinned-seam[data-v-ca629942]{position:absolute;left:0;right:0;height:var(--space-4);pointer-events:none;opacity:0;z-index:var(--z-sticky);transition:opacity var(--duration-slow) var(--ease-out)}.pinned-seam--top[data-v-ca629942]{top:0;border-top:1px solid var(--line);background:var(--pinned-seam-down)}.pinned-seam--bottom[data-v-ca629942]{bottom:0;border-bottom:1px solid var(--line);background:var(--pinned-seam-up)}.pinned-rows-wrap.scrolled .pinned-seam--top[data-v-ca629942],.pinned-rows-wrap.more-below .pinned-seam--bottom[data-v-ca629942]{opacity:1}.pinned-resize[data-v-ca629942]{height:var(--space-1);position:relative;background:transparent;touch-action:none;margin:-2px calc(var(--sb-inset) * -1);z-index:var(--z-dropdown);cursor:row-resize}.pinned-resize-bar[data-v-ca629942]{position:absolute;top:50%;left:0;right:0;height:2px;translate:0 -50%;background:transparent;transition:background var(--duration-fast) var(--ease-out)}.pinned-resize:hover .pinned-resize-bar[data-v-ca629942]{background:var(--color-selected)}.pinned-resize.dragging .pinned-resize-bar[data-v-ca629942]{background:var(--color-line-strong)}.pinned-resize[data-v-ca629942]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.empty[data-v-ca629942]{padding:var(--space-6) var(--space-3);text-align:center;color:var(--faint);font-size:calc(var(--ui-font-size) - 3px);line-height:1.6}.ui-kbd[data-v-32292ed8]{display:inline-flex;align-items:center;gap:3px;flex:none}.ui-kbd__key[data-v-32292ed8]{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border:1px solid var(--color-line);border-bottom-width:2px;border-radius:var(--radius-xs);background:var(--color-surface-sunken);color:var(--color-text-muted);font-family:var(--font-ui);font-size:11px;line-height:1}.kimi-mascot[data-v-6634dad2]{display:inline-flex;align-items:center;justify-content:center;flex:none;width:24px;height:24px;border-radius:var(--radius-full);background:var(--color-accent-soft);color:var(--color-accent);user-select:none}.kimi-mascot--pulse[data-v-6634dad2]{animation:kimi-mascot-pulse-6634dad2 2.6s var(--ease-out) infinite}@keyframes kimi-mascot-pulse-6634dad2{0%,to{box-shadow:0 0 color-mix(in srgb,var(--color-accent) 0%,transparent)}50%{box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent) 25%,transparent)}}@media(prefers-reduced-motion:reduce){.kimi-mascot--pulse[data-v-6634dad2]{animation:none}}.ui-pill[data-v-317ace1a]{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:1;white-space:nowrap;cursor:default;transition:background var(--duration-base) var(--ease-out),color var(--duration-base) var(--ease-out)}button.ui-pill[data-v-317ace1a]{cursor:pointer}button.ui-pill[data-v-317ace1a]:hover:not(:disabled){background:var(--color-surface-sunken);color:var(--color-text)}button.ui-pill[data-v-317ace1a]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}button.ui-pill[data-v-317ace1a]:disabled{opacity:.5;cursor:not-allowed}.ui-pill.is-active[data-v-317ace1a]{background:var(--color-accent-soft);color:var(--color-accent)}.ui-pill[data-v-317ace1a] svg{width:var(--p-ic-sm);height:var(--p-ic-sm);flex:none;color:var(--color-text-faint)}.ui-tabs[data-v-3b07f193]{display:flex;gap:0;border-bottom:1px solid var(--color-line)}.ui-tabs__item[data-v-3b07f193]{padding:var(--space-2) 14px;margin-bottom:-1px;border:none;border-bottom:2px solid transparent;background:transparent;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:color var(--duration-base) var(--ease-out),border-color var(--duration-base) var(--ease-out)}.ui-tabs--sm .ui-tabs__item[data-v-3b07f193]{padding:var(--space-1) var(--space-2);font-size:var(--text-xs)}.ui-tabs__item[data-v-3b07f193]:hover:not(.is-on){color:var(--color-text)}.ui-tabs__item.is-on[data-v-3b07f193]{color:var(--color-accent);border-bottom-color:var(--color-accent)}.ui-tabs__item[data-v-3b07f193]:focus-visible{outline:none;box-shadow:var(--p-focus-ring);border-radius:var(--radius-xs)}.side[data-v-d9d9dd75]{background:var(--color-sidebar-bg);display:flex;flex-direction:row;justify-content:flex-end;overflow:hidden;min-width:0;height:100%;transition:width .28s cubic-bezier(.4,0,.2,1),visibility .28s;--sb-inset: var(--space-3);--sb-pad-x: var(--space-5);--sb-gutter: 16px;--sb-gap: var(--space-2);--sb-hover: var(--color-hover)}.side.no-anim[data-v-d9d9dd75]{transition:none}.side.collapsed[data-v-d9d9dd75]{visibility:hidden}.col[data-v-d9d9dd75]{flex:none;min-width:0;display:flex;flex-direction:column;min-height:0;width:100%;box-sizing:border-box;border-right:1px solid var(--line);container-type:inline-size;container-name:sidebar-col}.ch[data-v-d9d9dd75]{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:var(--space-3);min-height:calc(26px + 2 * var(--space-3));width:100%;box-sizing:border-box}.side.macos-desktop .ch[data-v-d9d9dd75]{padding-left:80px;-webkit-app-region:drag}.side.macos-desktop .ch-brand[data-v-d9d9dd75]{display:none}.ch-logo[data-v-d9d9dd75]{height:22px;width:32px;flex:none;display:block;cursor:pointer;user-select:none;touch-action:none;transition:transform .18s ease}.ch-logo[data-v-d9d9dd75]:hover{transform:scale(1.08)}.ch-logo.is-dev[data-v-d9d9dd75]{--logo: var(--color-logo-dev)}.ch-brand[data-v-d9d9dd75]{display:flex;align-items:center;gap:8px;min-width:0;flex:1;user-select:none;touch-action:none}.ch-name[data-v-d9d9dd75]{font-size:var(--ui-font-size);font-weight:500;line-height:22px;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ch-backend[data-v-d9d9dd75]{flex:none;min-width:0}.ch-backend-kind[data-v-d9d9dd75]{font-family:var(--mono);font-weight:500;color:var(--color-text-muted)}.ch-backend-kind.is-v2[data-v-d9d9dd75]{color:var(--color-accent)}.ch-backend-ep[data-v-d9d9dd75]{font-family:var(--mono);color:var(--color-text-faint);overflow:hidden;text-overflow:ellipsis}@container sidebar-col (max-width: 320px){.ch-backend-ep[data-v-d9d9dd75]{display:none}}@container sidebar-col (max-width: 250px){.ch-name[data-v-d9d9dd75]{display:none}}.btn-wrap[data-v-d9d9dd75]{display:flex;align-items:center;gap:8px;padding:0 var(--sb-inset)}.btn-new-chat[data-v-d9d9dd75]{display:flex;align-items:center;gap:12px;flex:1;min-width:0;padding:8px calc(var(--sb-pad-x) - var(--sb-inset));border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text);font-family:var(--font-ui);font-size:var(--ui-font-size-sm);line-height:var(--leading-tight);cursor:pointer;text-align:left}.btn-new-chat[data-v-d9d9dd75]:hover{background:var(--sb-hover)}.btn-new-chat[data-v-d9d9dd75]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.btn-new-chat svg[data-v-d9d9dd75]{flex:none}.btn-new-chat span[data-v-d9d9dd75]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-wrap[data-v-d9d9dd75]{padding:0 var(--sb-inset);position:relative;z-index:1;background:var(--color-sidebar-bg);border-bottom:1px solid transparent;transition:border-color var(--duration-base) var(--ease-out),box-shadow var(--duration-base) var(--ease-out)}.search-wrap--scrolled[data-v-d9d9dd75]{border-bottom-color:var(--line);box-shadow:var(--shadow-sm)}.search[data-v-d9d9dd75]{display:flex;align-items:center;gap:12px;width:100%;margin:0;padding:8px calc(var(--sb-pad-x) - var(--sb-inset));border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text);font:inherit;text-align:left;cursor:pointer}.search[data-v-d9d9dd75]:hover{background:var(--sb-hover)}.search[data-v-d9d9dd75]:focus-visible{background:var(--sb-hover);color:var(--color-text);outline:2px solid var(--color-accent-bd);outline-offset:-2px}.search-icon[data-v-d9d9dd75]{flex:none}.search-input[data-v-d9d9dd75]{flex:1;min-width:0;color:var(--color-text);font-family:var(--font-ui);font-size:var(--ui-font-size-sm);line-height:var(--leading-tight);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-tabs[data-v-d9d9dd75]{padding:0 var(--sb-inset);background:var(--color-sidebar-bg)}.sessions[data-v-d9d9dd75]{flex:1;overflow-y:auto;padding:var(--space-3) var(--sb-inset);min-height:0}.sessions[data-v-d9d9dd75]::-webkit-scrollbar{width:4px}.sessions[data-v-d9d9dd75]::-webkit-scrollbar-track{background:transparent}.sessions[data-v-d9d9dd75]::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--color-text) 12%,transparent);border-radius:var(--radius-full)}.sessions[data-v-d9d9dd75]::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--color-text) 25%,transparent)}.side-footer[data-v-d9d9dd75]{display:flex;align-items:center;gap:8px;flex:none;padding:var(--space-2) var(--sb-inset);border-top:1px solid var(--line)}.btn-settings[data-v-d9d9dd75]{display:flex;align-items:center;gap:12px;flex:1;min-width:0;padding:8px calc(var(--sb-pad-x) - var(--sb-inset));border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text);font-family:var(--font-ui);font-size:var(--ui-font-size-sm);line-height:var(--leading-tight);cursor:pointer;text-align:left}.btn-settings[data-v-d9d9dd75]:hover{background:var(--sb-hover)}.btn-settings[data-v-d9d9dd75]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.btn-settings svg[data-v-d9d9dd75]{flex:none}.btn-settings span[data-v-d9d9dd75]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-mascot[data-v-d9d9dd75]{flex:none}.side-section-label[data-v-d9d9dd75]{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 var(--space-3) var(--space-1) var(--space-2);font-family:var(--font-ui);font-size:var(--text-xs);font-weight:var(--weight-regular);text-transform:uppercase;color:var(--faint);user-select:none}.side-section-title[data-v-d9d9dd75]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-section-toggle[data-v-d9d9dd75]{color:var(--faint);opacity:0;transition:opacity var(--duration-base) var(--ease-out)}.side-section-label:hover .side-section-toggle[data-v-d9d9dd75],.side-section-label:focus-within .side-section-toggle[data-v-d9d9dd75]{opacity:1}.side-section-toggle[data-v-d9d9dd75]:hover{color:var(--dim)}.side-section-toggle svg[data-v-d9d9dd75]{width:13px;height:13px}.side-section-actions[data-v-d9d9dd75]{display:flex;align-items:center;gap:2px}.ws-drop-target.drop-before[data-v-d9d9dd75]{box-shadow:inset 0 2px 0 var(--color-accent)}.ws-drop-target.drop-after[data-v-d9d9dd75]{box-shadow:inset 0 -2px 0 var(--color-accent)}.empty[data-v-d9d9dd75]{padding:var(--space-6) var(--space-3);text-align:center;color:var(--faint);font-size:calc(var(--ui-font-size) - 3px);line-height:1.6}.ws-menu[data-v-d9d9dd75],.gh-menu[data-v-d9d9dd75],.section-menu[data-v-d9d9dd75],.backend-menu[data-v-d9d9dd75],.list-menu[data-v-d9d9dd75]{position:fixed;top:0;left:0;z-index:var(--z-dropdown)}.section-menu-check[data-v-d9d9dd75]{display:inline-flex;flex:none;width:14px}.backend-menu-name[data-v-d9d9dd75]{font-family:var(--mono);font-weight:500}.backend-menu-url[data-v-d9d9dd75]{margin-left:8px;font-family:var(--mono);color:var(--color-text-muted)}.rh[data-v-48fd0a6d]{width:4px;flex:none;cursor:col-resize;position:relative;align-self:stretch;background:transparent;touch-action:none;margin:0 -2px;z-index:var(--z-dropdown)}.rh-bar[data-v-48fd0a6d]{position:absolute;inset:0;background:transparent;transition:background .12s}.rh:hover .rh-bar[data-v-48fd0a6d],.rh.dragging .rh-bar[data-v-48fd0a6d]{background:var(--color-accent)}.kw-dot[data-v-e36198e5]{width:7px;height:7px;border-radius:var(--radius-full);background:var(--color-text-faint);flex:none}.kw-dot--ok[data-v-e36198e5]{background:var(--color-success)}.kw-dot--error[data-v-e36198e5]{background:var(--color-danger)}.kw-dot--suspended[data-v-e36198e5]{background:var(--color-warning)}.kw-dot--running[data-v-e36198e5]{background:var(--color-accent);animation:kw-dot-pulse-e36198e5 1.4s var(--ease-out) infinite}@keyframes kw-dot-pulse-e36198e5{0%{box-shadow:0 0 color-mix(in srgb,var(--color-accent) 40%,transparent)}to{box-shadow:0 0 0 6px transparent}}.box[data-v-fef8aad2]{margin:0;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);overflow:hidden;transition:border-color var(--duration-base) var(--ease-out)}.box.err[data-v-fef8aad2]{border-color:color-mix(in srgb,var(--color-danger) 25%,var(--bg))}.box.stacked[data-v-fef8aad2]{border:none;border-radius:0}.box.stacked .bh[data-v-fef8aad2]{border-radius:0}.box.stack-middle[data-v-fef8aad2],.box.stack-last[data-v-fef8aad2]{border-top:1px solid var(--color-line)}.bh[data-v-fef8aad2]{display:flex;align-items:center;gap:8px;min-height:30px;padding:0 11px;cursor:pointer;font:var(--text-sm) var(--font-mono);color:var(--color-text)}.box.open .bh[data-v-fef8aad2],.bh[data-v-fef8aad2]:hover{background:var(--color-surface-sunken)}.box.err .bh[data-v-fef8aad2]{background:color-mix(in srgb,var(--color-danger) 4%,var(--bg))}.box.err .bh[data-v-fef8aad2]:hover{background:color-mix(in srgb,var(--color-danger) 7%,var(--bg))}.gl[data-v-fef8aad2]{display:inline-flex;align-items:center;color:var(--color-text-faint);flex:none}.bh-text[data-v-fef8aad2]{display:flex;align-items:baseline;gap:inherit;flex:1;min-width:0}.a[data-v-fef8aad2]{color:var(--color-text);font-weight:var(--weight-medium);flex:none}.p[data-v-fef8aad2]{color:var(--color-text-muted);font-size:var(--text-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.rt[data-v-fef8aad2]{margin-left:auto;color:var(--color-text-muted);font-size:var(--text-xs);display:flex;align-items:center;gap:6px;flex:none}.tm[data-v-fef8aad2]{color:var(--color-text-faint)}.chip[data-v-fef8aad2-s]{color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-xs);flex:none}.status[data-v-fef8aad2]{display:inline-flex;align-items:center;flex:none}.status.ok[data-v-fef8aad2]{color:var(--color-success)}.status.error[data-v-fef8aad2]{color:var(--color-danger)}.bb[data-v-fef8aad2]{display:grid;grid-template-rows:minmax(0,0fr);overflow:hidden;transition:grid-template-rows var(--duration-base) var(--ease-out)}.bb.open[data-v-fef8aad2]{grid-template-rows:minmax(0,1fr)}.bb-pad[data-v-fef8aad2]{min-height:0;overflow:hidden;padding:var(--space-2) var(--space-3) var(--space-3);background:var(--color-surface-sunken);border-top:1px solid var(--color-line);color:var(--color-text);font:var(--text-sm)/1.65 var(--font-mono);white-space:pre-wrap;word-break:break-word}.box.mob[data-v-fef8aad2]{margin:0}.at-open[data-v-2c2d5687]{flex:none;background:none;border:1px solid var(--color-line);border-radius:var(--radius-xs);color:var(--color-text-muted);font:var(--text-xs) var(--font-ui);padding:1px 7px;cursor:pointer}.at-open[data-v-2c2d5687]:hover{color:var(--color-text);background:var(--color-surface-sunken)}.at-type[data-v-2c2d5687]{font:var(--text-xs) var(--font-mono);color:var(--color-text-muted);margin-bottom:6px}.at-type-sep[data-v-2c2d5687]{margin:0 6px;color:var(--color-text-faint)}.at-live[data-v-2c2d5687]{font:var(--text-xs) var(--font-mono);color:var(--color-text-muted);margin-bottom:6px}.at-fgbg[data-v-2c2d5687]{margin-left:8px;padding:0 6px;border:1px solid var(--color-line);border-radius:var(--radius-xs);color:var(--color-text-muted);font:var(--text-xs) var(--font-ui)}.at-task[data-v-2c2d5687]{color:var(--color-text);white-space:pre-wrap;word-break:break-word}.at-task+.bb-code[data-v-2c2d5687]{margin-top:10px}.bb-code[data-v-2c2d5687]{padding:11px 13px;border:1px solid var(--color-line);border-radius:var(--radius-md)}.chip[data-v-a9a0f259]{color:var(--color-text-muted);font-size:var(--text-xs);flex:none}.au-dismissed[data-v-a9a0f259]{color:var(--color-text-muted);font:italic var(--text-sm)/var(--leading-normal) var(--font-ui)}.au-list[data-v-a9a0f259]{display:flex;flex-direction:column;font:var(--text-sm)/var(--leading-normal) var(--font-ui)}.au-block[data-v-a9a0f259]{padding:4px 0}.au-block+.au-block[data-v-a9a0f259]{margin-top:4px;padding-top:10px;border-top:1px dashed var(--color-line)}.au-q[data-v-a9a0f259]{display:flex;align-items:baseline;gap:8px;margin-bottom:6px}.au-hdr[data-v-a9a0f259]{font:var(--text-xs) var(--font-mono);color:var(--color-text-muted);background:var(--color-surface-raised);border:1px solid var(--color-line);border-radius:var(--radius-sm);padding:0 6px;flex:none}.au-qtext[data-v-a9a0f259]{color:var(--color-text);font-weight:var(--weight-medium)}.au-opts[data-v-a9a0f259]{display:flex;flex-direction:column;gap:4px}.au-opt[data-v-a9a0f259]{display:flex;align-items:center;gap:8px;padding:5px 10px;border:1px solid var(--color-line);border-radius:var(--radius-md);color:var(--color-text-faint)}.au-opt.sel[data-v-a9a0f259]{border-color:var(--color-accent-bd);background:var(--color-accent-soft);color:var(--color-text)}.au-glyph[data-v-a9a0f259]{font:var(--text-base) var(--font-mono);color:var(--color-text-faint);width:14px;text-align:center;flex:none}.au-opt.sel .au-glyph[data-v-a9a0f259]{color:var(--color-accent-hover)}.au-label[data-v-a9a0f259]{color:inherit}.au-desc[data-v-a9a0f259]{color:var(--color-text-faint);font-size:var(--text-xs);margin-left:2px}.au-opt.sel .au-desc[data-v-a9a0f259]{color:var(--color-text-muted)}.au-raw[data-v-a9a0f259]{padding:11px 13px;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface-raised);font:var(--text-sm)/1.65 var(--font-mono);white-space:pre-wrap;word-break:break-word}.tool-output-block[data-v-3eefb240]{margin-top:var(--space-2);padding:var(--space-3);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface-raised)}.tool-output-block.scroll[data-v-3eefb240]{max-height:calc(var(--tool-output-visible-lines) * 1lh);overflow-y:auto}@media(min-width:981px){.tool-output-block.scroll[data-v-3eefb240]{scrollbar-gutter:stable}}.bb-empty[data-v-3eefb240]{color:var(--color-text-muted);font-style:italic}.chip[data-v-74e1da99]{color:var(--color-text-muted);font-size:var(--text-xs);flex:none}.bb-summary[data-v-74e1da99],.bb-summary[data-v-d24a81f5]{color:var(--color-text);border-bottom:1px dashed var(--color-line);padding-bottom:6px;margin-bottom:6px;word-break:break-all}.chip[data-v-d24a81f5]{color:var(--color-text-muted);font-size:var(--text-xs);flex:none}.gt-bg[data-v-d24a81f5]{flex:none;background:none;border:1px solid var(--color-line);border-radius:var(--radius-xs);color:var(--color-text-muted);font:var(--text-xs) var(--font-ui);padding:1px 7px;cursor:pointer}.gt-bg[data-v-d24a81f5]:hover{color:var(--color-text);background:var(--color-surface-sunken)}.media-tool[data-v-04192531]{display:inline-flex;flex-direction:column;gap:6px;max-width:320px}.media-title[data-v-04192531]{font-size:var(--text-xs);color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-image-button[data-v-04192531]{padding:0;border:none;background:transparent;cursor:pointer;border-radius:var(--radius-md);overflow:hidden}.media-image[data-v-04192531]{display:block;max-width:100%;border-radius:var(--radius-md);background:var(--media-alpha-canvas)}.media-video[data-v-04192531],.media-audio[data-v-04192531]{max-width:100%;border-radius:var(--radius-md)}.media-video-button[data-v-04192531]{position:relative;display:inline-flex;padding:0;border:none;background:transparent;cursor:pointer;border-radius:var(--radius-md);overflow:hidden}.media-video-button .media-video[data-v-04192531]{display:block;max-width:320px}.media-play-badge[data-v-04192531]{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--color-surface-raised);background:#0d111773;opacity:.9;transition:opacity .12s ease;pointer-events:none}.media-video-button:hover .media-play-badge[data-v-04192531]{opacity:.7}.chip[data-v-c851b016]{color:var(--color-text-muted);font-size:var(--text-xs);flex:none}.bb-summary[data-v-c851b016]{color:var(--color-text);border-bottom:1px dashed var(--color-line);padding-bottom:6px;margin-bottom:6px;word-break:break-all}.plan-path[data-v-c851b016]{display:block;width:100%;margin-bottom:var(--space-2);padding:0;border:none;background:none;color:var(--color-accent);font:var(--text-xs) var(--font-mono);text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.plan-path[data-v-c851b016]:hover{color:var(--color-accent-hover);text-decoration:underline}.plan-body[data-v-c851b016]{font:var(--text-base)/var(--leading-normal) var(--font-ui);white-space:normal;max-height:50vh;overflow-y:auto}.plan-review[data-v-c851b016]{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-top:var(--space-2);font:var(--text-xs) var(--font-ui)}.plan-state[data-v-c851b016]{color:var(--color-text-muted);font-weight:var(--weight-medium)}.plan-option[data-v-c851b016]{color:var(--color-accent)}.plan-feedback[data-v-c851b016]{color:var(--color-text-muted)}.plan-loading[data-v-c851b016],.plan-empty[data-v-c851b016]{margin-top:var(--space-2);color:var(--color-text-muted);font:var(--text-xs) var(--font-ui);font-style:italic}.swarm-card[data-v-4b58e128]{margin:0;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);overflow:hidden;transition:border-color var(--duration-base) var(--ease-out)}.swarm-card.err[data-v-4b58e128]{border-color:color-mix(in srgb,var(--color-danger) 25%,var(--bg))}.head[data-v-4b58e128]{display:flex;align-items:center;gap:8px;width:100%;min-height:32px;padding:0 11px;border:none;background:transparent;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-sm);text-align:left;cursor:pointer;user-select:none}.head[data-v-4b58e128]:hover,.swarm-card.open>.head[data-v-4b58e128]{background:var(--color-surface-sunken);color:var(--color-text)}.swarm-card.err>.head[data-v-4b58e128]{background:color-mix(in srgb,var(--color-danger) 4%,var(--bg))}.swarm-card.err>.head[data-v-4b58e128]:hover{background:color-mix(in srgb,var(--color-danger) 7%,var(--bg))}.head[data-v-4b58e128]:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--color-accent-soft)}.ic[data-v-4b58e128]{color:var(--color-text-faint);flex:none}.title[data-v-4b58e128]{font-weight:var(--weight-medium);color:var(--color-text);flex:none}.meta[data-v-4b58e128]{color:var(--color-text-faint);flex:none}.sum-txt[data-v-4b58e128]{color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.rt[data-v-4b58e128]{margin-left:auto;display:flex;align-items:center;gap:8px;flex:none;color:var(--color-text-muted);font-size:var(--text-xs)}.status[data-v-4b58e128]{display:inline-flex;align-items:center;flex:none}.status[data-v-4b58e128]:has(>svg){color:var(--color-success)}.err .status[data-v-4b58e128]:has(>svg){color:var(--color-danger)}.chip[data-v-4b58e128]{color:var(--color-text-muted);font-family:var(--font-mono)}.tm[data-v-4b58e128]{color:var(--color-text-faint);font-family:var(--font-mono)}.car[data-v-4b58e128]{margin-left:2px;color:var(--color-text-faint);flex:none}.body[data-v-4b58e128]{border-top:1px solid var(--color-line);background:var(--color-surface-sunken)}.overview[data-v-4b58e128]{padding:9px 11px 8px;border-bottom:1px solid color-mix(in srgb,var(--color-line) 70%,transparent)}.overview-line[data-v-4b58e128]{display:flex;align-items:baseline;gap:8px}.big[data-v-4b58e128]{font-family:var(--font-mono);font-weight:var(--weight-medium);color:var(--color-text);font-size:15px}.lbl[data-v-4b58e128]{color:var(--color-text-muted);font-size:var(--text-xs)}.seg[data-v-4b58e128]{display:flex;height:5px;border-radius:var(--radius-full);overflow:hidden;margin:8px 0 4px;gap:2px}.seg>span[data-v-4b58e128]{height:100%;border-radius:var(--radius-full);min-width:3px}.s-ok[data-v-4b58e128]{background:var(--color-success)}.s-run[data-v-4b58e128]{background:var(--color-accent)}.s-warn[data-v-4b58e128]{background:var(--color-warning)}.s-fail[data-v-4b58e128]{background:var(--color-danger)}.s-queue[data-v-4b58e128]{background:var(--color-line)}.legend[data-v-4b58e128]{display:flex;flex-wrap:wrap;gap:10px}.legend span[data-v-4b58e128]{display:inline-flex;align-items:center;gap:5px;font:var(--text-xs) var(--font-mono);color:var(--color-text-muted)}.lg-dot[data-v-4b58e128]{width:6px;height:6px;border-radius:var(--radius-full)}.member[data-v-4b58e128]{border-bottom:1px solid color-mix(in srgb,var(--color-line) 70%,transparent)}.member[data-v-4b58e128]:last-child{border-bottom:none}.member-head[data-v-4b58e128]{display:flex;align-items:center;gap:8px;width:100%;min-height:32px;padding:0 11px;border:none;background:transparent;color:var(--color-text);font-family:var(--font-ui);font-size:var(--text-sm);text-align:left;cursor:pointer;user-select:none}.member-head[data-v-4b58e128]:hover,.member.open .member-head[data-v-4b58e128]{background:color-mix(in srgb,var(--color-surface) 55%,var(--bg))}.member-head[data-v-4b58e128]:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--color-accent-soft)}.row-dot[data-v-4b58e128]{flex:none}.mname[data-v-4b58e128]{flex:none;min-width:0;max-width:46%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:var(--weight-medium);color:var(--color-text)}.mact[data-v-4b58e128]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-muted);font-size:var(--text-xs)}.mphase[data-v-4b58e128]{flex:none;margin-left:auto;font:var(--text-xs) var(--font-mono);color:var(--color-text-faint)}.phase-completed .mphase[data-v-4b58e128]{color:var(--color-success)}.phase-failed .mphase[data-v-4b58e128]{color:var(--color-danger)}.phase-working .mphase[data-v-4b58e128]{color:var(--color-accent)}.phase-suspended .mphase[data-v-4b58e128]{color:var(--color-warning)}.mcar[data-v-4b58e128]{margin-left:4px;color:var(--color-text-faint);flex:none}.member-body[data-v-4b58e128]{padding:4px 11px 10px 31px;color:var(--color-text-muted);font-size:var(--text-xs);line-height:1.65;white-space:pre-wrap;word-break:break-word}.waiting[data-v-4b58e128]{padding:6px 11px 10px;color:var(--color-text-muted);font-size:var(--text-xs)}.fallback-output[data-v-4b58e128]{padding:9px 11px 10px;color:var(--color-text);font:var(--text-xs)/1.6 var(--font-mono);white-space:pre-wrap;word-break:break-word}.wf-glance[data-v-abcade80]{display:flex;flex-direction:column;gap:2px}.wf-main[data-v-abcade80]{color:var(--color-text);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:var(--leading-normal)}.wf-sub[data-v-abcade80]{color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-xs);line-height:var(--leading-normal);white-space:normal;overflow-wrap:anywhere}.tool-group[data-v-5d4f37b4]{display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);overflow:hidden}.tool-group-head[data-v-5d4f37b4]{display:flex;align-items:center;gap:8px;width:100%;height:32px;padding:0 11px;border:none;background:transparent;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-sm);text-align:left;cursor:pointer;user-select:none}.tool-group-head[data-v-5d4f37b4]:hover{background:var(--color-surface-sunken);color:var(--color-text)}.tool-group-head[data-v-5d4f37b4]:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--color-accent-soft)}.tg-ic[data-v-5d4f37b4]{color:var(--color-text-faint);flex:none}.tg-title[data-v-5d4f37b4]{font-weight:var(--weight-medium);color:var(--color-text)}.tg-meta[data-v-5d4f37b4]{color:var(--color-text-faint)}.tg-car[data-v-5d4f37b4]{margin-left:auto;color:var(--color-text-faint);flex:none;transition:transform var(--duration-base) var(--ease-out)}.tool-group.open .tg-car[data-v-5d4f37b4]{transform:rotate(90deg)}.tool-group-body[data-v-5d4f37b4]{display:grid;grid-template-rows:minmax(0,0fr);overflow:hidden;transition:grid-template-rows var(--duration-base) var(--ease-out)}.tool-group-body.open[data-v-5d4f37b4]{grid-template-rows:minmax(0,1fr)}.tool-group-body-inner[data-v-5d4f37b4]{min-height:0;overflow:hidden;display:flex;flex-direction:column}.md-mention-pill-host[data-v-80a4a52f]{display:inline-block;vertical-align:baseline}.md-mention-pill[data-v-80a4a52f]{display:inline-flex;align-items:center;gap:3px;max-width:220px;padding:0 6px;border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-surface-sunken);color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:1.5;vertical-align:baseline;cursor:pointer;white-space:nowrap;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.md-mention-pill[data-v-80a4a52f]:hover,.md-mention-pill[data-v-80a4a52f]:focus-visible{background:var(--color-accent-soft);border-color:var(--color-accent-bd);color:var(--color-accent-hover)}.md-mention-pill[data-v-80a4a52f]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.md-mention-pill[data-v-80a4a52f] svg{width:var(--p-ic-sm);height:var(--p-ic-sm);flex:none;color:var(--color-text-faint)}.md-mention-pill[data-v-80a4a52f]:hover svg,.md-mention-pill[data-v-80a4a52f]:focus-visible svg{color:var(--color-accent)}.md-mention-pill--skill[data-v-80a4a52f]{color:var(--color-accent)}.md-mention-pill--skill[data-v-80a4a52f] svg{color:var(--color-accent)}.md-mention-pill--deleted .md-mention-pill-label[data-v-80a4a52f]{text-decoration:line-through;text-decoration-thickness:1px}.md-mention-pill--deleted[data-v-80a4a52f]{opacity:.6}.md-mention-pill-label[data-v-80a4a52f]{overflow:hidden;text-overflow:ellipsis}.md-mention-bubble[data-v-80a4a52f]{position:fixed;z-index:var(--z-tooltip);max-width:320px;padding:6px 10px;border-radius:var(--radius-sm);background:var(--color-text);color:var(--color-bg);font-family:var(--font-ui);font-size:var(--text-xs);line-height:1.4;box-shadow:var(--shadow-md)}.md-mention-bubble-path[data-v-80a4a52f]{overflow-wrap:anywhere}.md-mention-bubble-title[data-v-80a4a52f]{font-weight:var(--weight-medium);overflow-wrap:anywhere}.md-mention-bubble-desc[data-v-80a4a52f]{margin-top:2px;color:color-mix(in srgb,var(--color-bg) 78%,transparent);overflow-wrap:anywhere}.md-mention-bubble-open[data-v-80a4a52f]{display:inline-flex;align-items:center;margin-top:6px;padding:2px 10px;border:none;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-bg) 16%,transparent);color:var(--color-bg);font-family:var(--font-ui);font-size:var(--text-xs);font-weight:var(--weight-medium);cursor:pointer}.md-mention-bubble-open[data-v-80a4a52f]:hover{background:color-mix(in srgb,var(--color-bg) 26%,transparent)}.md[data-v-cd907b91]{font:400 15px/1.6 var(--font-ui);color:var(--color-text);word-break:break-word}.md-frontmatter[data-v-cd907b91]{margin:.6em 0;padding:var(--space-2) var(--space-3);border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-surface-sunken)}.md-frontmatter pre[data-v-cd907b91]{margin:0;font:var(--text-xs)/1.5 var(--font-mono);color:var(--color-text-muted);white-space:pre-wrap;word-break:break-word}.md[data-v-cd907b91] .markdown-renderer{font:400 15px/1.6 var(--font-ui);color:var(--color-text)}.md[data-v-cd907b91] .markstream-vue,.md[data-v-cd907b91] .markdown-renderer{--code-bg: var(--color-surface-sunken);--code-fg: var(--color-text);--code-border: var(--color-line);--code-header-bg: var(--color-surface);--code-action-fg: var(--color-text-muted);--code-action-hover-fg: var(--color-accent);--markstream-code-fallback-bg: var(--color-surface-sunken);--markstream-code-fallback-fg: var(--color-text);--markstream-code-border-color: var(--color-line);--inline-code-bg: var(--color-surface-sunken);--inline-code-fg: var(--color-fg);--inline-code-border: transparent}.md[data-v-cd907b91] .md-file-link{appearance:none;display:inline;border:0;padding:0;background:transparent;color:var(--color-accent-hover);font:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;cursor:pointer}.md[data-v-cd907b91] .md-file-link:hover{color:var(--color-accent)}.md[data-v-cd907b91] .markdown-renderer p,.md[data-v-cd907b91] .markdown-renderer li,.md[data-v-cd907b91] .markdown-renderer blockquote,.md[data-v-cd907b91] .markdown-renderer td,.md[data-v-cd907b91] .markdown-renderer th{font-size:var(--content-font-size)}.md[data-v-cd907b91] .markdown-renderer img{background:var(--media-alpha-canvas)}.md[data-v-cd907b91] strong{color:color-mix(in srgb,var(--color-text) 86%,var(--color-text-muted));font-weight:var(--weight-semibold)}.md[data-v-cd907b91] h1,.md[data-v-cd907b91] h2,.md[data-v-cd907b91] h3,.md[data-v-cd907b91] h4{color:var(--color-text);font-optical-sizing:auto;font-weight:var(--weight-semibold);margin:.85em 0 .35em;line-height:var(--leading-tight)}.md[data-v-cd907b91] h1{font-size:max(var(--text-xl),calc(var(--content-font-size) + 3px));border-bottom:1px solid var(--color-line);padding-bottom:4px}.md[data-v-cd907b91] h2{font-size:max(var(--text-lg),calc(var(--content-font-size) + 2px))}.md[data-v-cd907b91] h3{font-size:max(var(--text-lg),calc(var(--content-font-size) + 1px))}.md[data-v-cd907b91] h4{font-size:max(var(--text-base),calc(var(--content-font-size) + 1px));color:var(--color-text-muted)}.md[data-v-cd907b91] p{margin:.8rem 0}.md[data-v-cd907b91] .node-slot+.node-slot{margin-top:.8rem}.md[data-v-cd907b91] ul,.md[data-v-cd907b91] ol{padding-left:1.4em;margin:.6em 0}.md[data-v-cd907b91] li{margin:.3em 0}.md[data-v-cd907b91] :not(pre)>code,.md[data-v-cd907b91] .inline-code{font:.9em var(--font-mono);background:var(--color-surface-sunken);color:var(--color-fg);padding:0 4px;border-radius:var(--radius-sm)}.md[data-v-cd907b91] strong code,.md[data-v-cd907b91] strong .inline-code,.md[data-v-cd907b91] b code,.md[data-v-cd907b91] b .inline-code{font-weight:var(--weight-semibold)}.md[data-v-cd907b91] .code-block-container{margin:.6em 0;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface-sunken);box-shadow:var(--shadow-xs);overflow:hidden;--vscode-editor-font-size: var(--text-sm);--vscode-editor-line-height: calc(var(--text-sm) * 1.65)}.md[data-v-cd907b91] .code-block-header{background:var(--color-surface);border-bottom:1px solid var(--color-line);padding:4px 12px;color:var(--color-text-muted);font:var(--text-xs) var(--font-mono)}.md[data-v-cd907b91] .code-block-header *{color:var(--color-text-muted);font:var(--text-xs) var(--font-mono)}.md[data-v-cd907b91] .code-block-header .code-header-main{font-family:var(--font-ui)}.md[data-v-cd907b91] .code-block-header .code-action-btn{color:var(--color-text-muted);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--duration-base) var(--ease-out),color var(--duration-base) var(--ease-out)}.md[data-v-cd907b91] .code-block-header .code-action-btn:hover{background:var(--color-surface-sunken);color:var(--color-text)}.md[data-v-cd907b91] .code-block-header .code-action-btn:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.md[data-v-cd907b91] .code-block-header .code-action-btn *{pointer-events:none}.md[data-v-cd907b91] .code-block-shell-content,.md[data-v-cd907b91] .markstream-pre{background:var(--color-surface-sunken)}.md[data-v-cd907b91] .code-editor-container{line-height:1.65;--diffs-gap-block: var(--space-3)}.md[data-v-cd907b91] .code-editor-container diffs-container{--diffs-line-height: 1.65em}.md[data-v-cd907b91] .code-pre-fallback>.markstream-pre__line-numbers{display:none}.md[data-v-cd907b91] .code-block-container .code-pre-fallback{padding-left:1ch;line-height:1.65!important}.md[data-v-cd907b91] .code-block-container pre:not(.code-pre-fallback):not(.markstream-pre--line-numbers),.md[data-v-cd907b91] .markstream-pre:not(.code-pre-fallback):not(.markstream-pre--line-numbers){margin:0;padding:12px 14px;overflow-x:auto;font:var(--text-sm)/1.65 var(--font-mono)}.md[data-v-cd907b91] .code-block-container pre code{font:inherit;color:var(--color-text);background:none;border:none;padding:0;border-radius:0}.md[data-v-cd907b91] .markstream-pre,.md[data-v-cd907b91] .code-pre-fallback,.md[data-v-cd907b91] .code-block-shell-content pre:not(.shiki),.md[data-v-cd907b91] .code-block-shell-content pre:not(.shiki) code{color:var(--color-text)}.md[data-v-cd907b91] a{color:var(--color-accent);text-decoration:none}.md[data-v-cd907b91] a:hover{text-decoration:underline}.md[data-v-cd907b91] .katex-display{overflow-x:auto;overflow-y:hidden;padding:2px 0 6px;margin:.6em 0}.md[data-v-cd907b91] blockquote{margin:.5em 0;padding:4px 12px;border-left:3px solid var(--color-line);color:var(--color-text-muted)}.md[data-v-cd907b91] hr{border:none;border-top:1px solid var(--color-line);margin:.8em 0}.md[data-v-cd907b91] table:not(.table-node){border-collapse:collapse;font-size:var(--text-lg);margin:.5em 0}.md[data-v-cd907b91] table:not(.table-node) th,.md[data-v-cd907b91] table:not(.table-node) td{border:1px solid var(--color-line);padding:4px 10px;text-align:left}.md[data-v-cd907b91] table:not(.table-node) th{background:var(--color-surface);color:var(--color-text);font-weight:var(--weight-medium)}.md[data-v-cd907b91] .table-node-wrapper{width:100%;max-width:100%!important;min-width:0;overflow-x:auto!important}.md[data-v-cd907b91] .table-node{--table-border: var(--color-line);--table-header-bg: var(--color-surface);font-size:var(--text-lg);margin:.5em 0;width:max-content!important;min-width:100%;max-width:none!important;table-layout:auto!important}.md[data-v-cd907b91] .table-node th,.md[data-v-cd907b91] .table-node td{text-align:left;vertical-align:top;max-width:var(--p-table-cell-max)}.md[data-v-cd907b91] .table-node .text-node{display:inline-block;max-width:var(--p-table-cell-max);vertical-align:top}.md[data-v-cd907b91] .table-node tbody tr:hover{background-color:transparent!important}.diff-wrap[data-v-cd907b91]{margin:.6em 0;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface-sunken);box-shadow:var(--shadow-xs);overflow:hidden}.diff-bar[data-v-cd907b91]{display:flex;align-items:center;gap:6px;padding:4px 12px;background:var(--color-surface);border-bottom:1px solid var(--color-line);color:var(--color-text-muted);font:var(--text-xs) var(--font-mono)}.diff-lang[data-v-cd907b91]{margin-right:auto}.diff-copy[data-v-cd907b91]{display:inline-flex;align-items:center;justify-content:center;color:var(--color-text-muted);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;padding:2px 6px;transition:background var(--duration-base) var(--ease-out),color var(--duration-base) var(--ease-out)}.diff-copy[data-v-cd907b91]:hover{background:var(--color-surface-sunken);color:var(--color-text)}.diff-copy[data-v-cd907b91]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.diff-pre[data-v-cd907b91]{margin:0;padding:12px 0;overflow-x:auto;background:var(--color-surface-sunken)}.diff-pre code[data-v-cd907b91]{display:block;width:max-content;min-width:100%;font:var(--text-sm)/1.65 var(--font-mono);color:var(--color-text)}.diff-line[data-v-cd907b91]{display:block;width:100%;padding:0 14px}.diff-sign[data-v-cd907b91]{display:inline-block;width:14px;text-align:center;color:var(--color-text-muted);user-select:none}.diff-text[data-v-cd907b91]{color:var(--color-text)}.diff-add[data-v-cd907b91]{background:var(--color-success-soft);box-shadow:inset 2px 0 color-mix(in srgb,var(--color-success) 55%,transparent)}.diff-add .diff-sign[data-v-cd907b91]{color:var(--color-success)}.diff-del[data-v-cd907b91]{background:var(--color-danger-soft);box-shadow:inset 2px 0 color-mix(in srgb,var(--color-danger) 55%,transparent)}.diff-del .diff-sign[data-v-cd907b91]{color:var(--color-danger)}.diff-hunk[data-v-cd907b91]{background:var(--color-surface)}.diff-hunk .diff-text[data-v-cd907b91]{color:var(--color-text-muted)}.md[data-v-cd907b91],.md .markdown-renderer[data-v-cd907b91]{font-family:var(--sans)}.md .code-block-container[data-v-cd907b91],.md .diff-wrap[data-v-cd907b91]{border-radius:var(--radius-md)}.md :not(pre)>code[data-v-cd907b91],.md .inline-code[data-v-cd907b91]{border-radius:var(--radius-sm)}.think[data-v-0b3b873f]{margin:0}.tc-wrap[data-v-0b3b873f]{display:grid;grid-template-rows:1fr 0fr;transition:grid-template-rows var(--duration-slow) var(--ease-out);cursor:pointer}.tc-wrap.is-collapsed[data-v-0b3b873f]{grid-template-rows:0fr 1fr}.tc-anim[data-v-0b3b873f],.prev-anim[data-v-0b3b873f]{overflow:hidden;min-height:0}.tc-wrap.is-collapsed:hover .prev[data-v-0b3b873f]{color:var(--color-text)}.tc-wrap:not(.is-collapsed):hover .tc[data-v-0b3b873f]{color:var(--color-text-muted)}.prev[data-v-0b3b873f]{color:var(--color-text-faint);font:var(--text-base)/var(--leading-relaxed) var(--font-ui);font-weight:var(--weight-regular);white-space:pre-wrap;word-break:break-word;display:block}.tc[data-v-0b3b873f]{font:var(--text-base)/var(--leading-relaxed) var(--font-ui);font-weight:var(--weight-regular);color:var(--color-text-muted);white-space:pre-wrap;word-break:break-word;margin:0;max-height:calc(var(--leading-relaxed) * 1em * 5);overflow-y:auto}.mob[data-v-0b3b873f]{margin:0}.mob .tc[data-v-0b3b873f]{color:var(--color-text-faint);line-height:var(--leading-normal);max-height:calc(var(--leading-normal) * 1em * 5)}.mob .prev[data-v-0b3b873f]{color:var(--color-text-faint);line-height:var(--leading-normal)}.activity-notice[data-v-0d497074]{display:inline-flex;align-items:center;gap:9px;align-self:flex-start;margin:0;font:var(--text-sm)/var(--leading-normal) var(--font-ui);color:var(--color-text-muted)}.msg-time[data-v-9672fbd5]{display:inline-flex;align-items:center;min-height:22px;box-sizing:border-box;padding:2px 5px;background:none;border:none;border-radius:var(--radius-sm);color:var(--muted);font:inherit;font-size:var(--text-base);line-height:1;cursor:pointer;opacity:.7;transition:opacity .12s,color .12s,background-color .12s;white-space:nowrap}.msg-time[data-v-9672fbd5]:hover{opacity:1;color:var(--color-accent);background:var(--hover)}.cn[data-v-a62a6587]{margin:0;align-self:flex-end;max-width:78%;display:flex;flex-direction:column;align-items:flex-end}.cn-bubble[data-v-a62a6587]{box-sizing:border-box;max-width:100%;padding:8px 14px;background:var(--color-accent-soft);border:1px solid var(--color-accent-bd);border-radius:var(--radius-xl) var(--radius-xl) var(--radius-sm) var(--radius-xl);box-shadow:var(--shadow-xs);color:var(--color-text);font-size:var(--content-font-size);line-height:var(--leading-normal);white-space:pre-wrap;overflow-wrap:anywhere}.cn-title[data-v-a62a6587]{font-weight:var(--weight-medium)}.cn-meta[data-v-a62a6587]{display:flex;align-items:center;gap:6px;margin-top:4px;padding:0 4px;color:var(--color-text-faint);font-size:var(--text-base);line-height:var(--leading-normal)}.cn-meta-ico[data-v-a62a6587]{flex:none;color:var(--color-text-faint)}.cn-meta-item[data-v-a62a6587]{white-space:nowrap}.cn-status[data-v-a62a6587]{display:inline-flex;align-items:center}.cn-status.ok[data-v-a62a6587]{color:var(--color-success)}.cn-status.error[data-v-a62a6587]{color:var(--color-danger)}.att-chip[data-v-12ec975b]{display:inline-flex;align-items:center;gap:6px;max-width:220px;padding:4px 9px 4px 5px;background:var(--color-bg);border:1px solid var(--color-line);border-radius:999px;font-size:var(--ui-font-size-sm);transition:border-color var(--duration-fast) ease}.att-chip[data-v-12ec975b]:hover{border-color:var(--color-line-strong)}.att-activate[data-v-12ec975b]{display:inline-flex;align-items:center;gap:6px;min-width:0;padding:0;border:none;background:transparent;color:inherit;font:inherit;cursor:pointer}.att-activate[data-v-12ec975b]:focus-visible{outline:none;box-shadow:var(--p-focus-ring);border-radius:999px}.att-tile[data-v-12ec975b]{width:20px;height:20px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--color-text-muted);background:var(--color-surface-sunken)}.att-tile[data-v-12ec975b] .att-thumb{width:100%;height:100%;object-fit:cover;display:block}.att-name[data-v-12ec975b]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text);font-weight:var(--weight-medium)}.att-chip.is-error[data-v-12ec975b]{border-color:var(--color-danger-bd)}.att-chip.is-error .att-err[data-v-12ec975b]{flex:none;display:flex;align-items:center;color:var(--color-danger)}.att-rm[data-v-12ec975b]{flex:none;display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--color-text-faint);cursor:pointer}.att-rm[data-v-12ec975b]:hover{background:var(--color-hover);color:var(--color-text)}.att-rm[data-v-12ec975b]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.ui-moon[data-v-a6b7ec07]{display:inline-block;position:relative;line-height:1;user-select:none;flex:none}.ui-moon--sm[data-v-a6b7ec07]{width:14px;height:14px;font-size:14px}.ui-moon--md[data-v-a6b7ec07]{width:18px;height:18px;font-size:18px}.ui-moon--lg[data-v-a6b7ec07]{width:24px;height:24px;font-size:24px}.ui-moon__frame[data-v-a6b7ec07]{position:absolute;inset:0;display:block;text-align:center;opacity:0;animation-name:ui-moon-frame-a6b7ec07;animation-duration:.96s;animation-timing-function:steps(1,end);animation-iteration-count:infinite;animation-delay:var(--moon-frame-delay)}.ui-moon--fast .ui-moon__frame[data-v-a6b7ec07]{animation-duration:.48s;animation-delay:var(--moon-frame-fast-delay)}@keyframes ui-moon-frame-a6b7ec07{0%,12.49%{opacity:1}12.5%,to{opacity:0}}@media(prefers-reduced-motion:reduce){.ui-moon__frame[data-v-a6b7ec07]{animation:none;opacity:0}.ui-moon__frame[data-v-a6b7ec07]:nth-child(4){opacity:1}}.ui-banner[data-v-b0afda1c]{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-sm);line-height:var(--leading-normal)}.ui-banner__icon[data-v-b0afda1c]{display:inline-flex;flex:none}.ui-banner__icon svg[data-v-b0afda1c]{width:18px;height:18px}.ui-banner--info[data-v-b0afda1c]{background:var(--color-accent-soft);border-color:var(--color-accent-bd)}.ui-banner--warning[data-v-b0afda1c]{background:var(--color-warning-soft);border-color:var(--color-warning-bd)}.ui-banner--danger[data-v-b0afda1c]{background:var(--color-danger-soft);border-color:var(--color-danger-bd)}.ui-banner--info .ui-banner__icon[data-v-b0afda1c]{color:var(--color-accent)}.ui-banner--warning .ui-banner__icon[data-v-b0afda1c]{color:var(--color-warning)}.ui-banner--danger .ui-banner__icon[data-v-b0afda1c]{color:var(--color-danger)}.ui-button[data-v-556ea0b6]{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:1px solid transparent;border-radius:var(--radius-md);font-family:var(--font-ui);font-weight:var(--weight-medium);line-height:1;cursor:pointer;white-space:nowrap;transition:background var(--duration-base) var(--ease-out),border-color var(--duration-base) var(--ease-out),color var(--duration-base) var(--ease-out),box-shadow var(--duration-base) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.ui-button[data-v-556ea0b6]:focus-visible{outline:none;box-shadow:var(--p-focus-ring-strong)}.ui-button[data-v-556ea0b6]:not(:disabled):active{transform:scale(.98)}.ui-button[data-v-556ea0b6]:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.ui-button--sm[data-v-556ea0b6]{height:30px;padding:0 var(--space-3);font-size:var(--text-sm);border-radius:var(--radius-sm)}.ui-button--md[data-v-556ea0b6]{height:36px;padding:0 var(--space-4);font-size:var(--text-base)}.ui-button--lg[data-v-556ea0b6]{height:42px;padding:0 var(--space-5);font-size:15px;border-radius:var(--radius-lg)}.ui-button__content[data-v-556ea0b6]{display:inline-flex;align-items:center;gap:var(--space-2)}.ui-button__content[data-v-556ea0b6] svg{flex:none}.ui-button__content[data-v-556ea0b6] svg:not([width]){width:1em;height:1em}.ui-button--primary[data-v-556ea0b6]{background:var(--color-accent);color:var(--color-text-on-accent);border-color:var(--color-accent);box-shadow:var(--shadow-xs)}.ui-button--primary[data-v-556ea0b6]:not(:disabled):hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.ui-button--secondary[data-v-556ea0b6]{background:var(--color-surface-raised);color:var(--color-text);border-color:var(--color-line-strong);box-shadow:var(--shadow-xs)}.ui-button--secondary[data-v-556ea0b6]:not(:disabled):hover{border-color:var(--color-line-strong);background:var(--color-surface-sunken)}.ui-button--ghost[data-v-556ea0b6]{background:transparent;color:var(--color-text-muted);border-color:transparent}.ui-button--ghost[data-v-556ea0b6]:not(:disabled):hover{background:var(--color-surface-sunken);color:var(--color-text)}.ui-button--danger[data-v-556ea0b6]{background:var(--color-danger);color:var(--surface-light);border-color:var(--color-danger);box-shadow:var(--shadow-xs)}.ui-button--danger[data-v-556ea0b6]:not(:disabled):hover{filter:brightness(.96)}.ui-button--danger-soft[data-v-556ea0b6]{background:var(--color-danger-soft);color:var(--color-danger);border-color:var(--color-danger-bd)}.ui-button--danger-soft[data-v-556ea0b6]:not(:disabled):hover{background:var(--color-danger);color:var(--surface-light);border-color:var(--color-danger)}.ui-button.is-loading .ui-button__content[data-v-556ea0b6]{opacity:.7}.ui-button .ui-button__spinner[data-v-556ea0b6]{flex:none;color:inherit}.ui-button__spinner[data-v-556ea0b6] .ui-spinner__track{opacity:.35}.chat-empty[data-v-860328dc]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px 16px;color:var(--faint);text-align:center}.chat-empty-text[data-v-860328dc]{font-size:var(--ui-font-size-sm)}.chat-loading[data-v-860328dc]{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:24px 16px;color:var(--muted)}.chat-loading-text[data-v-860328dc]{font-size:var(--ui-font-size-sm)}.chat[data-v-860328dc]{--chat-turn-gap: 16px;--chat-block-gap: 10px;--chat-section-gap: 18px;display:flex;flex-direction:column;gap:0;padding:16px 14px 20px;flex:1;min-height:0;position:relative}.chat .chat-empty[data-v-860328dc]{align-self:stretch}.open-unsupported[data-v-860328dc]{position:absolute;bottom:16px;left:50%;transform:translate(-50%);max-width:min(90%,480px);padding:6px 12px;border-radius:var(--radius-md);border:1px solid var(--color-line);background:var(--color-surface-raised);color:var(--color-text-muted);font-size:var(--ui-font-size-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;z-index:1}.chat>.u-turn[data-v-860328dc],.chat>.a-msg[data-v-860328dc],.chat>.compact-divider[data-v-860328dc],.chat>.cron-notice[data-v-860328dc],.chat>.sending-placeholder[data-v-860328dc],.chat[data-v-860328dc]>.activity-notice{margin-top:var(--chat-turn-gap)}.chat>.a-msg[data-v-860328dc]{margin-top:10px}.chat>.u-turn[data-v-860328dc]:first-child,.chat>.a-msg[data-v-860328dc]:first-child,.chat>.compact-divider[data-v-860328dc]:first-child,.chat>.cron-notice[data-v-860328dc]:first-child,.chat>.sending-placeholder[data-v-860328dc]:first-child,.chat[data-v-860328dc]>.activity-notice:first-child{margin-top:0}.u-turn[data-v-860328dc]{display:flex;flex-direction:column;align-items:flex-end;align-self:flex-start;width:100%}.u-bub[data-v-860328dc]{align-self:flex-end;max-width:78%;background:var(--color-accent-soft);border:1px solid var(--color-accent-bd);color:var(--color-text);border-radius:var(--radius-xl) var(--radius-xl) var(--radius-sm) var(--radius-xl);padding:11px 15px;font-size:var(--content-font-size);line-height:var(--leading-normal);box-shadow:var(--shadow-xs)}.u-meta[data-v-860328dc]{align-self:flex-end;display:flex;justify-content:flex-end;align-items:center;max-width:78%;margin-top:2px;margin-right:4px}.u-meta .u-edit[data-v-860328dc]{min-height:22px;box-sizing:border-box}.u-text[data-v-860328dc]{white-space:pre-wrap;overflow-wrap:anywhere}.u-edit[data-v-860328dc]{display:inline-flex;align-items:center;justify-content:center;padding:2px 5px;background:none;border:none;border-radius:var(--radius-sm);color:var(--muted);font:inherit;font-size:var(--text-base);line-height:1;cursor:pointer;opacity:.7;transition:opacity .12s,color .12s,background-color .12s}.u-edit svg[data-v-860328dc]{display:block;flex:none}.u-edit[data-v-860328dc]:hover{opacity:1;color:var(--color-accent);background:var(--hover)}.u-copy[data-v-860328dc]{display:inline-flex;align-items:center;justify-content:center;padding:2px 5px;background:none;border:none;border-radius:var(--radius-sm);color:var(--muted);font:inherit;font-size:var(--text-base);line-height:1;cursor:pointer;opacity:.7;transition:opacity .12s,color .12s,background-color .12s;min-height:22px;box-sizing:border-box}.u-copy svg[data-v-860328dc]{display:block;flex:none}.u-copy[data-v-860328dc]:hover{opacity:1;color:var(--color-accent);background:var(--hover)}.u-edit-wrap[data-v-860328dc]{display:flex;justify-content:flex-end}.chat>.u-edit-wrap[data-v-860328dc]{margin-top:4px}.chat>.u-edit-wrap+.a-msg[data-v-860328dc]{margin-top:8px}.compact-divider[data-v-860328dc]{display:flex;align-items:center;gap:10px;align-self:stretch;width:100%;margin:var(--chat-section-gap) 0 0}.chat>.compact-divider[data-v-860328dc]:first-child{margin-top:0}.cd-line[data-v-860328dc]{flex:1;height:1px;background:var(--line)}.cd-label[data-v-860328dc]{flex:none;display:inline-flex;align-items:center;gap:8px;max-width:80%;font-size:var(--text-base);color:var(--muted);white-space:nowrap}.cd-btn[data-v-860328dc]{background:none;border:none;padding:0;cursor:pointer;font:inherit;font-size:var(--text-base);color:var(--muted)}.cd-view[data-v-860328dc]{color:var(--color-accent)}.cd-btn:hover .cd-view[data-v-860328dc]{text-decoration:underline}.a-msg[data-v-860328dc]{align-self:flex-start;max-width:94%;width:94%}.a-msg-ft[data-v-860328dc]{display:flex;justify-content:flex-start;align-items:center;gap:8px;height:auto;margin-top:var(--chat-block-gap);overflow:visible}.a-cpbtn[data-v-860328dc]{display:inline-flex;align-items:center;justify-content:center;padding:2px 5px;background:none;border:none;border-radius:var(--radius-sm);color:var(--muted);font:inherit;font-size:var(--text-base);line-height:1;cursor:pointer;opacity:.7;transition:opacity .12s,color .12s,background-color .12s;min-height:22px;box-sizing:border-box}.a-cpbtn[data-v-860328dc]:hover{opacity:1;color:var(--color-accent);background:var(--hover)}.a-cpbtn svg[data-v-860328dc]{display:block;flex:none}@media(hover:none){.a-msg-ft[data-v-860328dc]{height:auto;margin-top:var(--chat-block-gap);opacity:1;pointer-events:auto}.a-cpbtn[data-v-860328dc]{font-size:var(--ui-font-size-sm);padding:8px 10px;margin:-4px -6px}}.a-msg .msg[data-v-860328dc]{font-size:var(--ui-font-size);line-height:1.6;color:var(--color-text);font-weight:500}.a-msg .msg[data-v-860328dc] p{margin:0}.a-msg .msg[data-v-860328dc] p+p{margin-top:8px}.a-msg>.msg[data-v-860328dc],.a-msg[data-v-860328dc]>.think,.a-msg[data-v-860328dc]>.tool-group,.a-msg[data-v-860328dc]>.agent-card,.a-msg[data-v-860328dc]>.agent-group,.a-msg[data-v-860328dc]>.box,.a-msg[data-v-860328dc]>.swarm-card,.a-msg[data-v-860328dc]>.media-tool,.a-msg[data-v-860328dc]>.ui-banner{margin-top:var(--chat-block-gap)}.a-msg>.msg[data-v-860328dc]:first-child,.a-msg[data-v-860328dc]>.think:first-child,.a-msg[data-v-860328dc]>.tool-group:first-child,.a-msg[data-v-860328dc]>.agent-card:first-child,.a-msg[data-v-860328dc]>.agent-group:first-child,.a-msg[data-v-860328dc]>.box:first-child,.a-msg[data-v-860328dc]>.swarm-card:first-child,.a-msg[data-v-860328dc]>.media-tool:first-child,.a-msg[data-v-860328dc]>.ui-banner:first-child{margin-top:0}.a-msg[data-v-860328dc] code{font:.9em var(--font-mono);background:var(--color-surface-sunken);border:1px solid var(--color-line);border-radius:var(--radius-sm);padding:1px 6px;color:var(--color-accent-hover)}@container (min-width: 760px){.a-msg .msg[data-v-860328dc] .markstream-vue.markdown-renderer:has(.table-node-wrapper){content-visibility:visible}.a-msg .msg[data-v-860328dc] .table-node-wrapper{position:relative;left:50%;width:max-content;min-width:100%;max-width:min(var(--p-table-max),calc(100cqi - var(--space-5) - var(--space-5)))!important;transform:translate(-50%)}}.u-atts[data-v-860328dc]{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.sending-placeholder[data-v-860328dc]{align-self:flex-start;padding:10px 0}.turn-error[data-v-860328dc]{flex-wrap:wrap}.turn-error-text[data-v-860328dc]{flex:1;min-width:0;white-space:pre-wrap;overflow-wrap:anywhere}.turn-error-resume[data-v-860328dc]{margin-left:auto;flex:none}.skill-act[data-v-860328dc]{display:flex;flex-direction:column;gap:2px}.skill-act-head[data-v-860328dc]{font-size:var(--ui-font-size-sm);font-weight:500;color:var(--color-accent-hover);display:flex;align-items:center;gap:6px}.skill-act-arrow[data-v-860328dc]{color:var(--color-accent);font-size:var(--text-base)}.skill-act-args[data-v-860328dc]{font-size:var(--text-base);color:var(--muted);padding-left:17px;white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:640px){.chat[data-v-860328dc]{box-sizing:border-box;width:100%;padding:14px max(12px,var(--safe-right)) 18px max(12px,var(--safe-left))}.u-bub[data-v-860328dc]{max-width:min(88%,calc(100vw - 52px))}.a-msg[data-v-860328dc]{width:100%;max-width:100%}.u-bub .u-text[data-v-860328dc],.a-msg .msg[data-v-860328dc]{font-size:var(--ui-font-size-xl)}.a-msg[data-v-860328dc] .md,.a-msg[data-v-860328dc] .markdown-renderer,.a-msg[data-v-860328dc] .code-block-container,.a-msg[data-v-860328dc] .diff-wrap,.a-msg[data-v-860328dc] pre{max-width:100%}.a-msg[data-v-860328dc] .code-block-container pre,.a-msg[data-v-860328dc] .diff-pre{overflow-x:auto;-webkit-overflow-scrolling:touch}.a-msg[data-v-860328dc] .media-tool.mob{width:min(44vw,160px)}.cd-label[data-v-860328dc]{min-width:0;max-width:calc(100% - 48px);overflow:hidden;text-overflow:ellipsis}.u-edit-confirm[data-v-860328dc]{flex-wrap:wrap;justify-content:flex-end;max-width:calc(100vw - 28px)}.ts[data-v-860328dc]{font-size:var(--ui-font-size-sm)}.chat-empty-text[data-v-860328dc],.chat-loading-text[data-v-860328dc]{font-size:var(--ui-font-size-lg)}.cd-label[data-v-860328dc],.cd-btn[data-v-860328dc]{font-size:var(--ui-font-size)}}.top-sentinel[data-v-860328dc]{display:flex;align-items:center;justify-content:center;padding:12px 0;min-height:28px}.top-sentinel-loading[data-v-860328dc]{opacity:.8}.top-sentinel-btn[data-v-860328dc]{appearance:none;border:1px solid var(--border);background:transparent;color:var(--muted);font-size:var(--ui-font-size-sm);padding:4px 12px;border-radius:999px;cursor:pointer;transition:color .15s ease,border-color .15s ease}.top-sentinel-btn[data-v-860328dc]:hover{color:var(--fg);border-color:var(--fg)}.top-sentinel-text[data-v-860328dc]{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:var(--ui-font-size-sm)}.chat[data-v-860328dc]{background:transparent}.chat[data-v-860328dc]{gap:0;padding:22px 20px 26px}.u-bub[data-v-860328dc]{background:var(--color-accent-soft);border-color:var(--color-accent-bd);border-radius:var(--radius-xl) var(--radius-xl) var(--radius-sm) var(--radius-xl);padding:11px 15px;box-shadow:var(--shc)}.a-msg[data-v-860328dc]{max-width:100%;width:100%}.chat>.q-stack[data-v-860328dc]{margin-top:var(--chat-turn-gap)}.chat>.q-stack[data-v-860328dc]:first-child{margin-top:0}.q-stack[data-v-860328dc]{align-self:flex-end;width:100%;display:flex;flex-direction:column;gap:8px}.q-head[data-v-860328dc]{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:0 6px;color:var(--color-text-faint);font-size:var(--ui-font-size-xs)}.q-title[data-v-860328dc]{display:inline-flex;align-items:center;gap:6px}.q-title b[data-v-860328dc]{color:var(--color-accent-hover);font-weight:var(--weight-medium)}.q-hint[data-v-860328dc]{color:var(--color-text-faint)}.q-turn[data-v-860328dc]{position:relative}.q-bub[data-v-860328dc]{display:flex;align-items:center;gap:8px;width:fit-content;background:var(--color-surface-raised);border:1px dashed var(--color-accent-bd);padding:8px 8px 8px 6px;transition:border-color .12s ease,background .12s ease}.q-bub[data-v-860328dc]:hover{border-color:var(--color-accent);background:var(--color-accent-soft)}.q-grip[data-v-860328dc]{flex:none;display:inline-flex;align-items:center;padding:2px;color:var(--color-text-faint);cursor:grab;opacity:.7}.q-grip[data-v-860328dc]:hover{opacity:1}.q-grip[data-v-860328dc]:active{cursor:grabbing}.q-body[data-v-860328dc]{flex:1;min-width:0;background:none;border:none;padding:0;margin:0;font:inherit;color:var(--color-text);text-align:left;cursor:pointer;opacity:.82}.q-bub:hover .q-body[data-v-860328dc]{opacity:1}.q-body[data-v-860328dc]:disabled{cursor:default}.q-text[data-v-860328dc]{white-space:pre-wrap;overflow-wrap:anywhere}.q-text-placeholder[data-v-860328dc]{display:inline-flex;align-items:center;gap:4px;color:var(--color-text-muted)}.q-imgs[data-v-860328dc]{display:flex;gap:4px;flex:none}.q-img[data-v-860328dc]{width:28px;height:28px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--color-line)}.q-file[data-v-860328dc]{display:inline-flex;align-items:center;gap:4px;height:28px;padding:0 6px;border-radius:var(--radius-sm);border:1px solid var(--color-line);color:var(--color-text-muted);font-size:calc(var(--ui-font-size) - 3px);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.q-tag[data-v-860328dc]{flex:none;padding:1px 6px;border-radius:var(--radius-full);font-size:var(--ui-font-size-xs);font-weight:var(--weight-medium);line-height:1.4;white-space:nowrap}.q-tag-next[data-v-860328dc]{color:var(--color-accent-hover);background:var(--color-accent-soft);border:1px solid var(--color-accent-bd)}.q-tag-idx[data-v-860328dc]{color:var(--color-text-faint);background:var(--color-surface-sunken);border:1px solid var(--color-line)}.q-rm[data-v-860328dc],.q-row-steer[data-v-860328dc],.q-row-send[data-v-860328dc]{flex:none;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--color-text-faint);cursor:pointer;opacity:0;transition:opacity .12s ease,background .12s ease,color .12s ease}.q-row-steer[data-v-860328dc],.q-row-send[data-v-860328dc]{position:relative;touch-action:manipulation}.q-row-steer[data-v-860328dc]:after,.q-row-send[data-v-860328dc]:after{content:"";position:absolute;inset:-11px}.q-bub:hover .q-rm[data-v-860328dc],.q-bub:focus-within .q-rm[data-v-860328dc],.q-rm[data-v-860328dc]:focus-visible,.q-bub:hover .q-row-steer[data-v-860328dc],.q-bub:focus-within .q-row-steer[data-v-860328dc],.q-row-steer[data-v-860328dc]:focus-visible,.q-bub:hover .q-row-send[data-v-860328dc],.q-bub:focus-within .q-row-send[data-v-860328dc],.q-row-send[data-v-860328dc]:focus-visible{opacity:1}.q-row-steer[data-v-860328dc]:hover,.q-row-send[data-v-860328dc]:hover{background:var(--color-accent-soft);color:var(--color-accent)}.q-rm[data-v-860328dc]:hover{background:var(--color-danger-soft);color:var(--color-danger)}.q-turn.q-dragging .q-bub[data-v-860328dc]{opacity:.45}.q-turn.drop-before[data-v-860328dc]:before,.q-turn.drop-after[data-v-860328dc]:after{content:"";position:absolute;left:0;right:0;height:2px;background:var(--color-accent);border-radius:var(--radius-full);z-index:1}.q-turn.drop-before[data-v-860328dc]:before{top:-5px}.q-turn.drop-after[data-v-860328dc]:after{bottom:-5px}.chat[data-v-860328dc] .chat-search-hit{background:var(--color-accent-soft);border-radius:var(--radius-xs);box-shadow:inset 0 0 0 1px var(--color-accent-bd);padding:0 1px}.chat[data-v-860328dc] .chat-search-hit--active{background:var(--color-accent);color:var(--color-bg);box-shadow:inset 0 0 0 1px var(--color-accent)}.chat-header[data-v-50d1d77b]{flex:none;display:flex;align-items:center;gap:14px;height:48px;padding:0 16px;border-bottom:1px solid var(--color-line);background:var(--color-bg);font-family:var(--font-ui);min-width:0}.chat-header.macos-desktop[data-v-50d1d77b]{-webkit-app-region:drag}.chat-header.macos-desktop button[data-v-50d1d77b],.chat-header.macos-desktop input[data-v-50d1d77b]{-webkit-app-region:no-drag}.ch-id[data-v-50d1d77b]{display:flex;align-items:center;gap:6px;min-width:0;flex:none;max-width:46%}.ch-ws[data-v-50d1d77b]{color:var(--color-text-muted);font-size:var(--text-base);font-weight:var(--weight-medium);flex:none}.ch-sep[data-v-50d1d77b]{color:var(--color-text-faint);flex:none}.ch-ses[data-v-50d1d77b]{color:var(--color-text);font-size:var(--text-base);font-weight:var(--weight-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ch-rename[data-v-50d1d77b]{flex:1;min-width:0;font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-accent);border-radius:var(--radius-xs);padding:2px 5px;outline:none}.ch-git[data-v-50d1d77b]{display:flex;align-items:center;gap:4px;border:none;background:transparent;padding:0;color:var(--muted);font-family:var(--mono);font-size:calc(var(--ui-font-size) - 2px);flex:0 1 auto;max-width:none;min-width:0;cursor:pointer}.ch-git:hover .ch-branch[data-v-50d1d77b]{color:var(--color-text)}.ch-branch[data-v-50d1d77b]{color:var(--dim);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:4px}.ch-detached[data-v-50d1d77b]{color:var(--muted);font-style:italic}.ch-pill[data-v-50d1d77b]{display:inline-flex;align-items:center;gap:3px;padding:1px 5px;border-radius:999px;background:var(--panel);border:1px solid var(--line);font-size:calc(var(--ui-font-size) - 3px)}.ch-sync-pill[data-v-50d1d77b]{border-color:var(--line)}.ch-diff-pill[data-v-50d1d77b]{border-color:color-mix(in srgb,var(--color-success) 20%,var(--line))}.ch-ahead[data-v-50d1d77b]{color:var(--color-warning);flex:none}.ch-behind[data-v-50d1d77b]{color:var(--color-accent-hover);flex:none}.ch-add[data-v-50d1d77b]{color:var(--color-success);flex:none}.ch-del[data-v-50d1d77b]{color:var(--color-danger);flex:none}.ch-spacer[data-v-50d1d77b]{flex:1;min-width:0}.ch-act-more.open[data-v-50d1d77b],.ch-act-search.active[data-v-50d1d77b]{background:var(--color-surface-sunken);color:var(--color-text)}.ch-pr[data-v-50d1d77b]{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 9px;flex:none;border:1px solid var(--color-line);border-radius:var(--radius-full);background:var(--color-surface-sunken);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:500;cursor:pointer}.ch-pr svg[data-v-50d1d77b]{flex:none}.ch-pr.pr-open[data-v-50d1d77b]{color:var(--color-success);border-color:var(--color-success-bd);background:var(--color-success-soft)}.ch-pr.pr-merged[data-v-50d1d77b]{color:var(--color-done);border-color:var(--color-done-bd);background:var(--color-done-soft)}.ch-pr.pr-closed[data-v-50d1d77b]{color:var(--color-danger);border-color:var(--color-danger-bd);background:var(--color-danger-soft)}.ch-pr.pr-draft[data-v-50d1d77b],.ch-pr.pr-unknown[data-v-50d1d77b]{color:var(--color-text-muted);border-color:var(--color-line-strong);background:var(--color-surface-sunken)}.ch-pr[data-v-50d1d77b]:hover{border-color:var(--color-line-strong)}.ch-menu[data-v-50d1d77b]{position:fixed;top:0;left:0;z-index:var(--z-dropdown)}@media(max-width:980px){.ch-act-label[data-v-50d1d77b]{display:none}}@media(max-width:640px){.chat-header[data-v-50d1d77b]{display:none}}.slash-menu[data-v-77443e56]{position:absolute;bottom:calc(100% + 4px);left:0;right:0;padding:var(--space-1);background:var(--color-surface-raised);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);z-index:var(--z-dropdown);--menu-scrollbar-track-inset: 4px;--menu-scrollbar-thumb-min: 24px;--menu-fade-top: linear-gradient(to bottom, var(--color-surface-raised) 0%, transparent 100%);--menu-fade-bottom: linear-gradient(to top, var(--color-surface-raised) 0%, transparent 100%)}.slash-scroller[data-v-77443e56]{position:relative}.slash-menu--sheet[data-v-77443e56]{position:static;border:none;border-radius:0;box-shadow:none;padding:var(--space-1) 0 var(--space-2);background:transparent}.slash-menu--sheet .slash-list[data-v-77443e56]{max-height:none}.slash-list[data-v-77443e56]{max-height:240px;overflow-y:auto}.slash-item[data-v-77443e56]{display:grid;grid-template-columns:minmax(90px,32%) minmax(0,1fr);align-items:start;gap:10px;padding:6px 10px;cursor:pointer;font-family:var(--font-ui);font-size:var(--text-sm);border-radius:var(--radius-sm)}.slash-item[data-v-77443e56]:hover{background:var(--color-surface-sunken)}.slash-item.active[data-v-77443e56]{background:var(--color-accent-soft)}.slash-item.active .slash-name[data-v-77443e56]{color:var(--color-accent-hover)}.slash-name[data-v-77443e56]{color:var(--color-accent);font-weight:500;min-width:0;line-height:var(--leading-normal);overflow-wrap:anywhere}.slash-match[data-v-77443e56]{font-weight:var(--weight-semibold)}.slash-desc-match[data-v-77443e56]{font-weight:var(--weight-semibold);color:var(--color-text)}.slash-desc[data-v-77443e56]{color:var(--color-text-muted);font-size:var(--text-xs);min-width:0;line-height:var(--leading-normal);overflow-wrap:anywhere}.slash-empty[data-v-77443e56]{padding:8px 12px;font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-text-muted)}.menu-scroll-thumb[data-v-77443e56]{position:absolute;right:2px;width:4px;border-radius:var(--radius-xs);background:var(--color-line-strong);cursor:pointer;touch-action:none;transition:background var(--duration-fast) ease}.menu-scroll-thumb[data-v-77443e56]:hover,.menu-scroll-thumb[data-v-77443e56]:active{background:var(--color-text-faint)}.menu-scroll-fade[data-v-77443e56]{position:absolute;left:0;right:0;height:12px;pointer-events:none;transition:opacity var(--duration-fast) ease}.menu-scroll-fade-top[data-v-77443e56]{top:var(--space-1);background:var(--menu-fade-top)}.menu-scroll-fade-bottom[data-v-77443e56]{bottom:var(--space-1);background:var(--menu-fade-bottom)}@media(max-width:520px){.slash-item[data-v-77443e56]{grid-template-columns:minmax(0,1fr);gap:2px}}.slash-menu[data-v-77443e56]{border-radius:var(--radius-lg);box-shadow:var(--sh)}.slash-desc[data-v-77443e56]{font-family:var(--sans)}.mention-menu[data-v-1fa972b5]{position:absolute;bottom:calc(100% + 4px);left:0;right:0;padding:var(--space-1);background:var(--color-surface-raised);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);z-index:var(--z-dropdown);--menu-scrollbar-track-inset: 4px;--menu-scrollbar-thumb-min: 24px;--menu-fade-top: linear-gradient(to bottom, var(--color-surface-raised) 0%, transparent 100%);--menu-fade-bottom: linear-gradient(to top, var(--color-surface-raised) 0%, transparent 100%)}.mention-menu--sheet[data-v-1fa972b5]{position:static;border:none;border-radius:0;box-shadow:none;padding:var(--space-1) 0 var(--space-2);background:transparent}.mention-menu--sheet .mention-list[data-v-1fa972b5]{max-height:none}.mention-scroller[data-v-1fa972b5]{position:relative}.mention-list[data-v-1fa972b5]{max-height:220px;overflow-y:auto}.mention-state[data-v-1fa972b5]{padding:8px 12px;font-family:var(--font-ui);font-size:var(--text-sm)}.dim[data-v-1fa972b5]{color:var(--color-text-muted)}.mention-item[data-v-1fa972b5]{display:flex;align-items:center;gap:8px;padding:6px 10px;cursor:pointer;font-family:var(--font-ui);font-size:var(--text-sm);border-radius:var(--radius-sm)}.mention-icon[data-v-1fa972b5]{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;color:var(--color-text-faint);flex-shrink:0}.mention-icon[data-v-1fa972b5] svg{width:13px;height:13px;display:block}.mention-item:hover .mention-icon[data-v-1fa972b5],.mention-item.active .mention-icon[data-v-1fa972b5]{color:var(--color-text-muted)}.mention-item[data-v-1fa972b5]:hover{background:var(--color-surface-sunken)}.mention-item.active[data-v-1fa972b5]{background:var(--color-accent-soft)}.mention-name[data-v-1fa972b5]{color:var(--color-text);font-weight:500;min-width:80px;flex-shrink:0}.mention-path[data-v-1fa972b5]{color:var(--color-text-muted);font-size:var(--text-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mention-item.skill .mention-name[data-v-1fa972b5]{color:var(--color-accent);min-width:0}.mention-item.skill.active .mention-name[data-v-1fa972b5]{color:var(--color-accent-hover)}.mention-match[data-v-1fa972b5]{font-weight:var(--weight-semibold);color:var(--color-accent-hover)}.mention-path .mention-match[data-v-1fa972b5]{color:var(--color-text)}.menu-scroll-thumb[data-v-1fa972b5]{position:absolute;right:2px;width:4px;border-radius:var(--radius-xs);background:var(--color-line-strong);cursor:pointer;touch-action:none;transition:background var(--duration-fast) ease}.menu-scroll-thumb[data-v-1fa972b5]:hover,.menu-scroll-thumb[data-v-1fa972b5]:active{background:var(--color-text-faint)}.menu-scroll-fade[data-v-1fa972b5]{position:absolute;left:0;right:0;height:12px;pointer-events:none;transition:opacity var(--duration-fast) ease}.menu-scroll-fade-top[data-v-1fa972b5]{top:var(--space-1);background:var(--menu-fade-top)}.menu-scroll-fade-bottom[data-v-1fa972b5]{bottom:var(--space-1);background:var(--menu-fade-bottom)}.mention-menu[data-v-1fa972b5]{border-radius:var(--radius-lg);box-shadow:var(--sh)}.mention-state[data-v-1fa972b5]{font-family:var(--sans)}.sheet-root[data-v-745ee5a2]{position:fixed;inset:0;z-index:var(--z-overlay);display:flex;flex-direction:column;justify-content:flex-end}.sheet-scrim[data-v-745ee5a2]{position:absolute;inset:0;background:#0d111773}.sheet-panel[data-v-745ee5a2]{position:relative;background:var(--color-surface-raised);border:1px solid var(--color-line);border-bottom:none;border-radius:var(--radius-xl) var(--radius-xl) 0 0;box-shadow:var(--shadow-xl);max-height:86vh;display:flex;flex-direction:column;min-height:0;font-family:var(--font-ui);color:var(--color-text)}.sheet-grab[data-v-745ee5a2]{flex:none;align-self:center;width:56px;height:18px;padding:0;border:none;background:none;cursor:pointer;position:relative;margin-top:4px}.sheet-grab[data-v-745ee5a2]:after{content:"";position:absolute;left:50%;top:7px;transform:translate(-50%);width:38px;height:5px;border-radius:var(--radius-full);background:var(--color-line)}.sheet-head[data-v-745ee5a2]{flex:none;display:flex;align-items:center;justify-content:space-between;padding:6px 16px 10px}.sheet-title[data-v-745ee5a2]{font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-text)}.sheet-body[data-v-745ee5a2]{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:max(16px,var(--safe-bottom))}.sheet-enter-active[data-v-745ee5a2],.sheet-leave-active[data-v-745ee5a2]{transition:opacity var(--duration-slow) var(--ease-out)}.sheet-enter-active .sheet-panel[data-v-745ee5a2],.sheet-leave-active .sheet-panel[data-v-745ee5a2]{transition:transform var(--duration-slow) var(--ease-out)}.sheet-enter-from[data-v-745ee5a2],.sheet-leave-to[data-v-745ee5a2]{opacity:0}.sheet-enter-from .sheet-panel[data-v-745ee5a2],.sheet-leave-to .sheet-panel[data-v-745ee5a2]{transform:translateY(102%)}.ctx-ring[data-v-a364f1f1]{width:16px;height:16px;flex:none;transform:rotate(-90deg)}.ctx-ring-track[data-v-a364f1f1]{stroke:var(--line)}.ctx-ring-fill[data-v-a364f1f1]{stroke:var(--color-accent);transition:stroke-dashoffset .3s ease,stroke .3s ease}.composer[data-v-67e4d9ee]{padding:7px var(--dock-inline-right, 16px) 12px var(--dock-inline-left, 16px);background:transparent;transition:background .12s}.composer.drag-over[data-v-67e4d9ee]{background:var(--color-accent-soft)}.drop-overlay[data-v-67e4d9ee]{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--color-bg) 72%,transparent);pointer-events:none;opacity:0;visibility:hidden;transition:opacity var(--duration-base) ease,visibility var(--duration-base)}.drop-overlay.show[data-v-67e4d9ee]{opacity:1;visibility:visible}.drop-card[data-v-67e4d9ee]{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-radius:var(--radius-lg);border:1.5px dashed var(--color-accent);background:var(--color-bg);color:var(--color-accent);font-size:var(--ui-font-size-lg);font-weight:var(--weight-medium);box-shadow:var(--shadow-md)}.composer-card[data-v-67e4d9ee]{--composer-send-size: 32px;--composer-send-inset: var(--space-2);position:relative;border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--bg);box-shadow:var(--shadow-md);transition:border-color .15s,box-shadow .15s}.composer-card[data-v-67e4d9ee]:focus-within{border-color:var(--color-accent);box-shadow:var(--shadow-md),0 0 0 3px var(--color-accent-soft)}.att-strip[data-v-67e4d9ee]{display:flex;flex-wrap:wrap;gap:6px;padding:4px 0 6px}.att-lightbox[data-v-67e4d9ee]{position:fixed;inset:0;z-index:var(--z-overlay);display:flex;align-items:center;justify-content:center;padding:24px;background:#14171c9e}.att-lightbox-card[data-v-67e4d9ee]{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;max-width:min(960px,calc(100vw - 48px));max-height:calc(100vh - 48px)}.att-lightbox-media[data-v-67e4d9ee]{max-width:100%;max-height:calc(100vh - 96px);border-radius:6px;background:var(--bg);box-shadow:var(--shadow-xl);object-fit:contain}.att-lightbox-name[data-v-67e4d9ee]{max-width:100%;color:var(--surface-light);font-family:var(--mono);font-size:calc(var(--ui-font-size) - 2px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.att-lightbox-close[data-v-67e4d9ee]{position:absolute;top:-14px;right:-14px;width:28px;height:28px;border:1px solid rgba(255,255,255,.45);border-radius:50%;background:#14171cd1;color:var(--surface-light);cursor:pointer}.file-input-hidden[data-v-67e4d9ee]{display:none}.cin-wrap[data-v-67e4d9ee]{position:relative;padding:14px 16px 8px}.input-row[data-v-67e4d9ee]{position:relative;display:flex;align-items:flex-start;gap:var(--space-2)}.expand-btn[data-v-67e4d9ee]{width:22px;height:22px;display:flex;align-items:center;justify-content:center;border:none;border-radius:6px;background:transparent;color:var(--dim);cursor:pointer;padding:0;transition:background .12s,color .12s}.expand-btn[data-v-67e4d9ee]:hover{background:var(--panel2);color:var(--color-text)}.expand-btn[data-v-67e4d9ee]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.ph[data-v-67e4d9ee]{color:var(--faint);caret-color:var(--color-text);flex:1;border:none;outline:none;resize:none;font-family:var(--font-ui);font-size:var(--content-font-size);background:transparent;min-height:36px;max-height:25vh;overflow-y:auto;line-height:1.5;margin-bottom:6px}.ph[data-v-67e4d9ee]::placeholder{color:var(--muted)}.ph[data-v-67e4d9ee]:not(:placeholder-shown){color:var(--color-text)}.composer.expanded .ph[data-v-67e4d9ee]{min-height:70vh;max-height:70vh}.compact-chip[data-v-67e4d9ee]{background:none;border:1px solid var(--line);border-radius:var(--radius-xs);color:var(--color-warning);font-family:var(--mono);font-size:var(--ui-font-size);padding:0 4px;cursor:pointer;height:19px;line-height:17px;flex:none}.compact-chip[data-v-67e4d9ee]:hover{background:var(--panel2)}.send[data-v-67e4d9ee]{width:var(--composer-send-size);height:var(--composer-send-size);border-radius:50%;background:var(--color-accent);color:var(--color-text-on-accent);border:none;box-shadow:var(--shadow-xs);padding:0;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;margin-left:var(--space-2);transition:background .25s ease,transform .12s ease;position:relative}.send[data-v-67e4d9ee]:hover{background:var(--color-accent-hover)}.send[data-v-67e4d9ee]:active{transform:scale(.92)}.send[data-v-67e4d9ee]:disabled{cursor:not-allowed;opacity:.88}.send[data-v-67e4d9ee]:disabled:active{transform:none}.send.is-starting[data-v-67e4d9ee] .ui-spinner{color:var(--color-text-on-accent)}.send.is-starting[data-v-67e4d9ee] .ui-spinner__track{stroke:color-mix(in srgb,var(--color-text-on-accent) 32%,transparent)}.send svg[data-v-67e4d9ee]{flex:none;width:var(--p-ic-lg);height:var(--p-ic-lg)}.stop[data-v-67e4d9ee]{width:var(--composer-send-size);height:var(--composer-send-size);border-radius:50%;background:var(--color-danger-soft);color:var(--color-danger);border:1px solid var(--color-danger-bd);box-shadow:var(--shadow-xs);padding:0;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;margin-left:var(--space-2);transition:background .16s ease,color .16s ease,border-color .16s ease,transform .12s ease}.stop[data-v-67e4d9ee]:hover{background:var(--color-danger);color:var(--surface-light);border-color:var(--color-danger)}.stop[data-v-67e4d9ee]:active{transform:scale(.92)}.stop svg[data-v-67e4d9ee]{flex:none;width:var(--p-ic-lg);height:var(--p-ic-lg)}.toolbar[data-v-67e4d9ee]{display:flex;align-items:center;justify-content:space-between;padding:6px var(--composer-send-inset) var(--composer-send-inset);position:relative}.menu-measure[data-v-67e4d9ee]{position:absolute;width:max-content;height:0;overflow:hidden;visibility:hidden;pointer-events:none}.toolbar-left[data-v-67e4d9ee],.toolbar-right[data-v-67e4d9ee]{display:flex;align-items:center;gap:2px;min-width:0;overflow:hidden}.toolbar-left[data-v-67e4d9ee]{flex-wrap:wrap;row-gap:4px}.perm-pill[data-v-67e4d9ee]{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:6px;font-size:var(--ui-font-size);color:var(--color-text);cursor:pointer;user-select:none;transition:background .1s,color .15s;font-family:var(--font-ui);font-weight:var(--weight-medium)}.perm-pill[data-v-67e4d9ee]:hover{background:var(--color-surface-sunken)}.perm-pill.open[data-v-67e4d9ee]{background:var(--color-accent-soft)}.perm-pill.perm-manual[data-v-67e4d9ee]{color:var(--dim)}.perm-pill.perm-yolo[data-v-67e4d9ee]{color:var(--color-warning)}.perm-pill.perm-auto[data-v-67e4d9ee]{color:var(--color-danger)}.ctx-group[data-v-67e4d9ee]{display:flex;align-items:center;gap:4px;flex-shrink:0;padding:2px 4px;border-radius:var(--radius-xs)}.ctx-group[data-v-67e4d9ee]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.model-pill[data-v-67e4d9ee]{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:6px;font-size:var(--ui-font-size);line-height:var(--leading-normal);color:var(--dim);font-family:var(--font-ui);font-weight:var(--weight-medium);cursor:pointer;user-select:none;transition:background .1s;position:relative;overflow:hidden}.model-pill[data-v-67e4d9ee]:hover{background:var(--color-surface-sunken);color:var(--color-text)}.model-pill.open[data-v-67e4d9ee]{background:var(--color-accent-soft)}.model-pill b[data-v-67e4d9ee]{font-weight:500;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:280px}.model-pill .think-suffix[data-v-67e4d9ee]{color:var(--color-accent);font-weight:500;flex-shrink:0}.model-pill .cv[data-v-67e4d9ee]{color:var(--faint);flex:none}.model-pill:hover .cv[data-v-67e4d9ee],.model-pill.open .cv[data-v-67e4d9ee]{color:var(--color-accent-hover)}.model-dropdown[data-v-67e4d9ee]{position:absolute;bottom:calc(100% + 4px);right:10px;z-index:var(--z-dropdown);min-width:200px;background:var(--color-surface-raised);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:5px;max-height:min(520px,calc(100vh - 96px));max-height:min(520px,calc(100dvh - 96px));overflow-y:auto;display:flex;flex-direction:column;gap:1px;font-family:var(--font-ui)}.md-section[data-v-67e4d9ee]{padding:4px 7px 2px;font-size:var(--text-xs);color:var(--muted);text-transform:uppercase;letter-spacing:0;font-weight:var(--weight-semibold)}.md-row[data-v-67e4d9ee]{display:flex;align-items:center;gap:7px;width:100%;background:none;border:none;cursor:pointer;font-family:var(--font-ui);font-size:var(--ui-font-size);color:var(--color-text);padding:5px 7px;border-radius:6px;text-align:left}.md-row[data-v-67e4d9ee]:hover{background:var(--color-surface-sunken)}.md-row[data-v-67e4d9ee]:disabled{cursor:default;opacity:.58}.md-row[data-v-67e4d9ee]:disabled:hover{background:none}.md-row.is-current[data-v-67e4d9ee]{color:var(--color-text);background:var(--color-accent-soft)}.md-row.is-on[data-v-67e4d9ee]{color:var(--color-accent)}.md-note[data-v-67e4d9ee]{margin-left:auto;color:var(--muted);font-size:var(--ui-font-size-xs)}.md-row-more[data-v-67e4d9ee]{color:var(--color-accent);font-weight:500}.md-row-more[data-v-67e4d9ee]:hover{background:var(--color-accent-soft)}.md-check[data-v-67e4d9ee]{width:14px;flex:none;color:var(--color-accent);font-weight:500;display:flex;justify-content:center}.md-name[data-v-67e4d9ee]{flex:1}.md-provider[data-v-67e4d9ee]{color:var(--muted);font-size:var(--ui-font-size-xs);flex:none}.md-star[data-v-67e4d9ee]{color:var(--star);flex:none;margin-left:auto}.md-divider[data-v-67e4d9ee]{height:1px;background:var(--line);margin:3px 0}.md-thinking[data-v-67e4d9ee]{display:flex;align-items:center;gap:8px;padding:6px 7px;border-radius:var(--radius-sm)}.md-thinking .md-name[data-v-67e4d9ee]{font-family:var(--font-ui);font-size:var(--ui-font-size);color:var(--color-text);flex:none}.md-thinking .md-note[data-v-67e4d9ee]{margin-left:auto}.effort-segments[data-v-67e4d9ee]{margin-left:auto;display:inline-flex;align-items:center;gap:1px;padding:2px;background:var(--color-surface-sunken);border:1px solid var(--color-line);border-radius:var(--radius-md)}.effort-seg[data-v-67e4d9ee]{appearance:none;border:none;background:none;cursor:pointer;font-family:var(--font-ui);font-size:var(--ui-font-size-xs);line-height:1;color:var(--color-text-muted);padding:4px 9px;border-radius:var(--radius-sm);white-space:nowrap;transition:background .12s,color .12s,box-shadow .12s}.effort-seg[data-v-67e4d9ee]:hover:not(:disabled):not(.is-active){background:var(--color-surface-raised);color:var(--color-text)}.effort-seg[data-v-67e4d9ee]:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.effort-seg.is-active[data-v-67e4d9ee]{background:var(--color-accent);color:var(--color-text-on-accent);box-shadow:var(--shadow-xs);font-weight:500}.effort-seg[data-v-67e4d9ee]:disabled{cursor:default}.md-thinking.is-readonly .effort-segments[data-v-67e4d9ee]{opacity:.62}.md-cache-note[data-v-67e4d9ee]{width:0;min-width:100%;padding:2px 7px 4px;color:var(--muted);font-size:var(--ui-font-size-xs);line-height:1.4}.md-thinking.is-readonly .effort-seg.is-active[data-v-67e4d9ee]{background:var(--color-surface-raised);color:var(--color-text-muted);box-shadow:none}.perm-dropdown[data-v-67e4d9ee]{position:absolute;bottom:calc(100% + 4px);left:10px;z-index:var(--z-dropdown);min-width:220px;width:max-content;max-width:min(calc(100vw - var(--space-8)),calc(100% - 20px));background:var(--color-surface-raised);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:5px;display:flex;flex-direction:column;gap:1px}.pd-row[data-v-67e4d9ee]{display:grid;grid-template-columns:14px var(--composer-menu-desc-width, max-content);column-gap:7px;row-gap:2px;align-items:start;width:100%;background:none;border:none;cursor:pointer;padding:6px 7px;border-radius:6px;text-align:left}.pd-row[data-v-67e4d9ee]:hover{background:var(--color-surface-sunken)}.pd-row.is-current[data-v-67e4d9ee]{background:var(--color-accent-soft)}.pd-check[data-v-67e4d9ee]{grid-column:1;grid-row:1;width:14px;min-height:1lh;color:var(--color-accent);font-size:var(--ui-font-size);font-weight:var(--weight-medium);display:flex;align-items:center;justify-content:center;line-height:var(--leading-normal)}.pd-info[data-v-67e4d9ee]{display:contents}.pd-name[data-v-67e4d9ee]{grid-column:2;grid-row:1;font-family:var(--font-ui);font-size:var(--ui-font-size);font-weight:var(--weight-medium);line-height:var(--leading-normal)}.pd-desc[data-v-67e4d9ee]{grid-column:2;grid-row:2;width:var(--composer-menu-desc-width, auto);font-family:var(--font-ui);font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--muted);line-height:var(--leading-normal)}.add-menu-anchor[data-v-67e4d9ee]{display:inline-flex;flex:none}.add-menu-anchor .ui-icon-button.is-open[data-v-67e4d9ee]{background:var(--color-accent-soft);color:var(--color-accent-hover)}.add-menu[data-v-67e4d9ee]{position:fixed;z-index:var(--z-dropdown);min-width:220px;width:max-content;max-width:calc(100vw - var(--space-8));background:var(--color-surface-raised);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:5px;display:flex;flex-direction:column;gap:1px;font-family:var(--font-ui)}.add-menu .pd-check[data-v-67e4d9ee]{color:var(--muted)}.add-menu .pd-row.is-current .pd-check[data-v-67e4d9ee],.add-menu .pd-row.is-current .pd-name[data-v-67e4d9ee]{color:var(--color-accent-hover)}.mode-chip[data-v-67e4d9ee]{display:inline-flex;align-items:center;flex:none;border:1px solid var(--line);border-radius:var(--radius-sm);background:transparent;overflow:hidden;transition:background .1s,border-color .1s,color .15s}.mode-chip[data-v-67e4d9ee]:hover{background:var(--color-surface-sunken)}.mode-chip.on[data-v-67e4d9ee]{background:var(--color-accent-soft);border-color:var(--color-accent-bd)}.mode-chip-main[data-v-67e4d9ee]{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border:none;background:none;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-xs);font-weight:var(--weight-medium);line-height:var(--leading-normal);cursor:pointer;user-select:none}.mode-chip-main[data-v-67e4d9ee]:hover{color:var(--color-text)}.mode-chip.on .mode-chip-main[data-v-67e4d9ee]{color:var(--color-accent-hover)}.mode-chip-x[data-v-67e4d9ee]{display:inline-flex;align-items:center;justify-content:center;padding:0 4px;border:none;background:none;color:inherit;cursor:pointer}.mode-chip-x[data-v-67e4d9ee]:hover{color:var(--color-text)}.mode-chip.on .mode-chip-x[data-v-67e4d9ee]:hover{color:var(--color-accent-hover)}.mode-chip-x[data-v-67e4d9ee]:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}@media(max-width:980px){.model-pill b[data-v-67e4d9ee]{max-width:130px}.perm-pill[data-v-67e4d9ee]{max-width:104px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media(max-width:640px){.composer[data-v-67e4d9ee]{padding:9px var(--dock-inline-right, max(12px, var(--safe-right))) max(24px,var(--safe-bottom)) var(--dock-inline-left, max(12px, var(--safe-left)))}.composer-card[data-v-67e4d9ee]{--composer-send-size: 36px;max-width:100%}.input-row[data-v-67e4d9ee]{gap:6px;min-width:0}.send[data-v-67e4d9ee]{width:var(--composer-send-size);height:var(--composer-send-size);min-width:var(--composer-send-size);padding:0;border-radius:50%;font-size:0;align-self:flex-end;position:relative}.send svg[data-v-67e4d9ee]{display:none}.send[data-v-67e4d9ee]:after{content:"↑";font-size:17px;line-height:1;color:var(--bg)}.stop[data-v-67e4d9ee]{width:var(--composer-send-size);height:var(--composer-send-size);min-width:var(--composer-send-size);padding:0;border-radius:50%;font-size:0;align-self:flex-end;position:relative}.stop svg[data-v-67e4d9ee]{display:none}.stop[data-v-67e4d9ee]:after{content:"■";font-size:17px;line-height:1}.perm-pill[data-v-67e4d9ee],.add-menu-anchor[data-v-67e4d9ee],.mode-chip[data-v-67e4d9ee]{display:none}.model-dropdown[data-v-67e4d9ee]{right:10px;left:auto;min-width:180px;max-width:calc(100vw - 24px)}.ph[data-v-67e4d9ee]{font-size:16px}.model-pill[data-v-67e4d9ee],.attach-btn[data-v-67e4d9ee]{font-size:var(--ui-font-size)}.toolbar[data-v-67e4d9ee]{gap:6px;min-width:0}.toolbar-left[data-v-67e4d9ee],.toolbar-right[data-v-67e4d9ee]{min-width:0}.model-pill[data-v-67e4d9ee]{max-width:min(52vw,220px)}.model-pill b[data-v-67e4d9ee]{max-width:min(40vw,170px)}.md-row[data-v-67e4d9ee],.md-section[data-v-67e4d9ee]{font-size:var(--ui-font-size)}.md-thinking[data-v-67e4d9ee]{flex-wrap:wrap;row-gap:6px}.md-thinking .effort-segments[data-v-67e4d9ee]{margin-left:0;width:100%;justify-content:space-between}.md-thinking .effort-seg[data-v-67e4d9ee]{flex:1;padding:5px 6px}.pd-name[data-v-67e4d9ee]{font-size:var(--ui-font-size)}.pd-desc[data-v-67e4d9ee]{font-size:var(--text-xs)}}.ui-card[data-v-9c9f9a9a]{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);overflow:hidden}.ui-card.is-elevated[data-v-9c9f9a9a]{box-shadow:var(--shadow-md);border-color:transparent}.ui-card__head[data-v-9c9f9a9a]{display:flex;align-items:center;gap:var(--space-2);padding:10px 14px;border-bottom:1px solid var(--color-line);background:var(--color-surface);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text)}.ui-card__body[data-v-9c9f9a9a]{padding:14px;color:var(--color-text-muted)}.ui-card__foot[data-v-9c9f9a9a]{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);padding:10px 14px;border-top:1px solid var(--color-line);background:var(--color-surface)}.goal-strip[data-v-9e444f61]{--composer-send-size: 32px;--composer-send-inset: var(--space-2);--goal-corner-radius: calc((var(--composer-send-size) / 2) + var(--composer-send-inset) + var(--space-3));margin:var(--space-2) var(--space-4) 0;box-shadow:var(--shadow-md)}.goal-strip.ui-card[data-v-9e444f61]{border-radius:var(--goal-corner-radius);corner-shape:superellipse(1.5)}.goal-strip:not(.expanded).ui-card[data-v-9e444f61]{border-radius:var(--radius-full);corner-shape:round}.goal-strip[data-v-9e444f61] .ui-card__foot{padding:var(--composer-send-inset)}.goal-strip[data-v-9e444f61] .ui-card__head,.goal-strip[data-v-9e444f61] .ui-card__body,.goal-strip[data-v-9e444f61] .ui-card__foot{padding-left:calc((var(--composer-send-inset) + var(--composer-send-size)) / 2)}.goal-strip[data-v-9e444f61] .ui-card__body{background:var(--color-surface-raised);max-height:480px;overflow:hidden;opacity:1;transition:max-height var(--duration-slow) var(--ease-out),padding-top var(--duration-slow) var(--ease-out),padding-bottom var(--duration-slow) var(--ease-out),opacity var(--duration-base) var(--ease-out)}.goal-strip[data-v-9e444f61]:not(.expanded) .ui-card__body{max-height:0;padding-top:0;padding-bottom:0;opacity:0}.goal-strip[data-v-9e444f61] .ui-card__head{border-bottom-color:var(--color-line);transition:border-bottom-color var(--duration-base) var(--ease-out)}.goal-strip[data-v-9e444f61]:not(.expanded) .ui-card__head{border-bottom-color:transparent}.goal-row[data-v-9e444f61]{width:100%;display:flex;align-items:center;gap:var(--space-2);padding:0;border:none;background:transparent;color:var(--color-text);font:var(--text-base)/var(--leading-normal) var(--font-ui);text-align:left;cursor:pointer}.goal-kicker[data-v-9e444f61]{flex:none;color:var(--color-success);font:var(--text-base)/var(--leading-normal) var(--font-ui);font-weight:var(--weight-semibold)}.goal-icon[data-v-9e444f61]{flex:none;color:var(--color-success);margin-right:calc(-1 * var(--space-1))}.goal-objective[data-v-9e444f61]{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text);font-size:var(--text-base);text-align:left}.goal-objective.expanded-hidden[data-v-9e444f61]{visibility:hidden;pointer-events:none}.goal-status[data-v-9e444f61]{flex:none}.goal-progress[data-v-9e444f61]{width:54px;height:4px;border-radius:var(--radius-full);background:var(--color-line);overflow:hidden;flex:none}.goal-progress-fill[data-v-9e444f61]{display:block;height:100%;border-radius:var(--radius-sm);background:var(--color-success)}.goal-chevron[data-v-9e444f61]{width:var(--p-ic-sm);height:var(--p-ic-sm);color:var(--color-text-muted);transition:transform var(--duration-fast) var(--ease-out);flex:none}.goal-chevron.open[data-v-9e444f61]{transform:rotate(90deg)}.goal-full[data-v-9e444f61]{color:var(--color-text);font-size:var(--text-base);line-height:var(--leading-normal);white-space:pre-wrap;overflow-wrap:anywhere}.goal-criterion[data-v-9e444f61]{margin-top:var(--space-3);color:var(--color-text-muted);font:var(--text-xs) var(--font-mono);text-transform:uppercase}.goal-criterion p[data-v-9e444f61]{margin:var(--space-1) 0 0;color:var(--color-text-muted);font:var(--text-xs)/var(--leading-normal) var(--font-ui);text-transform:none}.goal-footer[data-v-9e444f61]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:100%;min-width:0}.goal-strip[data-v-9e444f61] .ui-card__foot{max-height:100px;overflow:hidden;opacity:1;transition:max-height var(--duration-slow) var(--ease-out),padding-top var(--duration-slow) var(--ease-out),padding-bottom var(--duration-slow) var(--ease-out),opacity var(--duration-base) var(--ease-out),border-top-color var(--duration-base) var(--ease-out)}.goal-strip[data-v-9e444f61]:not(.expanded) .ui-card__foot{max-height:0;padding-top:0;padding-bottom:0;border-top-color:transparent;opacity:0}.goal-meta[data-v-9e444f61]{min-width:0;display:flex;flex-wrap:wrap;gap:var(--space-2);color:var(--color-text-muted);font:var(--text-xs)/var(--leading-normal) var(--font-ui);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums}.goal-actions[data-v-9e444f61]{display:flex;gap:var(--space-2);justify-content:flex-end;flex:none}.goal-action[data-v-9e444f61]{flex:none;min-width:0;height:var(--composer-send-size);border-radius:var(--radius-full);padding-inline:var(--space-4)}.goal-action[data-v-9e444f61] .ui-button__content{gap:var(--space-1)}@media(max-width:640px){.goal-strip[data-v-9e444f61]{--composer-send-size: 36px;margin:var(--space-2) var(--space-3) 0}.goal-progress[data-v-9e444f61]{display:none}}@media(prefers-reduced-motion:reduce){.goal-strip[data-v-9e444f61] .ui-card__head,.goal-strip[data-v-9e444f61] .ui-card__body,.goal-strip[data-v-9e444f61] .ui-card__foot{transition:none}}.qcard[data-v-fe9d5a9a]{margin:var(--space-2) 0;display:flex;flex-direction:column}.qcard[data-v-fe9d5a9a] .ui-card__head{flex:none}.qcard[data-v-fe9d5a9a] .ui-card__body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.qcard[data-v-fe9d5a9a] .ui-card__foot{flex:none}.qcard.ui-card[data-v-fe9d5a9a]{border-color:var(--color-accent-bd)}.qcard[data-v-fe9d5a9a] .ui-card__head{background:var(--color-accent-soft);border-bottom-color:var(--color-accent-bd)}.qcard.minimized[data-v-fe9d5a9a] .ui-card__body{display:none}.qcard.minimized[data-v-fe9d5a9a] .ui-card__head{border-bottom:none}.qh[data-v-fe9d5a9a]{display:flex;align-items:center;gap:var(--space-2);width:100%;font:var(--text-sm)/var(--leading-normal) var(--font-ui)}.qh-ic[data-v-fe9d5a9a]{width:var(--p-ic-md);height:var(--p-ic-md);display:inline-flex;align-items:center;justify-content:center;color:var(--color-accent);font-weight:var(--weight-semibold);font-size:15px;line-height:1;flex:none}.qtitle[data-v-fe9d5a9a]{color:var(--color-accent-hover);font-size:var(--text-base);font-weight:var(--weight-semibold)}.qstep[data-v-fe9d5a9a]{color:var(--color-text-muted);font:var(--text-xs) var(--font-ui);margin-left:var(--space-1)}.qmin[data-v-fe9d5a9a]{margin-left:auto}.qmin-peek[data-v-fe9d5a9a]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-muted);font:var(--text-xs) var(--font-ui)}.qbody[data-v-fe9d5a9a]{flex:1 1 auto;min-height:0;overflow-y:auto;color:var(--color-text);font:var(--text-base)/var(--leading-normal) var(--font-ui)}.qsteps[data-v-fe9d5a9a]{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);font-family:var(--font-ui)}.qstep-dot[data-v-fe9d5a9a]{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--radius-full);border:1px solid var(--color-line);background:var(--color-surface);color:var(--color-text-muted);font:var(--text-xs) var(--font-ui);cursor:pointer;padding:0;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.qstep-dot[data-v-fe9d5a9a]:hover:not(.active){background:var(--color-surface-sunken)}.qstep-dot.active[data-v-fe9d5a9a]{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-text-on-accent);font-weight:var(--weight-medium)}.qstep-dot.answered[data-v-fe9d5a9a]:not(.active){border-color:var(--color-accent);color:var(--color-accent)}.qheader-chip[data-v-fe9d5a9a]{margin-bottom:var(--space-2)}.qtext[data-v-fe9d5a9a]{font-size:var(--text-base);color:var(--color-text);font-weight:var(--weight-medium);margin-bottom:var(--space-2);line-height:var(--leading-normal)}.qmdbody[data-v-fe9d5a9a]{margin-bottom:var(--space-2)}.qopts[data-v-fe9d5a9a]{display:flex;flex-direction:column;gap:var(--space-1);margin-top:var(--space-2)}.qopt[data-v-fe9d5a9a]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--color-line);border-radius:var(--radius-md);cursor:pointer;font:var(--text-sm)/var(--leading-normal) var(--font-ui);color:var(--color-text);transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out);user-select:none}.qopt[data-v-fe9d5a9a]:hover{background:var(--color-surface-sunken)}.qopt.selected[data-v-fe9d5a9a]{border-color:var(--color-accent-bd);background:var(--color-accent-soft);color:var(--color-text)}.qopt-key[data-v-fe9d5a9a]{color:var(--color-text-muted);font:var(--text-xs) var(--font-ui);font-weight:var(--weight-medium);width:12px;flex:none;text-align:center}.qopt-glyph[data-v-fe9d5a9a]{color:var(--color-accent-hover);font-size:var(--text-base);flex:none}.qopt-text[data-v-fe9d5a9a]{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.qopt-label[data-v-fe9d5a9a]{color:var(--color-text);font-size:var(--text-base);font-weight:var(--weight-medium)}.qopt-desc[data-v-fe9d5a9a]{color:var(--color-text-muted);font:var(--text-xs)/var(--leading-normal) var(--font-ui);font-weight:var(--weight-medium)}.chk[data-v-fe9d5a9a],.rad[data-v-fe9d5a9a]{font:var(--text-base) var(--font-mono)}.other-input[data-v-fe9d5a9a]{flex:1;font:var(--text-base) var(--font-ui);border:none;border-bottom:1px solid var(--color-line);outline:none;padding:2px var(--space-1);color:var(--color-text);background:transparent;min-width:0}.other-input[data-v-fe9d5a9a]:focus-visible{border-bottom-color:var(--color-accent);box-shadow:0 1px 0 0 var(--color-accent)}.qfoot[data-v-fe9d5a9a]{display:flex;justify-content:flex-end;gap:var(--space-2);width:100%}@media(max-width:640px){.qh[data-v-fe9d5a9a]{flex-wrap:wrap;row-gap:var(--space-1)}.qtext[data-v-fe9d5a9a]{font-size:var(--text-lg)}.qstep-dot[data-v-fe9d5a9a]{width:28px;height:28px;font:var(--text-xs) var(--font-ui)}.qopt[data-v-fe9d5a9a]{min-height:44px;padding:var(--space-3);font-size:var(--text-base);border-radius:var(--radius-md)}.qopt-desc[data-v-fe9d5a9a]{font-size:var(--text-xs)}.other-input[data-v-fe9d5a9a]{flex-basis:100%;min-height:28px}.qfoot[data-v-fe9d5a9a]{flex-direction:column}.qfoot-btn[data-v-fe9d5a9a]{width:100%;min-height:46px}.qfoot-main[data-v-fe9d5a9a]{order:-1}}.appr[data-v-458a9d7d]{margin:var(--space-2) 0}.appr.ui-card[data-v-458a9d7d]{border-color:var(--color-warning-bd)}.appr[data-v-458a9d7d] .ui-card__head{background:var(--color-warning-soft);border-bottom-color:var(--color-warning-bd)}.appr.minimized[data-v-458a9d7d] .ui-card__body{display:none}.appr.minimized[data-v-458a9d7d] .ui-card__head{border-bottom:none}.ah[data-v-458a9d7d]{display:flex;align-items:center;gap:var(--space-2);width:100%;font:var(--text-sm)/var(--leading-normal) var(--font-ui);flex-wrap:nowrap}.ah-ic[data-v-458a9d7d]{width:var(--p-ic-md);height:var(--p-ic-md);display:inline-flex;align-items:center;justify-content:center;color:var(--color-warning);font-weight:var(--weight-semibold);font-size:15px;line-height:1;flex:none}.akind[data-v-458a9d7d]{color:var(--color-warning);font-size:var(--text-base);font-weight:var(--weight-semibold);white-space:nowrap;flex:none}.apath[data-v-458a9d7d]{color:var(--color-text);font:var(--text-sm) var(--font-mono);flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ah-path[data-v-458a9d7d]{margin-bottom:var(--space-2);color:var(--color-text-muted);font:var(--text-xs) var(--font-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aw[data-v-458a9d7d],.minimized .amin[data-v-458a9d7d]{margin-left:auto}.diff[data-v-458a9d7d]{border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface-sunken);overflow:hidden;font:var(--text-sm)/1.85 var(--font-mono)}.dl[data-v-458a9d7d]{display:flex;padding:0 var(--space-3)}.dg[data-v-458a9d7d]{width:30px;color:var(--color-text-muted);text-align:right;padding-right:var(--space-3);user-select:none}.dc[data-v-458a9d7d]{white-space:pre;font:inherit}.del[data-v-458a9d7d]{background:var(--color-danger-soft)}.del .dc[data-v-458a9d7d]{color:var(--color-danger)}.add[data-v-458a9d7d]{background:var(--color-success-soft)}.add .dc[data-v-458a9d7d]{color:var(--color-success)}.shell-cmd[data-v-458a9d7d]{font:var(--text-sm) var(--font-mono);background:var(--color-surface-sunken);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);white-space:pre-wrap;word-break:break-all;max-height:160px;overflow-y:auto;color:var(--color-text)}.shell-dollar[data-v-458a9d7d]{color:var(--color-accent-hover);font-weight:var(--weight-medium);margin-right:var(--space-2)}.shell-cwd[data-v-458a9d7d]{font:var(--text-xs) var(--font-mono);color:var(--color-text-muted);margin-top:var(--space-1)}.shell-danger[data-v-458a9d7d]{margin-top:var(--space-2);padding:var(--space-1) var(--space-3);border:1px solid var(--color-danger-bd);border-radius:var(--radius-sm);color:var(--color-danger);font:var(--text-sm) var(--font-ui);background:var(--color-danger-soft)}.body-file[data-v-458a9d7d]{border:1px solid var(--color-line);border-radius:var(--radius-md);overflow:hidden}.file-bar[data-v-458a9d7d]{padding:var(--space-1) var(--space-3);background:var(--color-surface);border-bottom:1px solid var(--color-line);font:var(--text-xs) var(--font-mono);color:var(--color-text-muted)}.file-lang[data-v-458a9d7d]{letter-spacing:.04em}.file-content[data-v-458a9d7d]{padding:var(--space-2) 0;font:var(--text-sm)/1.7 var(--font-mono);background:var(--color-surface-sunken);max-height:240px;overflow-y:auto}.file-line[data-v-458a9d7d]{display:flex;padding:0 var(--space-3)}.file-ln[data-v-458a9d7d]{width:30px;color:var(--color-text-muted);text-align:right;padding-right:var(--space-3);user-select:none;flex:none}.file-text[data-v-458a9d7d]{white-space:pre;font:inherit}.body-chip[data-v-458a9d7d]{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;font:var(--text-base)/var(--leading-normal) var(--font-ui);color:var(--color-text)}.chip-label[data-v-458a9d7d]{background:var(--color-surface-sunken);border:1px solid var(--color-line);border-radius:var(--radius-sm);padding:2px var(--space-2);font:var(--weight-semibold) var(--text-xs) var(--font-mono);color:var(--color-text-muted);white-space:nowrap}.chip-value[data-v-458a9d7d]{font:var(--text-sm) var(--font-mono);color:var(--color-text);word-break:break-all}.chip-detail[data-v-458a9d7d]{font:var(--text-xs) var(--font-ui);color:var(--color-text-muted)}.todo-item[data-v-458a9d7d]{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-1) 0;font:var(--text-base)/var(--leading-normal) var(--font-ui);color:var(--color-text)}.todo-glyph[data-v-458a9d7d]{color:var(--color-accent);font-size:var(--text-sm);flex:none;width:14px}.todo-title[data-v-458a9d7d]{color:var(--color-text)}.todo-done[data-v-458a9d7d]{color:var(--color-text-muted);text-decoration:line-through}.body-generic[data-v-458a9d7d]{font:var(--text-base)/var(--leading-normal) var(--font-ui);color:var(--color-text);word-break:break-word}.body-plan[data-v-458a9d7d]{max-height:50vh;overflow-y:auto}.feedback-wrap[data-v-458a9d7d]{margin-top:var(--space-3)}.feedback-ta[data-v-458a9d7d]{width:100%;box-sizing:border-box;font:var(--text-sm) var(--font-ui);padding:var(--space-2) var(--space-2);border:1px solid var(--color-line);border-radius:var(--radius-sm);resize:none;outline:none;color:var(--color-text);background:var(--color-surface-raised)}.feedback-ta[data-v-458a9d7d]:focus-visible{border-color:var(--color-accent);box-shadow:var(--p-focus-ring)}.feedback-hint[data-v-458a9d7d]{font:var(--text-xs) var(--font-ui);color:var(--color-text-muted);margin-top:var(--space-1)}.abtn[data-v-458a9d7d],.plan-actions[data-v-458a9d7d]{display:flex;justify-content:flex-end;gap:var(--space-2);width:100%}.plan-actions[data-v-458a9d7d]{flex-wrap:wrap}.k[data-v-458a9d7d]{opacity:.75}@media(max-width:640px){.diff[data-v-458a9d7d],.file-content[data-v-458a9d7d]{overflow-x:auto;-webkit-overflow-scrolling:touch}.file-content[data-v-458a9d7d]{max-height:50vh}.abtn[data-v-458a9d7d],.plan-actions[data-v-458a9d7d]{flex-direction:column}.kbtn[data-v-458a9d7d]{width:100%;min-height:46px}}.ui-seg[data-v-d1aaccd7]{display:inline-flex;gap:2px;padding:2px;background:var(--color-surface-sunken);border:1px solid var(--color-line);border-radius:var(--radius-md)}.ui-seg__item[data-v-d1aaccd7]{border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);font-family:var(--font-ui);font-weight:var(--weight-medium);cursor:pointer;line-height:1;transition:background var(--duration-base) var(--ease-out),color var(--duration-base) var(--ease-out),box-shadow var(--duration-base) var(--ease-out)}.ui-seg--md .ui-seg__item[data-v-d1aaccd7]{padding:5px var(--space-3);font-size:var(--text-sm)}.ui-seg--sm .ui-seg__item[data-v-d1aaccd7]{height:24px;padding:0 var(--space-2);font-size:var(--text-sm)}.ui-seg__item[data-v-d1aaccd7]:hover:not(.is-on){color:var(--color-text)}.ui-seg__item.is-on[data-v-d1aaccd7]{background:var(--color-surface-raised);color:var(--color-text);box-shadow:var(--shadow-xs)}.ui-seg__item[data-v-d1aaccd7]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.status-glyph[data-v-4a029f7f]{flex:none;width:16px;font-size:var(--text-base);line-height:1;text-align:center;user-select:none}.status-glyph.s-run[data-v-4a029f7f]{color:var(--color-accent);font-weight:500;animation:status-glyph-pulse-4a029f7f 1.4s var(--ease-out) infinite}@keyframes status-glyph-pulse-4a029f7f{0%,to{opacity:1}50%{opacity:.35}}.status-glyph.s-done[data-v-4a029f7f]{color:var(--color-success)}.status-glyph.s-fail[data-v-4a029f7f]{color:var(--color-danger)}.status-glyph.s-pending[data-v-4a029f7f]{color:var(--color-text-faint)}.tcm[data-v-4829abca]{position:absolute;top:4px;right:6px;z-index:1}.tcm-trigger[data-v-4829abca]{display:inline-grid;place-items:center;width:26px;height:26px;border:1px solid var(--line);border-radius:var(--radius-xs);background:var(--panel2);color:var(--dim);cursor:pointer;opacity:0;visibility:hidden;transition:opacity .12s ease,visibility .12s ease,color .12s ease,border-color .12s ease}.tcm-trigger[data-v-4829abca]:hover{background:var(--panel)}.tcm-trigger.copied[data-v-4829abca]{color:var(--color-success);border-color:color-mix(in srgb,var(--color-success) 30%,var(--line))}.tcm-trigger[data-v-4829abca]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.tcm-trigger svg[data-v-4829abca]{width:var(--p-ic-md);height:var(--p-ic-md)}.tcm:hover .tcm-trigger[data-v-4829abca],.tcm:focus-within .tcm-trigger[data-v-4829abca],.tcm-trigger[data-v-4829abca]:focus-visible{opacity:1;visibility:visible}.tcm-menu[data-v-4829abca]{position:absolute;top:calc(100% + 4px);right:0;min-width:170px}.taskspane[data-v-1c6864c4]{padding:14px 18px 10px;flex:1;min-height:0;display:flex;flex-direction:column}.tp-head[data-v-1c6864c4]{border-top:1px solid var(--line);padding-top:10px;margin-bottom:8px;display:flex;align-items:baseline;gap:8px}.tp-title[data-v-1c6864c4]{color:var(--color-accent-hover);font-weight:500;font-size:var(--text-base);text-transform:capitalize}.tp-count[data-v-1c6864c4]{color:var(--muted);font-size:var(--text-base)}.tp-filter[data-v-1c6864c4]{padding-bottom:8px}.tp-body[data-v-1c6864c4]{flex:1;min-height:0;display:flex;gap:10px}.tp-list-col[data-v-1c6864c4]{flex:1;min-width:0;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.tp-row[data-v-1c6864c4]{padding:4px 0}.tp-row.done .tp-name[data-v-1c6864c4],.tp-card.done .tp-card-name[data-v-1c6864c4]{color:var(--muted);text-decoration:line-through}.tp-row.fail .tp-name[data-v-1c6864c4],.tp-card.fail .tp-card-name[data-v-1c6864c4]{color:var(--color-danger)}.tp-main[data-v-1c6864c4]{display:flex;align-items:center;gap:7px;font-size:var(--text-base)}.tp-row.expandable>.tp-main[data-v-1c6864c4]{cursor:pointer;border-radius:4px}.tp-row.expandable>.tp-main[data-v-1c6864c4]:hover{background:var(--panel2)}.tp-row.selected>.tp-main[data-v-1c6864c4]{background:var(--panel2)}.tp-chevron[data-v-1c6864c4]{flex:none;color:var(--muted);transition:transform .12s}.tp-chevron.open[data-v-1c6864c4]{transform:rotate(90deg)}.tp-name[data-v-1c6864c4]{color:var(--color-text);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tp-time[data-v-1c6864c4]{flex:none;font-size:var(--text-base);color:var(--muted)}.tp-stop[data-v-1c6864c4]{flex:none;background:none;border:1px solid color-mix(in srgb,var(--color-danger) 22%,var(--bg));border-radius:var(--radius-xs);color:var(--color-danger);font-size:max(9px,calc(var(--ui-font-size) - 3.5px));padding:1px 8px;cursor:pointer;font-family:var(--mono)}.tp-stop[data-v-1c6864c4]:hover{background:var(--panel)}.tp-detail[data-v-1c6864c4]{margin:4px 0 0 23px;display:flex;flex-direction:column;gap:4px}.tp-detail-col[data-v-1c6864c4]{flex:0 0 44%;min-width:0;min-height:0;overflow-y:auto;border-left:1px solid var(--line);padding-left:10px;display:flex;flex-direction:column;gap:6px}.tp-detail-head[data-v-1c6864c4]{flex:none;padding-bottom:2px}.tp-detail-empty[data-v-1c6864c4]{padding:18px 6px;text-align:center;color:var(--faint);font-size:var(--ui-font-size-sm)}.tp-codebox[data-v-1c6864c4]{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-xs)}.tp-pre[data-v-1c6864c4]{margin:0;padding:6px 10px;max-height:320px;overflow:auto;contain:layout paint}.tp-pre code[data-v-1c6864c4]{display:block;font-family:var(--mono);font-size:var(--text-base);line-height:1.55;color:var(--dim);white-space:pre-wrap;word-break:break-word}.tp-cmd[data-v-1c6864c4]{display:block;color:var(--muted)}.tp-line[data-v-1c6864c4]{display:block}.tp-grid[data-v-1c6864c4]{flex:1;min-height:0;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;align-content:start}.tp-card[data-v-1c6864c4]{display:flex;flex-direction:column;gap:6px;padding:8px 10px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--color-text);font-family:var(--sans);font-size:var(--text-base);text-align:left;cursor:pointer;transition:border-color .12s ease,background .12s ease}.tp-card[data-v-1c6864c4]:hover{background:var(--panel2);border-color:color-mix(in srgb,var(--color-accent-hover) 40%,var(--line))}.tp-card[data-v-1c6864c4]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.tp-card-line[data-v-1c6864c4]{display:flex;align-items:center;gap:7px;min-width:0}.tp-card-name[data-v-1c6864c4]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tp-card-meta[data-v-1c6864c4]{justify-content:space-between}.tp-empty[data-v-1c6864c4]{padding:24px 0;text-align:center;color:var(--faint);font-size:var(--ui-font-size-sm)}@media(max-width:640px){.taskspane[data-v-1c6864c4]{padding:14px 14px 16px}.tp-body[data-v-1c6864c4]{flex-direction:column;overflow-y:auto;gap:8px}.tp-list-col[data-v-1c6864c4]{flex:none;overflow:visible}.tp-detail-col[data-v-1c6864c4]{flex:none;border-left:none;border-top:1px solid var(--line);padding-left:0;padding-top:8px;overflow:visible}.tp-main[data-v-1c6864c4]{flex-wrap:wrap;row-gap:4px}.tp-name[data-v-1c6864c4]{font-size:var(--ui-font-size-sm)}.tp-stop[data-v-1c6864c4]{min-height:32px;display:inline-flex;align-items:center;padding:4px 12px;border-radius:6px;font-size:var(--ui-font-size-xs)}.tp-detail[data-v-1c6864c4]{margin-left:0}.tp-pre[data-v-1c6864c4]{font-size:var(--ui-font-size-xs)}}.tp-stop[data-v-1c6864c4]{border-radius:var(--radius-md);font-family:var(--sans)}.todo-card[data-v-4f8e45d2]{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-base)}.tc-progress[data-v-4f8e45d2]{display:flex;align-items:center;gap:var(--space-1);padding:0 var(--space-1) var(--space-1);color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--weight-medium)}.tc-progress-ico[data-v-4f8e45d2]{color:var(--color-success)}.tc-row[data-v-4f8e45d2]{display:flex;align-items:center;gap:7px;padding:var(--space-2) var(--space-3);background:var(--color-surface-sunken);border:1px solid var(--color-line);border-radius:var(--radius-sm);color:var(--color-text)}.tc-name[data-v-4f8e45d2]{flex:1;min-width:0;overflow-wrap:anywhere;line-height:1.4}.tc-row.s-in_progress[data-v-4f8e45d2]{border-color:var(--color-accent-bd)}.tc-row.s-in_progress .tc-name[data-v-4f8e45d2]{font-weight:var(--weight-medium)}.tc-row.s-done .tc-name[data-v-4f8e45d2]{color:var(--color-text-faint);text-decoration:line-through}.tc-empty[data-v-4f8e45d2]{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-6) var(--space-4);color:var(--color-text-faint);font-size:var(--text-sm)}.tc-empty-ico[data-v-4f8e45d2]{width:28px;height:28px;color:var(--color-line-strong)}@media(max-width:640px){.todo-card[data-v-4f8e45d2]{font-size:var(--text-lg)}}.terminal-panel[data-v-4d134005]{display:flex;flex-direction:column;height:300px;min-height:0}.term-state[data-v-4d134005]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);color:var(--color-text-muted);font-size:var(--text-sm);text-align:center}.term-toolbar[data-v-4d134005]{flex:none;display:flex;align-items:center;gap:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-line)}.term-tabs[data-v-4d134005]{flex:1;min-width:0;display:flex;align-items:center;gap:var(--space-1);overflow-x:auto}.term-tab[data-v-4d134005]{flex:none;display:inline-flex;align-items:center;gap:var(--space-2);height:28px;padding:0 4px 0 var(--space-2);border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-xs);cursor:pointer}.term-tab[data-v-4d134005]:hover{background:var(--color-surface-sunken);color:var(--color-text)}.term-tab.active[data-v-4d134005]{background:var(--color-accent-soft);color:var(--color-text)}.term-tab-label[data-v-4d134005]{font-weight:500}.term-add[data-v-4d134005]{flex:none}.term-add[data-v-4d134005] svg{width:var(--p-ic-sm);height:var(--p-ic-sm)}.term-error[data-v-4d134005]{flex:none;padding:var(--space-2);color:var(--color-danger);font-size:var(--text-xs);border-bottom:1px solid var(--color-line)}.term-exit[data-v-4d134005]{flex:none;padding:var(--space-2);color:var(--color-warning);font-family:var(--font-mono);font-size:var(--text-xs);border-bottom:1px solid var(--color-line)}.term-output[data-v-4d134005]{flex:1;min-height:0;margin:var(--space-2) 0;padding:var(--space-2);overflow-y:auto;background:var(--color-bg);border:1px solid var(--color-line);border-radius:var(--radius-md);color:var(--color-text);font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.term-input-row[data-v-4d134005]{flex:none;display:flex;align-items:center;gap:var(--space-2)}.term-prompt[data-v-4d134005]{flex:none;color:var(--color-accent);font-family:var(--font-mono);font-size:var(--text-xs)}.term-input[data-v-4d134005]{flex:1;min-width:0;background:transparent;border:none;outline:none;padding:var(--space-1) 0;color:var(--color-text);font-family:var(--font-mono);font-size:var(--text-xs)}.term-input[data-v-4d134005]::placeholder{color:var(--color-text-faint)}.term-input[data-v-4d134005]:disabled{opacity:.5}.ui-empty[data-v-38e00944]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-8) var(--space-4);text-align:center;color:var(--color-text-muted)}.ui-empty__icon[data-v-38e00944]{color:var(--color-text-faint)}.ui-empty__icon[data-v-38e00944] svg{width:48px;height:48px}.ui-empty__title[data-v-38e00944]{font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-text-muted)}.ui-empty__hint[data-v-38e00944]{font-size:var(--text-sm);color:var(--color-text-muted)}.goal-panel[data-v-d3a415b3]{min-width:260px;max-width:420px}.gp-head[data-v-d3a415b3]{display:flex;flex-direction:column;gap:var(--space-2)}.gp-title-row[data-v-d3a415b3]{display:flex;align-items:center;gap:var(--space-2);min-width:0}.gp-icon[data-v-d3a415b3]{flex:none;color:var(--color-success)}.gp-kicker[data-v-d3a415b3]{flex:none;color:var(--color-success);font:var(--text-base)/var(--leading-normal) var(--font-ui);font-weight:var(--weight-semibold)}.gp-objective[data-v-d3a415b3]{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text);font:var(--text-base)/var(--leading-normal) var(--font-ui);font-weight:var(--weight-medium)}.gp-status[data-v-d3a415b3]{flex:none}.gp-elapsed[data-v-d3a415b3]{flex:none;display:inline-flex;align-items:center;gap:var(--space-1);color:var(--color-text-muted);font:var(--text-xs)/var(--leading-normal) var(--font-ui);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums}.gp-actions[data-v-d3a415b3]{flex:none;display:flex;align-items:center;gap:var(--space-1);margin-left:var(--space-1)}.gp-action[data-v-d3a415b3]{width:28px;height:28px}.gp-criterion[data-v-d3a415b3]{display:flex;flex-direction:column;gap:var(--space-1);border-top:1px solid var(--color-line);padding-top:var(--space-2)}.gp-criterion-label[data-v-d3a415b3]{color:var(--color-text-muted);font:var(--text-xs) var(--font-mono);text-transform:uppercase}.gp-criterion-text[data-v-d3a415b3]{margin:0;color:var(--color-text-muted);font:var(--text-sm)/var(--leading-normal) var(--font-ui)}.plan-panel[data-v-9073f2b6]{min-width:300px;max-width:460px;display:flex;flex-direction:column;gap:var(--space-2)}.pp-loading[data-v-9073f2b6]{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-muted);font:var(--text-sm) var(--font-ui)}.pp-plan-wrap[data-v-9073f2b6]{display:flex;flex-direction:column;gap:var(--space-2);min-height:0}.pp-path[data-v-9073f2b6]{margin:0;color:var(--color-text-muted);font:var(--text-xs) var(--font-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-plan[data-v-9073f2b6]{margin:0;max-height:300px;overflow-y:auto;padding:var(--space-2) var(--space-3);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface-sunken);color:var(--color-text);font:var(--text-sm)/var(--leading-normal) var(--font-mono);white-space:pre-wrap;overflow-wrap:anywhere}.pp-review[data-v-9073f2b6]{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;color:var(--color-text-muted);font:var(--text-xs) var(--font-ui)}.pp-state[data-v-9073f2b6]{font-weight:var(--weight-medium)}.pp-option[data-v-9073f2b6]{color:var(--color-accent)}.pp-feedback[data-v-9073f2b6]{color:var(--color-text-muted)}.chat-dock[data-v-24d34e66]{--dock-inline-left: 16px;--dock-inline-right: 16px;box-sizing:border-box;width:100%;max-width:calc(var(--read-max) + var(--panes-scrollbar-width, 0px));padding-right:var(--panes-scrollbar-width, 0px);flex:none;position:relative;background:var(--color-bg);z-index:var(--z-sticky)}.chat-dock.align-center[data-v-24d34e66]{margin-left:auto;margin-right:auto}.chat-dock.align-left[data-v-24d34e66]{margin-left:0;margin-right:auto}.chat-dock.align-mobile[data-v-24d34e66]{max-width:none}.dock-work-panel[data-v-24d34e66]{position:absolute;left:16px;right:calc(16px + var(--panes-scrollbar-width, 0px));bottom:100%;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);margin-bottom:7px;max-height:min(360px,50vh);display:flex;flex-direction:column;overflow:hidden}.dock-work-head[data-v-24d34e66]{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--color-line)}.dock-work-tab[data-v-24d34e66]{font-size:var(--text-base);font-weight:500;color:var(--color-text);padding:3px 8px;border-radius:var(--radius-sm);background:var(--color-surface-sunken);border:1px solid var(--color-line)}.dock-work-tab.static[data-v-24d34e66]{background:transparent;border-color:transparent;padding-left:2px}.dock-work-body[data-v-24d34e66]{display:flex;flex-direction:column;padding:8px 10px;overflow-y:auto;min-height:0}.dock-work-body[data-v-24d34e66] .taskspane{border:none;background:transparent;padding:0}.dock-work-body[data-v-24d34e66] .taskspane .tp-head{display:none}.dock-workbar[data-v-24d34e66]{display:flex;align-items:center;flex-wrap:wrap;row-gap:4px;gap:6px;padding:4px var(--dock-inline-right) 2px var(--dock-inline-left)}.dock-workbar .dw-count[data-v-24d34e66]{margin-left:1px}.dock-workbar .dw-count b[data-v-24d34e66]{font-weight:500}.dock-approval[data-v-24d34e66]{margin-top:8px}.chat-dock.has-approval[data-v-24d34e66]{max-height:calc(100dvh - 72px)}.chat-dock.has-approval>.dock-workbar[data-v-24d34e66]{flex:none}.chat-dock.has-approval>.dock-approval[data-v-24d34e66]{min-height:0}.chat-dock.has-question[data-v-24d34e66]{max-height:calc(100vh - 72px);max-height:calc(var(--app-height, 100dvh) - 72px);display:flex;flex-direction:column;padding-bottom:max(var(--space-2),var(--safe-bottom))}.chat-dock.has-question>.dock-workbar[data-v-24d34e66]{flex:none}.chat-dock.has-question>.goal-strip[data-v-24d34e66]{flex:none}.chat-dock.has-question>.qcard[data-v-24d34e66]{flex:1 1 auto;min-height:0}@media(max-width:640px){.chat-dock[data-v-24d34e66]{--dock-inline-left: max(12px, var(--safe-left));--dock-inline-right: max(12px, var(--safe-right))}.dock-work-panel[data-v-24d34e66]{left:10px;right:calc(10px + var(--panes-scrollbar-width, 0px))}}.chat-dock[data-v-24d34e66]:not(.align-mobile) .composer{padding-bottom:14px}.dock-panel-enter-active[data-v-24d34e66],.dock-panel-leave-active[data-v-24d34e66]{transition:opacity .16s ease,transform .16s ease}.dock-panel-enter-from[data-v-24d34e66],.dock-panel-leave-to[data-v-24d34e66]{opacity:0;transform:translateY(8px)}.ui-input[data-v-340f0da2]{width:100%;border:1px solid var(--color-line-strong);border-radius:var(--radius-md);background:var(--color-surface-raised);box-shadow:var(--shadow-xs);color:var(--color-text);font-family:var(--font-ui);font-size:var(--text-base);line-height:var(--leading-normal);padding:0 var(--space-3);transition:border-color var(--duration-base) var(--ease-out),box-shadow var(--duration-base) var(--ease-out)}.ui-input--md[data-v-340f0da2]{height:38px}.ui-input--sm[data-v-340f0da2]{height:32px;font-size:var(--text-sm);border-radius:var(--radius-sm)}.ui-input[data-v-340f0da2]::placeholder{color:var(--color-text-faint)}.ui-input[data-v-340f0da2]:hover:not(:disabled):not(:focus){border-color:var(--color-line-strong)}.ui-input[data-v-340f0da2]:focus{outline:none;border-color:var(--color-accent);box-shadow:var(--p-focus-ring)}.ui-input[data-v-340f0da2]:disabled{opacity:.5;cursor:not-allowed}.ui-input[readonly][data-v-340f0da2]{background:var(--color-surface-sunken)}.ui-input.has-error[data-v-340f0da2]{border-color:var(--color-danger)}.ui-input.has-error[data-v-340f0da2]:focus{box-shadow:0 0 0 3px var(--color-danger-soft)}.conv-search[data-v-c521ac2e]{flex:none;display:flex;align-items:center;gap:6px;padding:6px 16px;border-bottom:1px solid var(--color-line);background:var(--color-bg);font-family:var(--font-ui)}.conv-search-icon[data-v-c521ac2e]{flex:none;color:var(--color-text-muted)}.conv-search-input[data-v-c521ac2e]{flex:1;min-width:0}.conv-search-count[data-v-c521ac2e]{flex:none;min-width:56px;text-align:center;font-size:var(--text-xs);font-family:var(--font-mono);color:var(--color-text-muted);white-space:nowrap}.conv-search-none[data-v-c521ac2e]{color:var(--color-text-faint)}.conversation-toc[data-v-46ac0b80]{position:absolute;z-index:var(--z-sticky);top:50%;transform:translateY(-50%);--toc-content-max: min( var(--read-max), calc(100cqi - var(--space-5) - var(--space-5)) );left:calc(50% + (var(--toc-content-max) / 2) + 14px);display:flex;flex-direction:column;justify-content:center;opacity:.5;transition:opacity var(--duration-base) var(--ease-out)}.conversation-toc[data-v-46ac0b80]:before{content:"";position:absolute;inset:0 -48px 0 -14px;z-index:0}.conversation-toc[data-v-46ac0b80]:hover,.conversation-toc[data-v-46ac0b80]:focus-within{opacity:1}.toc-scroll[data-v-46ac0b80]{position:relative;z-index:1;display:flex;flex-direction:column;gap:7px;padding:8px 0;max-height:calc(100vh - 200px);overflow-y:auto;scrollbar-width:none}.toc-scroll[data-v-46ac0b80]::-webkit-scrollbar{display:none}.toc-row[data-v-46ac0b80]{display:flex;align-items:center;gap:10px;height:18px;padding:0;border:none;background:transparent;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-sm);text-align:left;cursor:pointer;white-space:nowrap}.toc-row[data-v-46ac0b80]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.toc-bar[data-v-46ac0b80]{flex:none;width:3px;height:14px;border-radius:var(--radius-full);background:var(--color-accent);opacity:.3;transition:opacity var(--duration-fast) var(--ease-out),height var(--duration-fast) var(--ease-out)}.toc-label[data-v-46ac0b80]{display:block;max-width:0;overflow:hidden;opacity:0;text-overflow:ellipsis;transition:max-width .22s var(--ease-out),opacity var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.conversation-toc:hover .toc-bar[data-v-46ac0b80],.conversation-toc:focus-within .toc-bar[data-v-46ac0b80]{height:18px;opacity:.5}.conversation-toc:hover .toc-label[data-v-46ac0b80],.conversation-toc:focus-within .toc-label[data-v-46ac0b80]{max-width:220px;opacity:1}.toc-row.active .toc-bar[data-v-46ac0b80]{opacity:1;height:18px}.toc-row.active .toc-label[data-v-46ac0b80]{color:var(--color-accent);font-weight:var(--weight-medium)}.toc-row:hover .toc-bar[data-v-46ac0b80]{opacity:1}.toc-row:hover .toc-label[data-v-46ac0b80]{color:var(--color-text)}.conversation-toc.toc-clipped[data-v-46ac0b80]{visibility:hidden;pointer-events:none}.con[data-v-08a8a5ed]{--read-max: 760px;display:flex;flex-direction:column;min-width:0;height:100%;position:relative;container-type:inline-size}@media(min-width:1200px){.con[data-v-08a8a5ed]{--read-max: 920px}}@media(min-width:1600px){.con[data-v-08a8a5ed]{--read-max: 1040px}}.panes[data-v-08a8a5ed]{flex:1;min-height:0;overflow-y:auto;overflow-anchor:auto}@media(min-width:981px){.panes[data-v-08a8a5ed]{scrollbar-gutter:stable}}@media(max-width:980px){.panes[data-v-08a8a5ed]{scrollbar-gutter:auto;-webkit-overflow-scrolling:touch}}.panes.is-following[data-v-08a8a5ed],.panes.history-prepending[data-v-08a8a5ed]{overflow-anchor:none}.chat-layout[data-v-08a8a5ed]{display:flex;flex-direction:column;height:100%;min-height:0;position:relative}.chat-scroll[data-v-08a8a5ed]{flex:1;min-height:0;position:relative}.content-wrap[data-v-08a8a5ed]{width:100%;max-width:var(--read-max);min-height:100%;display:flex;flex-direction:column;flex-shrink:0}.content-wrap.align-center[data-v-08a8a5ed]{margin-left:auto;margin-right:auto}.content-wrap.align-left[data-v-08a8a5ed]{margin-left:0;margin-right:auto}.content-wrap.align-mobile[data-v-08a8a5ed]{max-width:none}@media(max-width:640px){.con.mobile[data-v-08a8a5ed]{min-width:0;overflow:hidden}.con.mobile .panes[data-v-08a8a5ed]{scrollbar-gutter:auto;-webkit-overflow-scrolling:touch}.content-wrap.align-mobile[data-v-08a8a5ed]{width:100%;min-width:0}}.empty-spacer[data-v-08a8a5ed]{flex:1}.empty-hint[data-v-08a8a5ed]{flex:none;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:0 16px 16px;color:var(--color-text);font-family:var(--font-ui)}.empty-hint-title[data-v-08a8a5ed]{font-size:calc(var(--ui-font-size) + 16px);font-optical-sizing:auto;font-weight:var(--weight-semibold)}.empty-hint-title.is-starting[data-v-08a8a5ed]{display:inline-flex;align-items:center;gap:9px;color:var(--dim);font-weight:400}.empty-hint-text[data-v-08a8a5ed]{display:inline-block;font-size:var(--text-base);color:var(--dim);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty-add-workspace[data-v-08a8a5ed]{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;padding:7px 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--dim);font-family:var(--mono);font-size:var(--ui-font-size-sm);cursor:pointer}.empty-add-workspace[data-v-08a8a5ed]:hover{border-color:var(--color-accent-bd);color:var(--color-text)}.empty-add-workspace[data-v-08a8a5ed]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.empty-add-workspace svg[data-v-08a8a5ed]{flex:none}.ws-pick[data-v-08a8a5ed]{position:relative;font-family:var(--font-ui)}.ws-pick-btn[data-v-08a8a5ed]{display:inline-flex;align-items:center;gap:7px;width:max-content;max-width:min(100%,calc(100vw - var(--space-8)));padding:5px 10px;background:var(--panel);border:1px solid var(--line);border-radius:8px;color:var(--dim);font-family:inherit;font-size:var(--ui-font-size-sm);cursor:pointer}.ws-pick-btn[data-v-08a8a5ed]:hover{border-color:var(--color-accent-bd);color:var(--color-text)}.ws-pick-name[data-v-08a8a5ed]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-pick-chev[data-v-08a8a5ed]{flex:none;color:var(--muted);transition:transform .15s}.ws-pick-chev.open[data-v-08a8a5ed]{transform:rotate(180deg)}.ws-pick-backdrop[data-v-08a8a5ed]{position:fixed;inset:0;z-index:var(--z-sticky)}.ws-pick-menu[data-v-08a8a5ed]{position:absolute;display:grid;grid-template-columns:minmax(0,1fr);left:50%;transform:translate(-50%);top:calc(100% + 6px);z-index:var(--z-dropdown);width:max-content;min-width:min(180px,calc(100cqw - var(--space-8)));max-width:calc(100cqw - var(--space-8));max-height:50vh;overflow:hidden auto;background:var(--color-surface-raised);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:4px}.ws-pick-item[data-v-08a8a5ed]{display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:100%;text-align:left;background:none;border:none;border-radius:6px;padding:6px 10px;cursor:pointer;font-family:var(--font-ui)}.ws-pick-item[data-v-08a8a5ed]:hover{background:var(--panel2)}.ws-pick-item.on[data-v-08a8a5ed]{background:var(--color-accent-soft)}.ws-pick-item-name[data-v-08a8a5ed]{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-text)}.ws-pick-item.on .ws-pick-item-name[data-v-08a8a5ed]{color:var(--color-accent-hover)}.ws-pick-item-path[data-v-08a8a5ed]{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--muted)}.ws-pick-item.ws-pick-more[data-v-08a8a5ed]{flex-direction:row;align-items:center;justify-content:flex-start;font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--dim)}.ws-pick-item.ws-pick-more[data-v-08a8a5ed]:hover{color:var(--color-text)}.ws-pick-item.ws-pick-more span[data-v-08a8a5ed],.ws-pick-action span[data-v-08a8a5ed]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-pick-divider[data-v-08a8a5ed]{height:1px;margin:4px 6px;background:var(--line)}.ws-pick-action[data-v-08a8a5ed]{display:flex;align-items:center;gap:7px;width:100%;text-align:left;background:none;border:none;border-radius:6px;padding:7px 10px;cursor:pointer;font-family:var(--font-ui);font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--dim)}.ws-pick-action[data-v-08a8a5ed]:hover{background:var(--panel2);color:var(--color-text)}.ws-pick-action svg[data-v-08a8a5ed]{flex:none}.chat-scroll[data-v-08a8a5ed]{display:flex;flex-direction:column}.mobile .panes[data-v-08a8a5ed]:has(>.chat-layout){overflow:hidden;scrollbar-gutter:auto}.newmsg-pill[data-v-08a8a5ed]{position:absolute;left:50%;bottom:12px;transform:translate(-50%);display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--color-text);font-size:var(--ui-font-size-sm);cursor:pointer;box-shadow:var(--shadow-sm);z-index:var(--z-base)}.newmsg-pill[data-v-08a8a5ed]:hover{background:var(--panel2)}.pill-chevron[data-v-08a8a5ed]{width:12px;height:12px}.pill-enter-active[data-v-08a8a5ed],.pill-leave-active[data-v-08a8a5ed]{transition:opacity .2s ease,transform .2s ease}.pill-enter-from[data-v-08a8a5ed],.pill-leave-to[data-v-08a8a5ed]{opacity:0;transform:translate(-50%) translateY(8px)}.abort-toast[data-v-08a8a5ed]{position:absolute;left:50%;top:60px;transform:translate(-50%);padding:8px 14px;border-radius:var(--radius-sm);background:var(--color-text);color:var(--bg);font-size:var(--ui-font-size-sm);z-index:var(--z-sticky);box-shadow:var(--shadow-sm)}.abort-toast-text[data-v-08a8a5ed]{display:flex;align-items:center;gap:8px}.abort-toast-enter-active[data-v-08a8a5ed],.abort-toast-leave-active[data-v-08a8a5ed]{transition:opacity .15s ease,transform .15s ease}.abort-toast-enter-from[data-v-08a8a5ed],.abort-toast-leave-to[data-v-08a8a5ed]{opacity:0;transform:translate(-50%) translateY(-6px)}.con[data-v-08a8a5ed]{background:var(--bg)}.newmsg-pill[data-v-08a8a5ed]{font-family:var(--sans)}.ui-panel-header[data-v-c47879ad]{flex:none;display:flex;align-items:center;gap:var(--space-2);height:var(--panel-head-h, 48px);padding:0 6px 0 var(--space-3);box-sizing:border-box;min-width:0;border-bottom:1px solid var(--color-line);background:var(--color-surface)}.ui-panel-header__title[data-v-c47879ad]{flex:none;font:var(--weight-semibold) var(--text-xs) var(--font-mono);letter-spacing:.04em;color:var(--color-text)}.ui-panel-header__sub[data-v-c47879ad]{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:var(--text-xs) var(--font-mono);color:var(--color-text-muted)}.ui-panel-header__close[data-v-c47879ad]{flex:none;margin-left:auto}.ui-panel-header.wrap[data-v-c47879ad]{flex-wrap:wrap;height:auto;min-height:var(--panel-head-h, 48px);padding-top:3px;padding-bottom:3px;gap:4px 6px}.ui-panel-header.wrap .ui-panel-header__close[data-v-c47879ad]{margin-left:0}.file-preview[data-v-6fe88fd7]{display:flex;flex-direction:column;height:100%;background:var(--bg);font-family:var(--mono);min-width:0;container-type:inline-size}.fp-empty[data-v-6fe88fd7],.fp-loading[data-v-6fe88fd7]{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--muted);font-size:var(--ui-font-size)}.fp-path[data-v-6fe88fd7]{flex:1 1 60px;min-width:40px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;direction:rtl;text-align:left;font-size:var(--ui-font-size-xs);color:var(--muted);font-weight:400}.fp-meta[data-v-6fe88fd7]{display:flex;align-items:center;gap:8px;flex:none}@container (max-width: 539px){.fp-meta[data-v-6fe88fd7]{display:none}}.fp-lines[data-v-6fe88fd7],.fp-size[data-v-6fe88fd7]{font-size:max(9px,calc(var(--ui-font-size) - 3.5px));color:var(--muted);white-space:nowrap}.fp-search[data-v-6fe88fd7]{display:flex;align-items:center;gap:4px;flex:1 1 110px;min-width:70px;max-width:200px}.fp-search-input[data-v-6fe88fd7]{flex:1;min-width:0;height:26px;border:1px solid var(--color-line);border-radius:var(--radius-sm);padding:2px 7px;background:var(--color-surface-raised);color:var(--color-text);font:var(--text-xs) var(--font-mono)}.fp-search-count[data-v-6fe88fd7]{color:var(--muted);font-size:max(9px,calc(var(--ui-font-size) - 3.5px));min-width:18px;text-align:right}.fp-download[data-v-6fe88fd7]{display:inline-grid;place-items:center;width:26px;height:26px;flex:none;border-radius:var(--radius-sm);color:var(--color-text-muted)}.fp-download[data-v-6fe88fd7]:hover{background:var(--color-surface-sunken);color:var(--color-text)}.fp-download[data-v-6fe88fd7]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.fp-download svg[data-v-6fe88fd7]{width:var(--p-ic-sm);height:var(--p-ic-sm)}.fp-open-in[data-v-6fe88fd7]{position:fixed;top:0;left:0;z-index:var(--z-dropdown)}.fp-check[data-v-6fe88fd7]{color:var(--color-success)}.fp-body[data-v-6fe88fd7]{--fp-search-hit-bg: color-mix(in srgb, var(--star) 22%, var(--bg));--fp-search-active-bg: color-mix(in srgb, var(--star) 36%, var(--bg));--fp-token-keyword: color-mix(in srgb, var(--color-accent) 68%, var(--color-danger));--fp-token-string: var(--color-success);--fp-token-literal: var(--color-accent-hover);--fp-token-tag: var(--color-warning);flex:1;min-height:0;overflow:auto}.fp-markdown[data-v-6fe88fd7]{padding:16px 20px}.fp-code[data-v-6fe88fd7]{background:var(--bg)}.fp-line-table[data-v-6fe88fd7]{display:table;width:100%;border-collapse:collapse;font-size:var(--ui-font-size);line-height:1.6}.fp-line-row[data-v-6fe88fd7]{display:table-row}.fp-line-row.hit .fp-line-text[data-v-6fe88fd7],.fp-table tr.hit td[data-v-6fe88fd7]{background:var(--fp-search-hit-bg)}.fp-line-row.active .fp-line-text[data-v-6fe88fd7],.fp-table tr.active td[data-v-6fe88fd7]{background:var(--fp-search-active-bg)}.fp-line-row.target .fp-gutter[data-v-6fe88fd7],.fp-line-row.target .fp-line-text[data-v-6fe88fd7],.fp-table tr.target th[data-v-6fe88fd7],.fp-table tr.target td[data-v-6fe88fd7]{background:var(--color-accent-soft)}.fp-gutter[data-v-6fe88fd7]{display:table-cell;width:44px;padding:0 10px 0 12px;text-align:right;color:var(--faint);user-select:none;font-size:var(--text-base);white-space:nowrap;border-right:1px solid var(--line2);vertical-align:top}.fp-line-text[data-v-6fe88fd7]{display:table-cell;padding:0 12px;color:var(--color-text);white-space:pre;vertical-align:top}.fp-line-text[data-v-6fe88fd7] .tok-key,.fp-line-text[data-v-6fe88fd7] .tok-keyword{color:var(--fp-token-keyword);font-weight:500}.fp-line-text[data-v-6fe88fd7] .tok-string{color:var(--fp-token-string)}.fp-line-text[data-v-6fe88fd7] .tok-number,.fp-line-text[data-v-6fe88fd7] .tok-literal{color:var(--fp-token-literal)}.fp-line-text[data-v-6fe88fd7] .tok-comment{color:var(--muted);font-style:italic}.fp-line-text[data-v-6fe88fd7] .tok-tag{color:var(--fp-token-tag);font-weight:500}.fp-line-text[data-v-6fe88fd7] .tok-attr{color:var(--fp-token-literal)}.fp-html-frame[data-v-6fe88fd7],.fp-pdf-frame[data-v-6fe88fd7]{width:100%;height:100%;border:0;background:var(--color-surface-raised)}.fp-pdf-wrap[data-v-6fe88fd7]{background:var(--panel2)}.fp-table-wrap[data-v-6fe88fd7]{background:var(--bg)}.fp-table[data-v-6fe88fd7]{border-collapse:collapse;min-width:100%;font:12px/1.5 var(--mono)}.fp-table th[data-v-6fe88fd7]{position:sticky;left:0;z-index:1;width:44px;min-width:44px;padding:2px 8px;text-align:right;color:var(--faint);background:var(--panel);border-right:1px solid var(--line2);user-select:none}.fp-table td[data-v-6fe88fd7]{padding:2px 10px;border-right:1px solid var(--line2);border-bottom:1px solid var(--line2);white-space:pre}.fp-image-wrap[data-v-6fe88fd7]{display:flex;align-items:center;justify-content:center;padding:24px;background:var(--panel2)}.fp-image[data-v-6fe88fd7]{max-width:100%;max-height:100%;object-fit:contain;border:1px solid var(--line);border-radius:4px;background:var(--media-alpha-canvas)}.fp-image.actual[data-v-6fe88fd7]{max-width:none;max-height:none}.fp-binary-wrap[data-v-6fe88fd7]{display:flex;align-items:center;justify-content:center}.fp-binary-card[data-v-6fe88fd7]{display:flex;align-items:center;gap:12px;padding:20px 24px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--muted);font-size:var(--ui-font-size);margin:32px auto;max-width:480px}.fp-binary-icon[data-v-6fe88fd7]{color:var(--faint);flex:none}.fp-error[data-v-6fe88fd7]{flex-direction:column;padding:24px;text-align:center}@keyframes spin-6fe88fd7{to{transform:rotate(360deg)}}.spinner[data-v-6fe88fd7]{display:inline-block;width:14px;height:14px;border:1.5px solid var(--line);border-top-color:var(--color-accent);border-radius:50%;animation:spin-6fe88fd7 .7s linear infinite}@media(max-width:640px){.fp-lines[data-v-6fe88fd7]{display:none}.fp-markdown[data-v-6fe88fd7]{padding:14px 16px}.fp-body.fp-code[data-v-6fe88fd7]{-webkit-overflow-scrolling:touch}}.fp-empty[data-v-6fe88fd7],.fp-loading[data-v-6fe88fd7]{font-family:var(--sans)}.fp-binary-card[data-v-6fe88fd7]{border:1px solid var(--color-line);border-radius:var(--radius-md)}.fp-binary-label[data-v-6fe88fd7]{font-family:var(--sans)}.fp-image[data-v-6fe88fd7]{border-radius:var(--radius-md)}.seg-btn[data-v-6fe88fd7]{font-family:var(--sans)}.tp[data-v-98c343f3]{height:100%;display:flex;flex-direction:column;min-height:0;background:var(--color-bg)}.tp-body[data-v-98c343f3]{flex:1;min-height:0;overflow-y:auto;margin:0;padding:12px 14px;font:var(--text-base)/var(--leading-relaxed) var(--font-ui);font-weight:var(--weight-regular);color:var(--color-text-muted);white-space:pre-wrap;word-break:break-word}.ap[data-v-59df0789]{height:100%;display:flex;flex-direction:column;min-height:0;background:var(--color-bg)}.ap-phase[data-v-59df0789]{flex:none}.ap-body[data-v-59df0789]{flex:1;min-height:0;overflow-y:auto;padding:12px 14px;font:var(--text-base)/var(--leading-normal) var(--font-ui);color:var(--color-text-muted)}.ap-type[data-v-59df0789]{font:var(--text-xs) var(--font-mono);color:var(--color-text-muted);margin-bottom:8px}.ap-reason[data-v-59df0789]{color:var(--color-warning);margin-bottom:8px}.ap-field+.ap-field[data-v-59df0789]{margin-top:12px}.ap-field-label[data-v-59df0789]{display:block;color:var(--color-text-muted);font:var(--text-xs) var(--font-mono);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.ap-field-body[data-v-59df0789]{white-space:pre-wrap;overflow-wrap:anywhere}.ap-progress[data-v-59df0789]{display:flex;flex-direction:column;gap:6px;font:var(--text-base)/var(--leading-relaxed) var(--font-mono);color:var(--color-text);min-width:0}.ap-live[data-v-59df0789]{font:var(--text-base)/var(--leading-relaxed) var(--font-mono);color:var(--color-text);white-space:pre-wrap;overflow-wrap:anywhere}.ap-group[data-v-59df0789]{min-width:0}.ap-call[data-v-59df0789]{display:flex;align-items:baseline;gap:6px;min-width:0;font-weight:var(--weight-medium);color:var(--color-text);overflow-wrap:anywhere;white-space:pre-wrap}.ap-glyph[data-v-59df0789]{flex:none;color:var(--color-accent);font-size:.85em}.ap-output[data-v-59df0789]{margin:2px 0 0 16px;padding-left:8px;color:var(--color-text-muted);font-size:var(--text-sm);line-height:var(--leading-normal);border-left:2px solid var(--color-line);min-width:0}.ap-out-line[data-v-59df0789]{min-width:0;overflow-wrap:anywhere;white-space:pre-wrap}.ap-fold[data-v-59df0789]{display:inline-block;margin:2px 0;padding:0;background:none;border:none;color:var(--color-accent);font:inherit;cursor:pointer}.ap-fold[data-v-59df0789]:hover{text-decoration:underline}.ap-fold[data-v-59df0789]:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.diff-lines[data-v-26e24204]{padding:4px 0 12px;font-size:var(--ui-font-size);line-height:1.5;-webkit-overflow-scrolling:touch;width:max-content;min-width:100%}.dl[data-v-26e24204]{display:flex;align-items:flex-start;min-height:18px;white-space:pre;width:100%}.dl-gutter[data-v-26e24204]{flex:none;width:40px;padding:0 6px;text-align:right;color:var(--faint, #aeb4bc);background:var(--panel, #fafbfc);user-select:none;border-right:1px solid var(--line2, #eef1f4);font-variant-numeric:tabular-nums}.dl-gutter.new[data-v-26e24204]{border-right:1px solid var(--line, #e7eaee)}.dl-sign[data-v-26e24204]{flex:none;width:16px;text-align:center;color:var(--muted);user-select:none}.dl-text[data-v-26e24204]{flex:none;padding-right:14px;white-space:pre;color:var(--color-text)}.dl-add[data-v-26e24204]{background:var(--color-success-soft);box-shadow:inset 2px 0 color-mix(in srgb,var(--color-success) 55%,transparent)}.dl-add .dl-sign[data-v-26e24204]{color:var(--color-success)}.dl-del[data-v-26e24204]{background:var(--color-danger-soft);box-shadow:inset 2px 0 color-mix(in srgb,var(--color-danger) 55%,transparent)}.dl-del .dl-sign[data-v-26e24204]{color:var(--color-danger)}.diff-lines[data-theme] .dl-add[data-v-26e24204]{background:var(--dl-add-soft);box-shadow:inset 2px 0 color-mix(in srgb,var(--dl-add) 55%,transparent)}.diff-lines[data-theme] .dl-add .dl-sign[data-v-26e24204]{color:var(--dl-add)}.diff-lines[data-theme] .dl-del[data-v-26e24204]{background:var(--dl-del-soft);box-shadow:inset 2px 0 color-mix(in srgb,var(--dl-del) 55%,transparent)}.diff-lines[data-theme] .dl-del .dl-sign[data-v-26e24204]{color:var(--dl-del)}.dl-hunk[data-v-26e24204]{background:var(--panel2, #f3f5f8)}.dl-hunk .hunk-text[data-v-26e24204]{flex:1;padding:1px 12px;color:var(--muted, #8b929b);font-style:normal}@media(max-width:640px){.diff-lines[data-v-26e24204]{overflow-x:auto;font-size:var(--ui-font-size)}}.tdp[data-v-76f2fbca]{height:100%;display:flex;flex-direction:column;min-height:0;background:var(--bg)}.tdp-body[data-v-76f2fbca]{flex:1;min-height:0;overflow:auto;font-family:var(--mono)}.tdp-output[data-v-76f2fbca]{padding:8px 12px;color:var(--dim);font-size:var(--text-base);line-height:1.7;white-space:pre-wrap;word-break:break-word}.tdp-empty[data-v-76f2fbca]{padding:32px 20px;color:var(--muted, #9098a0);font-size:var(--ui-font-size);text-align:center}.sc[data-v-867ab366]{height:100%;display:flex;flex-direction:column;min-height:0;background:var(--bg)}.sc-body[data-v-867ab366]{flex:1;min-height:0;overflow-y:auto}.sc-empty[data-v-867ab366]{padding:24px 16px;text-align:center;color:var(--muted);font-size:var(--ui-font-size)}.sc-composer[data-v-867ab366]{flex:none;display:flex;align-items:flex-end;gap:6px;padding:8px 10px;border-top:1px solid var(--line);background:var(--panel)}.sc-input[data-v-867ab366]{flex:1;min-width:0;resize:none;border:1px solid var(--line);border-radius:var(--radius-md);padding:7px 9px;background:var(--bg);color:var(--color-text);font:var(--ui-font-size)/1.5 var(--sans);outline:none;max-height:160px}.sc-input[data-v-867ab366]:focus{border-color:var(--color-accent-bd)}.sc-send[data-v-867ab366]{flex:none;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--radius-md);background:var(--color-accent);color:var(--color-text-on-accent);cursor:pointer}.sc-send[data-v-867ab366]:disabled{opacity:.4;cursor:default}.sc-send[data-v-867ab366]:not(:disabled):hover{background:var(--color-accent-hover)}.sc-loading[data-v-867ab366]{flex:none;padding:8px 12px 12px}.sc-body[data-v-867ab366] .sending-placeholder,.sc-body[data-v-867ab366] .sending-line{display:none}.changes-pane[data-v-6591e558]{display:flex;flex-direction:column;height:100%;background:var(--bg);font-family:var(--mono)}.dv-path[data-v-6591e558],.dv-change-count[data-v-6591e558]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--mono);font-size:var(--ui-font-size-xs);color:var(--muted)}.dv-change-count[data-v-6591e558]{flex:1}.ch-head[data-v-6591e558]{display:flex;align-items:center;gap:8px;padding:8px 16px;border-bottom:1px solid var(--line);background:var(--panel);font-size:var(--text-base);color:var(--dim);flex:none;white-space:nowrap;overflow:hidden}.br-label[data-v-6591e558]{color:var(--muted);font-size:max(9px,calc(var(--ui-font-size) - 3.5px))}.br-name[data-v-6591e558]{color:var(--color-accent);font-weight:500;font-size:var(--ui-font-size)}.sync-info[data-v-6591e558]{display:flex;align-items:center;gap:4px}.ahead[data-v-6591e558]{color:var(--color-accent);font-size:var(--text-base)}.behind[data-v-6591e558]{color:var(--color-warning);font-size:var(--text-base)}.empty-head[data-v-6591e558]{color:var(--muted);font-size:var(--text-base)}.ch-list[data-v-6591e558]{flex:1;overflow-y:auto;padding:4px 0}.ch-row[data-v-6591e558]{display:flex;align-items:center;gap:10px;padding:6px 16px;cursor:pointer;font-size:var(--ui-font-size);line-height:1.6;width:100%;background:none;border:none;text-align:left;font-family:inherit;color:inherit}.ch-row[data-v-6591e558]:hover{background:var(--panel2, #f5f6f8)}.ch-row[data-v-6591e558]:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.ch-tree[data-v-6591e558]{padding:4px 0}.tree-list[data-v-6591e558]{list-style:none;margin:0;padding:0}.tree-row[data-v-6591e558]{display:flex;align-items:center;gap:8px;width:100%;padding:5px 16px;background:none;border:none;text-align:left;font-family:inherit;font-size:var(--ui-font-size);color:inherit;cursor:pointer}.tree-row[data-v-6591e558]:hover{background:var(--panel2, #f5f6f8)}.tree-row[data-v-6591e558]:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.tree-folder[data-v-6591e558]{color:var(--color-text);font-weight:500}.tree-file[data-v-6591e558]{color:var(--color-text)}.tree-icon[data-v-6591e558]{flex:none;color:var(--muted)}.tree-name[data-v-6591e558]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge[data-v-6591e558]{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:var(--radius-xs);font-size:max(9px,calc(var(--ui-font-size) - 4px));font-weight:500;flex:none;user-select:none}.badge.modified[data-v-6591e558]{background:color-mix(in srgb,var(--color-accent) 12%,var(--bg));color:var(--color-accent)}.badge.added[data-v-6591e558]{background:color-mix(in srgb,var(--color-success) 10%,var(--bg));color:var(--color-success)}.badge.deleted[data-v-6591e558]{background:color-mix(in srgb,var(--color-danger) 10%,var(--bg));color:var(--color-danger)}.badge.renamed[data-v-6591e558]{background:color-mix(in srgb,var(--color-warning) 12%,var(--bg));color:var(--color-warning)}.badge.untracked[data-v-6591e558]{background:var(--color-surface-sunken);color:var(--muted, #9098a0)}.badge.conflicted[data-v-6591e558]{background:color-mix(in srgb,var(--color-danger) 10%,var(--bg));color:var(--color-danger);font-size:max(9px,calc(var(--ui-font-size) - 5px))}.badge.ignored[data-v-6591e558]{background:var(--color-surface-sunken);color:var(--faint, #c0c5cc)}.badge.clean[data-v-6591e558]{background:transparent;color:var(--faint, #c0c5cc)}.badge.unknown[data-v-6591e558]{background:var(--color-surface-sunken);color:var(--muted, #9098a0)}.fpath[data-v-6591e558]{color:var(--color-text);font-size:var(--ui-font-size);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;direction:rtl;text-align:left;min-width:0}.empty-state[data-v-6591e558]{padding:32px 20px;color:var(--muted, #9098a0);font-size:var(--ui-font-size);text-align:center}.diff-head[data-v-6591e558]{display:flex;align-items:center;gap:10px;flex-wrap:wrap;row-gap:6px;padding:6px 12px;border-bottom:1px solid var(--line);background:var(--panel);flex:none;white-space:nowrap;overflow:hidden}.dv-cb-label[data-v-6591e558]{color:var(--muted);font-size:var(--ui-font-size-xs);font-family:var(--sans);white-space:nowrap}.dv-cb-toggle[data-v-6591e558]{margin-left:auto}.dv-lines-wrap[data-v-6591e558]{flex:1;min-height:0;overflow:auto}@media(max-width:640px){.ch-head[data-v-6591e558]{padding:10px 14px}.ch-list[data-v-6591e558]{padding:2px 0 12px}.ch-row[data-v-6591e558]{min-height:44px;padding:8px 14px;gap:12px;font-size:var(--ui-font-size-sm)}.ch-row[data-v-6591e558]:active{background:var(--panel2, #f5f6f8)}.badge[data-v-6591e558]{width:18px;height:18px}.fpath[data-v-6591e558]{font-size:var(--ui-font-size-sm)}.tree-row[data-v-6591e558]{min-height:40px;padding:8px 14px}.diff-head[data-v-6591e558]{padding:8px 12px;gap:10px}.dv-cb-label[data-v-6591e558]{display:none}.diff-path[data-v-6591e558]{font-size:var(--text-base)}}.changes-pane .empty-state[data-v-6591e558],.br-label[data-v-6591e558],.empty-head[data-v-6591e558]{font-family:var(--sans)}.ch-row[data-v-6591e558],.ct-row[data-v-6591e558]{margin:1px 6px;width:calc(100% - 12px);border-radius:var(--radius-md)}.changes-pane .badge[data-v-6591e558],.changed-tree .badge[data-v-6591e558]{border-radius:var(--radius-sm)}.change-count[data-v-6591e558]{font-family:var(--sans);border-radius:999px}.rp-tabs[data-v-f674f6b6]{flex:none;display:flex;align-items:stretch;gap:0;min-width:0;border-bottom:1px solid var(--color-line);background:var(--color-surface);overflow-x:auto;scrollbar-width:none}.rp-tabs[data-v-f674f6b6]::-webkit-scrollbar{display:none}.rp-tab[data-v-f674f6b6]{display:inline-flex;align-items:center;gap:2px;max-width:160px;padding:0 4px 0 10px;border:none;border-bottom:2px solid transparent;background:transparent;color:var(--color-text-muted);font:var(--weight-medium) var(--text-sm) var(--font-ui);cursor:pointer;transition:color var(--duration-base) var(--ease-out),border-color var(--duration-base) var(--ease-out),background var(--duration-base) var(--ease-out)}.rp-tab[data-v-f674f6b6]:hover:not(.is-on){color:var(--color-text);background:var(--color-surface-sunken)}.rp-tab.is-on[data-v-f674f6b6]{color:var(--color-accent);border-bottom-color:var(--color-accent)}.rp-tab[data-v-f674f6b6]:focus-visible{outline:none;box-shadow:var(--p-focus-ring);border-radius:var(--radius-xs)}.rp-tab-label[data-v-f674f6b6]{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:calc(var(--panel-head-h, 48px) - 2px)}.rp-tab-close[data-v-f674f6b6]{flex:none;color:var(--color-text-faint)}.rp-tab-close[data-v-f674f6b6]:hover{color:var(--color-text)}.mp[data-v-d5bb878a]{display:flex;flex-direction:column;gap:var(--space-2)}.search-wrap[data-v-d5bb878a]{padding-bottom:var(--space-1)}.tab-strip[data-v-d5bb878a]{display:flex;gap:var(--space-1);overflow-x:auto}.model-list[data-v-d5bb878a]{display:flex;flex-direction:column;padding:var(--space-1) 0}.model-row[data-v-d5bb878a]{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-2) var(--space-2);border-radius:var(--radius-md);cursor:pointer;color:var(--color-text);min-width:0;transition:background var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.model-row[data-v-d5bb878a]:hover,.model-row.is-selected[data-v-d5bb878a]{background:var(--color-surface-sunken)}.model-row.is-current[data-v-d5bb878a]{background:var(--color-accent-soft);box-shadow:inset 0 0 0 1px var(--color-accent-bd)}.check[data-v-d5bb878a]{width:14px;height:14px;color:var(--color-accent);flex:none;display:flex;align-items:center;justify-content:center}.model-main[data-v-d5bb878a]{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.model-name[data-v-d5bb878a]{font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-id[data-v-d5bb878a]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-provider[data-v-d5bb878a]{flex:none;max-width:110px;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-ctx[data-v-d5bb878a]{flex:none;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted)}.caps[data-v-d5bb878a]{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.state-row[data-v-d5bb878a]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-5) 0;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-base)}.state-row.unavail[data-v-d5bb878a]{color:var(--color-warning)}.empty[data-v-d5bb878a]{padding:var(--space-5) 0;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-base)}.footer-hint[data-v-d5bb878a]{padding-top:var(--space-2);font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-text-faint);border-top:1px solid var(--color-line)}@media(max-width:640px){.model-provider[data-v-d5bb878a],.caps[data-v-d5bb878a]{display:none}}.ui-field[data-v-49bce958]{display:flex;flex-direction:column;gap:6px}.ui-field__label[data-v-49bce958]{font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-muted)}.ui-field__hint[data-v-49bce958]{font-size:var(--text-xs);color:var(--color-text-faint)}.ui-field__error[data-v-49bce958]{font-size:var(--text-xs);color:var(--color-danger)}.ui-select[data-v-92a040fd]{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:100%;border:1px solid var(--color-line-strong);border-radius:var(--radius-md);background-color:var(--color-surface-raised);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%236b7280' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;background-size:16px 16px;box-shadow:var(--shadow-xs);color:var(--color-text);font-family:var(--font-ui);font-size:var(--text-base);line-height:var(--leading-normal);padding:0 var(--space-3);padding-right:calc(var(--space-3) + 16px + var(--space-2));cursor:pointer;transition:border-color var(--duration-base) var(--ease-out),box-shadow var(--duration-base) var(--ease-out)}.ui-select--md[data-v-92a040fd]{height:38px}.ui-select--sm[data-v-92a040fd]{height:32px;font-size:var(--text-sm)}.ui-select[data-v-92a040fd]:hover:not(:disabled):not(:focus){border-color:var(--color-line-strong)}.ui-select[data-v-92a040fd]:focus{outline:none;border-color:var(--color-accent);box-shadow:var(--p-focus-ring)}.ui-select[data-v-92a040fd]:disabled{opacity:.5;cursor:not-allowed}.ui-select.has-error[data-v-92a040fd]{border-color:var(--color-danger)}.ui-select.has-error[data-v-92a040fd]:focus{box-shadow:0 0 0 3px var(--color-danger-soft)}html[data-color-scheme=dark] .ui-select[data-v-92a040fd]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%239aa0a8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E")}@media(prefers-color-scheme:dark){html[data-color-scheme=system] .ui-select[data-v-92a040fd]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%239aa0a8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E")}}.pm[data-v-63ce966e]{display:flex;flex-direction:column;gap:var(--space-4)}.prov-list[data-v-63ce966e]{display:flex;flex-direction:column;gap:var(--space-1)}.state-row[data-v-63ce966e]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-4) 0;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-base)}.state-row.unavail[data-v-63ce966e]{color:var(--color-warning)}.empty[data-v-63ce966e]{padding:var(--space-4) 0;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-base)}.prov-row[data-v-63ce966e]{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-line);transition:background var(--duration-fast) var(--ease-out)}.prov-row[data-v-63ce966e]:last-child{border-bottom:none}.status-dot[data-v-63ce966e]{width:8px;height:8px;flex:none;border-radius:50%;box-sizing:border-box}.status-dot--empty[data-v-63ce966e]{background:transparent;border:1.5px solid var(--color-text-faint)}.prov-info[data-v-63ce966e]{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.prov-type[data-v-63ce966e]{font-family:var(--font-ui);font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-text)}.prov-url[data-v-63ce966e]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prov-meta[data-v-63ce966e]{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-text-muted)}.prov-actions[data-v-63ce966e]{display:flex;gap:var(--space-2);flex:none;align-items:center;flex-wrap:wrap}.add-section[data-v-63ce966e]{border-top:1px solid var(--color-line);padding-top:var(--space-4)}.add-btns[data-v-63ce966e]{display:flex;flex-wrap:wrap;gap:var(--space-2)}.add-form[data-v-63ce966e]{display:flex;flex-direction:column;gap:var(--space-3)}.add-error[data-v-63ce966e]{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-danger)}.form-btns[data-v-63ce966e]{display:flex;flex-wrap:wrap;gap:var(--space-2)}.import-form[data-v-63ce966e]{display:flex;flex-direction:column;gap:var(--space-3)}.import-head[data-v-63ce966e]{display:flex;align-items:center;gap:var(--space-2)}.import-title[data-v-63ce966e]{font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text)}.import-error[data-v-63ce966e]{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-danger)}.catalog-list[data-v-63ce966e]{display:flex;flex-direction:column;gap:2px;max-height:260px;overflow-y:auto;padding:var(--space-1) 0}.catalog-row[data-v-63ce966e]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-2);border-radius:var(--radius-md);cursor:pointer;min-width:0;transition:background var(--duration-fast) var(--ease-out)}.catalog-row[data-v-63ce966e]:hover,.catalog-row.is-selected[data-v-63ce966e]{background:var(--color-surface-sunken)}.catalog-row.is-rejected[data-v-63ce966e]{opacity:.55;cursor:not-allowed}.catalog-check[data-v-63ce966e]{width:14px;height:14px;flex:none;color:var(--color-accent);display:flex;align-items:center;justify-content:center}.catalog-main[data-v-63ce966e]{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.catalog-name[data-v-63ce966e]{font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catalog-id[data-v-63ce966e]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catalog-wire[data-v-63ce966e]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-faint)}.catalog-meta[data-v-63ce966e]{flex:none;display:flex;align-items:center;gap:var(--space-2);max-width:40%}.catalog-count[data-v-63ce966e]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);white-space:nowrap}.catalog-selected[data-v-63ce966e]{padding-top:var(--space-1)}.footer-hint[data-v-63ce966e]{padding-top:var(--space-2);font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-text-faint);border-top:1px solid var(--color-line)}@media(max-width:640px){.prov-row[data-v-63ce966e]{align-items:flex-start;flex-wrap:wrap}.prov-actions[data-v-63ce966e]{flex:1 1 100%;justify-content:flex-end}}.center-body[data-v-8f13defd]{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-8) 0 var(--space-4);text-align:center}.center-text[data-v-8f13defd]{font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-text)}.success-text[data-v-8f13defd]{color:var(--color-success)}.err-text[data-v-8f13defd]{color:var(--color-danger)}.warn-text[data-v-8f13defd]{color:var(--color-warning);font-size:var(--text-base)}.center-hint[data-v-8f13defd]{font-size:var(--text-sm);color:var(--color-text-muted)}.region[data-v-8f13defd]{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4) 0 var(--space-2)}.region-lead[data-v-8f13defd]{margin:0;font-size:var(--text-sm);color:var(--color-text-muted);line-height:var(--leading-normal)}.region-grid[data-v-8f13defd]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.region-card[data-v-8f13defd]{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1);padding:var(--space-4);background:var(--color-surface-raised);border:1px solid var(--color-line);border-radius:var(--radius-lg);color:var(--color-text);font-family:var(--font-ui);text-align:left;cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.region-card[data-v-8f13defd]:hover{border-color:var(--color-accent);background:var(--color-surface-sunken)}.region-card[data-v-8f13defd]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.region-card.is-selected[data-v-8f13defd]{border-color:var(--color-accent);box-shadow:var(--p-focus-ring)}.region-name[data-v-8f13defd]{font-size:var(--text-lg);font-weight:var(--weight-medium)}.region-desc[data-v-8f13defd]{font-size:var(--text-xs);color:var(--color-text-muted)}.nb[data-v-8f13defd]{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-2) 0 var(--space-4)}.nb-lead[data-v-8f13defd]{margin:0;font-size:var(--text-base);color:var(--color-text);line-height:var(--leading-normal)}.nb-primary[data-v-8f13defd]{width:100%}.nb-or[data-v-8f13defd]{display:flex;align-items:center;gap:var(--space-3);color:var(--color-text-muted);font-size:var(--text-xs);letter-spacing:.06em}.nb-or[data-v-8f13defd]:before,.nb-or[data-v-8f13defd]:after{content:"";flex:1;height:1px;background:var(--color-line)}.nb-fallback[data-v-8f13defd]{display:flex;flex-direction:column;gap:var(--space-2)}.nb-fb-text[data-v-8f13defd]{font-size:var(--text-sm);color:var(--color-text-muted);line-height:var(--leading-normal)}.nb-fb-link[data-v-8f13defd]{color:var(--color-accent);text-decoration:none;border-bottom:1px solid var(--color-accent-bd)}.nb-fb-link[data-v-8f13defd]:hover{border-bottom-color:var(--color-accent)}.nb-code-row[data-v-8f13defd]{display:flex;align-items:center;gap:var(--space-3);background:var(--color-surface-sunken);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3)}.nb-code[data-v-8f13defd]{flex:1;font-family:var(--font-mono);font-size:var(--text-xl);font-weight:var(--weight-medium);color:var(--color-text);letter-spacing:.14em}.nb-copy.is-copied[data-v-8f13defd]{color:var(--color-success);border-color:var(--color-success-bd)}.nb-status[data-v-8f13defd]{display:flex;align-items:center;gap:var(--space-2);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-line)}.nb-status-title[data-v-8f13defd]{font-family:var(--font-ui);font-size:var(--text-base);color:var(--color-text);flex:1}.nb-countdown[data-v-8f13defd]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.actions[data-v-8f13defd]{display:flex;justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-4)}@media(max-width:640px){.center-body[data-v-8f13defd],.nb[data-v-8f13defd]{overflow-y:auto;-webkit-overflow-scrolling:touch}.region-grid[data-v-8f13defd]{grid-template-columns:1fr}.nb-code-row[data-v-8f13defd],.nb-status[data-v-8f13defd],.actions[data-v-8f13defd]{flex-wrap:wrap}.nb-code[data-v-8f13defd]{min-width:0;overflow-wrap:anywhere;letter-spacing:.08em}.nb-copy[data-v-8f13defd]{min-height:34px}.nb-primary[data-v-8f13defd]{min-height:44px}.nb-status-title[data-v-8f13defd]{min-width:0}}.media-lightbox[data-v-0ff39638]{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;outline:none}.ml-backdrop[data-v-0ff39638]{position:absolute;inset:0;background:#0d1117cc}.ml-close[data-v-0ff39638]{position:absolute;top:var(--space-4);right:var(--space-4);z-index:1;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-full);border:none;background:var(--color-surface-raised);color:var(--color-text);cursor:pointer;box-shadow:var(--shadow-md)}.ml-close[data-v-0ff39638]:hover{background:var(--color-surface-sunken)}.ml-loading[data-v-0ff39638]{position:relative;z-index:1}.ml-viewport[data-v-0ff39638]{position:relative;z-index:1;width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:grab;touch-action:none}.ml-viewport[data-v-0ff39638]:active{cursor:grabbing}.ml-image[data-v-0ff39638]{max-width:92%;max-height:92%;object-fit:contain;user-select:none;transform-origin:center center;transition:transform .08s ease-out}.ml-zoom-hint[data-v-0ff39638]{position:absolute;bottom:var(--space-6);left:50%;transform:translate(-50%);padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);background:var(--color-surface-raised);color:var(--color-text-muted);font-size:var(--text-xs);box-shadow:var(--shadow-sm);pointer-events:none}.ml-video[data-v-0ff39638]{position:relative;z-index:1;max-width:94%;max-height:94%;border-radius:var(--radius-lg);background:var(--color-surface-sunken)}.ml-error[data-v-0ff39638]{position:relative;z-index:1;padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface-raised);color:var(--color-text-muted)}.ml-toolbar[data-v-0ff39638]{position:absolute;bottom:var(--space-5);left:50%;transform:translate(-50%);z-index:1;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-full);background:var(--color-surface-raised);box-shadow:var(--shadow-md)}.ml-btn[data-v-0ff39638]{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:none;border-radius:var(--radius-full);background:transparent;color:var(--color-text);cursor:pointer}.ml-btn[data-v-0ff39638]:hover:not(:disabled){background:var(--color-surface-sunken)}.ml-btn[data-v-0ff39638]:disabled{opacity:.4;cursor:default}.ml-zoom-label[data-v-0ff39638]{min-width:48px;text-align:center;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted)}.ui-link[data-v-645e7d4e]{color:var(--color-accent);text-decoration:none;cursor:pointer;font:inherit;transition:color var(--duration-base) var(--ease-out)}.ui-link[data-v-645e7d4e]:hover{color:var(--color-accent-hover);text-decoration:underline}.ui-link[data-v-645e7d4e]:focus-visible{outline:none;box-shadow:var(--p-focus-ring);border-radius:var(--radius-xs)}.ui-link--muted[data-v-645e7d4e]{color:var(--color-text-muted)}.ui-link--muted[data-v-645e7d4e]:hover{color:var(--color-text)}.ui-switch[data-v-e5aecc8e]{position:relative;width:36px;height:20px;flex:none;padding:0;border:none;border-radius:var(--radius-full);background:var(--color-line-strong);cursor:pointer;transition:background var(--duration-base) var(--ease-out)}.ui-switch.is-on[data-v-e5aecc8e]{background:var(--color-accent)}.ui-switch[data-v-e5aecc8e]:disabled{opacity:.5;cursor:not-allowed}.ui-switch[data-v-e5aecc8e]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.ui-switch__thumb[data-v-e5aecc8e]{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:var(--radius-full);background:var(--surface-light);box-shadow:var(--shadow-xs);transition:transform var(--duration-base) var(--ease-out)}.ui-switch.is-on .ui-switch__thumb[data-v-e5aecc8e]{background:var(--color-text-on-accent);transform:translate(16px)}.ps[data-v-8c64da0f]{display:flex;flex-direction:column;gap:var(--space-4)}.ext-hint[data-v-8c64da0f] .ui-banner__text{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.ext-hint-title[data-v-8c64da0f]{color:var(--color-text);font-weight:var(--weight-medium)}.ext-hint-dismiss[data-v-8c64da0f]{margin-left:auto}.action-error[data-v-8c64da0f]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-danger-soft);color:var(--color-danger);font-family:var(--font-ui);font-size:var(--text-sm)}.plug-sec[data-v-8c64da0f]{display:flex;flex-direction:column;gap:var(--space-3)}.plug-sec-head[data-v-8c64da0f]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.plug-title[data-v-8c64da0f]{margin:0;font-family:var(--font-ui);font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}.plug-state[data-v-8c64da0f]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) 0;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-sm)}.plug-state.is-error[data-v-8c64da0f]{color:var(--color-danger)}.plug-list[data-v-8c64da0f]{display:flex;flex-direction:column;border:1px solid var(--color-line);border-radius:var(--radius-xl);overflow:hidden;background:var(--color-bg)}.plug-row[data-v-8c64da0f]{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-line)}.plug-row[data-v-8c64da0f]:first-child{border-top:none}.plug-row[data-v-8c64da0f]:hover{background:var(--color-surface-sunken)}.plug-info[data-v-8c64da0f]{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.plug-name[data-v-8c64da0f]{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:0}.plug-display[data-v-8c64da0f]{font-family:var(--font-ui);font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plug-version[data-v-8c64da0f]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-faint)}.plug-counts[data-v-8c64da0f]{font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-text-muted)}.plug-desc[data-v-8c64da0f]{margin:0;font-family:var(--font-ui);font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--color-text-muted)}.plug-home[data-v-8c64da0f]{font-family:var(--font-ui);font-size:var(--text-xs)}.plug-actions[data-v-8c64da0f]{display:flex;align-items:center;gap:var(--space-2);flex:none}.cap-progress[data-v-8c64da0f]{display:flex;flex-direction:column;gap:var(--space-1);max-width:420px}.cap-progress-text[data-v-8c64da0f]{font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-text-muted)}.cap-progress-track[data-v-8c64da0f]{display:block;height:4px;border-radius:var(--radius-full);background:var(--color-surface-sunken);overflow:hidden}.cap-progress-fill[data-v-8c64da0f]{display:block;height:100%;border-radius:var(--radius-full);background:var(--color-accent);transition:width var(--duration-base) var(--ease-out)}.cap-error[data-v-8c64da0f]{display:flex;align-items:center;gap:var(--space-1);font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-danger)}.cap-steps[data-v-8c64da0f]{display:flex;flex-direction:column;gap:var(--space-1);margin:0;padding:0;list-style:none}.cap-step[data-v-8c64da0f]{display:flex;align-items:center;gap:var(--space-2);min-width:0}.cap-step-ok[data-v-8c64da0f]{color:var(--color-success);flex:none}.cap-step-bad[data-v-8c64da0f]{color:var(--color-danger);flex:none}.cap-step-missing[data-v-8c64da0f]{width:14px;height:14px;flex:none;border-radius:50%;border:1.5px solid var(--color-text-faint);box-sizing:border-box}.cap-step-label[data-v-8c64da0f]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:640px){.plug-row[data-v-8c64da0f]{align-items:flex-start;flex-wrap:wrap}.plug-actions[data-v-8c64da0f]{flex:1 1 100%;justify-content:flex-end}.ext-hint-dismiss[data-v-8c64da0f]{margin-left:0}}.sd[data-v-0e526447]{display:flex;flex-direction:row;min-height:0;height:100%}.settings-tabs[data-v-0e526447]{display:flex;flex-direction:column;flex:none;width:148px;padding:var(--space-2);gap:2px;overflow-y:auto}.tab[data-v-0e526447]{text-align:left;padding:8px 10px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-base);cursor:pointer;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.tab[data-v-0e526447]:hover{background:var(--color-surface-sunken);color:var(--color-text)}.tab.on[data-v-0e526447]{background:var(--color-accent-soft);color:var(--color-accent);font-weight:var(--weight-medium)}.tab[data-v-0e526447]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.body[data-v-0e526447]{display:flex;flex-direction:column;overflow-y:auto;padding:var(--space-2) var(--space-5) var(--space-5) var(--space-6);flex:1;min-width:0}.panel[data-v-0e526447]{display:block}.sec[data-v-0e526447]{padding:var(--space-4) 0;border-bottom:1px solid var(--color-line)}.sec[data-v-0e526447]:last-child{border-bottom:none}.sec-head[data-v-0e526447]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.sec-title[data-v-0e526447]{margin:0 0 var(--space-3);font-family:var(--font-ui);font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}.sec-head .sec-title[data-v-0e526447]{margin-bottom:0}.saving[data-v-0e526447]{flex:none;font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-text-muted)}.row[data-v-0e526447]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:38px;padding:var(--space-1) 0}.rlabel[data-v-0e526447]{font-family:var(--font-ui);font-size:var(--text-base);color:var(--color-text);display:flex;flex-direction:column;gap:var(--space-1)}.rvalue[data-v-0e526447]{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-text-muted);max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rvalue.mono[data-v-0e526447]{font-family:var(--font-mono);font-size:var(--text-xs)}.hint[data-v-0e526447]{font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-text-faint)}.num-field[data-v-0e526447]{display:inline-flex;align-items:center;gap:var(--space-2);flex:none;padding:0 var(--space-3);height:38px;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface-raised);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.num-field[data-v-0e526447]:hover{border-color:var(--color-line-strong)}.num-field[data-v-0e526447]:focus-within{border-color:var(--color-accent);box-shadow:var(--p-focus-ring)}.num-input[data-v-0e526447]{width:48px;border:none;outline:none;background:transparent;color:var(--color-text);font-family:var(--font-mono);font-size:var(--text-base);text-align:right}.num-unit[data-v-0e526447]{color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--text-xs)}.select-wrap[data-v-0e526447]{min-width:220px;max-width:min(320px,50vw);flex:none}.planning-control[data-v-0e526447]{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-1);flex:none}.field-error[data-v-0e526447]{font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-danger)}.empty-config[data-v-0e526447]{font-family:var(--font-ui);font-size:var(--text-base);color:var(--color-text-muted);padding:var(--space-1) 0}.plugins-panel[data-v-0e526447]{padding-top:var(--space-4)}.actions[data-v-0e526447]{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}@media(max-width:640px){.sd[data-v-0e526447]{flex-direction:column}.settings-tabs[data-v-0e526447]{flex-direction:row;width:auto;padding:var(--space-2) var(--space-3);gap:var(--space-1);overflow-x:auto}.tab[data-v-0e526447]{white-space:nowrap;flex:none}.row[data-v-0e526447]{align-items:flex-start;flex-direction:column}.select-wrap[data-v-0e526447]{width:100%;max-width:none}.planning-control[data-v-0e526447]{width:100%;align-items:stretch}}.setting-card[data-v-0e526447]{border:1px solid var(--color-line);border-radius:var(--radius-xl);overflow:hidden;background:var(--color-bg)}.panel-head[data-v-0e526447]{margin-bottom:var(--space-4)}.panel-kicker[data-v-0e526447]{font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-faint);margin-bottom:var(--space-1)}.panel-title[data-v-0e526447]{margin:0 0 var(--space-2);font-family:var(--font-ui);font-size:var(--text-2xl);font-weight:var(--weight-semibold);letter-spacing:-.01em;color:var(--color-text)}.panel-desc[data-v-0e526447]{margin:0;font-family:var(--font-ui);font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--color-text-muted);max-width:560px}.archive-toolbar[data-v-0e526447]{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap}.archive-search[data-v-0e526447]{flex:1;min-width:200px;height:36px;display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-line);color:var(--color-text-faint);font-size:var(--text-sm);background:var(--color-surface-raised);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.archive-search[data-v-0e526447]:focus-within{border-color:var(--color-accent);box-shadow:var(--p-focus-ring);color:var(--color-text-muted)}.archive-search svg[data-v-0e526447]{width:15px;height:15px;flex:none}.archive-search input[data-v-0e526447]{width:100%;border:none;outline:none;background:transparent;font:inherit;color:var(--color-text)}.archive-list[data-v-0e526447]{display:flex;flex-direction:column;gap:var(--space-4)}.archive-card .setting-card[data-v-0e526447]{margin-bottom:0}.archive-workspace[data-v-0e526447]{display:flex;align-items:center;gap:var(--space-2);margin:0 2px var(--space-2);color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--weight-medium)}.archive-workspace svg[data-v-0e526447]{width:16px;height:16px;color:var(--color-text-faint);flex:none}.archive-workspace .path[data-v-0e526447]{font-family:var(--font-mono);font-size:var(--text-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.archive-workspace .count[data-v-0e526447]{margin-left:auto;color:var(--color-text-faint);font-weight:var(--weight-regular);font-size:var(--text-xs);flex:none}.archive-row[data-v-0e526447]{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-3);align-items:center;padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-line)}.archive-row[data-v-0e526447]:first-child{border-top:none}.archive-row[data-v-0e526447]:hover{background:var(--color-surface-sunken)}.archive-meta[data-v-0e526447]{min-width:0}.archive-name[data-v-0e526447]{font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.archive-time[data-v-0e526447]{margin-top:2px;font-size:var(--text-xs);color:var(--color-text-faint);font-family:var(--font-mono)}.archive-draining[data-v-0e526447]{margin-bottom:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-accent-soft);color:var(--color-accent-hover);font-size:var(--text-sm)}.archive-empty[data-v-0e526447]{padding:var(--space-6) var(--space-4);border:1px solid var(--color-line);border-radius:var(--radius-xl);color:var(--color-text-faint);font-size:var(--text-sm);text-align:center;background:var(--color-bg)}.archive-load-more[data-v-0e526447]{align-self:center;margin-top:var(--space-2);padding:6px 18px;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface-raised);color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-sm);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.archive-load-more[data-v-0e526447]:hover:not(:disabled){border-color:var(--color-line-strong);color:var(--color-text)}.archive-load-more[data-v-0e526447]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.archive-load-more[data-v-0e526447]:disabled{opacity:.5;cursor:not-allowed}@media(max-width:640px){.archive-toolbar[data-v-0e526447]{flex-direction:column;align-items:stretch}.archive-search[data-v-0e526447]{min-width:0}}[data-v-0e526447] .ui-dialog{width:min(980px,96vw)}[data-v-0e526447] .ui-dialog--fixed-height{height:min(780px,calc(100vh - var(--space-8) * 2))}.ui-check[data-v-1802c5bd]{display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer}.ui-check.is-disabled[data-v-1802c5bd]{opacity:.5;cursor:not-allowed}.ui-check__input[data-v-1802c5bd]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.ui-check__box[data-v-1802c5bd]{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;flex:none;border:1.5px solid var(--color-line-strong);border-radius:var(--radius-sm);background:var(--color-surface-raised);color:var(--color-text-on-accent);transition:background var(--duration-base) var(--ease-out),border-color var(--duration-base) var(--ease-out)}.ui-check.is-on .ui-check__box[data-v-1802c5bd]{background:var(--color-accent);border-color:var(--color-accent)}.ui-check__input:focus-visible+.ui-check__box[data-v-1802c5bd]{box-shadow:var(--p-focus-ring)}.ui-check__box svg[data-v-1802c5bd]{width:12px;height:12px}.ui-check__label[data-v-1802c5bd]{font-family:var(--font-ui);font-size:var(--text-base);color:var(--color-text)}.sd[data-v-57938067]{display:flex;flex-direction:column;height:100%;min-height:0;padding:var(--space-5);box-sizing:border-box}.sd-head[data-v-57938067]{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.sd-head-text[data-v-57938067]{min-width:0}.sd-title[data-v-57938067]{margin:0 0 var(--space-1);font-family:var(--font-ui);font-size:var(--text-xl);font-weight:var(--weight-medium);letter-spacing:-.01em;color:var(--color-text)}.sd-subtitle[data-v-57938067]{margin:0;font-family:var(--font-ui);font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--color-text-muted);max-width:560px}.toolbar[data-v-57938067]{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-3)}.search[data-v-57938067]{flex:1;min-width:180px;height:32px;display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-line-strong);background:var(--color-surface-raised);color:var(--color-text-faint);font-size:var(--text-sm);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.search[data-v-57938067]:focus-within{border-color:var(--color-accent);box-shadow:var(--p-focus-ring);color:var(--color-text-muted)}.search svg[data-v-57938067]{width:15px;height:15px;flex:none}.search input[data-v-57938067]{width:100%;border:none;outline:none;background:transparent;font:inherit;color:var(--color-text)}.batch-bar[data-v-57938067]{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-3);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface)}.batch-count[data-v-57938067]{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.batch-actions[data-v-57938067]{margin-left:auto;display:flex;align-items:center;gap:var(--space-2)}.list[data-v-57938067]{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.row[data-v-57938067]{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--space-3);align-items:center;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);cursor:default}.row[data-v-57938067]:hover{background:var(--color-surface-sunken)}.row.on[data-v-57938067]{background:var(--color-selected)}.row-main[data-v-57938067]{min-width:0}.row-title[data-v-57938067]{font-family:var(--font-ui);font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-meta[data-v-57938067]{display:flex;align-items:center;gap:var(--space-2);margin-top:2px;min-width:0}.row-ws[data-v-57938067]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:40%}.row-time[data-v-57938067]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-faint);flex:none}.row-emoji[data-v-57938067]{font-size:var(--text-base);line-height:1;flex:none}.row-kebab[data-v-57938067]{opacity:0}.row:hover .row-kebab[data-v-57938067],.row:focus-within .row-kebab[data-v-57938067]{opacity:1}.rename-input[data-v-57938067]{width:100%;font-family:var(--font-ui);font-size:var(--text-base);color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-accent);border-radius:var(--radius-xs);padding:1px 4px;outline:none;min-width:0}.empty[data-v-57938067]{padding:var(--space-6) var(--space-4);border:1px solid var(--color-line);border-radius:var(--radius-xl);color:var(--color-text-faint);font-size:var(--text-sm);text-align:center;background:var(--color-bg)}.pager[data-v-57938067]{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-line)}.page-info[data-v-57938067]{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-text-muted);font-variant-numeric:tabular-nums;min-width:56px;text-align:center}.pager[data-v-57938067] .ui-select{width:72px}.total[data-v-57938067]{margin-left:auto;font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.row-menu[data-v-57938067],.select-menu[data-v-57938067]{position:fixed;top:0;left:0;z-index:var(--z-dropdown)}.aw[data-v-a2c2e0eb]{margin-left:calc(-1 * var(--space-5));margin-right:calc(-1 * var(--space-5));margin-bottom:calc(-1 * var(--space-4))}.crumbbar[data-v-a2c2e0eb]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);border-bottom:1px solid var(--color-line)}.crumbs[data-v-a2c2e0eb]{display:flex;align-items:center;flex-wrap:wrap;gap:1px;min-width:0;font-size:var(--text-sm)}.crumb-sep[data-v-a2c2e0eb]{color:var(--color-text-muted)}.crumb[data-v-a2c2e0eb]{background:none;border:none;cursor:pointer;font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-text-muted);padding:1px var(--space-1);border-radius:var(--radius-xs)}.crumb[data-v-a2c2e0eb]:hover{color:var(--color-accent);background:var(--color-surface-sunken)}.crumb.last[data-v-a2c2e0eb]{color:var(--color-text);font-weight:var(--weight-medium)}.filterbar[data-v-a2c2e0eb]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);border-bottom:1px solid var(--color-line)}.filter-icon[data-v-a2c2e0eb]{flex:none;width:var(--p-ic-sm);height:var(--p-ic-sm);color:var(--color-text-muted)}.filter-input[data-v-a2c2e0eb]{flex:1;min-width:0;font-family:var(--font-ui);font-size:var(--text-base);padding:var(--space-1) 0;border:none;background:none;color:var(--color-text);outline:none}.filter-input[data-v-a2c2e0eb]::placeholder{color:var(--color-text-muted)}.search-rel[data-v-a2c2e0eb]{color:var(--color-text)}.filterbar.has-error[data-v-a2c2e0eb]{border-bottom-color:var(--color-danger)}.filterbar.has-error .filter-icon[data-v-a2c2e0eb]{color:var(--color-danger)}.folder-list[data-v-a2c2e0eb]{height:300px;overflow-y:auto;padding:var(--space-1) var(--space-2)}.fl-loading[data-v-a2c2e0eb],.fl-empty[data-v-a2c2e0eb]{padding:var(--space-6) var(--space-4);text-align:center;color:var(--color-text-muted);font-size:var(--text-sm)}.fl-note[data-v-a2c2e0eb]{padding:var(--space-2) var(--space-4);font-size:var(--text-sm);color:var(--color-text-muted)}.fl-error[data-v-a2c2e0eb]{color:var(--color-danger)}.folder-row[data-v-a2c2e0eb]{display:flex;align-items:center;gap:var(--space-2);width:100%;background:none;border:none;cursor:pointer;font-family:var(--font-ui);font-size:var(--text-base);color:var(--color-text);text-align:left;padding:var(--space-1) var(--space-4);border-radius:var(--radius-md)}.folder-row[data-v-a2c2e0eb]:hover{background:var(--color-surface-sunken)}.dir-icon[data-v-a2c2e0eb]{flex:none;width:var(--p-ic-sm);height:var(--p-ic-sm);color:var(--color-text-muted)}.folder-row:hover .dir-icon[data-v-a2c2e0eb]{color:var(--color-accent)}.folder-name[data-v-a2c2e0eb]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text)}.degraded-hint[data-v-a2c2e0eb]{padding:var(--space-6) var(--space-5);text-align:center;color:var(--color-text-muted);font-size:var(--text-sm)}.add-error[data-v-a2c2e0eb]{margin:0 14px 8px;padding:6px 10px;font-family:var(--mono);font-size:var(--ui-font-size-xs);color:var(--color-danger);background:#b3261e14;border:1px solid rgba(179,38,30,.25);border-radius:var(--radius-xs)}.actions[data-v-a2c2e0eb]{display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-5)}.footer-hint[data-v-a2c2e0eb]{padding:var(--space-2) var(--space-5);font-size:var(--text-xs);color:var(--color-text-muted);border-top:1px solid var(--color-line)}@media(max-width:640px){.folder-row[data-v-a2c2e0eb]{min-height:44px}.crumbbar[data-v-a2c2e0eb]{align-items:flex-start}.actions[data-v-a2c2e0eb]{flex-wrap:wrap}}.confirm-dialog__message[data-v-2e719024]{margin:0;font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text-muted)}.rows[data-v-5ba9ba29]{margin:0;padding:0}.row[data-v-5ba9ba29]{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) 0;font-size:var(--text-base)}.row dt[data-v-5ba9ba29]{width:96px;flex:none;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:var(--text-xs)}.row dd[data-v-5ba9ba29]{margin:0;color:var(--color-text);font-weight:var(--weight-medium);display:flex;align-items:center;gap:var(--space-2);min-width:0}.row dd.plan-on[data-v-5ba9ba29],.row dd.swarm-on[data-v-5ba9ba29],.row dd.supermoon-on[data-v-5ba9ba29]{color:var(--color-accent)}.ctx-text[data-v-5ba9ba29]{flex:none}.bar[data-v-5ba9ba29]{width:80px;height:5px;border-radius:var(--radius-full);background:var(--color-line);overflow:hidden;flex:none}.bar i[data-v-5ba9ba29]{display:block;height:100%;background:var(--color-accent)}@media(max-width:640px){.rows[data-v-5ba9ba29]{overflow-y:auto;-webkit-overflow-scrolling:touch}.row[data-v-5ba9ba29]{align-items:flex-start;flex-direction:column;gap:var(--space-1);min-height:48px}.row dt[data-v-5ba9ba29]{width:auto}.row dd[data-v-5ba9ba29]{max-width:100%;flex-wrap:wrap}}.ui-toast[data-v-adc6f346]{display:flex;align-items:flex-start;gap:11px;width:360px;max-width:100%;padding:13px 14px;background:var(--color-surface-raised);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);font-family:var(--font-ui);line-height:1.45}.ui-toast__icon[data-v-adc6f346]{flex:none;width:20px;height:20px;margin-top:1px;border-radius:var(--radius-full);display:grid;place-items:center;background:var(--color-accent-soft);color:var(--color-accent)}.ui-toast__icon svg[data-v-adc6f346]{width:12px;height:12px}.ui-toast--success .ui-toast__icon[data-v-adc6f346]{background:var(--color-success-soft);color:var(--color-success)}.ui-toast--warning .ui-toast__icon[data-v-adc6f346]{background:var(--color-warning-soft);color:var(--color-warning)}.ui-toast--danger .ui-toast__icon[data-v-adc6f346]{background:var(--color-danger-soft);color:var(--color-danger)}.ui-toast--danger[data-v-adc6f346]{border-color:color-mix(in srgb,var(--color-danger) 35%,transparent)}.ui-toast__body[data-v-adc6f346]{flex:1;min-width:0}.ui-toast__title[data-v-adc6f346]{font-size:var(--text-base);font-weight:500;color:var(--color-text);overflow-wrap:anywhere}.ui-toast__msg[data-v-adc6f346]{margin-top:2px;font-size:var(--text-sm);color:var(--color-text-muted);overflow-wrap:anywhere}.ui-toast--danger .ui-toast__msg[data-v-adc6f346]{color:var(--color-danger)}.ui-toast__close[data-v-adc6f346]{flex:none;margin:-3px -4px 0 0}.toasts[data-v-c92be17a]{position:fixed;right:16px;bottom:84px;display:flex;flex-direction:column;gap:var(--space-2);z-index:var(--z-toast);width:min(440px,calc(100vw - 32px));max-height:56vh;overflow-y:auto}.toast-enter-active[data-v-c92be17a],.toast-leave-active[data-v-c92be17a]{transition:opacity var(--duration-base) var(--ease-out),transform var(--duration-base) var(--ease-out)}.toast-enter-from[data-v-c92be17a],.toast-leave-to[data-v-c92be17a]{opacity:0;transform:translate(16px)}.toast-move[data-v-c92be17a]{transition:transform var(--duration-base) var(--ease-out)}.actions[data-v-c92be17a]{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.link[data-v-c92be17a]{border:0;padding:0;background:none;color:var(--color-accent);cursor:pointer;font:inherit;font-size:var(--ui-font-size-xs)}.link[data-v-c92be17a]:hover{text-decoration:underline}.details[data-v-c92be17a]{display:grid;gap:5px;margin:8px 0 0;padding:8px;border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-surface-sunken)}.detail-row[data-v-c92be17a]{display:grid;grid-template-columns:minmax(88px,.34fr) minmax(0,1fr);gap:8px}.detail-row dt[data-v-c92be17a]{color:var(--color-text-muted)}.detail-row dd[data-v-c92be17a]{margin:0;color:var(--color-text);overflow-wrap:anywhere;white-space:pre-wrap}@media(max-width:640px){.toasts[data-v-c92be17a]{left:12px;right:12px;bottom:calc(var(--dock-h, 76px) + 8px);width:auto;max-height:50vh}.detail-row[data-v-c92be17a]{grid-template-columns:1fr;gap:2px}}.task-notices[data-v-83335bbd]{position:fixed;right:16px;bottom:160px;display:flex;flex-direction:column;gap:var(--space-2);z-index:var(--z-toast);width:min(420px,calc(100vw - 32px))}.tn-enter-active[data-v-83335bbd],.tn-leave-active[data-v-83335bbd]{transition:opacity var(--duration-base) var(--ease-out),transform var(--duration-base) var(--ease-out)}.tn-enter-from[data-v-83335bbd],.tn-leave-to[data-v-83335bbd]{opacity:0;transform:translateY(8px)}.tn-move[data-v-83335bbd]{transition:transform var(--duration-base) var(--ease-out)}.tn-meta[data-v-83335bbd]{display:flex;align-items:center;gap:var(--space-2);margin-top:2px;font-size:var(--text-xs);color:var(--color-text-muted)}.tn-bytes[data-v-83335bbd]{font-family:var(--font-mono);color:var(--color-text-faint)}.tn-truncated[data-v-83335bbd]{color:var(--color-text-faint)}.tn-preview[data-v-83335bbd]{margin:var(--space-2) 0 0;padding:var(--space-2) var(--space-3);max-height:120px;overflow:auto;border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-surface-sunken);font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.5;color:var(--color-text);white-space:pre-wrap;word-break:break-word}.tn-copy[data-v-83335bbd]{margin-top:var(--space-2);border:0;padding:0;background:none;color:var(--color-accent);cursor:pointer;font:inherit;font-size:var(--text-xs)}.tn-copy[data-v-83335bbd]:hover:not(:disabled){text-decoration:underline}.tn-copy[data-v-83335bbd]:disabled{color:var(--color-success);cursor:default}@media(max-width:640px){.task-notices[data-v-83335bbd]{left:12px;right:12px;bottom:calc(var(--dock-h, 76px) + 8px + 64px);width:auto}}.topbar[data-v-6b4b901f]{display:flex;align-items:center;gap:10px;height:calc(50px + var(--safe-top));flex:none;padding:var(--safe-top) max(12px,var(--safe-right)) 0 max(12px,var(--safe-left));border-bottom:1px solid var(--color-line);background:var(--color-bg);font-family:var(--font-ui)}.wsq[data-v-6b4b901f]{flex:none;width:28px;height:28px;border-radius:var(--radius-md);background:var(--color-text);color:var(--color-bg);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-weight:var(--weight-medium);font-size:var(--ui-font-size-sm)}.tb-mid[data-v-6b4b901f]{flex:1;min-width:0;height:100%;display:flex;flex-direction:column;justify-content:center;gap:1px;background:none;border:none;padding:0;cursor:pointer;text-align:left}.tb-path[data-v-6b4b901f]{display:flex;align-items:center;gap:5px;font-size:var(--ui-font-size-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tb-path .ws[data-v-6b4b901f]{color:var(--color-text)}.tb-path .sl[data-v-6b4b901f]{color:var(--color-text-faint)}.tb-path .se[data-v-6b4b901f]{color:var(--color-text);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tb-path .cv[data-v-6b4b901f]{color:var(--color-text-faint);flex:none}.tb-sub[data-v-6b4b901f]{display:flex;align-items:center;gap:5px;font-size:max(9px,calc(var(--ui-font-size) - 3.5px));color:var(--color-text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tb-sub .rd[data-v-6b4b901f]{flex:none;width:6px;height:6px;border-radius:var(--radius-full);background:var(--color-text-faint)}.tb-sub .rd.on[data-v-6b4b901f]{background:var(--color-success)}.topbar .tb-path[data-v-6b4b901f]{font-family:var(--sans)}.mtabs[data-v-0640251a]{padding:var(--space-1) var(--space-4) var(--space-2)}.newrow[data-v-0640251a]{display:flex;align-items:center;gap:10px;width:100%;padding:var(--space-3) var(--space-4);background:none;border:none;border-radius:var(--radius-md);color:var(--color-accent);font-weight:500;font-size:var(--text-base);cursor:pointer;text-align:left}.newrow[data-v-0640251a]:hover,.newrow[data-v-0640251a]:active{background:var(--color-surface-sunken)}.newrow.secondary[data-v-0640251a]{padding-top:var(--space-2);padding-bottom:var(--space-2);color:var(--color-text-muted);font-weight:400}.newrow.secondary[data-v-0640251a]:hover{background:var(--color-surface-sunken)}.newrow.secondary[data-v-0640251a]:active{background:var(--color-surface-sunken);color:var(--color-text)}.mlist[data-v-0640251a]{--m-pad: 16px;--m-gutter: 15px;--m-gap: 8px;--m-indent: calc(var(--m-pad) + var(--m-gutter) + var(--m-gap));padding-bottom:var(--space-1)}.mempty[data-v-0640251a]{padding:var(--space-6) var(--space-4);text-align:center;color:var(--color-text-faint);font-size:var(--ui-font-size)}.mempty.small[data-v-0640251a]{padding:10px 16px 12px var(--m-indent);text-align:left;font-size:var(--ui-font-size-xs)}.mgroup[data-v-0640251a]{padding-top:2px}.mgh[data-v-0640251a]{display:flex;align-items:center;gap:var(--m-gap);padding:10px var(--m-pad) 6px;border-radius:var(--radius-md);cursor:pointer;user-select:none;position:relative}.mgh[data-v-0640251a]:hover,.mgh[data-v-0640251a]:active{background:var(--color-surface-sunken)}.mgh-folder[data-v-0640251a]{flex:none;color:var(--color-text-muted)}.mgh-main[data-v-0640251a]{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.mgh-name[data-v-0640251a]{font-size:var(--ui-font-size-lg);font-weight:var(--weight-medium);color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mgh-path[data-v-0640251a]{font-size:var(--text-base);font-weight:var(--weight-regular);color:var(--color-text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mgh-add[data-v-0640251a]{margin:-10px -12px -10px 0}.mgh-add[data-v-0640251a]:active{color:var(--color-text);background:var(--color-surface-sunken)}.mgh-more[data-v-0640251a]{margin:-10px -8px}.mgh-more[data-v-0640251a]:active{color:var(--color-text);background:var(--color-surface-sunken)}.srow[data-v-0640251a]{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--m-pad) var(--space-3) var(--m-indent);border-radius:var(--radius-md);cursor:pointer;position:relative}.srow[data-v-0640251a]:hover,.srow[data-v-0640251a]:active{background:var(--color-surface-sunken)}.srow.cur[data-v-0640251a]{background:var(--color-accent-soft);box-shadow:inset 0 0 0 1px var(--color-accent-bd)}.srow .m[data-v-0640251a]{flex:1;min-width:0}.srow .m .t[data-v-0640251a]{font-size:var(--text-base);font-weight:var(--weight-medium);line-height:var(--leading-tight);color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.srow.cur .m .t[data-v-0640251a]{color:var(--color-accent-hover)}.srow .m .t.run[data-v-0640251a]{position:relative}.srow .m .t.run[data-v-0640251a]:before{content:"";position:absolute;left:-14px;top:50%;transform:translateY(-50%);width:6px;height:6px;border-radius:var(--radius-full);background:var(--color-accent);animation:mRunPulse-0640251a 1.4s ease-in-out infinite}@keyframes mRunPulse-0640251a{0%,to{opacity:1}50%{opacity:.35}}.srow .m .t.aborted[data-v-0640251a]{position:relative}.srow .m .t.aborted[data-v-0640251a]:before{content:"";position:absolute;left:-14px;top:50%;transform:translateY(-50%);width:6px;height:6px;border-radius:var(--radius-full);background:var(--color-danger)}.srow .m .s[data-v-0640251a]{font-size:var(--text-base);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums;color:var(--color-text-faint);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.att[data-v-0640251a]{flex:none;font-family:var(--font-mono);font-size:max(9px,calc(var(--ui-font-size) - 4px));color:var(--surface-light);background:var(--color-warning);border-radius:var(--radius-full);padding:1px 7px}.srow .kb[data-v-0640251a]:active{color:var(--color-text);background:var(--color-surface-sunken)}.kmenu[data-v-0640251a]{position:absolute;right:12px;top:44px;z-index:var(--z-dropdown);min-width:96px;overflow:hidden}.wsmenu[data-v-0640251a]{top:calc(100% - 4px);right:var(--m-pad);min-width:132px}.mshow-more[data-v-0640251a]{display:flex;align-items:center;width:100%;min-height:44px;padding:var(--space-1) var(--m-pad) var(--space-1) var(--m-indent);background:none;border:none;color:var(--color-text-muted);font-size:var(--text-base);cursor:pointer;text-align:left}.mshow-more[data-v-0640251a]:active{color:var(--color-accent-hover);background:var(--color-surface-sunken)}.newrow[data-v-0640251a]{font-family:var(--sans)}.mlist .srow[data-v-0640251a]{margin:1px 8px;border-radius:var(--radius-md);border-bottom:none;padding:12px calc(var(--m-pad, 16px) - 8px) 12px calc(var(--m-indent, 39px) - 8px)}.mlist .srow.cur[data-v-0640251a]{box-shadow:inset 0 0 0 1px var(--color-accent-bd)}.group-title[data-v-12cc4ffa]{padding:var(--space-3) var(--space-3) var(--space-1);font-family:var(--font-ui);font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-faint)}.srow[data-v-12cc4ffa]{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:52px;padding:var(--space-3);background:none;border:none;border-radius:var(--radius-md);cursor:pointer;text-align:left;color:var(--color-text)}.srow[data-v-12cc4ffa]:hover:not(.read-only){background:var(--color-surface-sunken)}.srow[data-v-12cc4ffa]:active:not(.read-only){background:var(--color-surface-sunken)}.srow.read-only[data-v-12cc4ffa]{cursor:default}.srow-main[data-v-12cc4ffa]{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.srow-label[data-v-12cc4ffa]{font-size:var(--text-base);color:var(--color-text)}.srow-sub[data-v-12cc4ffa]{font-size:var(--text-base);color:var(--color-text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.srow-val[data-v-12cc4ffa]{flex:none;font-family:var(--font-mono);font-size:var(--ui-font-size);font-weight:500;color:var(--color-accent-hover)}.srow-val.dim[data-v-12cc4ffa]{font-weight:400;color:var(--color-text-muted)}.cache-note[data-v-12cc4ffa]{padding:0 var(--space-3) var(--space-2);font-size:var(--text-xs);color:var(--color-text-faint);line-height:1.4}.chev[data-v-12cc4ffa]{flex:none;color:var(--color-text-faint);font-size:17px;line-height:1}.toggle[data-v-12cc4ffa]{flex:none;width:44px;height:26px;border-radius:var(--radius-full);background:var(--color-line);position:relative;transition:background .18s}.toggle.on[data-v-12cc4ffa]{background:var(--color-accent)}.toggle[data-v-12cc4ffa]:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:var(--radius-full);box-sizing:border-box;background:var(--color-bg);border:1px solid var(--color-line);box-shadow:var(--shadow-xs);transition:left .18s}.toggle.on[data-v-12cc4ffa]:after{left:21px}.srow.pref[data-v-12cc4ffa]{cursor:default}.num-field[data-v-12cc4ffa]{display:inline-flex;align-items:center;gap:6px;flex:none;height:34px;padding:0 9px;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-bg)}.num-input[data-v-12cc4ffa]{width:50px;border:none;outline:none;background:transparent;color:var(--color-text);font-family:var(--font-mono);font-size:var(--ui-font-size);text-align:right}.num-unit[data-v-12cc4ffa]{color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--ui-font-size-xs)}.srow.acct.in .srow-label[data-v-12cc4ffa]{color:var(--color-accent-hover);font-weight:500}.srow.acct.out .srow-label[data-v-12cc4ffa]{color:var(--color-danger)}.ctx-meter[data-v-12cc4ffa]{flex:none;width:96px;height:7px;border-radius:var(--radius-full);background:var(--color-surface-sunken);overflow:hidden}.ctx-meter i[data-v-12cc4ffa]{display:block;height:100%;background:var(--color-accent)}@media(max-width:640px){.srow[data-v-12cc4ffa]{align-items:flex-start;gap:10px;min-width:0;padding:14px max(14px,var(--safe-right)) 14px max(14px,var(--safe-left))}.group-title[data-v-12cc4ffa],.cache-note[data-v-12cc4ffa]{padding-left:max(14px,var(--safe-left));padding-right:max(14px,var(--safe-right))}.srow-main[data-v-12cc4ffa]{flex:1 1 auto}.srow-sub[data-v-12cc4ffa]{white-space:normal;overflow-wrap:anywhere}.srow.pref[data-v-12cc4ffa]{flex-wrap:wrap}.srow.pref .srow-main[data-v-12cc4ffa]{flex:1 0 100%}.num-field[data-v-12cc4ffa]{margin-left:auto}.srow-val[data-v-12cc4ffa],.chev[data-v-12cc4ffa],.toggle[data-v-12cc4ffa],.ctx-meter[data-v-12cc4ffa]{margin-top:2px}}.srow[data-v-12cc4ffa],.srow-sub[data-v-12cc4ffa],.srow-val[data-v-12cc4ffa],.cache-note[data-v-12cc4ffa]{font-family:var(--sans)}.arch-subhead[data-v-12cc4ffa]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-3) var(--space-1)}.arch-back[data-v-12cc4ffa]{display:inline-flex;align-items:center;gap:2px;border:none;background:none;padding:var(--space-1) var(--space-2) var(--space-1) 0;font-family:var(--font-ui);font-size:var(--text-base);color:var(--color-accent-hover);cursor:pointer}.chev.back[data-v-12cc4ffa]{font-size:20px}.arch-count[data-v-12cc4ffa]{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-text-faint)}.arch-tools[data-v-12cc4ffa]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);flex-wrap:wrap}.arch-search-input[data-v-12cc4ffa]{flex:1;min-width:160px}.arch-row[data-v-12cc4ffa]{display:flex;align-items:center;gap:var(--space-3);min-height:56px;padding:var(--space-2) var(--space-3);border-top:1px solid var(--color-line)}.arch-row[data-v-12cc4ffa]:first-of-type{border-top:none}.arch-meta[data-v-12cc4ffa]{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.arch-name[data-v-12cc4ffa]{font-family:var(--font-ui);font-size:var(--text-base);color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.arch-time[data-v-12cc4ffa]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-faint)}.arch-empty[data-v-12cc4ffa]{padding:var(--space-6) var(--space-4);text-align:center;font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-text-faint)}.mmp[data-v-67fc54be]{display:flex;flex-direction:column;gap:var(--space-2)}.search-wrap[data-v-67fc54be]{padding-bottom:var(--space-1)}.tab-strip[data-v-67fc54be]{display:flex;gap:var(--space-1);overflow-x:auto;padding-bottom:2px}.model-list[data-v-67fc54be]{display:flex;flex-direction:column;padding:var(--space-1) 0}.model-row[data-v-67fc54be]{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3) var(--space-2);border-radius:var(--radius-md);cursor:pointer;color:var(--color-text);min-width:0;min-height:52px;transition:background var(--duration-fast) var(--ease-out)}.model-row[data-v-67fc54be]:hover,.model-row[data-v-67fc54be]:active{background:var(--color-surface-sunken)}.model-row.is-current[data-v-67fc54be]{background:var(--color-accent-soft);box-shadow:inset 0 0 0 1px var(--color-accent-bd)}.check[data-v-67fc54be]{width:14px;height:14px;color:var(--color-accent);flex:none;display:flex;align-items:center;justify-content:center;margin-top:2px}.model-main[data-v-67fc54be]{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.model-name[data-v-67fc54be]{font-family:var(--font-ui);font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-id[data-v-67fc54be]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-ctx[data-v-67fc54be]{flex:none;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);margin-top:2px}.caps[data-v-67fc54be]{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.state-row[data-v-67fc54be]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-5) 0;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-base)}.state-row.unavail[data-v-67fc54be]{color:var(--color-warning)}.empty[data-v-67fc54be]{padding:var(--space-5) 0;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-base)}.ob-brand[data-v-fbdd3eab]{flex:1;display:flex;align-items:center;gap:var(--space-3);min-width:0}.ob-brand-text[data-v-fbdd3eab]{min-width:0}.ob-logo[data-v-fbdd3eab]{width:52px;height:36px;flex:none}.ob-title[data-v-fbdd3eab]{color:var(--color-text);font-size:var(--text-xl);font-weight:var(--weight-medium)}.ob-sub[data-v-fbdd3eab]{color:var(--color-text-muted);font-size:var(--text-base);margin-top:1px}.ob-sec[data-v-fbdd3eab]{margin-bottom:var(--space-4)}.ob-label[data-v-fbdd3eab]{color:var(--color-text);font-size:var(--text-sm);font-weight:var(--weight-medium);margin-bottom:var(--space-2)}.ob-start[data-v-fbdd3eab]{width:100%}.ob-eyes[data-v-fbdd3eab]{animation:ob-eye-look-fbdd3eab 6s ease-in-out infinite}.ob-eye[data-v-fbdd3eab]{transform-box:fill-box;transform-origin:center;animation:ob-eye-blink-fbdd3eab 4s ease-in-out infinite}@keyframes ob-eye-look-fbdd3eab{0%,42%{transform:translate(0)}47%,53%{transform:translate(2px)}58%,80%{transform:translate(0)}84%,90%{transform:translate(-2px)}95%,to{transform:translate(0)}}@keyframes ob-eye-blink-fbdd3eab{0%,94%,to{transform:scaleY(1)}96.5%,98%{transform:scaleY(.12)}}@media(prefers-reduced-motion:reduce){.ob-eyes[data-v-fbdd3eab],.ob-eye[data-v-fbdd3eab]{animation:none}}.gload[data-v-0b6dec6a]{position:fixed;top:0;left:0;width:100vw;height:100vh;height:100dvh;min-width:100vw;min-height:100dvh;z-index:var(--z-toast);display:flex;align-items:center;justify-content:center;background:var(--bg)}.gload-box[data-v-0b6dec6a]{display:flex;flex-direction:column;align-items:center;gap:22px;transform:translateY(-6%)}.gload-logo[data-v-0b6dec6a]{width:128px;height:auto;color:var(--color-text);animation:gload-pop-0b6dec6a .55s cubic-bezier(.22,1,.36,1) both}.gload-text[data-v-0b6dec6a]{font-family:var(--mono);font-size:var(--text-base);color:var(--muted);letter-spacing:.04em}.gload-issue[data-v-0b6dec6a]{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);max-width:min(480px,80vw);font-family:var(--sans);font-size:var(--text-sm);color:var(--muted);text-align:center}.gload-issue-detail[data-v-0b6dec6a]{font-family:var(--mono);font-size:var(--text-xs);color:var(--muted);opacity:.8;word-break:break-word}@keyframes gload-pop-0b6dec6a{0%{opacity:0;transform:translateY(6px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.gload-logo[data-v-0b6dec6a]{animation:none}}.gload-text[data-v-0b6dec6a]{font-family:var(--sans)}.kap-root[data-v-3cda6fe3]{height:100vh;display:flex;flex-direction:column;background:var(--bg);font-family:var(--mono);font-size:calc(var(--ui-font-size) - 2.5px);color:var(--color-text)}.kap-head[data-v-3cda6fe3]{flex:none;display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--line);background:var(--panel)}.kap-count[data-v-3cda6fe3]{color:var(--muted)}.kap-head-actions[data-v-3cda6fe3]{margin-left:auto;display:flex;gap:6px}.kap-head-actions button[data-v-3cda6fe3],.kap-view-toggle button[data-v-3cda6fe3]{padding:3px 8px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--muted);font:inherit;cursor:pointer}.kap-head-actions button[data-v-3cda6fe3]:hover,.kap-view-toggle button[data-v-3cda6fe3]:hover{color:var(--color-text)}.kap-head-actions button.on[data-v-3cda6fe3],.kap-view-toggle button.on[data-v-3cda6fe3]{color:var(--color-accent-hover);border-color:var(--color-accent-bd);background:var(--color-accent-soft)}.kap-filters[data-v-3cda6fe3]{flex:none;display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:7px 10px;border-bottom:1px solid var(--line)}.kap-filters select[data-v-3cda6fe3],.kap-filters input[type=text][data-v-3cda6fe3]{padding:3px 6px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--color-text);font:inherit;min-width:0}.kap-filters input[type=text][data-v-3cda6fe3]{flex:1;min-width:120px}.kap-check[data-v-3cda6fe3]{display:inline-flex;align-items:center;gap:4px;color:var(--muted);white-space:nowrap}.kap-view-toggle[data-v-3cda6fe3]{display:flex;gap:0}.kap-view-toggle button[data-v-3cda6fe3]:first-child{border-radius:6px 0 0 6px;border-right:none}.kap-view-toggle button[data-v-3cda6fe3]:last-child{border-radius:0 6px 6px 0}.kap-list[data-v-3cda6fe3]{flex:1;min-height:0;overflow-y:auto}.kap-empty[data-v-3cda6fe3]{padding:18px 12px;color:var(--muted);text-align:center}.kap-row[data-v-3cda6fe3]{display:flex;align-items:baseline;gap:7px;width:100%;padding:3px 10px;border:none;border-bottom:1px solid var(--line);background:transparent;color:var(--color-text);font:inherit;text-align:left;cursor:pointer}.kap-row[data-v-3cda6fe3]:hover{background:var(--panel2)}.kap-row.expanded[data-v-3cda6fe3]{background:var(--color-accent-soft)}.kap-ts[data-v-3cda6fe3]{flex:none;color:var(--muted)}.kap-badge[data-v-3cda6fe3]{flex:none;padding:0 5px;border-radius:var(--radius-sm);font-size:max(9px,calc(var(--ui-font-size) - 4.5px));font-weight:500;line-height:1.7}.b-rest[data-v-3cda6fe3]{background:var(--color-accent-soft);color:var(--color-accent-hover)}.b-in[data-v-3cda6fe3]{background:var(--color-accent-soft);color:var(--color-success)}.b-out[data-v-3cda6fe3]{background:var(--color-accent-soft);color:var(--color-warning)}.b-life[data-v-3cda6fe3]{background:var(--panel2);color:var(--muted)}.b-err[data-v-3cda6fe3]{background:var(--color-warning);color:var(--bg)}.kap-label[data-v-3cda6fe3]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kap-detail[data-v-3cda6fe3]{border-bottom:1px solid var(--line);background:var(--bg);padding:6px 10px 10px}.kap-detail-actions[data-v-3cda6fe3]{display:flex;justify-content:flex-end;margin-bottom:4px}.kap-detail-actions button[data-v-3cda6fe3]{padding:2px 8px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--muted);font:inherit;cursor:pointer}.kap-detail-actions button[data-v-3cda6fe3]:hover{color:var(--color-text)}.kap-detail pre[data-v-3cda6fe3]{margin:0;max-height:320px;overflow:auto;white-space:pre-wrap;word-break:break-word;font-size:calc(var(--ui-font-size) - 3px);line-height:1.45}.kap-agg[data-v-3cda6fe3]{flex:1;min-height:0;overflow-y:auto;padding:8px 10px}.kap-agg h4[data-v-3cda6fe3]{margin:8px 0 4px;font-size:calc(var(--ui-font-size) - 2.5px);color:var(--muted)}.kap-agg table[data-v-3cda6fe3]{width:100%;border-collapse:collapse}.kap-agg th[data-v-3cda6fe3],.kap-agg td[data-v-3cda6fe3]{padding:3px 6px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.kap-agg th[data-v-3cda6fe3]{color:var(--muted);font-weight:500}.kap-agg .num[data-v-3cda6fe3]{text-align:right}.kap-agg .err[data-v-3cda6fe3]{color:var(--color-warning);font-weight:500}.kap-agg .mono[data-v-3cda6fe3]{word-break:break-all}.kap-fab[data-v-21346738]{position:fixed;right:10px;bottom:10px;z-index:var(--z-overlay);padding:5px 9px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--muted);font-family:var(--mono);font-size:calc(var(--ui-font-size) - 3px);font-weight:500;letter-spacing:.04em;cursor:pointer;opacity:.75}.kap-fab[data-v-21346738]:hover{opacity:1;color:var(--color-accent)}.server-auth-overlay[data-v-469e14bc]{position:fixed;inset:0;z-index:var(--z-max);display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--color-bg) 70%,transparent)}.server-auth-card[data-v-469e14bc]{width:480px;max-width:calc(100vw - 48px);background:var(--color-surface-raised);border:1px solid var(--color-line);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);overflow:hidden;color:var(--color-text);font-family:var(--font-ui)}.server-auth-head[data-v-469e14bc]{display:flex;flex-direction:column;padding:20px 22px 14px}.server-auth-title[data-v-469e14bc]{margin:0;font-size:var(--text-lg);font-weight:var(--weight-medium);letter-spacing:-.01em;color:var(--color-text)}.server-auth-hint[data-v-469e14bc]{margin:4px 0 0;font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text-muted)}.server-auth-hint code[data-v-469e14bc]{padding:1px 5px;font-family:var(--font-mono);font-size:var(--text-xs);background:var(--color-surface-sunken);border-radius:var(--radius-xs)}.server-auth-body[data-v-469e14bc]{padding:4px 22px 18px}.server-auth-foot[data-v-469e14bc]{display:flex;justify-content:flex-end;gap:10px;padding:14px 22px 20px}.internal-build-tag[data-v-086c00dc]{flex:none;display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:999px;background:var(--color-logo-dev);color:var(--color-on-logo-dev);font-size:11px;font-weight:var(--weight-semibold);letter-spacing:.01em;line-height:1.4;white-space:nowrap;user-select:none}.gload-fade-leave-active[data-v-c18a3368]{transition:opacity .28s ease}.gload-fade-leave-to[data-v-c18a3368]{opacity:0}.app-shell[data-v-c18a3368]{position:fixed;top:var(--app-top, 0px);left:0;right:0;height:100vh;height:100dvh;height:var(--app-height, 100dvh);display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box}.auth-page[data-v-c18a3368]{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:32px;background:var(--bg);color:var(--color-text);box-sizing:border-box}.auth-page-inner[data-v-c18a3368]{width:min(420px,100%);display:flex;flex-direction:column;align-items:flex-start;gap:18px}.auth-page-logo[data-v-c18a3368]{width:64px;height:44px;flex:none;cursor:pointer;user-select:none;-webkit-user-select:none;transition:transform .18s ease}.auth-page-logo[data-v-c18a3368]:hover{transform:scale(1.06)}.auth-page-copy[data-v-c18a3368]{display:flex;flex-direction:column;gap:8px}.auth-page-copy h1[data-v-c18a3368]{margin:0;font-family:var(--sans);font-size:30px;line-height:1.15;font-weight:500;letter-spacing:0;color:var(--color-text)}.auth-page-copy p[data-v-c18a3368]{margin:0;font-family:var(--sans);font-size:var(--ui-font-size-lg);line-height:1.55;color:var(--dim)}.app[data-v-c18a3368]{--preview-w: 460px;flex:1;min-height:0;position:relative;display:grid;grid-template-columns:auto 0 minmax(0,1fr) 0 auto;background:var(--bg);color:var(--color-text);overflow:hidden;box-sizing:border-box}.app[data-v-c18a3368]>*{min-height:0;min-width:0}.app>.side[data-v-c18a3368]{grid-column:1}.side-handle[data-v-c18a3368]{grid-column:2}.app:not(.mobile)>.con[data-v-c18a3368]{grid-column:3}.preview-handle[data-v-c18a3368]{grid-column:4}.sidebar-toggle-btn[data-v-c18a3368]{position:absolute;top:11px;left:16px;z-index:var(--z-sticky);animation:sidebar-toggle-btn-in-c18a3368 .18s var(--ease-out) .12s backwards;-webkit-app-region:no-drag}.app.macos-desktop .sidebar-toggle-btn[data-v-c18a3368]{left:72px;animation:none}@keyframes sidebar-toggle-btn-in-c18a3368{0%{opacity:0}}.internal-build-fab[data-v-c18a3368]{position:absolute;right:var(--space-3);bottom:var(--space-3);z-index:var(--z-sticky);pointer-events:none}.app.mobile[data-v-c18a3368]{grid-template-columns:1fr;grid-template-rows:auto 1fr}.global-preview[data-v-c18a3368]{grid-column:5;min-width:0;min-height:0;width:0;background:var(--bg);overflow:hidden;transition:width .28s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column}.global-preview.open[data-v-c18a3368]{width:var(--preview-w)}.global-preview.no-anim[data-v-c18a3368]{transition:none}.global-preview[data-v-c18a3368]:not(.overlay)>*{width:var(--preview-w);box-sizing:border-box;border-left:1px solid var(--line)}.panel-content[data-v-c18a3368]{flex:1 1 auto;min-height:0;min-width:0;display:flex;flex-direction:column;overflow:hidden}.panel-content[data-v-c18a3368]>*{flex:1 1 auto;min-height:0;min-width:0}.global-preview.overlay[data-v-c18a3368]{position:fixed;inset:0;z-index:var(--z-sticky);width:auto;transition:none;border-top:2px solid var(--color-text)}@media(max-width:640px){.auth-page[data-v-c18a3368]{align-items:flex-start;padding:max(48px,var(--safe-top)) max(20px,var(--safe-right)) max(24px,var(--safe-bottom)) max(20px,var(--safe-left))}.auth-page-copy h1[data-v-c18a3368]{font-size:26px}.auth-page-btn[data-v-c18a3368]{width:100%}}:root{--panel-head-h: 48px}.app:not(.mobile) .chat-header{transition:padding-left .28s cubic-bezier(.4,0,.2,1)}.app.sidebar-collapsed .chat-header{padding-left:52px}.app.sidebar-collapsed.macos-desktop .chat-header{padding-left:108px}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;tab-size:4}body{margin:0}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;margin:0}p,blockquote,dl,dd,figure,pre{margin:0}ol,ul,menu{list-style:none;margin:0;padding:0}a{color:inherit;text-decoration:inherit}b,strong{font-weight:var(--weight-medium)}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}button,input,optgroup,select,textarea{margin:0;padding:0;font-family:inherit;font-size:100%;line-height:inherit;color:inherit}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background:transparent;background-image:none}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block}img,video{max-width:100%;height:auto}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1}table{border-collapse:collapse;border-color:inherit;text-indent:0}hr{height:0;color:inherit;border-top-width:1px}fieldset{margin:0;padding:0}legend{padding:0}dialog{padding:0}summary{display:list-item}[hidden]{display:none}@supports (interpolate-size: allow-keywords){:root{interpolate-size:allow-keywords}}:root{--dim: #595959;--muted: #8a8a8a;--faint: #b5b5b5;--line: #e9edf3;--line2: #f1f4f8;--canvas: #f4f6fa;--sh: 0 1px 3px rgba(28, 40, 66, .05), 0 6px 18px rgba(28, 40, 66, .06);--shc: 0 1px 2px rgba(28, 40, 66, .05);--panel: #fafbfc;--panel2: #f3f5f8;--bg: #ffffff;--blue: #1783ff;--blue2: #0f6fe0;--soft: #e8f3ff;--bd: #cfe6ff;--logo: #1783ff;--bluebg: #e8f3ff;--blueln: #cfe6ff;--ok: #0e7a38;--warn: #a9610a;--star: #eab308;--err: #c0392b;--hover: rgba(0, 0, 0, .05);--r-xs: var(--radius-sm);--r-sm: var(--radius-md);--r-md: var(--radius-lg);--r-lg: var(--radius-xl);--base-ui-font-size: 14px;--ui-font-size: var(--base-ui-font-size);--ui-font-size-sm: calc(var(--ui-font-size) - 1px);--ui-font-size-xs: calc(var(--ui-font-size) - 2px);--ui-font-size-lg: calc(var(--ui-font-size) + 1px);--ui-font-size-xl: calc(var(--ui-font-size) + 2px);--content-font-size: calc(var(--base-ui-font-size) + 1px);--mono: "JetBrains Mono Variable", "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--sans: var(--font-ui);color-scheme:light dark}:root{--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px)}.kw-icon{display:inline-block;flex:none;vertical-align:-.15em}code,pre,kbd,samp,tt{font-feature-settings:"liga" 0,"calt" 0,"ss01" 0;font-variant-ligatures:none}html[data-color-scheme=light]{color-scheme:light}html[data-color-scheme=system]{color-scheme:light dark}html[data-color-scheme=dark]{color-scheme:dark;--dim: #9aa0a8;--muted: #727983;--faint: #525960;--line: #2d333b;--line2: #22272e;--panel: #1c2128;--panel2: #161b22;--bg: #0d1117;--blue: #58a6ff;--blue2: #79b8ff;--soft: #1f2937;--bd: #1f6feb;--logo: #58a6ff;--bluebg: #1c2a3a;--blueln: #1f4f7a;--ok: #3fb950;--warn: #d29922;--star: #facc15;--err: #f85149;--hover: rgba(255, 255, 255, .07);--canvas: #161b22;--sh: 0 1px 3px rgba(0, 0, 0, .35), 0 6px 18px rgba(0, 0, 0, .4);--shc: 0 1px 2px rgba(0, 0, 0, .35)}@media(prefers-color-scheme:dark){html[data-color-scheme=system]{--dim: #9aa0a8;--muted: #727983;--faint: #525960;--line: #2d333b;--line2: #22272e;--panel: #1c2128;--panel2: #161b22;--bg: #0d1117;--blue: #58a6ff;--blue2: #79b8ff;--soft: #1f2937;--bd: #1f6feb;--logo: #58a6ff;--bluebg: #1c2a3a;--blueln: #1f4f7a;--ok: #3fb950;--warn: #d29922;--star: #facc15;--err: #f85149;--hover: rgba(255, 255, 255, .07);--canvas: #161b22;--sh: 0 1px 3px rgba(0, 0, 0, .35), 0 6px 18px rgba(0, 0, 0, .4);--shc: 0 1px 2px rgba(0, 0, 0, .35)}}html[data-accent=mono]{--accent-primary: #171717;--color-accent: #171717;--color-accent-hover: #383838;--color-accent-soft: #f1f1f2;--color-accent-bd: #d4d4d8;--blue: #171717;--blue2: #383838;--soft: #f1f1f2;--bd: #d4d4d8;--bluebg: #f4f4f5;--blueln: #e4e4e7;--logo: #171717}html[data-color-scheme=dark][data-accent=mono]{--accent-primary: #e8eaed;--color-accent: #e8eaed;--color-accent-hover: #c9cdd4;--color-accent-soft: #21262d;--color-accent-bd: #444c56;--color-text-on-accent: var(--color-bg);--blue: #e8eaed;--blue2: #c9cdd4;--soft: #21262d;--bd: #444c56;--bluebg: #21262d;--blueln: #30363d;--logo: #e8eaed}@media(prefers-color-scheme:dark){html[data-color-scheme=system][data-accent=mono]{--accent-primary: #e8eaed;--color-accent: #e8eaed;--color-accent-hover: #c9cdd4;--color-accent-soft: #21262d;--color-accent-bd: #444c56;--color-text-on-accent: var(--color-bg);--blue: #e8eaed;--blue2: #c9cdd4;--soft: #21262d;--bd: #444c56;--bluebg: #21262d;--blueln: #30363d;--logo: #e8eaed}}:root{--accent-primary: #1783ff;--accent-secondary: #6b7280;--surface-light: #ffffff;--surface-dark: #0d1117;--color-bg: #ffffff;--color-surface: #fafbfc;--color-surface-raised: #ffffff;--color-surface-sunken: #f3f5f8;--color-media-alpha-bg-1: color-mix(in srgb, var(--color-bg) 52%, var(--color-text) 48%);--color-media-alpha-bg-2: color-mix(in srgb, var(--color-bg) 42%, var(--color-text) 58%);--media-alpha-canvas: conic-gradient( var(--color-media-alpha-bg-1) 25%, var(--color-media-alpha-bg-2) 0 50%, var(--color-media-alpha-bg-1) 0 75%, var(--color-media-alpha-bg-2) 0 ) 0 0 / 16px 16px;--color-text: rgba(0, 0, 0, .9);--color-text-muted: #6b7280;--color-text-faint: #9aa3af;--color-text-on-accent: #ffffff;--color-line: #e7eaee;--color-line-strong: #d4d9e0;--color-selected: #00000014;--color-hover: #0000000d;--color-sidebar-bg: #fbfaf9;--color-accent: var(--accent-primary);--color-accent-hover: #0f6fe0;--color-accent-soft: #e8f3ff;--color-accent-bd: #cfe6ff;--color-success: #0e7a38;--color-success-soft: #e7f6ee;--color-success-bd: #bfe3cc;--color-warning: #a9610a;--color-warning-soft: #fbf1e0;--color-warning-bd: #f0d9b8;--color-danger: #c0392b;--color-danger-soft: #fbeaea;--color-danger-bd: #f0cccc;--color-done: #8250df;--color-done-soft: #f3e8ff;--color-done-bd: #e0ccff;--color-info: var(--accent-primary);--color-logo-dev: #f5b301;--color-on-logo-dev: #3a2a00;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-full: 999px;--z-base: 0;--z-sticky: 100;--z-dropdown: 200;--z-tooltip: 250;--z-overlay: 300;--z-modal: 400;--z-toast: 600;--z-max: 9999;--shadow-xs: 0 1px 2px rgba(16, 24, 40, .04);--shadow-sm: 0 1px 2px rgba(16, 24, 40, .05), 0 1px 3px rgba(16, 24, 40, .06);--shadow-md: 0 4px 12px rgba(16, 24, 40, .07), 0 2px 4px rgba(16, 24, 40, .05);--shadow-lg: 0 12px 32px rgba(16, 24, 40, .12), 0 4px 10px rgba(16, 24, 40, .08);--shadow-xl: 0 24px 64px rgba(16, 24, 40, .18), 0 8px 20px rgba(16, 24, 40, .1);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--duration-fast: .12s;--duration-base: .16s;--duration-slow: .26s;--font-ui: "Inter Variable", "Inter", "Helvetica Neue", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Source Han Sans SC", "Noto Sans SC", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-display: var(--font-ui);--font-mono: "JetBrains Mono Variable", "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--text-xs: 12px;--text-sm: 13px;--text-base: 14px;--text-lg: 16px;--text-xl: 18px;--text-2xl: 22px;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.7;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 700;--p-focus-ring: 0 0 0 3px var(--color-accent-soft);--p-focus-ring-strong: 0 0 0 3px var(--color-accent-soft), 0 0 0 1px var(--color-accent);--p-selection: rgba(23, 131, 255, .18);--p-ic-sm: 14px;--p-ic-md: 16px;--p-ic-lg: 20px;--p-sidebar-w: 264px;--p-content-max: 760px;--p-content-wide: 920px;--p-table-max: 1040px;--p-table-cell-max: 700px;--p-bp-sm: 640px;--p-bp-md: 980px}html[data-color-scheme=dark]{--accent-primary: #58a6ff;--color-bg: #0d1117;--color-surface: #161b22;--color-surface-raised: #1c2128;--color-surface-sunken: #0d1117;--color-text: #c9cdd4;--color-text-muted: #9aa0a8;--color-text-faint: #6b7280;--color-line: #2d333b;--color-line-strong: #3d444d;--color-selected: #ffffff14;--color-hover: #ffffff0d;--color-sidebar-bg: #181817;--color-accent: #58a6ff;--color-accent-hover: #79b8ff;--color-accent-soft: rgba(88, 166, 255, .14);--p-selection: rgba(88, 166, 255, .32);--color-accent-bd: rgba(88, 166, 255, .28);--color-success: #3fb950;--color-success-soft: rgba(63, 185, 80, .14);--color-success-bd: rgba(63, 185, 80, .28);--color-warning: #d29922;--color-warning-soft: rgba(210, 153, 34, .14);--color-warning-bd: rgba(210, 153, 34, .28);--color-danger: #f85149;--color-danger-soft: rgba(248, 81, 73, .14);--color-danger-bd: rgba(248, 81, 73, .28);--color-done: #a371f7;--color-done-soft: rgba(163, 113, 247, .14);--color-done-bd: rgba(163, 113, 247, .28);--color-info: #58a6ff;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .2);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .22), 0 1px 3px rgba(0, 0, 0, .18);--shadow-md: 0 4px 12px rgba(0, 0, 0, .3), 0 2px 4px rgba(0, 0, 0, .24);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .34), 0 4px 10px rgba(0, 0, 0, .28);--shadow-xl: 0 24px 64px rgba(0, 0, 0, .42), 0 8px 20px rgba(0, 0, 0, .32)}@media(prefers-color-scheme:dark){html[data-color-scheme=system]{--accent-primary: #58a6ff;--color-bg: #0d1117;--color-surface: #161b22;--color-surface-raised: #1c2128;--color-surface-sunken: #0d1117;--color-text: #c9cdd4;--color-text-muted: #9aa0a8;--color-text-faint: #6b7280;--color-line: #2d333b;--color-line-strong: #3d444d;--color-selected: #ffffff14;--color-hover: #ffffff0d;--color-sidebar-bg: #181817;--color-accent: #58a6ff;--color-accent-hover: #79b8ff;--color-accent-soft: rgba(88, 166, 255, .14);--p-selection: rgba(88, 166, 255, .32);--color-accent-bd: rgba(88, 166, 255, .28);--color-success: #3fb950;--color-success-soft: rgba(63, 185, 80, .14);--color-success-bd: rgba(63, 185, 80, .28);--color-warning: #d29922;--color-warning-soft: rgba(210, 153, 34, .14);--color-warning-bd: rgba(210, 153, 34, .28);--color-danger: #f85149;--color-danger-soft: rgba(248, 81, 73, .14);--color-danger-bd: rgba(248, 81, 73, .28);--color-done: #a371f7;--color-done-soft: rgba(163, 113, 247, .14);--color-done-bd: rgba(163, 113, 247, .28);--color-info: #58a6ff;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .2);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .22), 0 1px 3px rgba(0, 0, 0, .18);--shadow-md: 0 4px 12px rgba(0, 0, 0, .3), 0 2px 4px rgba(0, 0, 0, .24);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .34), 0 4px 10px rgba(0, 0, 0, .28);--shadow-xl: 0 24px 64px rgba(0, 0, 0, .42), 0 8px 20px rgba(0, 0, 0, .32)}}html,body,#app{height:100%;margin:0;background:var(--bg)}#app{position:fixed;inset:0}html,body{overflow:hidden}@media(min-width:981px){@supports not selector(::-webkit-scrollbar){*{scrollbar-width:thin;scrollbar-color:rgba(128,128,128,.3) transparent}}*::-webkit-scrollbar{width:6px;height:6px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:#8080804d;border-radius:999px}*::-webkit-scrollbar-thumb:hover{background:#80808080}*::-webkit-scrollbar-corner{background:transparent}}body{font-family:var(--sans);color:var(--color-text);background:var(--bg);font-size:var(--ui-font-size);font-weight:400;line-height:1.6;font-optical-sizing:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:auto;font-synthesis:none;text-size-adjust:100%;-webkit-hyphens:none;hyphens:none}@media(max-width:640px){.backdrop{align-items:flex-end;justify-content:stretch}.backdrop .dialog{width:100%;max-width:100%;max-height:88vh;border-radius:16px 16px 0 0;border-left:none;border-right:none;border-bottom:none;border-top:1px solid var(--line);box-shadow:0 -10px 30px #0000002e;animation:kimi-sheet-up .26s cubic-bezier(.4,0,.2,1)}}@keyframes kimi-sheet-up{0%{transform:translateY(101%)}to{transform:translateY(0)}}.backdrop,.ob-backdrop{min-width:100vw!important;min-height:100vh!important;min-height:100dvh!important}@keyframes kimi-card-in{0%{opacity:0;transform:translateY(8px) scale(.995)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes kimi-check-in{0%{opacity:0;transform:scale(.4)}60%{opacity:1;transform:scale(1.15)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-delay:0ms!important;transition-duration:.001ms!important}}.ch-eyes{animation:kimi-eye-look 16s ease-in-out infinite}.ch-eye{transform-box:fill-box;transform-origin:center;animation:kimi-eye-blink 11s ease-in-out infinite}@keyframes kimi-eye-look{0%,42%{transform:translate(0)}47%,53%{transform:translate(2px)}58%,80%{transform:translate(0)}84%,90%{transform:translate(-2px)}95%,to{transform:translate(0)}}@keyframes kimi-eye-blink{0%,94%,to{transform:scaleY(1)}96.5%,98%{transform:scaleY(.12)}}@media(prefers-reduced-motion:reduce){.ch-eyes,.ch-eye{animation:none}}.ch-logo.blink-now .ch-eye{animation:kimi-eye-blink-once .24s ease-in-out}@keyframes kimi-eye-blink-once{0%,to{transform:scaleY(1)}50%{transform:scaleY(.1)}}.md .markdown-renderer img{min-width:0;min-height:0}.app{font-size:var(--ui-font-size)}.md,.md .markdown-renderer,.md .markdown-renderer p,.md .markdown-renderer li,.md .markdown-renderer blockquote,.md .markdown-renderer td,.md .markdown-renderer th,.u-bub,.u-bub .u-text,.a-msg .msg,.box .bb,.ph{font-size:var(--content-font-size)}.md .code-block-container pre,.md .markstream-pre,.md .code-block-container pre code,.md .diff-pre code,.box .bh,.queue-item,.queue-text,.ctx-num,.model-pill,.perm-pill,.mode-pill,.compact-chip,.qcard,.qtext,.qopt,.qbtn,.srow,.srow-val{font-size:var(--ui-font-size)}.md :not(pre)>code,.md .inline-code,.a-msg code,.qopt-desc,.srow-label{font-size:var(--ui-font-size-sm)}.code-block-header,.code-block-header *,.diff-lang,.queue-label,.qopt-key,.qstep,.srow-sub{font-size:var(--ui-font-size-xs)}@media(max-width:640px){.u-bub .u-text,.a-msg .msg,.ph{font-size:max(16px,var(--ui-font-size-xl))}}
diff --git a/apps/kimi-code/dist-web/assets/index-sbcUipyh.js b/apps/kimi-code/dist-web/assets/index-sbcUipyh.js
deleted file mode 100644
index 3a953ee4f0b..00000000000
--- a/apps/kimi-code/dist-web/assets/index-sbcUipyh.js
+++ /dev/null
@@ -1,103 +0,0 @@
-const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/DesignSystemView-CEBcPIeR.js","assets/vendor-D3iJO92e.js","assets/vendor-4gi77x_E.css","assets/vendor-markstream-4s_yAKtz.js","assets/vendor-markstream-Boo68so5.css","assets/vendor-katex-Com_2SPi.js","assets/vendor-katex-Cp579UoJ.css","assets/DesignSystemView-CgaL5VJY.css"])))=>i.map(i=>d[i]);
-import{g as x,d as Ee,o as l,c,n as pe,K as Pt,m as Qe,a as r,v as W,A as ec,z as I,B as M,bD as Ye,w as Ne,k as Ze,l as Tn,Q as ns,b as w,u as a,x as R,E as d,h as xt,F as ce,r as Pe,J as te,G as bt,bE as On,bF as Tp,s as xp,C as jn,H as Un,e as gt,R as St,bG as $n,U as De,bH as Xo,V as Cl,N as tc,i as Fs,bI as _l,D as Ip,T as li,bJ as ma,S as nc,p as ko,bK as sc,bL as ur,bM as cr,j as Ap}from"./vendor-D3iJO92e.js";import{_ as oc,O as Pp,P as Ep,W as Bp,x as Lp,a as Rp,b as Dp,y as Op,h as zp,g as Fp,p as Np,m as Wp}from"./vendor-markstream-4s_yAKtz.js";import"./vendor-katex-Com_2SPi.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))s(o);new MutationObserver(o=>{for(const i of o)if(i.type==="childList")for(const u of i.addedNodes)u.tagName==="LINK"&&u.rel==="modulepreload"&&s(u)}).observe(document,{childList:!0,subtree:!0});function n(o){const i={};return o.integrity&&(i.integrity=o.integrity),o.referrerPolicy&&(i.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?i.credentials="include":o.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function s(o){if(o.ep)return;o.ep=!0;const i=n(o);fetch(o.href,i)}})();const Ge={permission:"kimi-web.permission",activeWorkspace:"kimi-active-workspace",planMode:"kimi-web.plan-mode",planArmed:"kimi-web.plan-armed",swarmMode:"kimi-web.swarm-mode",supermoonMode:"kimi-web.supermoon-mode",goalMode:"kimi-web.goal-mode",uiFontSize:"kimi-web.ui-font-size",starredModels:"kimi-web.starred-models",unread:"kimi-web.unread",onboarded:"kimi-web.onboarded",accent:"kimi-web.accent",colorScheme:"kimi-web.color-scheme",hiddenWorkspaces:"kimi-web.hidden-workspaces",collapsedWorkspaces:"kimi-web.collapsed-workspaces",workspaceOrder:"kimi-web.workspace-order",workspaceNameOverrides:"kimi-web.workspace-name-overrides",workspaceSort:"kimi-web.workspace-sort",workspaceRecencyFloor:"kimi-web.workspace-recency-floor",pinnedSessions:"kimi-web.pinned-sessions",sessionEmoji:"kimi-web.session-emoji",sidebarMultiTab:"kimi-web.sidebar-multi-tab",doneSessions:"kimi-web.done-sessions",conversationToc:"kimi-web.beta-toc",notifyOnComplete:"kimi-web.notify-on-complete",notifyOnQuestion:"kimi-web.notify-on-question",notifyOnApproval:"kimi-web.notify-on-approval",soundOnComplete:"kimi-web.sound-on-complete",taskNotices:"kimi-web.task-notices",inputHistory:"kimi-web.input-history",pluginExtensionHintDismissed:"kimi-web.plugins.extension-hint-dismissed",locale:"kimi-locale",diffColorblind:"kimi-web.diff-colorblind",clientId:"kimi-web.client-id",debug:"kimi-web.debug",openInLastTarget:"kimi-web.open-in.last-target",sidebarCollapsed:"kimi-web.sidebar-collapsed",sidebarWidth:"kimi-web.sidebar-width",sidebarViewMode:"kimi-web.sidebar-view-mode",sidebarPinnedHeight:"kimi-web.sidebar-pinned-height",codeFont:"kimi-web.code-font",contentAlign:"kimi-web.content-align",theme:"kimi-web.theme",thinking:"kimi-web.thinking"};function dr(e){return`kimi-web.draft.${e&&e.length>0?e:"__new__"}`}function Dt(e){try{return globalThis.localStorage.getItem(e)}catch{return null}}function Nt(e,t){try{globalThis.localStorage.setItem(e,t)}catch{}}function So(e){try{globalThis.localStorage.removeItem(e)}catch{}}function oo(e){const t=Dt(e);if(t===null)return null;try{return JSON.parse(t)}catch{return null}}function Ws(e,t){try{globalThis.localStorage.setItem(e,JSON.stringify(t))}catch{}}function Ml(){const e=Dt(Ge.unread);if(!e)return{};try{const t=JSON.parse(e);if(!t||typeof t!="object")return{};const n={};for(const[s,o]of Object.entries(t))o===!0&&(n[s]=!0);return n}catch{return{}}}function $l(e){const n={...Ml()};for(const[s,o]of Object.entries(e))o?n[s]=!0:delete n[s];Nt(Ge.unread,JSON.stringify(n))}function qp(){const e=oo(Ge.collapsedWorkspaces);return Array.isArray(e)?e.filter(t=>typeof t=="string"):[]}function wi(e){Ws(Ge.collapsedWorkspaces,Array.from(e))}function Hp(){const e=oo(Ge.workspaceOrder);return Array.isArray(e)?e.filter(t=>typeof t=="string"):[]}function ic(e){Ws(Ge.workspaceOrder,Array.from(e))}function Si(){const e=oo(Ge.workspaceNameOverrides);if(!e||typeof e!="object")return{};const t={};for(const[n,s]of Object.entries(e))typeof s=="string"&&(t[n]=s);return t}function pr(e){Ws(Ge.workspaceNameOverrides,e)}function Up(){return Dt(Ge.workspaceSort)}function ac(e){Nt(Ge.workspaceSort,e)}function Vp(){const e=oo(Ge.workspaceRecencyFloor);if(!e||typeof e!="object")return{};const t={};for(const[n,s]of Object.entries(e))typeof s=="number"&&Number.isFinite(s)&&(t[n]=s);return t}function lc(e){Ws(Ge.workspaceRecencyFloor,e)}const fr=Ge.clientId,jp="kimi-code-web",Kp="web";function rc(){return{serverHttpUrl:Qp(),clientId:Jp(),clientName:jp,clientVersion:ef(),clientUiMode:Kp}}function Gp(){return typeof window<"u"&&window.location?.origin?window.location.origin:"http://127.0.0.1:58627"}function Qp(e){const t=Gp(),n=new URL(t);return n.pathname=n.pathname.replace(/\/v1\/?$/,"").replace(/\/$/,""),n.search="",n.hash="",n.toString().replace(/\/$/,"")}function Yp(e){return e.replace(/^https?:\/\//,"").replace(/\/$/,"")}function Zp(){const e=typeof window<"u"&&window.location?.origin?window.location.origin:"";return Yp(e)}function ho(e,t){return`${e}/api/v1${t.startsWith("/")?t:`/${t}`}`}function Xp(e,t){const n=new URL(`${e}/api/v1/ws`);return n.protocol=n.protocol==="https:"?"wss:":"ws:",n.searchParams.set("client_id",t),n.toString()}function Jp(){const e=Dt(fr);if(e)return e;const t=`web_${globalThis.crypto?.randomUUID?.()||Math.random().toString(36).slice(2)}`;return Nt(fr,t),t}function ef(){return"0.1.2".trim()?"0.1.2":"0.0.0-dev"}async function tf(e){try{const t=await fetch("/__kimi-dev/backend",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e})});return t.ok?await t.json():null}catch{return null}}function nf(e){return e.replace(/^https?:\/\//,"").replace(/\/$/,"")}async function ln(e){const t=typeof navigator<"u"?navigator.clipboard:void 0;if(t&&typeof t.writeText=="function")try{return await t.writeText(e),!0}catch{}return of(e)}function sf(e){if(typeof e!="string")return;const t=typeof navigator<"u"?navigator.clipboard:void 0;t&&typeof t.writeText=="function"||ln(e)}function of(e){if(typeof document>"u"||typeof document.execCommand!="function")return!1;const t=document.createElement("textarea");t.value=e,t.setAttribute("readonly",""),t.style.position="fixed",t.style.top="-9999px",t.style.left="-9999px",t.style.opacity="0",document.body.appendChild(t);let n=!1;try{t.focus(),t.select(),n=document.execCommand("copy")}catch{n=!1}finally{document.body.removeChild(t)}return n}function af(){const e=oo(Ge.pinnedSessions);return Array.isArray(e)?e.filter(t=>typeof t=="string"):[]}function lf(e){Ws(Ge.pinnedSessions,Array.from(e))}function rf(e,t){return e.includes(t)?e.filter(n=>n!==t):[...e,t]}function uc(e,t){const n=new Set(t),s=e.filter(i=>n.has(i.id)),o=e.filter(i=>!n.has(i.id));return[...s,...o]}function uf(e,t){const n=new Set(t),s=e.filter(i=>n.has(i.id)),o=e.filter(i=>!n.has(i.id));return{pinned:s,rest:o}}const oi=64,Tl=320;function cc(e,t=oi,n=Tl){return Number.isNaN(e)?t:e===Number.POSITIVE_INFINITY?n:Number.isFinite(e)?Math.min(n,Math.max(t,Math.round(e))):t}function cf(e,t=Tl){const n=Number.isFinite(e)?e:0;return cc(Math.round(n*.4),oi,t)}function df(e){return e==="grouped"||e==="flat"}function pf(){const e=Dt(Ge.sidebarViewMode);return df(e)?e:"grouped"}function ff(e){Nt(Ge.sidebarViewMode,e)}function va(e,t){const n=e.flatMap(i=>i.sessions),s=i=>{if(!i)return Number.NEGATIVE_INFINITY;const u=new Date(i).getTime();return Number.isNaN(u)?Number.NEGATIVE_INFINITY:u},o=n.toSorted((i,u)=>s(u.updatedAt)-s(i.updatedAt));return uc(o,t)}function mf(e){return e==="open"||e==="done"||e==="workspaces"}function vf(){return Dt(Ge.sidebarMultiTab)==="1"}function gf(e){Nt(Ge.sidebarMultiTab,e?"1":"0")}function hf(e,t,n){if(e.length===0)return null;const s=new Set(e),o=t.filter(u=>s.has(u)),i=e.filter(u=>!t.includes(u));return i.length===0&&o.length===t.length?null:t.length===0&&n!==void 0?i.toSorted((u,p)=>(n.get(p)??Number.NEGATIVE_INFINITY)-(n.get(u)??Number.NEGATIVE_INFINITY)):[...i,...o]}function yf(e,t){const n=new Map(t.map((s,o)=>[s,o]));return e.toSorted((s,o)=>(n.get(s.id)??-1)-(n.get(o.id)??-1))}function kf(e,t,n,s="before"){const o=e.indexOf(t),i=e.indexOf(n);if(o===-1||i===-1||o===i)return e;const u=[...e];u.splice(o,1);const p=o(t.get(s.id)??Number.NEGATIVE_INFINITY)-(t.get(n.id)??Number.NEGATIVE_INFINITY))}function wf(e,t){const n=new Map;for(const s of e){if(s.parentSessionId||s.archived)continue;const o=new Date(s.updatedAt).getTime();if(Number.isNaN(o))continue;const i=t(s);o>(n.get(i)??Number.NEGATIVE_INFINITY)&&n.set(i,o)}return n}function Sf(e,t){let n=!1;const s={...e};for(const[o,i]of t)i>(s[o]??Number.NEGATIVE_INFINITY)&&(s[o]=i,n=!0);return{next:s,changed:n}}function Cf(e,t){const n=Object.keys(e);if(!n.some(o=>!t.has(o)))return{next:e,changed:!1};const s={};for(const o of n)t.has(o)&&(s[o]=e[o]);return{next:s,changed:!0}}function _f(e,t){const n=t===void 0?Number.NaN:Date.parse(t),s=Number.isNaN(n)?Number.NEGATIVE_INFINITY:n;return Math.max(e??Number.NEGATIVE_INFINITY,s)}function dc(e,t){const n=new Map;for(const s of e)n.set(s.id,_f(t[s.id],s.lastOpenedAt));return n}const Mf={"&":"&","<":"<",">":">",'"':""","'":"'"};function mr(e){return e.replace(/[&<>"']/g,t=>Mf[t]??t)}function $f(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Ci(e,t){const n=mr(e),s=t.trim();if(s.length===0)return n;const o=new RegExp($f(mr(s)),"gi");return n.replace(o,i=>`${i} `)}const Tf=200;function xf(e,t,n,s=Tf){const o=e.trim().toLowerCase(),i=[];if(o.length===0){for(const u of t){if(i.length>=s)break;i.push({kind:"session",sessionId:u.id,workspaceId:u.workspaceId??"",title:u.title??"",inTitle:!1,inWorkspace:!1,snippetText:u.lastPrompt?vr(u.lastPrompt,""):"",workspaceName:u.workspaceName,time:u.time})}return i}for(const u of n){if(i.length>=s)break;const p=u.name??"";p.toLowerCase().includes(o)&&i.push({kind:"workspace",workspaceId:u.id,title:p,inTitle:!0,inWorkspace:!1,snippetText:""})}for(const u of t){if(i.length>=s)break;const p=u.title??"",f=u.lastPrompt??"",v=u.workspaceName??"",k=p.toLowerCase().includes(o),T=f.toLowerCase().includes(o),h=v.toLowerCase().includes(o);!k&&!T&&!h||i.push({kind:"session",sessionId:u.id,workspaceId:u.workspaceId??"",title:p,inTitle:k,inWorkspace:h,snippetText:f?vr(f,e):"",workspaceName:u.workspaceName,time:u.time})}return i}function vr(e,t){const n=t.trim();if(!n)return e.length>160?`${e.slice(0,160)}…`:e;const s=e.toLowerCase().indexOf(n.toLowerCase());if(s===-1)return e.length>160?`${e.slice(0,160)}…`:e;const o=Math.max(0,s-40),i=Math.min(e.length,s+n.length+80),u=o>0?"…":"",p=i(l(),c("button",{ref_key:"el",ref:n,class:pe(["ui-icon-button",`ui-icon-button--${e.size}`]),type:e.type,disabled:e.disabled,"aria-label":e.label},[Pt(s.$slots,"default",{},void 0,!0)],10,If))}}),Le=(e,t)=>{const n=e.__vccOpts||e;for(const[s,o]of t)n[s]=o;return n},rt=Le(Af,[["__scopeId","data-v-c9e67023"]]),Pf={width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function Ef(e,t){return l(),c("svg",Pf,[...t[0]||(t[0]=[r("path",{d:"M11.1 12.9001V15.0909C11.1 15.593 11.5029 16 12 16C12.4971 16 12.9 15.593 12.9 15.0909V12.9001H15.0909C15.593 12.9001 16 12.4972 16 12.0001C16 11.5031 15.593 11.1001 15.0909 11.1001H12.9V8.90909C12.9 8.40701 12.4971 8 12 8C11.5029 8 11.1 8.40701 11.1 8.90909V11.1001H8.90909C8.40701 11.1001 8 11.5031 8 12.0001C8 12.4972 8.40701 12.9001 8.90909 12.9001H11.1Z",fill:"currentColor"},null,-1),r("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M11.9996 2.1001C6.53199 2.1001 2.09961 6.53248 2.09961 12.0001C2.09961 13.9226 2.64847 15.7192 3.59804 17.2391L2.517 19.8207C2.10313 20.8091 2.82908 21.9001 3.90059 21.9001H11.9996C17.4672 21.9001 21.8996 17.4677 21.8996 12.0001C21.8996 6.53248 17.4672 2.1001 11.9996 2.1001ZM3.89961 12.0001C3.89961 7.52659 7.5261 3.9001 11.9996 3.9001C16.4731 3.9001 20.0996 7.52659 20.0996 12.0001C20.0996 16.4736 16.4724 20.1001 11.9989 20.1001H4.35146L5.63494 17.0351L5.35165 16.6291C4.43632 15.3172 3.89961 13.7227 3.89961 12.0001Z",fill:"currentColor"},null,-1)])])}const Bf=Qe({name:"kimi-add-conversation",render:Ef}),Lf={width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function Rf(e,t){return l(),c("svg",Lf,[...t[0]||(t[0]=[r("path",{d:"M9.2373 3.7002C10.4169 3.7002 11.5297 4.24779 12.249 5.18262L12.4424 5.43359H18C20.0987 5.43359 21.7998 7.13472 21.7998 9.2334V16.5C21.7998 18.5987 20.0987 20.2998 18 20.2998H6C3.90132 20.2998 2.2002 18.5987 2.2002 16.5V7.5C2.2002 5.40132 3.90132 3.7002 6 3.7002H9.2373ZM6 5.5C4.89543 5.5 4 6.39543 4 7.5V16.5C4 17.6046 4.89543 18.5 6 18.5H18C19.0357 18.5 19.887 17.7128 19.9893 16.7041L20 16.5V9.2334C20 8.19775 19.2128 7.34641 18.2041 7.24414L18 7.2334H12.0479L11.9326 7.22656C11.666 7.19561 11.4205 7.05812 11.2549 6.84277L10.8223 6.28027C10.4437 5.78834 9.85808 5.5 9.2373 5.5H6ZM16 9.59961C16.4971 9.59961 16.9004 10.0029 16.9004 10.5C16.9004 10.9971 16.4971 11.4004 16 11.4004H8C7.50294 11.4004 7.09961 10.9971 7.09961 10.5C7.09961 10.0029 7.50294 9.59961 8 9.59961H16Z",fill:"currentColor"},null,-1)])])}const Df=Qe({name:"kimi-folder",render:Rf}),Of={width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},zf=["clip-path"],Ff=["id"];function Nf(e,t){return l(),c("svg",Of,[r("g",{"clip-path":"url(#"+e.idMap.clip0_4626_2033+")"},[...t[0]||(t[0]=[r("path",{d:"M18.3623 9.99976L18.209 8.48999C18.2031 8.43161 18.2004 8.37289 18.2002 8.31421C18.1988 8.31196 18.1956 8.30842 18.1904 8.30347C18.1718 8.28559 18.1302 8.26245 18.0713 8.26245H11C10.261 8.26245 9.59753 7.81016 9.32617 7.1228L8.9082 6.06421C8.88101 5.9953 8.85737 5.92501 8.83887 5.85327C8.83778 5.85099 8.833 5.84268 8.81836 5.83179C8.79454 5.81475 8.7549 5.79939 8.70605 5.80054H3.92871C3.86986 5.80054 3.82825 5.82368 3.80957 5.84155C3.80816 5.8429 3.80675 5.84428 3.80566 5.84546L4.47559 14.0955L3.62109 17.5154L5.12109 11.5154C5.34367 10.6251 6.1438 9.99977 7.06152 9.99976H18.3623ZM7.06152 11.7996C6.96976 11.7996 6.88944 11.8629 6.86719 11.9519L5.36719 17.9519C5.33598 18.078 5.43158 18.1999 5.56152 18.2H19.4385C19.5302 18.1999 19.6106 18.1376 19.6328 18.0486L21.1328 12.0486C21.1644 11.9224 21.0686 11.7996 20.9385 11.7996H7.06152ZM20.9385 9.99976C22.2396 9.99977 23.1945 11.2228 22.8789 12.4851L21.3789 18.4851C21.1563 19.3754 20.3562 19.9997 19.4385 19.9998H4.92871C4.41722 19.9998 3.92613 19.8059 3.56445 19.4597C3.20281 19.1135 3.00004 18.6436 3 18.1541L2 5.84644C2.00006 5.35711 2.20311 4.88786 2.56445 4.54175C2.92613 4.19554 3.41722 4.00073 3.92871 4.00073H8.66406C9.10133 3.99051 9.5296 4.1225 9.87793 4.37573C10.2285 4.63118 10.4767 4.99457 10.582 5.40405L11 6.46167H18.0713C18.5828 6.46167 19.0739 6.65648 19.4355 7.00269C19.7971 7.34888 20 7.81883 20 8.30835L20.1719 9.99976H20.9385Z",fill:"currentColor"},null,-1)])],8,zf),r("defs",null,[r("clipPath",{id:e.idMap.clip0_4626_2033},[...t[1]||(t[1]=[r("rect",{width:"24",height:"24",fill:"white"},null,-1)])],8,Ff)])])}const Wf=Qe({name:"kimi-folder-open",render:Nf,setup(){return{idMap:{clip0_4626_2033:"uicons-"+Math.random().toString(36).substr(2,10)}}}}),qf={width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function Hf(e,t){return l(),c("svg",qf,[...t[0]||(t[0]=[r("path",{d:"M6 12C6 12.8283 5.32834 13.5 4.5 13.5C3.67166 13.5 3 12.8283 3 12C3 11.1717 3.67166 10.5 4.5 10.5C5.32834 10.5 6 11.1717 6 12Z",fill:"currentColor"},null,-1),r("path",{d:"M13.5 12C13.5 12.8283 12.8283 13.5 12 13.5C11.1717 13.5 10.5 12.8283 10.5 12C10.5 11.1717 11.1717 10.5 12 10.5C12.8283 10.5 13.5 11.1717 13.5 12Z",fill:"currentColor"},null,-1),r("path",{d:"M19.5002 13.5C20.3287 13.5 21 12.8287 21 12.0002C21 11.1718 20.3287 10.5 19.5002 10.5C18.6718 10.5 18 11.1718 18 12.0002C18 12.8287 18.6718 13.5 19.5002 13.5Z",fill:"currentColor"},null,-1)])])}const Uf=Qe({name:"kimi-more",render:Hf}),Vf={width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function jf(e,t){return l(),c("svg",Vf,[...t[0]||(t[0]=[r("path",{d:"M11.5 3C16.1944 3 20 6.80558 20 11.5C20 13.523 19.2933 15.381 18.1132 16.8404L21.1364 19.8636C21.4879 20.2151 21.4879 20.7849 21.1364 21.1364C20.7849 21.4879 20.2151 21.4879 19.8636 21.1364L16.8404 18.1132C15.381 19.2933 13.523 20 11.5 20C6.80558 20 3 16.1944 3 11.5C3 6.80558 6.80558 3 11.5 3ZM11.5 18.2C15.2003 18.2 18.2 15.2003 18.2 11.5C18.2 7.79969 15.2003 4.8 11.5 4.8C7.79969 4.8 4.8 7.79969 4.8 11.5C4.8 15.2003 7.79969 18.2 11.5 18.2Z",fill:"currentColor"},null,-1)])])}const Kf=Qe({name:"kimi-search",render:jf}),Gf={width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function Qf(e,t){return l(),c("svg",Gf,[...t[0]||(t[0]=[r("path",{d:"M16.0404 12C16.0404 9.76874 14.2313 7.9596 12.0001 7.9596C9.76883 7.9596 7.95972 9.76874 7.95972 12C7.95972 14.2313 9.76883 16.0404 12.0001 16.0404C14.2313 16.0404 16.0404 14.2313 16.0404 12ZM14.2222 12C14.2222 13.2271 13.2271 14.2222 12 14.2222C10.7729 14.2222 9.77783 13.2271 9.77783 12C9.77783 10.7729 10.7729 9.77778 12 9.77778C13.2271 9.77778 14.2222 10.7729 14.2222 12Z",fill:"currentColor"},null,-1),r("path",{d:"M9.91145 21.8009C9.29001 21.6797 8.76914 21.2612 8.50632 20.6922L8.07372 19.7556C7.88838 19.3544 7.43553 19.1048 6.95371 19.1549L5.89572 19.2647C5.2733 19.3293 4.64823 19.114 4.22298 18.6611C3.74343 18.1504 3.32454 17.6037 2.97033 17.0181C2.61571 16.4318 2.32839 15.8106 2.10407 15.1566C1.89769 14.5549 2.02148 13.8954 2.4089 13.3902L3.0376 12.5704C3.30043 12.2277 3.30042 11.7722 3.03758 11.4295L2.40413 10.6035C2.01474 10.0958 1.891 9.43198 2.10208 8.82826C2.55037 7.54612 3.27017 6.35997 4.22 5.34259C4.64518 4.8872 5.27275 4.67067 5.89701 4.73544L6.95383 4.84514C7.43561 4.89515 7.88844 4.6456 8.07377 4.24441L8.50266 3.31593C8.76494 2.74818 9.28448 2.33019 9.90423 2.20761C11.2916 1.9332 12.7148 1.93127 14.0885 2.19913C14.7099 2.32029 15.2308 2.73881 15.4937 3.3078L15.9263 4.24441C16.1116 4.6456 16.5644 4.89514 17.0462 4.84514L18.1043 4.73532C18.7267 4.67072 19.3518 4.88603 19.777 5.33886C20.2566 5.84953 20.6755 6.3963 21.0297 6.98193C21.3843 7.56823 21.6716 8.18942 21.8959 8.84339C22.1023 9.44509 21.9785 10.1046 21.5911 10.6098L20.9624 11.4295C20.6996 11.7722 20.6996 12.2278 20.9624 12.5705L21.5959 13.3964C21.9853 13.9042 22.109 14.568 21.8979 15.1717C21.4497 16.4538 20.7299 17.6399 19.7801 18.6573C19.3549 19.1128 18.7273 19.3294 18.103 19.2646L17.0462 19.1549C16.5645 19.1049 16.1116 19.3544 15.9263 19.7556L15.4974 20.6841C15.2351 21.2518 14.7156 21.6698 14.0958 21.7924C12.7083 22.0668 11.2852 22.0687 9.91145 21.8009ZM13.7432 20.0088C13.7844 20.0006 13.8259 19.9673 13.847 19.9216L14.2758 18.9931C14.7915 17.8768 15.9886 17.2171 17.2341 17.3464L18.2909 17.4561C18.3649 17.4638 18.4272 17.4423 18.4512 17.4166C19.2296 16.5828 19.8171 15.6146 20.1817 14.5716C20.1845 14.5636 20.1796 14.5373 20.1532 14.5029L19.5198 13.677C18.7564 12.6815 18.7564 11.3185 19.5198 10.323L20.1485 9.5033C20.1746 9.46927 20.1795 9.4429 20.1762 9.43327C19.9932 8.89965 19.7603 8.39623 19.4741 7.92293C19.1873 7.4489 18.846 7.00333 18.4517 6.58351C18.4272 6.55739 18.3656 6.53616 18.2921 6.54378L17.234 6.65361C15.9886 6.78287 14.7915 6.12317 14.2758 5.00689L13.8432 4.07027C13.822 4.02448 13.7811 3.9916 13.7406 3.98371C12.5983 3.76097 11.4132 3.76258 10.2571 3.99124C10.2158 3.99941 10.1744 4.03271 10.1533 4.07842L9.72441 5.00689C9.20875 6.12317 8.01164 6.7829 6.76619 6.6536L5.70942 6.54391C5.63535 6.53623 5.573 6.55774 5.54905 6.5834C4.77067 7.41713 4.18312 8.38534 3.81845 9.42835C3.81564 9.43637 3.82054 9.46265 3.84693 9.49706L4.48038 10.323C5.24381 11.3185 5.24383 12.6815 4.48041 13.6769L3.85171 14.4967C3.82561 14.5307 3.82066 14.5571 3.82396 14.5667C4.00701 15.1004 4.23986 15.6038 4.52613 16.0771C4.81284 16.5511 5.15421 16.9967 5.54845 17.4165C5.57298 17.4426 5.63461 17.4638 5.70811 17.4562L6.76608 17.3464C8.01157 17.2171 9.20871 17.8768 9.72438 18.9932L10.157 19.9297C10.1781 19.9755 10.2191 20.0084 10.2595 20.0163C11.4018 20.239 12.587 20.2374 13.7432 20.0088Z",fill:"currentColor"},null,-1)])])}const Yf=Qe({name:"kimi-setting",render:Qf}),Zf={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Xf(e,t){return l(),c("svg",Zf,[...t[0]||(t[0]=[r("g",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2"},[r("path",{d:"M4 6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2zm5-2v16"}),r("path",{d:"m15 10l-2 2l2 2"})],-1)])])}const Jf=Qe({name:"tabler-layout-sidebar-left-collapse",render:Xf}),em={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function tm(e,t){return l(),c("svg",em,[...t[0]||(t[0]=[r("g",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2"},[r("path",{d:"M4 6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2zm5-2v16"}),r("path",{d:"m14 10l2 2l-2 2"})],-1)])])}const nm=Qe({name:"tabler-layout-sidebar-left-expand",render:tm}),sm={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function om(e,t){return l(),c("svg",sm,[...t[0]||(t[0]=[r("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"m15 7l-6.5 6.5a1.5 1.5 0 0 0 3 3L18 10a3 3 0 0 0-6-6l-6.5 6.5a4.5 4.5 0 0 0 9 9L21 13"},null,-1)])])}const im=Qe({name:"tabler-paperclip",render:om}),am={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function lm(e,t){return l(),c("svg",am,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M11 11V5h2v6h6v2h-6v6h-2v-6H5v-2z"},null,-1)])])}const rm=Qe({name:"ri-add-line",render:lm}),um={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function cm(e,t){return l(),c("svg",um,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"m12.866 3l9.526 16.5a1 1 0 0 1-.866 1.5H2.474a1 1 0 0 1-.866-1.5L11.134 3a1 1 0 0 1 1.732 0m-8.66 16h15.588L12 5.5zM11 16h2v2h-2zm0-7h2v5h-2z"},null,-1)])])}const dm=Qe({name:"ri-alert-line",render:cm}),pm={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function fm(e,t){return l(),c("svg",pm,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M3 10H2V4.003C2 3.449 2.455 3 2.992 3h18.016A.99.99 0 0 1 22 4.003V10h-1v10.002a.996.996 0 0 1-.993.998H3.993A.996.996 0 0 1 3 20.002zm16 0H5v9h14zM4 5v3h16V5zm5 7h6v2H9z"},null,-1)])])}const mm=Qe({name:"ri-archive-line",render:fm}),vm={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function gm(e,t){return l(),c("svg",vm,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"m13 16.172l5.364-5.364l1.414 1.414L12 20l-7.778-7.778l1.414-1.414L11 16.172V4h2z"},null,-1)])])}const hm=Qe({name:"ri-arrow-down-line",render:gm}),ym={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function km(e,t){return l(),c("svg",ym,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"m12 13.171l4.95-4.95l1.414 1.415L12 16L5.636 9.636L7.05 8.222z"},null,-1)])])}const bm=Qe({name:"ri-arrow-down-s-line",render:km}),wm={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Sm(e,t){return l(),c("svg",wm,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"m5.828 7l2.536 2.535L6.95 10.95L2 6l4.95-4.95l1.414 1.415L5.828 5H13a8 8 0 1 1 0 16H4v-2h9a6 6 0 0 0 0-12z"},null,-1)])])}const Cm=Qe({name:"ri-arrow-go-back-line",render:Sm}),_m={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Mm(e,t){return l(),c("svg",_m,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"m16.172 11l-5.364-5.364l1.414-1.414L20 12l-7.778 7.778l-1.414-1.414L16.172 13H4v-2z"},null,-1)])])}const $m=Qe({name:"ri-arrow-right-line",render:Mm}),Tm={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function xm(e,t){return l(),c("svg",Tm,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"m13.172 12l-4.95-4.95l1.414-1.413L16 12l-6.364 6.364l-1.414-1.415z"},null,-1)])])}const Im=Qe({name:"ri-arrow-right-s-line",render:xm}),Am={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Pm(e,t){return l(),c("svg",Am,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M13 7.828V20h-2V7.828l-5.364 5.364l-1.414-1.414L12 4l7.778 7.778l-1.414 1.414z"},null,-1)])])}const gr=Qe({name:"ri-arrow-up-line",render:Pm}),Em={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Bm(e,t){return l(),c("svg",Em,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"m12 10.828l-4.95 4.95l-1.414-1.414L12 8l6.364 6.364l-1.414 1.414z"},null,-1)])])}const Lm=Qe({name:"ri-arrow-up-s-line",render:Bm}),Rm={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Dm(e,t){return l(),c("svg",Rm,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M4 18v-3.7a1.5 1.5 0 0 0-1.5-1.5H2v-1.6h.5A1.5 1.5 0 0 0 4 9.7V6a3 3 0 0 1 3-3h1v2H7a1 1 0 0 0-1 1v4.1A2 2 0 0 1 4.626 12A2 2 0 0 1 6 13.9V18a1 1 0 0 0 1 1h1v2H7a3 3 0 0 1-3-3m16-3.7V18a3 3 0 0 1-3 3h-1v-2h1a1 1 0 0 0 1-1v-4.1a2 2 0 0 1 1.374-1.9A2 2 0 0 1 18 10.1V6a1 1 0 0 0-1-1h-1V3h1a3 3 0 0 1 3 3v3.7a1.5 1.5 0 0 0 1.5 1.5h.5v1.6h-.5a1.5 1.5 0 0 0-1.5 1.5"},null,-1)])])}const Om=Qe({name:"ri-braces-line",render:Dm}),zm={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Fm(e,t){return l(),c("svg",zm,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M9 3V1H7v2H3a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1h-4V1h-2v2zm-5 7h16v9H4zm0-5h3v1h2V5h6v1h2V5h3v3H4zm5.879 5.964L12 13.086l2.121-2.122l1.415 1.415l-2.122 2.121l2.121 2.121l-1.414 1.414L12 15.915l-2.121 2.12l-1.415-1.414l2.122-2.12l-2.122-2.122z"},null,-1)])])}const Nm=Qe({name:"ri-calendar-close-line",render:Fm}),Wm={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function qm(e,t){return l(),c("svg",Wm,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M7 3V1h2v2h6V1h2v2h4a1 1 0 0 1 1 1v5h-2V5h-3v2h-2V5H9v2H7V5H4v14h6v2H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm10 9a4 4 0 1 0 0 8a4 4 0 0 0 0-8m-6 4a6 6 0 1 1 12 0a6 6 0 0 1-12 0m5-3v3.414l2.293 2.293l1.414-1.414L18 15.586V13z"},null,-1)])])}const Hm=Qe({name:"ri-calendar-schedule-line",render:qm}),Um={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Vm(e,t){return l(),c("svg",Um,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M9 1v2h6V1h2v2h4a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h4V1zm11 10H4v8h16zM8 14v2H6v-2zm10 0v2h-8v-2zM7 5H4v4h16V5h-3v2h-2V5H9v2H7z"},null,-1)])])}const jm=Qe({name:"ri-calendar-todo-line",render:Vm}),Km={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Gm(e,t){return l(),c("svg",Km,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"m10 15.17l9.192-9.191l1.414 1.414L10 17.999l-6.364-6.364l1.414-1.414z"},null,-1)])])}const Qm=Qe({name:"ri-check-line",render:Gm}),Ym={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Zm(e,t){return l(),c("svg",Ym,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"m12 10.587l4.95-4.95l1.414 1.414l-4.95 4.95l4.95 4.95l-1.415 1.414l-4.95-4.95l-4.949 4.95l-1.414-1.415l4.95-4.95l-4.95-4.95L7.05 5.638z"},null,-1)])])}const Xm=Qe({name:"ri-close-line",render:Zm}),Jm={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function ev(e,t){return l(),c("svg",Jm,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"m23 12l-7.071 7.071l-1.414-1.414L20.172 12l-5.657-5.657l1.414-1.414zM3.828 12l5.657 5.657l-1.414 1.414L1 12l7.071-7.071l1.414 1.414z"},null,-1)])])}const tv=Qe({name:"ri-code-line",render:ev}),nv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function sv(e,t){return l(),c("svg",nv,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M15 4h-2v7h7V9h-3.586l4.293-4.293l-1.414-1.414L15 7.586zM4 15h3.586l-4.293 4.293l1.414 1.414L9 16.414V20h2v-7H4z"},null,-1)])])}const ov=Qe({name:"ri-collapse-diagonal-line",render:sv}),iv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function av(e,t){return l(),c("svg",iv,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M3 19h18v2H3zm10-5.828L19.071 7.1l1.414 1.414L12 17L3.515 8.515L4.929 7.1L11 13.173V2h2z"},null,-1)])])}const lv=Qe({name:"ri-download-line",render:av}),rv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function uv(e,t){return l(),c("svg",rv,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M8.5 7a1.5 1.5 0 1 0 0-3a1.5 1.5 0 0 0 0 3m0 6.5a1.5 1.5 0 1 0 0-3a1.5 1.5 0 0 0 0 3m1.5 5a1.5 1.5 0 1 1-3 0a1.5 1.5 0 0 1 3 0M15.5 7a1.5 1.5 0 1 0 0-3a1.5 1.5 0 0 0 0 3m1.5 5a1.5 1.5 0 1 1-3 0a1.5 1.5 0 0 1 3 0m-1.5 8a1.5 1.5 0 1 0 0-3a1.5 1.5 0 0 0 0 3"},null,-1)])])}const cv=Qe({name:"ri-draggable",render:uv}),dv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function pv(e,t){return l(),c("svg",dv,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M6.17 18a3.001 3.001 0 0 1 5.66 0H22v2H11.83a3.001 3.001 0 0 1-5.66 0H2v-2zm6-7a3.001 3.001 0 0 1 5.66 0H22v2h-4.17a3.001 3.001 0 0 1-5.66 0H2v-2zm-6-7a3.001 3.001 0 0 1 5.66 0H22v2H11.83a3.001 3.001 0 0 1-5.66 0H2V4zM9 6a1 1 0 1 0 0-2a1 1 0 0 0 0 2m6 7a1 1 0 1 0 0-2a1 1 0 0 0 0 2m-6 7a1 1 0 1 0 0-2a1 1 0 0 0 0 2"},null,-1)])])}const fv=Qe({name:"ri-equalizer-line",render:pv}),mv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function vv(e,t){return l(),c("svg",mv,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M17.586 5H14V3h7v7h-2V6.414l-4.293 4.293l-1.414-1.414zM3 14h2v3.586l4.293-4.293l1.414 1.414L6.414 19H10v2H3z"},null,-1)])])}const gv=Qe({name:"ri-expand-diagonal-line",render:vv}),hv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function yv(e,t){return l(),c("svg",hv,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M10 6v2H5v11h11v-5h2v6a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1zm11-3v8h-2V6.413l-7.793 7.794l-1.414-1.414L17.585 5H13V3z"},null,-1)])])}const kv=Qe({name:"ri-external-link-line",render:yv}),bv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function wv(e,t){return l(),c("svg",bv,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M15 4H5v16h14V8h-4zM3 2.992C3 2.444 3.447 2 3.999 2H16l5 5v13.993A1 1 0 0 1 20.007 22H3.993A1 1 0 0 1 3 21.008zM11 11V8h2v3h3v2h-3v3h-2v-3H8v-2z"},null,-1)])])}const Sv=Qe({name:"ri-file-add-line",render:wv}),Cv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function _v(e,t){return l(),c("svg",Cv,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M7 6V3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1h-3v3c0 .552-.45 1-1.007 1H4.007A1 1 0 0 1 3 21l.003-14c0-.552.45-1 1.006-1zM5.002 8L5 20h10V8zM9 6h8v10h2V4H9z"},null,-1)])])}const Mv=Qe({name:"ri-file-copy-line",render:_v}),$v={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Tv(e,t){return l(),c("svg",$v,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"m21 6.757l-2 2V4h-9v5H5v11h14v-2.757l2-2v5.765a.993.993 0 0 1-.993.992H3.993A1 1 0 0 1 3 20.993V8l6.003-6h10.995C20.55 2 21 2.455 21 2.992zm.778 2.05l1.414 1.415L15.414 18l-1.416-.002l.002-1.412z"},null,-1)])])}const xv=Qe({name:"ri-file-edit-line",render:Tv}),Iv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Av(e,t){return l(),c("svg",Iv,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M9 2.003V2h10.998C20.55 2 21 2.455 21 2.992v18.016a.993.993 0 0 1-.993.992H3.993A1 1 0 0 1 3 20.993V8zM5.83 8H9V4.83zM11 4v5a1 1 0 0 1-1 1H5v10h14V4z"},null,-1)])])}const hr=Qe({name:"ri-file-line",render:Av}),Pv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Ev(e,t){return l(),c("svg",Pv,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M21 8v12.993A1 1 0 0 1 20.007 22H3.993A.993.993 0 0 1 3 21.008V2.992C3 2.455 3.449 2 4.002 2h10.995zm-2 1h-5V4H5v16h14zM8 7h3v2H8zm0 4h8v2H8zm0 4h8v2H8z"},null,-1)])])}const Bv=Qe({name:"ri-file-text-line",render:Ev}),Lv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Rv(e,t){return l(),c("svg",Lv,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M13 9h8L11 24v-9H4l9-15zm-2 2V7.22L7.532 13H13v4.394L17.263 11z"},null,-1)])])}const Dv=Qe({name:"ri-flashlight-line",render:Rv}),Ov={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function zv(e,t){return l(),c("svg",Ov,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M12.414 5H21a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414zM4 5v14h16V7h-8.414l-2-2zm7 7V9h2v3h3v2h-3v3h-2v-3H8v-2z"},null,-1)])])}const Fv=Qe({name:"ri-folder-add-line",render:zv}),Nv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Wv(e,t){return l(),c("svg",Nv,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M12.414 5H21a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414z"},null,-1)])])}const qv=Qe({name:"ri-folder-fill",render:Wv}),Hv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Uv(e,t){return l(),c("svg",Hv,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M6 5a1 1 0 1 0 0 2a1 1 0 0 0 0-2M3 6a3 3 0 1 1 4 2.83V9a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2v-.17a3.001 3.001 0 1 1 2 0V9a4 4 0 0 1-4 4h-2v2.17a3.001 3.001 0 1 1-2 0V13H9a4 4 0 0 1-4-4v-.17A3 3 0 0 1 3 6m15-1a1 1 0 1 0 0 2a1 1 0 0 0 0-2m-6 12a1 1 0 1 0 0 2a1 1 0 0 0 0-2"},null,-1)])])}const Vv=Qe({name:"ri-git-fork-line",render:Uv}),jv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Kv(e,t){return l(),c("svg",jv,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M15 5h2a2 2 0 0 1 2 2v8.17a3.001 3.001 0 1 1-2 0V7h-2v3l-4.5-4L15 2zM5 8.83a3.001 3.001 0 1 1 2 0v6.34a3.001 3.001 0 1 1-2 0zM6 7a1 1 0 1 0 0-2a1 1 0 0 0 0 2m0 12a1 1 0 1 0 0-2a1 1 0 0 0 0 2m12 0a1 1 0 1 0 0-2a1 1 0 0 0 0 2"},null,-1)])])}const Gv=Qe({name:"ri-git-pull-request-line",render:Kv}),Qv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Yv(e,t){return l(),c("svg",Qv,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10s-4.477 10-10 10m-2.29-2.333A17.9 17.9 0 0 1 8.027 13H4.062a8.01 8.01 0 0 0 5.648 6.667M10.03 13c.151 2.439.848 4.73 1.97 6.752A15.9 15.9 0 0 0 13.97 13zm9.908 0h-3.965a17.9 17.9 0 0 1-1.683 6.667A8.01 8.01 0 0 0 19.938 13M4.062 11h3.965A17.9 17.9 0 0 1 9.71 4.333A8.01 8.01 0 0 0 4.062 11m5.969 0h3.938A15.9 15.9 0 0 0 12 4.248A15.9 15.9 0 0 0 10.03 11m4.259-6.667A17.9 17.9 0 0 1 15.973 11h3.965a8.01 8.01 0 0 0-5.648-6.667"},null,-1)])])}const Zv=Qe({name:"ri-global-line",render:Yv}),Xv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Jv(e,t){return l(),c("svg",Xv,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M2.992 21A.993.993 0 0 1 2 20.007V3.993A1 1 0 0 1 2.992 3h18.016c.548 0 .992.445.992.993v16.014a1 1 0 0 1-.992.993zM20 15V5H4v14L14 9zm0 2.828l-6-6L6.828 19H20zM8 11a2 2 0 1 1 0-4a2 2 0 0 1 0 4"},null,-1)])])}const yr=Qe({name:"ri-image-line",render:Jv}),e1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function t1(e,t){return l(),c("svg",e1,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10s-4.477 10-10 10m0-2a8 8 0 1 0 0-16a8 8 0 0 0 0 16M11 7h2v2h-2zm0 4h2v6h-2z"},null,-1)])])}const n1=Qe({name:"ri-information-line",render:t1}),s1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function o1(e,t){return l(),c("svg",s1,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"m13.06 8.111l1.415 1.414a7 7 0 0 1 0 9.9l-.354.353a7 7 0 1 1-9.9-9.9l1.415 1.415a5 5 0 1 0 7.071 7.071l.354-.354a5 5 0 0 0 0-7.07l-1.415-1.415zm6.718 6.01l-1.414-1.414a5 5 0 0 0-7.071-7.07l-.354.353a5 5 0 0 0 0 7.07l1.415 1.415l-1.415 1.414l-1.414-1.414a7 7 0 0 1 0-9.9l.354-.353a7 7 0 1 1 9.9 9.9"},null,-1)])])}const i1=Qe({name:"ri-links-line",render:o1}),a1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function l1(e,t){return l(),c("svg",a1,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M8 4h13v2H8zm-5-.5h3v3H3zm0 7h3v3H3zm0 7h3v3H3zM8 11h13v2H8zm0 7h13v2H8z"},null,-1)])])}const r1=Qe({name:"ri-list-check",render:l1}),u1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function c1(e,t){return l(),c("svg",u1,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M8 4h13v2H8zM4.5 6.5a1.5 1.5 0 1 1 0-3a1.5 1.5 0 0 1 0 3m0 7a1.5 1.5 0 1 1 0-3a1.5 1.5 0 0 1 0 3m0 6.9a1.5 1.5 0 1 1 0-3a1.5 1.5 0 0 1 0 3M8 11h13v2H8zm0 7h13v2H8z"},null,-1)])])}const d1=Qe({name:"ri-list-unordered",render:c1}),p1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function f1(e,t){return l(),c("svg",p1,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M4 15h2v5h12V4H6v5H4V3a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1zm6-4V8l5 4l-5 4v-3H2v-2z"},null,-1)])])}const m1=Qe({name:"ri-login-box-line",render:f1}),v1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function g1(e,t){return l(),c("svg",v1,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1m17 4.238l-7.928 7.1L4 7.216V19h16zM4.511 5l7.55 6.662L19.502 5z"},null,-1)])])}const h1=Qe({name:"ri-mail-line",render:g1}),y1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function k1(e,t){return l(),c("svg",y1,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M6.455 19L2 22.5V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1zm-.692-2H20V5H4v13.385zM8 10h8v2H8z"},null,-1)])])}const b1=Qe({name:"ri-message-line",render:k1}),w1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function S1(e,t){return l(),c("svg",w1,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M6 5h2v14H6zm10 0h2v14h-2z"},null,-1)])])}const C1=Qe({name:"ri-pause-fill",render:S1}),_1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function M1(e,t){return l(),c("svg",_1,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"m15.728 9.576l-1.414-1.414L5 17.476v1.414h1.414zm1.414-1.414l1.414-1.414l-1.414-1.414l-1.414 1.414zm-9.9 12.728H3v-4.243L16.435 3.212a1 1 0 0 1 1.414 0l2.829 2.829a1 1 0 0 1 0 1.414z"},null,-1)])])}const $1=Qe({name:"ri-pencil-line",render:M1}),T1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function x1(e,t){return l(),c("svg",T1,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M19.376 12.416L8.777 19.482A.5.5 0 0 1 8 19.066V4.934a.5.5 0 0 1 .777-.416l10.599 7.066a.5.5 0 0 1 0 .832"},null,-1)])])}const I1=Qe({name:"ri-play-fill",render:x1}),A1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function P1(e,t){return l(),c("svg",A1,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"m22.313 10.175l-1.415 1.414l-.707-.707l-4.242 4.243l-.707 3.536l-1.415 1.414l-4.242-4.243l-4.95 4.95l-1.414-1.414l4.95-4.95l-4.243-4.243l1.414-1.414l3.536-.707l4.242-4.243l-.707-.707l1.414-1.414z"},null,-1)])])}const E1=Qe({name:"ri-pushpin-fill",render:P1}),B1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function L1(e,t){return l(),c("svg",B1,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"m13.827 1.69l8.486 8.485l-1.415 1.414l-.707-.707l-4.242 4.243l-.707 3.536l-1.415 1.414l-4.242-4.243l-4.95 4.95l-1.414-1.414l4.95-4.95l-4.243-4.243l1.414-1.414l3.536-.707l4.242-4.243l-.707-.707zm.707 3.536l-4.67 4.67l-2.822.565l6.5 6.5l.564-2.822l4.671-4.67z"},null,-1)])])}const R1=Qe({name:"ri-pushpin-line",render:L1}),D1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function O1(e,t){return l(),c("svg",D1,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10s-4.477 10-10 10m0-2a8 8 0 1 0 0-16a8 8 0 0 0 0 16m-1-5h2v2h-2zm2-1.645V14h-2v-1.5a1 1 0 0 1 1-1a1.5 1.5 0 1 0-1.471-1.794l-1.962-.393A3.501 3.501 0 1 1 13 13.355"},null,-1)])])}const z1=Qe({name:"ri-question-line",render:O1}),F1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function N1(e,t){return l(),c("svg",F1,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10s-4.477 10-10 10m0-2a8 8 0 1 0 0-16a8 8 0 0 0 0 16m-4-7h8a4 4 0 0 1-8 0m0-2a1.5 1.5 0 1 1 0-3a1.5 1.5 0 0 1 0 3m8 0a1.5 1.5 0 1 1 0-3a1.5 1.5 0 0 1 0 3"},null,-1)])])}const W1=Qe({name:"ri-emotion-line",render:N1}),q1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function H1(e,t){return l(),c("svg",q1,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M20 4v12h3l-4 5l-4-5h3V4zm-8 14v2H3v-2zm2-7v2H3v-2zm0-7v2H3V4z"},null,-1)])])}const U1=Qe({name:"ri-sort-desc",render:H1}),V1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function j1(e,t){return l(),c("svg",V1,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M14 4.438A2.437 2.437 0 0 0 16.438 2h1.125A2.437 2.437 0 0 0 20 4.438v1.125A2.437 2.437 0 0 0 17.563 8h-1.125A2.437 2.437 0 0 0 14 5.563zM1 11a6 6 0 0 0 6-6h2a6 6 0 0 0 6 6v2a6 6 0 0 0-6 6H7a6 6 0 0 0-6-6zm3.876 1A8.04 8.04 0 0 1 8 15.124A8.04 8.04 0 0 1 11.124 12A8.04 8.04 0 0 1 8 8.876A8.04 8.04 0 0 1 4.876 12m12.374 2A3.25 3.25 0 0 1 14 17.25v1.5A3.25 3.25 0 0 1 17.25 22h1.5A3.25 3.25 0 0 1 22 18.75v-1.5A3.25 3.25 0 0 1 18.75 14z"},null,-1)])])}const K1=Qe({name:"ri-sparkling-line",render:j1}),G1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Q1(e,t){return l(),c("svg",G1,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"m12 18.26l-7.053 3.948l1.575-7.928L.588 8.792l8.027-.952L12 .5l3.385 7.34l8.027.952l-5.934 5.488l1.575 7.928z"},null,-1)])])}const Y1=Qe({name:"ri-star-fill",render:Q1}),Z1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function X1(e,t){return l(),c("svg",Z1,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"m12 18.26l-7.053 3.948l1.575-7.928L.588 8.792l8.027-.952L12 .5l3.385 7.34l8.027.952l-5.934 5.488l1.575 7.928zm0-2.292l4.247 2.377l-.948-4.773l3.573-3.305l-4.833-.573l-2.038-4.419l-2.039 4.42l-4.833.572l3.573 3.305l-.948 4.773z"},null,-1)])])}const J1=Qe({name:"ri-star-line",render:X1}),eg={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function tg(e,t){return l(),c("svg",eg,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M6 5h12a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1"},null,-1)])])}const ng=Qe({name:"ri-stop-fill",render:tg}),sg={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function og(e,t){return l(),c("svg",sg,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M5 11v2h14v-2z"},null,-1)])])}const ig=Qe({name:"ri-subtract-line",render:og}),ag={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function lg(e,t){return l(),c("svg",ag,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M12 2a1 1 0 1 1 0 2a8 8 0 1 0 8 8a1 1 0 1 1 2 0c0 5.523-4.477 10-10 10S2 17.523 2 12S6.477 2 12 2m0 4a1 1 0 1 1 0 2a4 4 0 1 0 4 4a1 1 0 1 1 2 0a6 6 0 1 1-6-6m5.656-3.9a1.001 1.001 0 0 1 1.415 1.415l-.708.706h.001a1 1 0 1 0 1.414 1.415l.707-.707A1 1 0 0 1 21.9 6.343l-2.12 2.122a1 1 0 0 1-.708.292h-2.414l-3.95 3.95a1 1 0 0 1-1.414-1.414l3.95-3.95V4.93a1 1 0 0 1 .292-.707z"},null,-1)])])}const rg=Qe({name:"ri-target-line",render:lg}),ug={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function cg(e,t){return l(),c("svg",ug,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1m1 2v14h16V5zm8 10h6v2h-6zm-3.333-3L5.838 9.172l1.415-1.415L11.495 12l-4.242 4.243l-1.415-1.415z"},null,-1)])])}const dg=Qe({name:"ri-terminal-box-line",render:cg}),pg={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function fg(e,t){return l(),c("svg",pg,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10s-4.477 10-10 10m0-2a8 8 0 1 0 0-16a8 8 0 0 0 0 16m1-8h4v2h-6V7h2z"},null,-1)])])}const mg=Qe({name:"ri-time-line",render:fg}),vg={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function gg(e,t){return l(),c("svg",vg,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M5.33 3.272a3.5 3.5 0 0 1 4.254 4.962l10.709 10.71l-1.414 1.414l-10.71-10.71a3.502 3.502 0 0 1-4.962-4.255L5.444 7.63a1.5 1.5 0 0 0 2.121-2.121zm10.367 1.883l3.182-1.768l1.414 1.415l-1.768 3.182l-1.768.353l-2.12 2.121l-1.415-1.414l2.121-2.121zm-6.718 8.132l1.415 1.414l-5.304 5.303a1 1 0 0 1-1.492-1.327l.078-.087z"},null,-1)])])}const hg=Qe({name:"ri-tools-line",render:gg}),yg={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function kg(e,t){return l(),c("svg",yg,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M4 22a8 8 0 1 1 16 0h-2a6 6 0 0 0-12 0zm8-9c-3.315 0-6-2.685-6-6s2.685-6 6-6s6 2.685 6 6s-2.685 6-6 6m0-2c2.21 0 4-1.79 4-4s-1.79-4-4-4s-4 1.79-4 4s1.79 4 4 4"},null,-1)])])}const bg=Qe({name:"ri-user-line",render:kg}),wg={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Sg(e,t){return l(),c("svg",wg,[...t[0]||(t[0]=[r("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 3h.393a7.5 7.5 0 0 0 7.92 12.446A9 9 0 1 1 12 2.992zm5 1a2 2 0 0 0 2 2a2 2 0 0 0-2 2a2 2 0 0 0-2-2a2 2 0 0 0 2-2m2 7h2m-1-1v2"},null,-1)])])}const Cg=Qe({name:"tabler-moon-stars",render:Sg}),_g=`
-
-
-
-`,Mg=`
-
-
-`,$g=`
-
-
-
-
-
-
-
-
-
-`,Tg=`
-
-
-
-
-`,xg=`
-
-
-`,Ig=`
-
-
-
-`,Ag=' ',Pg=' ',Eg=' ',Bg=' ',Lg=' ',Rg=' ',Dg=' ',Og=' ',zg=' ',Fg=' ',Ng=' ',Wg=' ',kr=' ',qg=' ',Hg=' ',Ug=' ',Vg=' ',jg=' ',Kg=' ',Gg=' ',Qg=' ',Yg=' ',Zg=' ',Xg=' ',Jg=' ',eh=' ',th=' ',nh=' ',sh=' ',oh=' ',br=' ',ih=' ',ah=' ',lh=' ',rh=' ',uh=' ',ch=' ',dh=' ',wr=' ',ph=' ',fh=' ',mh=' ',vh=' ',gh=' ',hh=' ',yh=' ',kh=' ',bh=' ',wh=' ',Sh=' ',Ch=' ',_h=' ',Mh=' ',$h=' ',Th=' ',xh=' ',Ih=' ',Ah=' ',Ph=' ',Eh=' ',Bh=' ',Lh=' ',Rh=' ',Dh=' ',pc={sm:14,md:16,lg:20};function Ke(e,t){return{component:e,svg:t}}const fc={plus:Ke(rm,Lg),"chat-new":Ke(Bf,_g),"calendar-close":Ke(Nm,Ug),"calendar-schedule":Ke(Hm,Vg),"calendar-todo":Ke(jm,jg),close:Ke(Xm,Gg),check:Ke(Qm,Kg),archive:Ke(mm,Dg),search:Ke(Kf,xg),copy:Ke(Mv,sh),link:Ke(i1,fh),"external-link":Ke(kv,th),download:Ke(lv,Zg),undo:Ke(Cm,Fg),send:Ke(gr,kr),image:Ke(yr,wr),settings:Ke(Yf,Ig),sliders:Ke(fv,Jg),"log-in":Ke(m1,gh),"chevron-down":Ke(bm,zg),"chevron-right":Ke(Im,Wg),"chevron-up":Ke(Lm,qg),"arrow-up":Ke(gr,kr),"arrow-down":Ke(hm,Og),"arrow-right":Ke($m,Ng),minus:Ke(ig,Ph),"panel-collapse":Ke(Jf,Ag),"panel-expand":Ke(nm,Pg),expand:Ke(gv,eh),collapse:Ke(ov,Yg),list:Ke(d1,vh),sort:Ke(U1,$h),grip:Ke(cv,Xg),folder:Ke(Wf,$g),"folder-closed":Ke(Df,Mg),"folder-plus":Ke(Fv,lh),"folder-solid":Ke(qv,rh),file:Ke(hr,br),"file-text":Ke(Bv,ih),"file-edit":Ke(xv,oh),"file-plus":Ke(Sv,nh),"file-off":Ke(hr,br),attachment:Ke(im,Eg),"image-off":Ke(yr,wr),code:Ke(tv,Qg),terminal:Ke(dg,Bh),pencil:Ke($1,bh),tool:Ke(hg,Rh),glob:Ke(Om,Hg),globe:Ke(Zv,dh),"check-list":Ke(r1,mh),bolt:Ke(Dv,ah),"git-fork":Ke(Vv,uh),"git-pull-request":Ke(Gv,ch),message:Ke(b1,yh),mail:Ke(h1,hh),user:Ke(bg,Dh),info:Ke(n1,ph),"help-circle":Ke(z1,_h),"alert-triangle":Ke(dm,Rg),clock:Ke(mg,Lh),sparkles:Ke(K1,Th),"moon-stars":Ke(Cg,Bg),target:Ke(rg,Eh),pause:Ke(C1,kh),play:Ke(I1,wh),stop:Ke(ng,Ah),star:Ke(Y1,xh),"star-outline":Ke(J1,Ih),pin:Ke(R1,Ch),"pin-fill":Ke(E1,Sh),emotion:Ke(W1,Mh),"dots-horizontal":Ke(Uf,Tg)};function Oh(e){return fc[e]}function zh(e,t){return e.replace(/\s(?:width|height)="[^"]*"/g,"").replace(/^Oh(t.name)),s=M(()=>pc[t.size]);return(o,i)=>n.value?(l(),W(ec(n.value.component),{key:0,class:"kw-icon",width:s.value,height:s.value,"aria-label":e.label,"aria-hidden":e.label?void 0:!0},null,8,["width","height","aria-label","aria-hidden"])):I("",!0)}}),Fh={key:0,class:"ui-dialog__head"},Nh={class:"ui-dialog__titles"},Wh={key:0,class:"ui-dialog__title"},qh={key:1,class:"ui-dialog__desc"},Hh={class:"ui-dialog__body"},Uh={key:1,class:"ui-dialog__foot"},Vh='a[href], button:not([disabled]), textarea:not([disabled]), input:not([disabled]), select:not([disabled]), [tabindex]:not([tabindex="-1"])',jh=Ee({__name:"Dialog",props:{open:{type:Boolean},title:{},description:{},closeOnOverlay:{type:Boolean,default:!0},closeOnEsc:{type:Boolean,default:!0},size:{default:"md"},height:{default:"auto"},padded:{type:Boolean,default:!0},initialFocus:{}},emits:["update:open","close"],setup(e,{emit:t}){const{t:n}=Ye(),s=e,o=t,i=x(null);let u=null;function p(){o("update:open",!1),o("close")}function f(){return i.value?Array.from(i.value.querySelectorAll(Vh)):[]}function v(){const{initialFocus:h}=s;return h?typeof h=="function"?h()??null:typeof h=="string"?i.value?.querySelector(h)??null:i.value?.contains(h)?h:null:null}function k(h){if(!s.open)return;if(h.key==="Escape"&&s.closeOnEsc){h.preventDefault(),p();return}if(h.key!=="Tab")return;const m=f(),$=m[0],g=m[m.length-1];if(!$||!g){h.preventDefault(),i.value?.focus();return}const y=document.activeElement;h.shiftKey&&y===$?(h.preventDefault(),g.focus()):!h.shiftKey&&y===g&&(h.preventDefault(),$.focus())}function T(h){s.closeOnOverlay&&h.target===h.currentTarget&&p()}return Ne(()=>s.open,async h=>{if(h){Eo.value+=1,u=document.activeElement,await Ze();const m=v(),$=f();(m??$[0]??i.value)?.focus()}else Eo.value=Math.max(0,Eo.value-1),u instanceof HTMLElement&&(u.focus(),u=null)},{immediate:!0}),typeof window<"u"&&window.addEventListener("keydown",k),Tn(()=>{typeof window<"u"&&window.removeEventListener("keydown",k),s.open&&(Eo.value=Math.max(0,Eo.value-1))}),(h,m)=>(l(),W(ns,{to:"body"},[e.open?(l(),c("div",{key:0,class:"ui-dialog__overlay",onMousedown:T},[r("div",{ref_key:"panel",ref:i,class:pe(["ui-dialog",[`ui-dialog--${e.size}`,{"ui-dialog--flush":!e.padded,"ui-dialog--fixed-height":e.height==="fixed"}]]),role:"dialog","aria-modal":"true",tabindex:"-1"},[e.title||h.$slots.head?(l(),c("div",Fh,[Pt(h.$slots,"head",{},()=>[r("div",Nh,[e.title?(l(),c("div",Wh,d(e.title),1)):I("",!0),e.description?(l(),c("div",qh,d(e.description),1)):I("",!0)])],!0),w(rt,{class:"ui-dialog__close",size:"sm",label:a(n)("common.close"),onClick:p},{default:R(()=>[w(X,{name:"close",size:"md"})]),_:1},8,["label"])])):I("",!0),r("div",Hh,[Pt(h.$slots,"default",{},void 0,!0)]),h.$slots.foot?(l(),c("div",Uh,[Pt(h.$slots,"foot",{},void 0,!0)])):I("",!0)],2)],32)):I("",!0)]))}}),ds=Le(jh,[["__scopeId","data-v-ee025dcb"]]),Kh={key:0,class:"ui-badge__dot","aria-hidden":"true"},Gh=Ee({__name:"Badge",props:{variant:{default:"neutral"},size:{default:"md"},dot:{type:Boolean}},setup(e){return(t,n)=>(l(),c("span",{class:pe(["ui-badge",[`ui-badge--${e.variant}`,`ui-badge--${e.size}`]])},[e.dot?(l(),c("span",Kh)):I("",!0),Pt(t.$slots,"default",{},void 0,!0)],2))}}),Bt=Le(Gh,[["__scopeId","data-v-5bc5cd6d"]]),Qh={class:"sd-head"},Yh=["placeholder","aria-label"],Zh=["aria-selected","onClick","onMousemove"],Xh={class:"sd-meta"},Jh=["innerHTML"],e0={class:"sd-title sd-title--ws"},t0={class:"sd-meta"},n0=["innerHTML"],s0={class:"sd-time"},o0=["innerHTML"],i0=["innerHTML"],a0={key:1,class:"sd-empty"},l0={class:"sd-hint"},r0=Ee({__name:"SearchSessionsDialog",props:{sessions:{},workspaces:{},activeId:{}},emits:["select","selectWorkspace","close"],setup(e,{emit:t}){const{t:n}=Ye(),s=e,o=t,i=x(!0),u=x(""),p=x(null),f=x(null),v=M(()=>s.workspaces??[]),k=M(()=>xf(u.value,s.sessions,v.value)),T=x(0);Ne(u,()=>{T.value=0});function h(B){const b=k.value.length;return b===0?0:Math.max(0,Math.min(b-1,B))}async function m(){await Ze(),f.value?.querySelector('[aria-selected="true"]')?.scrollIntoView({block:"nearest"})}function $(B){T.value=h(T.value+B),m()}function g(B){B.kind==="workspace"&&B.workspaceId?o("selectWorkspace",B.workspaceId):B.sessionId&&o("select",B.sessionId),o("close")}function y(){const B=k.value[T.value];B&&g(B)}function S(B){B.key==="ArrowDown"?(B.preventDefault(),$(1)):B.key==="ArrowUp"?(B.preventDefault(),$(-1)):B.key==="Enter"&&(B.preventDefault(),y())}return xt(()=>{p.value?.focus()}),(B,b)=>(l(),W(ds,{open:i.value,"onUpdate:open":b[1]||(b[1]=P=>i.value=P),size:"lg",height:"fixed",padded:!1,onClose:b[2]||(b[2]=P=>o("close"))},{head:R(()=>[r("div",Qh,[w(X,{class:"sd-search-icon",name:"search",size:"md"}),bt(r("input",{ref_key:"inputRef",ref:p,"onUpdate:modelValue":b[0]||(b[0]=P=>u.value=P),class:"sd-input",type:"text",placeholder:a(n)("sidebar.searchPlaceholder"),"aria-label":a(n)("sidebar.searchPlaceholder"),autocomplete:"off",spellcheck:"false",onKeydown:S},null,40,Yh),[[On,u.value]])])]),foot:R(()=>[r("span",l0,d(a(n)("sidebar.searchHint")),1)]),default:R(()=>[r("div",{ref_key:"listRef",ref:f,class:"sd-list",role:"listbox"},[k.value.length>0?(l(!0),c(ce,{key:0},Pe(k.value,(P,E)=>(l(),c("button",{key:`${P.kind}:${P.workspaceId}:${P.sessionId??""}`,class:pe(["sd-row",[{on:E===T.value,"is-workspace":P.kind==="workspace"}]]),role:"option","aria-selected":E===T.value,onClick:L=>g(P),onMousemove:L=>T.value=E},[P.kind==="workspace"?(l(),c(ce,{key:0},[r("span",Xh,[w(X,{class:"sd-folder",name:"folder",size:"sm"}),r("span",{class:"sd-ws",innerHTML:a(Ci)(P.title,P.inTitle?u.value:"")},null,8,Jh),w(Bt,{variant:"neutral",size:"sm"},{default:R(()=>[te(d(a(n)("sidebar.workspaces")),1)]),_:1})]),r("span",e0,d(P.title),1)],64)):(l(),c(ce,{key:1},[r("span",t0,[w(X,{class:"sd-folder",name:"folder-closed",size:"sm"}),r("span",{class:"sd-ws",innerHTML:a(Ci)(P.workspaceName??P.workspaceId,P.inWorkspace?u.value:"")},null,8,n0),r("span",s0,d(P.time),1)]),r("span",{class:"sd-title",innerHTML:a(Ci)(P.title,P.inTitle?u.value:"")},null,8,o0),P.snippetText?(l(),c("span",{key:0,class:"sd-snippet",innerHTML:a(Ci)(P.snippetText,u.value)},null,8,i0)):I("",!0)],64))],42,Zh))),128)):(l(),c("div",a0,d(a(n)("sidebar.searchNoResults")),1))],512)]),_:1},8,["open"]))}}),u0=Le(r0,[["__scopeId","data-v-8a3dfe4f"]]);function Hi(e){return e.isComposing===!0||e.keyCode===229}function Qa(e){return e.lastTurnReason==="failed"}const vc=["⚡","🔥","✅","❌","📌","⭐","🚀","💡","📝","🎯","🧠","🤖","🔧","📦","🌱","🎨","🔍","📈","🕐","🎉"];function c0(e){return vc.includes(e)}function d0(){const e=oo(Ge.sessionEmoji);if(!e||typeof e!="object"||Array.isArray(e))return{};const t={};for(const[n,s]of Object.entries(e))typeof s=="string"&&c0(s)&&(t[n]=s);return t}function p0(e){Ws(Ge.sessionEmoji,e)}function f0(e,t,n){const s={...e};return n===null||n===""?delete s[t]:s[t]=n,s}const m0={preview:"Preview",confirm:"Confirm",cancel:"Cancel",close:"Close",copy:"Copy"},v0={authBannerMessage:"Not signed in · Sign in to Kimi Code to start a conversation",authBannerLogin:"Sign in",authPageTitle:"Sign in to Kimi Code",authPageMessage:"Connect your Kimi Code account before starting or continuing conversations.",authPageLogin:"Sign in",connecting:"Connecting…",connectRetrying:"Cannot reach the server — retrying…",internalBuildBanner:"Internal testing only"},g0={workspaceMeta:"workspace · {branch}",sessionsHeader:"sessions",workspaces:"Workspaces",sortWorkspaces:"Sort workspaces",sortManual:"Manual",sortRecent:"Recent activity",collapseAll:"Collapse all workspaces",expandAll:"Expand all workspaces",newSession:"New Session",newChat:"New Chat",newWorkspace:"New Workspace",emptyState:"No sessions yet · click New Session to start",archiveConfirm:"Archive this session? You can restore it later from Settings.",options:"Options",pin:"Pin session",unpin:"Unpin session",pinned:"Pinned",resizePinnedAria:"Resize pinned section height",emoji:"Set emoji",emojiRemove:"Remove emoji",rename:"Rename",genTitle:"Gen Title",genTitleUnavailable:"Title generation unavailable — needs a managed Kimi Code login and at least one message",prTag:"PR #{number}",copyPath:"Copy path",copySessionId:"Copy session ID",copied:"Copied ✓",copyFailed:"Copy failed",archive:"Archive",fork:"Fork session",export:"Export session",delete:"Delete",removeWorkspace:"Remove workspace",brand:"Kimi Code",signedIn:"Signed in",signOut:"Sign out",notSignedIn:"Not signed in",signIn:"Sign in",language:"Language",daemon:"Daemon",backendTitle:"Backend {backend} · {endpoint} — click to switch",noSessions:"No conversations yet",showMore:"Load {count} more conversations",showLess:"Show less",showAll:"Show {count} more conversations",loadingMore:"Loading…",collapseSidebar:"Collapse sidebar",expandSidebar:"Expand sidebar",viewModeFlat:"Show sessions as a flat list",viewModeGrouped:"Group sessions by workspace",mascot:"Kimi mascot",searchPlaceholder:"Search sessions and workspaces",search:"Search",searchHint:"↑↓ navigate · ↵ open · Esc close",searchNoResults:"No matching sessions or workspaces",tagOpen:"Open",tagDone:"Done",markDone:"Mark as done",reopen:"Mark as open",markDoneCount:"Mark as done ({n})",noDoneSessions:"No completed sessions",tabWorkspaces:"Workspaces",tabDone:"Done",viewSwitcher:"Switch session view",manageSessions:"Manage sessions"},h0={switcherTitle:"Switch workspace",switchTooltip:"Switch workspace",eyebrow:"Workspace",branchLabel:"branch: {branch}",noBranch:"no branch",sessionCount:"{count} session | {count} sessions",allWorkspaces:"All workspaces",currentWorkspace:"Current workspace only",addWorkspace:"Add workspace…",noWorkspace:"No workspace",deleteHasSessions:"This workspace still has sessions — archive them before deleting it",removeWorkspaceConfirm:'Remove workspace "{name}"?',swarmEnableConfirm:"Enable swarm mode? The agent will run multiple sub-agents in parallel.",goalStartConfirm:'Start goal: "{objective}"? The agent will run autonomously toward it.',doneWhen:"Done when",scopeCurrent:"this workspace",scopeAll:"all workspaces",newInGroup:"New session in this workspace",addTitle:"Add workspace",recentLabel:"Recent folders",cancel:"Cancel",addFailed:"Couldn't open this folder. Check the path and try again.",openThisFolder:"Open this folder",up:"Up",browsing:"Browsing…",filterPlaceholder:"Filter subfolders…",searchPlaceholder:"Fuzzy-search subfolders, or paste an absolute path…",searching:"Searching…",noFilterMatch:"No subfolders match “{q}”",noSubfolders:"No subfolders here",browseHint:'Click a folder to enter it, then "Open this folder" to add it as a workspace.',checkingPath:"Checking path…",pathPickHint:"Path not found — did you mean:",noPathMatch:"Path not found — no matching folders under {parent}",badParent:"Parent directory does not exist: {parent}",pathFollowHint:'Folder located — press Enter or "Open this folder" to add it.',degradedPlaceholder:"Type an absolute path, press Enter to add…",degradedHint:"File browsing is unavailable — type an absolute path and press Enter to add.",attentionTitle:"{count} item needs your attention | {count} items need your attention",awaitingAnswer:"Answer",awaitingAnswerTitle:"A question is waiting for your answer",awaitingPermission:"Approve",awaitingPermissionTitle:"An action is waiting for your approval",aborted:"Stopped",abortedTitle:"This session was interrupted before finishing"},y0={jumpToLatestAria:"Jump to latest message",toc:"Conversation outline",newMessages:"Latest messages",loading:"Loading…",starting:"Starting conversation…",emptyWorkspaceHint:"Send in {name}",switchWorkspace:"Switch workspace",addWorkspace:"New workspace",moreWorkspaces:"More workspaces ({count})",compacting:"Compacting context…",compactedPlain:"Context compacted",compactedAuto:"Context auto-compacted",compactedTokens:" ({before} → {after} tokens)",viewSummary:"View summary",summaryTitle:"Compaction summary",manuallyAborted:"Manually stopped",undo:"Undo",undoTooltip:"Undoing the conversation will not roll back code changes",undoConfirm:"Undo last message?",yesterday:"Yesterday",loadOlder:"Load earlier messages",loadingOlder:"Loading earlier messages…",searchPlaceholder:"Search this conversation",searchNoResults:"No matches",searchPosition:"{current} / {total}",searchPrev:"Previous match",searchNext:"Next match",searchClose:"Close search",cron:{fired:"Scheduled reminder fired",missed:"Missed scheduled reminders",job:"job {id}",oneShot:"one-shot",coalesced:"{n} fires coalesced",missedCount:"{n} missed",finalDelivery:"final delivery",everyMinute:"Every minute",everyNMinutes:"Every {n} minutes",everyHour:"Every hour",everyNHours:"Every {n} hours",dailyAt:"Daily at {time}",weekdaysAt:"Weekdays at {time}",expand:"Show more",collapse:"Show less"},waitingForResponse:"Waiting for response…",turnFailedResume:"Continue",workingRetry:"Model request failed — retrying ({n}/{max})…"},k0={connectionConnected:"Connected",connectionConnecting:"Connecting…",connectionDisconnected:"Disconnected",ctxTooltip:"Used {used} / {max} tokens ({pct}%)",modelLabel:"Model",permissionManual:"Manual",permissionAuto:"Auto",permissionYolo:"YOLO",permissionManualDesc:"Ask for approval on every tool action",permissionAutoDesc:"Fully autonomous — agent decides everything without asking",permissionYoloDesc:"Auto-approve tool actions, but agent may still ask questions",planLabel:"Plan",planDesc:"Have the agent make a plan before changing files",planOn:"on",planOff:"off",planTooltip:"Toggle plan mode (research before editing)",planPlaceholder:"What should the agent plan for?",workModeDismiss:"Dismiss {mode}",modesLabel:"Mode",goalLabel:"Goal",goalDesc:"Track one objective until it is complete",swarmLabel:"Swarm",swarmDesc:"Run parallel agents for broader exploration",supermoonLabel:"Supermoon",supermoonDesc:"Plan deeply and run at the highest thinking effort",modeOff:"Off",goalPlaceholder:"What should the agent achieve?",goalStart:"Start",goalPause:"Pause",goalResume:"Resume",goalCancel:"Cancel",goalCancelConfirm:"Cancel this goal? It cannot be resumed afterwards.",goalCancelConfirmYes:"Yes",goalCancelConfirmNo:"No",goalStatusActive:"Active",goalStatusPaused:"Paused",goalStatusBlocked:"Blocked",goalStatusComplete:"Complete",goalEmptyTitle:"No goal yet",goalEmptyHint:"Turn goal mode on and describe what the agent should achieve.",planModeOn:"Plan mode on",planArmed:"armed",planEmptyArmed:"Plan mode is on — the plan the agent writes will show up here.",planEmptyIdle:"No plan yet — turn plan mode on and the agent's plan will show up here.",modeNotSupported:"Not supported",thinkingLabel:"thinking",thinkingTooltip:"Toggle thinking mode",thinkingOn:"On",thinkingOff:"Off",cacheNote:"Note: Switching models or thinking effort invalidates the existing prompt cache. Start a new chat to avoid extra token costs.",starredModels:"Starred",moreModels:"More models…",statusPanelTitle:"Session status",statusPanelClose:"Close",statusModel:"Model",statusThinking:"Thinking",statusPermission:"Permission",statusPlanMode:"Plan mode",statusGoalMode:"Goal mode",statusSwarmMode:"Swarm mode",statusSupermoonMode:"Supermoon mode",swarmOn:"on",swarmOff:"off",supermoonOn:"on",supermoonOff:"off",statusContext:"Context",statusCost:"Cost",statusContextValue:"{used} / {max} ({pct}%)",statusNone:"—",activityRunning:"Running…",activityAwaitingApproval:"Awaiting approval",activityAwaitingQuestion:"Awaiting answer",interrupt:"Interrupt",runningShort:"in progress"},b0={placeholder:"Type a message…",send:"Send ↵",queueLabel:"Queue",noModelGate:"Pick a model to send messages",placeholderRunning:"Press Enter to queue · Ctrl+S to inject into the running turn",placeholderRunningTouch:"Queued messages send when the current turn ends",starting:"Sending…",queueAutoDrain:"sends automatically when the current turn ends",queueNext:"Up next",queueDragTitle:"Drag to reorder",editQueued:"Edit (load back into the input)",queuedAttachments:"attachment ×{n}",queuedHasImage:"Contains {n} image(s) — remove only, not editable",attachmentImage:"Image",attachmentVideo:"Video",attachmentFile:"File",attachmentOpenUnsupported:"Can’t open {name} — this file type isn’t supported",dropToAttach:"Drop files to attach",remove:"Remove",removeNamed:"Remove {name}",uploading:"Uploading",uploadFailed:"Upload failed",attachFile:"Attach file",addMenu:"Add",addPlanDesc:"Have the agent make a plan before changing files",addGoalDesc:"Track one objective until it is complete",addSwarmDesc:"Run parallel agents for broader exploration",addSupermoonDesc:"Plan deeply and run at the highest thinking effort",slashEmpty:"No matching commands",previewAttachment:"Preview {name}",interrupt:"Interrupt",interruptTitle:"Interrupt current operation",expandTitle:"Expand input for multi-line editing",collapseTitle:"Collapse input",emptyConversationTitle:"Kimi Code",emptyConversation:"No messages yet — type below to start the conversation",quickStartPlaceholder:"Type a message to start a new conversation…",thinkingSuffix:" · thinking",thinkingSuffixEffort:" · {level}",queueSteer:"Send now (Ctrl+S)",queueSteerTouch:"Send now",steerQueuedRow:"Send this prompt into the running turn",sendQueuedRow:"Send this prompt now"},w0={title:"Sign in to Kimi Code",close:"Close (Esc)",regionTitle:"Choose your region",regionHint:"Pick the Kimi login region your account belongs to. The authorization page opens automatically.",regionGlobal:"kimi.com",regionGlobalDesc:"Global accounts",regionMainland:"kimi.ai",regionMainlandDesc:"Mainland China accounts",starting:"Starting authorization flow…",lead:"Click the button below to authorize in a new browser tab.",authorizeInBrowser:"Authorize in browser",reopenBrowser:"Reopen authorization page",orDivider:"or",fallbackPrefix:"On another device? Open ",fallbackSuffix:" and enter the device code:",copy:"Copy",copied:"Copied",waitingAuth:"Waiting for authorization",waitingAutoClose:"Waiting for authorization, signs in automatically…",success:"Authorized",successHint:"Loading, will close automatically…",expiredTitle:"Authorization code expired",expiredHint:"Please restart the authorization flow",retry:"Retry",closeBtn:"Close",errorTitle:"The current daemon does not support login yet",errorHint:"Please upgrade kimi-code and try again",pollErrorTitle:"Lost connection to the daemon",pollErrorHint:"Authorization polling failed repeatedly. Check the kimi-code process and try again."},S0={dialogLabel:"Manage providers",title:"Provider management",close:"Close (Esc)",loading:"Loading providers…",unavailable:"The daemon does not support provider management yet",empty:"No providers yet",status:{connected:"Connected",error:"Error",unconfigured:"Not configured"},keySet:"key set",keyNotSet:"key not set",modelCount:"{count} models",confirmDelete:"Confirm delete?",refresh:"Refresh",delete:"Delete",refreshTitle:"Refresh {type}",deleteTitle:"Delete {type}",loginKimi:"Sign in to Kimi",loginAnthropic:"Sign in to Anthropic",enterApiKey:"Enter API Key",fieldType:"Type",fieldApiKey:"API Key",fieldBaseUrl:"Base URL",fieldDefaultModel:"Default model",baseUrlPlaceholder:"https://… (optional)",optional:"Optional",apiKeyRequired:"API Key cannot be empty",add:"Add",escClose:"Esc to close",import:{fromCatalog:"Import from catalog",fromRegistry:"Import registry",back:"Back",catalogTitle:"Import from models.dev catalog",catalogSearchLabel:"Search",catalogSearchPlaceholder:"Search providers…",catalogLoading:"Loading catalog…",catalogEmpty:"No providers match",catalogLoadError:"Could not load the catalog",catalogRejected:"Cannot import: {reason}",catalogNeedsBaseUrl:"Needs base URL",catalogBaseUrlHint:"Required for this provider",importAction:"Import",registryTitle:"Import registry",registryUrlLabel:"Registry URL",registryUrlPlaceholder:"https://…/api.json",registryApiKeyLabel:"API key (optional)",registryUrlRequired:"Registry URL cannot be empty"}},C0={dialogLabel:"Switch model",title:"Switch model",close:"Close (Esc)",allTab:"All",providerTabs:"Model providers",searchPlaceholder:"Search models or providers…",loading:"Loading models…",unavailable:"The daemon does not support model listing yet",contextSuffix:"{size} ctx",emptyNoModels:"The daemon offers no selectable models",emptyNoMatch:"No matching models",starTitle:"Add to favorites",unstarTitle:"Remove from favorites",footerHint:"↑↓ Navigate · Enter Select · Esc Close"},_0={justNow:"just now"},M0={title:{shell:"Run command?",diff:"Apply changes?",file:"Write file?",fileop:"File operation?",url:"Fetch URL?",search:"Search?",invocation:"Invoke?",todo:"Update todo?",plan_review:"Ready to build with this plan?",generic:"Approve action?"},subagentBadge:"sub agent · {name}",required:"APPROVAL REQUIRED",danger:"Danger: {detail}",searchQueryLabel:"query",searchScope:"scope: {scope}",feedbackPlaceholder:"Explain why you are rejecting… (Enter to submit, Esc to cancel)",feedbackHint:"Enter to submit · Esc to cancel",approve:"Approve",approveSession:"Approve for session",reject:"Reject",feedback:"+Feedback",approvePlan:"Approve plan",revise:"Revise",rejectAndExit:"Reject and Exit"},$0={title:"Question",step:"Q{current}/{total}",back:"‹ Back",nextQuestion:"Next question ›",otherDefault:"Other…",submit:"Submit",dismiss:"Dismiss",minimize:"Minimize",expand:"Expand"},T0={tag:"tasks",summary:"{run} running · {done} done",stop:"stop",defaultDescription:"Background task",dockTasks:"Background tasks",dockBash:"Bash",dockSubagent:"Background Agent",dockTodos:"Todos",thinkingEffort:"thinking {effort}",foreground:"Foreground",background:"Background",copyCommand:"Copy command",copyOutput:"Copy output",copyAll:"Copy all",copied:"Copied",noticeTitle:"Background task finished",noticeOutputLabel:"Output",noticeOutputTruncated:"Output truncated",noticeCopyOutput:"Copy output",running:"running",closePanel:"Close panel",timingRunning:"Running · {time}",timingDone:"Done · {sec}s",emptyTasks:"No background tasks running",emptyBash:"No bash tasks running",emptySubagent:"No sub agent tasks running",emptyTodo:"No todos yet",todoProgress:"{done}/{total} done",filterRecent:"Recent",filterRunning:"Running",filterDone:"Done",filterAll:"All",emptyRecent:"No recent tasks",emptyRunning:"No running tasks",emptyDone:"No completed tasks",detailPlaceholder:"Select a task to view its command and output",noOutput:"No output yet",openTab:"Open the tasks tab",openDetail:"Open",collapse:"Collapse",expand:"Expand",fieldTask:"Task",fieldOutput:"Output",fieldProgress:"Progress",fieldResult:"Result"},x0={panelTitle:"Thinking",close:"Close"},I0={title:"Changes",branch:"branch",aheadTitle:"ahead of remote",behindTitle:"behind remote",changeCount:"{count} changes",empty:"No git changes / not provided by daemon",clean:"Working tree clean, no changes",back:"Back",loading:"Loading diff…",noDiff:"No line changes for this file",list:"List",tree:"Tree",close:"Close",colorblind:"Colorblind",colorblindOff:"Default",colorblindRedGreen:"Red–green",colorblindBlueYellow:"Blue–yellow"},A0={},P0={empty:"Select a file on the left to preview",loading:"Loading…",lineCount:"{count} lines",copy:"Copy",copied:"Copied",copyPath:"Copy path",openInMenu:"Open in…",copyAbsolutePath:"Copy absolute path",openInApp:"Open with {app}",openInEditor:"Open",reveal:"Reveal",download:"Download",close:"Close",videoFallback:"Video",imageFallback:"Image",search:"Search",prevMatch:"Previous match",nextMatch:"Next match",htmlMode:"HTML preview mode",markdownMode:"Markdown preview mode",preview:"Preview",source:"Source",imageFit:"Image sizing",fit:"Fit",actual:"Actual",pdfNoPreview:"This PDF cannot be embedded here. Download it to view.",imageNoPreview:"Image file · {mime} · {size} · preview unavailable",videoNoPreview:"Video file · {mime} · {size} · preview unavailable",binaryNoPreview:"Binary file · {mime} · {size} bytes · preview unavailable",unknownType:"unknown type",copyCode:"Copy code",enlargeImage:"Enlarge image",errors:{emptyPath:"File path is empty",unsupportedPath:"URLs and remote paths cannot be previewed",outsideWorkspace:"Only files inside the current workspace can be previewed",isDirectory:"Select a file instead of a directory",loadFailed:"Unable to read this file"}},E0={searching:"Searching…",noMatch:"No matches",open:"Open"},B0={dismiss:"Close",errorLabel:"Error",noteLabel:"Note",agentError:{title:"Model request failed",connection:"Cannot connect to the model service",auth:"Model authentication failed",rateLimit:"Model rate limit reached",overloaded:"Model overloaded",filtered:"Response filtered by the provider",api:"Model API error",usageLimit:"Usage limit reached",contextOverflow:"Context size exceeded"},details:{cause:"Cause",code:"Error code",connection:"Connection",contentType:"Content type",details:"Server details",duration:"Duration",endpoint:"Endpoint",errorName:"Error type",message:"Message",operation:"Operation",phase:"Failure phase",request:"Request",requestId:"Request ID",responsePreview:"Response preview",sessionId:"Session ID",stack:"Stack",status:"HTTP status",timeout:"Timeout",timestamp:"Time"},daemonApiTitle:"Kimi daemon returned an error",daemonNetworkMessage:"Web did not receive a response from the local service. Check that Kimi daemon is still running, or refresh the page.",daemonNetworkTitle:"Cannot connect to Kimi daemon",daemonTimeoutMessage:"Kimi server did not respond within the wait limit. The operation may still complete in the background — refresh later to check, or try again.",daemonTimeoutTitle:"Kimi server response timed out",diagnostics:"Diagnostics",hideDetails:"Hide details",operationFailedMessage:"The last operation did not finish. Try again later.",operationFailedTitle:"Operation failed",sessionSnapshotMessage:"Web could not load the current conversation. Check that Kimi daemon is still running, or refresh the page.",sessionSnapshotTitle:"Cannot load current conversation",showDetails:"Show details",copyDetails:"Copy diagnostics",copied:"Copied",wsTitle:"Realtime connection error",goal:{alreadyExists:"This session already has an active goal. Cancel it before starting a new one.",notFound:"No goal to act on — it may have already finished or been cancelled.",statusInvalid:"The current goal state does not allow this action.",notResumable:"This goal cannot be resumed (it may be cancelled or completed).",objectiveTooLong:"The objective is too long. Please shorten it and try again."}},L0={new:{desc:"Create a new session"},clear:{desc:"Clear and start a new session"},login:{desc:"Sign in to Kimi in the browser"},plan:{desc:"Toggle plan mode on/off"},swarm:{desc:"Toggle swarm mode; /swarm runs a task in swarm"},goal:{desc:"Create/control a goal: /goal , /goal pause|resume|cancel"},btw:{desc:"Side chat: /btw asks a forked side session"},yolo:{desc:"Auto-approve tool actions; the agent may still ask questions"},auto:{desc:"Fully autonomous — the agent never asks questions"},thinking:{desc:"Set the thinking level"},compact:{desc:"Compact the conversation history"},fork:{desc:"Fork this session into a new one"},export:{desc:"Download this session and troubleshooting logs as a ZIP",done:"Session exported.",noSession:"Open a session before exporting it.",started:"Exporting session…",tooLarge:"Session too large to export…"},status:{desc:"View session status"},undo:{desc:"Undo the last message"}},R0={label:{read:"Read",bash:"Run",edit:"Edit",write:"Write",grep:"Search",glob:"Find",ls:"List",web_fetch:"Fetch",search:"Search",todo:"Todo",task:"Task",swarm:"Swarm",ask_user:"Question",goal_create:"Start Goal",goal_get:"Read Goal",goal_budget:"Set Goal Budget",goal_update:"Update Goal",waitfor:"Wait"},waitfor:{waitingAny:"Waiting for any background task",waitingTask:"Waiting for {id}",noTasks:"No background tasks running",timedOut:"Timed out",stillRunning:"{count} still running",moreFinished:"+{count} finished during wait",moreRunning:"+{count} more",status:{completed:"completed",failed:"failed",timed_out:"timed out",killed:"killed",lost:"lost"}},swarm:{progress:"{done} / {total}",runningSub:"{count} in progress",doneSub:"{completed} completed · {failed} failed",phaseQueued:"Queued",phaseWorking:"Working",phaseSuspended:"Suspended",phaseCompleted:"Completed",phaseFailed:"Failed",waiting:"Waiting for subagents…"},chip:{lines:"{count} lines",results:"{count} results",edited:"edited",created:"created",todos:"{count} items"},goal:{objectiveWithCriterion:"{objective} · {criterion}",status:"Status: {status}",budget:"{value} {unit}",turns:"{value} turns",tokens:"{value} tokens",milliseconds:"{value} ms",seconds:"{value} sec",minutes:"{value} min",hours:"{value} hr"},group:{title:"{count} tool call | {count} tool calls",running:"running",error:"failed",done:"done"},ask:{dismissed:"Dismissed",answer:"{count} answer",answers:"{count} answers",answered:"Answered",more:"(+{count} more)"},plan:{loading:"Loading plan…",unavailable:"Plan unavailable",pending:"Pending review",approved:"Approved",rejected:"Rejected",cancelled:"Cancelled"}},D0={resizeHandleAria:"Resize sidebar width",resizePreviewAria:"Resize preview panel width",detailPanelAria:"Detail panel"},O0={zoomIn:"Zoom in",zoomOut:"Zoom out",resetZoom:"Reset zoom",dragHint:"Drag to pan",noPreview:"No preview available"},z0={openSwitcher:"Switch session / workspace",openSettings:"Session settings",settingsTitle:"Session settings",groupSession:"Current session",groupApp:"App preferences",sheetLabel:"Sheet",closeSheet:"Close",tapToCycle:"tap to cycle",running:"running",idle:"idle",sessionCount:"{n} sessions",newSession:"New session",permManualSub:"confirm every tool",permAutoSub:"fully autonomous, never asks",permYoloSub:"auto-approve tools, may still ask",planModeSub:"Plan mode",goalModeSub:"Goal mode",swarmModeSub:"Swarm mode",supermoonModeSub:"Supermoon mode",archivedSessions:"Archived sessions",archivedSessionsSub:"Browse and restore archived sessions",archivedBack:"Back",flatTab:"All",workspaceTab:"By workspace",noFlatSessions:"No sessions yet",slashMenuTitle:"Commands",mentionMenuTitle:"Mentions",addMenuTitle:"Add",modelPickerTitle:"Switch model"},F0={colorSchemeLabel:"Light/Dark",light:"Moon Bright",dark:"Moon Dark",system:"System",accentLabel:"Accent",accentBlue:"Blue",accentBlack:"Black"},N0={preview:"预览",confirm:"确认",cancel:"取消",close:"关闭",copy:"复制"},W0={authBannerMessage:"未登录 · 需要登录 Kimi Code 才能开始对话",authBannerLogin:"登录",authPageTitle:"登录 Kimi Code",authPageMessage:"先连接 Kimi Code 账号,然后再开始或继续对话。",authPageLogin:"登录",connecting:"连接中…",connectRetrying:"无法连接服务器,正在重试…",internalBuildBanner:"仅供内部测试"},q0={workspaceMeta:"workspace · {branch}",sessionsHeader:"sessions",workspaces:"工作区",sortWorkspaces:"工作区排序",sortManual:"手动排序",sortRecent:"按最近活动",collapseAll:"折叠全部工作区",expandAll:"展开全部工作区",newSession:"新建会话",newChat:"新建对话",newWorkspace:"新建工作区",emptyState:"还没有会话 · 点击 新建会话 开始",archiveConfirm:"确认归档会话?归档后可以从「设置」中恢复",options:"选项",pin:"置顶会话",unpin:"取消置顶",pinned:"置顶",resizePinnedAria:"调整置顶区高度",emoji:"设置表情",emojiRemove:"移除表情",rename:"重命名",genTitle:"生成标题",genTitleUnavailable:"无法生成标题:需要登录 Kimi Code 托管账号,且会话中已有消息",prTag:"PR #{number}",copyPath:"复制路径",copySessionId:"复制 Session ID",copied:"已复制 ✓",copyFailed:"复制失败",archive:"归档",fork:"分叉会话",export:"导出会话",delete:"删除",removeWorkspace:"移除工作区",brand:"Kimi Code",signedIn:"已登录",signOut:"退出登录",notSignedIn:"未登录",signIn:"登录",language:"语言",daemon:"后台",backendTitle:"后端 {backend} · {endpoint} — 点击切换",noSessions:"暂无对话",showMore:"加载更多 {count} 个对话",showLess:"收起",showAll:"展开剩余 {count} 个对话",loadingMore:"加载中…",collapseSidebar:"收起侧边栏",expandSidebar:"展开侧边栏",viewModeFlat:"将会话显示为平铺列表",viewModeGrouped:"按工作区分组显示会话",mascot:"Kimi 吉祥物",searchPlaceholder:"搜索会话和工作区",search:"搜索",searchHint:"↑↓ 选择 · ↵ 打开 · Esc 关闭",searchNoResults:"没有匹配的会话或工作区",tagOpen:"进行中",tagDone:"已完成",markDone:"标记为已完成",reopen:"标记为进行中",markDoneCount:"标记为已完成 ({n})",noDoneSessions:"暂无已完成的会话",tabWorkspaces:"工作区",tabDone:"已完成",viewSwitcher:"切换会话视图",manageSessions:"管理会话"},H0={switcherTitle:"切换工作区",switchTooltip:"切换工作区",eyebrow:"工作区",branchLabel:"分支: {branch}",noBranch:"无分支",sessionCount:"{count} 个会话",allWorkspaces:"全部工作区",currentWorkspace:"仅当前工作区",addWorkspace:"添加工作区…",noWorkspace:"暂无工作区",deleteHasSessions:"工作区内还有会话,请先归档这些会话再删除",removeWorkspaceConfirm:"移除工作区「{name}」?",swarmEnableConfirm:"启用 swarm 模式?Agent 将并行运行多个子 agent。",goalStartConfirm:"启动 goal:「{objective}」?Agent 将自主执行。",doneWhen:"完成条件",scopeCurrent:"当前工作区",scopeAll:"全部工作区",newInGroup:"在此工作区新建会话",addTitle:"添加工作区",recentLabel:"最近的文件夹",cancel:"取消",addFailed:"无法打开此文件夹,请检查路径后重试。",openThisFolder:"打开此文件夹",up:"上一级",browsing:"加载中…",filterPlaceholder:"过滤子文件夹…",searchPlaceholder:"模糊搜索子文件夹,或粘贴绝对路径…",searching:"搜索中…",noFilterMatch:"没有匹配「{q}」的子文件夹",noSubfolders:"此处没有子文件夹",browseHint:'点击文件夹进入,再点"打开此文件夹"将其添加为工作区。',checkingPath:"检查路径…",pathPickHint:"此路径不存在,你是不是想找:",noPathMatch:"此路径不存在,「{parent}」下没有匹配的文件夹",badParent:"上级目录不存在:{parent}",pathFollowHint:'已定位到目标文件夹,按回车或点击"打开此文件夹"完成添加。',degradedPlaceholder:"输入绝对路径,回车添加…",degradedHint:"守护进程无法浏览文件系统,请直接输入绝对路径后回车添加。",attentionTitle:"{count} 项待处理",awaitingAnswer:"待回答",awaitingAnswerTitle:"有提问等待你回答",awaitingPermission:"待授权",awaitingPermissionTitle:"有操作等待你授权",aborted:"已中断",abortedTitle:"此会话在完成前被中断"},U0={jumpToLatestAria:"跳到最新消息",toc:"对话目录",newMessages:"最新消息",loading:"加载中…",starting:"正在创建对话…",emptyWorkspaceHint:"在 {name} 中发送",switchWorkspace:"切换工作区",addWorkspace:"添加工作区",moreWorkspaces:"更多工作区 ({count})",compacting:"正在压缩上下文…",compactedPlain:"上下文已压缩",compactedAuto:"已自动压缩上下文",compactedTokens:"({before} → {after} tokens)",viewSummary:"查看摘要",summaryTitle:"压缩摘要",manuallyAborted:"您已手动终止",undo:"撤销",undoTooltip:"撤销对话不会回滚代码",undoConfirm:"撤销上一条消息?",yesterday:"昨天",loadOlder:"加载更早的消息",loadingOlder:"正在加载更早的消息…",searchPlaceholder:"搜索当前对话",searchNoResults:"无匹配结果",searchPosition:"{current} / {total}",searchPrev:"上一个匹配",searchNext:"下一个匹配",searchClose:"关闭搜索",cron:{fired:"定时任务已触发",missed:"错过的定时提醒",job:"任务 {id}",oneShot:"单次",coalesced:"已合并 {n} 次触发",missedCount:"错过 {n} 次",finalDelivery:"最后一次投递",everyMinute:"每分钟",everyNMinutes:"每 {n} 分钟",everyHour:"每小时",everyNHours:"每 {n} 小时",dailyAt:"每天 {time}",weekdaysAt:"工作日 {time}",expand:"展开",collapse:"收起"},waitingForResponse:"等待响应…",turnFailedResume:"继续",workingRetry:"模型请求失败,正在重试({n}/{max})…"},V0={connectionConnected:"已连接",connectionConnecting:"连接中…",connectionDisconnected:"未连接",ctxTooltip:"使用 {used} / {max} tokens ({pct}%)",modelLabel:"模型",permissionManual:"逐条确认",permissionAuto:"完全自主",permissionYolo:"自动通过",permissionManualDesc:"每个工具操作都需要你手动确认",permissionAutoDesc:"完全自主运行,智能体自己做决定,不再询问",permissionYoloDesc:"自动批准工具操作,但遇到关键问题仍会询问",planLabel:"计划",planDesc:"先让智能体梳理计划,再修改文件",planOn:"开",planOff:"关",planTooltip:"切换计划模式(先调研再修改)",planPlaceholder:"让智能体规划什么?",workModeDismiss:"取消{mode}",modesLabel:"模式",goalLabel:"目标",goalDesc:"持续跟踪一个目标,直到任务完成",swarmLabel:"Swarm",swarmDesc:"并行运行多个智能体,适合大范围探索",supermoonLabel:"Supermoon",supermoonDesc:"深度规划,并以最高思考强度运行",modeOff:"未启用",goalPlaceholder:"让智能体完成什么目标?",goalStart:"开始",goalPause:"暂停",goalResume:"继续",goalCancel:"取消",goalCancelConfirm:"是否需要取消当前目标?取消后将无法恢复。",goalCancelConfirmYes:"是",goalCancelConfirmNo:"否",goalStatusActive:"进行中",goalStatusPaused:"已暂停",goalStatusBlocked:"已阻塞",goalStatusComplete:"已完成",goalEmptyTitle:"暂无目标",goalEmptyHint:"开启目标模式,告诉智能体要实现什么。",planModeOn:"计划模式已开启",planArmed:"已预备",planEmptyArmed:"计划模式已开启 — 智能体写下的计划会显示在这里。",planEmptyIdle:"暂无计划 — 开启计划模式后,智能体的计划会显示在这里。",modeNotSupported:"暂不支持",thinkingLabel:"思考",thinkingTooltip:"切换思考模式",thinkingOn:"开",thinkingOff:"关",cacheNote:"提示:切换模型或思考程度会使已有的提示词缓存失效。建议新建对话,避免额外的 token 消耗。",starredModels:"收藏",moreModels:"更多模型…",statusPanelTitle:"会话状态",statusPanelClose:"关闭",statusModel:"模型",statusThinking:"思考强度",statusPermission:"权限",statusPlanMode:"计划模式",statusGoalMode:"目标模式",statusSwarmMode:"Swarm 模式",statusSupermoonMode:"Supermoon 模式",swarmOn:"开",swarmOff:"关",supermoonOn:"开",supermoonOff:"关",statusContext:"上下文",statusCost:"花费",statusContextValue:"{used} / {max} ({pct}%)",statusNone:"—",activityRunning:"运行中…",activityAwaitingApproval:"等待批准",activityAwaitingQuestion:"等待回答",interrupt:"中断",runningShort:"进行中"},j0={placeholder:"输入消息…",send:"发送 ↵",queueLabel:"队列",noModelGate:"请先选择模型再发送",placeholderRunning:"输入会加入队列 · Ctrl+S 立即插入运行中的回合",placeholderRunningTouch:"消息将在当前回合结束后发送",starting:"正在发送…",queueAutoDrain:"当前回合结束后自动逐条发送",queueNext:"下一条",queueDragTitle:"拖拽排序",editQueued:"编辑(载入到输入框)",queuedAttachments:"附件 ×{n}",queuedHasImage:"包含 {n} 张图片 — 只能移除,不能编辑",attachmentImage:"图片",attachmentVideo:"视频",attachmentFile:"文件",attachmentOpenUnsupported:"无法打开 {name}:暂不支持此文件类型",dropToAttach:"松开鼠标添加附件",remove:"移除",removeNamed:"移除 {name}",uploading:"上传中",uploadFailed:"上传失败",attachFile:"添加附件",addMenu:"添加",addPlanDesc:"先让智能体梳理计划,再修改文件",addGoalDesc:"持续跟踪一个目标,直到任务完成",addSwarmDesc:"并行运行多个智能体,适合大范围探索",addSupermoonDesc:"深度规划,并以最高思考强度运行",slashEmpty:"没有匹配的命令",previewAttachment:"预览 {name}",interrupt:"中断",interruptTitle:"中断当前操作",expandTitle:"展开输入框进行多行编辑",collapseTitle:"收起输入框",emptyConversationTitle:"Kimi Code",emptyConversation:"还没有消息 —— 在下方输入开始对话",quickStartPlaceholder:"输入消息开始新对话…",thinkingSuffix:" · 思考",thinkingSuffixEffort:" · {level}",queueSteer:"立即发送 (Ctrl+S)",queueSteerTouch:"立即发送",steerQueuedRow:"把这条提示注入当前回合",sendQueuedRow:"立即发送这条提示"},K0={title:"登录 Kimi Code",close:"关闭 (Esc)",regionTitle:"选择登录地区",regionHint:"选择你的 Kimi 账号所属的登录地区,授权页面会自动打开。",regionGlobal:"kimi.com",regionGlobalDesc:"全球账号",regionMainland:"kimi.ai",regionMainlandDesc:"中国内地账号",starting:"正在启动授权流程…",lead:"点击下方按钮,在新标签页中完成授权。",authorizeInBrowser:"在浏览器中授权",reopenBrowser:"重新打开授权页面",orDivider:"或者",fallbackPrefix:"换个设备?在浏览器打开 ",fallbackSuffix:" 输入设备码:",copy:"复制",copied:"已复制",waitingAuth:"等待授权",waitingAutoClose:"等待授权,完成后自动登录…",success:"已授权",successHint:"正在加载,稍后自动关闭…",expiredTitle:"授权码已过期",expiredHint:"请重新开始授权流程",retry:"重试",closeBtn:"关闭",errorTitle:"当前 daemon 暂不支持登录",errorHint:"请升级 kimi-code 后重试",pollErrorTitle:"与 daemon 的连接已断开",pollErrorHint:"授权轮询连续失败,请检查 kimi-code 进程后重试"},G0={dialogLabel:"管理提供商",title:"提供商管理",close:"关闭 (Esc)",loading:"加载提供商中…",unavailable:"daemon 暂不支持提供商管理",empty:"暂无提供商",status:{connected:"已连接",error:"错误",unconfigured:"未配置"},keySet:"key 已设置",keyNotSet:"未设置 key",modelCount:"{count} 个模型",confirmDelete:"确认删除?",refresh:"刷新",delete:"删除",refreshTitle:"刷新 {type}",deleteTitle:"删除 {type}",loginKimi:"登录 Kimi",loginAnthropic:"登录 Anthropic",enterApiKey:"填写 API Key",fieldType:"类型",fieldApiKey:"API Key",fieldBaseUrl:"Base URL",fieldDefaultModel:"默认模型",baseUrlPlaceholder:"https://… (可选)",optional:"可选",apiKeyRequired:"API Key 不能为空",add:"添加",escClose:"Esc 关闭",import:{fromCatalog:"从目录导入",fromRegistry:"导入 registry",back:"返回",catalogTitle:"从 models.dev 目录导入",catalogSearchLabel:"搜索",catalogSearchPlaceholder:"搜索提供商…",catalogLoading:"加载目录中…",catalogEmpty:"没有匹配的提供商",catalogLoadError:"无法加载目录",catalogRejected:"无法导入:{reason}",catalogNeedsBaseUrl:"需要 base URL",catalogBaseUrlHint:"该提供商必填",importAction:"导入",registryTitle:"导入 registry",registryUrlLabel:"Registry URL",registryUrlPlaceholder:"https://…/api.json",registryApiKeyLabel:"API Key(可选)",registryUrlRequired:"Registry URL 不能为空"}},Q0={dialogLabel:"切换模型",title:"切换模型",close:"关闭 (Esc)",allTab:"全部",providerTabs:"模型提供商",searchPlaceholder:"搜索模型或提供商…",loading:"加载模型中…",unavailable:"daemon 暂不支持模型列表",contextSuffix:"{size} ctx",emptyNoModels:"daemon 未提供可选模型",emptyNoMatch:"无匹配模型",starTitle:"添加到收藏",unstarTitle:"取消收藏",footerHint:"↑↓ 导航 · Enter 选择 · Esc 关闭"},Y0={justNow:"刚刚"},Z0={title:{shell:"运行命令?",diff:"应用修改?",file:"写入文件?",fileop:"文件操作?",url:"抓取 URL?",search:"搜索?",invocation:"调用?",todo:"更新 todo?",plan_review:"按这份 plan 开始实现?",generic:"批准操作?"},subagentBadge:"子 agent · {name}",required:"APPROVAL REQUIRED",danger:"危险: {detail}",searchQueryLabel:"查询",searchScope:"范围:{scope}",feedbackPlaceholder:"说明拒绝原因… (Enter 提交, Esc 取消)",feedbackHint:"Enter 提交 · Esc 取消",approve:"批准",approveSession:"本会话内批准",reject:"拒绝",feedback:"+反馈",approvePlan:"批准 plan",revise:"修改",rejectAndExit:"拒绝并退出"},X0={title:"提问",step:"Q{current}/{total}",back:"‹ 返回",nextQuestion:"下一题 ›",otherDefault:"其他…",submit:"提交",dismiss:"放弃",minimize:"最小化",expand:"展开"},J0={tag:"任务",summary:"{run} 运行中 · {done} 完成",stop:"stop",defaultDescription:"后台任务",dockTasks:"后台任务",dockBash:"后台 Bash",dockSubagent:"后台 Agent",dockTodos:"待办",thinkingEffort:"思考 {effort}",foreground:"前台",background:"后台",copyCommand:"复制命令",copyOutput:"复制输出",copyAll:"复制全部",copied:"已复制",noticeTitle:"后台任务已完成",noticeOutputLabel:"输出",noticeOutputTruncated:"输出已截断",noticeCopyOutput:"复制输出",running:"运行中",closePanel:"关闭面板",timingRunning:"运行中 · {time}",timingDone:"完成 · {sec}s",emptyTasks:"暂无后台任务",emptyBash:"暂无后台 Bash 任务",emptySubagent:"暂无子 Agent 任务",emptyTodo:"暂无待办事项",todoProgress:"已完成 {done}/{total}",filterRecent:"最近",filterRunning:"运行中",filterDone:"已完成",filterAll:"全部",emptyRecent:"暂无最近任务",emptyRunning:"暂无运行中的任务",emptyDone:"暂无已完成的任务",detailPlaceholder:"选择任务以查看命令与输出",noOutput:"暂无输出",openTab:"查看全部后台任务",openDetail:"查看",collapse:"折叠",expand:"展开",fieldTask:"任务",fieldOutput:"输出",fieldProgress:"进度",fieldResult:"结果"},ey={panelTitle:"思考过程",close:"关闭"},ty={title:"改动",branch:"分支",aheadTitle:"领先远程",behindTitle:"落后远程",changeCount:"{count} 改动",empty:"无 git 改动 / daemon 未提供",clean:"工作区干净,无改动",back:"返回",loading:"正在加载 diff…",noDiff:"该文件没有行级改动",list:"列表",tree:"树形",close:"关闭",colorblind:"色盲配色",colorblindOff:"默认",colorblindRedGreen:"红绿色盲",colorblindBlueYellow:"蓝黄色盲"},ny={},sy={empty:"选择左侧文件预览",loading:"加载中…",lineCount:"{count} 行",copy:"复制",copied:"已复制",copyPath:"复制路径",openInMenu:"打开方式…",copyAbsolutePath:"复制绝对路径",openInApp:"用 {app} 打开",openInEditor:"打开",reveal:"显示",download:"下载",close:"关闭",videoFallback:"视频",imageFallback:"图片",search:"搜索",prevMatch:"上一个匹配",nextMatch:"下一个匹配",htmlMode:"HTML 预览模式",markdownMode:"Markdown 预览模式",preview:"预览",source:"源码",imageFit:"图片缩放",fit:"适应",actual:"原始",pdfNoPreview:"无法内嵌预览此 PDF,可以下载后查看",imageNoPreview:"图片文件 · {mime} · {size} · 暂不预览",videoNoPreview:"视频文件 · {mime} · {size} · 暂不预览",binaryNoPreview:"二进制文件 · {mime} · {size} 字节 · 暂不预览",unknownType:"未知类型",copyCode:"复制代码",enlargeImage:"放大图片",errors:{emptyPath:"文件路径为空",unsupportedPath:"不支持预览 URL 或远程路径",outsideWorkspace:"只能预览当前 workspace 内的文件",isDirectory:"请选择具体文件,而不是目录",loadFailed:"无法读取这个文件"}},oy={searching:"搜索中…",noMatch:"无匹配",open:"打开"},iy={dismiss:"关闭",errorLabel:"错误",noteLabel:"提示",agentError:{title:"模型请求失败",connection:"无法连接模型服务",auth:"模型认证失败",rateLimit:"模型请求被限流",overloaded:"模型服务过载",filtered:"响应被提供方过滤",api:"模型接口返回错误",usageLimit:"用量已达上限",contextOverflow:"上下文超出模型限制"},details:{cause:"底层原因",code:"错误码",connection:"连接状态",contentType:"响应类型",details:"服务端详情",duration:"耗时",endpoint:"请求地址",errorName:"错误类型",message:"错误信息",operation:"操作",phase:"失败阶段",request:"请求",requestId:"Request ID",responsePreview:"响应预览",sessionId:"Session ID",stack:"堆栈",status:"HTTP 状态",timeout:"超时设置",timestamp:"时间"},daemonApiTitle:"Kimi daemon 返回错误",daemonNetworkMessage:"Web 没有拿到本地服务的响应。请确认 Kimi daemon 仍在运行,或刷新页面重试。",daemonNetworkTitle:"无法连接到 Kimi daemon",daemonTimeoutMessage:"Kimi 服务器没有在规定时间内响应。操作可能仍在后台继续,稍后刷新查看,或重试一次。",daemonTimeoutTitle:"Kimi 服务器响应超时",diagnostics:"诊断信息",hideDetails:"收起详情",operationFailedMessage:"刚才的操作没有完成,请稍后重试。",operationFailedTitle:"操作失败",sessionSnapshotMessage:"Web 没能加载当前会话内容。请确认 Kimi daemon 仍在运行,或刷新页面重试。",sessionSnapshotTitle:"无法加载当前会话内容",showDetails:"查看详情",copyDetails:"复制诊断信息",copied:"已复制",wsTitle:"实时连接出错",goal:{alreadyExists:"当前会话已有一个进行中的目标,请先取消它再创建新目标。",notFound:"没有找到可操作的目标,可能它已经结束或被取消。",statusInvalid:"当前目标状态不支持这个操作。",notResumable:"这个目标无法恢复(可能已取消或已完成)。",objectiveTooLong:"目标描述太长了,请精简后重试。"}},ay={new:{desc:"创建新会话"},clear:{desc:"清空并新建会话"},login:{desc:"在浏览器中登录 Kimi"},plan:{desc:"切换计划模式 开/关"},swarm:{desc:"切换 swarm 模式;/swarm <任务> 直接在 swarm 下执行"},goal:{desc:"创建/控制目标:/goal <目标>、/goal pause|resume|cancel"},btw:{desc:"侧边聊天:/btw <问题> 向 fork 的侧边会话提问"},yolo:{desc:"自动批准工具操作,Agent 仍可能提问"},auto:{desc:"完全自主,Agent 不再提问"},thinking:{desc:"设置思考强度"},compact:{desc:"压缩会话历史"},fork:{desc:"把当前会话 fork 出一个新会话"},export:{desc:"将当前会话和排障日志下载为 ZIP 压缩包",done:"会话已导出。",noSession:"请先打开一个会话再导出。",started:"正在导出会话…",tooLarge:"会话过大,无法导出…"},status:{desc:"查看会话状态"},undo:{desc:"撤销上一条消息"}},ly={label:{read:"读取",bash:"运行",edit:"编辑",write:"写入",grep:"搜索",glob:"查找",ls:"列目录",web_fetch:"抓取",search:"搜索",todo:"待办",task:"任务",swarm:"Swarm",ask_user:"提问",goal_create:"启动目标",goal_get:"读取目标",goal_budget:"设置目标预算",goal_update:"更新目标",waitfor:"等待"},waitfor:{waitingAny:"等待任一后台任务",waitingTask:"等待 {id}",noTasks:"没有后台任务在运行",timedOut:"等待超时",stillRunning:"{count} 个仍在运行",moreFinished:"另有 {count} 个在等待期间完成",moreRunning:"还有 {count} 个",status:{completed:"完成",failed:"失败",timed_out:"超时",killed:"已终止",lost:"丢失"}},swarm:{progress:"{done} / {total}",runningSub:"{count} 个进行中",doneSub:"完成 {completed} · 失败 {failed}",phaseQueued:"排队",phaseWorking:"运行中",phaseSuspended:"暂停",phaseCompleted:"完成",phaseFailed:"失败",waiting:"等待子任务加入…"},chip:{lines:"{count} 行",results:"{count} 结果",edited:"已编辑",created:"已创建",todos:"{count} 项"},goal:{objectiveWithCriterion:"{objective} · {criterion}",status:"状态:{status}",budget:"{value} {unit}",turns:"{value} 轮",tokens:"{value} token",milliseconds:"{value} 毫秒",seconds:"{value} 秒",minutes:"{value} 分钟",hours:"{value} 小时"},group:{title:"{count} 个工具调用",running:"运行中",error:"有失败",done:"已完成"},ask:{dismissed:"已忽略",answer:"{count} 个回答",answers:"{count} 个回答",answered:"已回答",more:"(还有 {count} 个)"},plan:{loading:"正在加载 plan…",unavailable:"无法获取 plan",pending:"等待审核",approved:"已批准",rejected:"已拒绝",cancelled:"已取消"}},ry={resizeHandleAria:"调整侧栏宽度",resizePreviewAria:"调整预览面板宽度",detailPanelAria:"详情面板"},uy={zoomIn:"放大",zoomOut:"缩小",resetZoom:"重置缩放",dragHint:"拖拽平移",noPreview:"无预览"},cy={openSwitcher:"切换会话 / 工作区",openSettings:"会话设置",settingsTitle:"会话设置",groupSession:"当前会话",groupApp:"应用偏好",sheetLabel:"面板",closeSheet:"关闭",tapToCycle:"点击切换",running:"运行中",idle:"空闲",sessionCount:"{n} 个会话",newSession:"新建会话",permManualSub:"每个工具都确认",permAutoSub:"完全自主,不再提问",permYoloSub:"自动批准工具,仍可能提问",planModeSub:"计划模式",goalModeSub:"目标模式",swarmModeSub:"Swarm 模式",supermoonModeSub:"Supermoon 模式",archivedSessions:"已归档会话",archivedSessionsSub:"查看并恢复已归档会话",archivedBack:"返回",flatTab:"全部",workspaceTab:"按工作区",noFlatSessions:"暂无会话",slashMenuTitle:"命令",mentionMenuTitle:"提及",addMenuTitle:"添加",modelPickerTitle:"切换模型"},dy={colorSchemeLabel:"明暗",light:"月之亮面",dark:"月之暗面",system:"跟随系统",accentLabel:"主题色",accentBlue:"蓝色",accentBlack:"黑色"},py={title:"Welcome to Kimi Web",subtitle:"Pick a few preferences — you can change them anytime in Settings.",languageLabel:"Language",start:"Get started",skip:"Skip",reopen:"Preferences / onboarding"},fy={title:"欢迎来使用 Kimi Web",subtitle:"来选择一些你的偏好 —— 之后也可以在设置里随时修改。",languageLabel:"语言",start:"开始使用",skip:"跳过",reopen:"偏好 / 引导"},my={title:"Settings",close:"Close (Esc)",tabs:{general:"General",agent:"Agent",account:"Account",advanced:"Advanced",archived:"Archived",plugins:"Plugins",lab:"Lab"},appearance:"Appearance",notifications:"Notifications",notifyOnComplete:"Notify when a turn completes",notifyOnQuestion:"Notify when a question needs an answer",notifyOnApproval:"Notify when a tool needs approval",soundOnComplete:"Play a sound when a turn completes, needs an answer, or needs approval",taskNotices:"Show in-app task completion notices",taskNoticesHint:"Show a notice card when a background task finishes",notifyDenied:"Blocked in browser settings",notifyTitle:"Kimi Code · Turn finished",notifyQuestionTitle:"Kimi Code · Needs answer",notifyApprovalTitle:"Kimi Code · Approval required",notifyFallback:"View result",notifyQuestionFallback:"A question is waiting for your answer",notifyApprovalFallback:"A tool needs your approval",account:"Account",uiFontSize:"Font size",agentDefaults:"Agent defaults",providers:"Providers",providersHint:"Add, remove, or refresh providers",manageProviders:"Manage",saving:"Saving",defaultModel:"Default model",defaultModelHint:"New sessions prefer this model",noDefaultModel:"No default model",planningModel:"Planning model",planningModelHint:"Planning mode uses this model; must match the default model context window",planningModelContextMismatch:"Planning model must have the same context window as the default model",defaultPermission:"Default permission",defaultPermissionHint:"Only affects newly-created sessions",defaultThinking:"Thinking by default",defaultThinkingHint:"Whether new sessions start with thinking enabled",defaultPlanMode:"Plan mode by default",defaultPlanModeHint:"Whether new sessions start in plan mode",mergeSkills:"Merge all available skills",mergeSkillsHint:"Show project, plugin, and user skills together",telemetry:"Improve product with usage data",telemetryHint:"When on, we collect anonymous interaction data (such as clicks, interruptions, and feature usage) to improve the product experience. You can turn it off at any time.",telemetryRestartHint:"Takes effect after restarting the service.",credentialReady:"Credential configured",credentialMissing:"Missing credential",configUnavailable:"The server did not return config yet. These settings are unavailable.",advanced:"Advanced",build:"Build",serverVersion:"Server version",copyServer:"Copy",backend:"Backend",exportLog:"Troubleshooting log",logHint:"Enable with ?debug=1 to capture",exportLogBtn:"Export log",conversationToc:"Show conversation outline",conversationTocHint:"Show a clickable outline in the right margin to jump between messages",archivedTitle:"Archived sessions",archivedDesc:"Browse archived sessions, see their workspace path, name, and archive time, and restore them to the session list.",archivedSearch:"Search archived sessions",archivedAllWorkspaces:"All workspaces",archivedSortLabel:"Sort by",archivedSortArchived:"Archive time",archivedSortCreated:"Created time",archivedSortName:"Name",archivedRestore:"Restore",archivedEmpty:"No archived sessions yet",archivedNoMatch:"No matching archived sessions",archivedSessionsCount:"{count} sessions",archivedAt:"Archived {time}",archivedLoadMore:"Load more",archivedLoading:"Loading…",archivedLoadingAll:"Loading all archived sessions…",plugins:{retry:"Retry",builtIn:"Built-in",official:"Official",thirdParty:"Third-party",installed:"Installed",install:"Install",update:"Update",remove:"Remove",enabled:"Enabled",homepage:"Homepage",empty:"No plugins found",hasErrors:"Error",customInstall:"Install custom plugin",customInstallPlaceholder:"https://… or /path/to/plugin",customInstallHint:"Accepts an https zip URL, a GitHub repo URL, or a local directory path.",extensionHintTitle:"One step left: install the browser extension",extensionGuide:"Manual install",dismissHint:"Dismiss",catalogUnavailable:"The marketplace catalog is currently unreachable; installed plugins remain manageable below.",source:{"local-path":"Local","zip-url":"ZIP",github:"GitHub"},counts:{skill:"1 skill | {n} skills",mcp:"1 MCP server | {n} MCP servers",mcpEnabled:"{n} on",hook:"1 hook | {n} hooks",command:"1 command | {n} commands"},sections:{installed:"Installed plugins",marketplace:"Marketplace",capabilities:"Capabilities"},confirmRemove:"Remove this plugin and all of its skills and hooks?",loadFailed:"Failed to load plugins",loading:"Loading plugins…",capabilitiesUnavailable:"Capabilities are unavailable right now",installing:"Installing…",capabilityStates:{not_installed:"Not installed",partial:"Partial",ready:"Ready",unsupported:"Unsupported"},steps:{ok:"Done",missing:"Missing",failed:"Failed"}},lab:{title:"Lab",desc:"Experimental features, off by default.",multiTabSidebar:"Multi-tab sidebar",multiTabSidebarHint:"Show Open / Done / Workspaces tabs in the sidebar so finished sessions can be marked done and moved out of the open list"}},vy={title:"设置",close:"关闭 (Esc)",tabs:{general:"通用",agent:"Agent",account:"账户",advanced:"高级",archived:"已归档",plugins:"插件",lab:"实验室"},appearance:"外观",notifications:"通知",notifyOnComplete:"会话完成时通知",notifyOnQuestion:"待回答时通知",notifyOnApproval:"待审批时通知",soundOnComplete:"会话完成、待回答或待审批时播放提示音",taskNotices:"显示应用内后台任务完成通知",taskNoticesHint:"后台任务完成时在应用内显示通知卡片",notifyDenied:"已在浏览器设置中被阻止",notifyTitle:"Kimi Code · 回合完成",notifyQuestionTitle:"Kimi Code · 待回答",notifyApprovalTitle:"Kimi Code · 等待审批",notifyFallback:"点击查看结果",notifyQuestionFallback:"有提问等待你回答",notifyApprovalFallback:"有工具等待你审批",account:"账户",uiFontSize:"字体大小",agentDefaults:"Agent 默认值",providers:"提供商",providersHint:"添加、删除或刷新提供商",manageProviders:"管理",saving:"保存中",defaultModel:"默认模型",defaultModelHint:"新会话会优先使用这个模型",noDefaultModel:"未设置默认模型",planningModel:"规划模型",planningModelHint:"规划模式使用此模型;上下文窗口需与默认模型一致",planningModelContextMismatch:"规划模型与默认模型的上下文窗口必须一致",defaultPermission:"默认权限",defaultPermissionHint:"只影响之后新建的会话",defaultThinking:"默认开启思考",defaultThinkingHint:"新会话默认是否开启 thinking",defaultPlanMode:"默认计划模式",defaultPlanModeHint:"新会话默认进入 plan mode",mergeSkills:"合并所有可用 Skills",mergeSkillsHint:"让项目、插件和用户 Skills 一起出现在可用列表中",telemetry:"使用数据改进产品",telemetryHint:"开启后,我们会收集您的匿名交互数据(如点击、打断、功能使用等),用于改进产品体验。您可以随时关闭。",telemetryRestartHint:"更改后需重启服务生效。",credentialReady:"凭据已配置",credentialMissing:"缺少凭据",configUnavailable:"当前服务端没有返回 config,设置项暂不可用。",advanced:"高级",build:"构建",serverVersion:"服务端版本",copyServer:"复制",backend:"后端",exportLog:"故障排查日志",logHint:"加 ?debug=1 开启采集",exportLogBtn:"导出日志",conversationToc:"显示对话目录",conversationTocHint:"在右侧显示可点击跳转的对话目录",archivedTitle:"已归档会话",archivedDesc:"查看已归档会话,确认其所属工作区路径、会话名称和归档时间,并可恢复到会话列表。",archivedSearch:"搜索已归档会话",archivedAllWorkspaces:"所有工作区",archivedSortLabel:"排序方式",archivedSortArchived:"归档时间",archivedSortCreated:"创建时间",archivedSortName:"按字母顺序",archivedRestore:"恢复",archivedEmpty:"还没有归档的会话",archivedNoMatch:"没有匹配的已归档会话",archivedSessionsCount:"{count} 个会话",archivedAt:"归档于 {time}",archivedLoadMore:"加载更多",archivedLoading:"加载中…",archivedLoadingAll:"正在加载全部归档会话…",plugins:{retry:"重试",builtIn:"内置",official:"官方",thirdParty:"第三方",installed:"已安装",install:"安装",update:"更新",remove:"移除",enabled:"启用",homepage:"主页",empty:"没有找到插件",hasErrors:"错误",customInstall:"安装自定义插件",customInstallPlaceholder:"https://… 或 /本地/目录",customInstallHint:"支持 https zip 链接、GitHub 仓库地址或本地目录路径。",extensionHintTitle:"还差一步:安装浏览器扩展",extensionGuide:"手动安装",dismissHint:"知道了",catalogUnavailable:"插件市场目录暂时不可达;已安装的插件仍可正常管理。",source:{"local-path":"本地","zip-url":"ZIP",github:"GitHub"},counts:{skill:"{n} 个技能",mcp:"{n} 个 MCP 服务",mcpEnabled:"启用 {n} 个",hook:"{n} 个钩子",command:"{n} 个命令"},sections:{installed:"已安装插件",marketplace:"插件市场",capabilities:"能力"},confirmRemove:"要移除该插件及其全部技能和钩子吗?",loadFailed:"插件加载失败",loading:"正在加载插件…",capabilitiesUnavailable:"能力列表暂时不可用",installing:"安装中…",capabilityStates:{not_installed:"未安装",partial:"部分安装",ready:"已就绪",unsupported:"不支持"},steps:{ok:"已完成",missing:"缺失",failed:"失败"}},lab:{title:"实验室",desc:"实验性功能,默认关闭。",multiTabSidebar:"多标签侧边栏",multiTabSidebarHint:"在侧边栏显示「进行中 / 已完成 / 工作区」标签页,完成的会话可标记为已完成并移出进行中列表"}},gy={openInEditor:"Open in editor",openInEditorShort:"Open",chooseOpenApp:"Choose application",copyAll:"Copy all as Markdown",copyFinalSummary:"Copy final summary",copied:"Copied",copyPath:"Copy path",changed:"{n} changed",gitTooltip:"Open Files > Changed",detached:"detached",openPr:"Open pull request",prStatusOpen:"open",prStatusClosed:"closed",prStatusMerged:"merged",prStatusDraft:"draft",prStatusUnknown:"unknown",options:"Options",search:"Search conversation",copySessionId:"Copy Session ID",renameSession:"Rename",forkSession:"Fork session",archiveSession:"Archive",exportSession:"Export session"},hy={openInEditor:"在编辑器中打开",openInEditorShort:"打开",chooseOpenApp:"选择应用",copyAll:"复制全部对话为 Markdown",copyFinalSummary:"仅复制最终总结",copied:"已复制",copyPath:"复制路径",changed:"{n} 处改动",gitTooltip:"打开「文件 > 改动」",detached:"游离",openPr:"打开 Pull Request",prStatusOpen:"已打开",prStatusClosed:"已关闭",prStatusMerged:"已合并",prStatusDraft:"草稿",prStatusUnknown:"未知",options:"选项",search:"搜索对话",copySessionId:"复制 Session ID",renameSession:"重命名",forkSession:"分叉会话",archiveSession:"归档",exportSession:"导出会话"},yy={title:"Side chat",subtitle:"forked from this session",empty:"Ask a quick question on the side — it shares this session’s context.",placeholder:"Ask the side chat…",send:"Send"},ky={title:"侧边聊天",subtitle:"从当前会话 fork",empty:"在侧边随手问一句 —— 它共享当前会话的上下文。",placeholder:"问问侧边聊天…",send:"发送"},by={title:"Server token required",hint:"This server is protected. Enter the bearer token printed when the server started (or the password set via {password}).",placeholder:"Token",connect:"Connect",connecting:"Connecting…"},wy={dockTerminal:"Terminal",newTerminal:"New terminal",inputPlaceholder:"Type a command and press Enter",loading:"Loading terminals…",empty:"No terminals yet — create one to get a shell in this session",listFailed:"Failed to load terminals",createFailed:"Failed to create terminal",closeFailed:"Failed to close terminal",closeTerminal:"Close terminal",exited:"Process exited with code {code}"},Sy={title:"需要服务器令牌",hint:"此服务器受保护。请输入服务器启动时打印的 bearer token(或通过 {password} 设置的密码)。",placeholder:"令牌",connect:"连接",connecting:"连接中…"},Cy={dockTerminal:"终端",newTerminal:"新建终端",inputPlaceholder:"输入命令后按回车",loading:"正在加载终端…",empty:"暂无终端 — 创建一个即可在此会话中使用 shell",listFailed:"加载终端失败",createFailed:"创建终端失败",closeFailed:"关闭终端失败",closeTerminal:"关闭终端",exited:"进程已退出,退出码 {code}"},_y={title:"Manage sessions",subtitle:"Cross-workspace triage: filter by workspace, status, and updated time; batch mark sessions done or reopen them.",filterWorkspace:"Workspace",filterStatus:"Status",filterTime:"Updated",allWorkspaces:"All workspaces",allStatus:"All statuses",statusOpen:"Open",statusDone:"Done",markDone:"Mark as done",reopen:"Mark as open",markDoneCount:"Mark as done ({n})",reopenCount:"Mark as open ({n})",batchSelected:"{n} selected",selectAll:"Select all",selectPageAll:"Select this page",selectAllMatching:"Select all matching",clearSelection:"Clear selection",prevPage:"Previous",nextPage:"Next",pageSize:"Page size",total:"{n} sessions",searchWorkspace:"Search sessions or workspaces",timeDaysAgo:"{n} days ago",timeAll:"All time",fork:"Fork session",export:"Export session",rename:"Rename",undo:"Undo",removeTag:"Remove tag",reset:"Reset filters",back:"Back",moreActions:"More actions",noSessions:"No sessions match the current filters",doneAt:"Done"},My={title:"管理会话",subtitle:"跨工作区整理会话:按工作区、状态和更新时间筛选,可批量标记完成或重新打开。",filterWorkspace:"工作区",filterStatus:"状态",filterTime:"更新时间",allWorkspaces:"全部工作区",allStatus:"全部状态",statusOpen:"进行中",statusDone:"已完成",markDone:"标记为已完成",reopen:"标记为进行中",markDoneCount:"标记为已完成 ({n})",reopenCount:"标记为进行中 ({n})",batchSelected:"已选 {n} 项",selectAll:"全选",selectPageAll:"选择本页",selectAllMatching:"选择全部匹配项",clearSelection:"取消选择",prevPage:"上一页",nextPage:"下一页",pageSize:"每页条数",total:"共 {n} 个会话",searchWorkspace:"搜索会话或工作区",timeDaysAgo:"{n} 天前",timeAll:"全部时间",fork:"分叉会话",export:"导出会话",rename:"重命名",undo:"撤销",removeTag:"移除标签",reset:"重置筛选",back:"返回",moreActions:"更多操作",noSessions:"没有匹配当前筛选条件的会话",doneAt:"已完成"},$y={tabThinking:"Thinking",tabCompaction:"Compaction",tabAgent:"Agent",tabSideChat:"Side chat",tabDiff:"Changes",tabToolDiff:"Tool diff",tabFile:"File",closeTab:"Close tab",activateTab:"Open {tab} panel",moveToBackground:"Move to background"},Ty={tabThinking:"思考过程",tabCompaction:"压缩摘要",tabAgent:"子 Agent",tabSideChat:"侧聊",tabDiff:"变更",tabToolDiff:"工具差异",tabFile:"文件",closeTab:"关闭标签页",activateTab:"打开 {tab} 面板",moveToBackground:"移至后台"},xy={en:{common:m0,app:v0,sidebar:g0,workspace:h0,conversation:y0,status:k0,composer:b0,login:w0,providers:S0,model:C0,sessions:_0,approval:M0,question:$0,tasks:T0,thinking:x0,diff:I0,fileTree:A0,filePreview:P0,mention:E0,warnings:B0,commands:L0,tools:R0,layout:D0,mobile:z0,theme:F0,onboarding:py,settings:my,header:gy,sideChat:yy,serverAuth:by,terminal:wy,media:O0,admin:_y,panel:$y},zh:{common:N0,app:W0,sidebar:q0,workspace:H0,conversation:U0,status:V0,composer:j0,login:K0,providers:G0,model:Q0,sessions:Y0,approval:Z0,question:X0,tasks:J0,thinking:ey,diff:ty,fileTree:ny,filePreview:sy,mention:oy,warnings:iy,commands:ay,tools:ly,layout:ry,mobile:cy,theme:dy,onboarding:fy,settings:vy,header:hy,sideChat:ky,serverAuth:Sy,terminal:Cy,media:uy,admin:My,panel:Ty}},gc=[{code:"en",label:"English"},{code:"zh",label:"中文"}];function Iy(){const e=Dt(Ge.locale);return e==="en"||e==="zh"?e:globalThis.navigator?.language?.toLowerCase().startsWith("zh")?"zh":"en"}const wt=Tp({legacy:!1,locale:Iy(),fallbackLocale:"en",messages:xy});function hc(e){wt.global.locale.value=e,Nt(Ge.locale,e)}const Ay=["app:load:start","app:load:complete","export:start","export:accepted","export:failed","prompt:start","prompt:accepted","prompt:failed","session:snapshot:start","session:snapshot:accepted","session:snapshot:failed","operation:failed","window:error","window:unhandled-rejection","ws:connection","ws:error","ws:resync","ws:stale-reconnect"],yc=500,Ui=256*1024,Sr=200,ga=16384,ha=500,ya=50,ka=50,Py=6,Ey=/api[_-]?key|authorization|token|secret|password|cookie|credential/i,By=/^[A-Za-z0-9+/=_-]{200,}$/;let ba=null;function ps(){if(ba!==null)return ba;let e=!1;try{if(typeof location<"u"){const t=new URLSearchParams(location.search).get("debug");(t==="1"||t==="true")&&(e=!0)}}catch{}return e||(e=Dt(Ge.debug)==="1"),ba=e,e}const so=[],Ro=[];let Jo=0;const mo=[];let ei=0,Ly=1;const Vi=new TextEncoder,Ry=new Set(Ay),xl=x(0),ti=xp(!1);function Dy(){return so}function Oy(){so.length=0,Ro.length=0,Jo=0,mo.length=0,ei=0,xl.value++}function qs(e){if(!ti.value){try{const t={id:Ly++,ts:Date.now(),source:e.source,kind:String(Do(e.kind)),label:String(Do(e.label)),sessionId:e.sessionId===void 0?void 0:String(Do(e.sessionId)),method:e.method,path:e.path,eventType:e.eventType,seq:e.seq,offset:e.offset,status:e.status,code:e.code,requestId:e.requestId,durationMs:e.durationMs,detail:io(e.detail)},n=JSON.stringify(t),s=Vi.encode(n).byteLength;if(s>Ui)return;for(so.push(t),Ro.push(n),Jo+=s+(Ro.length>1?1:0);so.length>yc||Jo>Ui;){const o=Ro.shift();so.shift(),o!==void 0&&(Jo-=Vi.encode(o).byteLength,Ro.length>0&&(Jo-=1))}}catch{return}xl.value++}}function ro(e){if(typeof e=="string")return e.length<=Sr?e:e.slice(0,Sr)}function Zn(e){return typeof e=="number"&&Number.isFinite(e)?e:void 0}function zy(e,t){if(Ry.has(e))try{const n={ts:Date.now(),event:e,sessionId:ro(t?.sessionId),status:ro(t?.status),operation:ro(t?.operation),seq:Zn(t?.seq),durationMs:Zn(t?.durationMs),messageCount:Zn(t?.messageCount),contentCount:Zn(t?.contentCount),mediaCount:Zn(t?.mediaCount),sessionCount:Zn(t?.sessionCount),workspaceCount:Zn(t?.workspaceCount),promptId:ro(t?.promptId),zipBytes:Zn(t?.zipBytes),errorName:ro(t?.errorName),errorCode:Zn(t?.errorCode),requestId:ro(t?.requestId),phase:ro(t?.phase),httpStatus:Zn(t?.httpStatus),fatal:typeof t?.fatal=="boolean"?t.fatal:void 0,line:Zn(t?.line),col:Zn(t?.col)},s=JSON.stringify(n),o=Vi.encode(s).byteLength;if(o>Ui)return;for(mo.push(s),ei+=o+(mo.length>1?1:0);mo.length>yc||ei>Ui;){const i=mo.shift();i!==void 0&&(ei-=Vi.encode(i).byteLength,mo.length>0&&(ei-=1))}}catch{return}}function Do(e,t=0){if(e==null)return e;const n=typeof e;if(n==="number"||n==="boolean")return e;if(n==="string"){const i=e;return By.test(i)?`[base64-like, ${i.length} chars omitted]`:i.length>ha?`${i.slice(0,ha)}… [+${i.length-ha} chars]`:i}if(n!=="object")return String(e);if(t>=Py)return"[max depth]";if(Array.isArray(e)){const i=e.slice(0,ya).map(u=>Do(u,t+1));return e.length>ya&&i.push(`[+${e.length-ya} more items]`),i}const s={},o=Object.entries(e);for(const[i,u]of o.slice(0,ka))s[i]=Ey.test(i)?"[redacted]":Do(u,t+1);return o.length>ka&&(s._truncatedKeys=o.length-ka),s}function io(e){if(e===void 0)return;const t=Do(e);try{const n=JSON.stringify(t);if(n!==void 0&&n.length>ga)return{_truncated:`detail JSON was ${n.length} chars; first ${ga} kept`,preview:n.slice(0,ga)}}catch{return"[unserializable detail]"}return t}const kc=/^\/(oauth\/login|auth|providers|config|files)(\/|$)/i;function _i(e){ps()&&qs({source:"rest",kind:"rest:request",label:`→ ${e.method} ${e.path}`,method:e.method,path:e.path,requestId:e.requestId,detail:{url:e.url,body:kc.test(e.path)?void 0:io(e.body)}})}function Io(e){if(!ps())return;const t=e.code!==0;qs({source:"rest",kind:t?"rest:error":"rest:response",label:`← ${e.method} ${e.path} ${e.status} code=${e.code}${t?` "${e.msg}"`:""} ${Math.round(e.durationMs)}ms`,method:e.method,path:e.path,requestId:e.requestId,status:e.status,code:e.code,durationMs:e.durationMs,detail:{envelope:{code:e.code,msg:e.msg,request_id:e.envelopeRequestId},data:kc.test(e.path)?void 0:io(e.data)}})}function Gs(e){ps()&&qs({source:"rest",kind:"rest:error",label:`✕ ${e.method} ${e.path} ${e.phase} error${e.status!==void 0?` (HTTP ${e.status})`:""} ${Math.round(e.durationMs)}ms`,method:e.method,path:e.path,requestId:e.requestId,status:e.status,durationMs:e.durationMs,detail:{phase:e.phase,error:String(e.error)}})}function Qs(e,t){ps()&&qs({source:"ws",kind:"ws:lifecycle",eventType:e,label:`ws ${e}`,detail:io(t)})}function Fy(e){if(!ps())return;const t=e??{},n=typeof t.type=="string"?t.type:"(unknown)",s=t.payload,o=typeof s?.session_id=="string"?s.session_id:void 0;qs({source:"ws",kind:"ws:out",eventType:n,sessionId:o,label:`→ ${n}`,detail:io(e)})}function Ny(e){if(!ps())return;const t=e??{},n=typeof t.type=="string"?t.type:"(unknown)",s=typeof t.session_id=="string"?t.session_id:typeof t.payload?.session_id=="string"?t.payload.session_id:void 0,o=typeof t.seq=="number"?t.seq:void 0,i=typeof t.offset=="number"?t.offset:void 0,u=[s,o!==void 0?`seq=${o}`:void 0,i!==void 0?`offset=${i}`:void 0,t.volatile===!0?"volatile":void 0].filter(Boolean);qs({source:"ws",kind:"ws:in",eventType:n,sessionId:s,seq:o,offset:i,label:`← ${n}${u.length>0?` (${u.join(" ")})`:""}`,detail:io(t.payload)})}const Wy={error:"✕",warn:"⚠",info:"ℹ",debug:"·",log:"·"};function qy(e,t,n){ps()&&qs({source:"client",kind:`client:${e}`,label:`${Wy[e]} ${t}`,detail:io(n)})}function Os(e,t){ps()&&qs({source:"client",kind:"client:event",label:`· ${e}`,detail:io(t)})}function nn(e,t){zy(e,t),qs({source:"client",kind:"client:key",label:e,sessionId:typeof t?.sessionId=="string"?t.sessionId:void 0,seq:typeof t?.seq=="number"?t.seq:void 0,durationMs:typeof t?.durationMs=="number"?t.durationMs:void 0,detail:t})}let wa=!1,Mi=null;function Hy(){if(wa)return()=>Mi?.();wa=!0;const e=[];try{if(typeof window<"u"){const n=o=>{nn("window:error",{status:"failed",errorName:o.error instanceof Error?o.error.name:"Error",line:o.lineno,col:o.colno})},s=o=>{const i=o.reason;nn("window:unhandled-rejection",{status:"failed",errorName:i instanceof Error?i.name:typeof i})};window.addEventListener("error",n),window.addEventListener("unhandledrejection",s),e.push(()=>{window.removeEventListener("error",n)}),e.push(()=>{window.removeEventListener("unhandledrejection",s)})}}catch{}if(ps())for(const n of["error","warn","log","info","debug"]){const s=console[n];if(typeof s!="function")continue;const o=(...i)=>{try{qy(n,i.map(Uy).join(" "),i.length>1?i:i[0])}catch{}s.apply(console,i)};console[n]=o,e.push(()=>{console[n]===o&&(console[n]=s)})}const t=()=>{if(Mi===t){for(const n of e.toReversed())n();Mi=null,wa=!1}};return Mi=t,t}function Uy(e){if(typeof e=="string")return e;if(e instanceof Error)return`${e.name}: ${e.message}`;try{return JSON.stringify(e)}catch{return String(e)}}function bc(e=so){if(typeof document>"u")return;const t=new Blob([Vy(e)],{type:"application/x-ndjson"}),n=URL.createObjectURL(t);let s;try{s=document.createElement("a"),s.href=n,s.download=`kimi-web-log-${new Date().toISOString().replaceAll(/[:.]/g,"-")}.jsonl`,document.body.append(s),s.click()}finally{s?.remove(),setTimeout(()=>{try{URL.revokeObjectURL(n)}catch{}},0)}}function Vy(e=so){return e===so?Ro.join(`
-`):e.map(t=>JSON.stringify(t)).join(`
-`)}function jy(){return mo.join(`
-`)}const wc="kimiWeb.compaction",Sc="kimiWeb.turnError",Mn=wt.global.t,Ky={read:"tools.label.read",bash:"tools.label.bash",edit:"tools.label.edit",multi_edit:"tools.label.edit",write:"tools.label.write",grep:"tools.label.grep",glob:"tools.label.glob",ls:"tools.label.ls",web_fetch:"tools.label.web_fetch",search:"tools.label.search",todo:"tools.label.todo",task:"tools.label.task",agentswarm:"tools.label.swarm",askuserquestion:"tools.label.ask_user",creategoal:"tools.label.goal_create",getgoal:"tools.label.goal_get",setgoalbudget:"tools.label.goal_budget",updategoal:"tools.label.goal_update",waitfor:"tools.label.waitfor"},Gy={multiedit:"multi_edit",multiedits:"multi_edit",shell:"bash",run:"bash",exec:"bash",ripgrep:"grep",rg:"grep",find:"glob",fetch:"web_fetch",webfetch:"web_fetch",url_fetch:"web_fetch",urlfetch:"web_fetch",list:"ls",listdir:"ls",list_dir:"ls",todowrite:"todo",todo_write:"todo",todoread:"todo",todolist:"todo",todo_list:"todo",agent:"task",subagent:"task",websearch:"search",web_search:"search",create_goal:"creategoal",get_goal:"getgoal",set_goal_budget:"setgoalbudget",update_goal:"updategoal",wait_for:"waitfor"};function To(e){const t=(e??"").trim().toLowerCase().replace(/[\s-]+/g,"_");return Gy[t]??t}function ao(e){const t=Ky[To(e)];return t?Mn(t):e}const Qy={read:"file-text",bash:"terminal",edit:"pencil",multi_edit:"pencil",write:"file-plus",grep:"search",search:"search",glob:"glob",ls:"folder",web_fetch:"globe",todo:"check-list",task:"sparkles",agentswarm:"git-pull-request",askuserquestion:"help-circle",creategoal:"target",getgoal:"target",setgoalbudget:"target",updategoal:"target",waitfor:"clock",croncreate:"calendar-schedule",cronlist:"calendar-todo",crondelete:"calendar-close"};function Uo(e){const t=To(e);let n=Qy[t];return!n&&(e??"").trim().toLowerCase().includes("skill")&&(n="bolt"),n||(n="tool"),mc(n,"sm")}const Cc=80;function Yy(e,t=Cc){const n=e.trim();return n.length>t?n.slice(0,t-1)+"…":n}function Zy(e,t){const n=e.trim();return!!(n===""||n==="{}"||n==="[]"||n==="null"||t&&Object.keys(t).length===0)}function Xy(e){const t=e.trim();if(!t.startsWith("{"))return null;try{const n=JSON.parse(t);return n&&typeof n=="object"&&!Array.isArray(n)?n:null}catch{return null}}function vt(e){return typeof e=="string"&&e.length>0?e:void 0}function Js(e){return typeof e=="number"&&Number.isFinite(e)?e:void 0}function Jy(e){try{const t=new URL(e),n=t.pathname.split("/").filter(Boolean)[0];return n?`${t.host}/${n}`:t.host}catch{return e.replace(/^https?:\/\//,"")}}function Sa(e){return vt(e.path)??vt(e.file_path)??vt(e.filePath)??vt(e.filename)}const ek={active:"status.goalStatusActive",blocked:"status.goalStatusBlocked",complete:"status.goalStatusComplete"};function tk(e){const t=vt(e);if(!t)return;const n=ek[t];return n?Mn(n):t}function nk(e){const t=Js(e.value),n=vt(e.unit);if(!(t===void 0||!n))switch(n){case"turns":return Mn("tools.goal.turns",{value:t});case"tokens":return Mn("tools.goal.tokens",{value:t});case"milliseconds":return Mn("tools.goal.milliseconds",{value:t});case"seconds":return Mn("tools.goal.seconds",{value:t});case"minutes":return Mn("tools.goal.minutes",{value:t});case"hours":return Mn("tools.goal.hours",{value:t});default:return Mn("tools.goal.budget",{value:t,unit:n})}}const sk=64;function Co(e,t,n=!1){const s=(o,i=Cc)=>n?o.trim():Yy(o,i);try{const o=Xy(t);if(!n&&Zy(t,o))return"";const i=()=>s(t.replace(/^·\s*/,""));if(!o)return i();switch(To(e)){case"read":{const u=Sa(o);if(!u)return i();const p=Js(o.offset)??Js(o.line_start)??Js(o.start_line),f=Js(o.limit)??Js(o.length),v=Js(o.line_end)??Js(o.end_line)??(p!==void 0&&f!==void 0?p+f:void 0);return s(p!==void 0&&v!==void 0?`${u}:${p}-${v}`:p!==void 0?`${u}:${p}`:u)}case"write":{const u=Sa(o);return u?s(`${u} ${Mn("tools.chip.created")}`):i()}case"edit":case"multi_edit":{const u=Sa(o);return u?s(u):i()}case"bash":{const u=vt(o.command)??vt(o.cmd)??vt(o.script);return u?s(u,sk):i()}case"grep":case"search":{const u=vt(o.pattern)??vt(o.query)??vt(o.regex),p=vt(o.path)??vt(o.glob)??vt(o.include);return u&&p?s(`${u} in ${p}`):u?s(u):i()}case"glob":{const u=vt(o.pattern)??vt(o.glob)??vt(o.query),p=vt(o.path)??vt(o.cwd);return u&&p?s(`${u} in ${p}`):u?s(u):vt(o.path)?s(vt(o.path)):i()}case"ls":{const u=vt(o.path)??vt(o.dir)??vt(o.directory)??vt(o.cwd);return u?s(u):i()}case"web_fetch":{const u=vt(o.url)??vt(o.uri);return u?s(Jy(u)):i()}case"todo":case"task":{const u=vt(o.description)??vt(o.title)??vt(o.prompt)??vt(o.name)??vt(o.subagent_type);if(u)return s(u);const p=Array.isArray(o.todos)?o.todos:Array.isArray(o.items)?o.items:void 0;return p?s(Mn("tools.chip.todos",{count:p.length})):i()}case"creategoal":{if(n)return i();const u=vt(o.objective),p=vt(o.completionCriterion);return u&&p?s(Mn("tools.goal.objectiveWithCriterion",{objective:u,criterion:p})):u?s(u):i()}case"getgoal":return n?i():"";case"setgoalbudget":{if(n)return i();const u=nk(o);return u?s(u):i()}case"updategoal":{if(n)return i();const u=tk(o.status);return u?s(Mn("tools.goal.status",{status:u})):i()}case"waitfor":{if(n)return i();const u=vt(o.task_id)??vt(o.taskId);return u?s(u):i()}default:return i()}}catch{return t}}function _c(e){try{switch(To(e.name)){case"bash":return e.timing?e.timing:"";case"read":{if(e.output&&e.output.length>0){const t=e.output.length;return Mn("tools.chip.lines",{count:t})}return""}case"edit":case"multi_edit":case"write":{if(e.output){for(const n of e.output){const s=n.match(/\+(\d+).*[-−](\d+)/);if(s)return`+${s[1]} −${s[2]}`}const t=e.output.find(n=>/\d+/.test(n));if(t){const n=t.match(/\+(\d+)/),s=t.match(/[-−](\d+)/);if(n||s)return`${n?`+${n[1]}`:""} ${s?`−${s[1]}`:""}`.trim()}if(e.status!=="error")return Mn("tools.chip.edited")}return""}case"grep":case"search":return e.output&&e.output.length>0?Mn("tools.chip.results",{count:e.output.length}):"";default:return""}}catch{return""}}const ok=["local-path","zip-url","github"];function Gt(e,t){const n=e[t];return typeof n=="string"&&n.length>0?n:void 0}function eo(e,t,n){return Gt(e,t)??Gt(e,n)}function Go(e,t,n){const s=e[t];if(typeof s=="number"&&Number.isFinite(s))return s;const o=e[n];return typeof o=="number"&&Number.isFinite(o)?o:0}function Mc(e,t,n){return e[t]===!0||e[n]===!0}function ik(e){const t=e!==null&&typeof e=="object"?e:{},n=Gt(t,"source"),s=t.github,o=s!==null&&typeof s=="object"?s:void 0,i=o!==void 0&&o.ref!==null&&typeof o.ref=="object"?o.ref:void 0,u=i!==void 0?Gt(i,"kind"):void 0;return{id:Gt(t,"id")??"",displayName:eo(t,"display_name","displayName")??"",version:eo(t,"version","version"),enabled:t.enabled===!0,state:t.state==="error"?"error":"ok",skillCount:Go(t,"skill_count","skillCount"),mcpServerCount:Go(t,"mcp_server_count","mcpServerCount"),enabledMcpServerCount:Go(t,"enabled_mcp_server_count","enabledMcpServerCount"),hookCount:Go(t,"hook_count","hookCount"),commandCount:Go(t,"command_count","commandCount"),hasErrors:Mc(t,"has_errors","hasErrors"),source:ok.includes(n??"")?n:"local-path",originalSource:eo(t,"original_source","originalSource"),github:o!==void 0&&i!==void 0&&(u==="branch"||u==="tag"||u==="sha")?{owner:Gt(o,"owner")??"",repo:Gt(o,"repo")??"",ref:{kind:u,value:Gt(i,"value")??""},installedSha:eo(o,"installed_sha","installedSha")}:void 0}}const ak=["official","curated","third-party"],lk=["not_installed","partial","ready","unsupported"],rk=["ok","missing","failed"];function uk(e){const t=e!==null&&typeof e=="object"?e:{},n=Gt(t,"tier"),s=t.installed,o=s!==null&&typeof s=="object"?s:void 0;return{id:Gt(t,"id")??"",tier:ak.includes(n??"")?n:"third-party",displayName:eo(t,"display_name","displayName")??"",description:Gt(t,"description"),homepage:Gt(t,"homepage"),keywords:Array.isArray(t.keywords)?t.keywords.filter(i=>typeof i=="string"):void 0,version:Gt(t,"version"),source:Gt(t,"source")??"",installed:o===void 0?void 0:{version:Gt(o,"version"),enabled:o.enabled===!0},updateAvailable:Mc(t,"update_available","updateAvailable"),capabilityId:eo(t,"capability_id","capabilityId")}}function ck(e){const t=e!==null&&typeof e=="object"?e:{},n=Gt(t,"state"),o=(Array.isArray(t.steps)?t.steps:[]).filter(u=>u!==null&&typeof u=="object").map(u=>({id:Gt(u,"id")??"",state:rk.includes(Gt(u,"state")??"")?Gt(u,"state"):"missing",detail:Gt(u,"detail"),optional:u.optional===!0})),i=t.install;return{id:Gt(t,"id")??"",pluginId:eo(t,"plugin_id","pluginId"),displayName:eo(t,"display_name","displayName")??"",description:Gt(t,"description")??"",supported:t.supported===!0,state:lk.includes(n??"")?n:"unsupported",version:Gt(t,"version"),steps:o,install:$c(void 0,i!==null&&typeof i=="object"?i:{running:!1})}}function dk(e){const t=e.trim();return t.length===0?!1:/^https:\/\/\S+$/i.test(t)?!0:/^(\/|~\/|\.{1,2}\/|[A-Za-z]:[\\/])/.test(t)}function pk(e,t){return e===void 0?{phase:t==="ready"?"done":"idle"}:e.running?{phase:"installing",step:e.step,percent:e.percent,note:e.note}:e.error!==void 0&&e.error.length>0?{phase:"error",error:e.error,step:e.step,percent:e.percent}:{phase:t==="ready"?"done":"idle",step:e.step}}function $c(e,t){return{running:t.running,step:t.step??e?.step,percent:t.percent??e?.percent,error:t.error??e?.error,note:t.note??e?.note}}function Tc(e){return{inputTokens:e.input_tokens,outputTokens:e.output_tokens,cacheReadTokens:e.cache_read_tokens,cacheCreationTokens:e.cache_creation_tokens,totalCostUsd:e.total_cost_usd,contextTokens:e.context_tokens,contextLimit:e.context_limit,turnCount:e.turn_count}}function Ya(e){return e.contextTokens===0&&e.contextLimit===0&&e.inputTokens===0&&e.outputTokens===0&&e.turnCount===0}function ls(e){return{id:e.id,title:e.title,createdAt:e.created_at,updatedAt:e.updated_at,busy:e.busy,mainTurnActive:e.main_turn_active,pendingInteraction:e.pending_interaction,lastTurnReason:e.last_turn_reason,archived:e.archived??!1,currentPromptId:e.current_prompt_id,lastPrompt:e.last_prompt,cwd:e.metadata.cwd,model:e.agent_config.model,usage:Tc(e.usage),messageCount:e.message_count,lastSeq:e.last_seq,workspaceId:e.workspace_id,parentSessionId:typeof e.metadata.parent_session_id=="string"?e.metadata.parent_session_id:void 0}}function ii(e){return{id:e.id,root:e.root,name:e.name,lastOpenedAt:e.last_opened_at,sessionCount:e.session_count}}function Cr(e){return e.kind==="base64"?{kind:"base64",mediaType:e.media_type,data:e.data}:e.kind==="file"?{kind:"file",fileId:e.file_id}:{kind:"url",url:e.url,id:e.id}}function Il(e){switch(e.type){case"text":return{type:"text",text:e.text};case"tool_use":return{type:"toolUse",toolCallId:e.tool_call_id,toolName:e.tool_name,input:e.input};case"tool_result":return{type:"toolResult",toolCallId:e.tool_call_id,output:e.output,isError:e.is_error};case"image":return{type:"image",source:Cr(e.source)};case"video":return{type:"video",source:Cr(e.source)};case"file":return{type:"file",fileId:e.file_id,name:e.name,mediaType:e.media_type,size:e.size};case"thinking":return{type:"thinking",thinking:e.thinking,signature:e.signature};default:return{type:"unknown",raw:e}}}function Za(e){return{id:e.id,sessionId:e.session_id,role:e.role,content:e.content.map(Il),createdAt:e.created_at,promptId:e.prompt_id,parentMessageId:e.parent_message_id,metadata:e.metadata}}function fk(e){switch(e.type){case"text":return{type:"text",text:e.text};case"toolUse":return{type:"tool_use",tool_call_id:e.toolCallId,tool_name:e.toolName,input:e.input};case"toolResult":return{type:"tool_result",tool_call_id:e.toolCallId,output:e.output,is_error:e.isError};case"image":case"video":{const t=e.source;let n;return t.kind==="base64"?n={kind:"base64",media_type:t.mediaType,data:t.data}:t.kind==="file"?n={kind:"file",file_id:t.fileId}:n={kind:"url",url:t.url,id:t.id},{type:e.type,source:n}}case"file":return{type:"file",file_id:e.fileId,name:e.name,media_type:e.mediaType,size:e.size};case"thinking":return{type:"thinking",thinking:e.thinking,signature:e.signature};case"unknown":return e.raw}}function mk(e){return{content:e.content.map(fk),metadata:e.metadata,agent_id:e.agentId,model:e.model,thinking:e.thinking,permission_mode:e.permissionMode,plan_mode:e.planMode,swarm_mode:e.swarmMode,supermoon_mode:e.supermoonMode,goal_objective:e.goalObjective,goal_control:e.goalControl}}function vk(e){return{decision:e.decision,scope:e.scope,feedback:e.feedback,selected_label:e.selectedLabel}}function xc(e){return{approvalId:e.approval_id,sessionId:e.session_id,turnId:e.turn_id,toolCallId:e.tool_call_id,toolName:e.tool_name,action:e.action,display:e.tool_input_display??e.display,expiresAt:e.expires_at,createdAt:e.created_at}}function gk(e){return{id:e.id,label:e.label,description:e.description,recommended:e.recommended===!0||e.is_recommended===!0}}function hk(e){return{id:e.id,question:e.question,header:e.header,body:e.body,options:e.options.map(gk),multiSelect:e.multi_select,allowOther:e.allow_other,otherLabel:e.other_label,otherDescription:e.other_description}}function Ic(e){return{questionId:e.question_id,sessionId:e.session_id,turnId:e.turn_id,toolCallId:e.tool_call_id,questions:e.questions.map(hk),createdAt:e.created_at}}function yk(e){switch(e.kind){case"single":return{kind:"single",option_id:e.optionId};case"multi":return{kind:"multi",option_ids:e.optionIds};case"other":return{kind:"other",text:e.text};case"multiWithOther":return{kind:"multi_with_other",option_ids:e.optionIds,other_text:e.otherText};case"skipped":return{kind:"skipped"}}}function kk(e){const t={};for(const[n,s]of Object.entries(e.answers))t[n]=yk(s);return{answers:t,method:e.method,note:e.note}}function Oi(e){return{id:e.id,sessionId:e.session_id,kind:e.kind,description:e.description,status:e.status,command:e.command,createdAt:e.created_at,startedAt:e.started_at,completedAt:e.completed_at,outputPreview:e.output_preview,outputBytes:e.output_bytes,subagentPhase:e.subagent_phase,subagentType:e.subagent_type,model:e.model,thinkingEffort:e.thinking_effort,parentToolCallId:e.parent_tool_call_id,suspendedReason:e.suspended_reason,swarmIndex:e.swarm_index,runInBackground:e.run_in_background??(e.kind==="subagent"?!0:void 0)}}function _r(e){return{path:e.path,name:e.name,kind:e.kind,size:e.size,modifiedAt:e.modified_at,etag:e.etag,mime:e.mime,languageId:e.language_id,isBinary:e.is_binary,isSymlinkTo:e.is_symlink_to,gitStatus:e.git_status,childCount:e.child_count}}function Ys(e,t){const n=e[t];return typeof n=="string"?n:void 0}function Ao(e,t){const n=e[t];return typeof n=="number"&&Number.isFinite(n)?n:void 0}function Xn(e,t){const n=e[t];return typeof n=="number"&&Number.isFinite(n)?n:null}function Ac(e){if(!e||typeof e!="object")return null;const t=e,n=Ys(t,"status");if(n!=="active"&&n!=="paused"&&n!=="blocked"&&n!=="complete")return null;const s=t.budget,o=s&&typeof s=="object"?s:{};return{goalId:Ys(t,"goalId")??Ys(t,"goal_id")??"goal",objective:Ys(t,"objective")??"",completionCriterion:Ys(t,"completionCriterion")??Ys(t,"completion_criterion"),status:n,turnsUsed:Ao(t,"turnsUsed")??Ao(t,"turns_used")??0,tokensUsed:Ao(t,"tokensUsed")??Ao(t,"tokens_used")??0,wallClockMs:Ao(t,"wallClockMs")??Ao(t,"wall_clock_ms")??0,terminalReason:Ys(t,"terminalReason")??Ys(t,"terminal_reason"),budget:{tokenBudget:Xn(o,"tokenBudget")??Xn(o,"token_budget"),remainingTokens:Xn(o,"remainingTokens")??Xn(o,"remaining_tokens"),turnBudget:Xn(o,"turnBudget")??Xn(o,"turn_budget"),remainingTurns:Xn(o,"remainingTurns")??Xn(o,"remaining_turns"),wallClockBudgetMs:Xn(o,"wallClockBudgetMs")??Xn(o,"wall_clock_budget_ms"),remainingWallClockMs:Xn(o,"remainingWallClockMs")??Xn(o,"remaining_wall_clock_ms"),overBudget:o.overBudget===!0||o.over_budget===!0}}}function bk(e){const t=e;switch(e.type){case"event.session.created":return{type:"sessionCreated",session:ls(t.payload.session)};case"event.session.updated":return{type:"sessionUpdated",session:ls(t.payload.session),changedFields:t.payload.changed_fields};case"event.session.deleted":return{type:"sessionDeleted",sessionId:t.session_id};case"event.session.archived":return{type:"sessionArchived",sessionId:t.session_id,workspaceId:t.payload?.workspace_id??""};case"event.workspace.created":return{type:"workspaceCreated",workspace:ii(t.payload.workspace)};case"event.workspace.updated":return{type:"workspaceUpdated",workspace:ii(t.payload.workspace)};case"event.workspace.deleted":return{type:"workspaceDeleted",workspaceId:t.payload.workspace_id,root:t.payload.root};case"event.session.work_changed":return{type:"sessionWorkChanged",sessionId:t.session_id,busy:t.payload.busy,mainTurnActive:t.payload.main_turn_active,pendingInteraction:t.payload.pending_interaction,lastTurnReason:t.payload.last_turn_reason};case"event.session.status_changed":return{type:"sessionWorkChanged",sessionId:t.session_id,busy:t.payload.status!=="idle"&&t.payload.status!=="aborted",mainTurnActive:t.payload.status!=="idle"&&t.payload.status!=="aborted",pendingInteraction:t.payload.status==="awaiting_approval"?"approval":t.payload.status==="awaiting_question"?"question":"none",lastTurnReason:t.payload.status==="aborted"?"cancelled":void 0};case"event.session.usage_updated":return{type:"sessionUsageUpdated",sessionId:t.session_id,usage:Tc(t.payload.usage)};case"event.session.history_compacted":return{type:"historyCompacted",sessionId:t.session_id,beforeSeq:t.payload.before_seq,reason:t.payload.reason,summaryMessageId:t.payload.summary_message_id};case"event.goal.updated":{const n=Ac(t.payload.snapshot??null);return{type:"goalUpdated",sessionId:t.session_id,goal:n?.status==="complete"?null:n}}case"event.message.created":return{type:"messageCreated",message:Za(t.payload.message)};case"event.message.updated":return{type:"messageUpdated",sessionId:t.session_id,messageId:t.payload.message_id,content:t.payload.content.map(Il),status:t.payload.status};case"event.assistant.delta":return{type:"assistantDelta",sessionId:t.session_id,messageId:t.payload.message_id,contentIndex:t.payload.content_index,delta:t.payload.delta};case"event.assistant.tool_use_started":case"event.assistant.tool_use_delta":case"event.assistant.tool_use_completed":case"event.assistant.completed":case"event.tool.started":return{type:"unknown",raw:{_noop:!0,_wireType:t.type}};case"event.tool.output":return{type:"toolOutput",sessionId:t.session_id,toolCallId:t.payload.tool_call_id,outputChunk:t.payload.chunk,stream:t.payload.stream};case"event.tool.progress":return typeof t.payload.message=="string"&&t.payload.message.length>0?{type:"toolOutput",sessionId:t.session_id,toolCallId:t.payload.tool_call_id,outputChunk:t.payload.message,stream:"stdout"}:{type:"unknown",raw:{_noop:!0,_wireType:t.type}};case"event.tool.completed":return{type:"unknown",raw:{_noop:!0,_wireType:t.type}};case"event.approval.requested":return{type:"approvalRequested",sessionId:t.session_id,approval:xc(t.payload)};case"event.approval.resolved":return{type:"approvalResolved",sessionId:t.session_id,approvalId:t.payload.approval_id,decision:t.payload.decision,resolvedAt:t.payload.resolved_at};case"event.approval.expired":return{type:"approvalExpired",sessionId:t.session_id,approvalId:t.payload.approval_id};case"event.question.requested":return{type:"questionRequested",sessionId:t.session_id,question:Ic(t.payload)};case"event.question.answered":return{type:"questionAnswered",sessionId:t.session_id,questionId:t.payload.question_id,resolvedAt:t.payload.resolved_at};case"event.question.dismissed":return{type:"questionDismissed",sessionId:t.session_id,questionId:t.payload.question_id,dismissedAt:t.payload.dismissed_at};case"event.task.created":return{type:"taskCreated",sessionId:t.session_id,task:Oi(t.payload.task)};case"event.task.progress":return{type:"taskProgress",sessionId:t.session_id,taskId:t.payload.task_id,outputChunk:t.payload.output_chunk,stream:t.payload.stream};case"event.task.completed":return{type:"taskCompleted",sessionId:t.session_id,taskId:t.payload.task_id,status:t.payload.status,outputPreview:t.payload.output_preview,outputBytes:t.payload.output_bytes};case"event.config.changed":return{type:"configChanged",changedFields:t.payload.changed_fields,config:Xa(t.payload.config)};case"event.model_catalog.changed":return{type:"modelCatalogChanged",changed:t.payload.changed.map(n=>({providerId:n.provider_id,providerName:n.provider_name,added:n.added,removed:n.removed})),unchanged:t.payload.unchanged,failed:t.payload.failed};case"event.plugin.changed":return{type:"pluginsChanged"};case"event.capability.changed":return{type:"capabilityChanged",capabilityId:t.payload.capability_id,install:Mk(t.payload.install)};default:return{type:"unknown",raw:e}}}function wk(e){return{id:e.model,provider:e.provider,model:e.model,displayName:e.display_name,maxContextSize:e.max_context_size,capabilities:e.capabilities,supportEfforts:e.support_efforts,defaultEffort:e.default_effort}}function $i(e){return{id:e.id,type:e.type,baseUrl:e.base_url,defaultModel:e.default_model,hasApiKey:e.has_api_key,status:e.status,models:e.models}}function Sk(e){return{id:e.id,name:e.name,maxContextSize:e.max_context_size,capabilities:e.capabilities,reasoning:e.reasoning}}function Ck(e){return{id:e.id,name:e.name,wireType:e.wire_type,guessed:e.guessed,needsBaseUrl:e.needs_base_url,rejected:e.rejected,rejectReason:e.reject_reason,envKey:e.env_key,models:e.models.map(Sk)}}function Xa(e){const t={};for(const[n,s]of Object.entries(e.providers))t[n]={type:s.type,baseUrl:s.base_url,defaultModel:s.default_model,hasApiKey:s.has_api_key};return{providers:t,defaultProvider:e.default_provider,defaultModel:e.default_model,planningModel:e.planning_model,models:e.models,thinking:e.thinking,planMode:e.plan_mode,yolo:e.yolo,defaultPermissionMode:e.default_permission_mode,defaultPlanMode:e.default_plan_mode,permission:e.permission,hooks:e.hooks,services:e.services,mergeAllAvailableSkills:e.merge_all_available_skills,extraSkillDirs:e.extra_skill_dirs,loopControl:e.loop_control,background:e.background,experimental:e.experimental,telemetry:e.telemetry,raw:e.raw}}function Mr(e){return ik(e)}function _k(e){return uk(e)}function Mk(e){return{running:e.running===!0,step:e.step,percent:typeof e.percent=="number"&&Number.isFinite(e.percent)?e.percent:void 0,error:e.error,note:e.note}}function $r(e){return ck(e)}function $k(e){return e.session_id}function Tk(e){return e.seq}const xk="main",Ik=new Set(["turn.started","turn.step.started","turn.step.completed","turn.step.retrying","turn.step.interrupted","turn.ended","thinking.delta","assistant.delta","tool.use","tool.call.started","tool.call.delta","tool.progress","tool.result","agent.status.updated","prompt.completed","prompt.aborted","error"]);function Ls(e="msg_"){const t=Date.now().toString(36).padStart(10,"0"),n=Math.random().toString(36).slice(2,12).padEnd(10,"0");return`${e}${t}${n}`}function Ak(e){if(!e||typeof e!="object")return{input:0,output:0,cacheRead:0,cacheCreate:0};const t=e;return{input:t.inputOther??t.input_tokens??0,output:t.output??t.output_tokens??0,cacheRead:t.inputCacheRead??t.cache_read_input_tokens??0,cacheCreate:t.inputCacheCreation??t.cache_creation_input_tokens??0}}function Tr(){return{turnPromptId:new Map,currentPromptId:void 0,currentAssistantMsgId:void 0,turnTextLen:0,turnThinkLen:0,toolStartTimes:new Map,totalInput:0,totalOutput:0,totalCacheRead:0,totalCacheCreate:0,contextTokens:0,contextLimit:0,turnCount:0,model:"",messages:[],subagentMeta:new Map,retryReuseMsgId:void 0}}function Bn(e,t){const n=e[t];return typeof n=="string"?n:void 0}function co(e,t){const n=e[t];return typeof n=="number"&&Number.isFinite(n)?n:void 0}function Jn(e,t){const n=e[t];return typeof n=="number"&&Number.isFinite(n)?n:null}function Pk(e){if(!e||typeof e!="object")return null;const t=e,n=t.budget,s=n&&typeof n=="object"?n:{},o=Bn(t,"status");if(o!=="active"&&o!=="paused"&&o!=="blocked"&&o!=="complete")return null;const i=Bn(t,"goalId")??Bn(t,"goal_id")??"goal",u=Bn(t,"objective")??"";return{goalId:i,objective:u,completionCriterion:Bn(t,"completionCriterion")??Bn(t,"completion_criterion"),status:o,turnsUsed:co(t,"turnsUsed")??co(t,"turns_used")??0,tokensUsed:co(t,"tokensUsed")??co(t,"tokens_used")??0,wallClockMs:co(t,"wallClockMs")??co(t,"wall_clock_ms")??0,terminalReason:Bn(t,"terminalReason")??Bn(t,"terminal_reason"),budget:{tokenBudget:Jn(s,"tokenBudget")??Jn(s,"token_budget"),remainingTokens:Jn(s,"remainingTokens")??Jn(s,"remaining_tokens"),turnBudget:Jn(s,"turnBudget")??Jn(s,"turn_budget"),remainingTurns:Jn(s,"remainingTurns")??Jn(s,"remaining_turns"),wallClockBudgetMs:Jn(s,"wallClockBudgetMs")??Jn(s,"wall_clock_budget_ms"),remainingWallClockMs:Jn(s,"remainingWallClockMs")??Jn(s,"remaining_wall_clock_ms"),overBudget:s.overBudget===!0||s.over_budget===!0}}}function vo(e,t,n,s){if(typeof n!="string"||n.length===0)return null;const i={...e.subagentMeta.get(n)??{id:n,sessionId:t,kind:"subagent",description:"Sub Agent",status:"running",createdAt:new Date().toISOString(),subagentPhase:"queued"},...s,id:n,sessionId:t,kind:"subagent"};return e.subagentMeta.set(n,i),i}function Ek(e,t){if(e==="turn.step.started")return null;if(e==="tool.use"||e==="tool.call.started"){const n=Bn(t,"name")??Bn(t,"toolName")??"tool",s=ao(Bk(n)),o=Lk(n,t.args??t.input);return o?`Calling ${s}: ${o}`:`Calling ${s}`}if(e==="tool.progress"){const n=t.update;if(n&&typeof n=="object"){const o=Bn(n,"text");if(o)return Ca(o);const i=Bn(n,"message");if(i)return Ca(i)}const s=Bn(t,"message");if(s)return Ca(s)}return null}function Bk(e){return e.replace(/_\d+$/,"")}const xr=2e3;function Ca(e){return e.length>xr?`${e.slice(0,xr)}…`:e}function Lk(e,t){if(t==null)return"";const n=typeof t=="string"?t:JSON.stringify(t);return Co(e,n)}function Rk(e,t,n,s,o,i){if(i.has(n)&&s==="turn.step.started")return[];if(s==="assistant.delta"){const k=Bn(o,"delta");if(!k)return[];const T=e.subagentMeta.get(n),h=vo(e,t,n,{status:"running",subagentPhase:"working",startedAt:T?.startedAt??new Date().toISOString()}),m=[];return h&&m.push({type:"taskCreated",sessionId:t,task:h}),m.push({type:"taskProgress",sessionId:t,taskId:n,outputChunk:k,stream:"stdout",kind:"text"}),m}const u=Ek(s,o);if(u===null||u.length===0)return[];const p=e.subagentMeta.get(n),f=vo(e,t,n,{status:"running",subagentPhase:"working",startedAt:p?.startedAt??new Date().toISOString()}),v=[];return f&&v.push({type:"taskCreated",sessionId:t,task:f}),v.push({type:"taskProgress",sessionId:t,taskId:n,outputChunk:u,stream:"stdout"}),v}function Qo(e){return{...e,content:e.content.map(t=>({...t}))}}function Ir(e,t,n){const s={id:Ls("msg_"),sessionId:t,role:"assistant",content:[],createdAt:new Date().toISOString(),promptId:n};return e.messages.push(s),s}function Dk(e,t,n,s,o,i){const u={id:s,sessionId:t,role:"user",content:o,createdAt:i,promptId:n};return e.messages.push(u),u}function Ok(e){return Array.isArray(e)?e.map(t=>Il(t)):[]}function Ar(e,t,n,s){const o=e.messages.find(u=>u.id===t);if(!o)return-1;const i=o.content.at(-1);return i&&i.type===n?(n==="text"?i.text+=s:i.thinking+=s,o.content.length-1):(o.content.push(n==="text"?{type:"text",text:s}:{type:"thinking",thinking:s}),o.content.length-1)}function zk(e,t,n,s,o,i){const u=e.messages.find(p=>p.id===t);u&&u.content.push({type:"toolUse",toolCallId:n,toolName:s,input:o,outputLines:i})}function Fk(e){const t=e.update,n=t&&typeof t=="object"?t:null,o=(n?.stream??n?.kind??e.stream)==="stderr"?"stderr":"stdout",i=typeof n?.text=="string"&&n.text||typeof n?.message=="string"&&n.message||typeof e.chunk=="string"&&e.chunk||typeof e.output=="string"&&e.output||typeof e.message=="string"&&e.message||"";return i.length>0?{outputChunk:i,stream:o}:null}function Pr(e,t){e.messages.find(n=>n.id===t)}function Nk(e,t,n,s,o,i){const u={id:Ls("msg_"),sessionId:t,role:"tool",content:[{type:"toolResult",toolCallId:n,output:s,isError:o}],createdAt:new Date().toISOString(),promptId:i};return e.messages.push(u),u}function Yo(e,t){return e.messages.find(n=>n.id===t)}function Er(e){return{inputTokens:e.totalInput,outputTokens:e.totalOutput,cacheReadTokens:e.totalCacheRead,cacheCreationTokens:e.totalCacheCreate,totalCostUsd:0,contextTokens:e.contextTokens,contextLimit:e.contextLimit,turnCount:e.turnCount}}function Wk(){const e=new Map,t=new Set;function n(T){let h=e.get(T);return h||(h=Tr(),e.set(T,h)),h}function s(T){e.set(T,Tr())}function o(T){e.delete(T)}function i(T){t.add(T)}function u(T,h){const m=n(T);m.currentPromptId=h}function p(T,h){s(T);const m=n(T),$=h.promptId??Ls("pr_");m.currentPromptId=$,m.turnPromptId.set(h.turnId,$);const g=Ir(m,T,$);h.thinkingText.length>0&&g.content.push({type:"thinking",thinking:h.thinkingText}),h.assistantText.length>0&&g.content.push({type:"text",text:h.assistantText});for(const y of h.runningTools){const S=typeof y.lastProgress?.text=="string"&&y.lastProgress.text.length>0?[y.lastProgress.text]:void 0;g.content.push({type:"toolUse",toolCallId:y.toolCallId,toolName:y.name,input:y.args??{},outputLines:S}),m.toolStartTimes.set(y.toolCallId,Date.now())}return m.currentAssistantMsgId=g.id,m.turnTextLen=h.assistantText.length,m.turnThinkLen=h.thinkingText.length,[{type:"messageCreated",message:Qo(g)}]}function f(T,h,m,$){try{return k(T,h,m,$)}catch(g){return console.error("[agentProjector] Error projecting event:",T,g instanceof Error?g.message:g),[]}}function v(T,h){return h===void 0?"append":hT?"gap":"append"}function k(T,h,m,$){const g=n(m),y=h,S=[],B=y?.agentId;if(typeof B=="string"&&B!==xk){const b=t.has(B);if(b&&(T==="thinking.delta"||T==="assistant.delta")){const P=y?.delta??"";return P?[{type:"agentDelta",sessionId:m,agentId:B,delta:{[T==="thinking.delta"?"thinking":"text"]:P}}]:[]}if(b&&T==="turn.ended")return[{type:"agentTurnEnded",sessionId:m,agentId:B,reason:y?.reason}];if(Ik.has(T))return Rk(g,m,B,T,y??{},t)}switch(T){case"session.meta.updated":{const b=y?.patch?.title??y?.title,P=y?.patch?.lastPrompt,E={};typeof b=="string"&&b.length>0&&(E.title=b),typeof P=="string"&&(E.lastPrompt=P),(E.title!==void 0||E.lastPrompt!==void 0)&&S.push({type:"sessionMetaUpdated",sessionId:m,...E});break}case"prompt.submitted":{const b=y?.promptId,P=y?.userMessageId;if(!b||!P)break;const E=Ok(y?.content);if(E.length===0)break;g.currentPromptId=b;const L=Dk(g,m,b,P,E,typeof y?.createdAt=="string"?y.createdAt:new Date().toISOString());S.push({type:"messageCreated",message:Qo(L)});break}case"turn.started":{const b=y?.turnId,P=g.currentPromptId??Ls("pr_");g.currentPromptId=P,b!==void 0&&g.turnPromptId.set(b,P),g.turnTextLen=0,g.turnThinkLen=0,S.push({type:"turnActiveChanged",sessionId:m,active:!0});break}case"turn.step.started":{const b=y?.turnId;let P=g.turnPromptId.get(b)??g.currentPromptId;if(P||(P=Ls("pr_"),g.currentPromptId=P,b!==void 0&&g.turnPromptId.set(b,P)),g.turnTextLen=0,g.turnThinkLen=0,g.retryReuseMsgId!==void 0){const L=g.retryReuseMsgId;if(g.retryReuseMsgId=void 0,Yo(g,L)!==void 0){g.currentAssistantMsgId=L;break}}const E=Ir(g,m,P);g.currentAssistantMsgId=E.id,S.push({type:"messageCreated",message:Qo(E)});break}case"thinking.delta":{const b=g.currentAssistantMsgId;if(!b)break;const P=y?.delta??"";if(!P)break;$?.offset===0&&g.turnThinkLen>0&&(g.turnThinkLen=0);const E=v(g.turnThinkLen,$?.offset);if(E==="skip")break;if(E==="gap"){S.push({type:"historyCompacted",sessionId:m,beforeSeq:0,reason:"delta_gap"});break}const L=Ar(g,b,"thinking",P);if(L<0)break;g.turnThinkLen+=P.length,S.push({type:"assistantDelta",sessionId:m,messageId:b,contentIndex:L,delta:{thinking:P}});break}case"assistant.delta":{const b=g.currentAssistantMsgId;if(!b)break;const P=y?.delta??"";if(!P)break;$?.offset===0&&g.turnTextLen>0&&(g.turnTextLen=0);const E=v(g.turnTextLen,$?.offset);if(E==="skip")break;if(E==="gap"){S.push({type:"historyCompacted",sessionId:m,beforeSeq:0,reason:"delta_gap"});break}const L=Ar(g,b,"text",P);if(L<0)break;g.turnTextLen+=P.length,S.push({type:"assistantDelta",sessionId:m,messageId:b,contentIndex:L,delta:{text:P}});break}case"tool.use":case"tool.call.started":{const b=g.currentAssistantMsgId,P=y?.turnId,E=g.turnPromptId.get(P)??g.currentPromptId;if(!b||!E)break;const L=y?.toolCallId,N=y?.name??y?.toolName??"",Q=y?.args??y?.input??{};zk(g,b,L,N,Q);const V=Yo(g,b);V&&V.content.length-1,g.toolStartTimes.set(L,Date.now()),V&&S.push({type:"messageUpdated",sessionId:m,messageId:b,content:V.content.map(_=>({..._})),status:"pending"});break}case"tool.call.delta":break;case"tool.progress":{const b=y?.toolCallId,P=Fk(y??{});b&&P&&S.push({type:"toolOutput",sessionId:m,toolCallId:b,outputChunk:P.outputChunk,stream:P.stream});break}case"tool.result":{const b=y?.turnId;let P=g.turnPromptId.get(b)??g.currentPromptId;P||(P=Ls("pr_"),g.currentPromptId=P,b!==void 0&&g.turnPromptId.set(b,P));const E=y?.toolCallId,L=y?.output,N=y?.isError??!1;g.toolStartTimes.get(E)??Date.now(),g.toolStartTimes.delete(E);const Q=Nk(g,m,E,L,N,P);S.push({type:"messageCreated",message:Qo(Q)}),g.currentAssistantMsgId=void 0;break}case"turn.step.completed":{const b=g.currentAssistantMsgId,P=Ak(y?.usage);if(g.totalInput+=P.input,g.totalOutput+=P.output,g.totalCacheRead+=P.cacheRead,g.totalCacheCreate+=P.cacheCreate,b){Pr(g,b);const E=Yo(g,b);E&&S.push({type:"messageUpdated",sessionId:m,messageId:b,content:E.content.map(L=>({...L})),status:"completed"})}break}case"agent.status.updated":{y?.model&&(g.model=y.model),y?.contextTokens!==void 0&&(g.contextTokens=y.contextTokens),y?.maxContextTokens!==void 0&&(g.contextLimit=y.maxContextTokens),S.push({type:"sessionUsageUpdated",sessionId:m,usage:Er(g),model:g.model||void 0,swarmMode:y?.swarmMode===!0?!0:y?.swarmMode===!1?!1:void 0,planMode:y?.planMode===!0?!0:y?.planMode===!1?!1:void 0,supermoonMode:y?.supermoonMode===!0?!0:y?.supermoonMode===!1?!1:void 0,thinking:typeof y?.thinkingEffort=="string"&&y.thinkingEffort.length>0?y.thinkingEffort:void 0});break}case"turn.ended":{const b=g.currentAssistantMsgId,P=y?.reason??"completed",E=co(y??{},"durationMs");if(S.push({type:"turnActiveChanged",sessionId:m,active:!1,reason:y?.reason}),b){Pr(g,b);const Q=Yo(g,b);Q&&S.push({type:"messageUpdated",sessionId:m,messageId:b,content:Q.content.map(V=>({...V})),status:P==="failed"||P==="blocked"?"error":"completed",durationMs:E})}g.turnCount++;const L=Er(g);S.push({type:"sessionUsageUpdated",sessionId:m,usage:L});const N=y?.error;if(P==="failed"&&N!==void 0&&typeof N.message=="string"&&N.message.length>0){const Q=typeof y?.turnId=="number"?y.turnId:void 0,V=(Q!==void 0?g.turnPromptId.get(Q):void 0)??g.currentPromptId;S.push({type:"messageCreated",message:{id:`turnerror_${m}_${Q??"unknown"}`,sessionId:m,role:"assistant",content:[{type:"text",text:N.message}],createdAt:new Date().toISOString(),promptId:V,metadata:{[Sc]:{code:typeof N.code=="string"?N.code:void 0,message:N.message}}}})}g.currentAssistantMsgId=void 0,g.currentPromptId=void 0,g.turnTextLen=0,g.turnThinkLen=0,g.retryReuseMsgId=void 0;break}case"prompt.completed":{const b=y?.promptId;typeof b=="string"&&b.length>0&&S.push({type:"promptCompleted",sessionId:m,promptId:b,reason:y?.reason??"completed"});break}case"prompt.aborted":{const b=y?.promptId;typeof b=="string"&&b.length>0&&S.push({type:"promptAborted",sessionId:m,promptId:b});break}case"turn.step.retrying":{const b=g.currentAssistantMsgId;if(b!==void 0){const P=Yo(g,b);P!==void 0&&(P.content=P.content.filter(E=>E.type!=="text"&&E.type!=="thinking"&&E.type!=="toolUse"),S.push({type:"messageUpdated",sessionId:m,messageId:b,content:P.content.map(E=>({...E})),status:"pending"}),g.retryReuseMsgId=b)}g.turnTextLen=0,g.turnThinkLen=0,g.toolStartTimes.clear();break}case"turn.step.interrupted":{g.currentAssistantMsgId=void 0,g.retryReuseMsgId=void 0;break}case"subagent.spawned":{const P={id:typeof y?.subagentId=="string"&&y.subagentId.length>0?y.subagentId:Ls("task_"),sessionId:m,kind:"subagent",description:typeof y?.description=="string"?y.description:y?.subagentName??"Sub Agent",status:"running",createdAt:new Date().toISOString(),subagentPhase:"queued",subagentType:typeof y?.subagentName=="string"?y.subagentName:void 0,parentToolCallId:typeof y?.parentToolCallId=="string"?y.parentToolCallId:void 0,swarmIndex:typeof y?.swarmIndex=="number"?y.swarmIndex:void 0,runInBackground:y?.runInBackground===!0,backgroundTaskId:typeof y?.taskId=="string"&&y.taskId.length>0?y.taskId:void 0};g.subagentMeta.set(P.id,P),S.push({type:"taskCreated",sessionId:m,task:P});break}case"subagent.started":{const b=vo(g,m,y?.subagentId,{subagentPhase:"working",status:"running",startedAt:new Date().toISOString()});b&&S.push({type:"taskCreated",sessionId:m,task:b});break}case"subagent.suspended":{const b=vo(g,m,y?.subagentId,{subagentPhase:"suspended",status:"running",suspendedReason:typeof y?.reason=="string"?y.reason:void 0});b&&S.push({type:"taskCreated",sessionId:m,task:b});break}case"subagent.completed":{const b=typeof y?.resultSummary=="string"?y.resultSummary:void 0,P=vo(g,m,y?.subagentId,{subagentPhase:"completed",status:"completed",completedAt:new Date().toISOString(),outputPreview:b});P&&S.push({type:"taskCreated",sessionId:m,task:P}),S.push({type:"taskCompleted",sessionId:m,taskId:y?.subagentId??"",status:"completed",outputPreview:b});break}case"subagent.failed":{const b=typeof y?.error=="string"?y.error:void 0,P=vo(g,m,y?.subagentId,{subagentPhase:"failed",status:"failed",completedAt:new Date().toISOString(),outputPreview:b});P&&S.push({type:"taskCreated",sessionId:m,task:P}),S.push({type:"taskCompleted",sessionId:m,taskId:y?.subagentId??"",status:"failed",outputPreview:b});break}case"error":{S.push({type:"unknown",raw:{_agentError:!0,code:y?.code,message:y?.message,name:y?.name,details:y?.details,retryable:y?.retryable}});break}case"warning":{S.push({type:"unknown",raw:{_agentWarning:!0,message:y?.message}});break}case"task.started":{const b=y?.info??{},P=typeof b.startedAt=="number"?new Date(b.startedAt).toISOString():void 0,E=typeof b.taskId=="string"?b.taskId:typeof b.taskId=="number"?String(b.taskId):Ls("task_"),L=typeof b.description=="string"?b.description:typeof b.command=="string"?b.command:wt.global.t("tasks.defaultDescription");if(b.kind==="agent"){const Q=typeof b.agentId=="string"&&b.agentId.length>0?b.agentId:void 0;if(Q!==void 0){const V=vo(g,m,Q,{description:L,backgroundTaskId:E,runInBackground:!0});V&&S.push({type:"taskCreated",sessionId:m,task:V})}else S.push({type:"taskCreated",sessionId:m,task:{id:E,sessionId:m,kind:"subagent",description:L,status:"running",createdAt:P??new Date().toISOString(),startedAt:P,subagentPhase:"queued",runInBackground:!0}});break}const N=typeof b.command=="string"?b.command:void 0;S.push({type:"taskCreated",sessionId:m,task:{id:E,sessionId:m,kind:"bash",description:L,command:N,status:"running",createdAt:P??new Date().toISOString(),startedAt:P,outputPreview:N!==void 0?`$ ${N}`:void 0}});break}case"task.terminated":{const b=y?.info??{},P=b.status==="failed"||typeof b.exitCode=="number"&&b.exitCode!==0;S.push({type:"taskCompleted",sessionId:m,taskId:typeof b.taskId=="string"?b.taskId:typeof b.taskId=="number"?String(b.taskId):"",status:P?"failed":"completed"});break}case"compaction.completed":{const b=y?.result??{};S.push({type:"compactionCompleted",sessionId:m,tokensBefore:typeof b.tokensBefore=="number"?b.tokensBefore:void 0,tokensAfter:typeof b.tokensAfter=="number"?b.tokensAfter:void 0,summary:typeof b.summary=="string"?b.summary:void 0}),S.push({type:"historyCompacted",sessionId:m,beforeSeq:0,reason:"auto_compact"});break}case"compaction.started":{S.push({type:"compactionStarted",sessionId:m,trigger:y?.trigger==="manual"?"manual":"auto",instruction:typeof y?.instruction=="string"?y.instruction:void 0});break}case"compaction.cancelled":{S.push({type:"compactionCancelled",sessionId:m});break}case"goal.updated":{const b=Pk(y?.snapshot??null);S.push({type:"goalUpdated",sessionId:m,goal:b?.status==="complete"?null:b});break}case"cron.fired":{const b=y?.origin,P=Bn(y??{},"prompt");if(b&&typeof b=="object"&&b.kind==="cron_job"&&P){const E={id:Ls("cron_"),sessionId:m,role:"user",content:[{type:"text",text:P}],createdAt:new Date().toISOString(),metadata:{origin:b}};g.messages.push(E),S.push({type:"messageCreated",message:Qo(E)})}break}}return S}return{project:f,bindNextPromptId:u,seedInFlight:p,reset:s,disposeSession:o,markSideChannelAgent:i}}const qk=new Set(["server_hello","ack","ping","resync_required","error","pong"]),Br=new Set(["turn.started","turn.step.started","turn.step.completed","turn.step.retrying","turn.step.interrupted","turn.ended","thinking.delta","assistant.delta","tool.call.started","tool.use","tool.call.delta","tool.progress","tool.result","agent.status.updated","prompt.submitted","prompt.completed","prompt.aborted","session.meta.updated","compaction.started","compaction.completed","compaction.cancelled","goal.updated","error","warning","subagent.spawned","subagent.started","subagent.suspended","subagent.completed","subagent.failed","task.started","task.terminated","background.task.started","background.task.terminated","cron.fired"]),Hk=new Set(["session.created","session.updated","session.deleted","session.status_changed","session.usage_updated","session.history_compacted","message.created","message.updated","approval.requested","approval.resolved","approval.expired","question.requested","question.answered","question.dismissed","task.created","task.progress","task.completed","assistant.tool_use_started","assistant.tool_use_delta","assistant.tool_use_completed","assistant.completed","tool.started","tool.output","tool.completed","plugin.changed","capability.changed"]),Uk=new Set(["assistant.delta","thinking.delta"]);function Vk(e,t){if(qk.has(e))return{route:"ignore"};const n=e.startsWith("event."),s=n?e.slice(6):e;return Uk.has(s)?jk(t)?{route:"agent",agentType:s}:{route:"protocol"}:n?Hk.has(s)?{route:"protocol"}:Br.has(s)?{route:"agent",agentType:s}:{route:"protocol"}:Br.has(s)?{route:"agent",agentType:s}:{route:"agent",agentType:s}}function jk(e){if(!e||typeof e!="object")return!1;const t=e;return"message_id"in t||"content_index"in t?!1:typeof t.delta=="string"}class ni extends Error{code;requestId;details;timestamp;durationMs;constructor(t){super(t.msg),this.name="DaemonApiError",this.code=t.code,this.requestId=t.requestId,this.details=t.details,this.timestamp=t.timestamp,this.durationMs=t.durationMs}}class Ps extends Error{cause;method;path;url;requestId;phase;timeoutMs;status;statusText;contentType;bodyPreview;timestamp;durationMs;constructor(t){super(t.message),this.name="DaemonNetworkError",this.cause=t.cause,this.method=t.method,this.path=t.path,this.url=t.url,this.requestId=t.requestId,this.phase=t.phase,this.timeoutMs=t.timeoutMs,this.status=t.status,this.statusText=t.statusText,this.contentType=t.contentType,this.bodyPreview=t.bodyPreview,this.timestamp=t.timestamp,this.durationMs=t.durationMs}}function Rn(e){return e instanceof ni||typeof e=="object"&&e!==null&&e.name==="DaemonApiError"&&typeof e.code=="number"}function Al(e){return e instanceof Ps||typeof e=="object"&&e!==null&&e.name==="DaemonNetworkError"&&typeof e.method=="string"&&typeof e.path=="string"}const bn="kimi-web.server-credential",Kk="token",Gk=10080*60*1e3;let zs;const Ja=new Set;function Qk(){if(typeof window>"u")return;const e=window.location.hash??"";if(!e.startsWith("#"))return;const n=new URLSearchParams(e.slice(1)).get(Kk);if(!n)return;const s=new URL(window.location.href);return s.hash="",window.history.replaceState(window.history.state,"",`${s.pathname}${s.search}`),n}function el(e){return{version:1,credential:e,expiresAt:Date.now()+Gk}}function Yk(e){return JSON.stringify(e)}function Pl(e){try{const t=JSON.parse(e);if(typeof t!="object"||t===null)return;const n=t;return n.version!==1||typeof n.credential!="string"||n.credential.length===0||typeof n.expiresAt!="number"||!Number.isFinite(n.expiresAt)?void 0:{version:1,credential:n.credential,expiresAt:n.expiresAt}}catch{return}}function tl(e){globalThis.localStorage?.setItem(bn,Yk(e))}function Zk(){try{const e=globalThis.localStorage?.getItem(bn);if(e){const n=Pl(e);if(n===void 0){const s=el(e);let o=!1;try{tl(s),o=!0}catch{}if(!o)try{globalThis.localStorage?.getItem(bn)===e&&globalThis.localStorage?.removeItem(bn),o=!0}catch{}try{globalThis.sessionStorage?.removeItem(bn)}catch{}return o?s:void 0}if(n.expiresAt>Date.now())return n;globalThis.sessionStorage?.removeItem(bn),globalThis.localStorage?.getItem(bn)===e&&globalThis.localStorage?.removeItem(bn);return}const t=globalThis.sessionStorage?.getItem(bn);if(t){const n=el(t);let s=!1;try{tl(n),s=!0}catch{}try{globalThis.sessionStorage?.removeItem(bn),s=!0}catch{}return s?n:void 0}return}catch{return}}function Xk(){if(zs=Zk(),fi()!==void 0)return!0;const e=Qk();return e?(Pc(e),!0):!1}function fi(){if(zs!==void 0){if(zs.expiresAt<=Date.now()){Jk(zs);return}return zs.credential}}function Jk(e){zs=void 0;try{globalThis.sessionStorage?.removeItem(bn);const t=globalThis.localStorage?.getItem(bn),n=t==null?void 0:Pl(t);(n===void 0?t===e.credential:n.credential===e.credential&&n.expiresAt===e.expiresAt)&&globalThis.localStorage?.removeItem(bn)}catch{}}function Pc(e){const t=el(e);zs=t;try{tl(t)}catch{}try{globalThis.sessionStorage?.removeItem(bn)}catch{}}function eb(){const e=zs;zs=void 0;try{const t=globalThis.localStorage?.getItem(bn),s=(t==null?void 0:Pl(t))?.credential??t;e!==void 0&&s===e.credential&&globalThis.localStorage?.removeItem(bn),globalThis.sessionStorage?.removeItem(bn)}catch{}}function tb(e){return Ja.add(e),()=>{Ja.delete(e)}}function nb(){eb();for(const e of Ja)try{e()}catch{}}const si=3e4,Ti=5*6e4,sb=5*6e4,Ec="0123456789ABCDEFGHJKMNPQRSTVWXYZ",Lr=500,Bc=40101;function xi(e=si){try{return AbortSignal.timeout(e)}catch{return}}function ob(e,t){let n="",s=e;for(let o=0;oEc[n%32]).join("")}function Ii(){return`${ob(Date.now(),10)}${ib(16)}`}function ab(e){try{const t=[];return e.forEach((n,s)=>{typeof n=="string"?t.push({field:s,value:n}):t.push({field:s,file:n.name,size:n.size,type:n.type})}),{formData:t}}catch{return"[FormData]"}}async function _a(e){try{const t=await e.text();return t?t.length>Lr?`${t.slice(0,Lr)}...`:t:void 0}catch{return}}class lb{constructor(t,n){this.origin=t,this.identity=n}async get(t,n){return this.request("GET",t,void 0,n)}async getBlob(t){const n=ho(this.origin,t),s=Ii(),o={"X-Request-Id":s};this.addClientHeaders(o);const i=Date.now();_i({method:"GET",path:t,url:n,requestId:s});let u;try{u=await fetch(n,{method:"GET",headers:o,signal:xi()})}catch(f){throw Gs({method:"GET",path:t,requestId:s,phase:"fetch",durationMs:Date.now()-i,error:f}),new Ps({message:`Network error calling GET ${t}`,cause:f,method:"GET",path:t,url:n,requestId:s,phase:"fetch",timeoutMs:si,timestamp:Date.now(),durationMs:Date.now()-i})}if(u.ok)return Io({method:"GET",path:t,requestId:s,status:u.status,durationMs:Date.now()-i,code:0,msg:""}),u.blob();let p;try{p=await u.clone().json()}catch{}throw this.checkAuthRequired(u,p?.code??0),Io({method:"GET",path:t,requestId:s,status:u.status,durationMs:Date.now()-i,code:p?.code??u.status,msg:p?.msg??u.statusText,envelopeRequestId:p?.request_id}),new ni({code:p?.code??u.status,msg:p?.msg??u.statusText,requestId:p?.request_id??s,details:p?.details,timestamp:Date.now(),durationMs:Date.now()-i})}async post(t,n,s){return this.request("POST",t,n,void 0,s?.allowCodes,s?.timeoutMs)}async postZip(t,n,s){const o="POST",i=ho(this.origin,t),u=Ii(),p={"X-Request-Id":u,"Content-Type":"application/json; charset=utf-8"};this.addClientHeaders(p);const f=Date.now();_i({method:o,path:t,url:i,requestId:u,body:s});let v;try{v=await fetch(i,{method:o,headers:p,body:JSON.stringify(n),signal:xi(Ti)})}catch(m){throw Gs({method:o,path:t,requestId:u,phase:"fetch",durationMs:Date.now()-f,error:m}),new Ps({message:`Network error calling ${o} ${t}`,cause:m,method:o,path:t,url:i,requestId:u,phase:"fetch",timeoutMs:Ti,timestamp:Date.now(),durationMs:Date.now()-f})}const k=v.headers.get("content-type")??void 0,T=k?.split(";",1)[0]?.trim().toLowerCase();if(!v.ok||T!=="application/zip"){let m;try{m=await v.clone().json()}catch{}if(this.checkAuthRequired(v,m?.code??0),!v.ok||m!==void 0&&m.code!==0){const y=m?.code??v.status,S=m?.msg??v.statusText;throw Io({method:o,path:t,requestId:u,status:v.status,durationMs:Date.now()-f,code:y,msg:S,envelopeRequestId:m?.request_id}),new ni({code:y,msg:S,requestId:m?.request_id??u,details:m?.details,timestamp:Date.now(),durationMs:Date.now()-f})}const $=v.clone(),g=new TypeError(`Expected application/zip, received ${k??"no content type"}`);throw Gs({method:o,path:t,requestId:u,phase:"parse",durationMs:Date.now()-f,status:v.status,error:g}),new Ps({message:`Invalid ZIP response from ${o} ${t}`,cause:g,method:o,path:t,url:i,requestId:u,phase:"parse",timeoutMs:Ti,status:v.status,statusText:v.statusText,contentType:k,bodyPreview:await _a($),timestamp:Date.now(),durationMs:Date.now()-f})}let h;try{h=await v.blob()}catch(m){throw Gs({method:o,path:t,requestId:u,phase:"parse",durationMs:Date.now()-f,status:v.status,error:m}),new Ps({message:`Failed to read ZIP response from ${o} ${t}`,cause:m,method:o,path:t,url:i,requestId:u,phase:"parse",timeoutMs:Ti,status:v.status,statusText:v.statusText,contentType:k,timestamp:Date.now(),durationMs:Date.now()-f})}return Io({method:o,path:t,requestId:u,status:v.status,durationMs:Date.now()-f,code:0,msg:""}),{blob:h,contentDisposition:v.headers.get("content-disposition")??void 0}}async postForm(t,n){const s=ho(this.origin,t),o=Ii(),i={"X-Request-Id":o};this.addClientHeaders(i);const u=Date.now();_i({method:"POST",path:t,url:s,requestId:o,body:ab(n)});let p;try{p=await fetch(s,{method:"POST",headers:i,body:n,signal:xi()})}catch(k){throw Gs({method:"POST",path:t,requestId:o,phase:"fetch",durationMs:Date.now()-u,error:k}),new Ps({message:`Network error calling POST ${t}`,cause:k,method:"POST",path:t,url:s,requestId:o,phase:"fetch",timeoutMs:si,timestamp:Date.now(),durationMs:Date.now()-u})}let f;const v=p.clone();try{f=await p.json()}catch(k){throw Gs({method:"POST",path:t,requestId:o,phase:"parse",durationMs:Date.now()-u,status:p.status,error:k}),new Ps({message:`Failed to parse JSON response from POST ${t}`,cause:k,method:"POST",path:t,url:s,requestId:o,phase:"parse",timeoutMs:si,status:p.status,statusText:p.statusText,contentType:p.headers.get("content-type")??void 0,bodyPreview:await _a(v),timestamp:Date.now(),durationMs:Date.now()-u})}if(Io({method:"POST",path:t,requestId:o,status:p.status,durationMs:Date.now()-u,code:f.code,msg:f.msg,envelopeRequestId:f.request_id,data:f.data}),this.checkAuthRequired(p,f.code),f.code!==0)throw new ni({code:f.code,msg:f.msg,requestId:f.request_id,details:f.details,timestamp:Date.now(),durationMs:Date.now()-u});return f.data}async patch(t,n){return this.request("PATCH",t,n)}async delete(t){return this.request("DELETE",t)}async request(t,n,s,o,i=[],u){let p=ho(this.origin,n);if(o){const g=new URLSearchParams;for(const[S,B]of Object.entries(o))B!==void 0&&g.set(S,String(B));const y=g.toString();y&&(p=`${p}?${y}`)}const f=Ii(),v={"X-Request-Id":f};this.addClientHeaders(v),s!==void 0&&(v["Content-Type"]="application/json; charset=utf-8");const k=Date.now();_i({method:t,path:n,url:p,requestId:f,body:s});const T=u??si;let h;try{h=await fetch(p,{method:t,headers:v,body:s!==void 0?JSON.stringify(s):void 0,signal:xi(T)})}catch(g){throw Gs({method:t,path:n,requestId:f,phase:"fetch",durationMs:Date.now()-k,error:g}),new Ps({message:`Network error calling ${t} ${n}`,cause:g,method:t,path:n,url:p,requestId:f,phase:"fetch",timeoutMs:T,timestamp:Date.now(),durationMs:Date.now()-k})}let m;const $=h.clone();try{m=await h.json()}catch(g){throw Gs({method:t,path:n,requestId:f,phase:"parse",durationMs:Date.now()-k,status:h.status,error:g}),new Ps({message:`Failed to parse JSON response from ${t} ${n}`,cause:g,method:t,path:n,url:p,requestId:f,phase:"parse",timeoutMs:T,status:h.status,statusText:h.statusText,contentType:h.headers.get("content-type")??void 0,bodyPreview:await _a($),timestamp:Date.now(),durationMs:Date.now()-k})}if(Io({method:t,path:n,requestId:f,status:h.status,durationMs:Date.now()-k,code:m.code,msg:m.msg,envelopeRequestId:m.request_id,data:m.data}),this.checkAuthRequired(h,m.code),m.code!==0&&!i.includes(m.code))throw new ni({code:m.code,msg:m.msg,requestId:m.request_id,details:m.details,timestamp:Date.now(),durationMs:Date.now()-k});return m.data}addClientHeaders(t){const n=fi();n!==void 0&&(t.Authorization=`Bearer ${n}`),this.identity!==void 0&&(t["X-Kimi-Client-Id"]=this.identity.clientId,t["X-Kimi-Client-Name"]=this.identity.clientName,t["X-Kimi-Client-Version"]=this.identity.clientVersion,t["X-Kimi-Client-Ui-Mode"]=this.identity.clientUiMode)}checkAuthRequired(t,n){(t.status===401||n===Bc)&&nb()}}function rb(e){const t={catalog_id:e.catalogId};return e.localId!==void 0&&(t.id=e.localId),e.baseUrl!==void 0&&(t.base_url=e.baseUrl),e.apiKey!==void 0&&(t.api_key=e.apiKey),t}function ub(e){const t={url:e.url};return e.apiKey!==void 0&&(t.api_key=e.apiKey),t}function Rr(e){return{id:e.id,name:e.name,wireType:e.wireType,modelCount:e.models.length,needsBaseUrl:e.needsBaseUrl,envKey:e.envKey,rejected:e.rejected,rejectReason:e.rejectReason}}function cb(e,t){const n=t.trim().toLowerCase();return!!(n===""||e.name.toLowerCase().includes(n)||e.id.toLowerCase().includes(n)||e.wireType!==null&&e.wireType.toLowerCase().includes(n))}function db(e,t){return e.filter(n=>cb(n,t))}function pb(e){if(!(!e||e.length===0))return e.map(t=>({file_id:t.fileId,name:t.name,media_type:t.mediaType,size:t.size}))}function fb(e,t){return{type:"subscribe_v2",id:t,payload:{session_id:e.sessionId,transcript:e.grades,transcript_since:e.sinceSeq??void 0}}}function mb(e,t,n){return{type:"unsubscribe_v2",id:t,payload:{session_id:e,...n?{agent_ids:n}:{}}}}class vb{byKey=new Map;get(t,n){return this.byKey.get(`${t}:${n}`)??0}set(t,n,s){this.byKey.set(`${t}:${n}`,s)}clear(t){for(const n of this.byKey.keys())n.startsWith(`${t}:`)&&this.byKey.delete(n)}advance(t,n,s){const o=`${t}:${n}`,i=this.byKey.get(o)??0;return i===0||s===i+1?(this.byKey.set(o,s),!1):!0}}async function gb(e){const t=new URLSearchParams({agent_id:e.agentId,since_seq:String(e.sinceSeq)}),n={};e.token!==void 0&&e.token!==""&&(n.authorization=`Bearer ${e.token}`);const i=await(await(e.fetchImpl??fetch)(`${e.baseUrl}/api/v1/sessions/${encodeURIComponent(e.sessionId)}/transcript/ops?${t.toString()}`,{headers:n})).json();if(i.code!==0)throw new Error(`transcript ops failed (${String(i.code)}): ${String(i.msg??"")}`);const u=i.data;if(!u||typeof u.agent_id!="string"||!Array.isArray(u.batches)||typeof u.latest_seq!="number"||typeof u.complete!="boolean")throw new Error("transcript ops: unexpected response shape");const p=u.batches.flatMap(f=>{const v=f;return!v||typeof v.seq!="number"||!Array.isArray(v.ops)?[]:[{seq:v.seq,ops:v.ops}]});return{agentId:u.agent_id,batches:p,latestSeq:u.latest_seq,complete:u.complete}}function hb(e){let t=new Map;function n(h){const m=t.get(h);if(m!==void 0)return m;const $=yb();return t.set(h,$),$}function s(h){if(!Array.isArray(h))return[];const m=[];for(const $ of h)try{m.push(...i($))}catch(g){console.error("[transcriptProjector] error projecting op:",g instanceof Error?g.message:g)}return m}function o(){t=new Map}function i(h){const m=Po(h);switch(qt(m,"op")){case"turn.upsert":return u(m);case"step.upsert":return p(m);case"frame.upsert":return f(m);case"append":return v(m);default:return[]}}function u(h){const m=Po(h.turn),$=qt(m,"turnId"),g=qt(m,"state");if($===void 0||!Sb(g))return[];const y=n($);y.state=g;const S=qt(m,"prompt");S!==void 0&&(y.prompt=S);const B=wb(m,"startedAt");B!==void 0&&(y.startedAt=B);const b=bb(m,"durationMs");b!==void 0&&(y.durationMs=b);const P=[];return g==="queued"?P:g==="running"?(y.prompt!==void 0&&y.prompt.length>0&&!y.userEmitted&&(P.push({type:"messageCreated",message:{id:`usr_${$}`,sessionId:e,role:"user",content:[{type:"text",text:y.prompt}],createdAt:y.startedAt??new Date().toISOString()}}),y.userEmitted=!0),P):(y.endEmitted||(y.assistantEmitted&&P.push({type:"messageUpdated",sessionId:e,messageId:`asst_${$}`,content:Dr(y.content),status:"completed",...y.durationMs!==void 0?{durationMs:y.durationMs}:{}}),P.push({type:"sessionWorkChanged",sessionId:e,busy:!1,mainTurnActive:!1,lastTurnReason:g}),y.endEmitted=!0),P)}function p(h){const m=Po(h.step),$=qt(h,"turnId")??qt(m,"turnId"),g=m.frames;if($===void 0||!Array.isArray(g))return[];const y=n($),S=[];for(const B of g){const b=Po(B),P=qt(b,"frameId");P!==void 0&&(y.seenFrames.has(P)||S.push(...k(y,$,b)))}return S}function f(h){const m=qt(h,"turnId"),$=Po(h.frame),g=qt($,"frameId");if(m===void 0||g===void 0)return[];const y=n(m),S=qt($,"kind");return(S==="text"||S==="thinking")&&y.seenFrames.has(g)?[]:k(y,m,$)}function v(h){const m=Po(h.target),$=qt(h,"text");if($===void 0)return[];const g=qt(m,"type");if(g==="task"){const N=qt(m,"taskId");return N===void 0?[]:[{type:"taskProgress",sessionId:e,taskId:N,outputChunk:$,stream:"stdout"}]}if(g!=="frame")return[];const y=qt(m,"turnId"),S=qt(m,"frameId");if(y===void 0||S===void 0)return[];const B=n(y),b=[];T(B,y,b);const P=nl(B,S),E=B.content[P];(E===void 0||E.type!=="text"&&E.type!=="thinking")&&(B.content[P]={type:"text",text:""});const L=B.content[P];return L!==void 0&&(L.type==="text"?(L.text+=$,b.push({type:"assistantDelta",sessionId:e,messageId:`asst_${y}`,contentIndex:P,delta:{text:$}})):L.type==="thinking"&&(L.thinking+=$,b.push({type:"assistantDelta",sessionId:e,messageId:`asst_${y}`,contentIndex:P,delta:{thinking:$}}))),B.seenFrames.add(S),b}function k(h,m,$){const g=qt($,"frameId");if(g===void 0)return[];const y=[];switch(h.seenFrames.add(g),qt($,"kind")){case"text":{if(qt($,"role")!=="assistant")break;const b=qt($,"text");if(b===void 0)break;T(h,m,y);const{index:P,part:E}=Or(h,g,"text");E.type==="text"&&(E.text+=b),y.push({type:"assistantDelta",sessionId:e,messageId:`asst_${m}`,contentIndex:P,delta:{text:b}});break}case"thinking":{const B=qt($,"text");if(B===void 0)break;T(h,m,y);const{index:b,part:P}=Or(h,g,"thinking");P.type==="thinking"&&(P.thinking+=B),y.push({type:"assistantDelta",sessionId:e,messageId:`asst_${m}`,contentIndex:b,delta:{thinking:B}});break}case"tool":{const B=qt($,"toolCallId");if(B===void 0)break;if(T(h,m,y),!h.content.some(E=>E.type==="toolUse"&&E.toolCallId===B)){const E=nl(h,g);h.content[E]={type:"toolUse",toolCallId:B,toolName:qt($,"name")??"",input:$.input??{},outputLines:[]}}y.push({type:"messageUpdated",sessionId:e,messageId:`asst_${m}`,content:Dr(h.content),status:"pending"});const b=$.progress;kb(b)&&y.push({type:"toolOutput",sessionId:e,toolCallId:B,outputChunk:qt(b,"text")??"",stream:b.kind==="stderr"?"stderr":"stdout"});const P=qt($,"state");(P==="done"||P==="error")&&!h.emittedToolResults.has(B)&&(h.emittedToolResults.add(B),y.push({type:"messageCreated",message:{id:`tool_${B}`,sessionId:e,role:"tool",content:[{type:"toolResult",toolCallId:B,output:$.output??$.display??{},isError:P==="error"}],createdAt:new Date().toISOString()}}));break}}return y}function T(h,m,$){h.assistantEmitted||(h.assistantEmitted=!0,$.push({type:"messageCreated",message:{id:`asst_${m}`,sessionId:e,role:"assistant",content:[],createdAt:new Date().toISOString()}}))}return{project:s,reset:o}}function yb(){return{state:"running",prompt:void 0,startedAt:void 0,durationMs:void 0,userEmitted:!1,assistantEmitted:!1,endEmitted:!1,content:[],frameIndex:new Map,nextIndex:0,seenFrames:new Set,emittedToolResults:new Set}}function Po(e){return e===null||typeof e!="object"||Array.isArray(e)?{}:e}function kb(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function qt(e,t){const n=e[t];return typeof n=="string"?n:void 0}function bb(e,t){const n=e[t];return typeof n=="number"&&Number.isFinite(n)?n:void 0}function wb(e,t){const n=e[t];if(typeof n=="string")return n;if(typeof n=="number"&&Number.isFinite(n))return new Date(n).toISOString()}function Sb(e){return e==="queued"||e==="running"||e==="completed"||e==="failed"||e==="cancelled"}function Dr(e){return e.map(t=>t.type==="toolUse"&&t.outputLines!==void 0?{...t,outputLines:[...t.outputLines]}:{...t})}function nl(e,t){const n=e.frameIndex.get(t);if(n!==void 0)return n;const s=e.nextIndex;return e.nextIndex+=1,e.frameIndex.set(t,s),s}function Or(e,t,n){const s=nl(e,t),o=e.content[s];if(o!==void 0&&o.type===n)return{index:s,part:o};const i=n==="text"?{type:"text",text:""}:{type:"thinking",thinking:""};return e.content[s]=i,{index:s,part:i}}const Cb=new Set(["turn.started","turn.ended","turn.step.started","turn.step.completed","turn.step.retrying","turn.step.interrupted","thinking.delta","assistant.delta","tool.use","tool.call.started","tool.call.delta","tool.progress","tool.result","tool.list.updated","task.started","task.terminated","subagent.spawned","subagent.started","subagent.suspended","subagent.completed","subagent.failed","prompt.submitted","prompt.completed","prompt.aborted"]);function _b(e){return Cb.has(e)}function Mb(e,t){if(!Array.isArray(e))return[];const n=[];for(const s of e)try{n.push(...$b(s,t))}catch(o){console.error("[transcriptOpsToAppEvents] error mapping op:",o instanceof Error?o.message:o)}return n}function to(e){return e===null||typeof e!="object"||Array.isArray(e)?{}:e}function rs(e,t){const n=e[t];return typeof n=="string"?n:void 0}function zr(e,t){const n=e[t];if(typeof n=="string")return n;if(typeof n=="number"&&Number.isFinite(n))return new Date(n).toISOString()}function Lc(e,t){for(const n of e)for(const s of t){const o=n[s];if(typeof o=="number"&&Number.isFinite(o))return o}}function $b(e,t){if(e===null||typeof e!="object"||Array.isArray(e))return[];const n=e,s=n.op;if(typeof s!="string")return[];switch(s){case"prompt.upsert":return Tb(n.prompt,t);case"task.upsert":return Ab(n.task,t);case"meta.merge":return Bb(n.meta,t);default:return[]}}function Tb(e,t){const n=to(e),s=rs(n,"prompt");if(s===void 0||s.trim().length===0)return[];const o=rs(n,"createdAt")??new Date().toISOString();return[{type:"messageCreated",message:{id:rs(n,"promptId")??`pr_${t}-${o}`,sessionId:t,role:"user",content:[{type:"text",text:s}],createdAt:o}}]}const xb={shell:"bash",subagent:"subagent",tool:"tool"};function Ib(e){switch(e){case"created":case"pending":return{eventKind:"taskCreated",status:"running"};case"running":case"in_progress":return{eventKind:"taskProgress",status:"running"};case"completed":case"succeeded":return{eventKind:"taskCompleted",status:"completed"};case"failed":case"timed_out":case"lost":return{eventKind:"taskCompleted",status:"failed"};case"killed":return{eventKind:"taskCompleted",status:"cancelled"};default:return}}function Ab(e,t){const n=to(e),s=rs(n,"taskId");if(s===void 0||s.length===0)return[];const o=n.kind,i=typeof o=="string"?xb[o]:void 0;if(i===void 0)return[];const u=rs(n,"state");if(u===void 0)return[];const p=Ib(u);if(p===void 0)return[];const f=zr(n,"startedAt"),v=zr(n,"endedAt"),k=rs(n,"description")??rs(n,"name")??rs(n,"title")??"",T={id:s,sessionId:t,kind:i,description:k,status:p.status,createdAt:f??new Date().toISOString(),...f!==void 0?{startedAt:f}:{},...v!==void 0?{completedAt:v}:{}};switch(p.eventKind){case"taskCreated":return[{type:"taskCreated",sessionId:t,task:T}];case"taskProgress":return[{type:"taskProgress",sessionId:t,taskId:s,outputChunk:rs(n,"outputTail")??"",stream:"stdout"}];case"taskCompleted":{const h=rs(n,"error")??rs(n,"stateReason");return[{type:"taskCompleted",sessionId:t,taskId:s,status:p.status,...p.status==="failed"&&h!==void 0?{outputPreview:h}:{}}]}}}function Pb(e){if(e.usage!==void 0&&e.usage!==null||Object.keys(e).some(n=>n.startsWith("tokens_")))return!0;const t=to(e.agent);return t.usage!==void 0&&t.usage!==null?!0:Lc([t],["contextTokens","maxContextTokens"])!==void 0}function Eb(e){const t=to(e.usage),n=to(e.agent),s=to(to(n.usage).total),o=(i,u)=>Lc(i,u)??0;return{inputTokens:o([t,s,e],["inputTokens","input_tokens","inputOther","tokens_input"]),outputTokens:o([t,s,e],["outputTokens","output_tokens","output","tokens_output"]),cacheReadTokens:o([t,s,e],["cacheReadTokens","cache_read_input_tokens","inputCacheRead","tokens_cache_read"]),cacheCreationTokens:o([t,s,e],["cacheCreationTokens","cache_creation_input_tokens","inputCacheCreation","tokens_cache_creation"]),totalCostUsd:o([t,s,e],["totalCostUsd","cost","tokens_cost"]),contextTokens:o([t,n,e],["contextTokens","tokens_context"]),contextLimit:o([t,n,e],["contextLimit","maxContextTokens","tokens_context_limit"]),turnCount:o([t,e],["turnCount","tokens_turn_count"])}}function Bb(e,t){const n=to(e);return Pb(n)?[{type:"sessionUsageUpdated",sessionId:t,usage:Eb(n)}]:[]}const Lb="kimi-code.bearer.",Rb=3e4;function Db(e){if(e.length===0)return!1;for(let t=0;t126||n===34||n===40||n===41||n===44||n===47||n>=58&&n<=64||n>=91&&n<=93||n===123||n===125)return!1}return!0}class Ob{constructor(t,n,s){this.wsUrl=t,this.clientId=n,this.handlers=s}ws=null;connected=!1;closed=!1;subscriptions=new Map;pendingSubscriptions=[];terminalAttachments=new Map;transcriptSubscriptions=new Map;msgSeq=0;reconnectAttempts=0;reconnectTimer=null;heartbeatMs=3e4;lastActivityAt=0;connect(){if(this.ws!==null||this.closed)return;this.lastActivityAt=Date.now(),Qs("connect",{url:this.wsUrl,attempt:this.reconnectAttempts});const t=fi();let n;if(t!==void 0){const o=`${Lb}${t}`;if(!Db(o)){Qs("connect-invalid-credential",{url:this.wsUrl,subprotocolLength:o.length}),this.handlers.onError(0,"Server token contains characters unsupported by WebSocket auth; run `kimi web rotate-token`.",!0);return}n=[o]}let s;try{s=new WebSocket(this.wsUrl,n)}catch(o){Qs("connect-failed",{url:this.wsUrl,subprotocol:n!==void 0,error:String(o)}),this.handlers.onError(0,`Failed to open WebSocket: ${String(o)}`,!1),this.scheduleReconnect();return}this.ws=s,s.onopen=()=>{Qs("open")},s.onmessage=o=>{this.lastActivityAt=Date.now();try{const i=JSON.parse(String(o.data));Ny(i),this.handleFrame(i)}catch(i){Qs("parse-error",{error:String(i)}),this.handlers.onError(0,`Failed to parse WS frame: ${String(i)}`,!1)}},s.onerror=()=>{Qs("error"),this.handlers.onError(0,"WebSocket error",!1)},s.onclose=o=>{Qs("close",o?{code:o.code,reason:o.reason,wasClean:o.wasClean}:void 0),this.connected=!1,this.ws=null,this.handlers.onConnectionState(!1),this.scheduleReconnect()}}scheduleReconnect(){if(this.closed||this.reconnectTimer!==null)return;const n=Math.min(3e4,1e3*2**this.reconnectAttempts)+Math.floor(Math.random()*250);this.reconnectAttempts+=1,Qs("reconnect-scheduled",{delayMs:n,attempt:this.reconnectAttempts}),this.reconnectTimer=setTimeout(()=>{this.reconnectTimer=null,this.connect()},n)}subscribe(t,n={seq:0}){if(this.subscriptions.set(t,{...n}),this.connected)this.sendSubscribe([t],{[t]:n});else{const s=this.pendingSubscriptions.findIndex(o=>o.sessionId===t);s!==-1&&this.pendingSubscriptions.splice(s,1),this.pendingSubscriptions.push({sessionId:t,cursor:{...n}})}}unsubscribe(t){this.subscriptions.delete(t);const n=this.pendingSubscriptions.findIndex(s=>s.sessionId===t);n!==-1&&this.pendingSubscriptions.splice(n,1),this.connected&&this.ws&&this.send({type:"unsubscribe",id:this.nextId(),payload:{session_ids:[t]}})}subscribeTranscript(t,n,s){const o=this.transcriptSubscriptions.get(t);this.transcriptSubscriptions.set(t,{grades:n,sinceSeq:{...o?.sinceSeq??{},...s??{}}}),this.connected&&this.sendTranscriptSubscribe(t)}updateTranscriptSince(t,n,s){const o=this.transcriptSubscriptions.get(t);o&&(o.sinceSeq[n]=s)}unsubscribeTranscript(t,n){this.transcriptSubscriptions.delete(t),this.connected&&this.ws&&this.send(mb(t,this.nextId(),n))}transcriptSubscribedSessionIds(){return Array.from(this.transcriptSubscriptions.keys())}sendTranscriptSubscribe(t){const n=this.transcriptSubscriptions.get(t);n&&this.send(fb({sessionId:t,grades:n.grades,sinceSeq:n.sinceSeq},this.nextId()))}abort(t,n){!this.connected||!this.ws||this.send({type:"abort",id:this.nextId(),payload:{session_id:t,prompt_id:n}})}terminalAttach(t,n,s){const o=Ai(t,n),i=this.terminalAttachments.get(o),u=s??i?.lastSeq??0;this.terminalAttachments.set(o,{sessionId:t,terminalId:n,lastSeq:u}),!(!this.connected||!this.ws)&&this.sendTerminalAttach(t,n,u)}terminalInput(t,n,s){!this.connected||!this.ws||this.send({type:"terminal_input",id:this.nextId(),payload:{session_id:t,terminal_id:n,data:s}})}terminalResize(t,n,s,o){!this.connected||!this.ws||this.send({type:"terminal_resize",id:this.nextId(),payload:{session_id:t,terminal_id:n,cols:s,rows:o}})}terminalDetach(t,n){this.terminalAttachments.delete(Ai(t,n)),!(!this.connected||!this.ws)&&this.send({type:"terminal_detach",id:this.nextId(),payload:{session_id:t,terminal_id:n}})}terminalClose(t,n){this.terminalAttachments.delete(Ai(t,n)),!(!this.connected||!this.ws)&&this.send({type:"terminal_close",id:this.nextId(),payload:{session_id:t,terminal_id:n}})}close(){this.closed=!0,this.connected=!1,this.reconnectTimer!==null&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null),this.ws&&(this.ws.close(1e3),this.ws=null)}health(){const t=this.ws!==null&&this.ws.readyState===WebSocket.OPEN,n=Math.max(this.heartbeatMs*2,Rb),s=this.lastActivityAt>0&&Date.now()-this.lastActivityAt>n;return{connected:this.connected,open:t,stale:s}}reconnect(){if(this.closed)return;this.reconnectTimer!==null&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null);const t=this.ws;if(t!==null){t.onopen=null,t.onmessage=null,t.onerror=null,t.onclose=null;try{t.close(1e3,"reconnect")}catch{}}const n=this.connected;this.ws=null,this.connected=!1,n&&this.handlers.onConnectionState(!1),this.connect()}handleFrame(t){const n=t;switch(t.type){case"server_hello":{const s=n.payload?.heartbeat_ms;typeof s=="number"&&s>0&&(this.heartbeatMs=s),this.onServerHello();break}case"ping":this.send({type:"pong",payload:{nonce:n.payload.nonce}});break;case"resync_required":{const s=n.payload.session_id,o=n.payload.epoch;this.subscriptions.set(s,{seq:n.payload.current_seq,epoch:o}),this.handlers.onResync(s,n.payload.current_seq,o);break}case"transcript.ops":{const s=n.session_id;typeof s=="string"&&this.handlers.onTranscriptOps?.(n.payload,s);break}case"transcript.reset":{const s=n.session_id;typeof s=="string"&&this.handlers.onTranscriptReset?.(n.payload,s);break}case"error":{const s=n.session_id;typeof s=="string"&&this.handlers.onRawAgentEvent?this.handlers.onRawAgentEvent({type:"error",seq:n.seq,session_id:s,timestamp:n.timestamp,payload:n.payload}):this.handlers.onError(n.payload.code,n.payload.msg,n.payload.fatal);break}case"ack":break;case"terminal_output":{const s=n.session_id,o=n.terminal_id,i=n.seq,u=Ai(s,o),p=this.terminalAttachments.get(u);p&&this.terminalAttachments.set(u,{...p,lastSeq:Math.max(p.lastSeq,i)});const f=typeof n.payload?.data=="string"?n.payload.data:"";this.handlers.onTerminalOutput?.(s,o,f,i);break}case"terminal_exit":{const s=n.session_id,o=n.terminal_id,i=n.payload?.exit_code,u=typeof i=="number"?i:null;this.handlers.onTerminalExit?.(s,o,u);break}default:{this.trackCursor(n);const s=n.type,o=Vk(s,n.payload);if(o.route==="protocol"){this.handlers.onWireEvent(n);break}if(o.route==="agent"){if(this.handlers.onRawAgentEvent&&typeof n.session_id=="string"){const i=n,u=n;this.handlers.onRawAgentEvent({type:o.agentType,seq:i.seq,session_id:i.session_id,timestamp:i.timestamp,payload:i.payload,...u.volatile!==void 0?{volatile:u.volatile}:{},...u.offset!==void 0?{offset:u.offset}:{}})}break}break}}}onServerHello(){this.connected=!0,this.reconnectAttempts=0,this.handlers.onConnectionState(!0);const t=Array.from(this.subscriptions.keys());for(const s of this.pendingSubscriptions)this.subscriptions.set(s.sessionId,s.cursor),t.includes(s.sessionId)||t.push(s.sessionId);this.pendingSubscriptions.length=0;const n={};for(const[s,o]of this.subscriptions.entries())n[s]=o;this.send({type:"client_hello",id:this.nextId(),payload:{client_id:this.clientId,subscriptions:t,cursors:n}});for(const s of this.terminalAttachments.values())this.sendTerminalAttach(s.sessionId,s.terminalId,s.lastSeq);for(const s of this.transcriptSubscriptions.keys())this.sendTranscriptSubscribe(s)}sendSubscribe(t,n){this.send({type:"subscribe",id:this.nextId(),payload:{session_ids:t,cursors:n}})}sendTerminalAttach(t,n,s){this.send({type:"terminal_attach",id:this.nextId(),payload:{session_id:t,terminal_id:n,since_seq:s>0?s:void 0}})}trackCursor(t){if(t.volatile===!0)return;const n=t.session_id,s=t.seq;if(typeof n!="string"||typeof s!="number")return;const o=this.subscriptions.get(n);if(!o||s<=o.seq&&o.epoch!==void 0)return;const i=typeof t.epoch=="string"?t.epoch:o.epoch;this.subscriptions.set(n,{seq:Math.max(s,o.seq),epoch:i})}send(t){if(!(!this.ws||this.ws.readyState!==WebSocket.OPEN))try{this.ws.send(JSON.stringify(t)),Fy(t)}catch{}}nextId(){return`c_${++this.msgSeq}`}}function Ai(e,t){return`${e}\0${t}`}function zb(e,t){if(e===void 0)return t;let n;const s=/filename\*\s*=\s*UTF-8''([^;]+)/i.exec(e)?.[1]?.trim();if(s!==void 0)try{n=decodeURIComponent(s.replaceAll(/^"|"$/g,""))}catch{return t}else n=/filename\s*=\s*"([^"]*)"/i.exec(e)?.[1]??/filename\s*=\s*([^;]+)/i.exec(e)?.[1]?.trim();return n===void 0||n.length===0||n.length>200||n==="."||n===".."||/[\u0000-\u001F\u007F/\\]/.test(n)||!n.toLowerCase().endsWith(".zip")?t:n}function Fr(e){if(typeof e!="object"||e===null)return{errorName:typeof e};const t=e;return{errorName:typeof t.name=="string"?t.name:"Error",errorCode:typeof t.code=="number"?t.code:void 0,requestId:typeof t.requestId=="string"?t.requestId:void 0,phase:typeof t.phase=="string"?t.phase:void 0,httpStatus:typeof t.status=="number"?t.status:void 0}}const Fb=40924,Nb=40925,Wb=600,qb=2*6e4;function Hb(e){return new Promise(t=>setTimeout(t,e))}function Ma(e){return{id:e.id,sessionId:e.session_id,cwd:e.cwd,shell:e.shell,cols:e.cols,rows:e.rows,status:e.status,createdAt:e.created_at,exitedAt:e.exited_at,exitCode:e.exit_code}}function Nr(e){return e==="auto_compact"||e==="manual_compact"}class Ub{http;config;constructor(t){this.config=t,this.http=new lb(t.serverHttpUrl,{clientId:t.clientId,clientName:t.clientName,clientVersion:t.clientVersion,clientUiMode:t.clientUiMode})}async getHealth(){return{status:"ok",uptimeSec:(await this.http.get("/healthz")).uptime_sec??0}}async getMeta(){const t=await this.http.get("/meta");return{serverVersion:t.server_version,serverId:t.server_id,startedAt:t.started_at,capabilities:t.capabilities,openInApps:Array.isArray(t.open_in_apps)?t.open_in_apps:[],dangerousBypassAuth:t.dangerous_bypass_auth===!0,kimiOauthEnabled:t.experimental_flags?.kimi_oauth===!0,backend:t.backend==="v2"?"v2":"v1",webTitle:t.web_title}}async listSessions(t){const n={before_id:t?.beforeId,after_id:t?.afterId,page_size:t?.pageSize,busy:t?.busy,include_archive:t?.includeArchive,archived_only:t?.archivedOnly,exclude_empty:t?.excludeEmpty,workspace_id:t?.workspaceId},s=await this.http.get("/sessions",n);return{items:s.items.map(ls),hasMore:s.has_more}}async createSession(t){const n={metadata:t.cwd!==void 0?{cwd:t.cwd}:{}};t.workspaceId!==void 0&&(n.workspace_id=t.workspaceId),t.title!==void 0&&(n.title=t.title),t.model!==void 0&&(n.agent_config={model:t.model});const s=await this.http.post("/sessions",n);return ls(s)}async getSession(t){const n=await this.http.get(`/sessions/${encodeURIComponent(t)}`);return ls(n)}async updateSession(t,n){const s={};n.title!==void 0&&(s.title=n.title),n.cwd!==void 0&&(s.metadata={cwd:n.cwd});const o={};n.model!==void 0&&(o.model=n.model),n.permissionMode!==void 0&&(o.permission_mode=n.permissionMode),n.planMode!==void 0&&(o.plan_mode=n.planMode),n.swarmMode!==void 0&&(o.swarm_mode=n.swarmMode),n.supermoonMode!==void 0&&(o.supermoon_mode=n.supermoonMode),n.goalObjective!==void 0&&(o.goal_objective=n.goalObjective),n.goalControl!==void 0&&(o.goal_control=n.goalControl),n.thinking!==void 0&&(o.thinking=n.thinking),Object.keys(o).length>0&&(s.agent_config=o);const i=await this.http.post(`/sessions/${encodeURIComponent(t)}/profile`,s);return ls(i)}async getSessionStatus(t){const n=await this.http.get(`/sessions/${encodeURIComponent(t)}/status`);return{model:n.model&&n.model.length>0?n.model:null,thinkingEffort:n.thinking_level,permission:n.permission,planMode:n.plan_mode===!0,swarmMode:n.swarm_mode===!0,supermoonMode:n.supermoon_mode===!0,contextTokens:n.context_tokens??0,maxContextTokens:n.max_context_tokens??0,contextUsage:n.context_usage??0}}async getSessionGoal(t){const n=await this.http.get(`/sessions/${encodeURIComponent(t)}/goal`);return Ac(n)}async getSessionWarnings(t){return(await this.http.get(`/sessions/${encodeURIComponent(t)}/warnings`)).warnings??[]}async archiveSession(t){return await this.http.post(`/sessions/${encodeURIComponent(t)}:archive`,{})}async restoreSession(t){const n=await this.http.post(`/sessions/${encodeURIComponent(t)}:restore`,{});return ls(n)}async generateSessionTitle(t,n){try{const s={};n?.force===!0&&(s.force=!0),n?.source!==void 0&&(s.source=n.source);const o=await this.http.post(`/sessions/${encodeURIComponent(t)}/title/generate`,s);return typeof o?.title=="string"&&o.title.length>0?o.title:null}catch{return null}}async listMessages(t,n){const s={before_id:n?.beforeId,after_id:n?.afterId,page_size:n?.pageSize,role:n?.role},o=await this.http.get(`/sessions/${encodeURIComponent(t)}/messages`,s);return{items:o.items.map(Za),hasMore:o.has_more}}async getSessionSnapshot(t){const n=Date.now();nn("session:snapshot:start",{sessionId:t});try{const s=await this.http.get(`/sessions/${encodeURIComponent(t)}/snapshot`),o={asOfSeq:s.as_of_seq,epoch:s.epoch,session:ls(s.session),messages:s.messages.items.map(Za),hasMoreMessages:s.messages.has_more,inFlightTurn:s.in_flight_turn===null?null:{turnId:s.in_flight_turn.turn_id,assistantText:s.in_flight_turn.assistant_text,thinkingText:s.in_flight_turn.thinking_text,runningTools:s.in_flight_turn.running_tools.map(i=>({toolCallId:i.tool_call_id,name:i.name,args:i.args,description:i.description,lastProgress:i.last_progress})),promptId:s.in_flight_turn.current_prompt_id},pendingApprovals:s.pending_approvals.map(xc),pendingQuestions:s.pending_questions.map(Ic),subagents:(s.subagents??[]).map(Oi)};return nn("session:snapshot:accepted",{sessionId:t,busy:o.session.busy,seq:o.asOfSeq,messageCount:o.messages.length,durationMs:Date.now()-n}),o}catch(s){throw nn("session:snapshot:failed",{sessionId:t,status:"failed",durationMs:Date.now()-n,...Fr(s)}),s}}async exportSession(t,n){const s=n===void 0?0:new TextEncoder().encode(n).byteLength,o=n===void 0||n.length===0?0:n.split(`
-`).length,i=await this.http.postZip(`/sessions/${encodeURIComponent(t)}/export`,{web_log:n},{web_log_bytes:s,web_log_entries:o}),u=`${t}.zip`;return{blob:i.blob,fileName:zb(i.contentDisposition,u)}}async submitPrompt(t,n){const s=Date.now();nn("prompt:start",{sessionId:t,contentCount:n.content.length,mediaCount:n.content.filter(o=>o.type==="image"||o.type==="video"||o.type==="file").length});try{const o=await this.http.post(`/sessions/${encodeURIComponent(t)}/prompts`,mk(n));return nn("prompt:accepted",{sessionId:t,promptId:o.prompt_id,status:o.status,durationMs:Date.now()-s}),{promptId:o.prompt_id,userMessageId:o.user_message_id,status:o.status}}catch(o){throw nn("prompt:failed",{sessionId:t,status:"failed",durationMs:Date.now()-s,...Fr(o)}),o}}async steerPrompts(t,n){const s=await this.http.post(`/sessions/${encodeURIComponent(t)}/prompts:steer`,{prompt_ids:n});return{steered:s.steered,promptIds:s.prompt_ids}}async abortPrompt(t,n){const s=await this.http.post(`/sessions/${encodeURIComponent(t)}/prompts/${encodeURIComponent(n)}:abort`,void 0,{allowCodes:[40903]});return{aborted:s.aborted,atSeq:s.at_seq}}async abortSession(t){return{aborted:(await this.http.post(`/sessions/${encodeURIComponent(t)}:abort`,{})).aborted}}async compactSession(t,n){await this.http.post(`/sessions/${encodeURIComponent(t)}:compact`,n?{instruction:n}:{})}async undoSession(t,n=1){await this.http.post(`/sessions/${encodeURIComponent(t)}:undo`,{count:n})}async forkSession(t,n){const s={};n?.title!==void 0&&(s.title=n.title);const o=await this.http.post(`/sessions/${encodeURIComponent(t)}:fork`,s,{timeoutMs:sb});return ls(o)}async createChildSession(t,n){const s={};n?.title!==void 0&&(s.title=n.title);const o=await this.http.post(`/sessions/${encodeURIComponent(t)}/children`,s);return ls(o)}async listChildSessions(t){return(await this.http.get(`/sessions/${encodeURIComponent(t)}/children`)).items.map(ls)}async startBtw(t){return{agentId:(await this.http.post(`/sessions/${encodeURIComponent(t)}:btw`,{})).agent_id}}async respondApproval(t,n,s){const o=await this.http.post(`/sessions/${encodeURIComponent(t)}/approvals/${encodeURIComponent(n)}`,vk(s));return{resolved:o.resolved,resolvedAt:o.resolved_at}}async respondQuestion(t,n,s){const o=await this.http.post(`/sessions/${encodeURIComponent(t)}/questions/${encodeURIComponent(n)}`,kk(s));return{resolved:o.resolved,resolvedAt:o.resolved_at}}async dismissQuestion(t,n){return{dismissed:!0,dismissedAt:(await this.http.post(`/sessions/${encodeURIComponent(t)}/questions/${encodeURIComponent(n)}:dismiss`,void 0,{allowCodes:[40909]})).dismissed_at}}async listTasks(t,n){const s={status:n};return(await this.http.get(`/sessions/${encodeURIComponent(t)}/tasks`,s)).items.map(Oi)}async getTask(t,n,s){const o={with_output:s?.withOutput,output_bytes:s?.outputBytes},i=await this.http.get(`/sessions/${encodeURIComponent(t)}/tasks/${encodeURIComponent(n)}`,o);return Oi(i)}async cancelTask(t,n){return await this.http.post(`/sessions/${encodeURIComponent(t)}/tasks/${encodeURIComponent(n)}:cancel`)}async detachTask(t,n){const s=await this.http.post(`/sessions/${encodeURIComponent(t)}/tasks/${encodeURIComponent(n)}:detach`);return{detached:s.detached,status:s.status}}async listTerminals(t){return(await this.http.get(`/sessions/${encodeURIComponent(t)}/terminals`)).items.map(Ma)}async createTerminal(t,n={}){const s={cwd:n.cwd,shell:n.shell,cols:n.cols,rows:n.rows},o=await this.http.post(`/sessions/${encodeURIComponent(t)}/terminals`,s);return Ma(o)}async getTerminal(t,n){const s=await this.http.get(`/sessions/${encodeURIComponent(t)}/terminals/${encodeURIComponent(n)}`);return Ma(s)}async closeTerminal(t,n){return this.http.post(`/sessions/${encodeURIComponent(t)}/terminals/${encodeURIComponent(n)}:close`)}async listSkills(t){return((await this.http.get(`/sessions/${encodeURIComponent(t)}/skills`)).skills??[]).map(s=>({name:s.name,description:s.description,source:s.source}))}async listSkillsForWorkspace(t){return((await this.http.get(`/workspaces/${encodeURIComponent(t)}/skills`)).skills??[]).map(s=>({name:s.name,description:s.description,source:s.source}))}async activateSkill(t,n,s,o){const i=pb(o),u=await this.http.post(`/sessions/${encodeURIComponent(t)}/skills/${encodeURIComponent(n)}:activate`,{...s!==void 0&&s.length>0?{args:s}:{},...i!==void 0?{attachments:i}:{}});return{activated:u.activated,skillName:u.skill_name}}async listPlugins(){return((await this.http.get("/plugins")).plugins??[]).map(Mr)}async listPluginMarketplace(){return((await this.http.get("/plugins/marketplace")).entries??[]).map(_k)}async installPlugin(t){const n=await this.http.post("/plugins",{source:t});return Mr(n)}async setPluginEnabled(t,n){await this.http.post(`/plugins/${encodeURIComponent(t)}:${n?"enable":"disable"}`,{})}async removePlugin(t){await this.http.post(`/plugins/${encodeURIComponent(t)}:remove`,{})}async listCapabilities(){return((await this.http.get("/capabilities")).capabilities??[]).map($r)}async getCapability(t){const n=await this.http.get(`/capabilities/${encodeURIComponent(t)}`);return $r(n)}async installCapability(t,n){await this.http.post(`/capabilities/${encodeURIComponent(t)}:install`,{},{allowCodes:[Fb]});const s=Date.now()+qb;let o=await this.getCapability(t);for(n?.(o);o.install.running&&Date.now()[u,p.map(_r)])):void 0;return{items:o.items.map(_r),childrenByPath:i,truncated:o.truncated}}async readFile(t,n){const s={path:n.path};n.offset!==void 0&&(s.offset=n.offset),n.length!==void 0&&(s.length=n.length);const o=await this.http.post(`/sessions/${encodeURIComponent(t)}/fs:read`,s);return{path:o.path,content:o.content,encoding:o.encoding,size:o.size,truncated:o.truncated,etag:o.etag,mime:o.mime,languageId:o.language_id,lineCount:o.line_count,isBinary:o.is_binary}}async searchFiles(t,n){const s={workspace:t,query:n.query};n.limit!==void 0&&(s.limit=n.limit);const o=await this.http.post("/workspace/fs:search",s);return{items:o.items.map(i=>({path:i.path,name:i.name,kind:i.kind,score:i.score,matchPositions:i.match_positions})),truncated:o.truncated}}async grepFiles(t,n){const s={pattern:n.pattern};n.regex!==void 0&&(s.regex=n.regex),n.caseSensitive!==void 0&&(s.case_sensitive=n.caseSensitive);const o=await this.http.post(`/sessions/${encodeURIComponent(t)}/fs:grep`,s);return{files:o.files,filesScanned:o.files_scanned,truncated:o.truncated,elapsedMs:o.elapsed_ms}}async getGitStatus(t,n){const s={};n!==void 0&&(s.paths=n);const o=await this.http.post(`/sessions/${encodeURIComponent(t)}/fs:git_status`,s);return{branch:o.branch,ahead:o.ahead,behind:o.behind,entries:o.entries,additions:o.additions,deletions:o.deletions,pullRequest:o.pullRequest??null}}async getFileDiff(t,n){const s=await this.http.post(`/sessions/${encodeURIComponent(t)}/fs:diff`,{path:n});return{path:s.path,diff:s.diff}}getFileDownloadUrl(t,n){const s=n.split("/").map(o=>encodeURIComponent(o)).join("/");return ho(this.config.serverHttpUrl,`/sessions/${encodeURIComponent(t)}/fs/${s}:download`)}async openFile(t,n){const s={path:n.path};return n.line!==void 0&&(s.line=n.line),this.http.post(`/sessions/${encodeURIComponent(t)}/fs:open`,s)}async revealFile(t,n){return this.http.post(`/sessions/${encodeURIComponent(t)}/fs:reveal`,{path:n.path})}async openInApp(t,n,s,o){const i={app_id:n,path:s};o!==void 0&&(i.line=o),await this.http.post(`/sessions/${encodeURIComponent(t)}/fs:open-in`,i)}async listWorkspaces(){try{return((await this.http.get("/workspaces")).items??[]).map(ii)}catch{return[]}}async addWorkspace(t){const n={root:t.root};t.name!==void 0&&(n.name=t.name);const s=await this.http.post("/workspaces",n);return ii(s)}async deleteWorkspace(t){await this.http.delete(`/workspaces/${encodeURIComponent(t)}`)}async updateWorkspace(t,n){const s=await this.http.patch(`/workspaces/${encodeURIComponent(t)}`,{name:n.name});return ii(s)}async browseFs(t){try{const n=await this.http.get("/fs:browse",{path:t});return{path:n.path,parent:n.parent,entries:(n.entries??[]).map(s=>({name:s.name,path:s.path,isDir:s.is_dir}))}}catch{return{path:"",parent:null,entries:[]}}}async getFsHome(){try{const t=await this.http.get("/fs:home");return{home:t.home,recentRoots:t.recent_roots??[]}}catch{return{home:"",recentRoots:[]}}}async listModels(){return(await this.http.get("/models")).items.map(wk)}async listProviders(){return(await this.http.get("/providers")).items.map($i)}async addProvider(t){const n={type:t.type};t.apiKey!==void 0&&(n.api_key=t.apiKey),t.baseUrl!==void 0&&(n.base_url=t.baseUrl),t.defaultModel!==void 0&&(n.default_model=t.defaultModel);const s=await this.http.post("/providers",n);return $i(s)}async deleteProvider(t){return this.http.delete(`/providers/${encodeURIComponent(t)}`)}async refreshProvider(t){const n=await this.http.post(`/providers/${encodeURIComponent(t)}:refresh`);return $a(n)}async refreshAllProviders(){const t=await this.http.post("/providers:refresh");return $a(t)}async refreshOAuthProviderModels(){const t=await this.http.post("/providers:refresh_oauth");return $a(t)}async browseCatalogProviders(t){return(await this.http.get("/catalog/providers",{query:t})).items.map(Ck)}async importCatalogProvider(t){const n=await this.http.post("/providers:import_catalog",rb(t));return{provider:$i(n.provider),modelsImported:n.models_imported}}async importRegistry(t){const n=await this.http.post("/providers:import_registry",ub(t));return{providers:n.providers.map($i),modelsImported:n.models_imported}}async getConfig(){const t=await this.http.get("/config");return Xa(t)}async setConfig(t){const n={},s={providers:"providers",defaultProvider:"default_provider",defaultModel:"default_model",planningModel:"planning_model",models:"models",thinking:"thinking",planMode:"plan_mode",yolo:"yolo",defaultPermissionMode:"default_permission_mode",defaultPlanMode:"default_plan_mode",permission:"permission",hooks:"hooks",services:"services",mergeAllAvailableSkills:"merge_all_available_skills",extraSkillDirs:"extra_skill_dirs",loopControl:"loop_control",background:"background",experimental:"experimental",telemetry:"telemetry",raw:"raw"};for(const[i,u]of Object.entries(t)){const p=s[i];p!==void 0&&(n[p]=u)}const o=await this.http.post("/config",n);return Xa(o)}async getAuth(){const t=await this.http.get("/auth");return{ready:t.models_ready,providersCount:t.providers_count,defaultModel:t.default_model??null,managedProvider:t.managed_provider?{status:t.managed_provider.status}:null}}async startOAuthLogin(t){const n={};t!==void 0&&(n.region=t);const s=await this.http.post("/oauth/login",n);return s.status==="authenticated"?{flowId:s.flow_id,provider:s.provider,status:"authenticated"}:{flowId:s.flow_id,provider:s.provider,status:"pending",verificationUri:s.verification_uri,verificationUriComplete:s.verification_uri_complete,userCode:s.user_code,expiresIn:s.expires_in,interval:s.interval,expiresAt:s.expires_at}}async resolveOAuthRegion(){try{const t=await this.http.get("/oauth/region");return t.region==="mainland-cn"||t.region==="global"?t.region:null}catch{return null}}async pollOAuthLogin(){const t=await this.http.get("/oauth/login");return t?{flowId:t.flow_id,status:t.status,resolvedAt:t.resolved_at}:null}async cancelOAuthLogin(){const t=await this.http.delete("/oauth/login");return{cancelled:t.cancelled,status:t.status}}async logout(){return{loggedOut:(await this.http.post("/oauth/logout",{})).logged_out}}async uploadFile(t){const n=new FormData;n.append("file",t.file,t.name??(t.file instanceof File?t.file.name:"upload")),t.name!==void 0&&n.append("name",t.name);const s=await this.http.postForm("/files",n);return{id:s.id,name:s.name,mediaType:s.media_type,size:s.size}}getFileUrl(t){return ho(this.config.serverHttpUrl,`/files/${encodeURIComponent(t)}`)}async getFileBlob(t){return this.http.getBlob(`/files/${encodeURIComponent(t)}`)}connectEvents(t){const n=Xp(this.config.serverHttpUrl,this.config.clientId),s=Wk();let o=!1;const i=new Map;function u(h){let m=i.get(h);return m||(m={projector:hb(h),watermarks:new vb,armed:!1},i.set(h,m)),m}function p(h,m){const $=u(h),g=[];for(const y of m)g.push(...Mb([y],h)),g.push(...$.projector.project([y]));return g}const f=(h,m,$)=>{(async()=>{try{const g=await gb({baseUrl:this.config.serverHttpUrl,sessionId:h,agentId:m,sinceSeq:$.watermarks.get(h,m),token:fi()});for(const y of g.batches){$.watermarks.set(h,m,y.seq);for(const S of p(h,y.ops))t.onEvent(S,{sessionId:h,seq:y.seq})}g.complete||($.projector.reset(),t.onResync(h,0))}catch{$.projector.reset(),t.onResync(h,0)}})()};function v(h,m){const $=h;if(!$||typeof $.agent_id!="string"||!Array.isArray($.ops))return;const g=$.agent_id,y=u(m);y.armed=!0;const S=typeof $.seq=="number"?$.seq:void 0;if(S!==void 0&&y.watermarks.advance(m,g,S)){f(m,g,y);return}for(const B of p(m,$.ops))t.onEvent(B,{sessionId:m,seq:S??0});S!==void 0&&(y.watermarks.set(m,g,S),T.updateTranscriptSince(m,g,S))}function k(h,m){const $=u(m);$.armed=!0,$.projector.reset(),$.watermarks.clear(m),t.onResync(m,0)}const T=new Ob(n,this.config.clientId,{onWireEvent:h=>{const m=$k(h),$=Tk(h),g=bk(h);g.type==="historyCompacted"&&!Nr(g.reason)&&t.onResync(g.sessionId,g.beforeSeq),t.onEvent(g,{sessionId:m,seq:$})},onRawAgentEvent:h=>{if(o&&i.get(h.session_id)?.armed===!0&&_b(h.type))return;const{type:m,seq:$,session_id:g,payload:y,offset:S}=h,B=s.project(m,y,g,{offset:S});for(const b of B){const P=y?.turnId,E=b.type==="assistantDelta"&&typeof P=="number"&&typeof S=="number"&&(m==="assistant.delta"||m==="thinking.delta")?{turnId:P,offset:S,kind:m==="assistant.delta"?"text":"thinking"}:void 0;b.type==="historyCompacted"&&!Nr(b.reason)&&t.onResync(g,$),t.onEvent(b,{sessionId:g,seq:$,stream:E})}},onResync:(h,m,$)=>{s.reset(h),t.onResync(h,m,$)},onTranscriptOps:(h,m)=>{v(h,m)},onTranscriptReset:(h,m)=>{k(h,m)},onConnectionState:h=>{t.onConnectionChange(h)},onError:(h,m,$)=>{t.onError(h,m,$)},onTerminalOutput:(h,m,$,g)=>{t.onTerminalOutput?.(h,m,$,g)},onTerminalExit:(h,m,$)=>{t.onTerminalExit?.(h,m,$)}});return T.connect(),{subscribe(h,m){if(T.subscribe(h,m??{seq:0}),o){const $=u(h);T.subscribeTranscript(h,{main:"delta"},{main:$.watermarks.get(h,"main")})}},unsubscribe(h){T.unsubscribe(h),T.unsubscribeTranscript(h),s.disposeSession(h),i.delete(h)},setTranscriptMode(h){if(o!==h&&(o=h,!!h))for(const m of T.transcriptSubscribedSessionIds()){const $=u(m);T.subscribeTranscript(m,{main:"delta"},{main:$.watermarks.get(m,"main")})}},seedSnapshot(h,m){if(m.inFlightTurn===null){s.reset(h);return}const $=s.seedInFlight(h,m.inFlightTurn);for(const g of $)t.onEvent(g,{sessionId:h,seq:m.asOfSeq})},bindNextPromptId(h,m){s.bindNextPromptId(h,m)},abort(h,m){T.abort(h,m)},terminalAttach(h,m,$){T.terminalAttach(h,m,$)},terminalInput(h,m,$){T.terminalInput(h,m,$)},terminalResize(h,m,$,g){T.terminalResize(h,m,$,g)},terminalDetach(h,m){T.terminalDetach(h,m)},terminalClose(h,m){T.terminalClose(h,m)},markSideChannelAgent(h){s.markSideChannelAgent(h)},health(){return T.health()},reconnect(){T.reconnect()},close(){T.close()}}}}function $a(e){return{changed:e.changed.map(t=>({providerId:t.provider_id,providerName:t.provider_name,added:t.added,removed:t.removed})),unchanged:e.unchanged,failed:e.failed}}let Wr;function Re(){return Wr??=new Ub(rc()),Wr}function qr(e){if(typeof e!="object"||e===null)return!1;const t=e.name;return t==="TimeoutError"||t==="AbortError"}function Rc(e){return qr(e)?!0:typeof e!="object"||e===null?!1:qr(e.cause)}const sl=new Set;function Vb(e){return sl.add(e),()=>{sl.delete(e)}}function jb(e){for(const t of sl)try{t(e)}catch(n){console.warn("pluginEvent listener failed",n)}}const Kb=3;function Gb(e){return e===void 0||!e.done&&e.attempts0?t[t.length-1]:e}const Zb=/^(?:[A-Za-z]:[\\/]|\\\\|\/\/)/;function us(e){const t=e.replaceAll("\\","/"),n=Zb.test(t),s=t.replace(/\/+$/,"");return n?s.toLowerCase():s}function Xb(e,t){const n=us(t.cwd);return e.find(s=>us(s.root)===n)?.id??t.workspaceId??t.cwd}function Jb(e){const{workspaces:t,sessions:n,hiddenWorkspaceRoots:s,sessionsHasMoreByWorkspace:o}=e,i=new Set(s.map(us)),u=new Map;for(const T of t){const h=us(T.root);i.has(h)||u.has(h)||u.set(h,{...T})}for(const T of n){const h=T.cwd;if(!h)continue;const m=us(h);i.has(m)||u.has(m)||u.set(m,{id:T.workspaceId??h,root:h,name:Dc(h),sessionCount:0})}const p=new Map;for(const T of n){const h=Xb(t,T);p.set(h,(p.get(h)??0)+1)}const f=[];for(const T of t){const h=us(T.root);!i.has(h)&&!f.includes(h)&&f.push(h)}const v=[...u.keys()].filter(T=>!f.includes(T));v.sort((T,h)=>u.get(T).root.localeCompare(u.get(h).root));const k=[];for(const T of[...f,...v]){const h=u.get(T),m=p.get(h.id)??p.get(h.root)??0,$=o[h.id]===!1?m:Math.max(h.sessionCount,m);k.push({...h,sessionCount:$})}return k}function e2(){const e=oo(Ge.doneSessions);return Array.isArray(e)?e.filter(t=>typeof t=="string"):[]}function El(e){Ws(Ge.doneSessions,Array.from(e))}function t2(e,t){return e.includes(t)?e.filter(n=>n!==t):[...e,t]}function n2(e,t){const n=new Set(e),s=t.filter(o=>!n.has(o));return s.length===0?[...e]:[...e,...s]}function s2(e,t){const n=new Set(t);return e.filter(s=>!n.has(s))}function Cs(e,t){e.modeVersionBySession={...e.modeVersionBySession??{},[t]:(e.modeVersionBySession?.[t]??0)+1}}function o2(e,t,n){return(e.modeVersionBySession?.[t]??0)===n}function i2(e,t){if(t.length===0||e.length===0)return t;const n=Date.parse(t[0].createdAt);if(Number.isNaN(n))return t;const s=new Set(t.map(u=>u.id)),o=new Set(t.filter(u=>u.role==="user").map(u=>u.id)),i=e.filter(u=>{const p=Date.parse(u.createdAt);return!(Number.isNaN(p)||p>=n||s.has(u.id)||u.role==="user"&&u.promptId!==void 0&&o.has(u.promptId))});return i.length>0?[...i,...t]:t}function Hr(e,t){const n=new Set(e.map(f=>f.id)),s=t.filter(f=>f.kind==="subagent"&&!n.has(f.id));if(s.length===0)return e;const o=new Map(e.map(f=>[f.id,f])),i=new Set,u=s.map(f=>{const v=f.backgroundTaskId!==void 0?o.get(f.backgroundTaskId):void 0;if(v===void 0)return f;i.add(v.id);const k=f.status==="running"&&v.status!=="running";return{...f,status:f.status==="running"?v.status:f.status,subagentPhase:k?v.status==="completed"?"completed":"failed":f.subagentPhase,completedAt:f.completedAt??v.completedAt,outputPreview:v.outputPreview??f.outputPreview,outputBytes:v.outputBytes??f.outputBytes}});return[...e.filter(f=>!i.has(f.id)),...u]}function a2(e,t){if(e.length===0)return t;const n=new Map(t.map(u=>[u.id,u])),s=new Set(e.map(u=>u.id)),o=e.map(u=>{const p=n.get(u.id);return p?{...u,outputLines:p.outputLines,text:p.text}:u}),i=t.filter(u=>!s.has(u.id));return i.length===0?o:[...o,...i]}function l2(e){const t=new Map,n=new Set;function s(i){const u=t.get(i);if(u!==void 0)return u;const p=(async()=>e(i))().finally(()=>{t.delete(i),n.delete(i)&&s(i)});return t.set(i,p),p}function o(i){if(t.has(i)){n.add(i);return}s(i)}return{run:s,request:o}}const Ur=2e3,Vr=100,Oc=80,zc=24;function jr(e){return{...e,lines:[],history:[],attached:!1,pendingTail:"",lastSeq:0}}function r2(e){return e.replace(/[\u001b\u009b][[\]()#;?]*(?:(?:(?:[a-zA-Z\d]*(?:;[-a-zA-Z\d/#&.:=?%@~_]*)*)?\u0007)|(?:(?:\d{1,4}(?:[;:]\d{0,4})*)?[\dA-PR-TZcf-nq-uy=><~]))/g,"")}function u2(){const e=x(void 0),t=x([]),n=x({}),s=x(null),o=x(!1),i=x(null);let u=null;const p=M(()=>{const L=s.value;return L===null?null:n.value[L]??null}),f=M(()=>p.value?.lines.join(`
-`)??"");function v(L){const N=n.value[L];if(N!==void 0)return N;const Q=t.value.find(_=>_.id===L),V=jr(Q??{id:L,sessionId:e.value??"",cwd:"",shell:"",cols:Oc,rows:zc,status:"running",createdAt:""});return n.value[L]=V,V}function k(L){if(e.value===L)return;const N=e.value;if(N!==void 0&&u!==null)for(const Q of Object.values(n.value))Q.attached&&u.terminalDetach(N,Q.id);e.value=L,t.value=[],n.value={},s.value=null,o.value=!1,i.value=null}function T(L){t.value=L;const N=new Set(L.map(Q=>Q.id));for(const[Q,V]of Object.entries(n.value)){if(!N.has(Q)){delete n.value[Q];continue}const _=L.find(z=>z.id===Q);_&&Object.assign(V,_)}s.value!==null&&!N.has(s.value)&&(s.value=L[0]?.id??null)}function h(L){const N=t.value.findIndex(V=>V.id===L.id);N===-1?t.value.push(L):t.value.splice(N,1,L);const Q=n.value[L.id];Q!==void 0?Object.assign(Q,L):n.value[L.id]=jr(L)}function m(L){n.value[L]?.attached&&e.value!==void 0&&u!==null&&u.terminalDetach(e.value,L),delete n.value[L];const Q=t.value.findIndex(V=>V.id===L);if(Q!==-1&&t.value.splice(Q,1),s.value===L){const V=t.value[Q]??t.value[t.value.length-1];s.value=V?.id??null}}function $(L){const N=v(L);if(N.attached)return;N.attached=!0;const Q=e.value;Q!==void 0&&u!==null&&u.terminalAttach(Q,L,N.lastSeq)}function g(L){const N=n.value[L];if(N===void 0||!N.attached)return;N.attached=!1;const Q=e.value;Q!==void 0&&u!==null&&u.terminalDetach(Q,L)}function y(L,N){const Q=r2(N).split(`
-`),V=Q[0]??"";L.pendingTail+=V;for(let _=1;_Ur&&L.lines.splice(0,L.lines.length-Ur)}function S(L,N,Q,V){if(e.value===void 0||e.value!==L)return;const _=v(N);V<=_.lastSeq||(_.lastSeq=V,y(_,Q))}function B(L,N,Q){if(e.value===void 0||e.value!==L)return;const V=v(N);V.status!=="exited"&&(V.status="exited",V.exitCode=Q)}function b(L,N){const Q=N.trim();if(Q.length===0)return"";const V=v(L);V.history.at(-1)!==Q&&(V.history.push(Q),V.history.length>Vr&&V.history.splice(0,V.history.length-Vr));const _=e.value;return _!==void 0&&u!==null&&V.status!=="exited"&&u.terminalInput(_,L,`${Q}
-`),Q}function P(L,N,Q){const V=v(L);V.cols=N,V.rows=Q;const _=e.value;_!==void 0&&u!==null&&u.terminalResize(_,L,N,Q)}function E(L){u=L;const N=e.value;if(N!==void 0)for(const Q of Object.values(n.value))Q.attached&&L.terminalAttach(N,Q.id,Q.lastSeq)}return{sessionId:e,terminals:t,activeId:s,loading:o,error:i,active:p,activeLines:f,entryOf:v,setSession:k,setLoading:L=>{o.value=L},setError:L=>{i.value=L},syncTerminals:T,upsertTerminal:h,removeTerminal:m,setActive:L=>{s.value=L},attach:$,detach:g,handleOutput:S,handleExit:B,submitInput:b,resize:P,bindTransport:E}}const Kr=6,Gr=400,c2="Task finished";function d2(){return Dt(Ge.taskNotices)==="1"}function p2(e,t){const n=e.description?.trim()||c2,s=e.outputPreview??t??"",o=f2(s);return{taskId:e.id,summary:n,outputPreview:o.text,outputTruncated:o.truncated,outputBytes:e.outputBytes}}function f2(e){if(!e)return{text:"",truncated:!1};const t=e.split(/\r?\n/);let n=t.length>Kr,s=t.slice(0,Kr).join(`
-`);return s.length>Gr&&(s=s.slice(0,Gr),n=!0),{text:s,truncated:n}}const m2=new Set(["assistantDelta","agentDelta","toolOutput","taskProgress"]);function v2(e){return m2.has(e.type)}const g2=50,h2=100,ol=32*1024,y2={requestFrame(e){return typeof requestAnimationFrame=="function"?requestAnimationFrame(e):null},cancelFrame(e){typeof cancelAnimationFrame=="function"&&cancelAnimationFrame(e)},requestTask(e){return setTimeout(e,g2)},cancelTask(e){clearTimeout(e)}};function k2(e,t,n={}){const s=n.scheduler??y2,o=Math.max(1,Math.floor(n.maxItemsPerSlice??h2)),i=[];let u=0,p=null,f=null,v=0,k=!1;const T=()=>i.length-u,h=()=>{v+=1,p!==null&&(s.cancelFrame(p),p=null),f!==null&&(s.cancelTask(f),f=null)},m=()=>{u===i.length?(i.length=0,u=0):u>=1024&&(i.splice(0,u),u=0)};let $;const g=()=>{if(k||p!==null||f!==null||T()===0)return;const S=++v,B=()=>{S===v&&$()};p=s.requestFrame(B),f=s.requestTask(B)};$=()=>{h();let S=0;for(;!k&&S{if(!k){if(t(S)){const B=i.length>u?i.at(-1):void 0,b=B===void 0?void 0:n.coalesce?.(B,S);b===void 0?i.push(S):i[i.length-1]=b,g();return}if(T()===0){e(S);return}i.push(S),$()}});return y.flush=()=>{if(!k){for(h();!k&&u{if(k||T()===0)return;let B=u;for(let b=u;b{k||(k=!0,h(),i.length=0,u=0)},y}function il(e){if(e.type==="assistantDelta"){if(e.delta.text!==void 0&&e.delta.thinking===void 0)return{kind:"text",value:e.delta.text};if(e.delta.thinking!==void 0&&e.delta.text===void 0)return{kind:"thinking",value:e.delta.thinking}}}function b2(e){if(e.appEvent.type!=="assistantDelta")return[e];const t=e.appEvent,n=e.meta.stream,s=il(t);if(n===void 0||s===void 0||n.kind!==s.kind||s.value.length<=ol)return[e];const o=[];let i=0;for(;ii&&/[\uD800-\uDBFF]/u.test(s.value[u-1])&&/[\uDC00-\uDFFF]/u.test(s.value[u])&&(u-=1);const p=s.value.slice(i,u);o.push({appEvent:{...t,delta:s.kind==="text"?{text:p}:{thinking:p}},meta:{...e.meta,stream:{...n,offset:n.offset+i}}}),i=u}return o}function w2(e,t){if(e.appEvent.type!=="assistantDelta"||t.appEvent.type!=="assistantDelta")return;const n=e.meta.stream,s=t.meta.stream,o=il(e.appEvent),i=il(t.appEvent);if(n===void 0||s===void 0||o===void 0||i===void 0||e.meta.sessionId!==t.meta.sessionId||e.appEvent.sessionId!==t.appEvent.sessionId||e.appEvent.messageId!==t.appEvent.messageId||e.appEvent.contentIndex!==t.appEvent.contentIndex||n.turnId!==s.turnId||n.kind!==s.kind||o.kind!==i.kind||n.kind!==o.kind||s.kind!==i.kind||s.offset!==n.offset+o.value.length||o.value.length+i.value.length>ol)return;const u=o.value+i.value;return{appEvent:{...e.appEvent,delta:o.kind==="text"?{text:u}:{thinking:u}},meta:{...t.meta,stream:{...n}}}}const Fc=["blue","mono"],Nc=["light","dark","system"],Wc=14,S2=12,C2=20;function _2(){const e=Dt(Ge.accent);return e&&Fc.includes(e)?e:"blue"}function M2(e){typeof document>"u"||!document.documentElement||(document.documentElement.dataset.accent=e)}function $2(){const e=Dt(Ge.colorScheme);return e&&Nc.includes(e)?e:"system"}function T2(e){if(typeof document>"u"||!document.documentElement)return;document.documentElement.dataset.colorScheme=e;const t=document.querySelectorAll('meta[name="theme-color"]');if(t.length===0)return;const n=e==="dark"?"#0d1117":e==="light"?"#ffffff":null;t.forEach(s=>{const i=(s.getAttribute("media")??"").includes("dark")?"#0d1117":"#ffffff";s.setAttribute("content",n??i)})}function Bl(e){return Number.isFinite(e)?Math.min(C2,Math.max(S2,Math.round(e))):Wc}function x2(){const e=Dt(Ge.uiFontSize);return e===null?Wc:Bl(Number(e))}function I2(e){typeof document>"u"||!document.documentElement||document.documentElement.style.setProperty("--base-ui-font-size",`${Bl(e)}px`)}const Ll=x($2()),Rl=x(_2()),Dl=x(x2());Ne(Ll,T2,{immediate:!0});Ne(Rl,M2,{immediate:!0});Ne(Dl,I2,{immediate:!0});function A2(e){Nc.includes(e)&&(Ll.value=e,Nt(Ge.colorScheme,e))}function P2(e){Fc.includes(e)&&(Rl.value=e,Nt(Ge.accent,e))}function E2(e){const t=Bl(e);Dl.value=t,Nt(Ge.uiFontSize,String(t))}const B2=600,L2=250,ia=250,R2=1e3,D2=160,ji=x(!1);let go=[],yo=null,Ki=-ia;function O2(){go=[],Ki=-ia,ji.value=!1,yo!==null&&(clearTimeout(yo),yo=null)}function z2(){ji.value=!0,yo!==null&&clearTimeout(yo),yo=setTimeout(()=>{yo=null,go=[],Ki=-ia,ji.value=!1},R2)}function F2(e){if(e<=0)return;const t=Date.now();go.push({time:t,chars:e});const n=t-B2;if(go=go.filter(p=>p.time>=n),t-Kip+f.chars,0)/o*1e3>=D2&&z2()}function qc(){return{colorScheme:Ll,accent:Rl,uiFontSize:Dl,fastMoon:ji,setColorScheme:A2,setAccent:P2,setUiFontSize:E2,resetFastMoon:O2,recordMoonDelta:F2}}function N2(e,t,n){return e==="idle"&&!t&&!n}function Ol(e,t){const n=Dt(e);return n===null?t:n==="1"}const zl=x(Ol(Ge.notifyOnComplete,!0)),Fl=x(Ol(Ge.notifyOnQuestion,!1)),Nl=x(Ol(Ge.notifyOnApproval,!1)),Wl=x(typeof Notification<"u"?Notification.permission:"denied"),W2="/favicon.ico";async function ql(e,t,n){if(!n){e.value=!1,Nt(t,"0");return}if(typeof Notification>"u")return;let s=Notification.permission;if(s==="default")try{s=await Notification.requestPermission()}catch{}Wl.value=s,s==="granted"&&(e.value=!0,Nt(t,"1"))}function q2(e){return ql(zl,Ge.notifyOnComplete,e)}function H2(e){return ql(Fl,Ge.notifyOnQuestion,e)}function U2(e){return ql(Nl,Ge.notifyOnApproval,e)}function Hl(...e){for(const t of e){const n=t?.trim();if(n)return n}return""}function V2(e){return{title:wt.global.t("settings.notifyTitle"),body:Hl(e,wt.global.t("settings.notifyFallback"))}}function j2(e,t){return{title:wt.global.t("settings.notifyQuestionTitle"),body:Hl(t,e,wt.global.t("settings.notifyQuestionFallback"))}}function K2(e,t){return{title:wt.global.t("settings.notifyApprovalTitle"),body:Hl(t,e,wt.global.t("settings.notifyApprovalFallback"))}}function Ul(e,t,n,s){if(!e||typeof Notification>"u")return;const o=Notification.permission;if(o!=="denied"){if(o==="default"){Notification.requestPermission().then(i=>{Wl.value=i,i==="granted"&&Qr(t,n,s)});return}Qr(t,n,s)}}function Qr(e,t,n){if(!e.isUserWatching)try{const s=new Notification(t.title,{body:t.body,tag:n,icon:W2});s.onclick=()=>{try{window.focus()}catch{}e.onClick(),s.close()}}catch{}}function G2(e,t){Ul(zl.value,t,V2(t.sessionTitle),`kimi-complete-${e}-${t.promptId??Date.now()}`)}function Q2(e){Ul(Fl.value,e,j2(e.sessionTitle,e.questionPreview),`kimi-question-${e.questionId}`)}function Y2(e){Ul(Nl.value,e,K2(e.sessionTitle,e.toolName),`kimi-approval-${e.approvalId}`)}function Z2(){return{notifyOnComplete:zl,notifyOnQuestion:Fl,notifyOnApproval:Nl,notifyPermission:Wl,setNotifyOnComplete:q2,setNotifyOnQuestion:H2,setNotifyOnApproval:U2,maybeNotifyCompletion:G2,maybeNotifyQuestion:Q2,maybeNotifyApproval:Y2}}function X2(){return Dt(Ge.soundOnComplete)==="1"}const Vo=x(X2());function J2(){if(typeof window>"u")return;const e=window;return window.AudioContext??e.webkitAudioContext}let Ta=null;function Hc(){const e=J2();if(!e)return null;if(Ta===null)try{Ta=new e}catch{return null}return Ta}function Uc(){if(!Vo.value)return;const e=Hc();e!==null&&e.state==="suspended"&&e.resume().then(()=>{Os("sound: audio context resumed",{state:e.state})},t=>{Os("sound: audio context resume rejected",{error:String(t)})})}let Yr=!1;function ew(){if(Yr||typeof window>"u")return;Yr=!0;const e=()=>{Uc()};window.addEventListener("pointerdown",e,{capture:!0}),window.addEventListener("keydown",e,{capture:!0})}ew();function tw(e){Vo.value=e,Nt(Ge.soundOnComplete,e?"1":"0"),e&&Uc()}function Zr(e,t,n,s,o){const i=e.createOscillator(),u=e.createGain();i.type="sine",i.frequency.value=t,i.connect(u),u.connect(e.destination);const p=e.currentTime+n;u.gain.setValueAtTime(1e-4,p),u.gain.exponentialRampToValueAtTime(o,p+.01),u.gain.exponentialRampToValueAtTime(1e-4,p+s),i.start(p),i.stop(p+s+.02)}function Vl(){const e=Hc();if(e===null){Os("sound: skipped, AudioContext unavailable");return}if(e.state!=="running"){Os("sound: skipped, context not running",{state:e.state}),e.state==="suspended"&&e.resume().then(()=>{Os("sound: context resumed for next time",{state:e.state})},t=>{Os("sound: resume rejected",{error:String(t)})});return}try{Zr(e,880,0,.16,.18),Zr(e,1320,.1,.22,.16),Os("sound: chime scheduled",{state:e.state})}catch(t){Os("sound: failed to play",{error:String(t)})}}function nw(){Vo.value&&Vl()}function sw(){Vo.value&&Vl()}function ow(){Vo.value&&Vl()}function iw(){return{soundOnComplete:Vo,setSoundOnComplete:tw,maybePlayCompletionSound:nw,maybePlayQuestionSound:sw,maybePlayApprovalSound:ow}}const aw=1e3,lw=4096,Xr=32*1024;function rw(e,t){let n=null,s;const o=new Set;async function i(h){try{const $=await Re().listTasks(h);e.tasksBySession={...e.tasksBySession,[h]:Hr($,e.tasksBySession[h]??[])},await u(h,$)}catch{}}async function u(h,m){if(e.activeSessionId!==h)return;const $=m??e.tasksBySession[h]??[],g=Re(),y=new Map;if(await Promise.all($.map(async B=>{if((B.status==="completed"||B.status==="failed"||B.status==="cancelled")&&!o.has(B.id)&&!((B.outputLines?.length??0)>0))try{const P=await g.getTask(h,B.id,{withOutput:!0,outputBytes:Xr});P.outputPreview!==void 0&&y.set(B.id,{preview:P.outputPreview,bytes:P.outputBytes}),o.add(B.id)}catch{}})),y.size===0)return;const S=e.tasksBySession[h]??[];e.tasksBySession={...e.tasksBySession,[h]:S.map(B=>{const b=y.get(B.id)??(B.backgroundTaskId!==void 0?y.get(B.backgroundTaskId):void 0);return b?{...B,outputPreview:b.preview,outputBytes:b.bytes}:B})}}async function p(h){if(e.activeSessionId!==h)return;const m=Re();let $;try{$=await m.listTasks(h)}catch{return}const g=new Map;await Promise.all($.map(async b=>{const P=b.status==="running",E=b.status==="completed"||b.status==="failed"||b.status==="cancelled";if(!(!P&&!E)&&!(E&&(o.has(b.id)||(b.outputLines?.length??0)>0)))try{const L=await m.getTask(h,b.id,{withOutput:!0,outputBytes:P?lw:Xr});L.outputPreview!==void 0&&g.set(b.id,{preview:L.outputPreview,bytes:L.outputBytes}),E&&o.add(b.id)}catch{}}));const y=e.tasksBySession[h]??[],S=new Map(y.map(b=>[b.id,b])),B=$.map(b=>{const P=S.get(b.id),E=g.get(b.id);return{...b,outputLines:P?.outputLines,text:P?.text,outputPreview:E?.preview??P?.outputPreview,outputBytes:E?.bytes??P?.outputBytes}});e.tasksBySession={...e.tasksBySession,[h]:Hr(B,y)}}function f(h){n!==null&&s===h||(v(),s=h,p(h),n=setInterval(()=>{typeof document<"u"&&document.visibilityState==="hidden"||(e.activeSessionId===h?p(h):v())},aw))}function v(){n!==null&&(clearInterval(n),n=null),s=void 0,o.clear()}const k=x(0);let T=null;return Ne(()=>t.value.some(h=>h.status==="running"),h=>{h&&T===null?T=setInterval(()=>{k.value=(k.value+1)%Number.MAX_SAFE_INTEGER},1e3):!h&&T!==null&&(clearInterval(T),T=null)},{immediate:!0}),Ne(()=>{const h=e.activeSessionId;if(!h)return{sid:void 0,hasRunning:!1};const m=e.tasksBySession[h]??[];return{sid:h,hasRunning:m.some($=>$.status==="running")}},({sid:h,hasRunning:m},$,g)=>{let y;m&&h!==void 0?f(h):h!==void 0?y=setTimeout(()=>{(e.tasksBySession[h]??[]).some(B=>B.status==="running")||v()},1500):v(),g(()=>{y!==void 0&&clearTimeout(y)})},{deep:!0,immediate:!0}),{taskClock:M(()=>k.value),loadTasksForSession:i}}function aa(e){if(e===void 0)return"toggle";const t=e.capabilities??[];return t.includes("always_thinking")?"always-on":t.includes("thinking")||e.adaptiveThinking===!0?"toggle":"unsupported"}function Vc(e){return e?.supportEfforts??[]}function uw(e){return e[Math.floor(e.length/2)]}function ri(e){if(aa(e)==="unsupported")return"off";const t=Vc(e);return t.length>0?e?.defaultEffort??uw(t):"on"}function la(e){const t=Vc(e),n=aa(e);return t.length>0?n==="always-on"?[...t]:["off",...t]:n==="always-on"?["on"]:n==="unsupported"?["off"]:["on","off"]}function al(e){return e.length===0?e:e.charAt(0).toUpperCase()+e.slice(1)}function cw(e){return e!=="off"}function dw(e,t){return la(e).includes(t)}function jl(e,t){return t==="off"?"off":t==="on"?ri(e):t}function ui(e,t){return t??ri(e)}function pw(e,t){if(e==="off")return{enabled:!1};if(e==="on")return{enabled:!0};const n=t?.at(-1);return n!==void 0&&e===n?{enabled:!0}:{enabled:!0,effort:e}}function fw(e,t,n){return!n||e===void 0?t:ri(e)}const Ms=x(null),Oo=x(!1);function Kl(e){const t=Ms.value;!t||Oo.value||(Ms.value=null,t.resolve(e))}async function mw(){const e=Ms.value;if(!(!e||Oo.value)){if(!e.action){Kl(!0);return}Oo.value=!0;try{await e.action(),Ms.value===e&&(Ms.value=null),e.resolve(!0)}catch(t){Ms.value===e&&(Ms.value=null),e.reject(t)}finally{Oo.value=!1}}}function vw(e){return Oo.value?Promise.resolve(!1):(Ms.value&&Kl(!1),new Promise((t,n)=>{Ms.value={...e,resolve:t,reject:n}}))}function xo(){return{current:Ms,busy:Oo,confirm:vw,settle:Kl,runAction:mw}}function gw(e){return e.startsWith("diff --git")||e.startsWith("index ")||e.startsWith("--- ")||e.startsWith("+++ ")||e.startsWith("new file mode")||e.startsWith("deleted file mode")||e.startsWith("old mode")||e.startsWith("new mode")||e.startsWith("similarity index")||e.startsWith("dissimilarity index")||e.startsWith("rename from")||e.startsWith("rename to")||e.startsWith("copy from")||e.startsWith("copy to")||e.startsWith("Binary files")}function hw(e){const t=[];if(!e)return t;let n=0,s=0,o=!1;for(const i of e.split(`
-`)){if(i.startsWith("diff --git")){o=!1;continue}if(!o&&gw(i))continue;if(i.startsWith("@@")){const f=/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@/.exec(i);f&&(n=Number.parseInt(f[1],10),s=Number.parseInt(f[2],10)),o=!0,t.push({type:"hunk",text:i});continue}if(!o||i.startsWith("\\"))continue;const u=i.charAt(0),p=i.slice(1);u==="+"?(t.push({type:"add",text:p,newNo:s}),s+=1):u==="-"?(t.push({type:"del",text:p,oldNo:n}),n+=1):u===" "&&(t.push({type:"context",text:p,oldNo:n,newNo:s}),n+=1,s+=1)}return t}function yw(e){if(e.draftModel&&e.draftModel.length>0)return e.draftModel;if(e.planModeOn&&e.planningModel&&e.planningModel.length>0)return e.planningModel;if(e.defaultModel&&e.defaultModel.length>0)return e.defaultModel}const Gl={text:"",attachments:[]};Object.freeze(Gl);Object.freeze(Gl.attachments);function Jr(e){return{text:e.text.trim(),attachments:[...e.attachments??[]]}}function kw(e,t,n=[]){const s=[],o=[];for(const u of e){const p=u.text.trim();p&&s.push(p),u.attachments?.length&&o.push(...u.attachments)}const i=t.trim();return i&&s.push(i),n.length&&o.push(...n),s.length===0&&o.length===0?null:{text:s.join(`
-
-`),attachments:o}}function jc(e){return e.planArmed||e.planMode}function bw(e){return{planMode:e.planMode||e.planArmed,planArmed:!1}}function ww(e){return{planMode:!1,planArmed:!1}}const ll="/sessions/";function eu(e){const{pathname:t}=e;if(!t.startsWith(ll))return;const n=t.slice(ll.length);if(!(!n||n.includes("/")))try{const s=decodeURIComponent(n);return s.length>0?s:void 0}catch{return}}function Sw(e){return e===void 0||e.length===0?"/":`${ll}${encodeURIComponent(e)}`}const Cw=50,rl=5,_w=40402,Mw=40410,$w=40902,Tw=2e3;function xa(e){return Rn(e)&&e.code===$w}const xw=40904;function Iw(e){return Rn(e)&&e.code===xw}const Aw=41301,Pw=413;function Ew(e){return Rn(e)?e.code===Aw||e.code===Pw:!1}const uo=jn({}),Pi=jn({}),Ia=jn({}),Aa=jn({}),ws=jn(new Set),ra=new Map,_o=new Map,Gi=new Map;let Bw=0;const po=new Map,Lw=3;let tu=0;function Rw(){return tu+=1,`${Date.now().toString(36)}-${tu}`}function Dw(e){return{generation:ra.get(e)??0,pending:(_o.get(e)?.size??0)>0}}function ul(e){const t=++Bw;ra.set(e,t);const n=_o.get(e)??new Set;return n.add(t),_o.set(e,n),t}function cl(e,t){const n=_o.get(e);if(n===void 0||(n.delete(t),n.size>0))return;_o.delete(e);const s=Gi.get(e);Gi.delete(e),s?.()}function Ow(e){ra.delete(e),_o.delete(e),Gi.delete(e),po.delete(e)}function zw(e,t){return!t.pending&&t.generation===(ra.get(e)??0)}function Fw(e,t){if((_o.get(e)?.size??0)===0){t();return}Gi.set(e,t)}function Nw(e,t){const{t:n}=wt.global,{confirm:s}=xo(),{taskPoller:o,sideChat:i,modelProvider:u,pushOperationFailure:p,activity:f,sessionsKnownEmpty:v,setSessions:k,updateSession:T,upsertSessionFront:h,appendSession:m,forgetSession:$,setActiveSessionId:g,updateSessionMessages:y,nextOptimisticMsgId:S,getEventConn:B,syncSessionFromSnapshot:b,reopenSession:P,hasLoadedMessages:E,refreshSessionStatus:L,refreshSessionGoal:N,persistSessionProfile:Q,mergedWorkspaces:V,workspacesView:_,status:z,workspaceIdForSession:D,savePermissionToStorage:ee,savePlanModeToStorage:me,savePlanArmedToStorage:ve,saveSwarmModeToStorage:Be,saveSupermoonModeToStorage:ie,saveGoalModeToStorage:le,draftModes:ne,saveUnread:ae,saveActiveWorkspaceToStorage:se,saveHiddenWorkspacesToStorage:ge,goalErrorMessage:re,resetFastMoon:F,initialized:Z,connectIssue:ke,selectedDiffPath:we,fileDiffLines:Oe,fileDiffLoading:Ve}=t;let be=!1;async function ze(C){if(e.messagesLoadingMoreBySession[C])return;const O=e.messagesBySession[C];if(!O||O.length===0)return;const K=O[0].id;e.messagesLoadingMoreBySession={...e.messagesLoadingMoreBySession,[C]:!0},e.messagesLoadMoreErrorBySession={...e.messagesLoadMoreErrorBySession,[C]:!1};try{const ue=await Re().listMessages(C,{beforeId:K,pageSize:Cw}),he=[...ue.items].reverse();y(C,xe=>[...he,...xe]),e.messagesHasMoreBySession={...e.messagesHasMoreBySession,[C]:ue.hasMore}}catch(ue){e.messagesLoadMoreErrorBySession={...e.messagesLoadMoreErrorBySession,[C]:!0},p("loadOlderMessages",ue,{sessionId:C})}finally{e.messagesLoadingMoreBySession={...e.messagesLoadingMoreBySession,[C]:!1}}}function oe(C){o.loadTasksForSession(C),Y(C),L(C),N(C),Object.prototype.hasOwnProperty.call(u.skillsBySession.value,C)||u.loadSkillsForSession(C)}async function J(C){const O=e.activeSessionId;if(O){we.value=C,Oe.value=[],Ve.value=!0;try{const ue=await Re().getFileDiff(O,C);if(we.value!==C)return;Oe.value=hw(ue.diff)}catch(K){we.value===C&&(Oe.value=[]),console.warn("[loadFileDiff] diff unavailable for",C,K)}finally{we.value===C&&(Ve.value=!1)}}}function U(){we.value=null,Oe.value=[],Ve.value=!1}async function Y(C){try{const K=await Re().getGitStatus(C);e.gitStatusBySession={...e.gitStatusBySession,[C]:K}}catch{}}async function ye(){try{const O=await Re().getAuth();return e.authReady=O.ready,e.accountModel=O.defaultModel,e.managedProviderStatus=O.managedProvider?.status??null,ke.value=null,"proceed"}catch(C){return Rn(C)&&(C.code===401||C.code===Bc)?(ke.value=null,"server-auth-required"):(ke.value=(C instanceof Error?C.message:String(C)).slice(0,140),"retry")}}async function st(){let C=!0;for(;;){const O=await ye();if(O!=="retry")return O;C&&(ke.value=null,C=!1),await new Promise(K=>{setTimeout(K,Tw)})}}async function et(){try{const C=Re();e.config=await C.getConfig(),e.defaultModel=e.config?.defaultModel??e.accountModel??null}catch{e.defaultModel=e.accountModel??null}}async function pt(C){try{const K=await Re().setConfig(C);return e.config=K,e.defaultModel=K.defaultModel??e.accountModel??null,!0}catch(O){return p("setConfig",O),!1}}const Me=100,Te=30,Se=720*60*1e3;async function Ae(){const C=Re(),O=[];let K,ue;for(;;){let he;try{he=await C.listSessions({pageSize:Me,beforeId:K,excludeEmpty:!0})}catch(xe){if(O.length===0)throw xe;ue=xe;break}if(O.push(...he.items),!he.hasMore||he.items.length===0)break;K=he.items[he.items.length-1].id}return{sessions:O,error:ue}}function Xe(C){const O=new Map(e.sessions.map(K=>[K.id,K.usage]));k(C.map(K=>{const ue=O.get(K.id);return ue!==void 0&&Ya(K.usage)&&!Ya(ue)?{...K,usage:ue}:K}))}function yt(C){const O=[...C],K=new Set(O.map(ue=>ue.id));for(const ue of e.sessions)K.has(ue.id)||(O.push(ue),K.add(ue.id));return O.sort((ue,he)=>new Date(he.updatedAt).getTime()-new Date(ue.updatedAt).getTime()),O}async function qe(C){const O=Re(),K=[],ue=Date.now(),he=ft=>ue-new Date(ft.updatedAt).getTime();let xe,tt=!1,mt=!0,lt;for(;;){let ft;try{ft=await O.listSessions({workspaceId:C,pageSize:rl,beforeId:xe,excludeEmpty:!0})}catch(Je){if(mt)throw Je;lt=Je,tt=!0;break}if(tt=ft.hasMore,ft.items.length===0)break;const tn=ft.items[ft.items.length-1],kt=he(tn)>=Se;if(!mt&&kt){const Je=ft.items.findIndex(kn=>he(kn)>=Se),$t=Je>=0?Je+1:ft.items.length;K.push(...ft.items.slice(0,$t)),tt=ft.hasMore||$tqe(Je.id))),K=[],ue=new Set,he=new Map,xe=new Set;let tt;for(let Je=0;Jexe.has(Je.id)).map(Je=>Je.root)),lt=new Set(C.map(Je=>Je.id));for(const Je of e.sessions)!(Je.workspaceId!==void 0&<.has(Je.workspaceId)?xe.has(Je.workspaceId):mt.has(Je.cwd)||xe.has(D(Je)))||ue.has(Je.id)||(K.push(Je),ue.add(Je.id));const ft={},tn={},kt={};for(const{id:Je}of C){const $t=he.get(Je);if($t===void 0){const kn=e.sessionsHasMoreByWorkspace[Je],jt=e.sessionsCursorByWorkspace[Je],as=e.sessionsInitialCountByWorkspace[Je];kn!==void 0&&(ft[Je]=kn),jt!==void 0&&(tn[Je]=jt),as!==void 0&&(kt[Je]=as);continue}ft[Je]=$t.hasMore,tn[Je]=$t.items.length>0?$t.items[$t.items.length-1].id:void 0,kt[Je]=Math.max($t.items.length,rl)}return e.sessionsHasMoreByWorkspace=ft,e.sessionsCursorByWorkspace=tn,e.sessionsInitialCountByWorkspace=kt,e.sessionsFullyLoaded=!1,K.sort((Je,$t)=>new Date($t.updatedAt).getTime()-new Date(Je.updatedAt).getTime()),xe.size>0&&p("load",tt),K}async function Ue(C){if(e.sessionsLoadingMoreByWorkspace[C]||e.sessionsHasMoreByWorkspace[C]===!1)return;const O=e.sessionsCursorByWorkspace[C];if(O!==void 0){e.sessionsLoadingMoreByWorkspace={...e.sessionsLoadingMoreByWorkspace,[C]:!0};try{const K=await Re().listSessions({workspaceId:C,pageSize:Te,beforeId:O,excludeEmpty:!0}),ue=new Set(e.sessions.map(xe=>xe.id)),he=K.items.filter(xe=>!ue.has(xe.id));he.length>0&&k([...e.sessions,...he]),e.sessionsCursorByWorkspace={...e.sessionsCursorByWorkspace,[C]:K.items.length>0?K.items[K.items.length-1].id:O},e.sessionsHasMoreByWorkspace={...e.sessionsHasMoreByWorkspace,[C]:K.hasMore}}catch(K){p("loadMoreSessions",K)}finally{e.sessionsLoadingMoreByWorkspace={...e.sessionsLoadingMoreByWorkspace,[C]:!1}}}}async function dt(){if(e.sessionsFullyLoaded)return;const C=await Ae().catch(ue=>(console.warn("[kimi-web] loadAllSessions failed; search covers only loaded sessions",ue),null));if(C===null)return;const O=C.error===void 0?C.sessions:yt(C.sessions);if(Xe(O),e.sessionsFullyLoaded=C.error===void 0,C.error!==void 0)return;const K={};for(const ue of e.workspaces)K[ue.id]=!1;e.sessionsHasMoreByWorkspace=K}async function at(){const C=await Re().getMeta().catch(()=>null);C!==null&&(e.serverVersion=C.serverVersion,e.availableOpenInApps=C.openInApps,e.dangerousBypassAuth=C.dangerousBypassAuth,e.kimiOauthEnabled=C.kimiOauthEnabled,e.backend=C.backend,e.webTitle=C.webTitle??null)}async function Lt(){const C=Date.now();let O="accepted";nn("app:load:start"),e.loading=!0;const K=!Z.value;let ue=!0;try{if(K&&await st()==="server-auth-required"){ue=!1,O="auth-required";return}const he=Re();await Promise.all([he.getHealth().catch(()=>null),at(),u.loadModels()]),K||await ye(),await et(),await Ht();const xe=await He(),tt=xe??e.sessions;xe!==void 0&&Xe(xe);const mt=tt[0],lt=e.activeWorkspaceId;!(lt!==null&&V.value.some(kt=>kt.id===lt))&&mt&&ct(D(mt)),In();const tn=typeof window<"u"?eu(window.location):void 0;!e.activeSessionId&&tn!==void 0&&(e.sessions.some(Je=>Je.id===tn)||await fn(tn))&&await Ct(tn,{urlMode:"replace"}),!e.activeSessionId&&tt.length>0&&await Ct(tt[0].id,{urlMode:"replace"})}catch(he){O="failed",p("load",he)}finally{e.loading=!1,ue&&(Z.value=!0),nn("app:load:complete",{status:O,sessionId:e.activeSessionId,sessionCount:e.sessions.length,workspaceCount:e.workspaces.length,durationMs:Date.now()-C})}}async function Ht(){try{const C=Re(),[O,K]=await Promise.all([C.listWorkspaces().catch(()=>[]),C.getFsHome().catch(()=>({home:"",recentRoots:[]}))]);e.workspaces=rn(O),e.fsHome=K.home||null,e.recentRoots=K.recentRoots}catch{}}function rn(C){const O=Si();return Object.keys(O).length===0?C:C.map(K=>{const ue=O[K.root];return ue!==void 0?{...K,name:ue}:K})}function ct(C){e.activeWorkspaceId=C,se(C)}function sn(C){ct(C);const O=e.sessions.filter(K=>D(K)===C);if(O.length>0){const K=O[0];K&&K.id!==e.activeSessionId&&Ct(K.id)}else g(void 0),Ot(void 0,"push")}function on(C){const O=Si()[C.root],K=O!==void 0?{...C,name:O}:C,ue=us(K.root);e.hiddenWorkspaceRoots.some(tt=>us(tt)===ue)&&(e.hiddenWorkspaceRoots=e.hiddenWorkspaceRoots.filter(tt=>us(tt)!==ue),ge(e.hiddenWorkspaceRoots));const he=e.workspaces.findIndex(tt=>tt.id===K.id||tt.root===K.root);if(he===-1){e.workspaces=[K,...e.workspaces];return}const xe=[...e.workspaces];xe[he]=K,e.workspaces=xe}function Kn(C){if(C.type==="workspaceCreated"||C.type==="workspaceUpdated"){on(C.workspace);return}const O=e.workspaces.find(ue=>ue.id===C.workspaceId)?.root??C.root;if(O&&!e.hiddenWorkspaceRoots.includes(O)&&(e.hiddenWorkspaceRoots=[...e.hiddenWorkspaceRoots,O],ge(e.hiddenWorkspaceRoots)),e.workspaces=e.workspaces.filter(ue=>ue.id!==C.workspaceId&&ue.root!==O),e.activeWorkspaceId===C.workspaceId||e.activeWorkspaceId===O){const ue=_.value[0]?.id??null;if(e.activeWorkspaceId=ue,ue)se(ue);else try{So(Ge.activeWorkspace)}catch{}g(void 0),e.sessionLoading=!1,U(),Ot(void 0,"replace")}}function Wt(){g(void 0),Ot(void 0,"push")}function Wn(C){ct(C),Wt(),U()}async function un(C){const O=V.value.find(Je=>Je.id===C);if(!O)return null;const K=e.thinking,ue=Re();let he,xe=O.root;try{const Je=await ue.addWorkspace({root:O.root});he=Je.id,xe=Je.root,on(Je)}catch{}const tt=u.draftModel.value??void 0,mt=ne.planMode||e.config?.defaultPlanMode===!0&&!ne.planModeTouched,lt=yw({draftModel:tt,defaultModel:e.defaultModel,planningModel:e.config?.planningModel,planModeOn:mt}),ft=await ue.createSession({workspaceId:he,cwd:xe,model:lt});u.draftModel.value=null;const tn=lt!==void 0&&(!ft.model||ft.model.length===0)?{...ft,model:lt}:ft;h(tn),ct(ft.workspaceId??he??C),await Ct(ft.id);const kt=ft.id;return K!==void 0&&(e.thinkingBySession={...e.thinkingBySession,[kt]:K}),ne.planMode?(e.planModeBySession={...e.planModeBySession,[kt]:!0},me(),Cs(e,kt)):e.config?.defaultPlanMode===!0&&!ne.planModeTouched&&(e.planModeBySession={...e.planModeBySession,[kt]:!0},me(),Cs(e,kt)),ne.swarmMode&&(e.swarmModeBySession={...e.swarmModeBySession,[kt]:!0},Be(),Cs(e,kt)),ne.supermoonMode&&(e.supermoonModeBySession={...e.supermoonModeBySession,[kt]:!0},ie(),Cs(e,kt)),ne.goalMode&&(e.goalModeBySession={...e.goalModeBySession,[kt]:!0},le()),ne.planArmed&&(e.planArmedBySession={...e.planArmedBySession,[kt]:!0},ve()),ne.planMode=!1,ne.planArmed=!1,ne.swarmMode=!1,ne.supermoonMode=!1,ne.goalMode=!1,ne.planModeTouched=!1,kt}async function ss(C,O,K){if(!ws.has(C)){ws.add(C);try{const ue=await un(C);if(!ue)return;await an(ue,O,K)}catch(ue){p("startSessionAndSendPrompt",ue)}finally{ws.delete(C)}}}async function Gn(C,O,K,ue){if(!ws.has(C)){ws.add(C);try{const he=await un(C);if(!he)return;const xe=e.planModeBySession[he]??!1,tt=e.swarmModeBySession[he]??!1,mt=e.supermoonModeBySession[he]??!1,lt=e.sessions.find(kt=>kt.id===he),ft=(lt?.model&<.model.length>0?lt.model:e.defaultModel)??void 0;if(!await Q({model:ft,planMode:xe,swarmMode:tt,supermoonMode:mt,permissionMode:e.permission},he))return;await u.activateSkill(O,K,he,ue)}catch(he){p("startSessionAndActivateSkill",he)}finally{ws.delete(C)}}}async function Yt(C,O){if(!ws.has(C)){ws.add(C);try{const K=await un(C);if(!K)return;await i.openSideChatOn(K,O)}catch(K){p("startSessionAndOpenSideChat",K)}finally{ws.delete(C)}}}async function Ut(C){const O=C.trim();if(!O)return!1;const K=Re();try{const ue=await K.addWorkspace({root:O});return on(ue),Wn(ue.id),!0}catch(ue){return console.warn("[kimi-web] addWorkspaceByPath failed for",O,ue),!1}}async function wn(C){try{return await Re().browseFs(C)}catch{return{path:"",parent:null,entries:[]}}}async function Qn(){try{return await Re().getFsHome()}catch{return{home:"",recentRoots:[]}}}function Ot(C,O){if(O==="none"||typeof window>"u"||!window.history)return;const K=Sw(C);if(window.location.pathname!==K)try{O==="push"?window.history.pushState(null,"",K):window.history.replaceState(null,"",K)}catch{}}async function fn(C){try{const O=await Re().getSession(C);return e.sessions.some(K=>K.id===O.id)||m(O),!0}catch{return!1}}function xn(){const C=eu(window.location);if(C===void 0){g(void 0);return}if(C!==e.activeSessionId){if(e.sessions.some(O=>O.id===C)){Ct(C,{urlMode:"none"});return}(async()=>{if(await fn(C)){await Ct(C,{urlMode:"none"});return}const O=e.sessions[0];O?await Ct(O.id,{urlMode:"replace"}):(g(void 0),Ot(void 0,"replace"))})()}}let Xt=!1;function In(){Xt||typeof window>"u"||(Xt=!0,window.addEventListener("popstate",xn))}async function Ct(C,O){const K=E(C),ue=!K&&v.has(C);v.delete(C);try{Ot(C,O?.urlMode??"push"),e.sessionLoading=!K&&!ue,g(C),F(),e.unreadBySession[C]&&(e.unreadBySession={...e.unreadBySession,[C]:!1},ae({[C]:!1})),U();const he=e.sessions.find(xe=>xe.id===C);if(he){const xe=D(he);e.activeWorkspaceId!==xe&&ct(xe)}if(K){if(await P(C)==="not-found")return}else if(await b(C)==="not-found")return;oe(C)}catch(he){p("selectSession",he,{sessionId:C})}finally{e.activeSessionId===C&&(e.sessionLoading=!1)}}async function an(C,O,K){const ue=ul(C);e.inFlightBySession={...e.inFlightBySession,[C]:!0};const he=S();try{const xe=Re(),tt=[];O&&tt.push({type:"text",text:O});for(const jt of K??[])jt.kind==="video"?tt.push({type:"video",source:{kind:"file",fileId:jt.fileId}}):jt.kind==="file"?tt.push({type:"file",fileId:jt.fileId,name:jt.name??"",mediaType:jt.mediaType||"application/octet-stream",size:jt.size??0}):tt.push({type:"image",source:{kind:"file",fileId:jt.fileId}});if(tt.length===0)return e.inFlightBySession={...e.inFlightBySession,[C]:!1},"rejected";const mt={id:he,sessionId:C,role:"user",content:tt,createdAt:new Date().toISOString(),metadata:{"kimiWeb.optimisticUserMessage":!0}};y(C,jt=>[...jt,mt]);const lt=e.sessions.find(jt=>jt.id===C),ft=(lt?.model&<.model.length>0?lt.model:e.defaultModel)??void 0,tn=e.swarmModeBySession[C]??!1,kt=e.supermoonModeBySession[C]??!1,Je=e.goalModeBySession[C]??!1;if(Je&&O){At(C);try{await xe.updateSession(C,{goalObjective:O.trim()})}catch(jt){return p("createGoal",jt,{sessionId:C}),e.inFlightBySession={...e.inFlightBySession,[C]:!1},y(C,as=>as.some(Ks=>Ks.id===he)?as.filter(Ks=>Ks.id!==he):as),"rejected"}}const $t=It(C),kn=await xe.submitPrompt(C,{content:tt,model:ft,thinking:await u.resolveThinkingForPrompt(C,ft)??e.thinking,permissionMode:e.permission,planMode:$t,swarmMode:tn,supermoonMode:kt});return Je&&(e.goalModeBySession={...e.goalModeBySession,[C]:!1},le()),e.promptIdBySession={...e.promptIdBySession,[C]:kn.promptId},y(C,jt=>{const as=jt.findIndex($p=>$p.id===he);if(as===-1)return jt;const Ks=[...jt];return Ks[as]={...Ks[as],promptId:Ks[as].promptId??kn.promptId},Ks}),B()?.bindNextPromptId(C,kn.promptId),"ok"}catch(xe){return e.inFlightBySession={...e.inFlightBySession,[C]:!1},y(C,tt=>tt.some(mt=>mt.id===he)?tt.filter(mt=>mt.id!==he):tt),p("sendPrompt",xe,{sessionId:C}),Rn(xe)?"rejected":"uncertain"}finally{cl(C,ue)}}async function Jt(C,O){const K=e.activeSessionId;if(K){if(f.value!=="idle"||e.inFlightBySession[K]){gn(C,O);return}if((e.queuedBySession[K]?.length??0)>0){gn(C,O),Cn(K);return}await an(K,C,O)}}async function Mt(C,O,K,ue){if(f.value==="idle"&&!e.inFlightBySession[C]){await an(C,O,K)==="rejected"&&ue();return}const he=[];O&&he.push({type:"text",text:O});for(const lt of K)lt.kind==="video"?he.push({type:"video",source:{kind:"file",fileId:lt.fileId}}):lt.kind==="file"?he.push({type:"file",fileId:lt.fileId,name:lt.name??"",mediaType:lt.mediaType||"application/octet-stream",size:lt.size??0}):he.push({type:"image",source:{kind:"file",fileId:lt.fileId}});const xe=S(),tt={id:xe,sessionId:C,role:"user",content:he,createdAt:new Date().toISOString(),metadata:{"kimiWeb.optimisticUserMessage":!0}};y(C,lt=>[...lt,tt]);const mt=ul(C);try{const lt=Re(),ft=e.sessions.find(Je=>Je.id===C),tn=(ft?.model&&ft.model.length>0?ft.model:e.defaultModel)??void 0,kt=await lt.submitPrompt(C,{content:he,model:tn,thinking:await u.resolveThinkingForPrompt(C,tn)??e.thinking,permissionMode:e.permission,planMode:It(C),swarmMode:e.swarmModeBySession[C]??!1,supermoonMode:e.supermoonModeBySession[C]??!1});if(y(C,Je=>{const $t=Je.findIndex(jt=>jt.id===xe);if($t===-1)return Je;const kn=[...Je];return kn[$t]={...kn[$t],promptId:kn[$t].promptId??kt.promptId},kn}),kt.status!=="queued"){e.promptIdBySession={...e.promptIdBySession,[C]:kt.promptId},B()?.bindNextPromptId(C,kt.promptId);return}try{await lt.steerPrompts(C,[kt.promptId])}catch{}}catch(lt){y(C,ft=>ft.filter(tn=>tn.id!==xe)),Rn(lt)&&ue(),p("steer",lt,{sessionId:C})}finally{cl(C,mt)}}async function Sn(C,O){const K=e.activeSessionId;if(!K)return;const ue=e.queuedBySession[K]??[],he=kw(ue,C,O);if(he===null)return;ue.length>0&&(e.queuedBySession={...e.queuedBySession,[K]:[]});const xe=()=>{if(ue.length===0)return;const tt=e.queuedBySession[K]??[];e.queuedBySession={...e.queuedBySession,[K]:[...ue,...tt]}};await Mt(K,he.text,he.attachments,xe)}async function Et(C){const O=e.activeSessionId;if(!O)return;const K=e.queuedBySession[O]??[],ue=K[C];if(!ue)return;e.queuedBySession={...e.queuedBySession,[O]:K.filter((tt,mt)=>mt!==C)};const he=Jr(ue);if(he.text.length===0&&he.attachments.length===0)return;const xe=()=>{const mt=[...e.queuedBySession[O]??[]];mt.splice(Math.min(C,mt.length),0,ue),e.queuedBySession={...e.queuedBySession,[O]:mt}};await Mt(O,he.text,he.attachments,xe)}async function cn(C){const O=e.activeSessionId;if(!O)return;const K=e.queuedBySession[O]??[],ue=K[C];if(!ue)return;e.queuedBySession={...e.queuedBySession,[O]:K.filter((tt,mt)=>mt!==C)};const he=Jr(ue);if(he.text.length===0&&he.attachments.length===0)return;if(await an(O,he.text,he.attachments)==="rejected"){const mt=[...e.queuedBySession[O]??[]];mt.splice(Math.min(C,mt.length),0,ue),e.queuedBySession={...e.queuedBySession,[O]:mt}}}async function zn(C,O){try{const ue=await Re().uploadFile({file:C,name:O});return{fileId:ue.id,name:ue.name,mediaType:ue.mediaType}}catch(K){return p("uploadImage",K),null}}function gn(C,O){const K=e.activeSessionId;if(!K)return;const ue=e.queuedBySession[K]??[],he={text:C,attachments:O,id:Rw()};e.queuedBySession={...e.queuedBySession,[K]:[...ue,he]}}function Cn(C){const[O,...K]=e.queuedBySession[C]??[];O!==void 0&&(e.queuedBySession={...e.queuedBySession,[C]:K},an(C,O.text,O.attachments).then(ue=>{if(ue==="ok"){po.delete(C);return}if(ue==="uncertain"){po.delete(C);return}if(!e.sessions.some(lt=>lt.id===C)){po.delete(C);return}const he=O.id??O.text,xe=po.get(C),tt=xe!==void 0&&xe.key===he?xe.count+1:1;if(tt>=Lw){po.delete(C),(e.queuedBySession[C]?.length??0)>0&&Cn(C);return}po.set(C,{key:he,count:tt});const mt=e.queuedBySession[C]??[];e.queuedBySession={...e.queuedBySession,[C]:[O,...mt]}}))}function hn(C,O){const K=e.inFlightBySession[C]===!0;if(e.inFlightBySession={...e.inFlightBySession,[C]:!1},e.promptIdBySession[C]!==void 0){const he={...e.promptIdBySession};delete he[C],e.promptIdBySession=he}return C===e.activeSessionId&&F(),(K||O?.turnWasActive===!0||(e.turnActiveBySession[C]??!1))&&Cn(C),K}function Fn(C,O){O.inFlightTurn!==null&&O.busy||hn(C)}async function An(){const C=e.activeSessionId;if(!C)return;const O=e.sessions.find(he=>he.id===C);let K=e.promptIdBySession[C];if(K===void 0){const he=O?.currentPromptId;he!==void 0&&he.length>0&&!he.startsWith("pr_")&&(K=he)}const ue=Re();if(K!==void 0)try{if((await ue.abortPrompt(C,K)).aborted)return;const xe={...e.promptIdBySession};delete xe[C],e.promptIdBySession=xe}catch(he){if(Rn(he)&&he.code===_w){const xe={...e.promptIdBySession};delete xe[C],e.promptIdBySession=xe}else{p("abortCurrentPrompt",he,{sessionId:C});return}}try{await ue.abortSession(C)}catch(he){p("abortCurrentPrompt",he,{sessionId:C})}}function dn(C,O){const K=e.approvalsBySession[C]??[];e.approvalsBySession={...e.approvalsBySession,[C]:K.filter(ue=>ue.approvalId!==O)}}function mn(C,O){const K=e.questionsBySession[C]??[];e.questionsBySession={...e.questionsBySession,[C]:K.filter(ue=>ue.questionId!==O)}}async function en(C,O){const K=e.activeSessionId;if(K&&!Pi[C]){Pi[C]=!0;try{const ue=Re(),he={decision:O.decision,scope:O.scope,feedback:O.feedback,selectedLabel:O.selectedLabel};await ue.respondApproval(K,C,he),dn(K,C)}catch(ue){xa(ue)?dn(K,C):p("respondApproval",ue,{sessionId:K})}finally{delete Pi[C]}}}async function Yn(C,O){const K=e.activeSessionId;if(K&&!uo[C]){uo[C]="answer";try{await Re().respondQuestion(K,C,O),mn(K,C)}catch(ue){xa(ue)?mn(K,C):p("respondQuestion",ue,{sessionId:K})}finally{delete uo[C]}}}async function Ce(C){const O=e.activeSessionId;if(O&&!uo[C]){uo[C]="dismiss";try{await Re().dismissQuestion(O,C),mn(O,C)}catch(K){xa(K)?mn(O,C):p("dismissQuestion",K,{sessionId:O})}finally{delete uo[C]}}}async function fe(C){const O=e.activeSessionId;if(O&&!Ia[C]){Ia[C]=!0;try{const K=Re(),ue=(e.tasksBySession[O]??[]).find(xe=>xe.id===C)?.backgroundTaskId;await K.cancelTask(O,ue??C);const he=e.tasksBySession[O]??[];e.tasksBySession={...e.tasksBySession,[O]:he.map(xe=>xe.id===C?{...xe,status:"cancelled"}:xe)}}catch(K){Iw(K)||p("cancelTask",K,{sessionId:O})}finally{delete Ia[C]}}}async function We(C){const O=e.activeSessionId;if(O&&!Aa[C]){Aa[C]=!0;try{const K=Re(),ue=(e.tasksBySession[O]??[]).find(tt=>tt.id===C)?.backgroundTaskId,he=await K.detachTask(O,ue??C),xe=e.tasksBySession[O]??[];e.tasksBySession={...e.tasksBySession,[O]:xe.map(tt=>tt.id===C?{...tt,status:he.status,runInBackground:!0,backgroundTaskId:ue??tt.backgroundTaskId??C}:tt)}}catch(K){p("detachTask",K,{sessionId:O})}finally{delete Aa[C]}}}function it(C){const O=e.activeSessionId;O?(e.planModeBySession={...e.planModeBySession,[O]:C},Cs(e,O),me(),Q({planMode:C})):(ne.planMode=C,ne.planModeTouched=!0)}function zt(){const C=e.activeSessionId,O=C?e.planModeBySession[C]??!1:ne.planMode;it(!O)}function Ft(){const C=e.activeSessionId;C?(e.planArmedBySession={...e.planArmedBySession,[C]:!0},ve(),e.goalModeBySession[C]&&(e.goalModeBySession={...e.goalModeBySession,[C]:!1},le())):(ne.planArmed=!0,ne.goalMode=!1)}function Zt(){const C=e.activeSessionId,O=C?{planMode:e.planModeBySession[C]??!1,planArmed:e.planArmedBySession[C]??!1}:{planMode:ne.planMode,planArmed:ne.planArmed},K=ww();C?(O.planMode&&it(!1),O.planArmed&&(e.planArmedBySession={...e.planArmedBySession,[C]:!1},ve())):(O.planMode&&(ne.planModeTouched=!0),ne.planMode=K.planMode,ne.planArmed=K.planArmed)}function Vt(){const C=e.activeSessionId,O=C?{planMode:e.planModeBySession[C]??!1,planArmed:e.planArmedBySession[C]??!1}:{planMode:ne.planMode,planArmed:ne.planArmed};jc(O)?Zt():Ft()}function It(C){const O={planMode:e.planModeBySession[C]??!1,planArmed:e.planArmedBySession[C]??!1},K=bw(O);return(K.planMode!==O.planMode||K.planArmed!==O.planArmed)&&(e.planModeBySession={...e.planModeBySession,[C]:K.planMode},e.planArmedBySession={...e.planArmedBySession,[C]:K.planArmed},Cs(e,C),me(),ve(),K.planMode!==O.planMode&&Q({planMode:K.planMode},C)),K.planMode}function At(C){e.planModeBySession[C]&&(e.planModeBySession={...e.planModeBySession,[C]:!1},Cs(e,C),me(),Q({planMode:!1},C)),e.planArmedBySession[C]&&(e.planArmedBySession={...e.planArmedBySession,[C]:!1},ve())}function yn(C){const O=e.activeSessionId;O?(e.swarmModeBySession={...e.swarmModeBySession,[O]:C},Cs(e,O),Be(),Q({swarmMode:C})):ne.swarmMode=C}async function fs(){const C=e.activeSessionId,K=!(C?e.swarmModeBySession[C]??!1:ne.swarmMode);K&&e.permission==="manual"&&!await s({title:n("workspace.swarmEnableConfirm"),variant:"primary"})||yn(K)}function ms(C,O){e.supermoonModeBySession={...e.supermoonModeBySession,[O]:C},Cs(e,O),ie(),C?qn(O):$s(O),Q({supermoonMode:C},O)}function _n(C){const O=e.activeSessionId;O?ms(C,O):ne.supermoonMode=C}function vs(){const C=e.activeSessionId,O=C?e.supermoonModeBySession[C]??!1:ne.supermoonMode;_n(!O)}function qn(C){const O=u.models.value.find(xe=>xe.id===z.value.modelId),K=O?.supportEfforts??[];if(K.length===0)return;const ue=K[K.length-1],he=ui(O,e.thinking);u.setThinking(ue),e.supermoonPreviousEffortBySession={...e.supermoonPreviousEffortBySession,[C]:he}}function $s(C){const O=e.supermoonPreviousEffortBySession[C];if(O===void 0)return;const K={...e.supermoonPreviousEffortBySession};delete K[C],e.supermoonPreviousEffortBySession=K;try{u.setThinking(O)}catch(ue){p("setSupermoonMode",ue,{sessionId:C})}}function gs(C){const O=e.activeSessionId;O?(e.goalModeBySession={...e.goalModeBySession,[O]:C},le(),C&&At(O)):(ne.goalMode=C,C&&(ne.planMode=!1,ne.planModeTouched=!0,ne.planArmed=!1))}function Hs(){const C=e.activeSessionId,O=C?e.goalModeBySession[C]??!1:ne.goalMode;gs(!O)}async function Pn(C){const O=C.trim();if(!O||e.permission==="manual"&&!await s({title:n("workspace.goalStartConfirm",{objective:O}),variant:"primary"}))return;let K=e.activeSessionId;if(!K){const ue=e.activeWorkspaceId,he=ue&&_.value.some(xe=>xe.id===ue)?ue:_.value[0]?.id??null;if(!he)return;try{K=await un(he)??void 0}catch(xe){p("createGoal",xe);return}if(!K)return}At(K);try{await Re().updateSession(K,{goalObjective:O})}catch(ue){p("createGoal",ue,{sessionId:K,message:re(ue)});return}e.goalModeBySession[K]&&(e.goalModeBySession={...e.goalModeBySession,[K]:!1},le()),e.activeSessionId===K?await Jt(O):await an(K,O)}function Ts(C){const O=e.activeSessionId;O&&Promise.resolve(Re().updateSession(O,{goalControl:C})).catch(K=>{p("controlGoal",K,{sessionId:O,message:re(K)})})}function Us(C){e.permission=C,ee(C),Q({permissionMode:C})}function lo(C){const O=[...e.warnings];O.splice(C,1),e.warnings=O}async function Vs(C,O){try{await Re().updateSession(C,{title:O}),T(C,ue=>({...ue,title:O}))}catch(K){p("renameSession",K,{sessionId:C})}}async function hs(C){const O=await Re().generateSessionTitle(C,{force:!0,source:"digest"});return O!==null&&T(C,K=>({...K,title:O})),O}async function xs(C,O){const K=e.workspaces.find(he=>he.id===C)?.root,ue=()=>{e.workspaces=e.workspaces.map(he=>he.id===C?{...he,name:O}:he)};try{if(await Re().updateWorkspace(C,{name:O}),K!==void 0){const he=Si();K in he&&(delete he[K],pr(he))}ue()}catch(he){if(K!==void 0&&Rn(he)&&he.code===Mw){pr({...Si(),[K]:O}),ue();return}p("renameWorkspace",he)}}async function js(C){const O=e.workspaces.find(xe=>xe.id===C)?.root??V.value.find(xe=>xe.id===C)?.root??C,K=e.activeSessionId?e.sessions.find(xe=>xe.id===e.activeSessionId):void 0,ue=e.activeWorkspaceId===C||e.activeWorkspaceId===O,he=!!(K&&(K.cwd===O||K.workspaceId===C||D(K)===C));O&&!e.hiddenWorkspaceRoots.includes(O)&&(e.hiddenWorkspaceRoots=[...e.hiddenWorkspaceRoots,O],ge(e.hiddenWorkspaceRoots));try{await Re().deleteWorkspace(C)}catch(xe){console.warn("[kimi-web] deleteWorkspace registry cleanup failed for",C,xe)}if(e.workspaces=e.workspaces.filter(xe=>xe.id!==C&&xe.root!==O),ue||he){const xe=_.value[0]?.id??null;if(e.activeWorkspaceId=xe,xe)se(xe);else try{So(Ge.activeWorkspace)}catch{}}(ue||he)&&(g(void 0),e.sessionLoading=!1,U(),Ot(void 0,"replace"))}async function Is(C){try{await Re().archiveSession(C),$(C),i.clearSideChatForSession(C);const{[C]:K,...ue}=e.sideChatUserMessageIdsBySession;if(e.sideChatUserMessageIdsBySession=ue,e.activeSessionId===C){const he=e.sessions[0];he?await Ct(he.id,{urlMode:"replace"}):(g(void 0),Ot(void 0,"replace"))}}catch(O){p("archiveSession",O,{sessionId:C})}}function As(C){e.warnings=[...e.warnings,C]}function Hn(C,O){e.warnings=[...e.warnings.filter(K=>K!==C),...O===void 0?[]:[O]]}async function os(C){if(be)return;const O=C??e.activeSessionId;if(!O){const he=n("commands.export.noSession");nn("export:failed",{status:"no-session"}),p("exportSession",new Error(he),{message:he});return}be=!0;const K=Date.now();nn("export:start",{sessionId:O});const ue={severity:"info",title:n("commands.export.started"),sticky:!0};As(ue);try{const he=jy(),{blob:xe,fileName:tt}=await Re().exportSession(O,he);if(typeof document>"u")throw new Error("Document is unavailable");const mt=URL.createObjectURL(xe);let lt;try{lt=document.createElement("a"),lt.href=mt,lt.download=tt,document.body.append(lt),lt.click()}finally{lt?.remove(),setTimeout(()=>{try{URL.revokeObjectURL(mt)}catch{}},0)}Hn(ue,{severity:"success",title:n("commands.export.done")}),nn("export:accepted",{sessionId:O,status:"accepted",zipBytes:xe.size,durationMs:Date.now()-K})}catch(he){const xe=typeof he=="object"&&he!==null?he:void 0;nn("export:failed",{sessionId:O,status:"failed",durationMs:Date.now()-K,errorName:typeof xe?.name=="string"?xe.name:typeof he,errorCode:typeof xe?.code=="number"?xe.code:void 0,requestId:typeof xe?.requestId=="string"?xe.requestId:void 0,phase:typeof xe?.phase=="string"?xe.phase:void 0,httpStatus:typeof xe?.status=="number"?xe.status:void 0}),Hn(ue,void 0),Ew(he)?p("exportSession",he,{sessionId:O,title:n("commands.export.tooLarge")}):p("exportSession",he,{sessionId:O})}finally{be=!1}}async function ys(C){try{const O=await Re().restoreSession(C);return h(O),!0}catch(O){return p("restoreSession",O,{sessionId:C}),!1}}function ks(C){return Re().listSessions({archivedOnly:!0,beforeId:C?.beforeId,pageSize:C?.pageSize??50})}async function Ie(){try{await Re().logout(),await ye(),await Lt()}catch(C){p("logout",C)}}function H(C){const O=e.activeSessionId;O&&Re().compactSession(O,C).catch(K=>{p("compact",K,{sessionId:O})})}async function A(C){const O=C??e.activeSessionId;if(O)try{const K=await Re().forkSession(O);h(K),await Ct(K.id)}catch(K){p("fork",K,{sessionId:O})}}async function _e(C=1){const O=e.activeSessionId;if(!O)return null;const K=(()=>{const ue=e.messagesBySession[O]??[];for(let he=ue.length-1;he>=0;he--){const xe=ue[he];if(xe.role==="user"&&!(xe.metadata?.origin&&xe.metadata.origin.kind!=="user"))return xe.content.filter(tt=>tt.type==="text").map(tt=>tt.text).join(`
-`)}return null})();try{return await Re().undoSession(O,C),await b(O),K}catch(ue){return p("undo",ue,{sessionId:O}),null}}function $e(C){const O=e.activeSessionId;if(!O)return;const K=e.queuedBySession[O]??[];if(C<0||C>=K.length)return;const ue=[...K];ue.splice(C,1),e.queuedBySession={...e.queuedBySession,[O]:ue}}function _t(C,O){const K=e.activeSessionId;if(!K)return;const ue=e.queuedBySession[K]??[];if(C===O||C<0||C>=ue.length||O<0||O>=ue.length)return;const he=[...ue],[xe]=he.splice(C,1);xe!==void 0&&(he.splice(O,0,xe),e.queuedBySession={...e.queuedBySession,[K]:he})}async function j(C){const O=e.activeSessionId;if(!O)return[];try{return(await Re().listDirectory(O,{path:C,includeGitStatus:!0})).items}catch{return[]}}async function G(C){const O=e.activeSessionId;if(!O)return null;try{const ue=await Re().readFile(O,{path:C});return{path:ue.path,content:ue.content,encoding:ue.encoding,mime:ue.mime,languageId:ue.languageId,isBinary:ue.isBinary,size:ue.size,lineCount:ue.lineCount}}catch(K){return console.warn("[kimi-web] readFileContent failed for",C,K),null}}const de=10485760;function ot(C){const O=e.activeSessionId;return O?Re().getFileDownloadUrl(O,C):null}async function ut(C,O){const K=e.activeSessionId;if(!K)return!1;try{return await Re().openFile(K,{path:C,line:O}),!0}catch(ue){return p("openFile",ue,{sessionId:K}),!1}}async function Rt(C,O,K){const ue=e.activeSessionId;if(!ue)return;const he=O??(z.value.cwd||".");try{await Re().openInApp(ue,C,he,K)}catch(xe){p("openInApp",xe,{sessionId:ue})}}async function pn(C){const O=e.activeSessionId;if(!O)return!1;try{return await Re().revealFile(O,{path:C}),!0}catch(K){return p("revealFile",K,{sessionId:O}),!1}}async function is(C){if(/^(https?:|data:|blob:)/i.test(C))return C;const O=e.activeSessionId;if(!O)return C;let K=C;if(K.startsWith("/")){const ue=e.sessions.find(he=>he.id===O)?.cwd;if(ue&&(K===ue||K.startsWith(ue.endsWith("/")?ue:`${ue}/`))){if(K=K.slice(ue.length).replace(/^\//,""),!K)return C}else return C}if(K.startsWith("/")||K.startsWith("~")||K.includes(".."))return C;try{const he=await Re().readFile(O,{path:K,length:de});return!he.isBinary||he.encoding!=="base64"||he.truncated?C:`data:${he.mime};base64,${he.content}`}catch{return C}}async function bs(C){const O=e.sessions.find(ue=>ue.id===e.activeSessionId),K=O===void 0?e.activeWorkspaceId:D(O);if(!K)return[];try{return(await Re().searchFiles(K,{query:C,limit:20})).items.map(xe=>({path:xe.path,name:xe.name}))}catch{return[]}}return{loadFileDiff:J,clearFileDiff:U,loadGitStatus:Y,checkAuth:ye,loadConfig:et,updateConfig:pt,listAllSessionsGlobal:Ae,load:Lt,refreshServerMeta:at,loadWorkspaces:Ht,loadMoreSessions:Ue,loadAllSessions:dt,selectWorkspace:ct,openWorkspace:sn,upsertWorkspacePreserveOrder:on,applyWorkspaceEvent:Kn,clearActiveSession:Wt,openWorkspaceDraft:Wn,startSessionAndSendPrompt:ss,startSessionAndActivateSkill:Gn,startSessionAndOpenSideChat:Yt,addWorkspaceByPath:Ut,browseFs:wn,getFsHome:Qn,writeSessionUrl:Ot,fetchSessionIntoList:fn,onSessionRoutePopState:xn,bindSessionRoute:In,selectSession:Ct,submitPromptInternal:an,finishPromptLocal:hn,localTurnStartState:Dw,isLocalTurnSnapshotCurrent:zw,afterLocalTurnStartsSettle:Fw,handleSessionSnapshot:Fn,sendPrompt:Jt,steerPrompt:Sn,steerQueuedPrompt:Et,sendQueuedPrompt:cn,uploadImage:zn,enqueue:gn,unqueue:$e,reorderQueue:_t,abortCurrentPrompt:An,respondApproval:en,respondQuestion:Yn,dismissQuestion:Ce,pendingQuestionActions:uo,pendingApprovalActions:Pi,cancelTask:fe,detachTask:We,setPlanMode:it,togglePlanMode:zt,armPlanMode:Ft,dismissPlanMode:Zt,togglePlanArm:Vt,setSwarmMode:yn,toggleSwarmMode:fs,setSupermoonMode:_n,toggleSupermoonMode:vs,pinSupermoonEffort:qn,restoreSupermoonEffort:$s,setGoalMode:gs,toggleGoalMode:Hs,createGoal:Pn,controlGoal:Ts,setPermission:Us,dismissWarning:lo,renameSession:Vs,regenerateSessionTitle:hs,renameWorkspace:xs,deleteWorkspace:js,archiveSession:Is,exportSession:os,restoreSession:ys,loadArchivedSessions:ks,logout:Ie,compact:H,forkSession:A,undo:_e,listDir:j,readFileContent:G,getFileDownloadUrl:ot,openWorkspaceFile:ut,openInApp:Rt,revealWorkspaceFile:pn,resolveImageUrl:is,searchFiles:bs,loadOlderMessages:ze,refreshSessionSidecars:oe,isStartingFirstPrompt:()=>ws.size>0}}const Kc=Ge.starredModels,nu=new Error("profile persist failed");function Ww(){try{const e=Dt(Kc);if(!e)return[];const t=JSON.parse(e);if(Array.isArray(t)&&t.every(n=>typeof n=="string"))return t}catch{}return[]}function qw(e){try{Nt(Kc,JSON.stringify(e))}catch{}}function Hw(e,t){const{pushOperationFailure:n,refreshSessionStatus:s,persistSessionProfile:o,activity:i,updateSession:u,updateSessionMessages:p}=t,f=x([]),v=x(Ww()),k=x({}),T=x({}),h=x([]),m=x(null);function $(F){if(!(F==null||F.length===0))return f.value.find(Z=>Z.id===F)??f.value.find(Z=>Z.model===F)}function g(){const F=e.activeSessionId?e.sessions.find(ke=>ke.id===e.activeSessionId):void 0,Z=F===void 0?m.value??e.defaultModel:F.model||e.defaultModel;return $(Z)?.id??Z??void 0}function y(F){if(F===void 0)return;const Z=$(F);return Z===void 0?void 0:ri(Z)}function S(F,Z){const ke=F==null?void 0:e.thinkingBySession[F];return ke!==void 0&&dw(Z,ke)?ke:ri(Z)}function B(F,Z){if(Z===void 0)return;const ke=$(Z);return ke===void 0?void 0:S(F,ke)}async function b(F,Z){return F!=null&&e.thinkingBySession[F]===void 0&&await s(F),B(F,Z)}function P(F){e.thinking=F;const Z=e.activeSessionId;return F!==void 0&&Z!==null&&Z!==void 0&&(e.thinkingBySession={...e.thinkingBySession,[Z]:F}),F}Ne([()=>e.activeSessionId,()=>g(),()=>{const F=e.activeSessionId;return F==null?void 0:e.thinkingBySession[F]}],()=>{const F=$(g());F!==void 0&&(e.thinking=S(e.activeSessionId,F))});function E(F){Re().setConfig({thinking:pw(F,$(g())?.supportEfforts)}).catch(Z=>n("setConfig",Z))}async function L(F){try{const ke=await Re().listSkills(F);k.value={...k.value,[F]:ke}}catch{}}async function N(F){try{const ke=await Re().listSkillsForWorkspace(F);T.value={...T.value,[F]:ke}}catch{}}async function Q(){try{const F=Re();f.value=await F.listModels();const Z=$(g());Z!==void 0&&(e.thinking=S(e.activeSessionId,Z))}catch(F){n("loadModels",F)}}async function V(){try{const F=Re();h.value=await F.listProviders()}catch(F){n("loadProviders",F)}}async function _(F){const Z=e.activeSessionId,ke=$(F),we=e.thinking,Oe=Z?e.sessions.find(ze=>ze.id===Z)?.model:void 0,Ve=g()!==(ke?.id??F),be=fw(ke,we,Ve);if(!Z)return m.value=F,e.thinking=be,be!==we&&be!==void 0&&E(be),!0;u(Z,ze=>({...ze,model:F})),be!==we&&(e.thinking=be,be!==void 0&&(e.thinkingBySession={...e.thinkingBySession,[Z]:be}));try{await Re().updateSession(Z,{model:F,thinking:be!==we?be:void 0})}catch(ze){return u(Z,oe=>({...oe,model:Oe??oe.model})),be!==we&&(e.thinking=we,we!==void 0&&(e.thinkingBySession={...e.thinkingBySession,[Z]:we})),n("setModel",ze,{sessionId:Z}),!1}return be!==we&&be!==void 0&&E(be),await s(Z),!0}function z(F){const Z=new Set(v.value);Z.has(F)?Z.delete(F):Z.add(F),v.value=Array.from(Z),qw(v.value)}async function D(F,Z,ke,we){const Oe=ke??e.activeSessionId;if(!Oe)return;const Ve=i.value==="idle"&&!e.inFlightBySession[Oe],be=`msg_skill_opt_${Date.now().toString(36)}`,ze=Ve?ul(Oe):void 0;if(Ve){e.inFlightBySession={...e.inFlightBySession,[Oe]:!0};const oe={id:be,sessionId:Oe,role:"user",content:[{type:"text",text:`/${F}${Z?` ${Z}`:""}`}],createdAt:new Date().toISOString(),metadata:{"kimiWeb.optimisticUserMessage":!0,origin:{kind:"skill_activation",trigger:"user-slash",skillName:F,skillArgs:Z}}};p(Oe,J=>[...J,oe])}try{const oe=e.sessions.find(Y=>Y.id===Oe)?.model,J=(oe&&oe.length>0?oe:e.defaultModel)??void 0;if(!await o({thinking:await b(Oe,J)??e.thinking},Oe))throw nu;await Re().activateSkill(Oe,F,Z,we)}catch(oe){Ve&&(e.inFlightBySession={...e.inFlightBySession,[Oe]:!1},p(Oe,J=>J.filter(U=>U.id!==be))),oe!==nu&&n("activateSkill",oe,{sessionId:Oe})}finally{ze!==void 0&&cl(Oe,ze)}}async function ee(F){try{await Re().addProvider(F),await Promise.all([V(),Q()])}catch(Z){n("addProvider",Z)}}async function me(F){try{await Re().deleteProvider(F),await Promise.all([V(),Q()])}catch(Z){n("deleteProvider",Z)}}async function ve(F){try{const Z=await Re().refreshProvider(F);for(const ke of Z.failed)n("refreshProvider",new Error(ke.reason),{message:ke.provider});await Promise.all([V(),Q()])}catch(Z){n("refreshProvider",Z)}}async function Be(){try{const F=await Re().refreshAllProviders();for(const Z of F.failed)n("refreshAllProviders",new Error(Z.reason),{message:Z.provider});await Promise.all([V(),Q()])}catch(F){n("refreshAllProviders",F)}}async function ie(F){try{await Re().importCatalogProvider(F),await Promise.all([V(),Q()])}catch(Z){n("importCatalogProvider",Z)}}async function le(F){try{await Re().importRegistry(F),await Promise.all([V(),Q()])}catch(Z){n("importRegistry",Z)}}async function ne(F){try{return await Re().startOAuthLogin(F)}catch{return null}}async function ae(){try{return await Re().resolveOAuthRegion()}catch{return null}}async function se(){try{return await Re().pollOAuthLogin()}catch(F){return console.warn("[kimi-web] pollOAuthLogin failed",F),null}}async function ge(){try{await Re().cancelOAuthLogin()}catch{}}function re(F){const Z=P(F);o({thinking:Z}),Z!==void 0&&E(Z)}return{models:f,starredModelIds:v,providers:h,draftModel:m,skillsBySession:k,skillsByWorkspace:T,loadSkillsForSession:L,loadSkillsForWorkspace:N,loadModels:Q,loadProviders:V,setModel:_,thinkingLevelForModelId:y,thinkingLevelForSessionId:B,resolveThinkingForPrompt:b,toggleStarModel:z,activateSkill:D,addProvider:ee,deleteProvider:me,refreshProvider:ve,refreshAllProviders:Be,importCatalogProvider:ie,importRegistry:le,startOAuthLogin:ne,resolveOAuthRegion:ae,pollOAuthLogin:se,cancelOAuthLogin:ge,setThinking:re}}const Uw=/^read[_-]?media(?:file)?$/i,Vw=/^data:([^;]+);base64,(.*)$/s,jw=/^<(image|video|audio)\s+path="([^"]+)">$/,Kw=/^<(image|video|audio)\s+path="([^"]+)">(?:<\/\1>)?$/,Gw=/Mime type:\s*([^.\s]+)/i,Qw=/Size:\s*(\d+)\s*bytes/i,Yw=/Original dimensions:\s*(\d+)x(\d+)\s*pixels/i,Zw="Image compressed to fit model limits:",Xw=/Image compressed to fit model limits:[\s\S]*?<\/system>/g;function Jw(e){return e.includes(Zw)?e.replace(Xw,""):e}function e4(e){return e.replaceAll(""",'"').replaceAll("<","<").replaceAll(">",">").replaceAll("&","&")}function t4(e){const t=Kw.exec(e.trim());return t?{kind:t[1],path:e4(t[2])}:null}const Gc=/^f_(?:[0-9A-Za-z]{26}|[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12})$/,n4=/^f_(?:[0-9A-Za-z]{26}|[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12})(?=-)/;function s4(e){const t=e.split(/[\\/]/).at(-1)??"",n=t.lastIndexOf("."),s=n>0?t.slice(0,n):t;return Gc.test(s)?s:void 0}const o4=/^Attached file "(.+)" \(([^,]+), (\d+) bytes\): (.+) — open it with the Read tool$/;function i4(e){const t=o4.exec(e.trim());if(!t)return null;const n=(t[4]??"").split(/[\\/]/).at(-1)??"",s=n4.exec(n)?.[0];return{name:t[1],mediaType:t[2],size:Number(t[3]),fileId:s!==void 0&&Gc.test(s)?s:void 0}}function a4(e){if(e.length===0)return 0;const t=e.endsWith("==")?2:e.endsWith("=")?1:0;return Math.floor(e.length*3/4)-t}function l4(e){if(Array.isArray(e))return e;if(typeof e!="string")return null;try{const t=JSON.parse(e);return Array.isArray(t)?t:null}catch{return null}}function r4(e){const t=e.type,n=t==="image_url"?"image":t==="video_url"?"video":t==="audio_url"?"audio":null;if(n===null)return null;const o=e[n==="image"?"imageUrl":n==="video"?"videoUrl":"audioUrl"];if(typeof o!="object"||o===null)return null;const i=o.url;return typeof i=="string"?{kind:n,url:i}:null}function u4(e,t){if(!Uw.test(e))return;const n=l4(t);if(n===null)return;let s,o,i,u,p,f=null;for(const k of n){if(typeof k!="object"||k===null)continue;const T=k;if(T.type==="text"&&typeof T.text=="string"){const m=T.text,$=jw.exec(m);$&&(o=$[1],s=$[2]);const g=Gw.exec(m);g?.[1]&&(i=g[1]);const y=Qw.exec(m);y?.[1]&&(u=Number(y[1]));const S=Yw.exec(m);S?.[1]&&S[2]&&(p=`${S[1]}x${S[2]}`);continue}const h=r4(T);h&&(f=h)}if(f===null)return;const v=Vw.exec(f.url);return v?.[1]&&(i=v[1]),v?.[2]&&(u=a4(v[2])),{kind:f.kind??o??"image",url:f.url,path:s,mimeType:i,bytes:Number.isFinite(u)?u:void 0,dimensions:p}}function c4(e){if(e!=null){if(typeof e=="string")return e.split(`
-`);if(Array.isArray(e)){const t=[];for(const n of e)if(typeof n=="string")t.push(...n.split(`
-`));else if(n&&typeof n=="object"){const s=n;s.type==="text"&&typeof s.text=="string"?t.push(...s.text.split(`
-`)):s.type==="think"&&typeof s.think=="string"?t.push(...s.think.split(`
-`)):s.type==="image_url"||s.type==="image"?t.push("[image]"):typeof s.type=="string"?t.push(`[${s.type}]`):t.push(JSON.stringify(n))}return t.length>0?t:void 0}return[JSON.stringify(e)]}}function d4(e){return{id:e.id,toolCallId:e.parentToolCallId,name:e.description,subagentType:e.subagentType,phase:e.subagentPhase??(e.status==="completed"?"completed":e.status==="failed"?"failed":"working"),status:e.status,summary:e.outputPreview,outputLines:e.outputLines,text:e.text,suspendedReason:e.suspendedReason,swarmIndex:e.swarmIndex}}function p4(e,t){const n=e.split(`
-`),s=t.split(`
-`),o=[];return n.forEach((i,u)=>{o.push({kind:"rem",gutter:String(u+1),text:`- ${i}`})}),s.forEach((i,u)=>{o.push({kind:"add",gutter:String(u+1),text:`+ ${i}`})}),o}function f4(e){const t=e.display??{},n=typeof t.kind=="string"?t.kind:"";if(n==="diff"){const s=typeof t.path=="string"?t.path:"";return Array.isArray(t.diff)?{kind:"diff",path:s,diff:t.diff}:typeof t.old_text=="string"&&typeof t.new_text=="string"?{kind:"diff",path:s,diff:p4(t.old_text,t.new_text)}:{kind:"diff",path:s,diff:[]}}if(n==="shell"||n==="command")return{kind:"shell",command:typeof t.command=="string"?t.command:e.action,cwd:typeof t.cwd=="string"?t.cwd:void 0,danger:typeof t.danger=="string"?t.danger:void 0};if(n==="file_content"||n==="file")return{kind:"file",path:typeof t.path=="string"?t.path:"",content:typeof t.content=="string"?t.content:"",language:typeof t.language=="string"?t.language:void 0};if(n==="file_op"||n==="fileop")return{kind:"fileop",op:typeof t.operation=="string"?t.operation:typeof t.op=="string"?t.op:n,path:typeof t.path=="string"?t.path:"",detail:typeof t.detail=="string"?t.detail:void 0};if(n==="url_fetch"||n==="url")return{kind:"url",method:typeof t.method=="string"?t.method:void 0,url:typeof t.url=="string"?t.url:e.action};if(n==="search")return{kind:"search",query:typeof t.query=="string"?t.query:e.action,scope:typeof t.scope=="string"?t.scope:void 0};if(n==="invocation"||n==="agent_call"||n==="skill_call")return{kind:"invocation",kind2:typeof t.kind=="string"?t.kind:n,name:typeof t.name=="string"?t.name:e.toolName,description:typeof t.description=="string"?t.description:void 0};if(n==="todo"||n==="todo_list")return{kind:"todo",items:(Array.isArray(t.items)?t.items:[]).map(i=>{const u=i??{};return{title:typeof u.title=="string"?u.title:"",status:typeof u.status=="string"?u.status:"pending"}})};if(n==="plan_review"){const s=typeof t.plan=="string"?t.plan:"",o=typeof t.path=="string"?t.path:void 0,u=(Array.isArray(t.options)?t.options:[]).map(p=>{const f=p??{},v=typeof f.label=="string"?f.label:"";if(!v)return null;const k=typeof f.description=="string"?f.description:void 0;return{label:v,description:k}}).filter(p=>p!==null);return{kind:"plan_review",plan:s,path:o,options:u.length>0?u:void 0}}return{kind:"generic",summary:e.action}}function m4(e){const t=`
-`,n=`
- `,s=e.indexOf(t),o=e.lastIndexOf(n);return s>=0&&o>=s+t.length?e.slice(s+t.length,o):v4(e)}function v4(e){const t=e.split(`
-`);return t.length>=2&&t[0]?.startsWith(""?t.slice(1,-1).join(`
-`):e}function g4(e){const t=e.metadata?.origin;if(t?.kind==="cron_job"||t?.kind==="cron_missed")return t.kind}function h4(e){const t=e.content.filter(n=>n.type==="text").map(n=>n.text).join(`
-`);return m4(t)}function y4(e,t){const n=e.metadata?.origin??{},s=h4(e);return t==="cron_missed"?{text:s,cron:{missedCount:typeof n.count=="number"?n.count:void 0}}:{text:s,cron:{jobId:typeof n.jobId=="string"?n.jobId:void 0,cron:typeof n.cron=="string"?n.cron:void 0,recurring:typeof n.recurring=="boolean"?n.recurring:void 0,coalescedCount:typeof n.coalescedCount=="number"?n.coalescedCount:void 0,stale:typeof n.stale=="boolean"?n.stale:void 0}}}function k4(e,t,n){const{text:s,cron:o}=y4(e,n);return{id:e.id,role:"cron",no:t,text:s,createdAt:e.createdAt,cron:o}}function b4(e){const t=e.metadata?.origin,n=t?.kind;return n===void 0||n==="user"?!0:n==="skill_activation"||n==="plugin_command"?t?.trigger==="user-slash":!1}function w4(e){return e.metadata?.origin?.kind==="compaction_summary"}function su(e,t){return e===null?!1:e.promptId===void 0||t===void 0||e.promptId===t}function S4(e){if(!e||e.length===0)return;const t="Plan saved to: ";for(const n of e)if(n.startsWith(t))return n.slice(t.length).trim()}function C4(e){let t="",n="";const s=[],o=[];for(const i of e)i.type==="text"?t+=i.text:i.type==="thinking"?n+=i.thinking:i.type==="toolUse"?s.push(i.toolCallId):o.push(JSON.stringify(i));return s.sort(),o.sort(),{text:t,thinking:n,toolIds:s,rest:o}}function _4(e,t){return t.text!==""&&t.text!==e.text||t.thinking!==""&&t.thinking!==e.thinking?!1:t.toolIds.every(n=>e.toolIds.includes(n))&&t.rest.every(n=>e.rest.includes(n))}function Qc(e,t,n,s=!0,o={}){const i=[];let u=1;const p=new Map;for(const m of t)p.set(m.toolCallId,m);let f=null;function v(m=!1){if(!f)return;const $=f;if(f=null,!m||!s)for(let g=0;g<$.tools.length;g++){const y=$.tools[g];if(y.status!=="running")continue;const S={...y,status:"ok"};$.tools[g]=S;const B=$.blocks.find(b=>b.kind==="tool"&&b.tool.id===S.id);B&&B.kind==="tool"&&(B.tool=S)}i.push({id:$.id,role:"assistant",no:u++,text:$.textParts.join(`
-`),thinking:$.thinkingParts.length>0?$.thinkingParts.join(`
-`):void 0,tools:$.tools.length>0?$.tools:void 0,blocks:$.blocks.length>0?$.blocks:void 0,approval:$.approval,approvalId:$.approvalId,durationMs:$.durationMs,createdAt:$.createdAt})}function k(m,$){for(const g of $)if(g.type==="text"){if(g.text){m.textParts.push(g.text);const y=m.blocks.at(-1);y&&y.kind==="text"?y.text+=`
-`+g.text:m.blocks.push({kind:"text",text:g.text})}}else if(g.type==="thinking"){if(g.thinking){m.thinkingParts.push(g.thinking);const y=m.blocks.at(-1);y&&y.kind==="thinking"?y.thinking+=`
-`+g.thinking:m.blocks.push({kind:"thinking",thinking:g.thinking})}}else if(g.type==="toolUse"){const y=p.get(g.toolCallId),S={id:g.toolCallId,name:g.toolName,arg:typeof g.input=="string"?g.input:JSON.stringify(g.input),status:"running",output:g.outputLines,planPath:g.toolName==="ExitPlanMode"?o[g.toolCallId]?.path:void 0};m.tools.push(S),m.blocks.push({kind:"tool",tool:S}),y&&(m.approval=f4(y),m.approvalId=y.approvalId)}else if(g.type==="toolResult"){const y=m.tools.findIndex(S=>S.id===g.toolCallId);if(y!==-1){const S=m.tools[y],B={...S,status:g.isError?"error":"ok",output:c4(g.output),media:g.isError?void 0:u4(S.name,g.output)};B.name==="ExitPlanMode"&&!B.planPath&&(B.planPath=S4(B.output)),m.tools[y]=B;const b=m.blocks.find(P=>P.kind==="tool"&&P.tool.id===g.toolCallId);b&&b.kind==="tool"&&(b.tool=B)}}}function T(m,$){for(const g of $){if(g.type!=="toolUse"||!g.outputLines?.length)continue;const y=m.tools.findIndex(P=>P.id===g.toolCallId);if(y===-1)continue;const S=m.tools[y];if(S.output!==void 0)continue;const B={...S,output:g.outputLines};m.tools[y]=B;const b=m.blocks.find(P=>P.kind==="tool"&&P.tool.id===g.toolCallId);b&&b.kind==="tool"&&(b.tool=B)}}function h(m){if(m.type==="image"||m.type==="video"){const $=m.type,g=m.source;if(g.kind==="url")return{url:g.url,kind:$};if(g.kind==="base64")return{url:`data:${g.mediaType};base64,${g.data}`,kind:$};if(g.kind==="file"&&n)return{url:n(g.fileId),kind:$,fileId:g.fileId}}if(m.type==="file"&&n){if(m.mediaType.startsWith("image/"))return{url:n(m.fileId),kind:"image",fileId:m.fileId};if(m.mediaType.startsWith("video/"))return{url:n(m.fileId),kind:"video",fileId:m.fileId}}}for(const m of e){if(m.role==="system")continue;const $=m.metadata?.[Sc];if($!==void 0){su(f,m.promptId)||(v(),f={id:m.id,promptId:m.promptId,textParts:[],thinkingParts:[],tools:[],blocks:[],approval:void 0,approvalId:void 0,foldedSigs:[],durationMs:void 0,createdAt:m.createdAt}),f?.blocks.push({kind:"error",text:$.message,code:$.code});continue}if(w4(m)){v();const b=m.metadata?.[wc];i.push({id:m.id,role:"compaction",no:u,text:m.content.filter(P=>P.type==="text").map(P=>P.text).join(`
-`),compaction:{trigger:b?.trigger,tokensBefore:b?.tokensBefore,tokensAfter:b?.tokensAfter}});continue}if(m.role==="user"){const b=g4(m);if(v(),b!==void 0){i.push(k4(m,u++,b));continue}if(!b4(m))continue;const P=m.metadata?.origin,E=P?.kind==="skill_activation"&&P?.trigger==="user-slash",L=P?.kind==="plugin_command"&&P?.trigger==="user-slash",N=[],Q=[];for(const V of m.content){if(V.type==="text")if(E)N.push(P.skillArgs??"");else if(L)N.push(P.commandArgs??"");else{const z=t4(V.text);if(z&&(z.kind==="video"||z.kind==="image")&&n){const me=s4(z.path);if(me){Q.push({url:n(me),kind:z.kind,fileId:me});continue}}const D=i4(V.text);if(D){Q.push({kind:"file",url:D.fileId&&n?n(D.fileId):"",fileId:D.fileId,name:D.name,mediaType:D.mediaType,size:D.size});continue}const ee=Jw(V.text);if(ee!==V.text&&ee.trim().length===0)continue;N.push(ee)}const _=h(V);if(_){Q.push({url:_.url,kind:_.kind,name:V.type==="file"?V.name:void 0,fileId:_.fileId});continue}V.type==="file"&&n&&Q.push({kind:"file",url:n(V.fileId),fileId:V.fileId,name:V.name,mediaType:V.mediaType||void 0,size:V.size})}i.push({id:m.id,role:"user",no:u++,text:N.join(`
-`),attachments:Q.length>0?Q:void 0,skillActivation:E?{name:P.skillName??"",args:P.skillArgs}:void 0,pluginCommand:L?{pluginId:P.pluginId??"",commandName:P.commandName??"",args:P.commandArgs}:void 0,createdAt:m.createdAt});continue}if(m.role==="tool"){f&&k(f,m.content);continue}const g=m.promptId;su(f,g)?f!==null&&f.promptId===void 0&&g!==void 0&&(f.promptId=g):(v(),f={id:m.id,promptId:g,textParts:[],thinkingParts:[],tools:[],blocks:[],approval:void 0,approvalId:void 0,foldedSigs:[],durationMs:m.durationMs,createdAt:m.createdAt});const S=f;if(S===null)continue;const B=C4(m.content);if(S.promptId!==void 0&&S.foldedSigs.some(b=>_4(b,B))){T(S,m.content);continue}S.foldedSigs.push(B),k(S,m.content)}return v(!0),i}function M4(e,t){const{pushOperationFailure:n,nextOptimisticMsgId:s,connectEventsIfNeeded:o,getEventConn:i,resolveThinkingForPrompt:u}=t,p=x({}),f=M(()=>{const _=e.activeSessionId;if(!_)return null;const z=p.value[_];return z?{parentId:_,agentId:z.agentId}:null}),v=M(()=>f.value?.parentId??null),k=M(()=>f.value!==null),T=M(()=>{const _=f.value;return _?!!e.sideChatSendingByAgent[_.agentId]:!1}),h=M(()=>{const _=f.value;return _?e.sideChatSendingByAgent[_.agentId]?!0:(e.tasksBySession[_.parentId]??[]).some(z=>z.id===_.agentId&&z.status==="running"):!1}),m=M(()=>{const _=f.value;if(!_)return[];const z=e.sideChatMessagesByAgent[_.agentId]??[];return Qc(z,[],D=>Re().getFileUrl(D),h.value)});function $(_,z){e.sideChatMessagesByAgent={...e.sideChatMessagesByAgent,[_]:z(e.sideChatMessagesByAgent[_]??[])}}function g(_,z){$(_,D=>[...D,z])}function y(_){$(_,z=>{const D=[...z].reverse().findIndex(me=>me.role==="user");if(D===-1)return z;const ee=z.length-1-D;return z.filter((me,ve)=>ve!==ee)})}function S(_,z){$(_,D=>{const ee=[...D];for(let me=ee.length-1;me>=0;me-=1){const ve=ee[me];if(ve.role==="user")return ee[me]={...ve,promptId:ve.promptId??z},ee}return D})}function B(_,z,D){D&&$(_,ee=>{const me=ee.at(-1);if(me?.role==="assistant"){const ve=me.content[0],Be=ve?.type==="text"?ve.text:"";return[...ee.slice(0,-1),{...me,content:[{type:"text",text:`${Be}${D}`}]}]}return[...ee,{id:s(),sessionId:z,role:"assistant",content:[{type:"text",text:D}],createdAt:new Date().toISOString()}]})}function b(_,z,D){if(e.sideChatSendingByAgent={...e.sideChatSendingByAgent,[_]:!1},!D)return;const me=(e.sideChatMessagesByAgent[_]??[]).at(-1);(me?.role==="assistant"&&me.content[0]?.type==="text"?me.content[0].text:"").trim().length>0||B(_,z,D)}async function P(_){const z=e.activeSessionId;z&&await E(z,_)}async function E(_,z){if(!p.value[_]){let D;try{({agentId:D}=await Re().startBtw(_))}catch(ee){n("openSideChat",ee,{sessionId:_});return}e.sideChatMessagesByAgent={...e.sideChatMessagesByAgent,[D]:e.sideChatMessagesByAgent[D]??[]},p.value={...p.value,[_]:{agentId:D}},o(),i()?.markSideChannelAgent(D)}z&&z.trim()&&await L(_,z.trim())}async function L(_,z){const D=p.value[_],ee=z.trim();if(!D||!ee)return;const me=_,ve=D.agentId;e.sideChatSendingByAgent={...e.sideChatSendingByAgent,[ve]:!0};const Be={id:s(),sessionId:me,role:"user",content:[{type:"text",text:ee}],createdAt:new Date().toISOString(),metadata:{"kimiWeb.optimisticUserMessage":!0}};g(ve,Be);try{const ie=e.sessions.find(ae=>ae.id===me),le=(ie?.model&&ie.model.length>0?ie.model:e.defaultModel)??void 0,ne=await Re().submitPrompt(me,{content:[{type:"text",text:ee}],agentId:ve,model:le,thinking:await u(me,le)??e.thinking,permissionMode:e.permission,planMode:e.planModeBySession[me]??!1,swarmMode:e.swarmModeBySession[me]??!1,supermoonMode:e.supermoonModeBySession[me]??!1});S(ve,ne.promptId),e.sideChatUserMessageIdsBySession={...e.sideChatUserMessageIdsBySession,[me]:[...e.sideChatUserMessageIdsBySession[me]??[],ne.userMessageId]}}catch(ie){n("sendSideChatPrompt",ie,{sessionId:me}),y(ve),e.sideChatSendingByAgent={...e.sideChatSendingByAgent,[ve]:!1}}}function N(){const _=e.activeSessionId;if(!_)return;const{[_]:z,...D}=p.value;p.value=D}async function Q(_){const z=f.value;z&&await L(z.parentId,_)}function V(_){if(!p.value[_])return;const{[_]:z,...D}=p.value;p.value=D}return{sideChatTargetBySession:p,sideChatSessionId:v,sideChatVisible:k,sideChatSending:T,sideChatRunning:h,sideChatTurns:m,appendSideChatAssistantText:B,finishSideChatAgent:b,openSideChat:P,openSideChatOn:E,closeSideChat:N,sendSideChatPrompt:Q,clearSideChatForSession:V}}const $4="kimiWeb.optimisticUserMessage",T4=1e6,ou="Sub Agent";function x4(){return{sessions:[],activeSessionId:void 0,messagesBySession:{},approvalsBySession:{},planReviewByToolCallId:{},questionsBySession:{},tasksBySession:{},goalBySession:{},goalVersionBySession:{},lastSeqBySession:{},turnActiveBySession:{},compactionBySession:{},warnings:[]}}function I4(e){return{...e,sessions:e.sessions,messagesBySession:{...e.messagesBySession},approvalsBySession:{...e.approvalsBySession},planReviewByToolCallId:{...e.planReviewByToolCallId},questionsBySession:{...e.questionsBySession},tasksBySession:{...e.tasksBySession},goalBySession:{...e.goalBySession},goalVersionBySession:{...e.goalVersionBySession},lastSeqBySession:{...e.lastSeqBySession},turnActiveBySession:{...e.turnActiveBySession},compactionBySession:{...e.compactionBySession},warnings:[...e.warnings]}}function A4(e,t,n){if(t!==void 0&&n!==void 0&&n>0){const s=e.lastSeqBySession[t]??0;n>s&&(e.lastSeqBySession[t]=n)}}function Pa(e){return e.role==="user"&&e.metadata?.[$4]===!0}function P4(e){const t=e.metadata?.origin;return t?.kind==="cron_job"||t?.kind==="cron_missed"}function E4(e,t){return JSON.stringify(e.content)===JSON.stringify(t.content)}const B4=/^<(image|video|audio)\s+path="[^"]+"><\/\1>$/;function iu(e){let t="",n=0;for(const s of e.content)s.type==="text"?B4.test(s.text.trim())?n+=1:t+=s.text:(s.type==="image"||s.type==="video"||s.type==="file")&&(n+=1);return{text:t,media:n}}function L4(e,t){const n=iu(e),s=iu(t);return n.text===s.text&&n.media===s.media}function R4(e,t){const n=t.promptId;if(n!==void 0)for(let s=e.length-1;s>=0;s--){const o=e[s];if(Pa(o)&&o.promptId===n)return s}for(let s=e.length-1;s>=0;s--){const o=e[s];if(Pa(o)&&E4(o,t))return s}for(let s=e.length-1;s>=0;s--){const o=e[s];if(Pa(o)&&L4(o,t))return s}return-1}function D4(e,t,n){const s=e.findIndex(p=>p.content.some(f=>f.type==="toolUse"&&f.toolCallId===t));if(s===-1)return e;const o=e[s];let i=!1;const u=o.content.map(p=>p.type!=="toolUse"||p.toolCallId!==t?p:(i=!0,{...p,outputLines:[...p.outputLines??[],n]}));return i?[...e.slice(0,s),{...o,content:u},...e.slice(s+1)]:e}const O4={"provider.connection_error":"connection","provider.auth_error":"auth","provider.rate_limit":"rateLimit","provider.overloaded":"overloaded","provider.filtered":"filtered","provider.api_error":"api","provider.usage_limit":"usageLimit","context.overflow":"contextOverflow"},z4=new Set(["provider.usage_limit"]);function F4(e){const t=wt.global.t,n=[],s=(u,p)=>{typeof p=="number"||typeof p=="boolean"?n.push({label:u,value:String(p)}):typeof p=="string"&&p.length>0&&n.push({label:u,value:p})};s(t("warnings.details.code"),e.code);const o=e.details??{};s(t("warnings.details.status"),o.statusCode),s(t("warnings.details.requestId"),o.requestId),s(t("warnings.details.errorName"),e.name);for(const[u,p]of Object.entries(o))u==="statusCode"||u==="requestId"||s(u,p);const i=(e.code!==void 0?O4[e.code]:void 0)??"title";return{severity:"error",title:t(`warnings.agentError.${i}`),message:e.message,details:n.length>0?n:void 0,sticky:e.code!==void 0&&z4.has(e.code)?!0:void 0}}function N4(e,t,n){const s=I4(e);switch(A4(s,n.sessionId,n.seq),t.type){case"sessionCreated":{s.sessions.some(i=>i.id===t.session.id)||(s.sessions=[t.session,...s.sessions]);break}case"sessionUpdated":{s.sessions=s.sessions.map(o=>o.id===t.session.id?t.session:o);break}case"sessionDeleted":{const o=t.sessionId;s.sessions=s.sessions.filter(i=>i.id!==o),delete s.messagesBySession[o],delete s.tasksBySession[o],delete s.goalBySession[o],delete s.approvalsBySession[o],delete s.questionsBySession[o],delete s.lastSeqBySession[o],delete s.turnActiveBySession[o],s.activeSessionId===o&&(s.activeSessionId=void 0);break}case"sessionArchived":{const o=t.sessionId;s.sessions=s.sessions.filter(i=>i.id!==o),s.activeSessionId===o&&(s.activeSessionId=void 0);break}case"sessionWorkChanged":{s.sessions=s.sessions.map(o=>o.id!==t.sessionId?o:{...o,busy:t.busy,mainTurnActive:t.mainTurnActive??(t.busy?o.mainTurnActive:!1),pendingInteraction:t.pendingInteraction??o.pendingInteraction,lastTurnReason:t.lastTurnReason}),t.mainTurnActive===!0?s.turnActiveBySession[t.sessionId]=!0:(t.mainTurnActive===!1||!t.busy)&&delete s.turnActiveBySession[t.sessionId];break}case"sessionMetaUpdated":{s.sessions=s.sessions.map(o=>o.id===t.sessionId?{...o,title:t.title??o.title,lastPrompt:t.lastPrompt??o.lastPrompt}:o);break}case"sessionUsageUpdated":{s.sessions=s.sessions.map(o=>{if(o.id!==t.sessionId)return o;const i=t.model&&t.model.length>0?t.model:o.model;return{...o,usage:t.usage,model:i}});break}case"historyCompacted":break;case"compactionStarted":{s.compactionBySession={...s.compactionBySession,[t.sessionId]:{status:"running",trigger:t.trigger}};break}case"compactionCompleted":{const o=t.sessionId,i=s.compactionBySession[o],{[o]:u,...p}=s.compactionBySession;if(s.compactionBySession=p,Object.prototype.hasOwnProperty.call(s.messagesBySession,o)){const f=s.messagesBySession[o]??[],v=`compaction_${o}_${n.seq}`;if(!f.some(k=>k.id===v)){const k={trigger:i?.trigger??"auto",tokensBefore:t.tokensBefore,tokensAfter:t.tokensAfter};s.messagesBySession[o]=[...f,{id:v,sessionId:o,role:"assistant",content:t.summary?[{type:"text",text:t.summary}]:[],createdAt:new Date().toISOString(),metadata:{origin:{kind:"compaction_summary"},[wc]:k}}]}}break}case"compactionCancelled":{const{[t.sessionId]:o,...i}=s.compactionBySession;s.compactionBySession=i;break}case"messageCreated":{const o=t.message.sessionId,i=t.message.createdAt;s.sessions=s.sessions.map(f=>f.id===o&&i>f.updatedAt?{...f,updatedAt:i}:f);const u=s.messagesBySession[o]??[];if(!u.some(f=>f.id===t.message.id)){if(t.message.role==="user"&&!P4(t.message)){const f=R4(u,t.message);if(f!==-1){const v=[...u],k=v[f];v[f]={...t.message,id:k.id,promptId:t.message.promptId??k.promptId,metadata:{...t.message.metadata,...k.metadata}},s.messagesBySession[o]=v;break}}s.messagesBySession[o]=[...u,t.message]}break}case"messageUpdated":{const o=t.sessionId,i=s.messagesBySession[o]??[];s.messagesBySession[o]=i.map(u=>u.id!==t.messageId?u:{...u,content:t.content,durationMs:t.durationMs??u.durationMs});break}case"assistantDelta":{const o=t.sessionId,i=s.messagesBySession[o]??[];s.messagesBySession[o]=i.map(u=>{if(u.id!==t.messageId)return u;const p=[...u.content],f=t.contentIndex;for(;p.length<=f;)p.push({type:"text",text:""});const v=p[f];let k;return t.delta.text!==void 0?v.type==="text"?k={type:"text",text:v.text+t.delta.text}:k={type:"text",text:t.delta.text}:t.delta.thinking!==void 0?v.type==="thinking"?k={type:"thinking",thinking:v.thinking+t.delta.thinking,signature:v.signature}:k={type:"thinking",thinking:t.delta.thinking}:k=v,p[f]=k,{...u,content:p}});break}case"toolOutput":{const o=t.sessionId,i=s.messagesBySession[o]??[];s.messagesBySession[o]=D4(i,t.toolCallId,t.outputChunk);break}case"approvalRequested":{const o=t.sessionId,i=s.approvalsBySession[o]??[];i.some(f=>f.approvalId===t.approval.approvalId)||(s.approvalsBySession[o]=[...i,t.approval]);const p=t.approval.display;p?.kind==="plan_review"&&typeof p.plan=="string"&&p.plan.length>0&&(s.planReviewByToolCallId={...s.planReviewByToolCallId,[t.approval.toolCallId]:{plan:p.plan,path:typeof p.path=="string"?p.path:void 0}});break}case"approvalResolved":case"approvalExpired":{const o=t.sessionId,i=t.approvalId,u=s.approvalsBySession[o]??[];s.approvalsBySession[o]=u.filter(p=>p.approvalId!==i);break}case"questionRequested":{const o=t.sessionId,i=s.questionsBySession[o]??[];i.some(p=>p.questionId===t.question.questionId)||(s.questionsBySession[o]=[...i,t.question]);break}case"questionAnswered":case"questionDismissed":{const o=t.sessionId,i=t.questionId,u=s.questionsBySession[o]??[];s.questionsBySession[o]=u.filter(p=>p.questionId!==i);break}case"taskCreated":{const o=t.sessionId,i=s.tasksBySession[o]??[],u=i.findIndex(p=>p.id===t.task.id);if(u===-1)s.tasksBySession[o]=[...i,t.task];else{const p=[...i],f=i[u];p[u]={...t.task,outputLines:f.outputLines,text:f.text,description:t.task.description===ou&&f.description!==ou?f.description:t.task.description,swarmIndex:t.task.swarmIndex??f.swarmIndex,parentToolCallId:t.task.parentToolCallId??f.parentToolCallId,subagentType:t.task.subagentType??f.subagentType,model:t.task.model??f.model,thinkingEffort:t.task.thinkingEffort??f.thinkingEffort,runInBackground:t.task.runInBackground??f.runInBackground,backgroundTaskId:t.task.backgroundTaskId??f.backgroundTaskId},s.tasksBySession[o]=p}break}case"taskProgress":{const o=t.sessionId,i=s.tasksBySession[o]??[];s.tasksBySession[o]=i.map(u=>{if(u.id!==t.taskId)return u;if(u.kind==="subagent"&&t.kind==="text")return{...u,text:((u.text??"")+t.outputChunk).slice(0,T4)};const p=u.outputLines??[];if(p.at(-1)===t.outputChunk)return u;const f=[...p,t.outputChunk];return{...u,outputLines:u.kind==="subagent"?f:f.slice(-40)}});break}case"taskCompleted":{const o=t.sessionId,i=s.tasksBySession[o]??[];s.tasksBySession[o]=i.map(u=>u.id!==t.taskId?u:{...u,status:t.status,outputPreview:t.outputPreview,outputBytes:t.outputBytes});break}case"goalUpdated":{const o=t.sessionId;s.goalVersionBySession[o]=(s.goalVersionBySession[o]??0)+1,t.goal===null||t.goal.status==="complete"?delete s.goalBySession[o]:s.goalBySession[o]=t.goal;break}case"configChanged":{s.config=t.config;break}case"modelCatalogChanged":break;case"agentDelta":case"agentTurnEnded":break;case"promptCompleted":case"promptAborted":break;case"turnActiveChanged":{s.sessions=s.sessions.map(o=>o.id===t.sessionId?{...o,mainTurnActive:t.active}:o),t.active?s.turnActiveBySession[t.sessionId]=!0:delete s.turnActiveBySession[t.sessionId];break}case"unknown":{const o=t.raw;if(!(o&&o._noop===!0))if(o&&o._agentError)s.warnings=[...s.warnings,F4(o)];else if(o&&o._agentWarning){const i=o.message??o.code??"agent warning";s.warnings=[...s.warnings,`${wt.global.t("warnings.noteLabel")}: ${i}`]}else{const i=o?.type??"(unknown)";s.warnings=[...s.warnings,`Unhandled event: ${i}`]}break}}return s}function W4(e){return e==="in_progress"?"in_progress":e==="done"||e==="completed"?"done":"pending"}function q4(e){for(let t=e.length-1;t>=0;t--){const n=e[t];if(n.role==="assistant")for(let s=n.content.length-1;s>=0;s--){const o=n.content[s];if(o.type!=="toolUse"||To(o.toolName)!=="todo")continue;let i=o.input;if(typeof i=="string")try{i=JSON.parse(i)}catch{continue}const u=i?.todos;if(Array.isArray(u))return u.flatMap(p=>{const f=p??{},v=typeof f.title=="string"?f.title:typeof f.content=="string"?f.content:"";return v?[{title:v,status:W4(f.status)}]:[]})}}return[]}const H4=["queued","working","suspended","completed","failed"];function Yc(e){return e.status==="completed"?"completed":e.status==="failed"||e.status==="cancelled"?"failed":e.subagentPhase?e.subagentPhase:"working"}function U4(){return{queued:0,working:0,suspended:0,completed:0,failed:0}}function V4(e){const t=new Map;for(const n of e){if(n.kind!=="subagent"||n.swarmIndex===void 0)continue;const s=n.parentToolCallId??"swarm",o=t.get(s)??[];o.push({id:n.id,name:n.description,subagentType:n.subagentType,phase:Yc(n),summary:n.outputPreview,outputLines:n.outputLines,text:n.text,suspendedReason:n.suspendedReason,swarmIndex:n.swarmIndex}),t.set(s,o)}return[...t.entries()].map(([n,s])=>{const o=s.toSorted((u,p)=>u.swarmIndex-p.swarmIndex||u.id.localeCompare(p.id)),i=U4();for(const u of o)i[u.phase]++;return{id:n,members:o,counts:i}}).filter(n=>n.members.length>1).toSorted((n,s)=>{const o=n.members.at(0)?.swarmIndex??0,i=s.members.at(0)?.swarmIndex??0;return o!==i?o-i:n.id.localeCompare(s.id)})}function j4(e){let t=0,n=0;for(const s of e){n+=s.members.length;for(const o of H4)(o==="completed"||o==="failed")&&(t+=s.counts[o])}return{done:t,total:n}}function K4(e){const t=new Map;for(const n of e){if(n.kind!=="subagent"||!n.parentToolCallId)continue;const s=t.get(n.parentToolCallId)??[];s.push({id:n.id,name:n.description,subagentType:n.subagentType,phase:Yc(n),summary:n.outputPreview,outputLines:n.outputLines,text:n.text,suspendedReason:n.suspendedReason,swarmIndex:n.swarmIndex??Number.MAX_SAFE_INTEGER}),t.set(n.parentToolCallId,s)}for(const[n,s]of t)t.set(n,s.toSorted((o,i)=>o.swarmIndex-i.swarmIndex||o.id.localeCompare(i.id)));return t}const Rs=qc(),_s=Z2(),ci=iw(),zi=u2(),Zc=Ge.permission,Xc=Ge.activeWorkspace,Jc=Ge.planMode,ed=Ge.planArmed,td=Ge.swarmMode,nd=Ge.supermoonMode,sd=Ge.goalMode,au=40401,od=Ge.onboarded;So(Ge.codeFont);So(Ge.theme);So(Ge.thinking);function G4(){try{const e=Dt(Zc);if(e==="auto"||e==="yolo"||e==="manual")return e}catch{}return"manual"}function Q4(e){try{Nt(Zc,e)}catch{}}function Zo(e){const t=Dt(e);if(!t)return{};try{const n=JSON.parse(t);if(!n||typeof n!="object"||Array.isArray(n))return{};const s={};for(const[o,i]of Object.entries(n))i===!0&&(s[o]=!0);return s}catch{return{}}}function mi(e,t){try{const n={};for(const[s,o]of Object.entries(t))o&&(n[s]=!0);Nt(e,JSON.stringify(n))}catch{}}function id(){mi(Jc,q.planModeBySession)}function ad(){mi(ed,q.planArmedBySession)}function ld(){mi(td,q.swarmModeBySession)}function rd(){mi(nd,q.supermoonModeBySession)}function ud(){mi(sd,q.goalModeBySession)}function Y4(){try{return Dt(Xc)}catch{return null}}const cd=Ge.hiddenWorkspaces;function Z4(){try{const e=Dt(cd);if(!e)return[];const t=JSON.parse(e);return Array.isArray(t)?t.filter(n=>typeof n=="string"):[]}catch{return[]}}function X4(e){try{Nt(cd,JSON.stringify(e))}catch{}}function J4(e){try{Nt(Xc,e)}catch{}}function eS(e,t){if(t&&e.startsWith(t)){const s=e.slice(t.length);return s?`~${s}`:"~"}const n=e.match(/^\/(?:Users|home)\/[^/]+(\/.*)?$/);return n?`~${n[1]??""}`:e}const q=jn({...x4(),connected:!1,serverVersion:"",webTitle:null,dangerousBypassAuth:!1,kimiOauthEnabled:!1,backend:"v1",workspaceName:"kimi-web",connection:"disconnected",permission:G4(),thinking:void 0,thinkingBySession:{},planModeBySession:Zo(Jc),planArmedBySession:Zo(ed),swarmModeBySession:Zo(td),supermoonModeBySession:Zo(nd),modeVersionBySession:{},supermoonPreviousEffortBySession:{},goalModeBySession:Zo(sd),loading:!1,sessionLoading:!1,queuedBySession:{},gitStatusBySession:{},promptIdBySession:{},inFlightBySession:{},unreadBySession:Ml(),authReady:!1,accountModel:null,defaultModel:null,managedProviderStatus:null,workspaces:[],activeWorkspaceId:Y4(),fsHome:null,recentRoots:[],hiddenWorkspaceRoots:Z4(),availableOpenInApps:[],config:null,sideChatMessagesByAgent:{},sideChatSendingByAgent:{},sideChatUserMessageIdsBySession:{},messagesLoadingMoreBySession:{},messagesHasMoreBySession:{},messagesLoadMoreErrorBySession:{},sessionsHasMoreByWorkspace:{},sessionsLoadingMoreByWorkspace:{},sessionsCursorByWorkspace:{},sessionsInitialCountByWorkspace:{},sessionsFullyLoaded:!1}),jo=jn({planMode:!1,planArmed:!1,swarmMode:!1,supermoonMode:!1,goalMode:!1,planModeTouched:!1});function dd(e){q.sessions=e}function ua(e,t){q.sessions=q.sessions.map(n=>n.id===e?t(n):n)}function tS(e){q.sessions=[e,...q.sessions.filter(t=>t.id!==e.id)]}function nS(e){q.sessions=[...q.sessions,e]}function sS(e){q.sessions=q.sessions.filter(t=>t.id!==e)}function pd(){const e=q.activeSessionId;e&&q.unreadBySession[e]&&typeof document<"u"&&document.visibilityState==="visible"&&(q.unreadBySession={...q.unreadBySession,[e]:!1},$l({[e]:!1}))}typeof window<"u"&&window.addEventListener("storage",e=>{e.key===Ge.unread&&(q.unreadBySession=Ml(),pd())});function dl(){if(Dn===null||!Dn.health().stale)return;nn("ws:stale-reconnect",{sessionId:q.activeSessionId,status:"stale"}),Os("ws: stale socket on focus, reconnecting",{activeSessionId:q.activeSessionId}),Dn.reconnect();const e=q.activeSessionId;e&&Zi.request(e)}typeof document<"u"&&document.addEventListener("visibilitychange",()=>{document.visibilityState==="visible"&&(pd(),dl())});typeof window<"u"&&(window.addEventListener("focus",dl),window.addEventListener("online",dl));function Ql(e){q.activeSessionId=e}function oS(e){q.messagesBySession=e}function iS(e,t){q.messagesBySession={...q.messagesBySession,[e]:t}}function fd(e,t){q.messagesBySession={...q.messagesBySession,[e]:t(q.messagesBySession[e]??[])}}function aS(e){const{[e]:t,...n}=q.messagesBySession;q.messagesBySession=n}function md(e){Dn?.unsubscribe(e),AS(e),Qi.discard(({meta:t})=>t.sessionId===e),sS(e),aS(e),delete q.approvalsBySession[e],delete q.questionsBySession[e],delete q.tasksBySession[e],delete q.goalBySession[e],delete q.gitStatusBySession[e],delete q.lastSeqBySession[e],delete q.compactionBySession[e],delete q.messagesLoadingMoreBySession[e],delete q.messagesHasMoreBySession[e],delete q.messagesLoadMoreErrorBySession[e],delete pl[e],Yi.delete(e),Fi.delete(e),$d.delete(e),Ow(e),delete q.queuedBySession[e],delete q.promptIdBySession[e],delete q.inFlightBySession[e],delete q.turnActiveBySession[e],delete q.planModeBySession[e],delete q.planArmedBySession[e],delete q.swarmModeBySession[e],delete q.supermoonModeBySession[e],delete q.modeVersionBySession[e],delete q.supermoonPreviousEffortBySession[e],delete q.goalModeBySession[e],delete q.thinkingBySession[e],id(),ad(),ld(),rd(),ud()}const vd=x(null),gd=x([]),hd=x(!1),yd=x(!1),kd=x(null);async function vi(e){const t=q.modeVersionBySession[e]??0;let n;try{n=await Re().getSessionStatus(e)}catch{return}ua(e,s=>({...s,model:n.model||s.model,usage:{...s.usage,contextTokens:n.contextTokens,contextLimit:n.maxContextTokens}})),o2(q,e,t)&&(q.swarmModeBySession={...q.swarmModeBySession,[e]:n.swarmMode},q.planModeBySession={...q.planModeBySession,[e]:n.planMode},q.supermoonModeBySession={...q.supermoonModeBySession,[e]:n.supermoonMode}),n.thinkingEffort.length>0&&(q.thinkingBySession={...q.thinkingBySession,[e]:n.thinkingEffort})}async function lS(e){const t=q.goalVersionBySession[e]??0;let n;try{n=await Re().getSessionGoal(e)}catch{return}if((q.goalVersionBySession[e]??0)!==t)return;const s={...q.goalBySession};n===null||n.status==="complete"?delete s[e]:s[e]=n,q.goalBySession=s}function bd(e,t){const n=t??q.activeSessionId;return n?Promise.resolve(Re().updateSession(n,e)).then(()=>vi(n)).then(()=>!0).catch(s=>(gi("persistSessionProfile",s,{sessionId:n}),!1)):Promise.resolve(!1)}const wd=Ge.conversationToc;function rS(){try{const e=Dt(wd);return e===null?!0:e==="true"}catch{return!0}}function uS(e){try{Nt(wd,e?"true":"false")}catch{}}const Sd=x(rS());function cS(e){Sd.value=e,uS(e)}function dS(e){try{return Dt(e)??""}catch{return""}}const Cd=x(dS(od)==="1");function pS(e){Cd.value=e;try{Nt(od,e?"1":"0")}catch{}}let Dn=null,lu=0;function _d(){return lu+=1,`msg_opt_${Date.now().toString(36)}_${lu}`}function fS(e,t,n){const s={sessions:q.sessions,activeSessionId:q.activeSessionId,messagesBySession:q.messagesBySession,approvalsBySession:q.approvalsBySession,planReviewByToolCallId:q.planReviewByToolCallId,questionsBySession:q.questionsBySession,tasksBySession:q.tasksBySession,goalBySession:q.goalBySession,goalVersionBySession:q.goalVersionBySession,lastSeqBySession:q.lastSeqBySession,turnActiveBySession:q.turnActiveBySession,compactionBySession:q.compactionBySession,config:q.config,warnings:q.warnings},o=N4(s,e,{sessionId:t,seq:n});if(dd(o.sessions),Ql(o.activeSessionId),oS(o.messagesBySession),q.approvalsBySession=o.approvalsBySession,q.planReviewByToolCallId=o.planReviewByToolCallId,q.questionsBySession=o.questionsBySession,q.tasksBySession=o.tasksBySession,q.goalBySession=o.goalBySession,q.goalVersionBySession=o.goalVersionBySession,q.lastSeqBySession=o.lastSeqBySession,q.turnActiveBySession=o.turnActiveBySession,q.compactionBySession=o.compactionBySession,q.config=o.config??null,q.warnings=o.warnings,e.type==="configChanged"&&(q.defaultModel=e.config.defaultModel??q.accountModel??null),e.type==="modelCatalogChanged"&&(Tt.loadModels(),Tt.loadProviders()),e.type==="sessionUsageUpdated"){if(e.swarmMode!==void 0&&(q.swarmModeBySession={...q.swarmModeBySession,[e.sessionId]:e.swarmMode}),e.planMode!==void 0&&(q.planModeBySession={...q.planModeBySession,[e.sessionId]:e.planMode}),e.supermoonMode!==void 0){const i=q.supermoonModeBySession[e.sessionId]??!1;q.supermoonModeBySession={...q.supermoonModeBySession,[e.sessionId]:e.supermoonMode},e.supermoonMode&&!i?Fe.pinSupermoonEffort(e.sessionId):!e.supermoonMode&&i&&Fe.restoreSupermoonEffort(e.sessionId)}e.thinking!==void 0&&(q.thinkingBySession={...q.thinkingBySession,[e.sessionId]:e.thinking}),(e.planMode!==void 0||e.swarmMode!==void 0||e.supermoonMode!==void 0)&&Cs(q,e.sessionId)}}function mS(e,t){const n=q.lastSeqBySession[t.sessionId]??0,s=q.turnActiveBySession[t.sessionId]??!1;fS(e,t.sessionId,t.seq);const o=Ln.sideChatTargetBySession.value[t.sessionId];if(o){const{agentId:i}=o,u=t.sessionId;e.type==="agentDelta"&&e.agentId===i?e.delta.text&&Ln.appendSideChatAssistantText(i,u,e.delta.text):e.type==="agentTurnEnded"&&e.agentId===i?Ln.finishSideChatAgent(i,u):e.type==="taskProgress"&&e.taskId===i?Ln.appendSideChatAssistantText(i,u,e.outputChunk):e.type==="taskCompleted"&&e.taskId===i&&Ln.finishSideChatAgent(i,u,e.outputPreview)}if(e.type==="messageCreated"&&e.message.role==="user"&&e.message.promptId!==void 0){const i=e.message.sessionId;q.promptIdBySession[i]!==e.message.promptId&&(q.promptIdBySession={...q.promptIdBySession,[i]:e.message.promptId})}if(e.type==="assistantDelta"&&t.sessionId===q.activeSessionId&&Rs.recordMoonDelta((e.delta.text?.length??0)+(e.delta.thinking?.length??0)),e.type==="turnActiveChanged"&&!e.active&&t.seq>n){const i=e.reason;XC(e.sessionId,i==="cancelled"||i==="failed"||i==="blocked"?"aborted":"idle",s)}if(e.type==="sessionWorkChanged"&&(e.mainTurnActive===!1&&s||e.mainTurnActive===void 0&&!e.busy)&&t.seq>n&&ZC(e.sessionId),(e.type==="promptAborted"||e.type==="promptCompleted"&&e.reason==="blocked")&&t.seq>n&&q.promptIdBySession[e.sessionId]===e.promptId&&Fe.finishPromptLocal(e.sessionId),e.type==="questionRequested"&&JC(e.sessionId,e.question),e.type==="approvalRequested"&&e3(e.sessionId,e.approval),e.type==="taskCompleted"){const i=(q.tasksBySession[e.sessionId]??[]).find(u=>u.id===e.taskId);i!==void 0&&hC(i)}}const Qi=k2(({appEvent:e,meta:t})=>mS(e,t),({appEvent:e})=>v2(e),{coalesce:w2});function Md(){if(Dn!==null||typeof WebSocket>"u")return;nn("ws:connection",{status:"connecting"}),q.connection="connecting",Dn=Re().connectEvents({onEvent(t,n){if(t.type==="workspaceCreated"||t.type==="workspaceUpdated"||t.type==="workspaceDeleted"){Fe.applyWorkspaceEvent(t);return}if(t.type==="pluginsChanged"||t.type==="capabilityChanged"){jb(t);return}for(const s of b2({appEvent:t,meta:n}))Qi(s)},onResync(t,n,s){nn("ws:resync",{sessionId:t,status:"required",seq:n}),Qi.flush(),Yi.add(t),Zi.request(t)},onError(t,n,s){nn("ws:error",{status:"failed",errorCode:t,fatal:s}),Yl({severity:"error",title:wt.global.t("warnings.wsTitle"),message:n,details:[Kt("message",n)].filter(o=>o!==void 0)})},onConnectionChange(t){nn("ws:connection",{status:t?"connected":"disconnected"}),q.connected=t,q.connection=t?"connected":"disconnected",t&&(SS(),Fe.refreshServerMeta())},onTerminalOutput(t,n,s,o){zi.handleOutput(t,n,s,o)},onTerminalExit(t,n,s){zi.handleExit(t,n,s)}}),zi.bindTransport(Dn)}const pl={},Yi=new Set,Fi=new Set,$d=new Set;function vS(e){return Rn(e)&&e.code===au?!0:typeof e=="object"&&e!==null&&e.code===au}function Kt(e,t){if(!(t==null||t===""))return{label:wt.global.t(`warnings.details.${e}`),value:Td(t)}}function Td(e){if(e instanceof Error)return typeof e.stack=="string"&&e.stack?e.stack:e.message?`${e.name}: ${e.message}`:e.name;if(typeof e=="string")return e;if(typeof e=="number"||typeof e=="boolean"||typeof e=="bigint")return String(e);try{return JSON.stringify(e)}catch{return String(e)}}function gS(e){return e instanceof Error||typeof e=="object"&&e!==null&&typeof e.name=="string"?e.name:void 0}function hS(e){return e instanceof Error||typeof e=="object"&&e!==null&&typeof e.message=="string"?e.message:void 0}function yS(e){return e instanceof Error&&typeof e.stack=="string"&&e.stack?e.stack:void 0}function kS(e){if(!(typeof e!="number"||!Number.isFinite(e)))return new Date(e).toISOString()}function ru(e){if(!(typeof e!="number"||!Number.isFinite(e)))return`${Math.round(e)}ms`}function bS(e,t,n){const s=Al(t),o=Rn(t),i=s||o?t.timestamp:void 0,u=s||o?t.durationMs:void 0,p=[Kt("operation",e),Kt("sessionId",n??q.activeSessionId),Kt("connection",q.connection),Kt("timestamp",kS(i??Date.now()))];return s?p.push(Kt("duration",ru(u)),Kt("request",`${t.method} ${t.path}`),Kt("endpoint",t.url),Kt("requestId",t.requestId),Kt("phase",t.phase),Kt("timeout",`${t.timeoutMs}ms`),Kt("status",t.status===void 0?void 0:`${t.status} ${t.statusText??""}`.trim()),Kt("contentType",t.contentType),Kt("responsePreview",t.bodyPreview),Kt("cause",t.cause)):o?p.push(Kt("duration",ru(u)),Kt("code",t.code),Kt("requestId",t.requestId),Kt("message",t.message),Kt("details",t.details)):p.push(Kt("errorName",gS(t)),Kt("message",hS(t)??Td(t)),Kt("stack",yS(t))),p.filter(f=>f!==void 0)}function wS(e,t,n={}){const s=Al(t),o=Rn(t),i=Rc(t),u=n.title??(i?wt.global.t("warnings.daemonTimeoutTitle"):s?wt.global.t("warnings.daemonNetworkTitle"):o?wt.global.t("warnings.daemonApiTitle"):wt.global.t("warnings.operationFailedTitle")),p=n.message??(i?wt.global.t("warnings.daemonTimeoutMessage"):s?wt.global.t("warnings.daemonNetworkMessage"):o?t.message:wt.global.t("warnings.operationFailedMessage"));return{severity:"error",title:u,message:p,details:bS(e,t,n.sessionId)}}function Yl(e){q.warnings=[...q.warnings,e].slice(-50)}function SS(){const e=wt.global.t("warnings.wsTitle"),t=q.warnings.filter(n=>!(typeof n=="object"&&n!==null&&n.severity==="error"&&n.title===e));t.length!==q.warnings.length&&(q.warnings=t)}function gi(e,t,n){console.error(`[kimi-web] operation failed: ${e}`,t);const s=Rn(t),o=Al(t);nn("operation:failed",{sessionId:n?.sessionId,status:"failed",operation:e,errorName:t instanceof Error?t.name:typeof t,errorCode:s?t.code:void 0,requestId:s||o?t.requestId:void 0,phase:o?t.phase:void 0,httpStatus:o?t.status:void 0,timeout:Rc(t)}),Yl(wS(e,t,n))}const CS={40913:"warnings.goal.alreadyExists",40914:"warnings.goal.notFound",40915:"warnings.goal.statusInvalid",40916:"warnings.goal.notResumable",40918:"warnings.goal.objectiveTooLong"};function _S(e){if(!Rn(e))return;const t=CS[e.code];return t?wt.global.t(t):void 0}async function MS(e){if(md(e),q.activeSessionId!==e)return;const t=q.sessions[0];t?await Fe.selectSession(t.id,{urlMode:"replace"}):(Ql(void 0),q.sessionLoading=!1,Fe.writeSessionUrl(void 0,"replace"))}const uu=new Set;async function $S(e){if(!uu.has(e)){uu.add(e);try{const t=await Re().getSessionWarnings(e),n=wt.global.t("warnings.noteLabel");for(const s of t)Yl(`${n}: ${s.message}`)}catch{}}}async function Zl(e){const t=Fe.localTurnStartState(e);try{const s=await Re().getSessionSnapshot(e);if(!q.sessions.some(f=>f.id===e))return"ok";Qi.flush();const o=q.lastSeqBySession[e]??0,i=pl[e];if(!(Yi.has(e)||Xi.has(e))&&i!==void 0&&i===s.epoch&&o>s.asOfSeq)return Fi.delete(e)||(Fi.add(e),Zi.request(e)),"ok";if(!Fe.isLocalTurnSnapshotCurrent(e,t))return Fe.afterLocalTurnStartsSettle(e,()=>{Zi.request(e)}),"ok";const p=Ya(s.session.usage);ua(e,f=>({...s.session,model:s.session.model&&s.session.model.length>0?s.session.model:f.model,usage:p?f.usage:s.session.usage})),iS(e,i2(q.messagesBySession[e]??[],s.messages)),q.tasksBySession={...q.tasksBySession,[e]:a2(s.subagents,q.tasksBySession[e]??[])},q.messagesHasMoreBySession={...q.messagesHasMoreBySession,[e]:s.hasMoreMessages},q.approvalsBySession={...q.approvalsBySession,[e]:s.pendingApprovals};for(const f of s.pendingApprovals){const v=f.display;v?.kind==="plan_review"&&typeof v.plan=="string"&&v.plan.length>0&&(q.planReviewByToolCallId={...q.planReviewByToolCallId,[f.toolCallId]:{plan:v.plan,path:typeof v.path=="string"?v.path:void 0}})}q.questionsBySession={...q.questionsBySession,[e]:s.pendingQuestions},q.lastSeqBySession={...q.lastSeqBySession,[e]:s.asOfSeq},pl[e]=s.epoch,Yi.delete(e),Fi.delete(e),Fe.handleSessionSnapshot(e,{inFlightTurn:s.inFlightTurn,busy:s.session.busy});{const f={...q.turnActiveBySession};s.session.mainTurnActive??(s.inFlightTurn!==null&&s.session.busy)?f[e]=!0:delete f[e],q.turnActiveBySession=f}try{Md(),Dn&&(Dn.seedSnapshot(e,s),Dn.subscribe(e,{seq:s.asOfSeq,epoch:s.epoch}),IS(e))}catch(f){console.error("[kimi-web] WS wiring failed during session sync",f),nn("ws:error",{status:"failed",errorName:f instanceof Error?f.name:typeof f})}return Xi.delete(e),p&&vi(e),$S(e),"ok"}catch(n){return vS(n)?(await MS(e),"not-found"):(gi("getSessionSnapshot",n,{title:wt.global.t("warnings.sessionSnapshotTitle"),message:wt.global.t("warnings.sessionSnapshotMessage"),sessionId:e}),"failed")}}const Zi=l2(Zl);function TS(e){return Object.prototype.hasOwnProperty.call(q.messagesBySession,e)}const xS=4,Ds=[],Xi=new Set;function IS(e){const t=Ds.indexOf(e);for(t!==-1&&Ds.splice(t,1),Ds.unshift(e);Ds.length>xS;){let n=-1;for(let o=Ds.length-1;o>=0;o--)if(Ds[o]!==q.activeSessionId){n=o;break}if(n===-1)break;const[s]=Ds.splice(n,1);if(s===void 0)break;Dn?.unsubscribe(s),Xi.add(s)}}function AS(e){const t=Ds.indexOf(e);t!==-1&&Ds.splice(t,1),Xi.delete(e)}async function PS(e){return Zl(e)}function Xl(e,t){return(q.inFlightBySession[e]??!1)||(q.turnActiveBySession[e]??!1)||(t??q.sessions.find(n=>n.id===e)?.mainTurnActive??!1)}function Jl(e){try{const t=new Date(e),s=Date.now()-t.getTime(),o=s/36e5;if(s<6e4)return wt.global.t("sessions.justNow");if(o<1)return`${Math.round(s/6e4)}m`;if(o<24)return`${Math.round(o)}h`;const i=s/864e5;return i<7?`${Math.round(i)}d`:i<30?`${Math.round(i/7)}w`:i<365?`${Math.round(i/30)}mo`:`${Math.round(i/365)}y`}catch{return e}}const ES=3e4,di=x(0);let Ea=null;function BS(){Ea===null&&(Ea=setInterval(()=>{di.value=(di.value+1)%Number.MAX_SAFE_INTEGER},ES),Ea.unref?.())}function LS(e,t){const n=e.split(`
-`),s=t.split(`
-`),o=[];return n.forEach((i,u)=>{o.push({kind:"rem",gutter:String(u+1),text:`- ${i}`})}),s.forEach((i,u)=>{o.push({kind:"add",gutter:String(u+1),text:`+ ${i}`})}),o}function RS(e){const t=e.display??{},n=typeof t.kind=="string"?t.kind:"";if(n==="diff"){const s=typeof t.path=="string"?t.path:"";return Array.isArray(t.diff)?{kind:"diff",path:s,diff:t.diff}:typeof t.old_text=="string"&&typeof t.new_text=="string"?{kind:"diff",path:s,diff:LS(t.old_text,t.new_text)}:{kind:"diff",path:s,diff:[]}}if(n==="shell"||n==="command"){const s=typeof t.command=="string"?t.command:e.action,o=typeof t.cwd=="string"?t.cwd:void 0,i=typeof t.danger=="string"?t.danger:void 0;return{kind:"shell",command:s,cwd:o,danger:i}}if(n==="file_content"||n==="file"){const s=typeof t.path=="string"?t.path:"",o=typeof t.content=="string"?t.content:"",i=typeof t.language=="string"?t.language:void 0;return{kind:"file",path:s,content:o,language:i}}if(n==="file_op"||n==="fileop"){const s=typeof t.operation=="string"?t.operation:typeof t.op=="string"?t.op:n,o=typeof t.path=="string"?t.path:"",i=typeof t.detail=="string"?t.detail:void 0;return{kind:"fileop",op:s,path:o,detail:i}}if(n==="url_fetch"||n==="url"){const s=typeof t.url=="string"?t.url:e.action;return{kind:"url",method:typeof t.method=="string"?t.method:void 0,url:s}}if(n==="search"){const s=typeof t.query=="string"?t.query:e.action,o=typeof t.scope=="string"?t.scope:void 0;return{kind:"search",query:s,scope:o}}if(n==="invocation"||n==="agent_call"||n==="skill_call"){const s=typeof t.kind=="string"?t.kind:n,o=typeof t.name=="string"?t.name:e.toolName,i=typeof t.description=="string"?t.description:void 0;return{kind:"invocation",kind2:s,name:o,description:i}}if(n==="todo"||n==="todo_list")return{kind:"todo",items:(Array.isArray(t.items)?t.items:[]).map(i=>{const u=i??{};return{title:typeof u.title=="string"?u.title:"",status:typeof u.status=="string"?u.status:"pending"}})};if(n==="plan_review"){const s=typeof t.plan=="string"?t.plan:"",o=typeof t.path=="string"?t.path:void 0,u=(Array.isArray(t.options)?t.options:[]).map(p=>{const f=p??{},v=typeof f.label=="string"?f.label:"";if(!v)return null;const k=typeof f.description=="string"?f.description:void 0;return{label:v,description:k}}).filter(p=>p!==null);return{kind:"plan_review",plan:s,path:o,options:u.length>0?u:void 0}}return{kind:"generic",summary:e.action}}function DS(e){return{questionId:e.questionId,sessionId:e.sessionId,questions:e.questions.map(t=>({id:t.id,question:t.question,header:t.header,body:t.body,options:t.options.map(n=>({id:n.id,label:n.label,description:n.description,recommended:n.recommended})),multiSelect:t.multiSelect,allowOther:t.allowOther,otherLabel:t.otherLabel}))}}function OS(e){const t=q.messagesBySession[e.sessionId];if(!t||t.length===0)return;const n=new Map;for(const o of t)if(o.role==="assistant")for(const i of o.content){if(i.type!=="toolUse"||i.toolName!=="Bash"&&i.toolName!=="bash")continue;const u=i.input,p=u&&typeof u.command=="string"?u.command:void 0;p&&n.set(i.toolCallId,p)}if(n.size===0)return;const s=`task_id: ${e.id}`;for(const o of t)if(o.role==="tool")for(const i of o.content){if(i.type!=="toolResult")continue;if((typeof i.output=="string"?i.output:i.output!==void 0?JSON.stringify(i.output):"").includes(s)){const p=n.get(i.toolCallId);if(p)return p}}}function zS(e){let t;e.status==="running"?t="run":e.status==="completed"?t="done":t="fail";let n="";if(e.status==="running"&&e.startedAt){const u=Math.round((Date.now()-new Date(e.startedAt).getTime())/1e3),p=Math.floor(u/60),f=u%60;n=wt.global.t("tasks.timingRunning",{time:`${p}:${String(f).padStart(2,"0")}`})}else if(e.completedAt&&e.startedAt){const u=Math.round((new Date(e.completedAt).getTime()-new Date(e.startedAt).getTime())/1e3);n=wt.global.t("tasks.timingDone",{sec:u})}else n=e.status;const s=e.outputLines&&e.outputLines.length>0?e.outputLines:e.outputPreview?e.outputPreview.split(/\r?\n/):void 0,o=e.command??OS(e),i=e.kind==="bash"&&o?`$ ${o}`:void 0;return{id:e.id,name:e.description,kind:e.kind,state:t,timing:n,meta:i,output:s,runInBackground:e.runInBackground,parentToolCallId:e.parentToolCallId}}const FS=M(()=>{const e=q.sessions.find(n=>n.id===q.activeSessionId),t=e?e.cwd.split("/").pop()??e.cwd:"main";return{name:q.workspaceName,branch:t}}),NS=M(()=>(di.value,q.sessions.toSorted((e,t)=>new Date(t.updatedAt).getTime()-new Date(e.updatedAt).getTime()).map(e=>({id:e.id,title:e.title,time:Jl(e.updatedAt),busy:Xl(e.id,e.mainTurnActive),pendingInteraction:e.pendingInteraction,lastTurnReason:e.lastTurnReason})))),WS=M(()=>q.activeSessionId??""),qS=M(()=>{const e=q.activeSessionId;if(e)return Tt.skillsBySession.value[e]??[];const t=da.value;return t?Tt.skillsByWorkspace.value[t]??[]:[]}),er=M(()=>{const e=q.activeSessionId;return e?q.inFlightBySession[e]??!1:!1}),HS=M(()=>Fe.isStartingFirstPrompt()),Ln=M4(q,{pushOperationFailure:gi,nextOptimisticMsgId:_d,connectEventsIfNeeded:Md,getEventConn:()=>Dn,resolveThinkingForPrompt:(e,t)=>Tt.resolveThinkingForPrompt(e,t)}),hi=M(()=>{const e=q.activeSessionId;if(!e)return[];const t=Ln.sideChatTargetBySession.value[e]?.agentId;return(q.tasksBySession[e]??[]).filter(n=>n.id!==t)}),xd=rw(q,hi),US=M(()=>{const e=q.activeSessionId;if(!e)return[];const t=new Set(q.sideChatUserMessageIdsBySession[e]??[]),n=(q.messagesBySession[e]??[]).filter(o=>!t.has(o.id)),s=q.approvalsBySession[e]??[];return Qc(n,s,o=>Re().getFileUrl(o),ca.value,q.planReviewByToolCallId)}),ca=M(()=>{const e=q.activeSessionId;return e?(q.turnActiveBySession[e]??!1)||(q.sessions.find(t=>t.id===e)?.mainTurnActive??!1):!1}),VS=M(()=>er.value||ca.value),jS=x(null),KS=M(()=>(xd.taskClock.value,hi.value.map(zS))),Id=M(()=>V4(hi.value)),GS=M(()=>K4(hi.value)),Bo=M(()=>{const e=q.activeSessionId;return e?q.goalBySession[e]??null:null}),QS=M(()=>{const e=q.activeSessionId;return e?q4(q.messagesBySession[e]??[]):[]}),YS=M(()=>{const e=q.activeSessionId;return e?q.compactionBySession[e]??null:null}),ZS=M(()=>q.connection),XS=M(()=>q.loading),JS=M(()=>q.sessionLoading),eC=M(()=>{const e=q.activeSessionId;return e?q.messagesLoadingMoreBySession[e]??!1:!1}),tC=M(()=>{const e=q.activeSessionId;return e?q.messagesHasMoreBySession[e]??!1:!1}),nC=M(()=>{const e=q.activeSessionId;return e?q.messagesLoadMoreErrorBySession[e]??!1:!1}),sC=M(()=>q.serverVersion),Ad=M(()=>q.backend),oC=M(()=>q.dangerousBypassAuth),iC=M(()=>q.kimiOauthEnabled);Ne(Ad,e=>{Dn!==null&&Dn.setTranscriptMode(e==="v2")},{immediate:!0});function aC(){q.dangerousBypassAuth=!1}const lC=M(()=>q.permission),rC=M(()=>q.thinking),Pd=M(()=>{const e=q.activeSessionId;return e?q.planModeBySession[e]??!1:jo.planMode}),uC=M(()=>{const e=q.activeSessionId;return e?q.planArmedBySession[e]??!1:jo.planArmed}),cC=M(()=>{const e=q.activeSessionId;return e?q.swarmModeBySession[e]??!1:jo.swarmMode}),dC=M(()=>{const e=q.activeSessionId;return e?q.supermoonModeBySession[e]??!1:jo.supermoonMode}),pC=M(()=>{const e=q.activeSessionId;return e?q.goalModeBySession[e]??!1:jo.goalMode}),fC=M(()=>{const e=j4(Id.value);return{plan:Pd.value,goal:Bo.value&&Bo.value.status!=="complete"?{status:Bo.value.status,turnsUsed:Bo.value.turnsUsed,elapsedMs:Bo.value.wallClockMs}:null,swarm:e.total>0?e:null}}),mC=M(()=>{const e=q.activeSessionId;if(!e)return[];const t=Re();return(q.queuedBySession[e]??[]).map(n=>({text:n.text,attachmentCount:n.attachments?.length??0,attachments:n.attachments?.map(s=>({fileId:s.fileId,kind:s.kind,url:t.getFileUrl(s.fileId),name:s.name}))}))}),vC=M(()=>q.warnings),bo=x([]),tr=x(d2());function gC(e){tr.value=e,Nt(Ge.taskNotices,e?"1":"0"),e||(bo.value=[])}function hC(e){if(!tr.value||!(e.runInBackground===!0||e.backgroundTaskId!==void 0)||bo.value.some(o=>o.taskId===e.id))return;const n=p2(e,e.outputPreview??e.text),s={taskId:e.id,sessionId:e.sessionId,view:n,createdAt:Date.now()};bo.value=[...bo.value,s].slice(-3)}function yC(e){bo.value=bo.value.filter(t=>t.taskId!==e)}const kC=M(()=>{const e=q.activeSessionId;return e?(q.questionsBySession[e]??[]).map(DS):[]}),bC=M(()=>{const e=q.activeSessionId;return e?(q.approvalsBySession[e]??[]).map(t=>({approvalId:t.approvalId,block:RS(t),agentName:t.agentName})):[]}),nr=M(()=>{const e=q.activeSessionId;return e?(q.approvalsBySession[e]??[]).length>0?"awaiting-approval":(q.questionsBySession[e]??[]).length>0?"awaiting-question":er.value||ca.value?"running":"idle":"idle"}),Tt=Hw(q,{pushOperationFailure:gi,refreshSessionStatus:vi,persistSessionProfile:bd,activity:nr,updateSession:ua,updateSessionMessages:fd}),fl=M(()=>{const e=q.activeSessionId;if(!e)return null;const t=q.gitStatusBySession[e];return t?{branch:t.branch,ahead:t.ahead,behind:t.behind}:null}),wC=M(()=>{const e=q.activeSessionId;return e?q.gitStatusBySession[e]?.pullRequest??null:null}),SC=M(()=>{const e=q.activeSessionId;if(!e)return[];const t=q.gitStatusBySession[e];return t?Object.entries(t.entries).map(([n,s])=>({path:n,status:s})).sort((n,s)=>n.path.localeCompare(s.path)):[]}),CC=M(()=>{const e=q.activeSessionId;if(!e)return null;const t=q.gitStatusBySession[e];return t?{totalAdditions:t.additions,totalDeletions:t.deletions}:null}),sr="—",Ed=M(()=>{const e=q.sessions.find(u=>u.id===q.activeSessionId),t=fl.value?.branch??(e?e.cwd.split("/").pop()??e.cwd:"main"),n=e===void 0?Tt.draftModel.value:null,s=(e?.model&&e.model.length>0?e.model:n??q.defaultModel)??sr,o=Tt.models.value.find(u=>u.id===s)??Tt.models.value.find(u=>u.model===s);return{model:o?.displayName||o?.model||(s.includes("/")?s.split("/").pop():s),modelId:o?.id??s,ctxUsed:e?.usage.contextTokens??0,ctxMax:e?.usage.contextLimit??0,permission:q.permission,branch:t,cwd:e?.cwd??"",isGitRepo:fl.value!==null}}),_C=M(()=>gd.value),MC=M(()=>q.sessions.find(t=>t.id===q.activeSessionId)?.usage.totalCostUsd??0),$C=M(()=>q.authReady),TC=M(()=>q.defaultModel),xC=M(()=>q.accountModel),IC=M(()=>q.managedProviderStatus),AC=M(()=>q.config),PC=M(()=>{const e=q.activeSessionId;if(!e)return{};const t=q.gitStatusBySession[e];return t?{...t.entries}:{}});function Wo(e){const t=us(e.cwd);return q.workspaces.find(n=>us(n.root)===t)?.id??e.workspaceId??e.cwd}const pi=M(()=>Jb({workspaces:q.workspaces,sessions:q.sessions,hiddenWorkspaceRoots:q.hiddenWorkspaceRoots,sessionsHasMoreByWorkspace:q.sessionsHasMoreByWorkspace})),Ji=x(Hp()),qo=x(Up()==="manual"?"manual":"recent"),zo=x(Vp());Ne(()=>q.sessions,e=>{const t=wf(e,Wo),{next:n,changed:s}=Sf(zo.value,t);s&&(zo.value=n,lc(n))});const ea=x(af()),ml=x(d0());function EC(e){const t=rf(ea.value,e);ea.value=t,lf(t)}function BC(e,t){const n=f0(ml.value,e,t);ml.value=n,p0(n)}const Ns=x(e2()),Bd=x(vf());function LC(e){const t=t2(Ns.value,e);Ns.value=t,El(t)}function RC(e){const t=n2(Ns.value,e);Ns.value=t,El(t)}function DC(e){const t=s2(Ns.value,e);Ns.value=t,El(t)}function OC(e){Bd.value=e,gf(e)}async function zC(e){try{return await Re().undoSession(e),!0}catch{return!1}}Ne(()=>[pi.value.map(e=>e.id).join("\0"),q.loading],([e,t])=>{if(t)return;const n=e?e.split("\0"):[],s=dc(pi.value,zo.value),o=hf(n,Ji.value,s);o!==null&&(Ji.value=o,ic(o));const{next:i,changed:u}=Cf(zo.value,new Set(n));u&&(zo.value=i,lc(i))});const Mo=M(()=>{const e=pi.value.map(t=>({id:t.id,name:t.name,root:t.root,shortPath:eS(t.root,q.fsHome),sessionCount:t.sessionCount}));if(qo.value==="recent"){const t=dc(pi.value,zo.value);return bf(e,t)}return yf(e,Ji.value)}),da=M(()=>{const e=q.activeWorkspaceId,t=Mo.value;return e&&t.some(n=>n.id===e)?e:t[0]?.id??null});Ne(da,e=>{e&&(Object.prototype.hasOwnProperty.call(Tt.skillsByWorkspace.value,e)||Tt.loadSkillsForWorkspace(e))},{immediate:!0});const FC=M(()=>{const e=da.value;return e?Mo.value.find(t=>t.id===e)??null:null});function Ld(e){return!e||e.state!=="open"&&e.state!=="closed"&&e.state!=="merged"?null:{number:e.number,state:e.state,url:e.url}}const NC=M(()=>{di.value;const e=new Set(Mo.value.map(n=>n.id)),t=new Map(Mo.value.map(n=>[n.id,n.name]));return q.sessions.filter(n=>!n.parentSessionId&&e.has(Wo(n))).map(n=>{const s=Wo(n);return{id:n.id,title:n.title,time:Jl(n.updatedAt),busy:Xl(n.id,n.mainTurnActive),pendingInteraction:n.pendingInteraction,lastTurnReason:n.lastTurnReason,updatedAt:n.updatedAt,lastPrompt:n.lastPrompt,done:Ns.value.includes(n.id),workspaceId:s,workspaceName:t.get(s),pullRequest:Ld(q.gitStatusBySession[n.id]?.pullRequest)}})}),WC=M(()=>{di.value;const e=new Map;for(const t of q.sessions.toSorted((n,s)=>new Date(s.updatedAt).getTime()-new Date(n.updatedAt).getTime())){if(t.parentSessionId)continue;const n=Wo(t),s={id:t.id,title:t.title,time:Jl(t.updatedAt),busy:Xl(t.id,t.mainTurnActive),pendingInteraction:t.pendingInteraction,lastTurnReason:t.lastTurnReason,updatedAt:t.updatedAt,done:Ns.value.includes(t.id),pullRequest:Ld(q.gitStatusBySession[t.id]?.pullRequest)},o=e.get(n)??[];o.push(s),e.set(n,o)}return Mo.value.map(t=>({workspace:t,sessions:uc(e.get(t.id)??[],ea.value),hasMore:q.sessionsHasMoreByWorkspace[t.id]??!1,loadingMore:q.sessionsLoadingMoreByWorkspace[t.id]??!1,initialCount:q.sessionsInitialCountByWorkspace[t.id]??rl}))});function qC(e){Ji.value=e,ic(e),qo.value!=="manual"&&(qo.value="manual",ac("manual"))}function HC(e){qo.value!==e&&(qo.value=e,ac(e))}const Rd=M(()=>{const e={};for(const[t,n]of Object.entries(q.approvalsBySession))n.length>0&&(e[t]=(e[t]??0)+n.length);for(const[t,n]of Object.entries(q.questionsBySession))n.length>0&&(e[t]=(e[t]??0)+n.length);return e}),UC=M(()=>{const e={};for(const[t,n]of Object.entries(q.approvalsBySession))n.length>0&&((e[t]??={approvals:0,questions:0}).approvals=n.length);for(const[t,n]of Object.entries(q.questionsBySession))n.length>0&&((e[t]??={approvals:0,questions:0}).questions=n.length);return e}),VC=M(()=>{const e={};for(const[t,n]of Object.entries(q.unreadBySession))n&&(e[t]=!0);return e}),jC=M(()=>{const e={},t=Rd.value;for(const n of q.sessions){const s=t[n.id]??0;if(s<=0)continue;const o=Wo(n);e[o]=(e[o]??0)+s}return e}),KC=M(()=>q.recentRoots),GC=M(()=>q.availableOpenInApps),QC=M(()=>q.webTitle),Fe=Nw(q,{taskPoller:xd,sideChat:Ln,modelProvider:Tt,pushOperationFailure:gi,activity:nr,sessionsKnownEmpty:$d,setSessions:dd,updateSession:ua,upsertSessionFront:tS,appendSession:nS,forgetSession:md,setActiveSessionId:Ql,updateSessionMessages:fd,nextOptimisticMsgId:_d,getEventConn:()=>Dn,syncSessionFromSnapshot:Zl,reopenSession:PS,hasLoadedMessages:TS,refreshSessionStatus:vi,refreshSessionGoal:lS,persistSessionProfile:bd,mergedWorkspaces:pi,workspacesView:Mo,status:Ed,workspaceIdForSession:Wo,savePermissionToStorage:Q4,savePlanModeToStorage:id,savePlanArmedToStorage:ad,saveSwarmModeToStorage:ld,saveSupermoonModeToStorage:rd,saveGoalModeToStorage:ud,draftModes:jo,saveUnread:$l,saveActiveWorkspaceToStorage:J4,saveHiddenWorkspacesToStorage:X4,goalErrorMessage:_S,resetFastMoon:Rs.resetFastMoon,initialized:yd,connectIssue:kd,selectedDiffPath:vd,fileDiffLines:gd,fileDiffLoading:hd});function or(e){return e===q.activeSessionId&&typeof document<"u"&&document.visibilityState==="visible"&&document.hasFocus()}const Ba=new Map;function YC(e){const t=Ba.get(e);Gb(t)&&(Ba.set(e,Qb(t)),Re().generateSessionTitle(e,{source:"first_turn"}).then(n=>{n!==null&&Ba.set(e,Yb())}).catch(()=>{}))}function ZC(e){if(q.turnActiveBySession[e]){const t={...q.turnActiveBySession};delete t[e],q.turnActiveBySession=t}q.inFlightBySession[e]&&(q.inFlightBySession={...q.inFlightBySession,[e]:!1})}function XC(e,t,n){const s=q.promptIdBySession[e];Fe.finishPromptLocal(e,{turnWasActive:n}),q.config?.experimental?.auto_session_title===!0&&YC(e),Fe.loadGitStatus(e),e===q.activeSessionId?vi(e):t==="idle"&&(q.unreadBySession={...q.unreadBySession,[e]:!0},$l({[e]:!0}));const o=(q.approvalsBySession[e]??[]).length>0,i=(q.questionsBySession[e]??[]).length>0;N2(t,o,i)&&_s.maybeNotifyCompletion(e,{isUserWatching:or(e),sessionTitle:q.sessions.find(u=>u.id===e)?.title??"",promptId:s,onClick:()=>{Fe.selectSession(e)}}),t==="idle"&&ci.maybePlayCompletionSound()}function JC(e,t){const n=t.questions[0],s=n?.header?.trim()??"",o=n?.question?.trim()??"",i=s&&o?`${s}: ${o}`:o||s;_s.maybeNotifyQuestion({isUserWatching:or(e),sessionTitle:q.sessions.find(u=>u.id===e)?.title??"",questionPreview:i,questionId:t.questionId,onClick:()=>{Fe.selectSession(e)}}),ci.maybePlayQuestionSound()}function e3(e,t){_s.maybeNotifyApproval({isUserWatching:or(e),sessionTitle:q.sessions.find(n=>n.id===e)?.title??"",toolName:t.toolName,approvalId:t.approvalId,onClick:()=>{Fe.selectSession(e)}}),ci.maybePlayApprovalSound()}function yi(){return BS(),{workspace:FS,sessions:NS,activeSessionId:WS,workspacesView:Mo,workspaceSortMode:qo,visibleWorkspace:FC,activeWorkspaceId:da,sessionsForView:NC,workspaceGroups:WC,attentionBySession:Rd,pendingBySession:UC,attentionByWorkspace:jC,unreadBySession:VC,pinnedSessionIds:ea,sessionEmojiBySession:ml,doneSessionIds:Ns,multiTabSidebar:Bd,recentRoots:KC,turns:US,tasks:KS,activeAppTasks:hi,todos:QS,goal:Bo,swarms:Id,swarmMembersByToolCallId:GS,activationBadges:fC,compaction:YS,status:Ed,sessionCost:MC,fileDiff:_C,selectedDiffPath:vd,fileDiffLoading:hd,changes:SC,gitInfo:fl,gitDiffStats:CC,activePullRequest:wC,changesByPath:PC,pendingApprovals:bC,availableOpenInApps:GC,webTitle:QC,connection:ZS,loading:XS,sessionLoading:JS,loadingMoreMessages:eC,hasMoreMessages:tC,loadMoreMessagesError:nC,serverVersion:sC,backend:Ad,dangerousBypassAuth:oC,kimiOauthEnabled:iC,clearDangerousBypassAuth:aC,initialized:yd,connectIssue:kd,permission:lC,thinking:rC,planMode:Pd,planArmed:uC,swarmMode:cC,supermoonMode:dC,goalMode:pC,queued:mC,warnings:vC,questions:kC,activity:nr,turnActive:ca,inFlight:er,working:VS,modelRetry:jS,isStartingFirstPrompt:HS,fastMoon:Rs.fastMoon,models:Tt.models,starredModelIds:Tt.starredModelIds,providers:Tt.providers,uiFontSize:Rs.uiFontSize,setUiFontSize:Rs.setUiFontSize,conversationToc:Sd,setConversationToc:cS,colorScheme:Rs.colorScheme,setColorScheme:Rs.setColorScheme,accent:Rs.accent,setAccent:Rs.setAccent,notifyOnComplete:_s.notifyOnComplete,notifyOnQuestion:_s.notifyOnQuestion,notifyOnApproval:_s.notifyOnApproval,notifyPermission:_s.notifyPermission,setNotifyOnComplete:_s.setNotifyOnComplete,setNotifyOnQuestion:_s.setNotifyOnQuestion,setNotifyOnApproval:_s.setNotifyOnApproval,soundOnComplete:ci.soundOnComplete,setSoundOnComplete:ci.setSoundOnComplete,onboarded:Cd,setOnboarded:pS,load:Fe.load,selectSession:Fe.selectSession,clearActiveSession:Fe.clearActiveSession,loadOlderMessages:Fe.loadOlderMessages,loadWorkspaces:Fe.loadWorkspaces,loadMoreSessions:Fe.loadMoreSessions,loadAllSessions:Fe.loadAllSessions,selectWorkspace:Fe.selectWorkspace,openWorkspace:Fe.openWorkspace,openWorkspaceDraft:Fe.openWorkspaceDraft,startSessionAndSendPrompt:Fe.startSessionAndSendPrompt,startSessionAndActivateSkill:Fe.startSessionAndActivateSkill,startSessionAndOpenSideChat:Fe.startSessionAndOpenSideChat,addWorkspaceByPath:Fe.addWorkspaceByPath,browseFs:Fe.browseFs,getFsHome:Fe.getFsHome,sendPrompt:Fe.sendPrompt,steerPrompt:Fe.steerPrompt,steerQueuedPrompt:Fe.steerQueuedPrompt,sendQueuedPrompt:Fe.sendQueuedPrompt,sideChatVisible:Ln.sideChatVisible,sideChatSessionId:Ln.sideChatSessionId,sideChatTurns:Ln.sideChatTurns,sideChatRunning:Ln.sideChatRunning,sideChatSending:Ln.sideChatSending,openSideChat:Ln.openSideChat,closeSideChat:Ln.closeSideChat,sendSideChatPrompt:Ln.sendSideChatPrompt,terminal:zi,uploadImage:Fe.uploadImage,abortCurrentPrompt:Fe.abortCurrentPrompt,respondApproval:Fe.respondApproval,respondQuestion:Fe.respondQuestion,dismissQuestion:Fe.dismissQuestion,pendingQuestionActions:Fe.pendingQuestionActions,pendingApprovalActions:Fe.pendingApprovalActions,cancelTask:Fe.cancelTask,detachTask:Fe.detachTask,setPermission:Fe.setPermission,setThinking:Tt.setThinking,setPlanMode:Fe.setPlanMode,togglePlanMode:Fe.togglePlanMode,armPlanMode:Fe.armPlanMode,dismissPlanMode:Fe.dismissPlanMode,togglePlanArm:Fe.togglePlanArm,setSwarmMode:Fe.setSwarmMode,toggleSwarmMode:Fe.toggleSwarmMode,setSupermoonMode:Fe.setSupermoonMode,toggleSupermoonMode:Fe.toggleSupermoonMode,setGoalMode:Fe.setGoalMode,toggleGoalMode:Fe.toggleGoalMode,createGoal:Fe.createGoal,controlGoal:Fe.controlGoal,enqueue:Fe.enqueue,dismissWarning:Fe.dismissWarning,taskNotices:bo,taskNoticesEnabled:tr,setTaskNoticesEnabled:gC,dismissTaskNotice:yC,renameSession:Fe.renameSession,regenerateSessionTitle:Fe.regenerateSessionTitle,renameWorkspace:Fe.renameWorkspace,deleteWorkspace:Fe.deleteWorkspace,reorderWorkspaces:qC,setWorkspaceSortMode:HC,togglePinnedSession:EC,setSessionEmoji:BC,toggleDoneSession:LC,markSessionsDone:RC,reopenSessions:DC,setMultiTabSidebar:OC,undoSessionById:zC,archiveSession:Fe.archiveSession,exportSession:Fe.exportSession,restoreSession:Fe.restoreSession,loadArchivedSessions:Fe.loadArchivedSessions,compact:Fe.compact,forkSession:Fe.forkSession,undo:Fe.undo,unqueue:Fe.unqueue,reorderQueue:Fe.reorderQueue,searchFiles:Fe.searchFiles,loadGitStatus:Fe.loadGitStatus,loadFileDiff:Fe.loadFileDiff,clearFileDiff:Fe.clearFileDiff,listDir:Fe.listDir,readFileContent:Fe.readFileContent,getFileDownloadUrl:Fe.getFileDownloadUrl,openWorkspaceFile:Fe.openWorkspaceFile,openInApp:Fe.openInApp,revealWorkspaceFile:Fe.revealWorkspaceFile,resolveImageUrl:Fe.resolveImageUrl,loadModels:Tt.loadModels,loadProviders:Tt.loadProviders,skills:qS,activateSkill:Tt.activateSkill,setModel:Tt.setModel,toggleStarModel:Tt.toggleStarModel,addProvider:Tt.addProvider,deleteProvider:Tt.deleteProvider,refreshProvider:Tt.refreshProvider,refreshAllProviders:Tt.refreshAllProviders,importCatalogProvider:Tt.importCatalogProvider,importRegistry:Tt.importRegistry,authReady:$C,defaultModel:TC,accountModel:xC,managedProviderStatus:IC,config:AC,updateConfig:Fe.updateConfig,checkAuth:Fe.checkAuth,startOAuthLogin:Tt.startOAuthLogin,resolveOAuthRegion:Tt.resolveOAuthRegion,pollOAuthLogin:Tt.pollOAuthLogin,cancelOAuthLogin:Tt.cancelOAuthLogin,logout:Fe.logout}}const t3=["aria-label"],n3=Ee({__name:"Spinner",props:{size:{default:"md"},label:{default:"Loading"}},setup(e){return(t,n)=>(l(),c("span",{class:pe(["ui-spinner",`ui-spinner--${e.size}`]),role:"status","aria-label":e.label},[...n[0]||(n[0]=[r("svg",{class:"ui-spinner__svg",viewBox:"0 0 24 24","aria-hidden":"true"},[r("circle",{class:"ui-spinner__track",cx:"12",cy:"12",r:"9"}),r("circle",{class:"ui-spinner__arc",cx:"12",cy:"12",r:"9"})],-1)])],10,t3))}}),Qt=Le(n3,[["__scopeId","data-v-e5c5b17d"]]),s3=Ee({__name:"Menu",setup(e,{expose:t}){const n=x();return t({el:n}),(s,o)=>(l(),c("div",{ref_key:"el",ref:n,class:"ui-menu",role:"menu"},[Pt(s.$slots,"default",{},void 0,!0)],512))}}),Nn=Le(s3,[["__scopeId","data-v-60e6cd8d"]]),o3={key:0,class:"ui-menu-sep",role:"separator"},i3=["disabled"],a3=Ee({__name:"MenuItem",props:{active:{type:Boolean},danger:{type:Boolean},disabled:{type:Boolean},separator:{type:Boolean},size:{default:"md"}},emits:["click"],setup(e){return(t,n)=>e.separator?(l(),c("div",o3)):(l(),c("button",{key:1,class:pe(["ui-menu-item",[`ui-menu-item--${e.size}`,{"is-active":e.active,"is-danger":e.danger}]]),type:"button",role:"menuitem",disabled:e.disabled,onClick:n[0]||(n[0]=s=>t.$emit("click",s))},[Pt(t.$slots,"default",{},void 0,!0)],10,i3))}}),nt=Le(a3,[["__scopeId","data-v-f940771a"]]),Zs=6,Xs=8,l3=150,r3=Ee({__name:"Tooltip",props:{text:{},placement:{default:"top"},maxWidth:{default:280},maxLines:{default:6}},setup(e){const t=e,n=x(),s=x(),o=x(!1),i=x(!1),u=x({maxWidth:`${t.maxWidth}px`});let p,f=null,v;function k(){const g=s.value;if(!f||!g)return;const y=f.getBoundingClientRect(),S=g.offsetWidth,B=g.offsetHeight,b=window.innerWidth,P=window.innerHeight;let E=t.placement;E==="top"&&y.top-Zs-BP-Xs?E="top":E==="left"&&y.left-Zs-Sb-Xs&&(E="left");let L=0,N=0;E==="top"?(L=y.top-Zs-B,N=y.left+y.width/2-S/2):E==="bottom"?(L=y.bottom+Zs,N=y.left+y.width/2-S/2):E==="left"?(L=y.top+y.height/2-B/2,N=y.left-Zs-S):(L=y.top+y.height/2-B/2,N=y.right+Zs),N=Math.min(Math.max(N,Xs),b-Xs-S),L=Math.min(Math.max(L,Xs),P-Xs-B),u.value={maxWidth:`${t.maxWidth}px`,top:`${Math.round(L)}px`,left:`${Math.round(N)}px`}}function T(){t.text&&(window.clearTimeout(p),p=window.setTimeout(()=>{o.value=!0,i.value=!1,window.addEventListener("scroll",m,{capture:!0,passive:!0}),window.addEventListener("resize",m,{passive:!0}),Ze(()=>{k(),i.value=!0})},l3))}function h(){window.clearTimeout(p),window.removeEventListener("scroll",m,{capture:!0}),window.removeEventListener("resize",m),o.value=!1,i.value=!1}function m(){o.value&&h()}function $(g){g!==f&&(f&&(f.removeEventListener("mouseenter",T),f.removeEventListener("mouseleave",h),f.removeEventListener("focusin",T),f.removeEventListener("focusout",h)),f=g,f&&(f.addEventListener("mouseenter",T),f.addEventListener("mouseleave",h),f.addEventListener("focusin",T),f.addEventListener("focusout",h)))}return xt(()=>{const g=n.value??null;$(g?.firstElementChild??g),g&&(v=new MutationObserver(()=>{const y=g.firstElementChild??null;y!==f&&(h(),$(y??g))}),v.observe(g,{childList:!0}))}),Tn(()=>{window.clearTimeout(p),window.removeEventListener("scroll",m,{capture:!0}),window.removeEventListener("resize",m),v?.disconnect(),$(null)}),(g,y)=>(l(),c(ce,null,[r("span",{ref_key:"trigger",ref:n,class:"ui-tip"},[Pt(g.$slots,"default",{},void 0,!0)],512),(l(),W(ns,{to:"body"},[bt(r("div",{ref_key:"bubble",ref:s,class:pe(["ui-tip__bubble",{positioned:i.value}]),style:gt([u.value,{"--tip-lines":e.maxLines}]),role:"tooltip"},d(e.text),7),[[Un,o.value]])]))],64))}}),ht=Le(r3,[["__scopeId","data-v-98697f45"]]),u3={class:"row"},c3={class:"lead","aria-hidden":"true"},d3={key:1,class:"unread-dot"},p3={class:"left"},f3=["onKeydown"],m3={key:0,class:"t-emoji","aria-hidden":"true"},v3=["aria-label"],g3={class:"act"},h3={class:"ts"},y3={key:0,class:"emoji-glyph"},k3={class:"menu-time"},b3=["aria-label"],w3={class:"emoji-grid"},S3=["aria-label","onClick"],C3=Ee({__name:"SessionRow",props:{session:{},active:{type:Boolean},approvalCount:{default:0},questionCount:{default:0},unread:{type:Boolean,default:!1}},emits:["select","rename","archive","fork","export"],setup(e,{expose:t,emit:n}){const{t:s}=Ye(),{pinnedSessionIds:o,sessionEmojiBySession:i,togglePinnedSession:u,setSessionEmoji:p,toggleDoneSession:f,multiTabSidebar:v,config:k,regenerateSessionTitle:T}=yi(),h=e,m=n,$=M(()=>o.value.includes(h.session.id)),g=M(()=>i.value[h.session.id]??null),y=M(()=>h.session.done===!0);function S(){f(h.session.id)}const B=M(()=>k.value?.experimental?.auto_session_title===!0),b=M(()=>h.session.pullRequest??null),P=x(!1);async function E(){if(!P.value){P.value=!0;try{await T(h.session.id)}finally{P.value=!1}}}function L(){const Se=b.value?.url;Se&&window.open(Se,"_blank","noopener")}function N(){u(h.session.id)}function Q(Se){p(h.session.id,Se),ke()}function V(Se){const Ae=new Date(Se);if(Number.isNaN(Ae.getTime()))return Se;const Xe=yt=>String(yt).padStart(2,"0");return`${Ae.getFullYear()}-${Xe(Ae.getMonth()+1)}-${Xe(Ae.getDate())} ${Xe(Ae.getHours())}:${Xe(Ae.getMinutes())}`}const _=M(()=>h.session.updatedAt?V(h.session.updatedAt):h.session.time),z=x(!1),D=x(null),ee=x(null),me=x({});function ve(Se){const Ae=Se.target;ee.value?.el?.contains(Ae)||D.value?.el?.contains(Ae)||le()}function Be(){const Se=D.value?.el;if(!Se)return;const Ae=ee.value?.el,Xe=Se.getBoundingClientRect(),yt=4,qe=8,He=Ae?.offsetHeight??0,Ue=Ae?.offsetWidth??0;let dt=Xe.bottom+yt;dt+He>window.innerHeight-qe&&(dt=Math.max(qe,Xe.top-He-yt));let at=Xe.right-Ue;atdocument.addEventListener("mousedown",ve),0),window.addEventListener("resize",le),await Ze(),Be()}function le(){z.value=!1,document.removeEventListener("mousedown",ve),window.removeEventListener("resize",le)}St(()=>{document.removeEventListener("mousedown",ve),window.removeEventListener("resize",le),document.removeEventListener("mousedown",F),window.removeEventListener("resize",ke)});const ne=x(!1),ae=x(null),se=x(null),ge=x({});function re(){const Se=ae.value?.el;if(!Se)return;const Ae=se.value,Xe=Se.getBoundingClientRect(),yt=4,qe=8,He=Ae?.offsetHeight??0,Ue=Ae?.offsetWidth??0;let dt=Xe.bottom+yt;dt+He>window.innerHeight-qe&&(dt=Math.max(qe,Xe.top-He-yt));let at=Xe.right-Ue;atdocument.addEventListener("mousedown",F),0),window.addEventListener("resize",ke),await Ze(),re()}function ke(){ne.value=!1,document.removeEventListener("mousedown",F),window.removeEventListener("resize",ke)}const we=x(!1),Oe=x(""),Ve=x(null),be=x(!1);async function ze(){le(),we.value=!0,be.value=!1,Oe.value=h.session.title,await Ze();try{Ve.value?.focus(),Ve.value?.select()}catch{}}function oe(){const Se=Oe.value.trim();Se&&m("rename",h.session.id,Se),we.value=!1}function J(){we.value=!1}function U(Se){be.value||Hi(Se)||oe()}function Y(Se){be.value||Hi(Se)||J()}const ye=x(!1),st=x(!1);async function et(){const Se=await ln(h.session.id);ye.value=Se,st.value=!Se,setTimeout(()=>{ye.value=!1,st.value=!1,le()},1500)}function pt(){le(),m("fork",h.session.id)}function Me(){le(),m("export",h.session.id)}function Te(){le(),m("archive",h.session.id)}return t({closeMenu:le}),(Se,Ae)=>(l(),c("div",{class:pe(["se",{on:e.active,"has-gen":B.value}]),onClick:Ae[9]||(Ae[9]=Xe=>m("select",e.session.id))},[r("div",u3,[r("span",c3,[e.session.busy?(l(),W(Qt,{key:0,size:"sm"})):e.unread?(l(),c("span",d3)):I("",!0)]),r("div",p3,[we.value?bt((l(),c("input",{key:0,ref_key:"renameInputRef",ref:Ve,"onUpdate:modelValue":Ae[0]||(Ae[0]=Xe=>Oe.value=Xe),class:"rename-input",onClick:Ae[1]||(Ae[1]=De(()=>{},["stop"])),onCompositionstart:Ae[2]||(Ae[2]=Xe=>be.value=!0),onCompositionend:Ae[3]||(Ae[3]=Xe=>be.value=!1),onKeydown:[$n(De(U,["stop"]),["enter"]),$n(De(Y,["stop"]),["esc"])],onBlur:oe},null,40,f3)),[[On,Oe.value]]):(l(),c("span",{key:1,class:"t",onDblclick:De(ze,["stop"])},[g.value?(l(),c("span",m3,d(g.value),1)):I("",!0),te(d(e.session.title),1)],32))]),w(ht,{text:a(s)("workspace.awaitingAnswerTitle")},{default:R(()=>[!we.value&&(e.questionCount>0||e.session.pendingInteraction==="question")?(l(),W(Bt,{key:0,variant:"info",size:"sm"},{default:R(()=>[te(d(a(s)("workspace.awaitingAnswer")),1)]),_:1})):I("",!0)]),_:1},8,["text"]),w(ht,{text:a(s)("workspace.awaitingPermissionTitle")},{default:R(()=>[!we.value&&(e.approvalCount>0||e.session.pendingInteraction==="approval")?(l(),W(Bt,{key:0,variant:"warning",size:"sm"},{default:R(()=>[te(d(a(s)("workspace.awaitingPermission")),1)]),_:1})):I("",!0)]),_:1},8,["text"]),!we.value&&y.value?(l(),W(Bt,{key:0,variant:"success",size:"sm"},{default:R(()=>[te(d(a(s)("sidebar.tagDone")),1)]),_:1})):I("",!0),w(ht,{text:a(s)("workspace.abortedTitle")},{default:R(()=>[!we.value&&!e.session.busy&&e.session.pendingInteraction!=="question"&&e.session.pendingInteraction!=="approval"&&e.questionCount===0&&e.approvalCount===0&&a(Qa)(e.session)?(l(),W(Bt,{key:0,variant:"danger",size:"sm"},{default:R(()=>[te(d(a(s)("workspace.aborted")),1)]),_:1})):I("",!0)]),_:1},8,["text"]),!we.value&&b.value?(l(),c("button",{key:1,type:"button",class:pe(["pr",`pr--${b.value.state}`]),"aria-label":a(s)("sidebar.prTag",{number:b.value.number}),onClick:De(L,["stop"])},[w(X,{name:"git-pull-request",size:"sm"}),r("span",null,"#"+d(b.value.number),1)],10,v3)):I("",!0),r("span",g3,[r("span",h3,d(e.session.time),1),we.value?I("",!0):(l(),W(rt,{key:0,class:pe(["btn pin",{on:$.value}]),size:"sm",label:$.value?a(s)("sidebar.unpin"):a(s)("sidebar.pin"),onClick:De(N,["stop"])},{default:R(()=>[w(X,{name:$.value?"pin-fill":"pin"},null,8,["name"])]),_:1},8,["class","label"])),we.value?I("",!0):(l(),W(rt,{key:1,ref_key:"emojiBtnRef",ref:ae,class:pe(["btn emoji-btn",{open:ne.value}]),size:"sm",label:a(s)("sidebar.emoji"),onClick:Ae[4]||(Ae[4]=De(Xe=>Z(Xe),["stop"]))},{default:R(()=>[g.value?(l(),c("span",y3,d(g.value),1)):(l(),W(X,{key:1,name:"emotion"}))]),_:1},8,["class","label"])),!we.value&&B.value?(l(),W(rt,{key:2,class:pe(["btn gen-title",{open:P.value}]),size:"sm",label:a(s)("sidebar.genTitle"),disabled:P.value,onClick:De(E,["stop"])},{default:R(()=>[P.value?(l(),W(Qt,{key:0,size:"sm"})):(l(),W(X,{key:1,name:"sparkles"}))]),_:1},8,["class","label","disabled"])):I("",!0),we.value?I("",!0):(l(),W(rt,{key:3,ref_key:"kebabRef",ref:D,class:pe(["btn kebab",{open:z.value}]),size:"sm",label:a(s)("sidebar.options"),onClick:Ae[5]||(Ae[5]=De(Xe=>ie(Xe),["stop"]))},{default:R(()=>[w(X,{name:"dots-horizontal"})]),_:1},8,["class","label"]))])]),(l(),W(ns,{to:"body"},[z.value?(l(),W(Nn,{key:0,ref_key:"menuRef",ref:ee,class:"menu",style:gt(me.value),onClick:Ae[6]||(Ae[6]=De(()=>{},["stop"]))},{default:R(()=>[w(nt,{danger:st.value,onClick:et},{default:R(()=>[w(X,{name:ye.value?"check":"copy",size:"sm"},null,8,["name"]),te(" "+d(st.value?a(s)("sidebar.copyFailed"):ye.value?a(s)("sidebar.copied"):a(s)("sidebar.copySessionId")),1)]),_:1},8,["danger"]),w(nt,{separator:""}),a(v)?(l(),W(nt,{key:0,onClick:S},{default:R(()=>[w(X,{name:y.value?"undo":"check-list",size:"sm"},null,8,["name"]),te(" "+d(y.value?a(s)("sidebar.reopen"):a(s)("sidebar.markDone")),1)]),_:1})):I("",!0),w(nt,{onClick:ze},{default:R(()=>[w(X,{name:"pencil",size:"sm"}),te(" "+d(a(s)("sidebar.rename")),1)]),_:1}),w(nt,{onClick:pt},{default:R(()=>[w(X,{name:"git-fork",size:"sm"}),te(" "+d(a(s)("sidebar.fork")),1)]),_:1}),w(nt,{onClick:Me},{default:R(()=>[w(X,{name:"download",size:"sm"}),te(" "+d(a(s)("sidebar.export")),1)]),_:1}),w(nt,{danger:"",onClick:Te},{default:R(()=>[w(X,{name:"archive",size:"sm"}),te(" "+d(a(s)("sidebar.archive")),1)]),_:1}),w(nt,{separator:""}),r("div",k3,d(_.value),1)]),_:1},8,["style"])):I("",!0)])),(l(),W(ns,{to:"body"},[ne.value?(l(),c("div",{key:0,ref_key:"emojiPickerRef",ref:se,class:"emoji-picker",role:"menu","aria-label":a(s)("sidebar.emoji"),style:gt(ge.value),onClick:Ae[8]||(Ae[8]=De(()=>{},["stop"]))},[r("div",w3,[(l(!0),c(ce,null,Pe(a(vc),Xe=>(l(),c("button",{key:Xe,type:"button",class:pe(["emoji-cell",{on:Xe===g.value}]),"aria-label":Xe,role:"menuitem",onClick:De(yt=>Q(Xe),["stop"])},d(Xe),11,S3))),128))]),g.value?(l(),c("button",{key:0,type:"button",class:"emoji-clear",role:"menuitem",onClick:Ae[7]||(Ae[7]=De(Xe=>Q(null),["stop"]))},d(a(s)("sidebar.emojiRemove")),1)):I("",!0)],12,b3)):I("",!0)]))],2))}}),vl=Le(C3,[["__scopeId","data-v-c466732e"]]),_3=["draggable"],M3={class:"gh-top"},$3={class:"gh-name"},T3=["inert"],x3=["disabled"],I3={class:"show-more-label"},A3={class:"show-more-label"},P3={key:2,class:"group-empty"},E3=Ee({__name:"WorkspaceGroup",props:{group:{},activeWorkspaceId:{},activeId:{},renamingId:{},renameValue:{},renameInputRef:{},pendingBySession:{},unreadBySession:{},wsMenuOpenId:{},dragging:{type:Boolean},isCollapsed:{type:Function},isExpanded:{type:Function}},emits:["groupClick","groupContextmenu","toggleWsMenu","createInWorkspace","selectSession","renameSession","archiveSession","forkSession","exportSession","loadMore","toggleExpand","confirmRename","cancelRename","updateRenameValue","wsDragstart","wsDragend"],setup(e,{emit:t}){const{t:n}=Ye(),s=e,o=t,i=M({get:()=>s.renameValue,set:y=>o("updateRenameValue",y)}),u=M(()=>s.renamingId===s.group.workspace.id),p=M(()=>{if(s.isExpanded(s.group.workspace.id))return s.group.sessions;const y=s.group.sessions.slice(0,s.group.initialCount);if(s.activeId&&!y.some(S=>S.id===s.activeId)){const S=s.group.sessions.find(B=>B.id===s.activeId);if(S)return[...y,S]}return y}),f=M(()=>s.group.sessions.length>s.group.initialCount);function v(){return Math.max(0,s.group.workspace.sessionCount-s.group.sessions.length)}function k(){return s.group.sessions.length-s.group.initialCount}function T(y){s.renameInputRef.value=y instanceof HTMLInputElement?y:null}function h(y){y.dataTransfer&&(y.dataTransfer.effectAllowed="move",y.dataTransfer.setData("text/plain",s.group.workspace.id),o("wsDragstart",s.group.workspace.id))}const m=x(!1);function $(y){m.value||Hi(y)||o("confirmRename")}function g(y){m.value||Hi(y)||o("cancelRename")}return(y,S)=>(l(),c("div",{class:pe(["group",{dragging:e.dragging}])},[r("div",{class:pe(["gh",{on:e.group.workspace.id===e.activeWorkspaceId,collapsed:e.isCollapsed(e.group.workspace.id),renaming:u.value}]),draggable:!u.value,onClick:S[7]||(S[7]=De(B=>o("groupClick",e.group.workspace.id,B),["stop"])),onContextmenu:S[8]||(S[8]=B=>o("groupContextmenu",e.group.workspace,B)),onDragstart:h,onDragend:S[9]||(S[9]=B=>o("wsDragend"))},[r("div",M3,[e.isCollapsed(e.group.workspace.id)?(l(),W(X,{key:0,class:"gh-folder",name:"folder-closed"})):(l(),W(X,{key:1,class:"gh-folder",name:"folder"})),e.renamingId!==e.group.workspace.id?(l(),W(ht,{key:2,text:e.group.workspace.root},{default:R(()=>[r("span",$3,d(e.group.workspace.name),1)]),_:1},8,["text"])):bt((l(),c("input",{key:3,ref:T,"onUpdate:modelValue":S[0]||(S[0]=B=>i.value=B),class:"gh-rename",type:"text",onCompositionstart:S[1]||(S[1]=B=>m.value=!0),onCompositionend:S[2]||(S[2]=B=>m.value=!1),onKeydown:[$n($,["enter"]),$n(g,["esc"])],onBlur:S[3]||(S[3]=B=>o("cancelRename")),onClick:S[4]||(S[4]=De(()=>{},["stop"]))},null,544)),[[On,i.value]]),e.renamingId!==e.group.workspace.id?(l(),c("div",{key:4,class:pe(["gh-actions",{open:e.wsMenuOpenId===e.group.workspace.id}])},[w(rt,{class:pe(["gh-more",{open:e.wsMenuOpenId===e.group.workspace.id}]),size:"sm",label:a(n)("sidebar.options"),"aria-haspopup":"menu","aria-expanded":e.wsMenuOpenId===e.group.workspace.id,onClick:S[5]||(S[5]=De(B=>o("toggleWsMenu",e.group.workspace,B),["stop"]))},{default:R(()=>[w(X,{name:"dots-horizontal"})]),_:1},8,["class","label","aria-expanded"]),w(rt,{class:"gh-add",size:"sm",label:a(n)("workspace.newInGroup"),onClick:S[6]||(S[6]=De(B=>o("createInWorkspace",e.group.workspace.id),["stop"]))},{default:R(()=>[w(X,{name:"chat-new"})]),_:1},8,["label"])],2)):I("",!0)])],42,_3),r("div",{class:pe(["group-sessions",{collapsed:e.isCollapsed(e.group.workspace.id)}]),inert:e.isCollapsed(e.group.workspace.id)},[(l(!0),c(ce,null,Pe(p.value,B=>(l(),W(vl,{key:B.id,session:B,active:B.id===e.activeId,"approval-count":e.pendingBySession[B.id]?.approvals??0,"question-count":e.pendingBySession[B.id]?.questions??0,unread:e.unreadBySession[B.id]??!1,onSelect:S[10]||(S[10]=b=>o("selectSession",b)),onRename:S[11]||(S[11]=(b,P)=>o("renameSession",b,P)),onArchive:S[12]||(S[12]=b=>o("archiveSession",b)),onFork:S[13]||(S[13]=b=>o("forkSession",b)),onExport:S[14]||(S[14]=b=>o("exportSession",b))},null,8,["session","active","approval-count","question-count","unread"]))),128)),e.group.hasMore||e.group.loadingMore?(l(),c("button",{key:0,class:"show-more",disabled:e.group.loadingMore,onClick:S[15]||(S[15]=De(B=>o("loadMore",e.group.workspace.id),["stop"]))},[S[17]||(S[17]=r("span",{class:"show-more-lead","aria-hidden":"true"},null,-1)),r("span",I3,d(e.group.loadingMore?a(n)("sidebar.loadingMore"):a(n)("sidebar.showMore",{count:v()})),1)],8,x3)):I("",!0),f.value?(l(),c("button",{key:1,class:"show-more",onClick:S[16]||(S[16]=De(B=>o("toggleExpand",e.group.workspace.id),["stop"]))},[S[18]||(S[18]=r("span",{class:"show-more-lead","aria-hidden":"true"},null,-1)),r("span",A3,d(e.isExpanded(e.group.workspace.id)?a(n)("sidebar.showLess"):a(n)("sidebar.showAll",{count:k()})),1)])):I("",!0),e.group.sessions.length===0?(l(),c("div",P3,d(a(n)("sidebar.noSessions")),1)):I("",!0)],10,T3)],2))}}),B3=Le(E3,[["__scopeId","data-v-ec29996e"]]);function L3(e){try{const t=Dt(e);if(t===null)return null;const n=Number(t);return Number.isFinite(n)?n:null}catch{return null}}function R3(e,t){try{Nt(e,String(t))}catch{}}function Dd(e){const{storageKey:t,defaultWidth:n,min:s,max:o,reverse:i=!1,axis:u="x"}=e,p=u==="y";function f(b){return Number.isFinite(b)?Math.min(Xo(o),Math.max(s,Math.round(b))):n}const v=x(f(L3(t)??n)),k=x(!1);function T(b){const P=f(b);v.value=P,R3(t,P)}let h=0,m=0,$=null,g=-1;function y(b){if(!k.value)return;const E=(p?b.clientY:b.clientX)-h;T(m+(i?-E:E))}function S(){if(k.value){if(k.value=!1,typeof document<"u"&&(document.body.style.userSelect="",document.body.style.cursor=""),$){try{$.releasePointerCapture(g)}catch{}$.removeEventListener("pointermove",y),$.removeEventListener("pointerup",S),$.removeEventListener("pointercancel",S)}$=null,g=-1}}function B(b){b.preventDefault(),k.value=!0,h=p?b.clientY:b.clientX,m=f(v.value),$=b.currentTarget,g=b.pointerId,typeof document<"u"&&(document.body.style.userSelect="none",document.body.style.cursor=p?"row-resize":"col-resize");try{$.setPointerCapture(g)}catch{}$.addEventListener("pointermove",y),$.addEventListener("pointerup",S),$.addEventListener("pointercancel",S)}return Tn(S),{width:v,dragging:k,clamp:f,setWidth:T,onPointerDown:B}}const D3={class:"pinned-list"},O3={class:"pinned-head"},z3={class:"pinned-title"},F3=["aria-label"],N3={key:1,class:"empty"},W3=Ee({__name:"PinnedSessionList",props:{sessions:{},pinnedSessionIds:{},activeId:{},pendingBySession:{default:()=>({})},unreadBySession:{default:()=>({})},emptyText:{default:""}},emits:["select","rename","archive","fork","export"],setup(e,{emit:t}){const n=e,s=t,{t:o}=Ye(),i=M(()=>uf(n.sessions,n.pinnedSessionIds)),u=M(()=>i.value.pinned),p=M(()=>i.value.rest),f=()=>typeof window<"u"?window.innerHeight:800,v=M(()=>Math.max(oi,Math.min(Tl,Math.round(f()*.5)))),{width:k,dragging:T,setWidth:h,onPointerDown:m}=Dd({storageKey:Ge.sidebarPinnedHeight,defaultWidth:cf(f()),min:oi,max:v,axis:"y"});function $(P){if(P.key!=="ArrowUp"&&P.key!=="ArrowDown")return;P.preventDefault();const E=P.shiftKey?48:16,L=P.key==="ArrowDown"?E:-E;h(cc(k.value+L,oi,v.value))}const g=x(null),y=x(!1),S=x(!1);function B(){const P=g.value;P&&(y.value=P.scrollTop>0,S.value=P.scrollTop+P.clientHeight{Ze(B),typeof ResizeObserver=="function"&&g.value&&(b=new ResizeObserver(B),b.observe(g.value))}),Tn(()=>b?.disconnect()),Ne(()=>u.value.length,()=>{Ze(()=>{B(),g.value&&b===null&&typeof ResizeObserver=="function"&&(b=new ResizeObserver(B),b.observe(g.value))})}),(P,E)=>(l(),c("div",D3,[u.value.length>0?(l(),c(ce,{key:0},[r("div",O3,[r("span",z3,d(a(o)("sidebar.pinned")),1)]),r("div",{class:pe(["pinned-rows-wrap",{scrolled:y.value,"more-below":S.value}])},[r("div",{ref_key:"rowsEl",ref:g,class:"pinned-rows",style:gt({maxHeight:a(k)+"px"}),onScroll:B},[(l(!0),c(ce,null,Pe(u.value,L=>(l(),W(vl,{key:L.id,session:L,active:L.id===e.activeId,"approval-count":e.pendingBySession[L.id]?.approvals??0,"question-count":e.pendingBySession[L.id]?.questions??0,unread:e.unreadBySession[L.id]??!1,onSelect:E[0]||(E[0]=N=>s("select",N)),onRename:E[1]||(E[1]=(N,Q)=>s("rename",N,Q)),onArchive:E[2]||(E[2]=N=>s("archive",N)),onFork:E[3]||(E[3]=N=>s("fork",N)),onExport:E[4]||(E[4]=N=>s("export",N))},null,8,["session","active","approval-count","question-count","unread"]))),128))],36),E[11]||(E[11]=r("span",{class:"pinned-seam pinned-seam--top","aria-hidden":"true"},null,-1)),E[12]||(E[12]=r("span",{class:"pinned-seam pinned-seam--bottom","aria-hidden":"true"},null,-1))],2),r("div",{class:pe(["pinned-resize",{dragging:a(T)}]),role:"separator","aria-label":a(o)("sidebar.resizePinnedAria"),tabindex:"0",onPointerdown:E[5]||(E[5]=(...L)=>a(m)&&a(m)(...L)),onKeydown:$},[...E[13]||(E[13]=[r("div",{class:"pinned-resize-bar"},null,-1)])],42,F3)],64)):I("",!0),(l(!0),c(ce,null,Pe(p.value,L=>(l(),W(vl,{key:L.id,session:L,active:L.id===e.activeId,"approval-count":e.pendingBySession[L.id]?.approvals??0,"question-count":e.pendingBySession[L.id]?.questions??0,unread:e.unreadBySession[L.id]??!1,onSelect:E[6]||(E[6]=N=>s("select",N)),onRename:E[7]||(E[7]=(N,Q)=>s("rename",N,Q)),onArchive:E[8]||(E[8]=N=>s("archive",N)),onFork:E[9]||(E[9]=N=>s("fork",N)),onExport:E[10]||(E[10]=N=>s("export",N))},null,8,["session","active","approval-count","question-count","unread"]))),128)),e.sessions.length===0?(l(),c("div",N3,d(e.emptyText),1)):I("",!0)]))}}),La=Le(W3,[["__scopeId","data-v-ca629942"]]),q3="kimi_desktop",H3="platform",cu="kimi-desktop",du="kimi-desktop-platform";function U3(){let e=!1,t=null;try{const n=new URLSearchParams(window.location.search);n.has(q3)?(sessionStorage.setItem(cu,"1"),e=!0):e=e||sessionStorage.getItem(cu)==="1";const s=n.get(H3);s?(sessionStorage.setItem(du,s),t=s):t=sessionStorage.getItem(du)}catch{}return{isDesktop:e,platform:t}}const gl=U3(),V3=gl.isDesktop,Fo=gl.isDesktop&&gl.platform==="darwin";function j3(e,t){return e.key.toLowerCase()!=="k"?!1:t?e.metaKey:e.ctrlKey}const K3={class:"ui-kbd"},G3=Ee({__name:"Kbd",props:{keys:{}},setup(e){return(t,n)=>(l(),c("span",K3,[(l(!0),c(ce,null,Pe(e.keys,s=>(l(),c("kbd",{key:s,class:"ui-kbd__key"},d(s),1))),128))]))}}),Es=Le(G3,[["__scopeId","data-v-32292ed8"]]),Q3="(prefers-reduced-motion: reduce)";function Y3(){if(!(typeof window>"u"||typeof window.matchMedia!="function"))return window.matchMedia(Q3)}function Z3(e,t=Y3){const n=t();if(!n)return e(!1),()=>{};const s=()=>e(n.matches);return e(n.matches),n.addEventListener("change",s),()=>n.removeEventListener("change",s)}const X3=["aria-label"],J3=Ee({__name:"KimiMascot",props:{label:{}},setup(e){const t=x(!1);let n;return xt(()=>{n=Z3(s=>{t.value=!s})}),Tn(()=>n?.()),(s,o)=>(l(),c("span",{class:pe(["kimi-mascot",{"kimi-mascot--pulse":t.value}]),role:"img","aria-label":e.label},[w(X,{name:"sparkles",size:"sm"})],10,X3))}}),e_=Le(J3,[["__scopeId","data-v-6634dad2"]]),t_=["disabled","aria-pressed"],n_=Ee({__name:"Pill",props:{clickable:{type:Boolean,default:!0},active:{type:Boolean},disabled:{type:Boolean},ariaPressed:{type:Boolean}},emits:["click"],setup(e){return(t,n)=>e.clickable?(l(),c("button",{key:0,class:pe(["ui-pill",{"is-active":e.active}]),type:"button",disabled:e.disabled,"aria-pressed":e.ariaPressed,onClick:n[0]||(n[0]=s=>t.$emit("click",s))},[Pt(t.$slots,"default",{},void 0,!0)],10,t_)):(l(),c("span",{key:1,class:pe(["ui-pill",{"is-active":e.active}])},[Pt(t.$slots,"default",{},void 0,!0)],2))}}),fo=Le(n_,[["__scopeId","data-v-317ace1a"]]),s_=["aria-selected","onClick"],o_=Ee({__name:"Tabs",props:{modelValue:{},options:{},size:{default:"md"}},emits:["update:modelValue"],setup(e,{emit:t}){const n=t;return(s,o)=>(l(),c("div",{class:pe(["ui-tabs",`ui-tabs--${e.size}`]),role:"tablist"},[(l(!0),c(ce,null,Pe(e.options,i=>(l(),c("button",{key:i.value,class:pe(["ui-tabs__item",{"is-on":i.value===e.modelValue}]),type:"button",role:"tab","aria-selected":i.value===e.modelValue,onClick:u=>n("update:modelValue",i.value)},d(i.label),11,s_))),128))],2))}}),i_=Le(o_,[["__scopeId","data-v-3b07f193"]]),a_={class:"ch"},l_={class:"ch-brand"},r_={class:"ch-backend-ep"},u_={class:"btn-wrap"},c_={class:"search-input"},d_={key:0,class:"side-tabs"},p_={class:"side-section-label"},f_={class:"side-section-title"},m_={class:"side-section-actions"},v_={class:"side-section-label"},g_={class:"side-section-title"},h_={key:0,class:"empty"},y_={class:"side-section-label"},k_={class:"side-section-title"},b_={class:"side-section-actions"},w_=["data-workspace-id","onDragover","onDrop"],S_={class:"side-footer"},C_={class:"section-menu-check"},__={class:"section-menu-check"},M_={class:"section-menu-check"},$_={class:"backend-menu-name"},T_={class:"backend-menu-url"},x_=1e3,I_=Ee({__name:"Sidebar",props:{activeWorkspace:{default:null},activeWorkspaceId:{default:null},sessions:{},groups:{},pinnedSessionIds:{default:()=>[]},activeId:{},multiTabSidebar:{type:Boolean,default:!1},workspaceSortMode:{},backend:{default:"v1"},attentionBySession:{default:()=>({})},pendingBySession:{default:()=>({})},unreadBySession:{default:()=>({})},colWidth:{default:220},collapsed:{type:Boolean,default:!1},dragging:{type:Boolean,default:!1}},emits:["select","create","createInWorkspace","selectWorkspace","addWorkspace","rename","archive","fork","export","renameWorkspace","deleteWorkspace","reorderWorkspaces","setWorkspaceSortMode","loadMoreSessions","loadAllSessions","openSettings","openSessionManagement","collapse"],setup(e,{emit:t}){const{t:n}=Ye(),s=!1,o=x(null),i=M(()=>""),u=["default","multi"];function p(Ce){const fe=o.value?.presets[Ce]??"";return fe?nf(fe):""}function f(Ce){const fe=o.value;return fe!==null&&fe.current===fe.presets[Ce]}const v=e,k=t,T=x(!1),h=S()?["⌘","K"]:["Ctrl","K"],m=M(()=>v.groups.map(Ce=>Ce.workspace));function $(){k("loadAllSessions"),T.value=!0}function g(Ce){j3(Ce,S())&&(Ce.preventDefault(),$())}function y(Ce){if(v.multiTabSidebar&&L.value!=="workspaces"&&(L.value="workspaces"),z.value.has(Ce)){const fe=new Set(z.value);fe.delete(Ce),z.value=fe,wi(fe)}Ze().then(()=>{Array.from(document.querySelectorAll("[data-workspace-id]")).find(We=>We.getAttribute("data-workspace-id")===Ce)?.scrollIntoView({block:"nearest"})})}xt(()=>window.addEventListener("keydown",g)),Tn(()=>window.removeEventListener("keydown",g));function S(){if(typeof navigator>"u")return!1;if(/Mac|iPod|iPhone|iPad/.test(navigator.platform))return!0;const Ce=navigator.userAgentData;return Ce?.platform==="macOS"||Ce?.platform==="iOS"}const B=x(!1);function b(Ce){B.value=Ce.target.scrollTop>0}const P=x(pf());function E(){P.value=P.value==="flat"?"grouped":"flat",ff(P.value)}const L=x("open");function N(Ce){mf(Ce)&&(L.value=Ce)}const Q=M(()=>va(v.groups,v.pinnedSessionIds).filter(Ce=>Ce.done!==!0)),V=M(()=>va(v.groups,v.pinnedSessionIds).filter(Ce=>Ce.done===!0)),_=M(()=>va(v.groups,v.pinnedSessionIds)),z=x(new Set(qp()));function D(Ce){return z.value.has(Ce)}function ee(Ce){const fe=new Set(z.value);fe.has(Ce)?fe.delete(Ce):fe.add(Ce),z.value=fe,wi(fe)}function me(){const Ce=new Set(v.groups.map(fe=>fe.workspace.id));z.value=Ce,wi(Ce)}function ve(){const Ce=new Set;z.value=Ce,wi(Ce)}const Be=M(()=>v.groups.length>0&&v.groups.every(Ce=>z.value.has(Ce.workspace.id))),ie=x(new Set);function le(Ce){return ie.value.has(Ce)}function ne(Ce){const fe=new Set(ie.value);fe.has(Ce)?fe.delete(Ce):fe.add(Ce),ie.value=fe}function ae(Ce){if(!ie.value.has(Ce)){const fe=new Set(ie.value);fe.add(Ce),ie.value=fe}k("loadMoreSessions",Ce)}const se=x(null),ge=x(null);function re(Ce){se.value=Ce}function F(){se.value=null,ge.value=null}function Z(Ce){const fe=Ce.currentTarget.getBoundingClientRect();return Ce.clientYzt.workspace.id),fe,Ce,We);k("reorderWorkspaces",it)}function Oe(Ce,fe){fe.target.closest(".gh-more, .gh-add")||ee(Ce)}function Ve(Ce){k("select",Ce)}const be=x(null),ze=x(""),oe=x(null);function J(){return oe}function U(Ce,fe){be.value=Ce,ze.value=fe,Ze().then(()=>oe.value?.focus())}function Y(){const Ce=be.value,fe=ze.value.trim();Ce&&fe&&k("renameWorkspace",Ce,fe),be.value=null}function ye(){be.value=null}function st(Ce){ze.value=Ce}const et=x(!1),pt=x(null),Me=x({}),Te=x(null);function Se(Ce){Te.value?.el&&!Te.value.el.contains(Ce.target)&&Xe()}function Ae(Ce,fe){fe.preventDefault(),fe.stopPropagation(),pt.value=Ce,Me.value={top:`${fe.clientY}px`,left:`${fe.clientX}px`},et.value=!0,document.addEventListener("mousedown",Se,!0)}function Xe(){et.value=!1,document.removeEventListener("mousedown",Se,!0),pt.value=null}function yt(){pt.value&&ln(pt.value.root),Xe()}function qe(){pt.value&&U(pt.value.id,pt.value.name),Xe()}function He(){const Ce=pt.value;Ce&&(Xe(),k("deleteWorkspace",Ce.id))}const Ue=x(null),dt=x(null),at=x({}),Lt=x(null);function Ht(Ce){const fe=Ce.target;fe.closest(".gh-more")||fe.closest(".ws-menu")||ct()}async function rn(Ce,fe){if(Ue.value===Ce.id){ct();return}const We=fe.currentTarget;dt.value=Ce,Ue.value=Ce.id,document.addEventListener("mousedown",Ht),window.addEventListener("resize",ct),await Ze();const it=Lt.value?.el,zt=We.getBoundingClientRect(),Ft=4,Zt=8,Vt=it?.offsetHeight??0,It=it?.offsetWidth??0;let At=zt.bottom+Ft;At+Vt>window.innerHeight-Zt&&(At=Math.max(Zt,zt.top-Vt-Ft));let yn=zt.right-It;ynwindow.innerHeight-Ft&&(It=Math.max(Ft,it.top-Zt-zt));let At=it.right-Vt;Atwindow.innerHeight-Ft&&(It=Math.max(Ft,it.top-Zt-zt));let At=it.right-Vt;Atwindow.innerHeight-Ft&&(Vt=Math.max(Ft,it.top-Zt-zt)),an.value={top:`${Math.round(Vt)}px`,left:`${Math.round(Math.max(Ft,it.left))}px`}}function Et(){Ct.value=!1,document.removeEventListener("mousedown",Mt),window.removeEventListener("resize",Et)}async function cn(Ce){if(f(Ce)){Et();return}if(await tf(Ce)===null){console.warn("[kimi-web] dev backend switch failed:",Ce),Et();return}window.location.reload()}Tn(()=>{document.removeEventListener("mousedown",Se,!0),document.removeEventListener("mousedown",Ht),document.removeEventListener("mousedown",ss),document.removeEventListener("mousedown",Mt),document.removeEventListener("mousedown",fn),window.removeEventListener("resize",ct),window.removeEventListener("resize",Yt),window.removeEventListener("resize",Et),window.removeEventListener("resize",Xt)});const zn=x(null);let gn;function Cn(){const Ce=zn.value;Ce&&(Ce.classList.remove("blink-now"),Ce.getBoundingClientRect(),Ce.classList.add("blink-now"),clearTimeout(gn),gn=setTimeout(()=>Ce.classList.remove("blink-now"),300))}const hn=tc(()=>oc(()=>import("./DesignSystemView-CEBcPIeR.js"),__vite__mapDeps([0,1,2,3,4,5,6,7]))),Fn=x(!1);let An,dn=!1;function mn(Ce){dn=!1,clearTimeout(An),Ce.currentTarget.setPointerCapture?.(Ce.pointerId),An=setTimeout(()=>{dn=!0,Fn.value=!0},x_)}function en(Ce){clearTimeout(An);const fe=Ce.currentTarget;fe.hasPointerCapture?.(Ce.pointerId)&&fe.releasePointerCapture(Ce.pointerId)}function Yn(){if(dn){dn=!1;return}Cn()}return Tn(()=>{clearTimeout(An)}),(Ce,fe)=>(l(),c("aside",{class:pe(["side",{"macos-desktop":a(Fo),collapsed:e.collapsed,"no-anim":e.dragging}]),style:gt({width:e.collapsed?"0px":e.colWidth+"px"})},[r("div",{class:"col",style:gt({width:e.colWidth+"px"})},[r("div",a_,[r("div",l_,[a(Fo)?I("",!0):(l(),c(ce,{key:0},[(l(),c("svg",{ref_key:"logoRef",ref:zn,class:pe(["ch-logo",{"is-dev":a(s)}]),viewBox:"0 0 32 22",fill:"none",xmlns:"http://www.w3.org/2000/svg",role:"img","aria-label":"Kimi Code",onClick:Yn,onPointerdown:mn,onPointerup:en,onPointercancel:en},[...fe[37]||(fe[37]=[Cl(' ',2)])],34)),fe[38]||(fe[38]=r("span",{class:"ch-name"},"Kimi Code",-1)),a(s)?(l(),W(fo,{key:0,class:"ch-backend",clickable:o.value!==null,title:a(n)("sidebar.backendTitle",{backend:e.backend,endpoint:i.value}),onClick:Sn},{default:R(()=>[r("span",{class:pe(["ch-backend-kind",`is-${e.backend}`])},d(e.backend),3),r("span",r_," · "+d(i.value),1),o.value!==null?(l(),W(X,{key:0,name:"chevron-down",size:"sm"})):I("",!0)]),_:1},8,["clickable","title"])):I("",!0)],64))]),a(Fo)?I("",!0):(l(),W(rt,{key:0,class:"ch-collapse",size:"sm",label:a(n)("sidebar.collapseSidebar"),onClick:fe[0]||(fe[0]=De(We=>k("collapse"),["stop"]))},{default:R(()=>[w(X,{name:"panel-collapse"})]),_:1},8,["label"]))]),r("div",u_,[r("button",{class:"btn-new-chat",type:"button",onClick:fe[1]||(fe[1]=De(We=>k("create"),["stop"]))},[w(X,{name:"chat-new"}),r("span",null,d(a(n)("sidebar.newChat")),1)]),I("",!0)]),r("div",{class:pe(["search-wrap",{"search-wrap--scrolled":B.value}])},[r("button",{class:"search",type:"button",onClick:$},[w(X,{class:"search-icon",name:"search"}),r("span",c_,d(a(n)("sidebar.search")),1),w(Es,{keys:a(h)},null,8,["keys"])])],2),e.multiTabSidebar?(l(),c("div",d_,[w(i_,{"model-value":L.value,size:"sm",options:[{value:"open",label:a(n)("sidebar.tagOpen")},{value:"done",label:a(n)("sidebar.tabDone")},{value:"workspaces",label:a(n)("sidebar.tabWorkspaces")}],"onUpdate:modelValue":fe[3]||(fe[3]=We=>N(We))},null,8,["model-value","options"])])):I("",!0),r("div",{class:"sessions",onScroll:b},[e.multiTabSidebar&&L.value!=="workspaces"?(l(),c(ce,{key:0},[L.value==="open"?(l(),c(ce,{key:0},[r("div",p_,[r("span",f_,d(a(n)("sidebar.tagOpen")),1),r("div",m_,[w(rt,{class:"side-section-toggle side-section-kebab side-list-kebab",size:"sm",label:a(n)("sidebar.options"),"aria-haspopup":"menu","aria-expanded":wn.value,onClick:fe[4]||(fe[4]=De(We=>xn(We),["stop"]))},{default:R(()=>[w(X,{name:"dots-horizontal"})]),_:1},8,["label","aria-expanded"])])]),w(La,{sessions:Q.value,"pinned-session-ids":e.pinnedSessionIds,"active-id":e.activeId,"pending-by-session":e.pendingBySession,"unread-by-session":e.unreadBySession,"empty-text":a(n)("sidebar.noSessions"),onSelect:Ve,onRename:fe[5]||(fe[5]=(We,it)=>k("rename",We,it)),onArchive:fe[6]||(fe[6]=We=>k("archive",We)),onFork:fe[7]||(fe[7]=We=>k("fork",We)),onExport:fe[8]||(fe[8]=We=>k("export",We))},null,8,["sessions","pinned-session-ids","active-id","pending-by-session","unread-by-session","empty-text"])],64)):L.value==="done"?(l(),c(ce,{key:1},[r("div",v_,[r("span",g_,d(a(n)("sidebar.tabDone")),1)]),w(La,{sessions:V.value,"pinned-session-ids":e.pinnedSessionIds,"active-id":e.activeId,"pending-by-session":e.pendingBySession,"unread-by-session":e.unreadBySession,"empty-text":a(n)("sidebar.noDoneSessions"),onSelect:Ve,onRename:fe[9]||(fe[9]=(We,it)=>k("rename",We,it)),onArchive:fe[10]||(fe[10]=We=>k("archive",We)),onFork:fe[11]||(fe[11]=We=>k("fork",We)),onExport:fe[12]||(fe[12]=We=>k("export",We))},null,8,["sessions","pinned-session-ids","active-id","pending-by-session","unread-by-session","empty-text"])],64)):I("",!0)],64)):(l(),c(ce,{key:1},[e.groups.length===0?(l(),c("div",h_,d(a(n)("workspace.noWorkspace")),1)):I("",!0),r("div",y_,[r("span",k_,d(P.value==="flat"?a(n)("sidebar.sessionsHeader"):a(n)("sidebar.workspaces")),1),r("div",b_,[P.value!=="flat"?(l(),c(ce,{key:0},[w(rt,{class:"side-section-toggle",size:"sm",label:Be.value?a(n)("sidebar.expandAll"):a(n)("sidebar.collapseAll"),onClick:fe[13]||(fe[13]=De(We=>Be.value?ve():me(),["stop"]))},{default:R(()=>[Be.value?(l(),W(X,{key:0,name:"expand"})):(l(),W(X,{key:1,name:"collapse"}))]),_:1},8,["label"]),w(rt,{class:"side-section-toggle side-section-kebab",size:"sm",label:a(n)("sidebar.options"),"aria-haspopup":"menu","aria-expanded":Wt.value,onClick:fe[14]||(fe[14]=De(We=>Gn(We),["stop"]))},{default:R(()=>[w(X,{name:"dots-horizontal"})]),_:1},8,["label","aria-expanded"])],64)):I("",!0),w(rt,{class:"side-section-toggle side-section-view",size:"sm",label:e.multiTabSidebar?a(n)("sidebar.viewSwitcher"):P.value==="flat"?a(n)("sidebar.viewModeGrouped"):a(n)("sidebar.viewModeFlat"),"aria-pressed":P.value==="flat",onClick:De(E,["stop"])},{default:R(()=>[w(X,{name:P.value==="flat"?"folder":"list"},null,8,["name"])]),_:1},8,["label","aria-pressed"])])]),P.value==="flat"?(l(),W(La,{key:1,sessions:_.value,"pinned-session-ids":e.pinnedSessionIds,"active-id":e.activeId,"pending-by-session":e.pendingBySession,"unread-by-session":e.unreadBySession,"empty-text":a(n)("sidebar.noSessions"),onSelect:Ve,onRename:fe[15]||(fe[15]=(We,it)=>k("rename",We,it)),onArchive:fe[16]||(fe[16]=We=>k("archive",We)),onFork:fe[17]||(fe[17]=We=>k("fork",We)),onExport:fe[18]||(fe[18]=We=>k("export",We))},null,8,["sessions","pinned-session-ids","active-id","pending-by-session","unread-by-session","empty-text"])):(l(!0),c(ce,{key:2},Pe(e.groups,We=>(l(),c("div",{key:We.workspace.id,class:pe(["ws-drop-target",{"drop-before":ge.value?.id===We.workspace.id&&ge.value.position==="before","drop-after":ge.value?.id===We.workspace.id&&ge.value.position==="after"}]),"data-workspace-id":We.workspace.id,onDragover:it=>ke(it,We.workspace.id),onDrop:it=>we(We.workspace.id)},[w(B3,{group:We,"active-workspace-id":e.activeWorkspaceId,"active-id":e.activeId,"renaming-id":be.value,"rename-value":ze.value,"rename-input-ref":J(),"pending-by-session":e.pendingBySession,"unread-by-session":e.unreadBySession,"ws-menu-open-id":Ue.value,dragging:se.value===We.workspace.id,"is-collapsed":D,"is-expanded":le,onGroupClick:Oe,onGroupContextmenu:Ae,onToggleWsMenu:rn,onCreateInWorkspace:fe[19]||(fe[19]=it=>k("createInWorkspace",it)),onSelectSession:Ve,onRenameSession:fe[20]||(fe[20]=(it,zt)=>k("rename",it,zt)),onArchiveSession:fe[21]||(fe[21]=it=>k("archive",it)),onForkSession:fe[22]||(fe[22]=it=>k("fork",it)),onExportSession:fe[23]||(fe[23]=it=>k("export",it)),onLoadMore:ae,onToggleExpand:ne,onConfirmRename:Y,onCancelRename:ye,onUpdateRenameValue:st,onWsDragstart:re,onWsDragend:F},null,8,["group","active-workspace-id","active-id","renaming-id","rename-value","rename-input-ref","pending-by-session","unread-by-session","ws-menu-open-id","dragging"])],42,w_))),128))],64))],32),r("div",S_,[r("button",{class:"btn-settings",type:"button",onClick:fe[24]||(fe[24]=De(We=>k("openSettings"),["stop"]))},[w(X,{name:"settings"}),r("span",null,d(a(n)("settings.title")),1)]),w(e_,{class:"side-mascot",label:a(n)("sidebar.mascot")},null,8,["label"])])],4),et.value?(l(),W(Nn,{key:0,ref_key:"ghMenuRef",ref:Te,class:"gh-menu",style:gt(Me.value),onClick:fe[25]||(fe[25]=De(()=>{},["stop"]))},{default:R(()=>[w(nt,{onClick:yt},{default:R(()=>[te(d(a(n)("sidebar.copyPath")),1)]),_:1}),w(nt,{onClick:qe},{default:R(()=>[te(d(a(n)("sidebar.rename")),1)]),_:1}),w(nt,{danger:"",onClick:He},{default:R(()=>[te(d(a(n)("sidebar.removeWorkspace")),1)]),_:1})]),_:1},8,["style"])):I("",!0),Ue.value!==null&&dt.value?(l(),W(Nn,{key:1,ref_key:"wsMenuRef",ref:Lt,class:"ws-menu",style:gt(at.value),onClick:fe[29]||(fe[29]=De(()=>{},["stop"]))},{default:R(()=>[w(nt,{onClick:fe[26]||(fe[26]=We=>sn(dt.value))},{default:R(()=>[te(d(a(n)("sidebar.copyPath")),1)]),_:1}),w(nt,{separator:""}),w(nt,{onClick:fe[27]||(fe[27]=We=>on(dt.value))},{default:R(()=>[te(d(a(n)("sidebar.rename")),1)]),_:1}),w(nt,{separator:""}),w(nt,{danger:"",onClick:fe[28]||(fe[28]=We=>Kn(dt.value))},{default:R(()=>[te(d(a(n)("sidebar.removeWorkspace")),1)]),_:1})]),_:1},8,["style"])):I("",!0),Wt.value?(l(),W(Nn,{key:2,ref_key:"sectionMenuRef",ref:un,class:"section-menu",style:gt(Wn.value),onClick:fe[32]||(fe[32]=De(()=>{},["stop"]))},{default:R(()=>[w(nt,{onClick:fe[30]||(fe[30]=We=>Ut("manual"))},{default:R(()=>[r("span",C_,[e.workspaceSortMode==="manual"?(l(),W(X,{key:0,name:"check",size:"sm"})):I("",!0)]),te(" "+d(a(n)("sidebar.sortManual")),1)]),_:1}),w(nt,{onClick:fe[31]||(fe[31]=We=>Ut("recent"))},{default:R(()=>[r("span",__,[e.workspaceSortMode==="recent"?(l(),W(X,{key:0,name:"check",size:"sm"})):I("",!0)]),te(" "+d(a(n)("sidebar.sortRecent")),1)]),_:1})]),_:1},8,["style"])):I("",!0),wn.value?(l(),W(Nn,{key:3,ref_key:"listMenuRef",ref:Ot,class:"list-menu",style:gt(Qn.value),onClick:fe[33]||(fe[33]=De(()=>{},["stop"]))},{default:R(()=>[w(nt,{onClick:In},{default:R(()=>[w(X,{name:"check-list",size:"sm"}),te(" "+d(a(n)("sidebar.manageSessions")),1)]),_:1})]),_:1},8,["style"])):I("",!0),Ct.value?(l(),W(Nn,{key:4,ref_key:"backendMenuRef",ref:Jt,class:"backend-menu",style:gt(an.value),onClick:fe[34]||(fe[34]=De(()=>{},["stop"]))},{default:R(()=>[(l(),c(ce,null,Pe(u,We=>w(nt,{key:We,onClick:it=>cn(We)},{default:R(()=>[r("span",M_,[f(We)?(l(),W(X,{key:0,name:"check",size:"sm"})):I("",!0)]),r("span",$_,d(We),1),r("span",T_,d(p(We)),1)]),_:2},1032,["onClick"])),64))]),_:1},8,["style"])):I("",!0),T.value?(l(),W(u0,{key:5,sessions:e.sessions,workspaces:m.value,"active-id":e.activeId,onSelect:Ve,onSelectWorkspace:y,onClose:fe[35]||(fe[35]=We=>T.value=!1)},null,8,["sessions","workspaces","active-id"])):I("",!0),(l(),W(ns,{to:"body"},[Fn.value?(l(),W(a(hn),{key:0,onClose:fe[36]||(fe[36]=We=>Fn.value=!1)})):I("",!0)]))],6))}}),A_=Le(I_,[["__scopeId","data-v-d9d9dd75"]]),P_=["aria-label"],E_=Ee({__name:"ResizeHandle",props:{storageKey:{},defaultWidth:{},min:{},max:{},reverse:{type:Boolean},ariaLabel:{}},emits:["update:width","update:dragging"],setup(e,{emit:t}){const n=e,s=t,{t:o}=Ye(),{width:i,dragging:u,onPointerDown:p}=Dd({storageKey:n.storageKey,defaultWidth:n.defaultWidth,min:n.min,max:()=>n.max,reverse:n.reverse});return s("update:width",i.value),Ne(i,f=>s("update:width",f)),Ne(u,f=>s("update:dragging",f)),(f,v)=>(l(),c("div",{class:pe(["rh",{dragging:a(u)}]),role:"separator","aria-orientation":"vertical","aria-label":e.ariaLabel??a(o)("layout.resizeHandleAria"),onPointerdown:v[0]||(v[0]=(...k)=>a(p)&&a(p)(...k))},[...v[1]||(v[1]=[r("span",{class:"rh-bar","aria-hidden":"true"},null,-1)])],42,P_))}}),pu=Le(E_,[["__scopeId","data-v-48fd0a6d"]]);function Od(e){return e===void 0?!1:e.status==="running"&&e.runInBackground!==!0}const B_=Ee({__name:"StatusDot",props:{status:{}},setup(e){const t=e;function n(o){switch(o){case"ok":case"done":case"completed":case"success":return"ok";case"error":case"failed":case"danger":return"error";case"running":case"working":case"in_progress":case"active":return"running";case"suspended":return"suspended";default:return"idle"}}const s=M(()=>n(t.status));return(o,i)=>(l(),c("span",{class:pe(["kw-dot",`kw-dot--${s.value}`]),"aria-hidden":"true"},null,2))}}),Ho=Le(B_,[["__scopeId","data-v-e36198e5"]]),L_=["innerHTML"],R_={class:"bh-text"},D_={class:"a"},O_={key:0,class:"p"},z_={class:"rt"},F_=["aria-label"],N_={key:0,class:"tm"},W_=["inert"],q_={class:"bb-pad"},H_=Ee({__name:"ToolRow",props:{status:{},icon:{default:""},name:{},arg:{default:""},time:{default:""},open:{type:Boolean,default:!1},expandable:{type:Boolean,default:!1},stacked:{type:Boolean,default:!1},stackPosition:{default:"single"}},emits:["toggle"],setup(e,{emit:t}){const n=t,s=Fs("pinScroll",()=>{}),o=x(null);function i(){n("toggle");const u=o.value;u&&Ze(()=>s(u))}return(u,p)=>(l(),c("div",{class:pe(["box",{open:e.open,stacked:e.stacked,err:e.status==="error","stack-first":e.stackPosition==="first","stack-middle":e.stackPosition==="middle","stack-last":e.stackPosition==="last"}])},[r("div",{class:"bh",ref_key:"bhEl",ref:o,onClick:i},[e.icon?(l(),c("span",{key:0,class:"gl",innerHTML:e.icon,"aria-hidden":"true"},null,8,L_)):I("",!0),r("span",R_,[r("span",D_,d(e.name),1),w(ht,{text:e.arg},{default:R(()=>[e.arg?(l(),c("span",O_,d(e.arg),1)):I("",!0)]),_:1},8,["text"])]),r("span",z_,[r("span",{class:pe(["status",e.status]),role:"status","aria-label":e.status},[e.status==="ok"?(l(),W(X,{key:0,name:"check",size:"sm"})):e.status==="error"?(l(),W(X,{key:1,name:"close",size:"sm"})):e.status==="suspended"?(l(),W(Ho,{key:2,status:"suspended"})):(l(),W(Ho,{key:3,status:"running"}))],10,F_),Pt(u.$slots,"trailing"),e.time?(l(),c("span",N_,d(e.time),1)):I("",!0)]),e.expandable?(l(),W(X,{key:1,class:"car",name:e.open?"chevron-down":"chevron-right",size:"sm"},null,8,["name"])):I("",!0)],512),r("div",{class:pe(["bb",{open:e.open}]),inert:!e.open},[r("div",q_,[Pt(u.$slots,"default")])],10,W_)],2))}}),Ko=Le(H_,[["__scopeId","data-v-fef8aad2"]]),U_={key:0,class:"at-type"},V_={class:"at-fgbg"},j_={key:0,class:"at-type-sep"},K_={key:1,class:"at-task"},G_={key:2,class:"bb-code"},Q_=Ee({__name:"AgentTool",props:{tool:{},mobile:{type:Boolean,default:!1},stackPosition:{default:"single"},toolDiffPanel:{type:Boolean,default:!1}},emits:["openMedia","openFile","openToolDiff","openAgent","moveToBackground"],setup(e,{emit:t}){const{t:n}=Ye(),s=e,o=t;function i(L){if(!L)return{};try{const N=JSON.parse(L);return{description:typeof N.description=="string"?N.description:void 0,subagentType:typeof N.subagent_type=="string"?N.subagent_type:void 0,prompt:typeof N.prompt=="string"?N.prompt:void 0,model:typeof N.model=="string"?N.model:void 0,thinkingEffort:typeof N.thinking_effort=="string"?N.thinking_effort:void 0}}catch{return{}}}const u=M(()=>i(s.tool.arg)),p=M(()=>!!s.tool.output&&s.tool.output.length>0),f=M(()=>!!u.value.prompt||!!u.value.subagentType||p.value),v=x(s.tool.defaultExpanded===!0&&f.value),k=M(()=>s.tool.status),T=M(()=>ao(s.tool.name)),h=M(()=>Uo(s.tool.name)),m=M(()=>u.value.description||u.value.subagentType||""),$=Fs("resolveAgentTaskId"),g=M(()=>$?$(s.tool.id)!==void 0:!0),y=Fs("resolveTaskForToolCall"),S=M(()=>y?y(s.tool.id):void 0),B=M(()=>s.tool.status==="running"&&Od(S.value)),b=M(()=>S.value?.runInBackground===!0?n("tasks.background"):n("tasks.foreground"));function P(){const L=S.value;L!==void 0&&o("moveToBackground",L.backgroundTaskId??L.id)}function E(){f.value&&(v.value=!v.value)}return Ne(()=>[s.tool.defaultExpanded,s.tool.output?.length,s.tool.status],()=>{s.tool.defaultExpanded===!0&&f.value&&(v.value=!0)}),(L,N)=>(l(),W(Ko,{status:k.value,icon:h.value,name:T.value,arg:v.value?"":m.value,time:e.tool.timing,open:v.value,expandable:f.value,stacked:e.stackPosition!=="single","stack-position":e.stackPosition,onToggle:E},{trailing:R(()=>[g.value?(l(),c("button",{key:0,type:"button",class:"at-open",onClick:N[0]||(N[0]=De(Q=>o("openAgent",e.tool.id),["stop"]))},d(a(n)("tasks.openDetail")),1)):I("",!0),B.value?(l(),c("button",{key:1,type:"button",class:"at-open",onClick:De(P,["stop"])},d(a(n)("panel.moveToBackground")),1)):I("",!0)]),default:R(()=>[u.value.subagentType||u.value.model||u.value.thinkingEffort?(l(),c("div",U_,[u.value.subagentType?(l(),c(ce,{key:0},[te(d(u.value.subagentType),1)],64)):I("",!0),r("span",V_,d(b.value),1),u.value.model?(l(),c(ce,{key:1},[u.value.subagentType?(l(),c("span",j_,"·")):I("",!0),te(d(u.value.model),1)],64)):I("",!0),u.value.thinkingEffort?(l(),c(ce,{key:2},[N[1]||(N[1]=r("span",{class:"at-type-sep"},"·",-1)),te(d(a(n)("tasks.thinkingEffort",{effort:u.value.thinkingEffort})),1)],64)):I("",!0)])):I("",!0),u.value.prompt?(l(),c("div",K_,d(u.value.prompt),1)):I("",!0),p.value?(l(),c("div",G_,[(l(!0),c(ce,null,Pe(e.tool.output??[],(Q,V)=>(l(),c("div",{key:V},d(Q),1))),128))])):I("",!0)]),_:1},8,["status","icon","name","arg","time","open","expandable","stacked","stack-position"]))}}),Y_=Le(Q_,[["__scopeId","data-v-9203c679"]]);function Z_(e){if(!e)return[];try{const n=JSON.parse(e).questions;if(!Array.isArray(n))return[];const s=[];for(const o of n){if(!o||typeof o!="object")continue;const i=o,u=Array.isArray(i.options)?i.options.map(p=>{const f=p&&typeof p=="object"?p:{};return{label:typeof f.label=="string"?f.label:"",description:typeof f.description=="string"?f.description:""}}):[];s.push({question:typeof i.question=="string"?i.question:"",header:typeof i.header=="string"?i.header:"",options:u,multiSelect:i.multi_select===!0})}return s}catch{return[]}}const Ei={recognized:!1,answers:{},note:""};function X_(e){const t=e?.[0];if(!t)return Ei;let n;try{n=JSON.parse(t)}catch{return Ei}if(!n||typeof n!="object"||Array.isArray(n))return Ei;const s=n.answers;if(!s||typeof s!="object"||Array.isArray(s))return Ei;const o={};for(const[i,u]of Object.entries(s))typeof u=="string"?o[i]=u:u===!0&&(o[i]=!0);return{recognized:!0,answers:o,note:typeof n.note=="string"?n.note:""}}function J_(e,t,n){return e[t]??e[`q_${n}`]}const e8=/^opt_\d+_(\d+)$/;function t8(e,t=[]){if(e===void 0)return{selected:new Set,otherText:"",indeterminate:!1};if(e===!0)return{selected:new Set,otherText:"",indeterminate:!0};const n=new Map;t.forEach((u,p)=>{u.label.length>0&&!n.has(u.label)&&n.set(u.label,p)});const s=n.get(e);if(s!==void 0)return{selected:new Set([s]),otherText:"",indeterminate:!1};const o=new Set,i=[];for(const u of e.split(",")){const p=u.trim(),f=n.get(p);if(f!==void 0){o.add(f);continue}const v=e8.exec(p);v?o.add(Number(v[1])):p.length>0&&i.push(p)}return{selected:o,otherText:i.join(", "),indeterminate:!1}}const n8={key:0,class:"chip"},s8={key:0,class:"au-dismissed"},o8={key:1,class:"au-list"},i8={class:"au-q"},a8={key:0,class:"au-hdr"},l8={class:"au-qtext"},r8={class:"au-opts"},u8={class:"au-glyph"},c8={class:"au-label"},d8={key:0,class:"au-desc"},p8={key:0,class:"au-opt sel"},f8={class:"au-glyph"},m8={class:"au-label"},v8={key:1,class:"au-opt sel"},g8={class:"au-label"},h8={key:2,class:"au-raw"},y8=80,k8=Ee({__name:"AskUserTool",props:{tool:{},mobile:{type:Boolean,default:!1},stackPosition:{default:"single"},toolDiffPanel:{type:Boolean,default:!1}},emits:["openMedia","openFile","openToolDiff"],setup(e){const t=e,{t:n}=Ye();function s(N,Q=y8){const V=N.trim();return V.length>Q?V.slice(0,Q-1)+"…":V}const o=M(()=>Z_(t.tool.arg)),i=M(()=>X_(t.tool.output)),u=M(()=>i.value.recognized),p=M(()=>u.value&&Object.keys(i.value.answers).length===0&&i.value.note.length>0),f=M(()=>o.value.map((N,Q)=>t8(J_(i.value.answers,N.question,Q),N.options))),v=M(()=>Object.keys(i.value.answers).length);function k(N,Q){return f.value[N]?.selected.has(Q)??!1}function T(N){return f.value[N]?.otherText??""}function h(N){return f.value[N]?.indeterminate??!1}function m(N,Q){return N?Q?"■":"□":Q?"●":"○"}const $=M(()=>{if(!u.value)return s(t.tool.output?.[0]??"");if(p.value)return n("tools.ask.dismissed");const N=o.value[0]?.question??"",Q=s(N);return o.value.length<=1?Q:`${Q} ${n("tools.ask.more",{count:o.value.length-1})}`}),g=M(()=>u.value?p.value?n("tools.ask.dismissed"):v.value===0?"":v.value===1?n("tools.ask.answer",{count:1}):n("tools.ask.answers",{count:v.value}):""),y=M(()=>!!t.tool.output&&t.tool.output.length>0),S=M(()=>u.value&&(o.value.length>0||p.value)||y.value),B=x(t.tool.defaultExpanded===!0&&S.value),b=M(()=>t.tool.status),P=M(()=>ao(t.tool.name)),E=M(()=>Uo(t.tool.name));function L(){S.value&&(B.value=!B.value)}return Ne(()=>[t.tool.defaultExpanded,t.tool.output?.length,t.tool.status],()=>{t.tool.defaultExpanded===!0&&S.value&&(B.value=!0)}),(N,Q)=>(l(),W(Ko,{status:b.value,icon:E.value,name:P.value,arg:B.value?"":$.value,time:e.tool.timing,open:B.value,expandable:S.value,stacked:e.stackPosition!=="single","stack-position":e.stackPosition,onToggle:L},{trailing:R(()=>[g.value?(l(),c("span",n8,d(g.value),1)):I("",!0)]),default:R(()=>[p.value?(l(),c("div",s8,d(i.value.note),1)):u.value?(l(),c("div",o8,[(l(!0),c(ce,null,Pe(o.value,(V,_)=>(l(),c("div",{key:_,class:"au-block"},[r("div",i8,[V.header?(l(),c("span",a8,d(V.header),1)):I("",!0),r("span",l8,d(V.question),1)]),r("div",r8,[(l(!0),c(ce,null,Pe(V.options,(z,D)=>(l(),c("div",{key:D,class:pe(["au-opt",{sel:k(_,D)}])},[r("span",u8,d(m(V.multiSelect,k(_,D))),1),r("span",c8,d(z.label),1),z.description?(l(),c("span",d8,d(z.description),1)):I("",!0)],2))),128)),T(_)?(l(),c("div",p8,[r("span",f8,d(m(V.multiSelect,!0)),1),r("span",m8,d(T(_)),1)])):I("",!0),h(_)?(l(),c("div",v8,[Q[0]||(Q[0]=r("span",{class:"au-glyph"},"●",-1)),r("span",g8,d(a(n)("tools.ask.answered")),1)])):I("",!0)])]))),128))])):(l(),c("div",h8,[(l(!0),c(ce,null,Pe(e.tool.output??[],(V,_)=>(l(),c("div",{key:_},d(V),1))),128))]))]),_:1},8,["status","icon","name","arg","time","open","expandable","stacked","stack-position"]))}}),b8=Le(k8,[["__scopeId","data-v-a9a0f259"]]),w8=1e6,fu=5e3;function mu(e){if(e==="")return[];const t=e.split(`
-`);return t.at(-1)===""&&t.pop(),t}function S8(e,t){const n=mu(e),s=mu(t),o=n.length,i=s.length;if(o===0&&i===0)return[];if(o>fu||i>fu||(o+1)*(i+1)>w8)return null;const u=Array.from({length:o+1},()=>Array.from({length:i+1},()=>0));for(let m=1;m<=o;m++)for(let $=1;$<=i;$++)u[m][$]=n[m-1]===s[$-1]?u[m-1][$-1]+1:Math.max(u[m-1][$],u[m][$-1]);const p=[];let f=o,v=i;for(;f>0||v>0;)f>0&&v>0&&n[f-1]===s[v-1]?(p.push({type:"context",text:n[f-1]}),f--,v--):v>0&&(f===0||u[f][v-1]>=u[f-1][v])?(p.push({type:"add",text:s[v-1]}),v--):(p.push({type:"del",text:n[f-1]}),f--);p.reverse();const k=[];let T=1,h=1;for(const m of p)m.type==="context"?(k.push({type:"context",text:m.text,oldNo:T,newNo:h}),T++,h++):m.type==="add"?(k.push({type:"add",text:m.text,newNo:h}),h++):(k.push({type:"del",text:m.text,oldNo:T}),T++);return k}function C8(e){let t=0,n=0;for(const s of e)s.type==="add"?t++:s.type==="del"&&n++;return{added:t,removed:n}}function zd(e){const t=e.trim();if(!t.startsWith("{"))return null;try{const n=JSON.parse(t);return n&&typeof n=="object"&&!Array.isArray(n)?n:null}catch{return null}}function Fd(e){const t=To(e.name);if(t!=="edit"&&t!=="write")return null;const n=zd(e.arg);if(!n)return null;if(t==="edit"){if(n.replace_all===!0)return null;const s=typeof n.old_string=="string"?n.old_string:void 0,o=typeof n.new_string=="string"?n.new_string:void 0;return s===void 0||o===void 0?null:S8(s,o)}return null}function _8(e){const t=zd(e);return t&&typeof t.path=="string"?t.path:void 0}function M8(e,t){for(const n of e){const s=n.tools?.find(o=>o.id===t);if(s)return s}}const $8={key:0,class:"bb-empty"},vu=50,T8=Ee({__name:"ToolOutputBlock",props:{lines:{},emptyText:{}},setup(e){const t=e,n=M(()=>t.lines??[]),s=M(()=>n.value.length>vu),o={"--tool-output-visible-lines":String(vu)};return(i,u)=>(l(),c("div",{class:pe(["bb-code tool-output-block",{scroll:s.value}]),style:o},[n.value.length===0&&e.emptyText?(l(),c("div",$8,d(e.emptyText),1)):I("",!0),(l(!0),c(ce,null,Pe(n.value,(p,f)=>(l(),c("div",{key:f},d(p),1))),128))],2))}}),pa=Le(T8,[["__scopeId","data-v-3eefb240"]]),x8={key:0,class:"chip"},I8={key:0,class:"bb-summary"},A8=Ee({__name:"EditTool",props:{tool:{},mobile:{type:Boolean,default:!1},stackPosition:{default:"single"},toolDiffPanel:{type:Boolean,default:!1}},emits:["openMedia","openFile","openToolDiff"],setup(e,{emit:t}){const n=e,s=t,o=M(()=>n.tool.status),i=M(()=>ao(n.tool.name)),u=M(()=>Uo(n.tool.name)),p=M(()=>Co(n.tool.name,n.tool.arg)),f=M(()=>Co(n.tool.name,n.tool.arg,!0)),v=M(()=>Fd(n.tool)),k=M(()=>{const g=v.value;if(g&&n.tool.status!=="error"){const{added:y,removed:S}=C8(g);if(y||S)return`+${y} −${S}`}return""}),T=M(()=>!!n.tool.output&&n.tool.output.length>0),h=x(!1),m=M(()=>T.value&&!n.toolDiffPanel);function $(){if(n.toolDiffPanel){s("openToolDiff",n.tool.id);return}T.value&&(h.value=!h.value)}return(g,y)=>(l(),W(Ko,{status:o.value,icon:u.value,name:i.value,arg:h.value?"":p.value,time:e.tool.timing,open:h.value,expandable:m.value||e.toolDiffPanel,stacked:e.stackPosition!=="single","stack-position":e.stackPosition,onToggle:$},{trailing:R(()=>[k.value?(l(),c("span",x8,d(k.value),1)):I("",!0)]),default:R(()=>[f.value?(l(),c("div",I8,d(f.value),1)):I("",!0),w(pa,{lines:e.tool.output,"empty-text":"Waiting for output…"},null,8,["lines"])]),_:1},8,["status","icon","name","arg","time","open","expandable","stacked","stack-position"]))}}),P8=Le(A8,[["__scopeId","data-v-74e1da99"]]),E8={key:1,class:"chip"},B8={key:0,class:"bb-summary"},L8=Ee({__name:"GenericTool",props:{tool:{},mobile:{type:Boolean,default:!1},stackPosition:{default:"single"},toolDiffPanel:{type:Boolean,default:!1}},emits:["openMedia","openFile","openToolDiff","moveToBackground"],setup(e,{emit:t}){const n=e,s=t,{t:o}=Ye(),i=M(()=>n.tool.status==="running"&&/^bash$/i.test(n.tool.name)),u=M(()=>!!n.tool.output&&n.tool.output.length>0),p=M(()=>u.value||i.value),f=x(n.tool.defaultExpanded===!0&&p.value),v=Fs("resolveTaskForToolCall"),k=M(()=>v?v(n.tool.id):void 0),T=M(()=>i.value&&k.value?.kind==="bash"&&Od(k.value));function h(){const P=k.value;P!==void 0&&s("moveToBackground",P.id)}const m=M(()=>n.tool.status),$=M(()=>ao(n.tool.name)),g=M(()=>Uo(n.tool.name)),y=M(()=>Co(n.tool.name,n.tool.arg)),S=M(()=>Co(n.tool.name,n.tool.arg,!0)),B=M(()=>_c({name:n.tool.name,arg:n.tool.arg,output:n.tool.output,timing:n.tool.timing,status:n.tool.status}));function b(){p.value&&(f.value=!f.value)}return Ne(()=>[n.tool.defaultExpanded,n.tool.output?.length,n.tool.status,n.tool.name],()=>{n.tool.defaultExpanded===!0&&p.value&&(f.value=!0)}),(P,E)=>(l(),W(Ko,{status:m.value,icon:g.value,name:$.value,arg:f.value?"":y.value,time:e.tool.name!=="bash"?e.tool.timing:"",open:f.value,expandable:p.value,stacked:e.stackPosition!=="single","stack-position":e.stackPosition,onToggle:b},{trailing:R(()=>[T.value?(l(),c("button",{key:0,type:"button",class:"gt-bg",onClick:De(h,["stop"])},d(a(o)("panel.moveToBackground")),1)):I("",!0),B.value?(l(),c("span",E8,d(B.value),1)):I("",!0)]),default:R(()=>[S.value?(l(),c("div",B8,d(S.value),1)):I("",!0),w(pa,{lines:e.tool.output,"empty-text":"Waiting for output…"},null,8,["lines"])]),_:1},8,["status","icon","name","arg","time","open","expandable","stacked","stack-position"]))}}),R8=Le(L8,[["__scopeId","data-v-d24a81f5"]]),D8={class:"media-title"},O8=["src","alt"],z8=["aria-label"],F8=["src"],N8={class:"media-play-badge"},W8=["src"],q8=Ee({__name:"MediaTool",props:{tool:{},mobile:{type:Boolean,default:!1}},emits:["openMedia"],setup(e,{emit:t}){const n=e,s=t,o=M(()=>n.tool.status==="ok"?n.tool.media:void 0);function i(v){return v.split(/[\\/]+/).pop()||v}function u(v){return v<1024?`${v} B`:v<1024*1024?`${(v/1024).toFixed(1)} KB`:`${(v/1024/1024).toFixed(1)} MB`}const p=M(()=>{const v=o.value;if(!v)return"";const k=[v.path?i(v.path):n.tool.name];return v.mimeType&&k.push(v.mimeType),v.bytes!==void 0&&k.push(u(v.bytes)),v.dimensions&&k.push(v.dimensions),k.join(" · ")});function f(){const v=o.value;v&&(v.kind==="image"||v.kind==="video")&&s("openMedia",v)}return(v,k)=>o.value?(l(),c("div",{key:0,class:pe(["media-tool",{mob:e.mobile}])},[w(ht,{text:o.value.path||p.value},{default:R(()=>[r("div",D8,d(p.value),1)]),_:1},8,["text"]),o.value.kind==="image"?(l(),W(ht,{key:0,text:o.value.path||p.value},{default:R(()=>[r("button",{type:"button",class:"media-image-button",onClick:f},[r("img",{class:"media-image",src:o.value.url,alt:o.value.path?i(o.value.path):p.value,loading:"lazy"},null,8,O8)])]),_:1},8,["text"])):o.value.kind==="video"?(l(),c("button",{key:1,type:"button",class:"media-video-button","aria-label":p.value,onClick:f},[r("video",{class:"media-video",src:o.value.url,preload:"metadata",playsinline:"",muted:""},null,8,F8),r("span",N8,[w(X,{name:"play",size:"md"})])],8,z8)):(l(),c("audio",{key:2,class:"media-audio",src:o.value.url,controls:""},null,8,W8))],2)):I("",!0)}}),H8=Le(q8,[["__scopeId","data-v-04192531"]]),U8="main",V8=1e4;function ki(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function wo(e){return typeof e=="string"&&e.length>0}function j8(e){try{return AbortSignal.timeout(e)}catch{return}}function K8(e){return!ki(e)||!wo(e.label)?null:{label:e.label,description:wo(e.description)?e.description:void 0}}function G8(e){if(!ki(e))return;const t=e.state;if(t!=="pending"&&t!=="approved"&&t!=="rejected"&&t!=="cancelled")return;const n=wo(e.selected_option)?e.selected_option:void 0,s=wo(e.feedback)?e.feedback:void 0;return{state:t,selectedOption:n,feedback:s}}function Q8(e){if(!ki(e)||!wo(e.tool_call_id)||!wo(e.plan))return null;const t=e.source;if(t!=="interaction"&&t!=="display"&&t!=="output")return null;const n=Array.isArray(e.options)?e.options.map(K8).filter(s=>s!==null):void 0;return{toolCallId:e.tool_call_id,plan:e.plan,path:wo(e.path)?e.path:void 0,options:n!==void 0&&n.length>0?n:void 0,source:t,review:G8(e.review)}}function Y8(e){if(!ki(e)||!Array.isArray(e.plans))return[];const t=[];for(const n of e.plans){const s=Q8(n);s!==null&&t.push(s)}return t}function Z8(e){return!ki(e)||e.code!==0?[]:Y8(e.data)}async function Nd(e,t,n=fetch){const s=rc().serverHttpUrl,o=`/sessions/${encodeURIComponent(e)}/transcript/plan`,i=new URLSearchParams({agent_id:U8,tool_call_id:t}),u=fi();try{const p=await n(`${ho(s,o)}?${i.toString()}`,{headers:u!==void 0?{Authorization:`Bearer ${u}`}:void 0,signal:j8(V8)});if(!p.ok)return null;const f=await p.json(),v=Z8(f);return v.find(k=>k.toolCallId===t)??v[0]??null}catch{return null}}const X8={key:0,class:"chip"},J8={key:0,class:"bb-summary"},e5={key:1,class:"plan-wrap"},t5=["title"],n5={class:"plan-body"},s5={key:1,class:"plan-review"},o5={key:0,class:"plan-state"},i5={key:1,class:"plan-option"},a5={key:2,class:"plan-feedback"},l5={key:2,class:"plan-loading"},r5={key:3,class:"plan-empty"},u5=Ee({__name:"PlanTool",props:{tool:{},mobile:{type:Boolean,default:!1},stackPosition:{default:"single"},toolDiffPanel:{type:Boolean,default:!1}},emits:["openMedia","openFile","openToolDiff"],setup(e,{emit:t}){const n=tc(()=>oc(()=>Promise.resolve().then(()=>l$),void 0)),s=e,o=t,{t:i}=Ye(),u=Fs("sessionId",()=>{}),p=M(()=>s.tool.status),f=M(()=>ao(s.tool.name)),v=M(()=>Uo(s.tool.name)),k=M(()=>_c({name:s.tool.name,arg:s.tool.arg,output:s.tool.output,timing:s.tool.timing,status:s.tool.status})),T=M(()=>!!s.tool.output&&s.tool.output.length>0),h=M(()=>s.tool.status==="running"&&/^bash$/i.test(s.tool.name)),m=x(null),$=x("idle"),g=M(()=>m.value?.path?m.value.path:Co(s.tool.name,s.tool.arg)),y=M(()=>m.value!==null?"":Co(s.tool.name,s.tool.arg,!0)),S=x(!1),B=M(()=>m.value!==null||T.value||h.value);Ne(m,N=>{N!==null&&(S.value=!0)});function b(){B.value&&(S.value=!S.value)}function P(){const N=m.value?.path;N&&o("openFile",{path:N})}const E=M(()=>{const N=m.value?.review?.state;if(N===void 0)return null;switch(N){case"approved":return i("tools.plan.approved");case"rejected":return i("tools.plan.rejected");case"cancelled":return i("tools.plan.cancelled");case"pending":return i("tools.plan.pending")}});async function L(){if($.value!=="idle")return;if(s.tool.status==="running"){$.value="settled";return}const N=u();if(!N){$.value="settled";return}$.value="loading",m.value=await Nd(N,s.tool.id),$.value="settled"}return xt(()=>{L()}),(N,Q)=>(l(),W(Ko,{status:p.value,icon:v.value,name:f.value,arg:S.value?"":g.value,time:e.tool.timing,open:S.value,expandable:B.value,stacked:e.stackPosition!=="single","stack-position":e.stackPosition,onToggle:b},{trailing:R(()=>[k.value?(l(),c("span",X8,d(k.value),1)):I("",!0)]),default:R(()=>[y.value?(l(),c("div",J8,d(y.value),1)):I("",!0),m.value?(l(),c("div",e5,[m.value.path?(l(),c("button",{key:0,class:"plan-path",type:"button",title:m.value.path,onClick:P},d(m.value.path),9,t5)):I("",!0),r("div",n5,[w(a(n),{text:m.value.plan,"open-file":V=>o("openFile",V)},null,8,["text","open-file"])]),m.value.review?(l(),c("div",s5,[E.value?(l(),c("span",o5,d(E.value),1)):I("",!0),m.value.review.selectedOption?(l(),c("span",i5,d(m.value.review.selectedOption),1)):I("",!0),m.value.review.feedback?(l(),c("span",a5,"“"+d(m.value.review.feedback)+"”",1)):I("",!0)])):I("",!0)])):$.value==="loading"?(l(),c("div",l5,d(a(i)("tools.plan.loading")),1)):$.value==="settled"&&m.value===null&&!T.value?(l(),c("div",r5,d(a(i)("tools.plan.unavailable")),1)):(l(),W(pa,{key:4,lines:e.tool.output,"empty-text":"Waiting for output…"},null,8,["lines"]))]),_:1},8,["status","icon","name","arg","time","open","expandable","stacked","stack-position"]))}}),c5=Le(u5,[["__scopeId","data-v-c851b016"]]),d5=/([\s\S]*?)<\/summary>/,p5=/([\s\S]*?)<\/resume_hint>/,Ra=/]*)>|<\/subagent>/g,f5=" ",gu=/(completed|failed|aborted):\s*(\d+)/g,hu=/([a-z_]+)="([^"]*)"/g;function m5(e){return e.replaceAll(""",'"').replaceAll("<","<").replaceAll(">",">").replaceAll("&","&")}function v5(e){const t={};hu.lastIndex=0;let n;for(;(n=hu.exec(e))!==null;)t[n[1]]=m5(n[2]);return t}function g5(e){const t={completed:0,failed:0,aborted:0};gu.lastIndex=0;let n;for(;(n=gu.exec(e))!==null;){const s=n[1];t[s]=Number(n[2])}return t}function h5(e,t){const n=v5(e);return{outcome:n.outcome??"completed",item:n.item,agentId:n.agent_id,mode:n.mode,state:n.state,body:t.trim()}}function y5(e){const t=[],n=[];Ra.lastIndex=0;let s;for(;(s=Ra.exec(e))!==null;)if(s[0]===f5){if(n.length===0)continue;const o=n.pop();o&&n.length===0&&t.push(h5(o.attrs,e.slice(o.bodyStart,s.index)))}else n.length===0?n.push({attrs:s[1]??"",bodyStart:Ra.lastIndex}):n.push(null);return t}function k5(e){if(e==null)return null;const t=Array.isArray(e)?e.join(`
-`):e;if(!t.includes(""))return null;const n=d5.exec(t)?.[1]?.trim()??"",{completed:s,failed:o,aborted:i}=g5(n),u=p5.exec(t)?.[1]?.trim(),p=y5(t),f=s+o+i;return{summary:n,completed:s,failed:o,aborted:i,total:f>0?f:p.length,subagents:p,resumeHint:u}}function yu(e){return e?e.split(`
-`).map(t=>t.trimEnd()).filter(Boolean).at(-1)??"":""}function b5(e){return e.suspendedReason||yu(e.text)||yu(e.outputLines?.join(`
-`))||e.summary||""}function w5(e){return e.suspendedReason?e.suspendedReason:e.text?e.text:e.outputLines&&e.outputLines.length>0?e.outputLines.join(`
-`):e.summary??""}function S5(e){return e==="completed"?"completed":e==="failed"||e==="aborted"?"failed":"working"}function ku(e,t){return{id:e.agentId??e.item??`result-${t}`,name:e.item??`subagent ${t+1}`,activity:e.body.split(`
-`)[0]??"",phase:S5(e.outcome),body:e.body}}function C5(e,t){return!!(t.agentId&&e.id===t.agentId||t.item&&e.name.includes(t.item))}function _5(e,t){const n=e.map(o=>({id:o.id,name:o.name,activity:b5(o),phase:o.phase,body:w5(o)}));if(!t)return n;const s=t.subagents.filter(o=>(o.outcome==="aborted"||o.state==="not_started")&&!e.some(i=>C5(i,o))).map((o,i)=>ku(o,i));return n.length>0?[...n,...s]:t.subagents.map((o,i)=>ku(o,i))}const M5=["aria-expanded"],$5={class:"title"},T5={key:0,class:"meta"},x5={key:1,class:"sum-txt"},I5={class:"rt"},A5={class:"status"},P5={key:0,class:"chip"},E5={key:1,class:"tm"},B5={class:"body"},L5={class:"overview"},R5={class:"overview-line"},D5={class:"big"},O5={key:0,class:"lbl"},z5={key:1,class:"lbl"},F5={key:2,class:"lbl"},N5={key:0,class:"seg","aria-hidden":"true"},W5={key:1,class:"legend"},q5=["aria-expanded","onClick"],H5={class:"mname"},U5={class:"mact"},V5={class:"mphase"},j5={key:1,class:"fallback-output"},K5={key:2,class:"waiting"},G5=Ee({__name:"SwarmTool",props:{tool:{},mobile:{type:Boolean,default:!1},stackPosition:{default:"single"},toolDiffPanel:{type:Boolean,default:!1}},emits:["openMedia","openFile","openToolDiff","openAgent"],setup(e){const{t}=Ye(),n=e;function s(_){if(!_)return{};try{const z=JSON.parse(_),D=Array.isArray(z.items)?z.items:void 0;return{description:typeof z.description=="string"?z.description:void 0,itemCount:D?.length}}catch{return{}}}const o=Fs("resolveSwarmMembers"),i=M(()=>s(n.tool.arg)),u=M(()=>ao(n.tool.name)),p=M(()=>i.value.description??""),f=M(()=>o?.(n.tool.id)??[]),v=M(()=>k5(n.tool.output)),k=M(()=>n.tool.status),T=M(()=>k.value==="running"?"running":k.value==="error"||(v.value?.failed??0)>0||(v.value?.aborted??0)>0?"error":"ok"),h=M(()=>_5(f.value,v.value)),m=M(()=>{const _={completed:0,working:0,suspended:0,queued:0,failed:0};for(const z of h.value)_[z.phase]++;return _}),$=M(()=>h.value.length||i.value.itemCount||0),g=M(()=>m.value.completed+m.value.failed),y=M(()=>m.value.working+m.value.suspended+m.value.queued),S=[{phase:"completed",cls:"s-ok"},{phase:"working",cls:"s-run"},{phase:"suspended",cls:"s-warn"},{phase:"failed",cls:"s-fail"},{phase:"queued",cls:"s-queue"}],B=M(()=>S.map(({phase:_,cls:z})=>({phase:_,count:m.value[_],cls:z})).filter(_=>_.count>0)),b=x(k.value==="running"||y.value>0);function P(){b.value=!b.value}const E=M(()=>h.value.length>0||v.value||k.value==="running"?"":(n.tool.output??[]).join(`
-`).trim()),L=x(new Set);function N(_){const z=new Set(L.value);z.has(_)?z.delete(_):z.add(_),L.value=z}function Q(_){return L.value.has(_)}function V(_){return t(`tools.swarm.phase${_[0].toUpperCase()}${_.slice(1)}`)}return(_,z)=>(l(),c("div",{class:pe(["swarm-card",{open:b.value,err:T.value==="error",stacked:e.stackPosition!=="single"}])},[r("button",{class:"head",type:"button","aria-expanded":b.value,onClick:P},[w(X,{class:"ic",name:"git-pull-request",size:"sm"}),r("span",$5,d(u.value),1),p.value?(l(),c("span",T5,"·")):I("",!0),p.value?(l(),c("span",x5,d(p.value),1)):I("",!0),r("span",I5,[r("span",A5,[T.value==="ok"?(l(),W(X,{key:0,name:"check",size:"sm"})):T.value==="error"?(l(),W(X,{key:1,name:"close",size:"sm"})):(l(),W(Ho,{key:2,status:"running"}))]),g.value>0||$.value>0?(l(),c("span",P5,d(g.value)+" / "+d($.value),1)):I("",!0),e.tool.timing?(l(),c("span",E5,d(e.tool.timing),1)):I("",!0)]),w(X,{class:"car",name:b.value?"chevron-down":"chevron-right",size:"sm"},null,8,["name"])],8,M5),bt(r("div",B5,[r("div",L5,[r("div",R5,[r("span",D5,d(a(t)("tools.swarm.progress",{done:g.value,total:$.value})),1),T.value==="running"&&$.value>0?(l(),c("span",O5,d(a(t)("tools.swarm.runningSub",{count:y.value})),1)):v.value?(l(),c("span",z5,d(a(t)("tools.swarm.doneSub",{completed:v.value.completed,failed:v.value.failed+v.value.aborted})),1)):(l(),c("span",F5,d(a(t)("tools.swarm.waiting")),1))]),$.value>0&&B.value.length>0?(l(),c("div",N5,[(l(!0),c(ce,null,Pe(B.value,D=>(l(),c("span",{key:D.phase,class:pe(D.cls),style:gt({flex:D.count})},null,6))),128))])):I("",!0),B.value.length>1?(l(),c("div",W5,[(l(!0),c(ce,null,Pe(B.value,D=>(l(),c("span",{key:D.phase},[r("i",{class:pe(["lg-dot",D.cls])},null,2),te(d(V(D.phase))+" "+d(D.count),1)]))),128))])):I("",!0)]),h.value.length>0?(l(!0),c(ce,{key:0},Pe(h.value,D=>(l(),c("div",{key:D.id,class:pe(["member",[`phase-${D.phase}`,{open:Q(D.id)}]])},[r("button",{class:"member-head",type:"button","aria-expanded":Q(D.id),onClick:ee=>N(D.id)},[w(Ho,{class:"row-dot",status:D.phase},null,8,["status"]),w(ht,{text:D.name},{default:R(()=>[r("span",H5,d(D.name),1)]),_:2},1032,["text"]),D.activity?(l(),W(ht,{key:0,text:D.activity},{default:R(()=>[r("span",U5,d(D.activity),1)]),_:2},1032,["text"])):I("",!0),r("span",V5,d(V(D.phase)),1),w(X,{class:"mcar",name:Q(D.id)?"chevron-down":"chevron-right",size:"sm"},null,8,["name"])],8,q5),bt(r("div",{class:"member-body"},d(D.body),513),[[Un,Q(D.id)]])],2))),128)):E.value?(l(),c("div",j5,d(E.value),1)):(l(),c("div",K5,d(a(t)("tools.swarm.waiting")),1))],512),[[Un,b.value]])],2))}}),Q5=Le(G5,[["__scopeId","data-v-4b58e128"]]),ts=wt.global.t;function Y5(e,t,n){const s={};for(let o=t;o{o!==null&&s.push(o),o=null};for(let u=t;um.trim());if(t.length===0)return null;const n=t.findIndex(m=>m.startsWith("[")),s=n===-1?t.length:n,o=Y5(t,0,s),i=o.wait_status;if(i!=="completed"&&i!=="timed_out"&&i!=="no_tasks")return null;const u=Da(t,"[finished]",0),p=Da(t,"[completed_during_wait]",0),f=Da(t,"[still_running]",0),v=u!==null?Oa(t,u.start,u.end)[0]:void 0,k=p!==null?Oa(t,p.start,p.end):[],T=f!==null?Oa(t,f.start,f.end):[];let h=T.length;if(f!==null)for(let m=f.start;mm.task_id??m.description??"").filter(m=>m.length>0)}}function X5(e){const t=(e??"").trim();if(t.startsWith("{"))try{const n=JSON.parse(t);if(n&&typeof n=="object"){const s=n.task_id??n.taskId;return typeof s=="string"&&s.length>0?s:void 0}}catch{}}function J5(e){const t=e.status??"ok";if(t==="running")return{kind:"running",taskId:X5(e.arg)};const n=Z5(e.output);return t==="error"||n===null?{kind:"error",message:(e.output??[]).find(o=>o.trim().length>0)??""}:{kind:"result",result:n}}function eM(e){switch(e.kind){case"running":return e.taskId!==void 0?ts("tools.waitfor.waitingTask",{id:e.taskId}):ts("tools.waitfor.waitingAny");case"error":return e.message;case"result":{const t=e.result;switch(t.status){case"completed":return t.finishedDescription??t.taskId??"";case"timed_out":return t.runningCount>0?ts("tools.waitfor.stillRunning",{count:t.runningCount}):ts("tools.waitfor.timedOut");case"no_tasks":return ts("tools.waitfor.noTasks")}}}}function wu(e){if(e.runningSamples.length===0)return null;const t=[...e.runningSamples],n=e.runningCount-e.runningSamples.length;return n>0&&t.push(ts("tools.waitfor.moreRunning",{count:n})),t.join(", ")}function tM(e){if(e.kind!=="result")return null;const t=e.result;if(t.status==="completed"){const n=[t.taskId,Wd(t.finishedStatus)].filter(u=>u&&u.length>0).join(" · "),s=[];t.finishedDescription!==void 0&&t.finishedDescription.length>0&&s.push(t.finishedDescription);const o=[];t.extraCount>0&&o.push(ts("tools.waitfor.moreFinished",{count:t.extraCount})),t.runningCount>0&&o.push(ts("tools.waitfor.stillRunning",{count:t.runningCount})),o.length>0&&s.push(o.join(" · "));const i=wu(t);return i!==null&&s.push(i),{main:n,subs:s}}if(t.status==="timed_out"){if(t.runningCount===0&&t.extraCount===0)return null;const n=t.runningCount>0?ts("tools.waitfor.stillRunning",{count:t.runningCount}):ts("tools.waitfor.moreFinished",{count:t.extraCount}),s=[];t.runningCount>0&&t.extraCount>0&&s.push(ts("tools.waitfor.moreFinished",{count:t.extraCount}));const o=wu(t);return o!==null&&s.push(o),{main:n,subs:s}}return null}const nM={completed:"tools.waitfor.status.completed",failed:"tools.waitfor.status.failed",timed_out:"tools.waitfor.status.timed_out",killed:"tools.waitfor.status.killed",lost:"tools.waitfor.status.lost"};function Wd(e){if(!e)return"";const t=nM[e];return t?ts(t):e}function sM(e){if(e.kind!=="result")return null;const t=e.result.finishedStatus;if(!t)return null;const n=t==="completed"?"success":t==="failed"||t==="lost"?"danger":t==="timed_out"||t==="killed"?"warning":"neutral";return{label:Wd(t),variant:n}}function oM(e,t=""){if(e.kind==="result"){if(e.result.status==="no_tasks")return"";const n=e.result.waitedMs;if(n!==void 0){const s=iM(n);if(s)return s}}return t}function iM(e){if(!Number.isFinite(e)||e<0)return"";if(e<1e3)return`${Math.round(e)}ms`;const t=Math.round(e/1e3);if(t<60)return`${t}s`;const n=Math.floor(t/60),s=t%60;if(n<60)return s===0?`${n}m`:`${n}m ${s}s`;const o=Math.floor(n/60),i=n%60;return i===0?`${o}h`:`${o}h ${i}m`}const aM={key:0,class:"wf-glance"},lM={class:"wf-main"},rM=Ee({__name:"WaitForTool",props:{tool:{},mobile:{type:Boolean,default:!1},stackPosition:{default:"single"},toolDiffPanel:{type:Boolean,default:!1}},emits:["openMedia","openFile","openToolDiff"],setup(e){const t=e,{t:n}=Ye(),s=M(()=>J5(t.tool)),o=M(()=>t.tool.status),i=M(()=>n("tools.label.waitfor")),u=M(()=>Uo(t.tool.name)),p=M(()=>eM(s.value)),f=M(()=>oM(s.value,t.tool.timing??"")),v=M(()=>tM(s.value)),k=M(()=>sM(s.value)),T=M(()=>!!t.tool.output&&t.tool.output.length>0),h=M(()=>v.value!==null||T.value),m=x(t.tool.defaultExpanded===!0&&h.value);function $(){h.value&&(m.value=!m.value)}return Ne(()=>[t.tool.defaultExpanded,t.tool.output?.length,t.tool.status],()=>{t.tool.defaultExpanded===!0&&h.value&&(m.value=!0)}),(g,y)=>(l(),W(Ko,{status:o.value,icon:u.value,name:i.value,arg:m.value?"":p.value,time:f.value,open:m.value,expandable:h.value,stacked:e.stackPosition!=="single","stack-position":e.stackPosition,onToggle:$},{trailing:R(()=>[k.value?(l(),W(Bt,{key:0,variant:k.value.variant,size:"sm"},{default:R(()=>[w(X,{name:"check",size:"sm"}),te(" "+d(k.value.label),1)]),_:1},8,["variant"])):s.value.kind==="result"&&s.value.result.status==="timed_out"?(l(),W(Bt,{key:1,variant:"warning",size:"sm"},{default:R(()=>[te(d(a(n)("tools.waitfor.timedOut")),1)]),_:1})):I("",!0)]),default:R(()=>[v.value?(l(),c("div",aM,[r("div",lM,d(v.value.main),1),(l(!0),c(ce,null,Pe(v.value.subs,(S,B)=>(l(),c("div",{key:B,class:"wf-sub"},d(S),1))),128))])):I("",!0),T.value?(l(),W(pa,{key:1,lines:e.tool.output},null,8,["lines"])):I("",!0)]),_:1},8,["status","icon","name","arg","time","open","expandable","stacked","stack-position"]))}}),uM=Le(rM,[["__scopeId","data-v-abcade80"]]);function cM(e){if(e.media&&e.status==="ok")return H8;const t=To(e.name);return t==="edit"||t==="write"||t==="multi_edit"?P8:t==="exitplanmode"?c5:t==="task"?Y_:t==="agentswarm"?Q5:t==="askuserquestion"?b8:t==="waitfor"?uM:R8}const qd=Ee({__name:"ToolCall",props:{tool:{},mobile:{type:Boolean,default:!1},stackPosition:{default:"single"},toolDiffPanel:{type:Boolean,default:!1}},emits:["openMedia","openFile","openToolDiff","openAgent","moveToBackground"],setup(e,{emit:t}){const n=e,s=t,o=M(()=>cM(n.tool));return(i,u)=>(l(),W(ec(o.value),{tool:e.tool,mobile:e.mobile,"stack-position":e.stackPosition,"tool-diff-panel":e.toolDiffPanel,"data-scroll-anchor-id":e.tool.id,onOpenMedia:u[0]||(u[0]=p=>s("openMedia",p)),onOpenFile:u[1]||(u[1]=p=>s("openFile",p)),onOpenToolDiff:u[2]||(u[2]=p=>s("openToolDiff",p)),onOpenAgent:u[3]||(u[3]=p=>s("openAgent",p)),onMoveToBackground:u[4]||(u[4]=p=>s("moveToBackground",p))},null,40,["tool","mobile","stack-position","tool-diff-panel","data-scroll-anchor-id"]))}});function cs(e){if(e>=1024*1024)return`${Su(e/(1024*1024))}M`;if(e>=1024){const t=e/1024;return`${t>=100?Math.round(t):Su(t)}k`}return String(e)}function Su(e){const t=e.toFixed(1);return t.endsWith(".0")?t.slice(0,-2):t}function fa(e){if(e.blocks)return e.blocks;const t=[];e.thinking&&t.push({kind:"thinking",thinking:e.thinking}),e.text&&t.push({kind:"text",text:e.text});for(const n of e.tools??[])t.push({kind:"tool",tool:n});return t}function dM(e){return!(e.tool.status==="ok"&&e.tool.media)}function pM(e,t){return t<=1?"single":e===0?"first":e===t-1?"last":"middle"}const Cu=new WeakMap;function fM(e){const t=Cu.get(e);if(t)return t;const n=mM(e);return Cu.set(e,n),n}function mM(e){const t=fa(e),n=[];let s=[];const o=()=>{if(s.length===1){const[i]=s;i&&n.push({kind:"tool",tool:i.tool,sourceIndex:i.sourceIndex})}else s.length>1&&n.push({kind:"tool-stack",tools:s});s=[]};return t.forEach((i,u)=>{if(i.kind==="tool"){if(dM(i)){s.push({tool:i.tool,sourceIndex:u});return}o(),n.push({kind:"tool",tool:i.tool,sourceIndex:u});return}o(),i.kind==="thinking"?n.push({kind:"thinking",thinking:i.thinking,sourceIndex:u}):i.kind==="text"?n.push({kind:"text",text:i.text,sourceIndex:u}):i.kind==="error"&&n.push({kind:"error",text:i.text,code:i.code,sourceIndex:u})}),o(),n}function vM(e){return fa(e).flatMap(t=>t.kind==="text"&&t.text?[t.text]:[]).join(`
-
-`)}function gM(e){const t=[];for(const n of fa(e))if(n.kind==="thinking"&&n.thinking)t.push(`> **Thinking**
-> ${n.thinking.split(`
-`).join(`
-> `)}`);else if(n.kind==="text"&&n.text)t.push(n.text);else if(n.kind==="error"&&n.text){const s=n.code!==void 0?`**Error** (${n.code})`:"**Error**";t.push(`> ${s}
-> ${n.text.split(`
-`).join(`
-> `)}`)}else if(n.kind==="tool"&&n.tool.output&&n.tool.output.length>0){const s=n.tool.output.join(`
-`);t.push(`\`\`\`
-[${n.tool.name}]
-${s}
-\`\`\``)}return t.join(`
-
-`)}function Hd(e){return e.tool.id||`tool-${e.sourceIndex}`}function hM(e,t){return e.kind==="tool-stack"?`tool-stack-${e.tools[0]?.sourceIndex??t}`:e.kind==="tool"?Hd({tool:e.tool,sourceIndex:e.sourceIndex}):`${e.kind}-${e.sourceIndex}`}const yM=["aria-expanded"],kM={class:"tg-title"},bM={class:"tg-meta"},wM=["inert"],SM={class:"tool-group-body-inner"},CM=Ee({__name:"ToolGroup",props:{tools:{},mobile:{type:Boolean,default:!1},toolDiffPanel:{type:Boolean,default:!1}},emits:["openMedia","openFile","openToolDiff","openAgent","moveToBackground"],setup(e,{emit:t}){const n=e,s=t,o=x(!0),i=M(()=>n.tools.length),u=M(()=>n.tools.some(m=>m.tool.status==="running")?"running":n.tools.some(m=>m.tool.status==="error")?"error":"done"),{t:p}=Ye(),f=M(()=>{switch(u.value){case"running":return p("tools.group.running");case"error":return p("tools.group.error");default:return p("tools.group.done")}});function v(){o.value=!o.value}const k=Fs("pinScroll",()=>{}),T=x(null);function h(){v();const m=T.value;m&&Ze(()=>k(m))}return(m,$)=>(l(),c("div",{class:pe(["tool-group",{open:o.value}])},[r("button",{class:"tool-group-head",ref_key:"headEl",ref:T,type:"button","aria-expanded":o.value,onClick:h},[w(Ho,{status:u.value},null,8,["status"]),w(X,{class:"tg-ic",name:"list",size:"sm"}),r("span",kM,d(a(p)("tools.group.title",i.value)),1),r("span",bM,"· "+d(f.value),1),w(X,{class:"tg-car",name:"chevron-right",size:"sm"})],8,yM),r("div",{class:pe(["tool-group-body",{open:o.value}]),inert:!o.value},[r("div",SM,[(l(!0),c(ce,null,Pe(e.tools,(g,y)=>(l(),W(qd,{key:a(Hd)(g),tool:g.tool,mobile:e.mobile,"stack-position":a(pM)(y,e.tools.length),"tool-diff-panel":e.toolDiffPanel,onOpenMedia:$[0]||($[0]=S=>s("openMedia",S)),onOpenFile:$[1]||($[1]=S=>s("openFile",S)),onOpenToolDiff:$[2]||($[2]=S=>s("openToolDiff",S)),onOpenAgent:$[3]||($[3]=S=>s("openAgent",S)),onMoveToBackground:$[4]||($[4]=S=>s("moveToBackground",S))},null,8,["tool","mobile","stack-position","tool-diff-panel"]))),128))])],10,wM)],2))}}),_M=Le(CM,[["__scopeId","data-v-5d4f37b4"]]),Bi=x(!1);let _u=!1;function za(){const e=document.documentElement.dataset.colorScheme;return e==="dark"?!0:e==="light"?!1:window.matchMedia("(prefers-color-scheme: dark)").matches}function Ud(){return!_u&&typeof window<"u"&&typeof document<"u"&&(_u=!0,Bi.value=za(),new MutationObserver(()=>{Bi.value=za()}).observe(document.documentElement,{attributes:!0,attributeFilter:["data-color-scheme"]}),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",()=>{Bi.value=za()})),Bi}const Vd=["cjs","css","csv","gif","htm","html","jpeg","jpg","js","json","jsx","log","md","mjs","pdf","png","scss","svg","ts","tsx","txt","vue","webp","xml","yaml","yml"],MM=new Set(["AGENTS.md","CHANGELOG.md","Dockerfile","LICENSE","Makefile","README.md","package.json","pnpm-lock.yaml","pnpm-workspace.yaml","tsconfig.json","vite.config.ts"]),hl=[...Vd].sort((e,t)=>t.length-e.length).join("|"),Fa=new RegExp([String.raw`(?:^|[\s([{"'`+"`"+String.raw`])`,String.raw`(`,String.raw`(?:~|\.{1,2}|/)?(?:[A-Za-z0-9_.@+()[\]-]+/)+[A-Za-z0-9_.@+()[\]-]+(?:\.(?:${hl}))?`,String.raw`|`,String.raw`[A-Za-z0-9_.@+()[\]-]+\.(?:${hl})`,String.raw`)`,String.raw`(?:#L?(\d+)|:(\d+))?`,String.raw`(?=$|[\s)"'\]}>.,;!?,。;!?)])`].join(""),"gi"),jd=/[),.;!?,。;!?)]+$/;function $M(e){const t=e.toLowerCase();return Vd.some(n=>t.endsWith(`.${n}`))}function TM(e){const t=new Map,n=new RegExp(String.raw`\b(?:path|src)=["'](\/[^"']+\.(?:${hl}))["']`,"gi");let s;for(;(s=n.exec(e))!==null;){const o=s[1];if(!o)continue;const i=o.split("/").pop();i&&t.set(i,o)}return t}function xM(e,t={}){const n=e.trim();if(!n||/^[a-z][a-z0-9+.-]*:\/\//i.test(n))return null;const s=n.match(/^(.*?)(?:#L?(\d+)|:(\d+))?$/i);if(!s)return null;let o=(s[1]??"").replace(jd,"");if(!o)return null;const i=o.split("/").pop()??o,u=o.includes("/"),p=MM.has(i),f=$M(i);if(u&&!p&&!f)return null;if(!u&&!p){const T=t.aliases?.get(i);if(!T)return null;o=T}const v=s[2]??s[3],k=v?Number(v):void 0;return{path:o,line:k!==void 0&&Number.isFinite(k)&&k>0?k:void 0}}function IM(e,t={}){const n=[];Fa.lastIndex=0;let s;for(;(s=Fa.exec(e))!==null;){const o=s[0]??"",i=s[1]??"",u=o.indexOf(i);if(u<0)continue;const p=s[2]??s[3];let f=i+(p?o.slice(u+i.length):"");const v=f.replace(jd,""),k=f.length-v.length;f=v;const T=xM(f,t);if(!T)continue;const h=s.index+u,m=h+f.length;n.push({...T,start:h,end:m,text:f}),k>0&&(Fa.lastIndex-=k)}return n}const AM=12e4,PM=6e4,EM=32,BM=3e4,Mu=/(^|\n)(`{3,}|~{3,})[^\n]*\n([\s\S]*?)(?:\n)?\2(?=\n|$)/g;function LM(e){let t=0,n=0,s=0;Mu.lastIndex=0;let o;for(;(o=Mu.exec(e))!==null;){const u=o[3]??"";t+=1,n+=u.length,s=Math.max(s,u.length)}return{codeRenderer:e.length>=AM||n>=PM||t>=EM||s>=BM?"pre":"shiki",codeFenceCount:t,codeChars:n}}const RM=/^---\r?\n([\s\S]*?)\r?\n---(?:\r?\n|$)/;function DM(e){const t=RM.exec(e);return t===null?{frontmatter:null,body:e}:{frontmatter:t[1]??"",body:e.slice(t[0].length)}}const $u=/@([^\s()\[\]{}"'`,;:!?,。;:!?]+)/g,OM=/[.,;:!?,。;:!?]+$/;function zM(e){const t=[];$u.lastIndex=0;let n;for(;(n=$u.exec(e))!==null;){const o=(n[1]??"").replace(OM,"");o!==""&&t.push({target:o,start:n.index,end:n.index+n[0].length})}return t}function Kd(e){return e.endsWith("/")}function Gd(e){return Kd(e)?"folder":e.includes("/")||e.includes(".")?"file":"skill"}function FM(e){if(Kd(e)){const n=e.slice(0,-1).split("/").pop()??"";return n?`${n}/`:e}return(e.split("/").pop()??"")||e}function NM(e,t){if(t<=0||e.length<=t)return e;if(t<=1)return"…";const n=Math.ceil((t-1)*.6),s=t-1-n;return`${e.slice(0,n)}…${e.slice(e.length-s)}`}function WM(e,t){const n=t?.kind??Gd(e);return{target:e,kind:n,label:FM(e),full:e,description:t?.description??"",deleted:t?.deleted??!1}}const qM=new Set(["ts","tsx","js","jsx","mjs","cjs","vue","json","py","go","rs","java","kt","c","h","cpp","cc","hpp","cs","rb","php","swift","sh","bash","zsh","css","scss","less","html","htm","xml","sql","yaml","yml","toml","lua","dart","scala","clj","ex","exs"]),HM=new Set(["md","markdown","mdx","txt","rst","adoc","pdf","doc","docx"]),UM=new Set(["png","jpg","jpeg","gif","svg","webp","bmp","ico","avif"]);function Qd(e,t){const n=t??Gd(e);if(n==="folder")return"folder";if(n==="skill")return"sparkles";const s=e.split("/").pop()??e,o=s.lastIndexOf("."),i=o>0?s.slice(o+1).toLowerCase():"";return qM.has(i)?"code":HM.has(i)?"file-text":UM.has(i)?"image":"file"}const VM={class:"md-mention-pill-label"},jM={class:"md-mention-bubble-title"},KM={key:0,class:"md-mention-bubble-desc"},GM={key:1,class:"md-mention-bubble-path"},Na=6,Li=8,QM=120,YM=Ee({__name:"MentionPill",props:{view:{},maxLabel:{default:26}},emits:["open"],setup(e,{emit:t}){const n=e,s=t,{t:o}=Ye(),i=x(null),u=x(null),p=x(!1),f=x({});let v=null;const k=M(()=>Qd(n.view.target,n.view.kind)),T=M(()=>NM(n.view.label,n.maxLabel));function h(){const y=i.value,S=u.value;if(!y||!S)return;const B=y.getBoundingClientRect(),b=S.offsetWidth,P=S.offsetHeight,E=window.innerWidth,L=window.innerHeight,Q=B.bottom+Na+P<=L-Li?B.bottom+Na:Math.max(Li,B.top-Na-P);let V=B.left+B.width/2-b/2;V=Math.min(Math.max(V,Li),E-Li-b),f.value={top:`${Math.round(Q)}px`,left:`${Math.round(V)}px`}}function m(){v!==null&&(clearTimeout(v),v=null),p.value=!1,window.removeEventListener("scroll",m,{capture:!0}),window.removeEventListener("resize",m)}function $(){v!==null&&clearTimeout(v),v=setTimeout(()=>{v=null,p.value=!0,window.addEventListener("scroll",m,{capture:!0,passive:!0}),window.addEventListener("resize",m,{passive:!0}),Ze(h)},QM)}function g(){m(),s("open")}return Tn(m),(y,S)=>(l(),c("span",{ref_key:"rootRef",ref:i,class:"md-mention-pill-host"},[r("button",{type:"button",class:pe(["md-mention-pill",[`md-mention-pill--${e.view.kind}`,{"md-mention-pill--deleted":e.view.deleted}]]),onMouseenter:$,onMouseleave:m,onFocusin:$,onFocusout:m,onClick:S[0]||(S[0]=B=>s("open"))},[w(X,{name:k.value,size:"sm"},null,8,["name"]),r("span",VM,d(T.value),1)],34),(l(),W(ns,{to:"body"},[bt(r("div",{ref_key:"bubbleRef",ref:u,class:"md-mention-bubble",style:gt(f.value),role:"tooltip",onMouseenter:$,onMouseleave:m},[e.view.kind==="skill"?(l(),c(ce,{key:0},[r("div",jM,"@"+d(e.view.target),1),e.view.description?(l(),c("div",KM,d(e.view.description),1)):I("",!0),r("button",{type:"button",class:"md-mention-bubble-open",onClick:g},d(a(o)("mention.open")),1)],64)):(l(),c("div",GM,d(e.view.full),1))],36),[[Un,p.value]])]))],512))}}),ZM=Le(YM,[["__scopeId","data-v-80a4a52f"]]),XM={key:0,class:"md-frontmatter"},JM={key:1,class:"diff-wrap"},e$={class:"diff-bar"},t$=["aria-label","onClick"],n$={class:"diff-pre"},s$={key:0,class:"diff-sign"},o$={class:"diff-text"},i$="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",Tu="github-light",xu="github-dark",a$=Ee({__name:"Markdown",props:{text:{},openFile:{},streaming:{type:Boolean,default:!1},mentions:{default:()=>({})},onMentionOpen:{type:Function,default:()=>{}}},setup(e){zp(),Fp(),Pp(),Dp(),Ep(new Bp),Lp(new Rp);function t(ae){return ae.inline.ruler.disable("math"),ae.set({typographer:!1}),ae}const{t:n}=Ye(),s=Fs("resolveImage"),o=x(null),i=e,u=M(()=>!i.streaming),p=M(()=>TM(i.text??"")),f=M(()=>i.streaming?{codeRenderer:"shiki",codeFenceCount:0,codeChars:0}:LM(v.value.body)),v=M(()=>DM(i.text??"")),k=M(()=>v.value.frontmatter?.trim()??""),T=Ud(),h=M(()=>!i.streaming),m=jn(new Map),$=new Set,g=/(!\[[^\]]*\]\()\s*([^)\s]+)([^)]*\))/g,y=/( ]*?\bsrc=")([^"]+)(")/gi;function S(ae){return!/^(https?:|data:|blob:)/i.test(ae)}function B(ae){if(!s)return;const se=[];for(const ge of[g,y]){ge.lastIndex=0;let re;for(;(re=ge.exec(ae))!==null;)se.push(re[2]??"")}for(const ge of se)!ge||!S(ge)||m.has(ge)||$.has(ge)||($.add(ge),s(ge).then(re=>{m.set(ge,re!==ge?re:"")}).catch(()=>{m.set(ge,"")}).finally(()=>{$.delete(ge)}))}function b(ae){if(!s)return ae;const se=ge=>{if(!S(ge))return null;const re=m.get(ge);return re===void 0?i$:re===""?null:re};return ae.replace(g,(ge,re,F,Z)=>{const ke=se(F);return ke===null?ge:`${re}${ke}${Z}`}).replace(y,(ge,re,F,Z)=>{const ke=se(F);return ke===null?ge:`${re}${ke}${Z}`})}Ne(()=>v.value.body,ae=>B(ae),{immediate:!0});function P(){if(!o.value||!i.openFile||i.streaming)return;const ae=document.createTreeWalker(o.value,NodeFilter.SHOW_TEXT),se=[];let ge=ae.nextNode();for(;ge;){const re=ge,F=re.parentElement;F&&!F.closest("a, pre, .md-file-link, svg")&&re.data.trim().length>0&&se.push(re),ge=ae.nextNode()}for(const re of se){const F=IM(re.data,{aliases:p.value});if(F.length===0||!re.parentNode)continue;const Z=document.createDocumentFragment();let ke=0;for(const we of F){we.start>ke&&Z.append(document.createTextNode(re.data.slice(ke,we.start)));const Oe=document.createElement("button");Oe.type="button",Oe.className="md-file-link",Oe.textContent=we.text,Oe.title=we.line?`${we.path}:${we.line}`:we.path,Oe.addEventListener("click",Ve=>{Ve.preventDefault(),Ve.stopPropagation(),i.openFile?.({path:we.path,line:we.line})}),Z.append(Oe),ke=we.end}ke=0;ae--){const se=L[ae];se.el.isConnected||(se.app.unmount(),L.splice(ae,1))}}function Q(){if(!o.value||i.streaming)return;N();const ae=document.createTreeWalker(o.value,NodeFilter.SHOW_TEXT),se=[];let ge=ae.nextNode();for(;ge;){const re=ge;!E(re)&&re.data.includes("@")&&se.push(re),ge=ae.nextNode()}for(const re of se){const F=zM(re.data);if(F.length===0||!re.parentNode)continue;const Z=document.createDocumentFragment();let ke=0;for(const we of F){we.start>ke&&Z.append(document.createTextNode(re.data.slice(ke,we.start)));const Oe=WM(we.target,i.mentions[we.target]),Ve=document.createElement("span");Ve.className="md-mention-pill-host";const be=_l(ZM,{view:Oe,onOpen:()=>{Oe.kind==="skill"?i.onMentionOpen?.(we.target):i.openFile?.({path:we.target})}});be.use(wt);const ze=be.mount(Ve);ze.$el instanceof HTMLElement&&L.push({app:be,el:ze.$el}),Z.append(Ve),ke=we.end}ke{re.preventDefault(),re.stopPropagation(),i.openFile?.({path:_(ge)})}))}}function D(){Ze().then(()=>{P(),Q(),z()})}Ne(()=>i.text,D),Ne(()=>i.streaming,D);let ee=null;xt(()=>{D(),o.value&&(ee=new MutationObserver(D),ee.observe(o.value,{childList:!0,subtree:!0}))}),St(()=>{ee?.disconnect()});const me={showHeader:!0,showCopyButton:!0,showExpandButton:!1,showPreviewButton:!1,showCollapseButton:!1,showFontSizeButtons:!1,loading:!1,monacoOptions:{lineNumbers:!1,fontSize:13,fontFamily:"var(--font-mono)",padding:{top:12,bottom:12}}},ve=/(^|\n)(?:```|~~~)diff\b[^\n]*\n([\s\S]*?)(?:\n)?(?:```|~~~)(?=\n|$)/g,Be=M(()=>{const ae=b(v.value.body),se=[];let ge=0;ve.lastIndex=0;let re;for(;(re=ve.exec(ae))!==null;){const Z=re[1]??"",ke=ae.slice(ge,re.index)+(Z||"");ke.trim()&&se.push({kind:"md",text:ke}),se.push({kind:"diff",code:re[2]??""}),ge=ve.lastIndex}const F=ae.slice(ge);return(F.trim()||se.length===0)&&se.push({kind:"md",text:F}),se});function ie(ae){return ae.split(`
-`).map(se=>se.startsWith("@@")?{type:"hunk",sign:"",text:se}:/^\+(?!\+\+)/.test(se)?{type:"add",sign:"+",text:se.slice(1)}:/^-(?!--)/.test(se)?{type:"del",sign:"-",text:se.slice(1)}:se.startsWith(" ")?{type:"ctx",sign:"",text:se.slice(1)}:{type:"ctx",sign:"",text:se})}const le=x(null);function ne(ae,se){ln(ae).then(ge=>{ge&&(le.value=se,setTimeout(()=>{le.value=null},1400))})}return(ae,se)=>(l(),c("div",{ref_key:"mdRef",ref:o,class:"md"},[k.value?(l(),c("div",XM,[r("pre",null,d(k.value),1)])):I("",!0),(l(!0),c(ce,null,Pe(Be.value,(ge,re)=>(l(),c(ce,{key:re},[ge.kind==="md"?(l(),W(a(Op),{key:0,content:ge.text,"custom-markdown-it":t,mode:"chat","code-renderer":f.value.codeRenderer,"is-dark":a(T),"code-block-light-theme":Tu,"code-block-dark-theme":xu,themes:[Tu,xu],"code-block-props":me,final:u.value,"smooth-streaming":e.streaming,"batch-rendering":h.value,"defer-nodes-until-visible":!1,onCopy:a(sf)},null,8,["content","code-renderer","is-dark","themes","final","smooth-streaming","batch-rendering","onCopy"])):(l(),c("div",JM,[r("div",e$,[se[0]||(se[0]=r("span",{class:"diff-lang"},"diff",-1)),w(ht,{text:a(n)("filePreview.copyCode")},{default:R(()=>[r("button",{class:"diff-copy","aria-label":a(n)("filePreview.copyCode"),onClick:F=>ne(ge.code,re)},[w(X,{name:le.value===re?"check":"copy",size:"sm"},null,8,["name"])],8,t$)]),_:2},1032,["text"])]),r("pre",n$,[r("code",null,[(l(!0),c(ce,null,Pe(ie(ge.code),(F,Z)=>(l(),c("span",{key:Z,class:pe(["diff-line",`diff-${F.type}`])},[F.type!=="hunk"?(l(),c("span",s$,d(F.sign),1)):I("",!0),r("span",o$,d(F.text),1)],2))),128))])])]))],64))),128))],512))}}),bi=Le(a$,[["__scopeId","data-v-cd907b91"]]),l$=Object.freeze(Object.defineProperty({__proto__:null,default:bi},Symbol.toStringTag,{value:"Module"})),r$={class:"tc-anim"},u$={class:"prev-anim"},c$={class:"prev"},d$=Ee({__name:"ThinkingBlock",props:{text:{},mobile:{type:Boolean,default:!1},streaming:{type:Boolean,default:!1},foldable:{type:Boolean,default:!0}},emits:["open"],setup(e,{emit:t}){const n=e,s=t,o=M(()=>n.text.split(/\n{2,}/).filter(v=>v.trim().length>0)),i=M(()=>n.foldable&&o.value.length>1),u=M(()=>n.streaming||!i.value),p=M(()=>o.value.at(-1)??""),f=x(null);return xt(()=>{if(!n.streaming)return;const v=f.value;v&&(v.scrollTop=v.scrollHeight)}),Ne(()=>n.text,()=>{const v=f.value;!v||!(v.scrollHeight-v.scrollTop-v.clientHeight<24)||Ze(()=>{f.value&&(f.value.scrollTop=f.value.scrollHeight)})},{immediate:!0}),(v,k)=>(l(),c("div",{class:pe(["think",{mob:e.mobile}])},[i.value?(l(),c("div",{key:0,class:pe(["tc-wrap",{"is-collapsed":!u.value}]),onClick:k[0]||(k[0]=T=>s("open"))},[r("div",r$,[r("pre",{ref_key:"bodyEl",ref:f,class:"tc"},d(e.text),513)]),r("div",u$,[r("span",c$,d(p.value),1)])],2)):(l(),c("pre",{key:1,ref_key:"bodyEl",ref:f,class:"tc"},d(e.text),513))],2))}}),p$=Le(d$,[["__scopeId","data-v-0b3b873f"]]),f$={class:"activity-notice",role:"status"},m$={"aria-hidden":"true"},v$={class:"an-label"},g$=Ee({__name:"ActivityNotice",props:{label:{}},setup(e){return(t,n)=>(l(),c("div",f$,[r("span",m$,[w(Qt,{size:"sm"})]),r("span",v$,d(e.label),1)]))}}),h$=Le(g$,[["__scopeId","data-v-0d497074"]]);function y$(e,t="昨天"){try{const n=new Date(e);if(Number.isNaN(n.getTime()))return e;const s=new Date,o=k=>String(k).padStart(2,"0"),i=`${o(n.getHours())}:${o(n.getMinutes())}`,u=n.getFullYear()===s.getFullYear(),p=n.getMonth()===s.getMonth(),f=n.getDate()===s.getDate();if(u&&p&&f)return i;const v=new Date(s);return v.setDate(s.getDate()-1),n.getFullYear()===v.getFullYear()&&n.getMonth()===v.getMonth()&&n.getDate()===v.getDate()?`${t} ${i}`:u?`${o(n.getMonth()+1)}-${o(n.getDate())} ${i}`:`${n.getFullYear()}-${o(n.getMonth()+1)}-${o(n.getDate())} ${i}`}catch{return e}}const k$=Ee({__name:"MessageTime",props:{time:{}},setup(e){const t=e,{t:n}=Ye(),s=x(!1),o=M(()=>{const p=new Date(t.time);if(Number.isNaN(p.getTime()))return t.time;const f=v=>String(v).padStart(2,"0");return`${p.getFullYear()}-${f(p.getMonth()+1)}-${f(p.getDate())} ${f(p.getHours())}:${f(p.getMinutes())}`}),i=M(()=>s.value?o.value:y$(t.time,n("conversation.yesterday")));function u(){s.value=!s.value}return(p,f)=>(l(),c("button",{type:"button",class:"msg-time",onClick:De(u,["stop"])},d(i.value),1))}}),Ni=Le(k$,[["__scopeId","data-v-9672fbd5"]]);function b$(e){return e.length===1?`0${e}`:e}function w$(e,t){return`${String(Number(e))}:${b$(t)}`}const Iu=e=>/^\d+$/.test(e);function S$(e,t){const n=e.trim().split(/\s+/);if(n.length!==5)return e;const[s,o,i,u,p]=n,f=i==="*"&&u==="*"&&p==="*",v=i==="*"&&u==="*";if(s==="*"&&o==="*"&&f)return t("conversation.cron.everyMinute");const k=/^\*\/(\d+)$/.exec(s);if(k&&o==="*"&&f)return k[1]==="1"?t("conversation.cron.everyMinute"):t("conversation.cron.everyNMinutes",{n:k[1]});if(s==="0"&&o==="*"&&f)return t("conversation.cron.everyHour");const T=/^\*\/(\d+)$/.exec(o);if(s==="0"&&T&&f)return t("conversation.cron.everyNHours",{n:T[1]});if(Iu(s)&&Iu(o)&&v){const h=w$(o,s);if(p==="1-5")return t("conversation.cron.weekdaysAt",{time:h});if(p==="*")return t("conversation.cron.dailyAt",{time:h})}return e}const C$=["data-turn-id"],_$={class:"cn-bubble"},M$={class:"cn-title"},$$={key:0,class:"cn-prompt"},T$={class:"cn-meta"},x$={key:0,class:"cn-meta-item"},I$={key:1,class:"cn-meta-item"},A$=["aria-label"],P$=["title"],E$=Ee({__name:"CronNotice",props:{text:{},cron:{},turnId:{},createdAt:{}},setup(e){const t=e,{t:n}=Ye(),s=M(()=>t.cron),o=M(()=>s.value?.missedCount!==void 0),i=M(()=>o.value?n("conversation.cron.missed"):n("conversation.cron.fired")),u=M(()=>{const k=s.value?.cron;return k?S$(k,n):""}),p=M(()=>o.value?"error":"ok"),f=M(()=>{const k=s.value;if(!k)return"";const T=[];return k.recurring===!1&&T.push(n("conversation.cron.oneShot")),typeof k.coalescedCount=="number"&&k.coalescedCount>1&&T.push(n("conversation.cron.coalesced",{n:k.coalescedCount})),k.missedCount!==void 0&&T.push(n("conversation.cron.missedCount",{n:k.missedCount})),k.stale===!0&&T.push(n("conversation.cron.finalDelivery")),T.join(" · ")}),v=M(()=>t.text??"");return(k,T)=>(l(),c("div",{class:pe(["cn cron-notice",{"turn-anchor":!!e.turnId}]),"data-turn-id":e.turnId,role:"status"},[r("div",_$,[r("span",M$,d(i.value),1),v.value?(l(),c("span",$$,d(v.value),1)):I("",!0)]),r("div",T$,[w(X,{name:"clock",size:"sm",class:"cn-meta-ico","aria-hidden":"true"}),u.value?(l(),c("span",x$,d(u.value),1)):I("",!0),f.value?(l(),c("span",I$,d(f.value),1)):I("",!0),r("span",{class:pe(["cn-status",p.value]),"aria-label":p.value},[p.value==="ok"?(l(),W(X,{key:0,name:"check",size:"sm"})):(l(),W(X,{key:1,name:"close",size:"sm"}))],10,A$),s.value?.jobId?(l(),c("span",{key:2,class:"cn-meta-item cn-id",title:a(n)("conversation.cron.job",{id:s.value.jobId})},d(s.value.jobId),9,P$)):I("",!0),e.createdAt?(l(),W(Ni,{key:3,time:e.createdAt},null,8,["time"])):I("",!0)])],10,C$))}}),B$=Le(E$,[["__scopeId","data-v-a62a6587"]]),L$=["src","controls","muted"],R$=["src","alt"],Yd=Ee({__name:"AuthMedia",props:{url:{},kind:{},alt:{},fileId:{},mediaClass:{default:"u-img"},controls:{type:Boolean,default:!0},muted:{type:Boolean,default:!1}},setup(e){const t=e,n=x(t.fileId?"":t.url),s=x(null),o=x(!t.fileId);let i=null,u=0,p=!1,f=null;function v(){i!==null&&(URL.revokeObjectURL(i),i=null)}async function k(){const T=++u;if(v(),!t.fileId){n.value=t.url;return}if(o.value)try{const h=await Re().getFileBlob(t.fileId),m=URL.createObjectURL(h);if(p||T!==u){URL.revokeObjectURL(m);return}i=m,n.value=i}catch{if(p||T!==u)return;n.value=t.url}}return Ne(()=>[t.fileId,t.url,o.value],k,{immediate:!0}),xt(()=>{typeof IntersectionObserver=="function"&&s.value?(f=new IntersectionObserver(T=>{T[0]?.isIntersecting&&(o.value=!0,f?.disconnect(),f=null)},{rootMargin:"200px"}),f.observe(s.value)):o.value=!0}),Tn(()=>{p=!0,f?.disconnect(),f=null,v()}),(T,h)=>e.kind==="video"?(l(),c("video",{key:0,ref_key:"mediaEl",ref:s,class:pe(e.mediaClass),src:n.value||void 0,controls:e.controls,muted:e.muted,playsinline:"",preload:"metadata"},null,10,L$)):(l(),c("img",{key:1,ref_key:"mediaEl",ref:s,class:pe(e.mediaClass),src:n.value||void 0,alt:e.alt||"",loading:"lazy"},null,10,R$))}}),D$=["title","data-kind"],O$=["aria-label"],z$={class:"att-tile"},F$={class:"att-name"},N$={key:1,class:"att-err"},W$=["aria-label"],q$=Ee({__name:"AttachmentChip",props:{kind:{},name:{},url:{},fileId:{},mediaType:{},size:{},uploading:{type:Boolean,default:!1},error:{type:Boolean,default:!1},removable:{type:Boolean,default:!1},removeLabel:{}},emits:["activate","remove"],setup(e,{emit:t}){const n=e,s=t,{t:o}=Ye(),i=M(()=>{const T=n.name?.match(/\.([A-Za-z0-9]{1,8})$/)?.[1]??n.mediaType?.split("/")[1]?.split("+")[0];return T?T.toUpperCase():void 0}),u=M(()=>{const k=i.value??"";return/^(txt|md|doc|docx|rtf|log)$/i.test(k)?"file-text":"file"}),p=M(()=>n.name?n.name:n.kind==="image"?o("composer.attachmentImage"):n.kind==="video"?o("composer.attachmentVideo"):o("composer.attachmentFile"));function f(k){return k<1024?`${k} B`:k<1024*1024?`${Math.round(k/1024)} KB`:`${(k/(1024*1024)).toFixed(1)} MB`}const v=M(()=>{const k=[p.value];return n.size!==void 0&&k.push(f(n.size)),k.join(" · ")});return(k,T)=>(l(),c("span",{class:pe(["att-chip",{"is-error":e.error,uploading:e.uploading}]),title:v.value,"data-kind":e.kind},[r("button",{type:"button",class:"att-activate","aria-label":v.value,onClick:T[0]||(T[0]=h=>s("activate"))},[r("span",z$,[e.kind==="image"&&e.url?(l(),W(Yd,{key:0,url:e.url,kind:"image",alt:e.name,"file-id":e.fileId,"media-class":"att-thumb"},null,8,["url","alt","file-id"])):e.kind==="video"?(l(),W(X,{key:1,name:"play",size:"sm"})):e.kind==="image"?(l(),W(X,{key:2,name:"image",size:"sm"})):(l(),W(X,{key:3,name:u.value,size:"sm"},null,8,["name"]))]),r("span",F$,d(p.value),1),e.uploading?(l(),W(Qt,{key:0,size:"sm",label:a(o)("composer.uploading")},null,8,["label"])):e.error?(l(),c("span",N$,[w(X,{name:"info",size:"sm"})])):I("",!0)],8,O$),e.removable?(l(),W(ht,{key:0,text:e.removeLabel??a(o)("composer.remove")},{default:R(()=>[r("button",{type:"button",class:"att-rm","aria-label":e.removeLabel??a(o)("composer.remove"),onClick:T[1]||(T[1]=h=>s("remove"))},[w(X,{name:"close",size:"sm"})],8,W$)]),_:1},8,["text"])):I("",!0)],10,D$))}}),Zd=Le(q$,[["__scopeId","data-v-12ec975b"]]),H$=["aria-label"],U$=120,V$=60,j$=Ee({__name:"MoonSpinner",props:{size:{default:"md"},fast:{type:Boolean},label:{default:"Waiting for response…"}},setup(e){const t=["🌑","🌒","🌓","🌔","🌕","🌖","🌗","🌘"];function n(s){return{"--moon-frame-delay":`${s*U$}ms`,"--moon-frame-fast-delay":`${s*V$}ms`}}return(s,o)=>(l(),c("span",{class:pe(["ui-moon",[`ui-moon--${e.size}`,{"ui-moon--fast":e.fast}]]),"aria-label":e.label,role:"img"},[(l(),c(ce,null,Pe(t,(i,u)=>r("span",{key:i,class:"ui-moon__frame",style:gt(n(u)),"aria-hidden":"true"},d(i),5)),64))],10,H$))}}),Xd=Le(j$,[["__scopeId","data-v-a6b7ec07"]]),K$={class:"ui-banner__icon","aria-hidden":"true"},G$={class:"ui-banner__text"},Q$=Ee({__name:"Banner",props:{variant:{default:"info"}},setup(e){return(t,n)=>(l(),c("div",{class:pe(["ui-banner",`ui-banner--${e.variant}`]),role:"status"},[r("span",K$,[Pt(t.$slots,"icon",{},()=>[e.variant==="info"?(l(),W(X,{key:0,name:"info",size:"md"})):(l(),W(X,{key:1,name:"alert-triangle",size:"md"}))],!0)]),r("span",G$,[Pt(t.$slots,"default",{},void 0,!0)])],2))}}),Jd=Le(Q$,[["__scopeId","data-v-b0afda1c"]]),Y$=["type","disabled"],Z$={class:"ui-button__content"},X$=Ee({__name:"Button",props:{variant:{default:"primary"},size:{default:"md"},disabled:{type:Boolean},loading:{type:Boolean},type:{default:"button"}},setup(e){return(t,n)=>(l(),c("button",{class:pe(["ui-button",[`ui-button--${e.variant}`,`ui-button--${e.size}`,{"is-loading":e.loading}]]),type:e.type,disabled:e.disabled||e.loading},[e.loading?(l(),W(Qt,{key:0,size:"sm",class:"ui-button__spinner"})):I("",!0),r("span",Z$,[Pt(t.$slots,"default",{},void 0,!0)])],10,Y$))}}),je=Le(X$,[["__scopeId","data-v-556ea0b6"]]),Wa="chat-search-hit",J$="chat-search-hit--active",Au={childList:!0,subtree:!0,characterData:!0};function eT(e){const{root:t,query:n,activeIndex:s}=e;let o=null,i=0;function u(v){const k=v.querySelectorAll(`.${Wa}`);for(const T of k)T.replaceWith(...Array.from(T.childNodes))}function p(){i=0;const v=t.value,k=n.value.trim();if(v){if(o?.disconnect(),u(v),k.length>0){const T=k.toLowerCase(),h=s.value,m=document.createTreeWalker(v,NodeFilter.SHOW_TEXT),$=[];let g=m.nextNode();for(;g;)$.push(g),g=m.nextNode();let y=0;for(const S of $){const B=S.data.toLowerCase();let b=B.indexOf(T);if(b===-1)continue;const P=S.parentNode;if(!P)continue;const E=document.createDocumentFragment();let L=0;for(;b!==-1;){b>L&&E.append(document.createTextNode(S.data.slice(L,b)));const N=document.createElement("span");N.className=y===h?`${Wa} ${J$}`:Wa,N.textContent=S.data.slice(b,b+k.length),E.append(N),y+=1,L=b+k.length,b=B.indexOf(T,L)}L{o?.disconnect(),o=null;const v=t.value;v&&(o=new MutationObserver(f),o.observe(v,Au),p())}),Ne([n,s],()=>{Ze(p)},{flush:"post"}),St(()=>{o?.disconnect(),o=null,i!==0&&cancelAnimationFrame(i)})}const tT=/^(application\/pdf|image\/(png|jpe?g|gif|webp|avif|bmp|x-icon|vnd\.microsoft\.icon)|video\/[\w.+-]+|audio\/[\w.+-]+)$/i,nT=/^(txt|md|markdown|log|json|ya?ml|csv|tsv|ts|mts|tsx|jsx|css|py|go|rs|java|c|h|cc|cpp|hpp|sh|zsh|sql|toml|ini|cfg|conf|vue)$/i,sT=/^(png|jpe?g|gif|webp|avif|bmp|ico)$/i,Pu="text/plain;charset=utf-8";function oT(e,t){const n=(t??"").toLowerCase();if(tT.test(n))return n;if(n.startsWith("text/"))return n==="text/html"?null:Pu;const s=e?.match(/\.([A-Za-z0-9]{1,8})$/)?.[1]?.toLowerCase();return s===void 0?null:nT.test(s)?Pu:sT.test(s)?`image/${s==="jpg"?"jpeg":s==="ico"?"x-icon":s}`:s==="pdf"?"application/pdf":null}async function ep(e,t,n){const s=oT(t,n);if(s===null)return"unsupported";const o=window.open("","_blank");o!==null&&(o.opener=null);const i=await Re().getFileBlob(e).catch(()=>null);if(i===null)return o?.close(),"failed";const u=URL.createObjectURL(new Blob([i],{type:s}));if(o!==null)o.location.href=u;else{const p=document.createElement("a");p.href=u,p.download=t??e,p.click()}return setTimeout(()=>{URL.revokeObjectURL(u)},6e4),"previewed"}const Wi="(pointer: coarse)",iT="(any-pointer: fine)",aT="(max-width: 980px)",lT="(max-width: 640px)";function tp(e){if(!(typeof window>"u"||typeof window.matchMedia!="function"))return window.matchMedia(e)}function ta(e,t=tp){return t(e)?.matches??!1}function ir(e,t,n=tp){const s=n(e);if(!s)return t(!1),()=>{};const o=()=>t(s.matches);return t(s.matches),s.addEventListener("change",o),()=>s.removeEventListener("change",o)}function Eu(e,t){const n=e.findIndex(s=>s.id===t);if(n===-1)return null;for(let s=n-1;s>=0;s--){const o=e[s];if(o.role!=="user")continue;if(o.skillActivation){const p=o.skillActivation.name.trim();return p?{text:o.text,attachments:o.attachments,skillActivation:{name:p,args:o.skillActivation.args}}:null}const i=o.text.trim(),u=o.attachments??[];return i.length===0&&u.length===0?null:{text:o.text,attachments:o.attachments}}return null}function rT(e){if(e.role!=="user")return null;if(e.skillActivation){const t=e.skillActivation.name.trim();return t?{text:e.text,attachments:e.attachments,skillActivation:{name:t,args:e.skillActivation.args}}:null}return{text:e.text,attachments:e.attachments}}const uT={key:0,class:"chat-loading"},cT={class:"chat-loading-text"},dT={key:1,class:"chat-empty"},pT={key:1,class:"top-sentinel-text"},fT={key:0,class:"u-turn"},mT=["data-turn-id"],vT={key:0,class:"u-atts"},gT={key:1,class:"skill-act"},hT={class:"skill-act-head"},yT={key:0,class:"skill-act-args"},kT={key:2,class:"u-text"},bT={key:0,class:"u-meta"},wT=["aria-label","onClick"],ST=["aria-label","onClick"],CT=["data-turn-id"],_T=["onClick"],MT={class:"cd-view"},$T={key:1,class:"cd-label"},TT=["data-turn-id"],xT={key:1,class:"msg"},IT={class:"turn-error-text"},AT={key:0,class:"a-msg-ft"},PT=["aria-label","onClick"],ET={key:4,class:"sending-placeholder"},BT={key:5,class:"q-stack"},LT={class:"q-head"},RT={class:"q-title"},DT={class:"q-hint"},OT=["onDragover","onDrop"],zT={class:"u-bub q-bub"},FT=["title","onDragstart"],NT=["title","onClick"],WT={key:0,class:"u-text q-text"},qT={key:1,class:"q-text q-text-placeholder"},HT={key:0,class:"q-imgs"},UT={key:0,class:"q-file"},VT={key:1,class:"q-tag q-tag-next"},jT={key:2,class:"q-tag q-tag-idx"},KT=["aria-label"],GT=["aria-label","title","onClick"],QT=["aria-label","title","onClick"],YT=["aria-label","onClick"],ZT={key:0,class:"open-unsupported",role:"status"},XT=2500,JT=Ee({__name:"ChatPane",props:{turns:{},approvals:{default:()=>[]},turnActive:{type:Boolean,default:!1},working:{type:Boolean,default:!1},retry:{default:null},fastMoon:{type:Boolean,default:!1},sessionLoading:{type:Boolean},compaction:{default:null},hasMoreMessages:{type:Boolean,default:!1},loadingMore:{type:Boolean,default:!1},loadingMoreError:{type:Boolean,default:!1},isFollowing:{type:Boolean,default:!1},toolDiffPanel:{type:Boolean,default:!1},queued:{default:()=>[]},searchQuery:{default:""},searchActiveIndex:{default:-1},mentions:{default:()=>({})}},emits:["openFile","openMedia","copyConversationCopied","openThinking","openCompaction","openAgent","openToolDiff","moveToBackground","editMessage","loadOlderMessages","unqueue","editQueued","reorderQueue","steerQueued","steerQueuedIndex","sendQueued","resumeTurn","openMentionSkill"],setup(e,{expose:t,emit:n}){const{t:s}=Ye(),{confirm:o}=xo();St(()=>{F!==null&&(clearTimeout(F),F=null),Be!==null&&(clearTimeout(Be),Be=null),D!==null&&(clearTimeout(D),D=null),Ve!==null&&(clearTimeout(Ve),Ve=null)});const i=e,u=x(null);let p=null;function f(){!u.value||typeof IntersectionObserver>"u"||(p?.disconnect(),p=new IntersectionObserver(oe=>{oe[0]?.isIntersecting&&i.hasMoreMessages&&!i.loadingMore&&!i.loadingMoreError&&!i.sessionLoading&&!i.isFollowing&&m("loadOlderMessages")},{root:null,rootMargin:"200px 0px 0px 0px",threshold:0}),p.observe(u.value))}xt(f),St(()=>{p?.disconnect(),p=null}),Ne(()=>[i.hasMoreMessages,i.loadingMore,i.loadingMoreError],()=>{Ze().then(f)});const v=M(()=>{if(!i.turnActive||i.turns.length===0)return null;const oe=i.turns.at(-1);return oe.role==="assistant"?oe.id:null}),k=M(()=>i.working),T=M(()=>ta(Wi)?s("composer.queueSteerTouch"):s("composer.queueSteer"));function h(oe){const J=Eu(i.turns,oe.id);J&&m("resumeTurn",J)}const m=n,$=x(null);eT({root:$,query:M(()=>i.searchQuery??""),activeIndex:M(()=>i.searchActiveIndex??-1)});const g=x(null),y=x(null);function S(oe){return(oe.attachments?.length??0)>0}function B(oe){m("editQueued",oe)}function b(oe,J){if(g.value=oe,!J.dataTransfer)return;J.dataTransfer.effectAllowed="move",J.dataTransfer.setData("text/plain",String(oe));const U=J.currentTarget?.closest(".q-turn");U&&J.dataTransfer.setDragImage(U,24,24)}function P(oe,J){if(g.value===null)return;J.preventDefault(),J.dataTransfer&&(J.dataTransfer.dropEffect="move");const U=J.currentTarget.getBoundingClientRect(),Y=J.clientY{for(let oe=i.turns.length-1;oe>=0;oe--)if(i.turns[oe].role==="user")return i.turns[oe].id;return null});function Q(oe){return oe.role==="user"&&oe.id===N.value&&!i.working&&!oe.pluginCommand}function V(oe){const J=oe.compaction,U=J?.trigger==="auto"?s("conversation.compactedAuto"):s("conversation.compactedPlain");return typeof J?.tokensBefore=="number"&&typeof J?.tokensAfter=="number"?U+s("conversation.compactedTokens",{before:cs(J.tokensBefore),after:cs(J.tokensAfter)}):U}const _=x(null),z=x(null);let D=null;async function ee(oe){await o({title:s("conversation.undo"),message:s("conversation.undoConfirm"),variant:"primary"})&&me(oe)}function me(oe){if(z.value!==null)return;const J=rT(oe);J!==null&&(z.value=oe.id,m("editMessage",J),D=setTimeout(()=>{D=null,z.value=null},XT))}Ne(()=>i.turns,oe=>{z.value!==null&&(oe.some(J=>J.id===z.value)||(z.value=null,D!==null&&(clearTimeout(D),D=null)))},{flush:"post"});const ve=x(!1);let Be=null;function ie(){if(i.turns.length===0)return;const oe=[];for(const U of i.turns){if(U.role==="compaction"||U.role==="cron")continue;const Y=U.role==="user"?"User":"Assistant",ye=gM(U);ye.trim()&&oe.push(`**${Y}**
-
-${ye}`)}const J=oe.join(`
-
----
-
-`);ln(J).then(U=>{U&&(ve.value=!0,m("copyConversationCopied"),Be!==null&&clearTimeout(Be),Be=setTimeout(()=>{Be=null,ve.value=!1},2e3))}).catch(()=>{})}function le(oe){const J=[];for(let U=oe;U>=0;U--){const Y=i.turns[U];if(!Y||Y.role!=="assistant")break;J.unshift(Y)}return J}function ne(oe){return le(oe).map(J=>vM(J)).filter(Boolean).join(`
-
-`)}const ae=M(()=>{const oe=new Map;for(let J=i.turns.length-1;J>=0;J-=1){const U=i.turns[J];U&&U.role==="assistant"&&re(J)&&oe.set(U.id,ne(J))}return oe});function se(){for(let oe=i.turns.length-1;oe>=0;oe-=1)if(i.turns[oe]?.role==="assistant")return ne(oe);return""}function ge(){const oe=se();oe.trim()&&ln(oe).then(J=>{J&&(ve.value=!0,m("copyConversationCopied"),Be!==null&&clearTimeout(Be),Be=setTimeout(()=>{Be=null,ve.value=!1},2e3))}).catch(()=>{})}t({copyConversation:ie,copyFinalSummary:ge});function re(oe){const J=i.turns[oe];if(!J||J.role!=="assistant")return!1;const U=i.turns[oe+1];return!U||U.role!=="assistant"}let F=null;function Z(oe){const J=i.turns[oe];if(!J)return;const U=ne(oe);U.trim()&&ln(U).then(Y=>{Y&&(_.value=J.id,F!==null&&clearTimeout(F),F=setTimeout(()=>{F=null,_.value=null},1400))}).catch(()=>{})}function ke(oe){const J=oe.text;J.trim()&&ln(J).then(U=>{U&&(_.value=oe.id,F!==null&&clearTimeout(F),F=setTimeout(()=>{F=null,_.value=null},1400))}).catch(()=>{})}function we(oe){return{kind:oe.kind==="video"?"video":"image",url:oe.url,path:oe.name,fileId:oe.fileId}}const Oe=x(null);let Ve=null;function be(oe){if(oe.kind==="image"||oe.kind==="video"){m("openMedia",we(oe));return}oe.fileId!==void 0&&ep(oe.fileId,oe.name,oe.mediaType).then(J=>{J==="unsupported"&&(Oe.value=oe.name??oe.fileId??"",Ve!==null&&clearTimeout(Ve),Ve=setTimeout(()=>{Ve=null,Oe.value=null},2400))})}function ze(oe,J){return oe.id!==v.value?!1:J.sourceIndex===fa(oe).length-1}return(oe,J)=>(l(),c(ce,null,[r("div",{ref_key:"chatRootRef",ref:$,class:"chat"},[e.sessionLoading?(l(),c("div",uT,[w(Qt,{size:"sm"}),r("span",cT,d(a(s)("conversation.loading")),1)])):e.turns.length===0&&(!e.approvals||e.approvals.length===0)?(l(),c("div",dT)):I("",!0),e.hasMoreMessages||e.loadingMore?(l(),c("div",{key:2,ref_key:"topSentinelRef",ref:u,class:pe(["top-sentinel",{"top-sentinel-loading":e.loadingMore}])},[e.loadingMore?(l(),c("span",pT,[w(Qt,{size:"sm"}),te(" "+d(a(s)("conversation.loadingOlder")),1)])):(l(),c("button",{key:0,type:"button",class:"top-sentinel-btn",onClick:J[0]||(J[0]=U=>m("loadOlderMessages"))},d(a(s)("conversation.loadOlder")),1))],2)):I("",!0),(l(!0),c(ce,null,Pe(e.turns,(U,Y)=>(l(),c(ce,{key:U.id},[U.role==="user"?(l(),c("div",fT,[r("div",{class:pe(["u-bub turn-anchor",{undoing:z.value===U.id}]),"data-turn-id":U.id},[U.attachments&&U.attachments.length>0?(l(),c("div",vT,[(l(!0),c(ce,null,Pe(U.attachments,(ye,st)=>(l(),W(Zd,{key:st,kind:ye.kind,name:ye.name,url:ye.url,"file-id":ye.fileId,"media-type":ye.mediaType,size:ye.size,onActivate:et=>be(ye)},null,8,["kind","name","url","file-id","media-type","size","onActivate"]))),128))])):I("",!0),U.pluginCommand?(l(),c("div",gT,[r("div",hT,[J[12]||(J[12]=r("span",{class:"skill-act-arrow"},"▶",-1)),r("span",null,"/"+d(U.pluginCommand.pluginId)+":"+d(U.pluginCommand.commandName),1)]),U.pluginCommand.args?(l(),c("div",yT,d(U.pluginCommand.args),1)):I("",!0)])):(l(),c("div",kT,d(U.text),1))],10,mT),U.createdAt||Q(U)?(l(),c("div",bT,[Q(U)?(l(),c("div",{key:0,class:pe(["u-edit-wrap",{undoing:z.value===U.id}])},[r("button",{type:"button",class:"u-edit","aria-label":a(s)("conversation.undoTooltip"),onClick:ye=>ee(U)},[w(X,{name:"undo",size:"sm"})],8,wT)],2)):I("",!0),U.text.trim().length>0?(l(),c("button",{key:1,type:"button",class:"u-copy","aria-label":a(s)("filePreview.copy"),onClick:De(ye=>ke(U),["stop"])},[_.value!==U.id?(l(),W(X,{key:0,name:"copy",size:"sm"})):(l(),W(X,{key:1,name:"check",size:"sm"}))],8,ST)):I("",!0),U.createdAt?(l(),W(Ni,{key:2,time:U.createdAt},null,8,["time"])):I("",!0)])):I("",!0)])):U.role==="compaction"?(l(),c("div",{key:1,class:"compact-divider turn-anchor","data-turn-id":U.id,role:"separator"},[J[13]||(J[13]=r("span",{class:"cd-line","aria-hidden":"true"},null,-1)),U.text?(l(),c("button",{key:0,type:"button",class:"cd-label cd-btn",onClick:ye=>m("openCompaction",{turnId:U.id})},[r("span",null,d(V(U)),1),r("span",MT,d(a(s)("conversation.viewSummary")),1)],8,_T)):(l(),c("span",$T,d(V(U)),1)),J[14]||(J[14]=r("span",{class:"cd-line","aria-hidden":"true"},null,-1))],8,CT)):U.role==="cron"?(l(),W(B$,{key:2,text:U.text,cron:U.cron,"turn-id":U.id,"created-at":U.createdAt},null,8,["text","cron","turn-id","created-at"])):(l(),c("div",{key:3,class:"a-msg turn-anchor","data-turn-id":U.id},[(l(!0),c(ce,null,Pe(a(fM)(U),(ye,st)=>(l(),c(ce,{key:a(hM)(ye,st)},[ye.kind==="thinking"?(l(),W(p$,{key:0,text:ye.thinking,mobile:"",streaming:ze(U,ye),onOpen:et=>m("openThinking",{turnId:U.id,blockIndex:ye.sourceIndex})},null,8,["text","streaming","onOpen"])):ye.kind==="text"&&ye.text?(l(),c("div",xT,[w(bi,{text:ye.text,streaming:ze(U,ye),mentions:e.mentions,"open-file":et=>m("openFile",et),"on-mention-open":et=>m("openMentionSkill",et)},null,8,["text","streaming","mentions","open-file","on-mention-open"])])):ye.kind==="error"?(l(),W(Jd,{key:2,variant:"danger",class:"turn-error"},{default:R(()=>[r("span",IT,d(ye.text),1),a(Eu)(e.turns,U.id)!==null?(l(),W(je,{key:0,class:"turn-error-resume",size:"sm",variant:"secondary",onClick:De(et=>h(U),["stop"])},{default:R(()=>[te(d(a(s)("conversation.turnFailedResume")),1)]),_:1},8,["onClick"])):I("",!0)]),_:2},1024)):ye.kind==="tool-stack"?(l(),W(_M,{key:3,tools:ye.tools,mobile:"","tool-diff-panel":e.toolDiffPanel,onOpenMedia:J[1]||(J[1]=et=>m("openMedia",et)),onOpenFile:J[2]||(J[2]=et=>m("openFile",et)),onOpenToolDiff:J[3]||(J[3]=et=>m("openToolDiff",et)),onOpenAgent:J[4]||(J[4]=et=>m("openAgent",et)),onMoveToBackground:J[5]||(J[5]=et=>m("moveToBackground",et))},null,8,["tools","tool-diff-panel"])):ye.kind==="tool"?(l(),W(qd,{key:4,tool:ye.tool,mobile:"","tool-diff-panel":e.toolDiffPanel,onOpenMedia:J[6]||(J[6]=et=>m("openMedia",et)),onOpenFile:J[7]||(J[7]=et=>m("openFile",et)),onOpenToolDiff:J[8]||(J[8]=et=>m("openToolDiff",et)),onOpenAgent:J[9]||(J[9]=et=>m("openAgent",et)),onMoveToBackground:J[10]||(J[10]=et=>m("moveToBackground",et))},null,8,["tool","tool-diff-panel"])):I("",!0)],64))),128)),U.id!==v.value&&re(Y)&&((ae.value.get(U.id)??"").trim().length>0||U.durationMs!==void 0)?(l(),c("div",AT,[U.createdAt&&U.durationMs!==void 0?(l(),W(ht,{key:0,text:`${U.durationMs} ms`},{default:R(()=>[w(Ni,{time:U.createdAt},null,8,["time"])]),_:2},1032,["text"])):U.createdAt?(l(),W(Ni,{key:1,time:U.createdAt},null,8,["time"])):I("",!0),(ae.value.get(U.id)??"").trim().length>0?(l(),c("button",{key:2,class:"a-cpbtn","aria-label":a(s)("filePreview.copy"),onClick:ye=>Z(Y)},[_.value!==U.id?(l(),W(X,{key:0,name:"copy",size:"sm"})):(l(),W(X,{key:1,name:"check",size:"sm"}))],8,PT)):I("",!0)])):I("",!0)],8,TT))],64))),128)),e.compaction?(l(),W(h$,{key:3,label:a(s)("conversation.compacting")},null,8,["label"])):I("",!0),k.value?(l(),c("div",ET,[w(Xd,{fast:e.fastMoon,label:e.retry?a(s)("conversation.workingRetry",{n:e.retry.attempt,max:e.retry.max}):a(s)("conversation.waitingForResponse")},null,8,["fast","label"])])):I("",!0),e.queued.length>0?(l(),c("div",BT,[r("div",LT,[r("span",RT,[w(X,{name:"mail",size:"sm"}),te(" "+d(a(s)("composer.queueLabel"))+" · ",1),r("b",null,d(e.queued.length),1)]),r("span",DT,d(a(s)("composer.queueAutoDrain")),1)]),(l(!0),c(ce,null,Pe(e.queued,(U,Y)=>(l(),c("div",{key:Y,class:pe(["u-turn q-turn",{"q-dragging":g.value===Y,"drop-before":y.value?.index===Y&&y.value.position==="before","drop-after":y.value?.index===Y&&y.value.position==="after"}]),onDragover:ye=>P(Y,ye),onDrop:ye=>E(Y,ye)},[r("div",zT,[r("span",{class:"q-grip",title:a(s)("composer.queueDragTitle"),draggable:"true",onDragstart:ye=>b(Y,ye),onDragend:L},[w(X,{name:"grip",size:"sm"})],40,FT),r("button",{type:"button",class:"q-body",title:a(s)("composer.editQueued"),onClick:ye=>B(Y)},[U.text?(l(),c("span",WT,d(U.text),1)):(l(),c("span",qT,[w(X,{name:"file",size:"sm"}),te(" "+d(a(s)("composer.queuedAttachments",{n:U.attachments?.length??0})),1)]))],8,NT),S(U)?(l(),c("div",HT,[(l(!0),c(ce,null,Pe(U.attachments,(ye,st)=>(l(),c(ce,{key:st},[ye.kind==="file"?(l(),c("span",UT,[w(X,{name:"file",size:"sm"}),te(" "+d(ye.name??ye.fileId),1)])):(l(),W(Yd,{key:1,url:ye.url,kind:ye.kind,"file-id":ye.fileId,"media-class":"q-img",controls:!1,muted:""},null,8,["url","kind","file-id"]))],64))),128))])):I("",!0),Y===0?(l(),c("span",VT,d(a(s)("composer.queueNext")),1)):(l(),c("span",jT,"#"+d(Y+1),1)),Y===0?(l(),c("button",{key:3,type:"button",class:"q-steer","aria-label":T.value,onClick:J[11]||(J[11]=De(ye=>m("steerQueued"),["stop"]))},[w(X,{name:"send",size:"sm"})],8,KT)):I("",!0),r("button",{type:"button",class:"q-row-steer","aria-label":a(s)("composer.steerQueuedRow"),title:a(s)("composer.steerQueuedRow"),onClick:De(ye=>m("steerQueuedIndex",Y),["stop"])},[w(X,{name:"bolt",size:"sm"})],8,GT),r("button",{type:"button",class:"q-row-send","aria-label":a(s)("composer.sendQueuedRow"),title:a(s)("composer.sendQueuedRow"),onClick:De(ye=>m("sendQueued",Y),["stop"])},[w(X,{name:"send",size:"sm"})],8,QT),r("button",{type:"button",class:"q-rm","aria-label":a(s)("composer.remove"),onClick:De(ye=>m("unqueue",Y),["stop"])},[w(X,{name:"close",size:"sm"})],8,YT)])],42,OT))),128))])):I("",!0)],512),Oe.value!==null?(l(),c("div",ZT,d(a(s)("composer.attachmentOpenUnsupported",{name:Oe.value})),1)):I("",!0)],64))}}),np=Le(JT,[["__scopeId","data-v-6af0ef3c"]]),ex={class:"ch-id"},tx={key:0,class:"ch-ws"},nx={key:1,class:"ch-sep"},sx=["onKeydown"],ox={class:"ch-ses"},ix={key:0,class:"ch-pill ch-sync-pill"},ax={key:0,class:"ch-ahead"},lx={key:1,class:"ch-behind"},rx={key:1,class:"ch-pill ch-diff-pill"},ux={key:0,class:"ch-add"},cx={key:1,class:"ch-del"},dx=Ee({__name:"ChatHeader",props:{sessionId:{},workspaceName:{},workspaceRoot:{},sessionTitle:{},branch:{},ahead:{},behind:{},changesCount:{},gitDiffStats:{},isGitRepo:{type:Boolean},pr:{},copied:{type:Boolean},searchActive:{type:Boolean},pinned:{type:Boolean}},emits:["copyAll","copyFinalSummary","openChanges","openPr","renameSession","forkSession","archiveSession","exportSession","toggleSearch","togglePin"],setup(e,{emit:t}){const{t:n}=Ye(),s=e,o=t,i=M(()=>s.ahead??0),u=M(()=>s.behind??0),p=M(()=>s.gitDiffStats?.totalAdditions??0),f=M(()=>s.gitDiffStats?.totalDeletions??0),v=M(()=>p.value>0||f.value>0),k={open:"header.prStatusOpen",closed:"header.prStatusClosed",merged:"header.prStatusMerged",draft:"header.prStatusDraft"};function T(ae){return ae.trim().toLowerCase().replaceAll("_","-")}function h(ae){const se=T(ae);return k[se]?`pr-${se}`:"pr-unknown"}function m(ae){return n(k[T(ae)]??"header.prStatusUnknown")}const $=x(!1),g=x(null),y=x(null),S=x({});function B(ae){const se=ae.target;y.value?.el?.contains(se)||g.value?.el?.contains(se)||E()}function b(){E()}async function P(ae){if(ae.stopPropagation(),$.value){E();return}$.value=!0,document.addEventListener("mousedown",B),window.addEventListener("resize",b),await Ze();const se=g.value?.el,ge=y.value?.el;if(!se||!ge)return;const re=se.getBoundingClientRect(),F=4,Z=8,ke=ge.offsetWidth,we=ge.offsetHeight;let Oe=re.bottom+F;Oe+we>window.innerHeight-Z&&(Oe=Math.max(Z,re.top-we-F));let Ve=re.left;Ve+ke>window.innerWidth-Z&&(Ve=Math.max(Z,re.right-ke)),S.value={top:`${Math.round(Oe)}px`,left:`${Math.round(Ve)}px`}}function E(){$.value=!1,document.removeEventListener("mousedown",B),window.removeEventListener("resize",b)}St(()=>{document.removeEventListener("mousedown",B),window.removeEventListener("resize",b)});function L(){o("copyAll"),E()}function N(){o("copyFinalSummary"),E()}const Q=x(!1);function V(){s.sessionId&&ln(s.sessionId).then(ae=>{ae&&(Q.value=!0,setTimeout(()=>{Q.value=!1},1200))})}const _=x(!1),z=x(""),D=x(null);async function ee(){if(E(),!!s.sessionId){_.value=!0,z.value=s.sessionTitle??"",await Ze();try{D.value?.focus(),D.value?.select()}catch{}}}function me(){const ae=z.value.trim();ae&&s.sessionId&&ae!==(s.sessionTitle??"").trim()&&o("renameSession",s.sessionId,ae),_.value=!1}function ve(){_.value=!1}function Be(){s.sessionId&&(E(),o("forkSession",s.sessionId))}function ie(){s.sessionId&&(E(),o("exportSession",s.sessionId))}function le(){s.sessionId&&(E(),o("togglePin",s.sessionId))}function ne(){s.sessionId&&(E(),o("archiveSession",s.sessionId))}return(ae,se)=>(l(),c("header",{class:pe(["chat-header",{"macos-desktop":a(Fo)}])},[r("div",ex,[e.workspaceName?(l(),c("span",tx,d(e.workspaceName),1)):I("",!0),e.workspaceName&&e.sessionTitle?(l(),c("span",nx,"/")):I("",!0),_.value?bt((l(),c("input",{key:2,ref_key:"renameInputRef",ref:D,"onUpdate:modelValue":se[0]||(se[0]=ge=>z.value=ge),class:"ch-rename",type:"text",onKeydown:[$n(De(me,["stop"]),["enter"]),$n(De(ve,["stop"]),["esc"])],onBlur:me,onClick:se[1]||(se[1]=De(()=>{},["stop"]))},null,40,sx)),[[On,z.value]]):e.sessionTitle?(l(),W(ht,{key:3,text:e.sessionTitle},{default:R(()=>[r("span",ox,d(e.sessionTitle),1)]),_:1},8,["text"])):I("",!0)]),w(rt,{class:pe(["ch-act-search",{active:e.searchActive}]),label:a(n)("header.search"),"aria-expanded":e.searchActive,onClick:se[2]||(se[2]=De(ge=>o("toggleSearch"),["stop"]))},{default:R(()=>[w(X,{name:"search",size:"md"})]),_:1},8,["class","label","aria-expanded"]),w(rt,{ref_key:"kebabRef",ref:g,class:pe(["ch-act-more",{open:$.value}]),label:a(n)("header.options"),"aria-expanded":$.value,"aria-haspopup":"menu",onClick:se[3]||(se[3]=De(ge=>P(ge),["stop"]))},{default:R(()=>[w(X,{name:"dots-horizontal",size:"md"})]),_:1},8,["class","label","aria-expanded"]),$.value?(l(),W(Nn,{key:0,ref_key:"menuRef",ref:y,class:"ch-menu",style:gt(S.value),onClick:se[4]||(se[4]=De(()=>{},["stop"]))},{default:R(()=>[w(nt,{onClick:L},{default:R(()=>[w(X,{name:e.copied?"check":"copy",size:"sm"},null,8,["name"]),te(" "+d(e.copied?a(n)("header.copied"):a(n)("header.copyAll")),1)]),_:1}),w(nt,{onClick:N},{default:R(()=>[w(X,{name:"file-text",size:"sm"}),te(" "+d(a(n)("header.copyFinalSummary")),1)]),_:1}),e.sessionId?(l(),c(ce,{key:0},[w(nt,{separator:""}),w(nt,{onClick:le},{default:R(()=>[w(X,{name:e.pinned?"pin-fill":"pin",size:"sm"},null,8,["name"]),te(" "+d(e.pinned?a(n)("sidebar.unpin"):a(n)("sidebar.pin")),1)]),_:1}),w(nt,{onClick:V},{default:R(()=>[w(X,{name:Q.value?"check":"copy",size:"sm"},null,8,["name"]),te(" "+d(Q.value?a(n)("header.copied"):a(n)("header.copySessionId")),1)]),_:1}),w(nt,{onClick:ee},{default:R(()=>[w(X,{name:"pencil",size:"sm"}),te(" "+d(a(n)("header.renameSession")),1)]),_:1}),w(nt,{onClick:Be},{default:R(()=>[w(X,{name:"git-fork",size:"sm"}),te(" "+d(a(n)("header.forkSession")),1)]),_:1}),w(nt,{onClick:ie},{default:R(()=>[w(X,{name:"download",size:"sm"}),te(" "+d(a(n)("header.exportSession")),1)]),_:1}),w(nt,{danger:"",onClick:ne},{default:R(()=>[w(X,{name:"archive",size:"sm"}),te(" "+d(a(n)("header.archiveSession")),1)]),_:1})],64)):I("",!0)]),_:1},8,["style"])):I("",!0),se[7]||(se[7]=r("div",{class:"ch-spacer"},null,-1)),e.isGitRepo?(l(),c("button",{key:1,type:"button",class:"ch-git",onClick:se[5]||(se[5]=ge=>o("openChanges"))},[r("span",{class:pe(["ch-branch",{"ch-detached":!e.branch}])},d(e.branch||a(n)("header.detached")),3),i.value>0||u.value>0?(l(),c("span",ix,[i.value>0?(l(),c("span",ax,"↑"+d(i.value),1)):I("",!0),u.value>0?(l(),c("span",lx,"↓"+d(u.value),1)):I("",!0)])):I("",!0),v.value?(l(),c("span",rx,[p.value>0?(l(),c("span",ux,"+"+d(p.value),1)):I("",!0),f.value>0?(l(),c("span",cx,"-"+d(f.value),1)):I("",!0)])):I("",!0)])):I("",!0),e.pr?(l(),c("button",{key:2,type:"button",class:pe(["ch-pill ch-pr",h(e.pr.state)]),onClick:se[6]||(se[6]=ge=>e.pr&&o("openPr",e.pr.url))},[w(X,{name:"git-pull-request",size:"sm"}),r("span",null,"PR #"+d(e.pr.number)+" · "+d(m(e.pr.state)),1)],2)):I("",!0)],2))}}),px=Le(dx,[["__scopeId","data-v-50d1d77b"]]);function sp(e,t,n,s=4,o=24){const i=t-e;if(e<=0||i<=1)return null;const u=e-s*2,p=u*e/t,f=Math.min(u,Math.max(o,p));return{top:u>f?s+n/i*(u-f):s,height:f}}function fx(e,t,n=4,s=24){const o=sp(e,t,0,n,s);if(!o)return 0;const i=e-n*2;return i>o.height?(t-e)/(i-o.height):1}function op(){const e=x(null),t=x(!1),n=x(!1),s=x(!1),o=x({});let i=null,u=!1,p=0,f=0,v=1;function k(){const g=e.value;if(!g)return;const{clientHeight:y,scrollHeight:S,scrollTop:B}=g;t.value=S>y+1,n.value=B>1,s.value=B{i?.disconnect(),i=null,g&&typeof ResizeObserver<"u"&&(i=new ResizeObserver(k),i.observe(g),Ze(k))}),St(()=>{i?.disconnect(),i=null}),{listRef:e,scrollable:t,fadeTop:n,fadeBottom:s,thumbStyle:o,onScroll:T,onThumbPointerDown:h,onThumbPointerMove:m,onThumbPointerUp:$}}const mx=["data-query"],vx={class:"slash-scroller"},gx=["aria-selected","onMouseenter","onMousedown"],hx={class:"slash-name"},yx={key:0,class:"slash-match"},kx={class:"slash-desc"},bx={key:0,class:"slash-desc-match"},wx={key:0,class:"slash-empty",role:"status"},Sx={key:1,class:"menu-scroll-fade menu-scroll-fade-top"},Cx={key:2,class:"menu-scroll-fade menu-scroll-fade-bottom"},_x=Ee({__name:"SlashMenu",props:{matches:{},activeIndex:{},query:{default:""},sheet:{type:Boolean,default:!1}},emits:["select","hover"],setup(e,{emit:t}){const{t:n}=Ye(),s=e,o=t,i=x([]);Ne(()=>s.activeIndex,S=>{i.value[S]?.scrollIntoView({block:"nearest"})});const{listRef:u,scrollable:p,fadeTop:f,fadeBottom:v,thumbStyle:k,onScroll:T,onThumbPointerDown:h,onThumbPointerMove:m,onThumbPointerUp:$}=op();function g(S){return S.isSkill?S.desc:n(S.desc)}function y(S,B){if(B.length===0||S.length===0)return[{text:S,matched:!1}];const b=[];let P=0;for(const E of B){if(E.end<=P||E.start>S.length)continue;const L=Math.max(E.start,P);L>P&&b.push({text:S.slice(P,L),matched:!1}),b.push({text:S.slice(L,E.end),matched:!0}),P=E.end}return P(l(),c("div",{class:pe(["slash-menu",{"slash-menu--sheet":s.sheet}]),"data-query":e.query??""},[r("div",vx,[r("div",{ref_key:"listRef",ref:u,class:"slash-list",role:"listbox",onScroll:B[0]||(B[0]=(...b)=>a(T)&&a(T)(...b))},[(l(!0),c(ce,null,Pe(s.matches,(b,P)=>(l(),c("div",{ref_for:!0,ref:E=>{E&&(i.value[P]=E)},key:`${b.item.name}-${b.index}`,class:pe(["slash-item",{active:P===s.activeIndex}]),role:"option","aria-selected":P===s.activeIndex,onMouseenter:E=>o("hover",P),onMousedown:De(E=>o("select",b.item),["prevent"])},[r("span",hx,[(l(!0),c(ce,null,Pe(y(b.item.name,b.nameRanges),(E,L)=>(l(),c(ce,{key:L},[E.matched?(l(),c("span",yx,d(E.text),1)):(l(),c(ce,{key:1},[te(d(E.text),1)],64))],64))),128))]),r("span",kx,[(l(!0),c(ce,null,Pe(y(g(b.item),b.descRanges),(E,L)=>(l(),c(ce,{key:L},[E.matched?(l(),c("span",bx,d(E.text),1)):(l(),c(ce,{key:1},[te(d(E.text),1)],64))],64))),128))])],42,gx))),128)),s.matches.length===0?(l(),c("div",wx,d(a(n)("composer.slashEmpty")),1)):I("",!0)],544),a(p)?(l(),c("div",{key:0,class:"menu-scroll-thumb",style:gt(a(k)),onPointerdown:B[1]||(B[1]=(...b)=>a(h)&&a(h)(...b)),onPointermove:B[2]||(B[2]=(...b)=>a(m)&&a(m)(...b)),onPointerup:B[3]||(B[3]=(...b)=>a($)&&a($)(...b)),onPointercancel:B[4]||(B[4]=(...b)=>a($)&&a($)(...b))},null,36)):I("",!0),a(p)&&a(f)?(l(),c("div",Sx)):I("",!0),a(p)&&a(v)?(l(),c("div",Cx)):I("",!0)])],10,mx))}}),Bu=Le(_x,[["__scopeId","data-v-77443e56"]]),Mx=3,$x=2,Tx=1;function xx(e){return e.endsWith("/")}function Ix(e,t){const o=(e.replace(/\/+$/,"").split("/").pop()??e)||e;return t&&!o.endsWith("/")?`${o}/`:o}function Ax(e){const t=xx(e.path),n=e.name||Ix(e.path,t);return t?{kind:"folder",path:e.path,name:n}:{kind:"file",path:e.path,name:n}}function Px(e){return{kind:"skill",name:e.name,description:e.description}}function Ex(e,t){return[...e.map(Ax),...t.map(Px)]}function ip(e){return e.kind==="skill"?e.description:e.path}function ap(e){return e.toLowerCase().trim()}function yl(e,t){return e===t?4:e.startsWith(t)?3:e.includes(t)?2:Bx(e,t)?1:0}function Bx(e,t){let n=0;for(const s of t){if(n=e.indexOf(s,n),n===-1)return!1;n++}return!0}function Lu(e,t){const n=ap(t);if(n===""||e.length===0)return[];const s=yl(e.toLowerCase(),n);if(s===0)return[];if(s===1)return[{start:0,end:e.length}];const o=e.toLowerCase(),i=[];let u=0;for(;;){const p=o.indexOf(n,u);if(p===-1)break;i.push({start:p,end:p+n.length}),u=p+n.length}return i}function Lx(e,t){const n=ap(e);return n===""?t.map((s,o)=>({candidate:s,index:o,score:0,nameRanges:[],subRanges:[]})):t.map((s,o)=>{const i=s.name,u=ip(s),p=yl(i.toLowerCase(),n),f=yl(u.toLowerCase(),n),v=Math.max(p,f);if(v===0)return null;const k=p*Mx+(s.kind==="skill"?f*Tx:f*$x);return{match:{candidate:s,index:o,score:v*100+k,nameRanges:Lu(i,n),subRanges:Lu(u,n)},score:v*100+k}}).filter(s=>s!==null).sort((s,o)=>o.score-s.score||s.match.index-o.match.index).map(s=>s.match)}const Rx={class:"mention-scroller"},Dx={key:0,class:"mention-state dim"},Ox={key:1,class:"mention-state dim"},zx=["aria-selected","onMouseenter","onMousedown"],Fx=["innerHTML"],Nx={class:"mention-name"},Wx={key:0,class:"mention-match"},qx={class:"mention-path"},Hx={key:0,class:"mention-match"},Ux={key:1,class:"menu-scroll-fade menu-scroll-fade-top"},Vx={key:2,class:"menu-scroll-fade menu-scroll-fade-bottom"},jx=Ee({__name:"MentionMenu",props:{items:{},activeIndex:{},loading:{type:Boolean},sheet:{type:Boolean,default:!1}},emits:["select","hover"],setup(e,{emit:t}){const n=e,s=t,{t:o}=Ye(),{listRef:i,scrollable:u,fadeTop:p,fadeBottom:f,thumbStyle:v,onScroll:k,onThumbPointerDown:T,onThumbPointerMove:h,onThumbPointerUp:m}=op();function $(S){const B=S.candidate;return B.kind==="skill"?`skill:${B.name}`:B.path}function g(S){return mc(Qd(S.kind==="skill"?S.name:S.path,S.kind),"sm")}function y(S,B){if(B.length===0||S.length===0)return[{text:S,matched:!1}];const b=[];let P=0;for(const E of B){if(E.end<=P||E.start>S.length)continue;const L=Math.max(E.start,P);L>P&&b.push({text:S.slice(P,L),matched:!1}),b.push({text:S.slice(L,E.end),matched:!0}),P=E.end}return P(l(),c("div",{class:pe(["mention-menu",{"mention-menu--sheet":n.sheet}])},[r("div",Rx,[r("div",{ref_key:"listRef",ref:i,class:"mention-list",role:"listbox",onScroll:B[0]||(B[0]=(...b)=>a(k)&&a(k)(...b))},[n.loading?(l(),c("div",Dx,d(a(o)("mention.searching")),1)):n.items.length===0?(l(),c("div",Ox,d(a(o)("mention.noMatch")),1)):(l(!0),c(ce,{key:2},Pe(n.items,(b,P)=>(l(),c("div",{key:$(b),class:pe(["mention-item",{active:P===n.activeIndex,skill:b.candidate.kind==="skill"}]),role:"option","aria-selected":P===n.activeIndex,onMouseenter:E=>s("hover",P),onMousedown:De(E=>s("select",b),["prevent"])},[r("span",{class:"mention-icon",innerHTML:g(b.candidate),"aria-hidden":"true"},null,8,Fx),r("span",Nx,[(l(!0),c(ce,null,Pe(y(b.candidate.name,b.nameRanges),(E,L)=>(l(),c(ce,{key:L},[E.matched?(l(),c("span",Wx,d(E.text),1)):(l(),c(ce,{key:1},[te(d(E.text),1)],64))],64))),128))]),r("span",qx,[(l(!0),c(ce,null,Pe(y(a(ip)(b.candidate),b.subRanges),(E,L)=>(l(),c(ce,{key:L},[E.matched?(l(),c("span",Hx,d(E.text),1)):(l(),c(ce,{key:1},[te(d(E.text),1)],64))],64))),128))])],42,zx))),128))],544),a(u)?(l(),c("div",{key:0,class:"menu-scroll-thumb",style:gt(a(v)),onPointerdown:B[1]||(B[1]=(...b)=>a(T)&&a(T)(...b)),onPointermove:B[2]||(B[2]=(...b)=>a(h)&&a(h)(...b)),onPointerup:B[3]||(B[3]=(...b)=>a(m)&&a(m)(...b)),onPointercancel:B[4]||(B[4]=(...b)=>a(m)&&a(m)(...b))},null,36)):I("",!0),a(u)&&a(p)?(l(),c("div",Ux)):I("",!0),a(u)&&a(f)?(l(),c("div",Vx)):I("",!0)])],2))}}),Ru=Le(jx,[["__scopeId","data-v-1fa972b5"]]),En={new:"cjxhh",clear:"qkbxjhh",login:"zllqzdl",plan:"qhjhmkg",swarm:"qhmsrwzjzxzx",goal:"cjkzmbmb",btw:"cbltwtxdcbhhtw",auto:"wqzzbztw",yolo:"zdpzgjczrkntw",thinking:"szskqd",compact:"yshhls",undo:"cxsytxx",fork:"bdqhhcygxhh",export:"jdqhhhpzrzxzwysb",status:"ckhhzt"},lp=[{name:"/new",desc:"commands.new.desc",pinyinFirst:En.new},{name:"/clear",desc:"commands.clear.desc",pinyinFirst:En.clear},{name:"/login",desc:"commands.login.desc",pinyinFirst:En.login},{name:"/plan",desc:"commands.plan.desc",pinyinFirst:En.plan},{name:"/swarm",desc:"commands.swarm.desc",pinyinFirst:En.swarm,acceptsInput:!0},{name:"/goal",desc:"commands.goal.desc",pinyinFirst:En.goal,acceptsInput:!0},{name:"/btw",desc:"commands.btw.desc",pinyinFirst:En.btw,acceptsInput:!0},{name:"/auto",desc:"commands.auto.desc",pinyinFirst:En.auto},{name:"/yolo",desc:"commands.yolo.desc",pinyinFirst:En.yolo},{name:"/thinking",desc:"commands.thinking.desc",pinyinFirst:En.thinking},{name:"/compact",desc:"commands.compact.desc",pinyinFirst:En.compact,acceptsInput:!0},{name:"/undo",desc:"commands.undo.desc",pinyinFirst:En.undo},{name:"/fork",desc:"commands.fork.desc",pinyinFirst:En.fork},{name:"/export",desc:"commands.export.desc",pinyinFirst:En.export},{name:"/status",desc:"commands.status.desc",pinyinFirst:En.status}];function Kx(e){if(!e.startsWith("/"))return null;const t=e.indexOf(" ");return t===-1?{cmd:e,arg:""}:{cmd:e.slice(0,t),arg:e.slice(t+1)}}const na="skill:";function Gx(e){return e.startsWith(na)?e.slice(na.length):e}function rp(e=[]){const t=e.map(n=>({name:n.source==="builtin"?`/${n.name}`:`/${na}${n.name}`,desc:n.description,isSkill:!0,acceptsInput:!0}));return[...lp,...t]}const Qx=3,Yx=1,Zx=1;function up(e){return e.toLowerCase().trim().replace(/^\//,"")}function qa(e,t){return e===t?4:e.startsWith(t)?3:e.includes(t)?2:Xx(e,t)?1:0}function Xx(e,t){let n=0;for(const s of t){if(n=e.indexOf(s,n),n===-1)return!1;n++}return!0}function Du(e,t){const n=up(t);if(n===""||e.length===0)return[];const s=e.toLowerCase();if(!s.includes(n))return[{start:0,end:e.length}];const o=[];let i=0;for(;;){const u=s.indexOf(n,i);if(u===-1)break;o.push({start:u,end:u+n.length}),i=u+n.length}return o}function Jx(e,t=lp,n=s=>s.desc){const s=up(e);return s===""?t.map((o,i)=>({item:o,index:i,nameRanges:[],descRanges:[]})):t.map((o,i)=>{const u=o.name.replace(/^\//,"").toLowerCase(),p=n(o),f=qa(u,s)*Qx+qa(p.toLowerCase(),s)*Yx+(o.pinyinFirst?qa(o.pinyinFirst,s)*Zx:0);return f===0?null:{match:{item:o,index:i,nameRanges:Du(o.name,s),descRanges:Du(p,s)},score:f}}).filter(o=>o!==null).sort((o,i)=>i.score-o.score||o.match.index-i.match.index).map(o=>o.match)}const sa=100;function e6(e){const t=oo(Ge.inputHistory);if(Array.isArray(t)){const n=t.filter(i=>typeof i=="string"&&i.length>0);if(!e||n.length===0)return{};const s=n.length>sa?n.slice(-sa):n,o={[e]:s};return Ws(Ge.inputHistory,o),o}return t&&typeof t=="object"?t:{}}function t6(e){const{text:t,textareaRef:n,autosize:s,sessionId:o}=e,i=x(e6(o())),u=M(()=>i.value[o()??""]??[]);let p=-1,f="";function v(S){const B=o();if(p=-1,!B)return;const b=S.trim();if(!b)return;const P=i.value[B]??[];if(P.at(-1)===b)return;const E=[...P,b],L=E.length>sa?E.slice(-sa):E;i.value={...i.value,[B]:L},Ws(Ge.inputHistory,i.value)}function k(){const S=n.value;return S?(S.selectionStart??0)===0:!1}function T(S){t.value=S,Ze(()=>{const B=n.value;if(!B)return;s();const b=S.length;B.setSelectionRange(b,b)})}function h(){const S=u.value;if(S.length!==0){if(p===-1)f=t.value,p=S.length-1;else if(p>0)p-=1;else return;T(S[p])}}function m(){if(p===-1)return;const S=u.value;p0}return Ne(o,()=>{p=-1}),{push:v,caretAtTextStart:k,recallOlder:h,recallNewer:m,resetBrowsing:$,isBrowsing:g,hasHistory:y}}function n6(e){const{text:t,textareaRef:n,autosize:s,skills:o,emitCommand:i,historyPush:u,clearDraft:p}=e,f=e.resolveDesc??(y=>y.desc),v=x(!1),k=x([]),T=M(()=>k.value.map(y=>y.item)),h=x(0),m=x("");function $(){const y=t.value;y.startsWith("/")&&!y.includes(" ")?(m.value=y,k.value=Jx(y,rp(o()),f),h.value=0,v.value=!0):v.value=!1}function g(y){if(v.value=!1,y.acceptsInput){t.value=`${y.name} `,Ze(()=>{const S=n.value;if(!S)return;const B=t.value.length;S.setSelectionRange(B,B),S.focus(),s()});return}t.value="",p?.(),u(y.name),i(y.name)}return{open:v,matches:k,items:T,active:h,query:m,update:$,select:g}}function s6(e){const{text:t,textareaRef:n,autosize:s,searchFiles:o,skills:i}=e,u=x(!1),p=x([]),f=x(0),v=x(!1);let k=null;function T(){const y=t.value,S=n.value?.selectionStart??y.length;let B=S-1;for(;B>=0&&!/\s/.test(y[B]);)B--;B++;const b=y.slice(B,S);return b.startsWith("@")?{token:b.slice(1),start:B,end:S}:null}async function h(y){let S=[];const B=o();if(B)try{S=await B(y)}catch{S=[]}const b=Ex(S,i());return Lx(y,b)}function m(){const y=T(),S=o()!==void 0||i().length>0;if(!y||!S){u.value=!1;return}const B=y.token;k!==null&&clearTimeout(k),k=setTimeout(async()=>{v.value=!0,u.value=!0,f.value=0;try{p.value=await h(B)}catch{p.value=[]}finally{v.value=!1}},200)}function $(y){return y.kind==="skill"?`@${y.name}`:`@${y.path}`}function g(y){const S=T();if(!S)return;const B=t.value;t.value=B.slice(0,S.start)+$(y.candidate)+B.slice(S.end),u.value=!1,Ze(()=>{const b=n.value;if(!b)return;const P=S.start+$(y.candidate).length;b.setSelectionRange(P,P),b.focus(),s()})}return{open:u,items:p,active:f,loading:v,update:m,select:g}}function o6(e){const{sessionId:t}=e;function n(v){return Dt(dr(v))??""}function s(v,k){const T=dr(v);k?Nt(T,k):So(T)}const o=x(n(t())),i=x(null);function u(){const v=i.value;v&&(v.style.height="auto",v.style.height=`${v.scrollHeight}px`)}Ne(o,v=>{Ze(u),s(t(),v)}),Ne(t,(v,k)=>{v!==k&&(s(k,o.value),o.value=n(v),Ze(u))});function p(v){o.value=v,Ze(()=>{const k=i.value;if(!k)return;k.focus();const T=v.length;k.setSelectionRange(T,T),u()})}function f(){s(t(),"")}return{text:o,textareaRef:i,autosize:u,loadForEdit:p,clearDraft:f}}function i6(e){const t=new Set;for(const i of e)i.isDirectory&&t.add(i.name);const n=[],s=new Set;let o=0;for(const i of e){if(i.isDirectory){o+=1;continue}if(i.size===0&&i.type===""&&t.has(i.name)){o+=1;continue}const u=`${i.size}:${i.type}:${i.name}`;s.has(u)||(s.add(u),n.push(i))}return{files:n,skippedDirectories:o}}function a6(e){const{uploadImage:t,sessionId:n}=e,s=x({}),o=M(()=>s.value[n()??""]??[]),i=x(null),u=x(null),p=x(!1);let f=0;function v(){return`att_${++f}`}function k(ie,le){s.value={...s.value,[ie]:le}}function T(ie){if(ie.previewUrl!==void 0)try{URL.revokeObjectURL(ie.previewUrl)}catch{}}function h(ie){return ie.startsWith("image/")?"image":ie.startsWith("video/")?"video":"file"}async function m(ie){const le=t();if(!le)return;const ne=n()??"";if(ie.length!==0)for(const ae of ie){const se=h(ae.type),ge=v(),re=se==="file"?void 0:URL.createObjectURL(ae),F={localId:ge,name:ae.name,kind:se,previewUrl:re,mediaType:ae.type||"application/octet-stream",size:ae.size,uploading:!0};k(ne,[...s.value[ne]??[],F]),le(ae,ae.name).then(Z=>{const ke=s.value[ne]??[];k(ne,ke.map(we=>we.localId===ge?{...we,uploading:!1,fileId:Z?.fileId,mediaType:Z?.mediaType??we.mediaType,error:Z===null}:we))}).catch(()=>{const Z=s.value[ne]??[];k(ne,Z.map(ke=>ke.localId===ge?{...ke,uploading:!1,error:!0}:ke))})}}function $(ie){const le=n()??"",ne=s.value[le]??[],ae=ne.find(se=>se.localId===ie);i.value?.localId===ie&&(i.value=null),ae&&T(ae),k(le,ne.filter(se=>se.localId!==ie))}function g(ie){i.value=ie}function y(){i.value=null}function S(){u.value?.click()}function B(ie){const le=ie.target,ne=Array.from(le.files??[]);m(ne),le.value=""}function b(ie){if(!t())return;const le=ie.clipboardData;if(!le)return;const ne=[];for(const se of Array.from(le.items)){if(se.kind!=="file")continue;const ge=se.getAsFile();if(!ge)continue;const re=ge.type.split("/")[1]??"png",F=ge.name||`paste-${Date.now()}.${re}`,Z=se.webkitGetAsEntry?.();ne.push({file:ge,name:F.includes(".")?F:`paste-${Date.now()}.${re}`,size:ge.size,type:ge.type,isDirectory:Z?.isDirectory===!0})}for(const se of Array.from(le.files))ne.push({file:se,name:se.name,size:se.size,type:se.type,isDirectory:!1});const ae=i6(ne);if(ae.files.length===0){ae.skippedDirectories>0&&ie.preventDefault();return}ie.preventDefault(),m(ae.files.map(se=>se.file))}let P=0;function E(ie){!t()||!Array.from(ie.dataTransfer?.items??[]).some(ne=>ne.kind==="file")||(ie.preventDefault(),ie.stopPropagation(),p.value=!0)}function L(){p.value=!1}function N(ie){if(P=0,p.value=!1,!t())return;ie.preventDefault(),ie.stopPropagation();const le=Array.from(ie.dataTransfer?.files??[]);m(le)}function Q(ie){return Array.from(ie.dataTransfer?.items??[]).some(le=>le.kind==="file")}function V(ie){!t()||!Q(ie)||(ie.preventDefault(),P+=1,p.value=!0)}function _(ie){!t()||!Q(ie)||ie.preventDefault()}function z(ie){!t()||!Q(ie)||(P=Math.max(0,P-1),P===0&&(p.value=!1))}function D(ie){if(P=0,p.value=!1,!t())return;ie.preventDefault();const le=Array.from(ie.dataTransfer?.files??[]);m(le)}function ee(){const ie=n()??"";for(const le of s.value[ie]??[])T(le);k(ie,[])}function me(ie,le,ne){const ae=s.value[ie]??[];ae.some(se=>se.localId===le)&&k(ie,ae.map(se=>se.localId===le?{...se,...ne}:se))}function ve(ie){return fetch(ie).then(le=>{if(!le.ok)throw new Error(`fetch failed: ${le.status}`);return le.blob()})}function Be(ie){const le=n()??"";for(const ne of s.value[le]??[])T(ne);k(le,[]);for(const ne of ie){const ae=v(),se=/^data:/i.test(ne.url),ge=/^blob:/i.test(ne.url),re=ne.name??ne.kind;if(ne.fileId){const F={localId:ae,name:re,kind:ne.kind,previewUrl:ne.kind==="file"?void 0:ne.url,uploading:!1,fileId:ne.fileId};k(le,[...s.value[le]??[],F]),ne.kind!=="file"&&!se&&!ge&&Re().getFileBlob(ne.fileId).then(Z=>{const ke=URL.createObjectURL(Z);if(!(s.value[le]??[]).some(Oe=>Oe.localId===ae)){URL.revokeObjectURL(ke);return}me(le,ae,{previewUrl:ke})}).catch(()=>{})}else{if(!ne.url)continue;const F=t();if(!F)continue;const Z={localId:ae,name:re,kind:ne.kind,previewUrl:ne.url,uploading:!0};k(le,[...s.value[le]??[],Z]),ve(ne.url).then(ke=>{const we=re.includes(".")?re:`${re}.${ke.type.split("/")[1]??"bin"}`;return F(ke,we)}).then(ke=>{if(ke===null){const we=s.value[le]??[];k(le,we.filter(Oe=>Oe.localId!==ae));return}me(le,ae,{uploading:!1,fileId:ke.fileId})}).catch(()=>{const ke=s.value[le]??[];k(le,ke.filter(we=>we.localId!==ae))})}}}return Ne(n,()=>{i.value=null}),xt(()=>{document.addEventListener("paste",b),document.addEventListener("dragenter",V),document.addEventListener("dragover",_),document.addEventListener("dragleave",z),document.addEventListener("drop",D)}),St(()=>{document.removeEventListener("paste",b),document.removeEventListener("dragenter",V),document.removeEventListener("dragover",_),document.removeEventListener("dragleave",z),document.removeEventListener("drop",D);for(const ie of Object.values(s.value))for(const le of ie)T(le);i.value=null}),{attachments:o,previewAttachment:i,fileInputRef:u,isDragOver:p,removeAttachment:$,openAttachmentPreview:g,closeAttachmentPreview:y,openFilePicker:S,handleFileInputChange:B,handleDragOver:E,handleDragLeave:L,handleDrop:N,clearAfterSubmit:ee,loadAttachments:Be}}function cp(e){return!e||e.trim().length===0}function l6(e){const t=x(!1),n=ir(lT,s=>{t.value=s},e);return Ip()&&St(n),t}const r6=new Set(["F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","Escape","Home","End","PageUp","PageDown","Insert"]);function u6(e){return e.ctrlKey||e.metaKey||e.altKey?!0:r6.has(e.key)}let dp=!1;function c6(e){u6(e)&&(dp=!0)}function d6(e){return dp||ta(iT,e)}const p6={key:0,class:"sheet-root"},f6=["aria-label"],m6=["aria-label"],v6={key:0,class:"sheet-head"},g6={class:"sheet-title"},h6={class:"sheet-body"},y6=Ee({__name:"BottomSheet",props:{modelValue:{type:Boolean},title:{default:""}},emits:["update:modelValue","close"],setup(e,{emit:t}){const{t:n}=Ye(),s=e,o=t;function i(){o("update:modelValue",!1),o("close")}function u(p){p.key==="Escape"&&i()}return Ne(()=>s.modelValue,p=>{typeof document>"u"||(p?document.addEventListener("keydown",u):document.removeEventListener("keydown",u))},{immediate:!0}),St(()=>{typeof document<"u"&&document.removeEventListener("keydown",u)}),(p,f)=>(l(),W(li,{name:"sheet"},{default:R(()=>[e.modelValue?(l(),c("div",p6,[r("div",{class:"sheet-scrim",onClick:i}),r("div",{class:"sheet-panel",role:"dialog","aria-label":e.title||a(n)("mobile.sheetLabel")},[r("button",{type:"button",class:"sheet-grab","aria-label":a(n)("mobile.closeSheet"),onClick:i},null,8,m6),e.title?(l(),c("div",v6,[r("span",g6,d(e.title),1)])):I("",!0),r("div",h6,[Pt(p.$slots,"default",{},void 0,!0)])],8,f6)])):I("",!0)]),_:3}))}}),No=Le(y6,[["__scopeId","data-v-745ee5a2"]]),k6={class:"ctx-ring",viewBox:"0 0 20 20","aria-hidden":"true"},b6=["stroke-dasharray","stroke-dashoffset"],Ha=7,w6=Ee({__name:"ContextRing",props:{pct:{}},setup(e){const t=e,n=2*Math.PI*Ha;return(s,o)=>(l(),c("svg",k6,[r("circle",{class:"ctx-ring-track",cx:"10",cy:"10",r:Ha,fill:"none","stroke-width":"2.5"}),r("circle",{class:"ctx-ring-fill",cx:"10",cy:"10",r:Ha,fill:"none","stroke-width":"2.5","stroke-linecap":"round","stroke-dasharray":`${n}`,"stroke-dashoffset":`${n*(1-t.pct/100)}`},null,8,b6)]))}}),S6=Le(w6,[["__scopeId","data-v-a364f1f1"]]),C6={key:0,class:"att-strip"},_6={class:"att-lightbox-card"},M6=["src"],$6=["src","alt"],T6={class:"att-lightbox-name"},x6={class:"composer-card"},I6={class:"cin-wrap"},A6={class:"input-row"},P6=["placeholder","disabled"],E6=["aria-label"],B6={class:"toolbar-left"},L6=["onKeydown"],R6=["onClick"],D6={class:"pd-check"},O6={class:"pd-info"},z6={class:"pd-desc"},F6=["onClick"],N6={class:"pd-check"},W6={class:"pd-info"},q6={class:"pd-name"},H6={class:"pd-desc"},U6=["onClick"],V6={class:"pd-check"},j6={class:"pd-info"},K6={class:"pd-name"},G6={class:"pd-desc"},Q6=["aria-pressed"],Y6=["aria-label"],Z6=["aria-pressed"],X6=["aria-label"],J6=["aria-pressed"],e9=["aria-label"],t9=["aria-pressed"],n9=["aria-label"],s9={class:"toolbar-right"},o9=["aria-label"],i9=["onKeydown"],a9={key:0,class:"think-suffix"},l9=["aria-label"],r9=["aria-label","title","disabled"],u9={key:0,class:"md-section"},c9=["onClick"],d9={class:"md-check"},p9={class:"md-name"},f9={class:"md-provider"},m9={key:1,class:"md-divider"},v9={key:2,class:"md-section"},g9=["onClick"],h9={class:"md-check"},y9={class:"md-name"},k9={key:3,class:"md-divider"},b9={class:"md-name"},w9={key:0,class:"md-note"},S9=["aria-label"],C9=["disabled","onClick"],_9={class:"md-cache-note"},M9={class:"md-name"},$9={class:"drop-card"},Ou=36,T9=Ee({__name:"Composer",props:{running:{type:Boolean,default:!1},starting:{type:Boolean,default:!1},sessionId:{},queued:{default:()=>[]},searchFiles:{type:Function,default:void 0},uploadImage:{type:Function,default:void 0},status:{},thinking:{},planMode:{type:Boolean},planArmed:{type:Boolean},swarmMode:{type:Boolean},supermoonMode:{type:Boolean},goalMode:{type:Boolean},goal:{},activationBadges:{},models:{default:()=>[]},starredIds:{default:()=>[]},skills:{default:()=>[]},hideContext:{type:Boolean}},emits:["submit","steer","command","interrupt","setPermission","setThinking","togglePlan","toggleSwarm","toggleSupermoon","toggleGoal","dismissPlan","focusGoal","compact","pickModel","selectModel"],setup(e,{expose:t,emit:n}){const s=e,o=x(ta(Wi));let i=null;const u=M(()=>s.starting?f("composer.starting"):s.running?o.value?f("composer.placeholderRunningTouch"):f("composer.placeholderRunning"):s.goalMode?f("status.goalPlaceholder"):T.value?f("status.planPlaceholder"):f("composer.placeholder")),p=n,{t:f,locale:v}=Ye(),k=M(()=>s.planMode===!0),T=M(()=>jc({planMode:k.value,planArmed:s.planArmed===!0})),h=M(()=>s.goal?.status??s.activationBadges?.goal?.status??null),m=M(()=>h.value!==null&&h.value!=="complete"),$=M(()=>m.value||s.goalMode===!0);function g(A){const _e=f(A==="swarm"?"status.swarmLabel":"status.supermoonLabel");return f("status.workModeDismiss",{mode:_e})}const{text:y,textareaRef:S,autosize:B,loadForEdit:b,clearDraft:P}=o6({sessionId:()=>s.sessionId}),E=x(!1);function L(){E.value=!E.value,Ze(()=>{B(),_(),S.value?.focus()})}function N(){E.value&&(E.value=!1,Ze(B))}function Q(A){if(typeof getComputedStyle>"u")return Ou;const _e=Number.parseFloat(getComputedStyle(A).minHeight);return Number.isFinite(_e)&&_e>0?_e:Ou}const V=x(!1);function _(){const A=S.value;V.value=!!A&&A.scrollHeight>Q(A)}Ne(y,()=>{Ze(_)}),Ne(()=>s.sessionId,()=>{E.value=!1,D.value=!1,ne.value=!1});const z=t6({text:y,textareaRef:S,autosize:B,sessionId:()=>s.sessionId}),{open:D,matches:ee,items:me,active:ve,query:Be,update:ie,select:le}=n6({text:y,textareaRef:S,autosize:B,skills:()=>s.skills,emitCommand:A=>p("command",A),historyPush:A=>z.push(A),clearDraft:P,resolveDesc:A=>A.isSkill?A.desc:f(A.desc)}),{open:ne,items:ae,active:se,loading:ge,update:re,select:F}=s6({text:y,textareaRef:S,autosize:B,searchFiles:()=>s.searchFiles,skills:()=>s.skills}),Z=l6();function ke(){z.resetBrowsing(),ie(),re()}const we=x(null),Oe=x(null);let Ve=null;function be(){Ve!==null&&(clearTimeout(Ve),Ve=null)}function ze(A){if(!A)return!1;const _e=we.value?.$el,$e=Oe.value?.$el;return!!(D.value&&_e instanceof HTMLElement&&_e.contains(A)||ne.value&&$e instanceof HTMLElement&&$e.contains(A))}function oe(A){ze(A.relatedTarget)||(be(),Ve=setTimeout(()=>{Ve=null,D.value=!1,ne.value=!1},0))}const{attachments:J,previewAttachment:U,fileInputRef:Y,isDragOver:ye,removeAttachment:st,openAttachmentPreview:et,closeAttachmentPreview:pt,openFilePicker:Me,handleFileInputChange:Te,handleDragOver:Se,handleDragLeave:Ae,handleDrop:Xe,clearAfterSubmit:yt,loadAttachments:qe}=a6({uploadImage:()=>s.uploadImage,sessionId:()=>s.sessionId});xt(()=>{i=ir(Wi,A=>{o.value=A}),y.value&&Ze(()=>{B(),_()})}),St(()=>{i?.(),i=null,document.removeEventListener("mousedown",it),on(),be()});function He(){S.value?.focus({preventScroll:!0})}function Ue(A){qe(A)}t({loadForEdit:b,loadAttachmentsForEdit:Ue,focus:He});function dt(A){return{fileId:A.fileId,kind:A.kind,name:A.name,mediaType:A.mediaType,size:A.size}}function at(){return J.value.filter(A=>!A.uploading&&!A.error&&A.fileId!==void 0)}function Lt(A){if(A.kind==="file"){A.fileId!==void 0&&ep(A.fileId,A.name,A.mediaType);return}et(A)}function Ht(){const A=y.value.trim();if(J.value.some(_t=>_t.uploading))return;const _e=at();if(!A&&_e.length===0)return;if(z.push(A),A){const _t=Kx(A),j=_t?rp(s.skills).some(G=>G.name===_t.cmd||G.name===`/${na}${_t.cmd.slice(1)}`):!1;if(_t&&j){y.value="",P(),D.value=!1,N(),p("command",_t.arg?`${_t.cmd} ${_t.arg}`:_t.cmd,_e.length>0?_e.map(G=>dt(G)):void 0);return}}const $e={text:A,attachments:_e.map(_t=>dt(_t))};U.value=null,yt(),y.value="",P(),D.value=!1,ne.value=!1,N(),p("submit",$e)}function rn(){if(!s.running||J.value.some(_t=>_t.uploading))return;const A=y.value.trim(),_e=at();if(!A&&_e.length===0&&s.queued.length===0)return;const $e={text:A,attachments:_e.map(_t=>dt(_t))};yt(),z.push(A),y.value="",P(),D.value=!1,ne.value=!1,N(),p("steer",$e)}let ct=!1,sn=null;function on(){sn!==null&&(clearTimeout(sn),sn=null)}function Kn(){on(),ct=!0}function Wt(){on(),sn=setTimeout(()=>{sn=null,ct=!1},0)}function Wn(A){return ct||A.isComposing||A.keyCode===229}function un(A){if(Wn(A))return;c6(A);const _e=ta(Wi)&&!d6();if(A.key==="Escape"){if(Yt.value){A.preventDefault(),Ot();return}if(Ut.value){A.preventDefault(),xn();return}if(en.value){A.preventDefault(),We();return}}if(D.value){if(A.key==="ArrowDown"){A.preventDefault(),ve.value=(ve.value+1)%me.value.length;return}if(A.key==="ArrowUp"){A.preventDefault(),ve.value=(ve.value-1+me.value.length)%me.value.length;return}if(A.key==="Enter"||A.key==="Tab"){A.preventDefault();const $e=me.value[ve.value];$e&&le($e);return}if(A.key==="Escape"){A.preventDefault(),D.value=!1;return}}if(ne.value&&!ge.value){if(A.key==="ArrowDown"){A.preventDefault(),se.value=(se.value+1)%Math.max(1,ae.value.length);return}if(A.key==="ArrowUp"){A.preventDefault(),se.value=(se.value-1+Math.max(1,ae.value.length))%Math.max(1,ae.value.length);return}if(A.key==="Enter"||A.key==="Tab"){A.preventDefault();const $e=ae.value[se.value];$e&&F($e);return}if(A.key==="Escape"){A.preventDefault(),ne.value=!1;return}}if(!_e&&A.key==="s"&&(A.ctrlKey||A.metaKey)&&!A.shiftKey&&!A.altKey){s.running&&(A.preventDefault(),rn());return}if(!E.value&&!D.value&&!ne.value&&!A.shiftKey&&!A.altKey&&!A.metaKey&&!A.ctrlKey){const $e=z.isBrowsing();if(A.key==="ArrowUp"&&z.hasHistory()&&($e||z.caretAtTextStart())){A.preventDefault(),z.recallOlder();return}if(A.key==="ArrowDown"&&$e){A.preventDefault(),z.recallNewer();return}}if(A.key==="Enter"&&!A.shiftKey){if(E.value&&!(A.metaKey||A.ctrlKey)||_e)return;A.preventDefault(),Ht()}}const ss=M(()=>f("composer.send")),Gn=M(()=>!!s.uploadImage),Yt=x(!1),Ut=x(!1),wn=x(null);function Qn(){Yt.value=!Yt.value,Yt.value?(Ut.value=!1,We(),document.addEventListener("click",Xt,!0)):document.removeEventListener("click",Xt,!0)}function Ot(){Yt.value=!1,Ut.value||document.removeEventListener("click",Xt,!0)}function fn(){Ut.value=!Ut.value,Ut.value?(Yt.value=!1,We(),document.addEventListener("click",Xt,!0)):document.removeEventListener("click",Xt,!0)}function xn(){Ut.value=!1,Yt.value||document.removeEventListener("click",Xt,!0)}function Xt(A){wn.value&&!wn.value.contains(A.target)&&(Ot(),xn())}St(()=>{document.removeEventListener("click",Xt,!0)});const In=M(()=>{const A=s.status?.ctxMax??0;return A<=0?0:Math.min(100,Math.max(0,Math.ceil((s.status?.ctxUsed??0)/A*100)))}),Ct=M(()=>{const A=cs(s.status?.ctxUsed??0),_e=cs(s.status?.ctxMax??0);return f("status.ctxTooltip",{used:A,max:_e,pct:In.value})}),an=M(()=>In.value>=80),Jt=M(()=>s.status?cp(s.status.modelId)||s.status.modelId===sr:!1),Mt=M(()=>s.models?.find(A=>A.id===s.status?.modelId)),Sn=M(()=>aa(Mt.value)),Et=M(()=>la(Mt.value)),cn=M(()=>ui(Mt.value,s.thinking)),zn=M(()=>Et.value.includes(cn.value)?cn.value:""),gn=M(()=>cw(cn.value)),Cn=M(()=>Sn.value==="unsupported"||Et.value.length<=1),hn=M(()=>{if(!gn.value)return"";const A=(Mt.value?.supportEfforts?.length??0)>0,_e=cn.value;return A&&_e!=="on"?f("composer.thinkingSuffixEffort",{level:_e}):f("composer.thinkingSuffix")});function Fn(A){Cn.value||p("setThinking",jl(Mt.value,A))}function An(A){return A==="on"?f("status.thinkingOn"):A==="off"?f("status.thinkingOff"):al(A)}const dn=M(()=>s.swarmMode===!0),mn=M(()=>s.supermoonMode===!0),en=x(!1),Yn=x(null),Ce=x(null),fe=x({});function We(){en.value=!1,document.removeEventListener("mousedown",it)}function it(A){const _e=A.target;Yn.value?.contains(_e)||Ce.value?.contains(_e)||We()}function zt(){if(en.value){We();return}Ot(),xn();const A=Yn.value?.getBoundingClientRect();A&&(fe.value={left:`${Math.round(A.left)}px`,bottom:`${Math.round(window.innerHeight-A.top+8)}px`}),en.value=!0,A&&Ze(()=>{const _e=Ce.value;if(!_e)return;const $e=Math.max(8,Math.min(A.left,window.innerWidth-_e.offsetWidth-8));fe.value={...fe.value,left:`${Math.round($e)}px`}}),setTimeout(()=>{Z.value||document.addEventListener("mousedown",it)},0)}function Ft(){We(),p("togglePlan")}function Zt(){We(),m.value?p("focusGoal"):p("toggleGoal")}function Vt(){We(),p("toggleSwarm")}function It(){We(),p("toggleSupermoon")}const At=[{mode:"manual",color:"var(--dim)",labelKey:"status.permissionManual",descKey:"status.permissionManualDesc"},{mode:"yolo",color:"var(--color-warning)",labelKey:"status.permissionYolo",descKey:"status.permissionYoloDesc"},{mode:"auto",color:"var(--color-danger)",labelKey:"status.permissionAuto",descKey:"status.permissionAutoDesc"}],yn=["composer.addPlanDesc","composer.addGoalDesc","composer.addSwarmDesc","composer.addSupermoonDesc"],fs=M(()=>[{key:"plan",icon:"file-edit",label:f("status.planLabel"),desc:f("composer.addPlanDesc"),current:T.value,pick:Ft},{key:"goal",icon:"target",label:f("status.goalLabel"),desc:f("composer.addGoalDesc"),current:$.value,pick:Zt},{key:"swarm",icon:"sparkles",label:f("status.swarmLabel"),desc:f("composer.addSwarmDesc"),current:dn.value,pick:Vt},{key:"supermoon",icon:"moon-stars",label:f("status.supermoonLabel"),desc:f("composer.addSupermoonDesc"),current:mn.value,pick:It}]),ms=x(null),_n=x(""),vs=x("");function qn(A){const _e={};return A&&(_e["--composer-menu-desc-width"]=A),_e}const $s=M(()=>qn(_n.value)),gs=M(()=>qn(vs.value)),Hs=M(()=>({...fe.value,...gs.value}));let Pn=null;function Ts(A){const _e=Number.parseFloat(A);return Number.isFinite(_e)?_e:0}function Us(A){return`${A.fontStyle||"normal"} ${A.fontWeight||"400"} ${A.fontSize} ${A.fontFamily}`}function lo(A){return A.letterSpacing==="normal"?0:Ts(A.letterSpacing)}function Vs(A,_e){if(!A)return 0;const $e=Np(A,Us(_e),{letterSpacing:lo(_e)});return Wp($e)}function hs(){const A=ms.value?.querySelector(".pd-desc");if(!A)return;const _e=getComputedStyle(A),$e=Math.max(0,...At.map(de=>Vs(f(de.descKey),_e))),_t=Math.max(0,...yn.map(de=>Vs(f(de),_e))),j=window.innerWidth-96,G=de=>j>0?Math.min(de,j):de;_n.value=$e>0?`${Math.ceil(G($e))}px`:"",vs.value=_t>0?`${Math.ceil(G(_t))}px`:""}function xs(){typeof window>"u"||(Pn!==null&&window.cancelAnimationFrame(Pn),Ze(()=>{Pn=window.requestAnimationFrame(()=>{Pn=null,hs()})}))}Ne(v,xs,{immediate:!0}),xt(()=>{xs(),document.fonts?.ready.then(xs)}),St(()=>{Pn!==null&&(window.cancelAnimationFrame(Pn),Pn=null)});function js(A){p("setPermission",A),xn()}const Is=M(()=>At.find(A=>A.mode===s.status?.permission)),As=M(()=>Is.value?f(Is.value.labelKey):""),Hn=M(()=>Mt.value?.provider??""),os=M(()=>!Hn.value||!s.models?.length?[]:s.models.filter(A=>A.provider===Hn.value)),ys=M(()=>new Set(s.starredIds??[]));function ks(A){return ys.value.has(A)}const Ie=M(()=>s.models?.length?s.models.filter(A=>ks(A.id)&&A.provider!==Hn.value):[]);function H(A){p("selectModel",A),Ot()}return(A,_e)=>(l(),c("div",{class:pe(["composer",{"drag-over":a(ye),expanded:E.value}]),onDragover:_e[25]||(_e[25]=(...$e)=>a(Se)&&a(Se)(...$e)),onDragleave:_e[26]||(_e[26]=(...$e)=>a(Ae)&&a(Ae)(...$e)),onDrop:_e[27]||(_e[27]=(...$e)=>a(Xe)&&a(Xe)(...$e))},[a(J).length>0?(l(),c("div",C6,[(l(!0),c(ce,null,Pe(a(J),$e=>(l(),W(Zd,{key:$e.localId,kind:$e.kind,name:$e.name,url:$e.previewUrl,"file-id":$e.fileId,"media-type":$e.mediaType,size:$e.size,uploading:$e.uploading,error:$e.error,removable:"","remove-label":a(f)("composer.removeNamed",{name:$e.name}),onActivate:_t=>Lt($e),onRemove:_t=>a(st)($e.localId)},null,8,["kind","name","url","file-id","media-type","size","uploading","error","remove-label","onActivate","onRemove"]))),128))])):I("",!0),a(U)?(l(),c("div",{key:1,class:"att-lightbox",onClick:_e[1]||(_e[1]=De((...$e)=>a(pt)&&a(pt)(...$e),["self"]))},[r("div",_6,[w(ht,{text:a(f)("model.close")},{default:R(()=>[r("button",{type:"button",class:"att-lightbox-close",onClick:_e[0]||(_e[0]=(...$e)=>a(pt)&&a(pt)(...$e))},"✕")]),_:1},8,["text"]),a(U).kind==="video"?(l(),c("video",{key:0,class:"att-lightbox-media",src:a(U).previewUrl,controls:"",playsinline:""},null,8,M6)):(l(),c("img",{key:1,class:"att-lightbox-media",src:a(U).previewUrl,alt:a(U).name},null,8,$6)),r("div",T6,d(a(U).name),1)])])):I("",!0),r("div",x6,[r("div",I6,[a(D)?(l(),c(ce,{key:0},[a(Z)?(l(),W(ns,{key:0,to:"body"},[w(No,{modelValue:a(D),"onUpdate:modelValue":_e[3]||(_e[3]=$e=>ma(D)?D.value=$e:null),title:a(f)("mobile.slashMenuTitle")},{default:R(()=>[w(Bu,{matches:a(ee),query:a(Be),"active-index":a(ve),sheet:"",onSelect:a(le),onHover:_e[2]||(_e[2]=$e=>ve.value=$e)},null,8,["matches","query","active-index","onSelect"])]),_:1},8,["modelValue","title"])])):(l(),W(Bu,{key:1,ref_key:"slashMenuRef",ref:we,matches:a(ee),query:a(Be),"active-index":a(ve),onSelect:a(le),onHover:_e[4]||(_e[4]=$e=>ve.value=$e)},null,8,["matches","query","active-index","onSelect"]))],64)):I("",!0),a(ne)?(l(),c(ce,{key:1},[a(Z)?(l(),W(ns,{key:0,to:"body"},[w(No,{modelValue:a(ne),"onUpdate:modelValue":_e[6]||(_e[6]=$e=>ma(ne)?ne.value=$e:null),title:a(f)("mobile.mentionMenuTitle")},{default:R(()=>[w(Ru,{items:a(ae),"active-index":a(se),loading:a(ge),sheet:"",onSelect:a(F),onHover:_e[5]||(_e[5]=$e=>se.value=$e)},null,8,["items","active-index","loading","onSelect"])]),_:1},8,["modelValue","title"])])):(l(),W(Ru,{key:1,ref_key:"mentionMenuRef",ref:Oe,items:a(ae),"active-index":a(se),loading:a(ge),onSelect:a(F),onHover:_e[7]||(_e[7]=$e=>se.value=$e)},null,8,["items","active-index","loading","onSelect"]))],64)):I("",!0),r("div",A6,[bt(r("textarea",{ref_key:"textareaRef",ref:S,"onUpdate:modelValue":_e[8]||(_e[8]=$e=>ma(y)?y.value=$e:null),class:"ph",placeholder:u.value,disabled:e.starting,rows:"1",onKeydown:un,onCompositionstart:Kn,onCompositionend:Wt,onInput:ke,onBlur:oe},null,40,P6),[[On,a(y)]]),E.value||V.value?(l(),c("button",{key:0,class:"expand-btn",type:"button","aria-label":E.value?a(f)("composer.collapseTitle"):a(f)("composer.expandTitle"),onClick:L},[E.value?(l(),W(X,{key:0,name:"collapse",size:"sm"})):(l(),W(X,{key:1,name:"expand",size:"sm"}))],8,E6)):I("",!0)])]),Gn.value?(l(),c("input",{key:0,ref_key:"fileInputRef",ref:Y,type:"file",multiple:"",class:"file-input-hidden",onChange:_e[9]||(_e[9]=(...$e)=>a(Te)&&a(Te)(...$e))},null,544)):I("",!0),r("div",{ref_key:"toolbarRef",ref:wn,class:"toolbar"},[r("div",{ref_key:"menuMeasureRef",ref:ms,class:"menu-measure","aria-hidden":"true"},[..._e[28]||(_e[28]=[r("span",{class:"pd-desc"},null,-1)])],512),r("div",B6,[Gn.value?(l(),W(rt,{key:0,size:"md",label:a(f)("composer.attachFile"),onClick:a(Me)},{default:R(()=>[w(X,{name:"attachment"})]),_:1},8,["label","onClick"])):I("",!0),e.status?(l(),c("span",{key:1,class:pe(["perm-pill",["perm-"+e.status.permission,{open:Ut.value}]]),role:"button",tabindex:"0",onClick:De(fn,["stop"]),onKeydown:[$n(fn,["enter"]),$n(De(fn,["prevent"]),["space"])]},d(As.value),43,L6)):I("",!0),Ut.value&&e.status?(l(),c("div",{key:2,class:"perm-dropdown",style:gt($s.value),role:"menu",onClick:_e[10]||(_e[10]=De(()=>{},["stop"]))},[(l(),c(ce,null,Pe(At,$e=>r("button",{key:$e.mode,class:pe(["pd-row",{"is-current":$e.mode===e.status.permission}]),role:"menuitem",onClick:_t=>js($e.mode)},[r("span",D6,[$e.mode===e.status.permission?(l(),W(X,{key:0,name:"check",size:"sm"})):I("",!0)]),r("span",O6,[r("span",{class:"pd-name",style:gt({color:$e.color})},d(a(f)($e.labelKey)),5),r("span",z6,d(a(f)($e.descKey)),1)])],10,R6)),64))],4)):I("",!0),e.status?(l(),c("span",{key:3,ref_key:"addMenuRef",ref:Yn,class:"add-menu-anchor"},[w(rt,{size:"md",label:a(f)("composer.addMenu"),class:pe({"is-open":en.value}),onClick:zt},{default:R(()=>[w(X,{name:"plus"})]),_:1},8,["label","class"])],512)):I("",!0),(l(),W(ns,{to:"body"},[en.value&&a(Z)?(l(),W(No,{key:0,modelValue:en.value,"onUpdate:modelValue":_e[11]||(_e[11]=$e=>en.value=$e),title:a(f)("mobile.addMenuTitle")},{default:R(()=>[(l(!0),c(ce,null,Pe(fs.value,$e=>(l(),c("button",{key:$e.key,type:"button",class:pe(["pd-row",{"is-current":$e.current}]),role:"menuitem",onClick:$e.pick},[r("span",N6,[w(X,{name:$e.icon,size:"sm"},null,8,["name"])]),r("span",W6,[r("span",q6,d($e.label),1),r("span",H6,d($e.desc),1)])],10,F6))),128))]),_:1},8,["modelValue","title"])):en.value?(l(),c("div",{key:1,ref_key:"addMenuPopupRef",ref:Ce,class:"add-menu",style:gt(Hs.value),role:"menu"},[(l(!0),c(ce,null,Pe(fs.value,$e=>(l(),c("button",{key:$e.key,type:"button",class:pe(["pd-row",{"is-current":$e.current}]),role:"menuitem",onClick:$e.pick},[r("span",V6,[w(X,{name:$e.icon,size:"sm"},null,8,["name"])]),r("span",j6,[r("span",K6,d($e.label),1),r("span",G6,d($e.desc),1)])],10,U6))),128))],4)):I("",!0)])),e.status?(l(),c("span",{key:4,class:pe(["mode-chip",{on:T.value}])},[r("button",{type:"button",class:"mode-chip-main","aria-pressed":T.value,onClick:_e[12]||(_e[12]=$e=>p("togglePlan"))},[w(X,{name:"file-edit",size:"sm"}),r("span",null,d(a(f)("status.planLabel")),1)],8,Q6),T.value?(l(),c("button",{key:0,type:"button",class:"mode-chip-x","aria-label":a(f)("status.workModeDismiss",{mode:a(f)("status.planLabel")}),onClick:_e[13]||(_e[13]=$e=>p("dismissPlan"))},[w(X,{name:"close",size:"sm"})],8,Y6)):I("",!0)],2)):I("",!0),e.status?(l(),c("span",{key:5,class:pe(["mode-chip",{on:$.value}])},[r("button",{type:"button",class:"mode-chip-main","aria-pressed":$.value,onClick:_e[14]||(_e[14]=$e=>m.value?p("focusGoal"):p("toggleGoal"))},[w(X,{name:"target",size:"sm"}),r("span",null,d(a(f)("status.goalLabel")),1)],8,Z6),e.goalMode?(l(),c("button",{key:0,type:"button",class:"mode-chip-x","aria-label":a(f)("status.workModeDismiss",{mode:a(f)("status.goalLabel")}),onClick:_e[15]||(_e[15]=$e=>p("toggleGoal"))},[w(X,{name:"close",size:"sm"})],8,X6)):I("",!0)],2)):I("",!0),e.status?(l(),c("span",{key:6,class:pe(["mode-chip",{on:dn.value}])},[r("button",{type:"button",class:"mode-chip-main","aria-pressed":dn.value,onClick:_e[16]||(_e[16]=$e=>p("toggleSwarm"))},[w(X,{name:"sparkles",size:"sm"}),r("span",null,d(a(f)("status.swarmLabel")),1)],8,J6),dn.value?(l(),c("button",{key:0,type:"button",class:"mode-chip-x","aria-label":g("swarm"),onClick:_e[17]||(_e[17]=$e=>p("toggleSwarm"))},[w(X,{name:"close",size:"sm"})],8,e9)):I("",!0)],2)):I("",!0),e.status?(l(),c("span",{key:7,class:pe(["mode-chip",{on:mn.value}])},[r("button",{type:"button",class:"mode-chip-main","aria-pressed":mn.value,onClick:_e[18]||(_e[18]=$e=>p("toggleSupermoon"))},[w(X,{name:"moon-stars",size:"sm"}),r("span",null,d(a(f)("status.supermoonLabel")),1)],8,t9),mn.value?(l(),c("button",{key:0,type:"button",class:"mode-chip-x","aria-label":g("supermoon"),onClick:_e[19]||(_e[19]=$e=>p("toggleSupermoon"))},[w(X,{name:"close",size:"sm"})],8,n9)):I("",!0)],2)):I("",!0)]),r("div",s9,[an.value?(l(),c("button",{key:0,class:"compact-chip",onClick:_e[20]||(_e[20]=De($e=>p("compact"),["stop"]))},"/compact")):I("",!0),w(ht,{text:Ct.value},{default:R(()=>[e.status&&!e.hideContext?(l(),c("span",{key:0,class:"ctx-group",role:"img",tabindex:"0","aria-label":Ct.value},[w(S6,{pct:In.value},null,8,["pct"])],8,o9)):I("",!0)]),_:1},8,["text"]),e.status?(l(),c("span",{key:1,class:pe(["model-pill",{open:Yt.value}]),role:"button",tabindex:"0",onClick:De(Qn,["stop"]),onKeydown:[$n(Qn,["enter"]),$n(De(Qn,["prevent"]),["space"])]},[r("b",null,d(e.status.model),1),hn.value?(l(),c("span",a9,d(hn.value),1)):I("",!0),w(X,{class:"cv",name:"chevron-down",size:"sm"})],42,i9)):I("",!0),e.running?(l(),W(ht,{key:2,text:a(f)("composer.interruptTitle")},{default:R(()=>[r("button",{class:"stop","aria-label":a(f)("composer.interrupt"),onClick:_e[21]||(_e[21]=$e=>p("interrupt"))},[w(X,{name:"stop",size:"sm"})],8,l9)]),_:1},8,["text"])):I("",!0),r("button",{class:pe(["send",{"is-starting":e.starting}]),"aria-label":ss.value,title:Jt.value?a(f)("composer.noModelGate"):void 0,disabled:e.starting,onClick:_e[22]||(_e[22]=$e=>Ht())},[e.starting?(l(),W(Qt,{key:0,size:"sm"})):(l(),W(X,{key:1,name:"send",size:"sm"}))],10,r9)]),Yt.value&&e.status?(l(),c("div",{key:0,class:"model-dropdown",role:"menu",onClick:_e[24]||(_e[24]=De(()=>{},["stop"]))},[Ie.value.length>0?(l(),c("div",u9,d(a(f)("status.starredModels")),1)):I("",!0),(l(!0),c(ce,null,Pe(Ie.value,$e=>(l(),c("button",{key:$e.id,class:pe(["md-row",{"is-current":$e.id===e.status.modelId}]),role:"menuitem",onClick:_t=>H($e.id)},[r("span",d9,[$e.id===e.status.modelId?(l(),W(X,{key:0,name:"check",size:"sm"})):I("",!0)]),r("span",p9,d($e.displayName??$e.model),1),r("span",f9,d($e.provider),1),w(X,{class:"md-star",name:"star",size:"sm"})],10,c9))),128)),Ie.value.length>0?(l(),c("div",m9)):I("",!0),os.value.length>0?(l(),c("div",v9,d(Hn.value),1)):I("",!0),(l(!0),c(ce,null,Pe(os.value,$e=>(l(),c("button",{key:$e.id,class:pe(["md-row",{"is-current":$e.id===e.status.modelId}]),role:"menuitem",onClick:_t=>H($e.id)},[r("span",h9,[$e.id===e.status.modelId?(l(),W(X,{key:0,name:"check",size:"sm"})):I("",!0)]),r("span",y9,d($e.displayName??$e.model),1),ks($e.id)?(l(),W(X,{key:0,class:"md-star",name:"star",size:"sm"})):I("",!0)],10,g9))),128)),os.value.length>0?(l(),c("div",k9)):I("",!0),r("div",{class:pe(["md-thinking",{"is-readonly":Cn.value}])},[r("span",b9,d(a(f)("status.thinkingLabel")),1),Sn.value==="unsupported"?(l(),c("span",w9,d(a(f)("status.modeNotSupported")),1)):(l(),c("div",{key:1,class:"effort-segments",role:"group","aria-label":a(f)("status.thinkingLabel")},[(l(!0),c(ce,null,Pe(Et.value,$e=>(l(),c("button",{key:$e,type:"button",class:pe(["effort-seg",{"is-active":$e===zn.value}]),disabled:Cn.value,onClick:_t=>Fn($e)},d(An($e)),11,C9))),128))],8,S9))],2),_e[29]||(_e[29]=r("div",{class:"md-divider"},null,-1)),r("div",_9,d(a(f)("status.cacheNote")),1),_e[30]||(_e[30]=r("div",{class:"md-divider"},null,-1)),r("button",{class:"md-row md-row-more",role:"menuitem",onClick:_e[23]||(_e[23]=$e=>{Ot(),p("pickModel")})},[r("span",M9,d(a(f)("status.moreModels")),1)])])):I("",!0)],512)]),r("div",{class:pe(["drop-overlay",{show:a(ye)}]),"aria-hidden":"true"},[r("div",$9,[w(X,{name:"file-plus",size:"lg"}),r("span",null,d(a(f)("composer.dropToAttach")),1)])],2)],34))}}),pp=Le(T9,[["__scopeId","data-v-67e4d9ee"]]),x9={key:0,class:"ui-card__head"},I9={class:"ui-card__body"},A9={key:1,class:"ui-card__foot"},P9=Ee({__name:"Card",props:{elevated:{type:Boolean,default:!1}},setup(e){return(t,n)=>(l(),c("div",{class:pe(["ui-card",{"is-elevated":e.elevated}])},[t.$slots.head?(l(),c("div",x9,[Pt(t.$slots,"head",{},void 0,!0)])):I("",!0),r("div",I9,[Pt(t.$slots,"default",{},void 0,!0)]),t.$slots.foot?(l(),c("div",A9,[Pt(t.$slots,"foot",{},void 0,!0)])):I("",!0)],2))}}),ar=Le(P9,[["__scopeId","data-v-9c9f9a9a"]]),E9={class:"goal-kicker"},B9={key:0,class:"goal-progress","aria-hidden":"true"},L9={class:"goal-full"},R9={key:0,class:"goal-criterion"},D9=["inert","aria-hidden"],O9={class:"goal-meta"},z9={key:0},F9={class:"goal-actions"},N9=Ee({__name:"GoalStrip",props:{goal:{},forceExpanded:{}},emits:["controlGoal"],setup(e,{emit:t}){const n=e,s=t,{t:o}=Ye(),{confirm:i}=xo(),u=x(!1);Ne(()=>n.forceExpanded,()=>{n.forceExpanded!==void 0&&(u.value=!0)});const p=M(()=>{const T=n.goal.budget.tokenBudget;return!T||T<=0?0:Math.max(0,Math.min(100,Math.round(n.goal.tokensUsed/T*100)))});function f(T){switch(T){case"active":return o("status.goalStatusActive");case"paused":return o("status.goalStatusPaused");case"blocked":return o("status.goalStatusBlocked");case"complete":return o("status.goalStatusComplete")}}function v(T){const h=Math.max(0,Math.round(T/1e3)),m=Math.floor(h/60),$=h%60;return m<=0?`${$}s`:m<60?`${m}m ${$}s`:`${Math.floor(m/60)}h ${m%60}m`}async function k(){await i({title:o("status.goalCancel"),message:o("status.goalCancelConfirm"),confirmLabel:o("status.goalCancelConfirmYes"),cancelLabel:o("status.goalCancelConfirmNo"),variant:"danger"})&&s("controlGoal","cancel")}return(T,h)=>(l(),W(ar,{class:pe(["goal-strip",{expanded:u.value}])},{head:R(()=>[r("button",{class:"goal-row",type:"button",onClick:h[0]||(h[0]=m=>u.value=!u.value)},[w(X,{class:"goal-icon",name:"target",size:"md"}),r("span",E9,d(a(o)("status.goalLabel")),1),r("span",{class:pe(["goal-objective",{"expanded-hidden":u.value}])},d(e.goal.objective),3),w(Bt,{variant:e.goal.status==="active"?"success":e.goal.status==="blocked"?"danger":e.goal.status==="paused"?"warning":"neutral",size:"sm",class:"goal-status"},{default:R(()=>[te(d(f(e.goal.status)),1)]),_:1},8,["variant"]),e.goal.budget.tokenBudget!==null?(l(),c("span",B9,[r("span",{class:"goal-progress-fill",style:gt({width:`${p.value}%`})},null,4)])):I("",!0),w(X,{class:pe(["goal-chevron",{open:u.value}]),name:"chevron-right",size:"md"},null,8,["class"])])]),default:R(()=>[r("div",L9,d(e.goal.objective),1),e.goal.completionCriterion?(l(),c("div",R9,[r("span",null,d(a(o)("workspace.doneWhen")),1),r("p",null,d(e.goal.completionCriterion),1)])):I("",!0)]),foot:R(()=>[r("div",{class:"goal-footer",inert:!u.value,"aria-hidden":!u.value},[r("div",O9,[r("span",null,d(e.goal.turnsUsed)+" turns",1),r("span",null,d(a(cs)(e.goal.tokensUsed))+" tokens",1),r("span",null,d(v(e.goal.wallClockMs)),1),e.goal.budget.tokenBudget!==null?(l(),c("span",z9,d(p.value)+"% token budget",1)):I("",!0)]),r("div",F9,[e.goal.status==="active"?(l(),W(je,{key:0,size:"sm",variant:"secondary",class:"goal-action",onClick:h[1]||(h[1]=De(m=>s("controlGoal","pause"),["stop"]))},{default:R(()=>[w(X,{name:"pause",size:"md"}),r("span",null,d(a(o)("status.goalPause")),1)]),_:1})):I("",!0),e.goal.status==="paused"||e.goal.status==="blocked"?(l(),W(je,{key:1,size:"sm",variant:"primary",class:"goal-action",onClick:h[2]||(h[2]=De(m=>s("controlGoal","resume"),["stop"]))},{default:R(()=>[w(X,{name:"play",size:"md"}),r("span",null,d(a(o)("status.goalResume")),1)]),_:1})):I("",!0),w(je,{size:"sm",variant:"danger-soft",class:"goal-action",onClick:De(k,["stop"])},{default:R(()=>[w(X,{name:"close",size:"md"}),r("span",null,d(a(o)("status.goalCancel")),1)]),_:1})])],8,D9)]),_:1},8,["class"]))}}),W9=Le(N9,[["__scopeId","data-v-9e444f61"]]),q9={class:"qh"},H9={class:"qtitle"},U9={key:0,class:"qstep"},V9={key:1,class:"qmin-peek"},j9=["aria-label"],K9=["aria-selected","aria-label","onClick"],G9={class:"qstep-num"},Q9={key:1,class:"qheader-chip"},Y9={class:"qtext"},Z9={class:"qopts"},X9=["onClick"],J9={class:"qopt-key"},eI={class:"qopt-glyph"},tI={key:0,class:"chk"},nI={key:1,class:"rad"},sI={class:"qopt-text"},oI={class:"qopt-label"},iI={key:0,class:"qopt-desc"},aI={class:"qopt-glyph"},lI={key:0,class:"chk"},rI={key:1,class:"rad"},uI={class:"qopt-label"},cI=["placeholder"],dI={class:"qfoot"},pI=Ee({__name:"QuestionCard",props:{question:{},busyKind:{}},emits:["answer","dismiss"],setup(e,{emit:t}){const n=e,{t:s}=Ye(),o=t,i=x(0),u=x(!1),p=M(()=>n.question.questions[i.value]),f=M(()=>n.question.questions.length);function v(){i.value>0&&i.value--}function k(){i.value=0&&ie{await Ze(),h.value?.scrollTo({top:0})});function m(ie){const le=g.value[ie];return le?le.kind==="multi"?le.optionIds.length>0:le.kind==="multiWithOther"?le.optionIds.length>0||le.otherText.trim().length>0:le.kind==="other"?le.text.trim().length>0:!0:!1}function $(){return m(p.value.id)}const g=x({});function y(ie){return ie.recommended===!0?!0:/\b(?:recommended|recommend)\b|推荐/.test(`${ie.label} ${ie.description??""}`.toLowerCase())}function S(){const ie={...g.value};let le=!1;for(const ne of n.question.questions){if(ie[ne.id])continue;const ae=ne.options.filter(y);ae.length!==0&&(ie[ne.id]=ne.multiSelect?{kind:"multi",optionIds:ae.map(se=>se.id)}:{kind:"single",optionId:ae[0].id},le=!0)}le&&(g.value=ie)}Ne(()=>n.question.questionId,()=>{i.value=0,u.value=!1,g.value={},P.value={}}),Ne(()=>n.question,()=>{i.value>=n.question.questions.length&&(i.value=0),S()},{immediate:!0,deep:!0});function B(ie,le){const ne=g.value[ie];if(ne&&ne.kind==="single"&&ne.optionId===le){const ae={...g.value};delete ae[ie],g.value=ae}else g.value={...g.value,[ie]:{kind:"single",optionId:le}}}function b(ie,le){const ne=g.value[ie],ae=ne&&(ne.kind==="multi"||ne.kind==="multiWithOther")?ne.kind==="multi"?[...ne.optionIds]:[...ne.optionIds]:[],se=ae.indexOf(le);se>=0?ae.splice(se,1):ae.push(le);const ge=g.value[ie],re=ge&&ge.kind==="multiWithOther"?ge.otherText:"";re?g.value={...g.value,[ie]:{kind:"multiWithOther",optionIds:ae,otherText:re}}:g.value={...g.value,[ie]:{kind:"multi",optionIds:ae}}}const P=x({}),E=x(null);function L(ie){const le=n.question.questions.find(ae=>ae.id===ie);if(!le)return;const ne=P.value[ie]??"";if(le.multiSelect){const ae=g.value[ie],se=ae&&(ae.kind==="multi"||ae.kind==="multiWithOther")?ae.kind==="multi"?[...ae.optionIds]:[...ae.optionIds]:[];g.value={...g.value,[ie]:{kind:"multiWithOther",optionIds:se,otherText:ne}}}else g.value={...g.value,[ie]:{kind:"other",text:ne}}}function N(ie){L(ie),Ze(()=>E.value?.focus())}function Q(ie,le){const ne=g.value[ie];return ne?ne.kind==="single"?ne.optionId===le:ne.kind==="multi"||ne.kind==="multiWithOther"?ne.optionIds.includes(le):!1:!1}function V(ie){const le=g.value[ie];return!!(le&&(le.kind==="other"||le.kind==="multiWithOther"))}function _(){return n.question.questions.every(ie=>m(ie.id))}const z=M(()=>n.busyKind==="answer"),D=M(()=>n.busyKind==="dismiss"),ee=M(()=>!!n.busyKind);function me(){if(ee.value||!_())return;const ie={answers:g.value,method:"click"};o("answer",n.question.questionId,ie)}function ve(){ee.value||o("dismiss",n.question.questionId)}function Be(ie){const le=(document.activeElement?.tagName??"").toLowerCase(),ne=le==="input"||le==="textarea";if(ee.value)return;if(ie.key==="Enter"){if(ie.preventDefault(),u.value)return;i.value=1&&ae<=9){ie.preventDefault();const se=p.value,ge=ae-1,re=se.options[ge];re&&(se.multiSelect?b(se.id,re.id):B(se.id,re.id))}}return xt(()=>document.addEventListener("keydown",Be)),St(()=>document.removeEventListener("keydown",Be)),(ie,le)=>(l(),W(ar,{class:pe(["qcard",{minimized:u.value}])},nc({head:R(()=>[r("div",q9,[le[5]||(le[5]=r("span",{class:"qh-ic"},"?",-1)),r("span",H9,d(a(s)("question.title")),1),f.value>1&&!u.value?(l(),c("span",U9,d(a(s)("question.step",{current:i.value+1,total:f.value})),1)):I("",!0),u.value?(l(),c("span",V9,d(p.value.question),1)):I("",!0),w(rt,{class:"qmin",size:"sm",label:u.value?a(s)("question.expand"):a(s)("question.minimize"),onClick:le[0]||(le[0]=ne=>u.value=!u.value)},{default:R(()=>[u.value?(l(),W(X,{key:0,name:"chevron-up",size:"md"})):(l(),W(X,{key:1,name:"minus",size:"md"}))]),_:1},8,["label"])])]),_:2},[u.value?void 0:{name:"default",fn:R(()=>[r("div",{ref_key:"bodyScrollRef",ref:h,class:"qbody"},[f.value>1?(l(),c("div",{key:0,class:"qsteps",role:"tablist","aria-label":a(s)("question.step",{current:i.value+1,total:f.value})},[(l(!0),c(ce,null,Pe(n.question.questions,(ne,ae)=>(l(),c("button",{key:ne.id,type:"button",class:pe(["qstep-dot",{active:ae===i.value,answered:m(ne.id)}]),"aria-selected":ae===i.value,"aria-label":a(s)("question.step",{current:ae+1,total:f.value}),onClick:se=>T(ae)},[r("span",G9,d(ae+1),1)],10,K9))),128))],8,j9)):I("",!0),p.value.header?(l(),c("div",Q9,[w(Bt,{variant:"neutral",size:"sm"},{default:R(()=>[te(d(p.value.header),1)]),_:1})])):I("",!0),r("div",Y9,d(p.value.question),1),p.value.body?(l(),W(bi,{key:2,text:p.value.body,class:"qmdbody"},null,8,["text"])):I("",!0),r("div",Z9,[(l(!0),c(ce,null,Pe(p.value.options,(ne,ae)=>(l(),c("label",{key:ne.id,class:pe(["qopt",{selected:Q(p.value.id,ne.id)}]),onClick:De(se=>p.value.multiSelect?b(p.value.id,ne.id):B(p.value.id,ne.id),["prevent"])},[r("span",J9,d(ae+1),1),r("span",eI,[p.value.multiSelect?(l(),c("span",tI,d(Q(p.value.id,ne.id)?"■":"□"),1)):(l(),c("span",nI,d(Q(p.value.id,ne.id)?"●":"○"),1))]),r("span",sI,[r("span",oI,d(ne.label),1),ne.description?(l(),c("span",iI,d(ne.description),1)):I("",!0)])],10,X9))),128)),p.value.allowOther?(l(),c("label",{key:0,class:pe(["qopt",{selected:V(p.value.id)}]),onClick:le[4]||(le[4]=De(ne=>N(p.value.id),["prevent"]))},[le[6]||(le[6]=r("span",{class:"qopt-key"},null,-1)),r("span",aI,[p.value.multiSelect?(l(),c("span",lI,d(V(p.value.id)?"■":"□"),1)):(l(),c("span",rI,d(V(p.value.id)?"●":"○"),1))]),r("span",uI,d(p.value.otherLabel??a(s)("question.otherDefault")),1),bt(r("input",{ref_key:"otherInputEl",ref:E,"onUpdate:modelValue":le[1]||(le[1]=ne=>P.value[p.value.id]=ne),class:"other-input",type:"text",placeholder:p.value.otherLabel??a(s)("question.otherDefault"),onInput:le[2]||(le[2]=ne=>L(p.value.id)),onFocus:le[3]||(le[3]=ne=>L(p.value.id))},null,40,cI),[[On,P.value[p.value.id]]])],2)):I("",!0)])],512)]),key:"0"},u.value?void 0:{name:"foot",fn:R(()=>[r("div",dI,[i.value[te(d(a(s)("question.nextQuestion")),1)]),_:1},8,["disabled"])):(l(),W(je,{key:1,class:"qfoot-btn qfoot-main",size:"sm",variant:"primary",disabled:!_(),loading:z.value,onClick:me},{default:R(()=>[te(d(a(s)("question.submit")),1)]),_:1},8,["disabled","loading"])),f.value>1?(l(),W(je,{key:2,class:"qfoot-btn",size:"sm",variant:"secondary",disabled:i.value===0||ee.value,onClick:v},{default:R(()=>[te(d(a(s)("question.back")),1)]),_:1},8,["disabled"])):I("",!0),w(je,{class:"qfoot-btn",size:"sm",variant:"ghost",loading:D.value,disabled:ee.value,onClick:ve},{default:R(()=>[te(d(a(s)("question.dismiss")),1)]),_:1},8,["loading","disabled"])])]),key:"1"}]),1032,["class"]))}}),fI=Le(pI,[["__scopeId","data-v-fe9d5a9a"]]),mI={class:"ah"},vI={class:"akind"},gI={class:"apath"},hI={class:"ah-path"},yI={key:1,class:"diff"},kI={class:"dg"},bI={class:"dc"},wI={key:2,class:"body-shell"},SI={class:"shell-cmd"},CI={key:0,class:"shell-cwd"},_I={key:1,class:"shell-danger"},MI={key:3,class:"body-file"},$I={class:"file-bar"},TI={class:"file-lang"},xI={class:"file-content"},II={class:"file-ln"},AI={class:"file-text"},PI={key:4,class:"body-chip"},EI={class:"chip-label"},BI={class:"chip-value"},LI={key:0,class:"chip-detail"},RI={key:5,class:"body-chip"},DI={key:0,class:"chip-label"},OI={class:"chip-value"},zI={key:6,class:"body-chip"},FI={class:"chip-label"},NI={class:"chip-value"},WI={key:0,class:"chip-detail"},qI={key:7,class:"body-chip"},HI={class:"chip-label"},UI={class:"chip-value"},VI={key:0,class:"chip-detail"},jI={key:8,class:"body-todo"},KI={class:"todo-glyph"},GI={key:9,class:"body-plan"},QI={key:10,class:"body-generic"},YI={class:"gen-text"},ZI={key:11,class:"feedback-wrap"},XI=["placeholder"],JI={class:"feedback-hint"},e7={key:0,class:"plan-actions"},t7={key:1,class:"abtn"},n7=Ee({__name:"ApprovalCard",props:{block:{},agentName:{},busy:{type:Boolean}},emits:["decide"],setup(e,{emit:t}){const n=e,s=t,{t:o}=Ye(),i=M(()=>{const _=n.block;return _.kind!=="plan_review"?null:{plan:_.plan,path:_.path,options:_.options??[]}}),u=x(!1),p=["shell","diff","file","fileop","url","search","invocation","todo","plan_review","generic"];function f(){const _=p.includes(n.block.kind)?n.block.kind:"generic";return o(`approval.title.${_}`)}const v=x(!1),k=x(""),T=x(null);function h(){n.busy||(v.value=!0,k.value="",setTimeout(()=>T.value?.focus(),0))}function m(){if(n.busy)return;const _=k.value.trim();i.value?S("feedback",{decision:"rejected",selectedLabel:"Revise",feedback:_||void 0}):S("feedback",{decision:"rejected",feedback:_||void 0}),v.value=!1,k.value=""}function $(){v.value=!1,k.value=""}function g(_){_.key==="Enter"&&!_.shiftKey?(_.preventDefault(),m()):_.key==="Escape"&&(_.preventDefault(),$())}const y=x(null);Ne(()=>n.busy,_=>{_||(y.value=null)});function S(_,z){n.busy||(y.value=_,s("decide",z))}function B(){S("approve",{decision:"approved"})}function b(){S("approveSession",{decision:"approved",scope:"session"})}function P(){S("reject",{decision:"rejected"})}function E(){S("approvePlan",{decision:"approved"})}function L(_){S(`option:${_}`,{decision:"approved",selectedLabel:_})}function N(){n.busy||h()}function Q(){S("rejectAndExit",{decision:"rejected",selectedLabel:"Reject and Exit"})}function V(_){const z=(document.activeElement?.tagName??"").toLowerCase();if(z==="input"||z==="textarea"||n.busy||u.value)return;const D=i.value;if(D){if(D.options.length===0){_.key==="1"?(_.preventDefault(),E()):_.key==="2"?(_.preventDefault(),N()):_.key==="3"&&(_.preventDefault(),Q());return}_.key==="1"&&D.options[0]?(_.preventDefault(),L(D.options[0].label)):_.key==="2"&&D.options[1]?(_.preventDefault(),L(D.options[1].label)):_.key==="3"&&D.options[2]&&(_.preventDefault(),L(D.options[2].label));return}_.key==="1"?(_.preventDefault(),B()):_.key==="2"?(_.preventDefault(),b()):_.key==="3"?(_.preventDefault(),P()):_.key==="4"&&(_.preventDefault(),h())}return xt(()=>document.addEventListener("keydown",V)),St(()=>document.removeEventListener("keydown",V)),(_,z)=>(l(),W(ar,{class:pe(["appr",{minimized:u.value}])},nc({head:R(()=>[r("div",mI,[z[2]||(z[2]=r("span",{class:"ah-ic"},"!",-1)),r("span",vI,d(f()),1),r("span",gI,[e.block.kind==="diff"||e.block.kind==="file"||e.block.kind==="fileop"?(l(),c(ce,{key:0},[te(d(e.block.path),1)],64)):e.block.kind==="shell"?(l(),c(ce,{key:1},[te(d(e.block.command),1)],64)):e.block.kind==="url"?(l(),c(ce,{key:2},[te(d(e.block.url),1)],64)):e.block.kind==="search"?(l(),c(ce,{key:3},[te(d(e.block.query),1)],64)):e.block.kind==="invocation"?(l(),c(ce,{key:4},[te(d(e.block.name),1)],64)):e.block.kind==="generic"?(l(),c(ce,{key:5},[te(d(e.block.summary),1)],64)):I("",!0)]),e.agentName&&!u.value?(l(),W(Bt,{key:0,variant:"neutral",size:"sm"},{default:R(()=>[te(d(a(o)("approval.subagentBadge",{name:e.agentName})),1)]),_:1})):I("",!0),u.value?I("",!0):(l(),W(Bt,{key:1,variant:"warning",size:"sm",class:"aw"},{default:R(()=>[te(d(a(o)("approval.required")),1)]),_:1})),w(rt,{class:"amin",size:"sm",label:u.value?a(o)("question.expand"):a(o)("question.minimize"),onClick:z[0]||(z[0]=D=>u.value=!u.value)},{default:R(()=>[u.value?(l(),W(X,{key:0,name:"chevron-up",size:"md"})):(l(),W(X,{key:1,name:"minus",size:"md"}))]),_:1},8,["label"])])]),_:2},[u.value?void 0:{name:"default",fn:R(()=>[e.block.kind==="plan_review"&&e.block.path?(l(),W(ht,{key:0,text:e.block.path},{default:R(()=>[r("div",hI,d(e.block.path),1)]),_:1},8,["text"])):I("",!0),e.block.kind==="diff"?(l(),c("div",yI,[(l(!0),c(ce,null,Pe(e.block.diff,(D,ee)=>(l(),c("div",{key:ee,class:pe(["dl",D.kind==="add"?"add":D.kind==="rem"?"del":""])},[r("span",kI,d(D.gutter),1),r("span",bI,d(D.text),1)],2))),128))])):e.block.kind==="shell"?(l(),c("div",wI,[r("div",SI,[z[3]||(z[3]=r("span",{class:"shell-dollar"},"$",-1)),te(" "+d(e.block.command),1)]),e.block.cwd?(l(),c("div",CI,"cwd: "+d(e.block.cwd),1)):I("",!0),e.block.danger?(l(),c("div",_I,d(a(o)("approval.danger",{detail:e.block.danger})),1)):I("",!0)])):e.block.kind==="file"?(l(),c("div",MI,[r("div",$I,[r("span",TI,d(e.block.language??""),1)]),r("div",xI,[(l(!0),c(ce,null,Pe(e.block.content.split(`
-`),(D,ee)=>(l(),c("div",{key:ee,class:"file-line"},[r("span",II,d(ee+1),1),r("span",AI,d(D),1)]))),128))])])):e.block.kind==="fileop"?(l(),c("div",PI,[r("span",EI,d(e.block.op),1),r("span",BI,d(e.block.path),1),e.block.detail?(l(),c("span",LI,d(e.block.detail),1)):I("",!0)])):e.block.kind==="url"?(l(),c("div",RI,[e.block.method?(l(),c("span",DI,d(e.block.method),1)):I("",!0),r("span",OI,d(e.block.url),1)])):e.block.kind==="search"?(l(),c("div",zI,[r("span",FI,d(a(o)("approval.searchQueryLabel")),1),r("span",NI,d(e.block.query),1),e.block.scope?(l(),c("span",WI,d(a(o)("approval.searchScope",{scope:e.block.scope})),1)):I("",!0)])):e.block.kind==="invocation"?(l(),c("div",qI,[r("span",HI,d(e.block.kind2),1),r("span",UI,d(e.block.name),1),e.block.description?(l(),c("span",VI,d(e.block.description),1)):I("",!0)])):e.block.kind==="todo"?(l(),c("div",jI,[(l(!0),c(ce,null,Pe(e.block.items,(D,ee)=>(l(),c("div",{key:ee,class:"todo-item"},[r("span",KI,d(D.status==="done"||D.status==="completed"?"✓":"○"),1),r("span",{class:pe(["todo-title",{"todo-done":D.status==="done"||D.status==="completed"}])},d(D.title),3)]))),128))])):e.block.kind==="plan_review"?(l(),c("div",GI,[w(bi,{text:e.block.plan},null,8,["text"])])):(l(),c("div",QI,[r("span",YI,d(e.block.summary),1)])),v.value?(l(),c("div",ZI,[bt(r("textarea",{ref_key:"feedbackRef",ref:T,"onUpdate:modelValue":z[1]||(z[1]=D=>k.value=D),class:"feedback-ta",placeholder:a(o)("approval.feedbackPlaceholder"),rows:"2",onKeydown:g},null,40,XI),[[On,k.value]]),r("div",JI,d(a(o)("approval.feedbackHint")),1)])):I("",!0)]),key:"0"},u.value?void 0:{name:"foot",fn:R(()=>[i.value?(l(),c("div",e7,[i.value.options.length>0?(l(!0),c(ce,{key:0},Pe(i.value.options,(D,ee)=>(l(),W(ht,{key:ee,text:D.description},{default:R(()=>[w(je,{class:"kbtn",size:"sm",variant:"primary",loading:y.value===`option:${D.label}`,disabled:e.busy,onClick:me=>L(D.label)},{default:R(()=>[te(d(D.label),1),w(Es,{class:"k",keys:[String(ee+1)]},null,8,["keys"])]),_:2},1032,["loading","disabled","onClick"])]),_:2},1032,["text"]))),128)):(l(),W(je,{key:1,class:"kbtn",size:"sm",variant:"primary",loading:y.value==="approvePlan",disabled:e.busy,onClick:E},{default:R(()=>[te(d(a(o)("approval.approvePlan")),1),w(Es,{class:"k",keys:["1"]})]),_:1},8,["loading","disabled"])),w(je,{class:"kbtn",size:"sm",variant:"secondary",disabled:e.busy,onClick:N},{default:R(()=>[te(d(a(o)("approval.revise")),1),i.value.options.length===0?(l(),W(Es,{key:0,class:"k",keys:["2"]})):I("",!0)]),_:1},8,["disabled"]),w(je,{class:"kbtn",size:"sm",variant:"danger-soft",loading:y.value==="rejectAndExit",disabled:e.busy,onClick:Q},{default:R(()=>[te(d(a(o)("approval.rejectAndExit")),1),i.value.options.length===0?(l(),W(Es,{key:0,class:"k",keys:["3"]})):I("",!0)]),_:1},8,["loading","disabled"])])):(l(),c("div",t7,[w(je,{class:"kbtn",size:"sm",variant:"primary",loading:y.value==="approve",disabled:e.busy,onClick:B},{default:R(()=>[te(d(a(o)("approval.approve")),1),w(Es,{class:"k",keys:["1"]})]),_:1},8,["loading","disabled"]),w(je,{class:"kbtn",size:"sm",variant:"secondary",loading:y.value==="approveSession",disabled:e.busy,onClick:b},{default:R(()=>[te(d(a(o)("approval.approveSession")),1),w(Es,{class:"k",keys:["2"]})]),_:1},8,["loading","disabled"]),w(je,{class:"kbtn",size:"sm",variant:"secondary",loading:y.value==="reject",disabled:e.busy,onClick:P},{default:R(()=>[te(d(a(o)("approval.reject")),1),w(Es,{class:"k",keys:["3"]})]),_:1},8,["loading","disabled"]),w(je,{class:"kbtn",size:"sm",variant:"secondary",disabled:e.busy,onClick:h},{default:R(()=>[te(d(a(o)("approval.feedback")),1),w(Es,{class:"k",keys:["4"]})]),_:1},8,["disabled"])]))]),key:"1"}]),1032,["class"]))}}),s7=Le(n7,[["__scopeId","data-v-458a9d7d"]]),o7=["recent","running","done","all"];function i7(e,t){switch(t){case"running":return e.filter(n=>n.state==="run");case"done":return e.filter(n=>n.state==="done");case"recent":return e.filter(n=>n.state==="run"||n.state==="done");case"all":return[...e]}}const a7=["aria-selected","onClick"],l7=Ee({__name:"SegmentedControl",props:{modelValue:{},options:{},size:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=t;return(s,o)=>(l(),c("div",{class:pe(["ui-seg",`ui-seg--${e.size??"md"}`]),role:"tablist"},[(l(!0),c(ce,null,Pe(e.options,i=>(l(),c("button",{key:i.value,class:pe(["ui-seg__item",{"is-on":i.value===e.modelValue}]),type:"button",role:"tab","aria-selected":i.value===e.modelValue,onClick:u=>n("update:modelValue",i.value)},d(i.label),11,a7))),128))],2))}}),vn=Le(l7,[["__scopeId","data-v-d1aaccd7"]]),r7=Ee({__name:"StatusGlyph",props:{status:{}},setup(e){const t=e,n={pending:"○",run:"●",done:"✓",fail:"✗"};return(s,o)=>(l(),c("span",{class:pe(["status-glyph",`s-${t.status}`]),"aria-hidden":"true"},d(n[t.status]),3))}}),qi=Le(r7,[["__scopeId","data-v-f595d935"]]);function u7(e,t){const n=e.meta??"",s=(e.output??[]).join(`
-`);switch(t){case"command":return n;case"output":return s;case"all":{const o=[];return n&&o.push(n),s&&o.push(s),o.join(`
-
-`)}}}const c7=["aria-label","aria-expanded"],d7=Ee({__name:"TaskCopyMenu",props:{task:{}},setup(e){const t=e,{t:n}=Ye(),s=x(!1),o=x(null),i=M(()=>!!t.task.meta?.trim()),u=M(()=>(t.task.output?.length??0)>0);async function p(v){const k=u7(t.task,v);!k||!await ln(k)||(o.value=v,s.value=!1,setTimeout(()=>{o.value===v&&(o.value=null)},1400))}function f(){s.value=!s.value}return(v,k)=>(l(),c("div",{class:"tcm",onClick:k[4]||(k[4]=De(()=>{},["stop"]))},[r("button",{class:pe(["tcm-trigger",{copied:o.value!==null}]),type:"button","aria-label":a(n)("tasks.copyCommand"),"aria-haspopup":!0,"aria-expanded":s.value,onClick:De(f,["stop"])},[w(X,{name:o.value!==null?"check":"copy",size:"sm"},null,8,["name"])],10,c7),s.value?(l(),W(Nn,{key:0,class:"tcm-menu",onClick:k[3]||(k[3]=De(()=>{},["stop"]))},{default:R(()=>[w(nt,{disabled:!i.value,onClick:k[0]||(k[0]=T=>p("command"))},{default:R(()=>[w(X,{name:"terminal",size:"sm"}),te(" "+d(a(n)("tasks.copyCommand")),1)]),_:1},8,["disabled"]),w(nt,{disabled:!u.value,onClick:k[1]||(k[1]=T=>p("output"))},{default:R(()=>[w(X,{name:"code",size:"sm"}),te(" "+d(a(n)("tasks.copyOutput")),1)]),_:1},8,["disabled"]),w(nt,{separator:""}),w(nt,{onClick:k[2]||(k[2]=T=>p("all"))},{default:R(()=>[w(X,{name:"copy",size:"sm"}),te(" "+d(a(n)("tasks.copyAll")),1)]),_:1})]),_:1})):I("",!0)]))}}),Ri=Le(d7,[["__scopeId","data-v-4829abca"]]),p7={class:"tp-head"},f7={class:"tp-title"},m7={class:"tp-count"},v7={key:0,class:"tp-filter"},g7={key:1,class:"tp-body"},h7={class:"tp-list-col"},y7={key:0,class:"tp-empty"},k7=["role","onClick"],b7={class:"tp-name"},w7={class:"tp-time"},S7=["onClick"],C7={key:0,class:"tp-detail"},_7={key:0,class:"tp-codebox"},M7={class:"tp-pre"},$7={class:"tp-cmd"},T7={key:1,class:"tp-codebox"},x7={class:"tp-pre"},I7={class:"tp-main tp-detail-head"},A7={class:"tp-name"},P7={class:"tp-time"},E7={key:0,class:"tp-codebox"},B7={class:"tp-pre"},L7={class:"tp-cmd"},R7={key:1,class:"tp-codebox"},D7={class:"tp-pre"},O7={key:2,class:"tp-detail-empty"},z7={key:1,class:"tp-detail-empty"},F7={key:2,class:"tp-body tp-grid"},N7={key:0,class:"tp-empty"},W7=["onClick"],q7={class:"tp-card-line"},H7={class:"tp-card-name"},U7={class:"tp-card-line tp-card-meta"},V7=["onClick"],j7={key:1,class:"tp-time"},K7=Ee({__name:"TasksPane",props:{tasks:{},variant:{}},emits:["cancel","open"],setup(e,{emit:t}){const n=e,s=t,{t:o}=Ye(),i={recent:"filterRecent",running:"filterRunning",done:"filterDone",all:"filterAll"},u={recent:"emptyRecent",running:"emptyRunning",done:"emptyDone",all:"emptyTasks"},p=x("recent"),f=x(null),v=M(()=>n.tasks.find(b=>b.id===f.value)??null),k=jn(new Set),T=x(null),h=M(()=>n.variant==="todos"?n.tasks:i7(n.tasks,p.value)),m=M(()=>o7.map(b=>({value:b,label:o(`tasks.${i[b]}`)}))),$=M(()=>n.variant==="todos"?"tasks.emptyTasks":`tasks.${u[p.value]}`);function g(b){return!!(b.output&&b.output.length>0||b.meta)}function y(b){if(g(b)){if(n.variant==="todos"){k.has(b.id)?k.delete(b.id):k.add(b.id);return}f.value=b.id,Ze(()=>T.value?.scrollIntoView({block:"nearest"}))}}function S(b){return b==="run"||b==="done"||b==="fail"?b:"pending"}function B(b){p.value=b}return(b,P)=>(l(),c("div",{class:pe(["taskspane",`tp-${e.variant}`])},[r("div",p7,[r("span",f7,d(a(o)("tasks.tag")),1),r("span",m7,d(h.value.length),1)]),e.variant!=="todos"?(l(),c("div",v7,[w(vn,{"model-value":p.value,options:m.value,size:"sm","onUpdate:modelValue":B},null,8,["model-value","options"])])):I("",!0),e.variant!=="subagent"?(l(),c("div",g7,[r("div",h7,[h.value.length===0?(l(),c("div",y7,d(a(o)($.value)),1)):(l(!0),c(ce,{key:1},Pe(h.value,E=>(l(),c("div",{key:E.id,class:pe(["tp-row",{done:E.state==="done",fail:E.state==="fail",expandable:g(E),selected:E.id===f.value}])},[r("div",{class:"tp-main",role:g(E)?"button":void 0,onClick:L=>y(E)},[w(qi,{status:S(E.state)},null,8,["status"]),r("span",b7,d(E.name),1),w(Bt,{variant:"neutral",size:"sm"},{default:R(()=>[te(d(E.kind),1)]),_:2},1024),r("span",w7,d(E.timing),1),E.state==="run"?(l(),c("button",{key:0,class:"tp-stop",onClick:De(L=>s("cancel",E.id),["stop"])},d(a(o)("tasks.stop")),9,S7)):I("",!0),g(E)?(l(),W(X,{key:1,class:pe(["tp-chevron",{open:e.variant==="todos"&&k.has(E.id)}]),name:"chevron-right",size:"sm"},null,8,["class"])):I("",!0)],8,k7),e.variant==="todos"&&k.has(E.id)&&g(E)?(l(),c("div",C7,[E.meta?(l(),c("div",_7,[w(Ri,{task:E},null,8,["task"]),r("pre",M7,[r("code",null,[r("span",$7,d(E.meta),1)])])])):I("",!0),E.output&&E.output.length>0?(l(),c("div",T7,[w(Ri,{task:E},null,8,["task"]),r("pre",x7,[r("code",null,[P[0]||(P[0]=te(`
- `,-1)),(l(!0),c(ce,null,Pe(E.output,(L,N)=>(l(),c("span",{key:N,class:"tp-line"},d(L),1))),128)),P[1]||(P[1]=te(`
- `,-1))])])])):I("",!0)])):I("",!0)],2))),128))]),e.variant==="bash"?(l(),c("div",{key:0,ref_key:"detailColRef",ref:T,class:"tp-detail-col"},[v.value?(l(),c(ce,{key:0},[r("div",I7,[w(qi,{status:S(v.value.state)},null,8,["status"]),r("span",A7,d(v.value.name),1),w(Bt,{variant:"neutral",size:"sm"},{default:R(()=>[te(d(v.value.kind),1)]),_:1}),r("span",P7,d(v.value.timing),1)]),v.value.meta?(l(),c("div",E7,[w(Ri,{task:v.value},null,8,["task"]),r("pre",B7,[r("code",null,[r("span",L7,d(v.value.meta),1)])])])):I("",!0),v.value.output&&v.value.output.length>0?(l(),c("div",R7,[w(Ri,{task:v.value},null,8,["task"]),r("pre",D7,[r("code",null,[P[2]||(P[2]=te(`
- `,-1)),(l(!0),c(ce,null,Pe(v.value.output,(E,L)=>(l(),c("span",{key:L,class:"tp-line"},d(E),1))),128)),P[3]||(P[3]=te(`
- `,-1))])])])):I("",!0),!v.value.meta&&!(v.value.output&&v.value.output.length>0)?(l(),c("div",O7,d(a(o)("tasks.noOutput")),1)):I("",!0)],64)):(l(),c("div",z7,d(a(o)("tasks.detailPlaceholder")),1))],512)):I("",!0)])):I("",!0),e.variant==="subagent"?(l(),c("div",F7,[h.value.length===0?(l(),c("div",N7,d(a(o)($.value)),1)):(l(!0),c(ce,{key:1},Pe(h.value,E=>(l(),c("div",{key:E.id,class:pe(["tp-card",{done:E.state==="done",fail:E.state==="fail"}]),role:"button",onClick:L=>s("open",E.id)},[r("span",q7,[w(qi,{status:S(E.state)},null,8,["status"]),r("span",H7,d(E.name),1)]),r("span",U7,[w(Bt,{variant:"neutral",size:"sm"},{default:R(()=>[te(d(E.kind),1)]),_:2},1024),E.state==="run"?(l(),c("button",{key:0,class:"tp-stop",onClick:De(L=>s("cancel",E.id),["stop"])},d(a(o)("tasks.stop")),9,V7)):(l(),c("span",j7,d(E.timing),1))])],10,W7))),128))])):I("",!0)],2))}}),zu=Le(K7,[["__scopeId","data-v-1c6864c4"]]),G7={class:"todo-card"},Q7={key:0,class:"tc-empty"},Y7={key:1,class:"tc-progress"},Z7={class:"tc-name"},X7=Ee({__name:"TodoCard",props:{todos:{},doneCount:{}},setup(e){const t=e,{t:n}=Ye(),s=M(()=>t.doneCount??t.todos.filter(i=>i.status==="done").length);function o(i){return i==="in_progress"?"run":i}return(i,u)=>(l(),c("div",G7,[t.todos.length===0?(l(),c("div",Q7,[w(X,{name:"check-list",size:"md",class:"tc-empty-ico","aria-hidden":"true"}),r("span",null,d(a(n)("tasks.emptyTodo")),1)])):(l(),c("div",Y7,[w(X,{name:"check-list",size:"sm",class:"tc-progress-ico","aria-hidden":"true"}),r("span",null,d(a(n)("tasks.todoProgress",{done:s.value,total:t.todos.length})),1)])),(l(!0),c(ce,null,Pe(t.todos,(p,f)=>(l(),c("div",{key:f,class:pe(["tc-row",`s-${p.status}`])},[w(qi,{status:o(p.status)},null,8,["status"]),r("span",Z7,d(p.title),1)],2))),128))]))}}),J7=Le(X7,[["__scopeId","data-v-4f8e45d2"]]),eA={class:"terminal-panel"},tA={key:0,class:"term-state"},nA={key:1,class:"term-state"},sA={class:"term-toolbar"},oA=["aria-label"],iA=["aria-selected","onClick"],aA={class:"term-tab-label"},lA={key:0,class:"term-error",role:"alert"},rA={key:1,class:"term-exit"},uA={class:"term-input-row"},cA=["disabled","placeholder"],dA=Ee({__name:"TerminalPanel",props:{sessionId:{},store:{}},setup(e){const t=e,{t:n}=Ye(),s=Re(),o=x(""),i=x(!1),u=x(new Set),p=x(null),f=x(null),v=M(()=>t.store.terminals.value),k=M(()=>t.store.active.value),T=M(()=>t.store.activeLines.value),h=M(()=>t.store.loading.value),m=M(()=>t.store.error.value),$=M(()=>{const D=k.value?.exitCode;return D==null?"?":String(D)});let g=0;async function y(){const D=++g;if(!t.sessionId){t.store.setSession(void 0);return}t.store.setSession(t.sessionId),t.store.setLoading(!0),t.store.setError(null);try{const ee=await s.listTerminals(t.sessionId);if(D!==g)return;t.store.syncTerminals(ee);const me=t.store.terminals.value[0];me&&(t.store.setActive(me.id),t.store.attach(me.id))}catch(ee){if(D!==g)return;t.store.setError(P(ee)??n("terminal.listFailed"))}finally{D===g&&t.store.setLoading(!1)}}async function S(){if(!(!t.sessionId||i.value)){i.value=!0,t.store.setError(null);try{const D=await s.createTerminal(t.sessionId,{cols:Oc,rows:zc});t.store.upsertTerminal(D),t.store.setActive(D.id),t.store.attach(D.id),await Ze(),_()}catch(D){t.store.setError(P(D)??n("terminal.createFailed"))}finally{i.value=!1}}}async function B(D){if(!(!t.sessionId||u.value.has(D))){u.value=new Set(u.value).add(D),t.store.setError(null);try{await s.closeTerminal(t.sessionId,D),t.store.detach(D),t.store.removeTerminal(D)}catch(ee){t.store.setError(P(ee)??n("terminal.closeFailed"))}finally{const ee=new Set(u.value);ee.delete(D),u.value=ee}}}function b(D){t.store.setActive(D),t.store.attach(D),_()}function P(D){return D instanceof Error&&D.message?D.message:null}let E=-1,L="";function N(){const D=k.value;if(!D||D.status==="exited")return;const ee=o.value;ee.trim().length!==0&&(t.store.submitInput(D.id,ee),o.value="",E=-1,_())}function Q(){const D=k.value?.history??[];if(D.length===0)return;if(E===-1)L=o.value,E=D.length-1;else if(E>0)E-=1;else return;const ee=D[E];ee!==void 0&&(o.value=ee)}function V(){const D=k.value?.history??[];if(E!==-1)if(E{f.value?.focus()})}function z(){const D=p.value;if(!D)return;D.scrollHeight-D.scrollTop-D.clientHeight<40&&(D.scrollTop=D.scrollHeight)}return Ne(()=>t.store.activeLines.value,z),Ne(()=>t.sessionId,()=>{y()}),xt(()=>{y()}),(D,ee)=>(l(),c("div",eA,[h.value?(l(),c("div",tA,[w(Qt,{size:"sm"}),r("span",null,d(a(n)("terminal.loading")),1)])):v.value.length===0?(l(),c("div",nA,[r("span",null,d(a(n)("terminal.empty")),1),w(je,{variant:"secondary",size:"sm",loading:i.value,onClick:ee[0]||(ee[0]=me=>S())},{default:R(()=>[te(d(a(n)("terminal.newTerminal")),1)]),_:1},8,["loading"])])):(l(),c(ce,{key:2},[r("div",sA,[v.value.length>1?(l(),c("div",{key:0,class:"term-tabs",role:"tablist","aria-label":a(n)("terminal.dockTerminal")},[(l(!0),c(ce,null,Pe(v.value,(me,ve)=>(l(),c("button",{key:me.id,class:pe(["term-tab",{active:me.id===t.store.activeId.value}]),type:"button",role:"tab","aria-selected":me.id===t.store.activeId.value,onClick:Be=>b(me.id)},[w(Ho,{status:me.status},null,8,["status"]),r("span",aA,"#"+d(ve+1),1),w(rt,{size:"sm",label:a(n)("terminal.closeTerminal"),disabled:u.value.has(me.id),onClick:De(Be=>B(me.id),["stop"])},{default:R(()=>[w(X,{name:"close",size:"sm"})]),_:1},8,["label","disabled","onClick"])],10,iA))),128))],8,oA)):I("",!0),w(rt,{class:"term-add",label:a(n)("terminal.newTerminal"),disabled:i.value,onClick:ee[1]||(ee[1]=me=>S())},{default:R(()=>[w(X,{name:"plus",size:"sm"})]),_:1},8,["label","disabled"])]),m.value?(l(),c("div",lA,d(m.value),1)):I("",!0),k.value?.status==="exited"?(l(),c("div",rA,d(a(n)("terminal.exited",{code:$.value})),1)):I("",!0),k.value?(l(),c("pre",{key:2,ref_key:"preRef",ref:p,class:"term-output"},d(T.value),513)):I("",!0),r("div",uA,[ee[6]||(ee[6]=r("span",{class:"term-prompt"},"$",-1)),bt(r("input",{ref_key:"inputRef",ref:f,"onUpdate:modelValue":ee[2]||(ee[2]=me=>o.value=me),class:"term-input",disabled:!k.value||k.value.status==="exited",placeholder:a(n)("terminal.inputPlaceholder"),onKeydown:[ee[3]||(ee[3]=$n(De(me=>N(),["prevent"]),["enter"])),ee[4]||(ee[4]=$n(De(me=>Q(),["prevent"]),["up"])),ee[5]||(ee[5]=$n(De(me=>V(),["prevent"]),["down"]))]},null,40,cA),[[On,o.value]])])],64))]))}}),pA=Le(dA,[["__scopeId","data-v-4d134005"]]);function fA(e){const t=["cancel"];return e==="active"?t.unshift("pause"):(e==="paused"||e==="blocked")&&t.unshift("resume"),t}function mA(e){const t=Math.max(0,Math.round(e/1e3)),n=Math.floor(t/60),s=t%60;return n<=0?`${s}s`:n<60?`${n}m ${s}s`:`${Math.floor(n/60)}h ${n%60}m`}const vA={class:"ui-empty"},gA={key:0,class:"ui-empty__icon","aria-hidden":"true"},hA={key:1,class:"ui-empty__title"},yA={key:2,class:"ui-empty__hint"},kA=Ee({__name:"EmptyState",props:{title:{},hint:{}},setup(e){return(t,n)=>(l(),c("div",vA,[t.$slots.icon?(l(),c("span",gA,[Pt(t.$slots,"icon",{},void 0,!0)])):I("",!0),e.title?(l(),c("div",hA,d(e.title),1)):I("",!0),e.hint?(l(),c("div",yA,d(e.hint),1)):I("",!0),Pt(t.$slots,"default",{},void 0,!0)]))}}),ai=Le(kA,[["__scopeId","data-v-38e00944"]]),bA={class:"goal-panel"},wA={key:0,class:"gp-head"},SA={class:"gp-title-row"},CA={class:"gp-kicker"},_A=["title"],MA=["title"],$A={class:"gp-actions"},TA={key:0,class:"gp-criterion"},xA={class:"gp-criterion-label"},IA={class:"gp-criterion-text"},AA=Ee({__name:"GoalPanel",props:{goal:{}},emits:["controlGoal"],setup(e,{emit:t}){const n=t,{t:s}=Ye(),{confirm:o}=xo();function i(f){switch(f){case"active":return s("status.goalStatusActive");case"paused":return s("status.goalStatusPaused");case"blocked":return s("status.goalStatusBlocked");case"complete":return s("status.goalStatusComplete")}}function u(f){switch(f){case"active":return"success";case"blocked":return"danger";case"paused":return"warning";case"complete":return"neutral"}}async function p(){await o({title:s("status.goalCancel"),message:s("status.goalCancelConfirm"),confirmLabel:s("status.goalCancelConfirmYes"),cancelLabel:s("status.goalCancelConfirmNo"),variant:"danger"})&&n("controlGoal","cancel")}return(f,v)=>(l(),c("div",bA,[e.goal?(l(),c("div",wA,[r("div",SA,[w(X,{class:"gp-icon",name:"target",size:"md"}),r("span",CA,d(a(s)("status.goalLabel")),1),r("span",{class:"gp-objective",title:e.goal.objective},d(e.goal.objective),9,_A),w(Bt,{variant:u(e.goal.status),size:"sm",class:"gp-status"},{default:R(()=>[te(d(i(e.goal.status)),1)]),_:1},8,["variant"]),r("span",{class:"gp-elapsed",title:`${e.goal.wallClockMs} ms`},[w(X,{name:"clock",size:"sm"}),te(" "+d(a(mA)(e.goal.wallClockMs)),1)],8,MA),r("div",$A,[(l(!0),c(ce,null,Pe(a(fA)(e.goal.status),k=>(l(),W(rt,{key:k,size:"md",label:a(s)(`status.goal${k==="resume"?"Resume":k==="pause"?"Pause":"Cancel"}`),class:"gp-action",onClick:T=>k==="cancel"?p():n("controlGoal",k)},{default:R(()=>[w(X,{name:k==="resume"?"play":k==="pause"?"pause":"close"},null,8,["name"])]),_:2},1032,["label","onClick"]))),128))])]),e.goal.completionCriterion?(l(),c("div",TA,[r("span",xA,d(a(s)("workspace.doneWhen")),1),r("p",IA,d(e.goal.completionCriterion),1)])):I("",!0)])):(l(),W(ai,{key:1,title:a(s)("status.goalEmptyTitle"),hint:a(s)("status.goalEmptyHint")},{icon:R(()=>[w(X,{name:"target"})]),_:1},8,["title","hint"]))]))}}),PA=Le(AA,[["__scopeId","data-v-d3a415b3"]]);function EA(e){return typeof e=="string"&&e.toLowerCase()==="exitplanmode"}function BA(e){for(let t=e.length-1;t>=0;t--){const n=e[t]?.tools;if(!(n===void 0||n.length===0)){for(let s=n.length-1;s>=0;s--)if(EA(n[s]?.name))return n[s].id}}}function LA(e,t,n,s,o){return n!==null?{kind:"plan",plan:n}:t==="loading"||e!==void 0&&t==="idle"?{kind:"loading"}:{kind:"empty",armed:s||o}}const RA={class:"plan-panel"},DA={key:0,class:"pp-loading",role:"status"},OA={class:"pp-plan-wrap"},zA={key:0,class:"pp-path"},FA={class:"pp-plan"},NA={key:0,class:"pp-review"},WA={class:"pp-state"},qA={key:0,class:"pp-option"},HA={key:1,class:"pp-feedback"},UA=Ee({__name:"PlanPanel",props:{sessionId:{},toolCallId:{},planMode:{type:Boolean,default:!1},planArmed:{type:Boolean,default:!1}},setup(e){const t=e,{t:n}=Ye(),s=x("idle"),o=x(null);let i=0;async function u(){const v=t.sessionId,k=t.toolCallId,T=++i;if(o.value=null,!v||!k){s.value="settled";return}s.value="loading";const h=await Nd(v,k);T===i&&(o.value=h,s.value="settled")}Ne(()=>[t.sessionId,t.toolCallId],u,{immediate:!0});function p(v){switch(v){case"approved":return n("tools.plan.approved");case"rejected":return n("tools.plan.rejected");case"cancelled":return n("tools.plan.cancelled");case"pending":return n("tools.plan.pending")}}const f=M(()=>LA(t.toolCallId,s.value,o.value,t.planMode,t.planArmed));return(v,k)=>(l(),c("div",RA,[f.value.kind==="loading"?(l(),c("div",DA,[w(Qt,{size:"sm"}),r("span",null,d(a(n)("tools.plan.loading")),1)])):f.value.kind==="plan"?(l(),c(ce,{key:1},[r("div",OA,[f.value.plan.path?(l(),c("p",zA,d(f.value.plan.path),1)):I("",!0),r("pre",FA,d(f.value.plan.plan),1)]),f.value.plan.review?(l(),c("div",NA,[r("span",WA,d(p(f.value.plan.review.state)),1),f.value.plan.review.selectedOption?(l(),c("span",qA,d(f.value.plan.review.selectedOption),1)):I("",!0),f.value.plan.review.feedback?(l(),c("span",HA," “"+d(f.value.plan.review.feedback)+"” ",1)):I("",!0)])):I("",!0)],64)):(l(),W(ai,{key:2,title:f.value.armed?a(n)("status.planEmptyArmed"):a(n)("status.planEmptyIdle")},{icon:R(()=>[w(X,{name:"file-edit"})]),_:1},8,["title"]))]))}}),VA=Le(UA,[["__scopeId","data-v-9073f2b6"]]),jA={class:"dock-work-head"},KA={key:0,class:"dock-work-tab static"},GA={key:1,class:"dock-work-tab static"},QA={key:2,class:"dock-work-tab static"},YA={key:3,class:"dock-work-tab static"},ZA={key:4,class:"dock-work-tab static"},XA={key:5,class:"dock-work-tab static"},JA={class:"dock-work-body"},eP={class:"dw-count"},tP={class:"dw-count"},nP={class:"dw-count"},sP={key:0,class:"dw-count"},oP=Ee({__name:"ChatDock",props:{sessionId:{},running:{type:Boolean},starting:{type:Boolean},queued:{},searchFiles:{type:Function},uploadImage:{type:Function},status:{},thinking:{},planMode:{type:Boolean},planArmed:{type:Boolean},swarmMode:{type:Boolean},supermoonMode:{type:Boolean},goalMode:{type:Boolean},activationBadges:{},models:{},starredIds:{},skills:{},goal:{},goalExpandSignal:{},planToolCallId:{},dockPanel:{},bashTasks:{},subagentTasks:{},bashRunning:{},subagentRunning:{},todoDoneCount:{},hasDockWork:{type:Boolean},todos:{},pendingQuestion:{},questionBusyKind:{},pendingApproval:{},approvalBusy:{type:Boolean},terminal:{},mobile:{type:Boolean}},emits:["submit","steer","command","interrupt","setPermission","setThinking","togglePlan","toggleSwarm","toggleSupermoon","toggleGoal","dismissPlan","controlGoal","focusGoal","compact","pickModel","selectModel","answer","dismiss","approval","cancelTask","toggle-dock-panel","close-dock-panel","openAgent"],setup(e,{expose:t,emit:n}){const s=e,o=n,{t:i}=Ye(),u=M(()=>s.terminal!==void 0&&s.sessionId!==void 0),p=M(()=>s.terminal?.terminals.value.length??0),f=M(()=>s.goal!==null&&s.goal!==void 0&&s.goal.status!=="complete"||s.goalMode===!0),v=M(()=>s.planMode===!0||s.planArmed===!0),k=M(()=>s.planMode?i("status.planModeOn"):s.planArmed?i("status.planArmed"):""),T=x(null),h=x(null),m=x(null),$=x(null);function g(E){return T.value?(T.value.loadForEdit(E),!0):!1}function y(E){T.value?.loadAttachmentsForEdit(E)}function S(){T.value?.focus()}function B(E){if(!s.dockPanel)return;const L=E.target;L&&(h.value?.contains(L)||m.value?.contains(L)||o("close-dock-panel"))}Ne(()=>s.dockPanel,E=>{typeof document>"u"||(document.removeEventListener("mousedown",B,!0),E&&document.addEventListener("mousedown",B,!0))},{immediate:!0});let b=null;function P(){const E=$.value?.offsetHeight??0;document.documentElement.style.setProperty("--dock-h",`${E}px`)}return xt(()=>{typeof ResizeObserver!="function"||!$.value||(b=new ResizeObserver(P),b.observe($.value),P())}),St(()=>{typeof document<"u"&&document.removeEventListener("mousedown",B,!0),b?.disconnect(),b=null}),t({loadForEdit:g,loadAttachmentsForEdit:y,focus:S}),(E,L)=>(l(),c("div",{ref_key:"dockRef",ref:$,class:pe(["chat-dock",[e.mobile?"align-mobile":"align-center",{"has-approval":!!e.pendingApproval,"has-question":!!e.pendingQuestion}]]),onClick:L[30]||(L[30]=De(()=>{},["stop"]))},[w(li,{name:"dock-panel"},{default:R(()=>[e.dockPanel?(l(),c("div",{key:0,ref_key:"workPanelRef",ref:h,class:"dock-work-panel",onClick:L[4]||(L[4]=De(()=>{},["stop"]))},[r("div",jA,[e.dockPanel==="bash"?(l(),c("span",KA,d(a(i)("tasks.dockBash"))+" · "+d(e.bashRunning)+" "+d(a(i)("tasks.running")),1)):e.dockPanel==="subagent"?(l(),c("span",GA,d(a(i)("tasks.dockSubagent"))+" · "+d(e.subagentRunning)+" "+d(a(i)("tasks.running")),1)):e.dockPanel==="todos"?(l(),c("span",QA,d(a(i)("tasks.dockTodos"))+" · "+d(e.todoDoneCount)+"/"+d(e.todos?.length??0),1)):e.dockPanel==="terminal"?(l(),c("span",YA,d(a(i)("terminal.dockTerminal"))+" · "+d(p.value),1)):e.dockPanel==="goal"?(l(),c("span",ZA,[te(d(a(i)("status.goalLabel")),1),e.goal?(l(),c(ce,{key:0},[te(" · "+d(e.goal.objective),1)],64)):I("",!0)])):e.dockPanel==="plan"?(l(),c("span",XA,[te(d(a(i)("status.planLabel")),1),k.value?(l(),c(ce,{key:0},[te(" · "+d(k.value),1)],64)):I("",!0)])):I("",!0)]),r("div",JA,[e.dockPanel==="bash"?(l(),W(zu,{key:0,variant:"bash",tasks:e.bashTasks,onCancel:L[0]||(L[0]=N=>o("cancelTask",N))},null,8,["tasks"])):e.dockPanel==="subagent"?(l(),W(zu,{key:1,variant:"subagent",tasks:e.subagentTasks,onCancel:L[1]||(L[1]=N=>o("cancelTask",N)),onOpen:L[2]||(L[2]=N=>o("openAgent",N))},null,8,["tasks"])):e.dockPanel==="todos"?(l(),W(J7,{key:2,todos:e.todos??[],"done-count":e.todoDoneCount},null,8,["todos","done-count"])):e.dockPanel==="terminal"&&e.terminal!==void 0?(l(),W(pA,{key:3,"session-id":e.sessionId??"",store:e.terminal},null,8,["session-id","store"])):e.dockPanel==="goal"?(l(),W(PA,{key:4,goal:e.goal??null,onControlGoal:L[3]||(L[3]=N=>o("controlGoal",N))},null,8,["goal"])):e.dockPanel==="plan"?(l(),W(VA,{key:5,"session-id":e.sessionId??"","tool-call-id":e.planToolCallId,"plan-mode":e.planMode,"plan-armed":e.planArmed},null,8,["session-id","tool-call-id","plan-mode","plan-armed"])):I("",!0)])],512)):I("",!0)]),_:1}),e.goal?(l(),W(W9,{key:0,goal:e.goal,"force-expanded":e.goalExpandSignal,onControlGoal:L[5]||(L[5]=N=>o("controlGoal",N))},null,8,["goal","force-expanded"])):I("",!0),e.hasDockWork||u.value||f.value||v.value?(l(),c("div",{key:1,ref_key:"workbarRef",ref:m,class:"dock-workbar"},[e.bashTasks.length>0?(l(),W(fo,{key:0,active:e.dockPanel==="bash","aria-pressed":e.dockPanel==="bash",onClick:L[6]||(L[6]=N=>o("toggle-dock-panel","bash"))},{default:R(()=>[w(X,{name:"clock",size:"md"}),r("span",null,d(a(i)("tasks.dockBash")),1),r("span",eP,[L[31]||(L[31]=te("(",-1)),r("b",null,d(e.bashTasks.length),1),L[32]||(L[32]=te(")",-1))])]),_:1},8,["active","aria-pressed"])):I("",!0),e.subagentTasks.length>0?(l(),W(fo,{key:1,active:e.dockPanel==="subagent","aria-pressed":e.dockPanel==="subagent",onClick:L[7]||(L[7]=N=>o("toggle-dock-panel","subagent"))},{default:R(()=>[w(X,{name:"sparkles",size:"md"}),r("span",null,d(a(i)("tasks.dockSubagent")),1),r("span",tP,[L[33]||(L[33]=te("(",-1)),r("b",null,d(e.subagentTasks.length),1),L[34]||(L[34]=te(")",-1))])]),_:1},8,["active","aria-pressed"])):I("",!0),(e.todos?.length??0)>0?(l(),W(fo,{key:2,active:e.dockPanel==="todos","aria-pressed":e.dockPanel==="todos",onClick:L[8]||(L[8]=N=>o("toggle-dock-panel","todos"))},{default:R(()=>[w(X,{name:"check-list",size:"md"}),r("span",null,d(a(i)("tasks.dockTodos")),1),r("span",nP,[L[35]||(L[35]=te("(",-1)),r("b",null,d(e.todoDoneCount)+"/"+d(e.todos?.length??0),1),L[36]||(L[36]=te(")",-1))])]),_:1},8,["active","aria-pressed"])):I("",!0),u.value?(l(),W(fo,{key:3,active:e.dockPanel==="terminal","aria-pressed":e.dockPanel==="terminal",onClick:L[9]||(L[9]=N=>o("toggle-dock-panel","terminal"))},{default:R(()=>[w(X,{name:"terminal",size:"md"}),r("span",null,d(a(i)("terminal.dockTerminal")),1),p.value>0?(l(),c("span",sP,[L[37]||(L[37]=te("(",-1)),r("b",null,d(p.value),1),L[38]||(L[38]=te(")",-1))])):I("",!0)]),_:1},8,["active","aria-pressed"])):I("",!0),f.value?(l(),W(fo,{key:4,active:e.dockPanel==="goal","aria-pressed":e.dockPanel==="goal",onClick:L[10]||(L[10]=N=>o("toggle-dock-panel","goal"))},{default:R(()=>[w(X,{name:"target",size:"md"}),r("span",null,d(a(i)("status.goalLabel")),1)]),_:1},8,["active","aria-pressed"])):I("",!0),v.value?(l(),W(fo,{key:5,active:e.dockPanel==="plan","aria-pressed":e.dockPanel==="plan",onClick:L[11]||(L[11]=N=>o("toggle-dock-panel","plan"))},{default:R(()=>[w(X,{name:"file-edit",size:"md"}),r("span",null,d(a(i)("status.planLabel")),1)]),_:1},8,["active","aria-pressed"])):I("",!0)],512)):I("",!0),e.pendingQuestion?(l(),W(fI,{key:e.pendingQuestion.questionId,question:e.pendingQuestion,"busy-kind":e.questionBusyKind,onAnswer:L[12]||(L[12]=(N,Q)=>o("answer",N,Q)),onDismiss:L[13]||(L[13]=N=>o("dismiss",N))},null,8,["question","busy-kind"])):e.pendingApproval?(l(),W(s7,{key:e.pendingApproval.approvalId,class:"dock-approval",block:e.pendingApproval.block,"agent-name":e.pendingApproval.agentName,busy:e.approvalBusy,onDecide:L[14]||(L[14]=N=>o("approval",e.pendingApproval.approvalId,N))},null,8,["block","agent-name","busy"])):(l(),W(pp,{key:4,ref_key:"composerRef",ref:T,"session-id":e.sessionId,running:e.running,queued:e.queued,"search-files":e.searchFiles,"upload-image":e.uploadImage,status:e.status,thinking:e.thinking,"plan-mode":e.planMode,"plan-armed":e.planArmed,"swarm-mode":e.swarmMode,"supermoon-mode":e.supermoonMode,"goal-mode":e.goalMode,goal:e.goal,"activation-badges":e.activationBadges,models:e.models,"starred-ids":e.starredIds,skills:e.skills,starting:e.starting,onSubmit:L[15]||(L[15]=N=>o("submit",N)),onSteer:L[16]||(L[16]=N=>o("steer",N)),onCommand:L[17]||(L[17]=(N,Q)=>o("command",N,Q)),onInterrupt:L[18]||(L[18]=N=>o("interrupt")),onSetPermission:L[19]||(L[19]=N=>o("setPermission",N)),onSetThinking:L[20]||(L[20]=N=>o("setThinking",N)),onTogglePlan:L[21]||(L[21]=N=>o("togglePlan")),onToggleSwarm:L[22]||(L[22]=N=>o("toggleSwarm")),onToggleSupermoon:L[23]||(L[23]=N=>o("toggleSupermoon")),onToggleGoal:L[24]||(L[24]=N=>o("toggleGoal")),onDismissPlan:L[25]||(L[25]=N=>o("dismissPlan")),onFocusGoal:L[26]||(L[26]=N=>o("focusGoal")),onCompact:L[27]||(L[27]=N=>o("compact")),onPickModel:L[28]||(L[28]=N=>o("pickModel")),onSelectModel:L[29]||(L[29]=N=>o("selectModel",N))},null,8,["session-id","running","queued","search-files","upload-image","status","thinking","plan-mode","plan-armed","swarm-mode","supermoon-mode","goal-mode","goal","activation-badges","models","starred-ids","skills","starting"]))],2))}}),iP=Le(oP,[["__scopeId","data-v-24d34e66"]]),aP=["type","value","placeholder","disabled","readonly"],lP=Ee({__name:"Input",props:{modelValue:{},size:{default:"md"},type:{default:"text"},placeholder:{},disabled:{type:Boolean},readonly:{type:Boolean},error:{type:Boolean}},emits:["update:modelValue","focus","blur"],setup(e,{expose:t,emit:n}){const s=n,o=x();function i(f){s("update:modelValue",f.target.value)}function u(){o.value?.focus()}function p(){o.value?.select()}return t({focus:u,select:p,el:o}),(f,v)=>(l(),c("input",{ref_key:"el",ref:o,class:pe(["ui-input",[`ui-input--${e.size}`,{"has-error":e.error}]]),type:e.type,value:e.modelValue,placeholder:e.placeholder,disabled:e.disabled,readonly:e.readonly,onInput:i,onFocus:v[0]||(v[0]=k=>f.$emit("focus",k)),onBlur:v[1]||(v[1]=k=>f.$emit("blur",k))},null,42,aP))}}),Vn=Le(lP,[["__scopeId","data-v-340f0da2"]]),rP={class:"conv-search",role:"search"},uP={key:0,class:"conv-search-count"},cP={key:1,class:"conv-search-count conv-search-none"},dP=Ee({__name:"ConversationSearch",props:{query:{},total:{},activeIndex:{}},emits:["update:query","next","prev","close"],setup(e,{emit:t}){const{t:n}=Ye(),s=t,o=x(null);xt(()=>{o.value?.focus()});function i(u){u.key==="Enter"?(u.preventDefault(),u.shiftKey?s("prev"):s("next")):u.key==="Escape"&&(u.preventDefault(),u.stopPropagation(),s("close"))}return(u,p)=>(l(),c("div",rP,[w(X,{class:"conv-search-icon",name:"search",size:"sm"}),w(Vn,{ref_key:"inputRef",ref:o,class:"conv-search-input",size:"sm",type:"text","model-value":e.query,placeholder:a(n)("conversation.searchPlaceholder"),"aria-label":a(n)("conversation.searchPlaceholder"),autocomplete:"off",spellcheck:"false","onUpdate:modelValue":p[0]||(p[0]=f=>s("update:query",f)),onKeydown:i},null,8,["model-value","placeholder","aria-label"]),e.total>0?(l(),c("span",uP,d(a(n)("conversation.searchPosition",{current:Math.max(e.activeIndex,0)+1,total:e.total})),1)):e.query.trim().length>0?(l(),c("span",cP,d(a(n)("conversation.searchNoResults")),1)):I("",!0),w(rt,{size:"sm",class:"conv-search-prev",label:a(n)("conversation.searchPrev"),disabled:e.total===0,onClick:p[1]||(p[1]=f=>s("prev"))},{default:R(()=>[w(X,{name:"chevron-up",size:"sm"})]),_:1},8,["label","disabled"]),w(rt,{size:"sm",class:"conv-search-next",label:a(n)("conversation.searchNext"),disabled:e.total===0,onClick:p[2]||(p[2]=f=>s("next"))},{default:R(()=>[w(X,{name:"chevron-down",size:"sm"})]),_:1},8,["label","disabled"]),w(rt,{size:"sm",class:"conv-search-close",label:a(n)("conversation.searchClose"),onClick:p[3]||(p[3]=f=>s("close"))},{default:R(()=>[w(X,{name:"close",size:"sm"})]),_:1},8,["label"])]))}}),pP=Le(dP,[["__scopeId","data-v-c521ac2e"]]),fP=["aria-label","aria-hidden"],mP={class:"toc-scroll"},vP=["onClick"],gP={class:"toc-label"},hP=240,yP=Ee({__name:"ConversationToc",props:{items:{},activeTurnId:{},mobile:{type:Boolean},sessionLoading:{type:Boolean},occluded:{type:Boolean}},emits:["select"],setup(e,{emit:t}){const n=e,s=t,{t:o}=Ye(),i=x(null),u=x(!0);let p=null;function f(){const k=i.value,T=k?.offsetParent;if(!k||!T)return;const h=k.getBoundingClientRect().left,m=T.getBoundingClientRect().right;u.value=m-h>=hP}const v=M(()=>!n.mobile&&!n.sessionLoading&&n.items.length>1);return Ne(v,k=>{p?.disconnect(),p=null,k&&Ze(()=>{const T=i.value,h=T?.offsetParent;!T||!h||(typeof ResizeObserver<"u"&&(p=new ResizeObserver(f),p.observe(h)),f())})},{immediate:!0}),Tn(()=>{p?.disconnect(),p=null}),(k,T)=>v.value?(l(),c("nav",{key:0,ref_key:"navRef",ref:i,class:pe(["conversation-toc",{"toc-clipped":!u.value||e.occluded}]),"aria-label":a(o)("conversation.toc"),"aria-hidden":u.value&&!e.occluded?void 0:!0},[r("div",mP,[(l(!0),c(ce,null,Pe(e.items,h=>(l(),c("button",{key:h.id,type:"button",class:pe(["toc-row",{active:e.activeTurnId===h.id}]),onClick:m=>s("select",h.id)},[T[0]||(T[0]=r("span",{class:"toc-bar"},null,-1)),r("span",gP,d(h.title),1)],10,vP))),128))])],10,fP)):I("",!0)}}),kP=Le(yP,[["__scopeId","data-v-46ac0b80"]]),bP=5;function wP(e,t,n,s=bP){if(n||e.length<=s)return e;const o=e.slice(0,s);if(t&&!o.some(i=>i.id===t)){const i=e.find(u=>u.id===t);i&&(o[s-1]=i)}return o}function SP(e){return e.role==="user"?e.text:e.role!=="assistant"?"":e.blocks?e.blocks.filter(t=>t.kind==="text").map(t=>t.text).join(`
-`):e.text}function CP(e,t){const n=t.trim();if(n.length===0)return[];const s=n.toLowerCase(),o=[];return e.forEach((i,u)=>{const p=SP(i);if(p.length===0)return;const f=p.toLowerCase();let v=f.indexOf(s);for(;v!==-1;)o.push({turnId:i.id,turnIndex:u,start:v,end:v+n.length}),v=f.indexOf(s,v+n.length)}),o}function _P(e,t){return t<=0?-1:e<0?0:(e+1)%t}function MP(e,t){return t<=0?-1:e<0?t-1:(e-1+t)%t}function $P(e){return e.armed&&e.turnCount>0}const TP={class:"chat-layout"},xP={class:"empty-hint"},IP={key:0,class:"empty-hint-text"},AP={key:1,class:"ws-pick"},PP={class:"ws-pick-name"},EP={key:1,class:"ws-pick-menu"},BP=["onClick"],LP={class:"ws-pick-item-name"},RP={class:"ws-pick-item-path"},DP=["aria-label"],OP={key:0,class:"abort-toast",role:"status","aria-live":"polite"},zP={class:"abort-toast-text"},Ua=80,Fu=1e3,FP=420,NP=3e3,WP=Ee({__name:"ConversationPane",props:{turns:{},sessionId:{},approvals:{},gitInfo:{},tasks:{},todos:{},goal:{},activationBadges:{},status:{},thinking:{},planMode:{type:Boolean},planArmed:{type:Boolean},swarmMode:{type:Boolean},supermoonMode:{type:Boolean},goalMode:{type:Boolean},questions:{},pendingQuestionActions:{},pendingApprovalActions:{},running:{type:Boolean},turnActive:{type:Boolean},queued:{},searchFiles:{type:Function},uploadImage:{type:Function},changes:{},fileReloadKey:{},working:{type:Boolean},modelRetry:{},starting:{type:Boolean},fastMoon:{type:Boolean},mobile:{type:Boolean},sessionLoading:{type:Boolean},compaction:{},hasMoreMessages:{type:Boolean},loadingMore:{type:Boolean},loadingMoreError:{type:Boolean},loadOlderMessages:{type:Function},models:{},starredIds:{},skills:{},workspaceName:{},workspaceRoot:{},gitDiffStats:{},workspaces:{},activeWorkspaceId:{},sessionTitle:{},sessionPinned:{type:Boolean},pr:{},conversationToc:{type:Boolean},terminal:{}},emits:["submit","steer","approval","cancelTask","answer","dismiss","command","interrupt","unqueue","editQueued","reorderQueue","steerQueued","steerQueuedIndex","sendQueued","setPermission","setThinking","togglePlan","toggleSwarm","toggleSupermoon","toggleGoal","dismissPlan","controlGoal","compact","pickModel","selectModel","openFile","openMedia","openThinking","openCompaction","openAgent","openToolDiff","moveToBackground","openChanges","refreshGitStatus","editMessage","selectWorkspace","addWorkspace","openPr","renameSession","togglePin","forkSession","archiveSession","exportSession","resumeTurn","openMentionSkill"],setup(e,{expose:t,emit:n}){const{t:s}=Ye(),o=e,i=n,u=x(!1),p=x(!1),f=M(()=>o.workspaces?.find(G=>G.id===o.activeWorkspaceId)?.name??o.workspaceName??""),v=M(()=>(o.workspaces?.length??0)>0),k=M(()=>{const j={};for(const G of o.skills??[])j[G.name]={kind:"skill",description:G.description};return j}),T=M(()=>wP(o.workspaces??[],o.activeWorkspaceId,p.value)),h=M(()=>(o.workspaces?.length??0)-T.value.length);Ne(u,j=>{j||(p.value=!1)});function m(j){u.value=!1,j!==o.activeWorkspaceId&&i("selectWorkspace",j)}So(Ge.contentAlign);const $=x(null),g=x(null),y=x(null),S=x(!1),B=x(0);let b=null;function P(j,G){const de=y.value??g.value;return!de||de.loadForEdit(j)===!1?!1:(de.loadAttachmentsForEdit(G??[]),!0)}function E(){S.value=!0,b!==null&&clearTimeout(b),b=setTimeout(()=>{b=null,S.value=!1},2e3)}function L(){B.value++,me.value="goal"}const N=M(()=>o.tasks.filter(j=>j.kind!=="subagent")),Q=M(()=>o.tasks.filter(j=>j.kind==="subagent"&&j.runInBackground)),V=M(()=>N.value.filter(j=>j.state==="run").length),_=M(()=>Q.value.filter(j=>j.state==="run").length);function z(j){const G=o.tasks,de=G.find(ut=>ut.id===j)??G.find(ut=>ut.parentToolCallId===j);if(de)return de.id;const ot=G.filter(ut=>ut.kind==="subagent"&&!ut.parentToolCallId);if(ot.length===1)return ot[0].id}ko("resolveAgentTaskId",z),ko("pinScroll",Cn),ko("sessionId",()=>o.sessionId);const D=M(()=>(o.todos??[]).filter(j=>j.status==="done").length),ee=M(()=>N.value.length>0||Q.value.length>0||(o.todos?.length??0)>0||(o.queued?.length??0)>0),me=x(null),ve=M(()=>o.gitInfo?o.changes?.length??0:0),Be=M(()=>BA(o.turns));function ie(j){me.value=me.value===j?null:j}function le(){me.value=null}Ne(ee,j=>{!j&&me.value!=="terminal"&&me.value!=="goal"&&me.value!=="plan"&&le()});function ne(j){if(j.role==="compaction")return s("conversation.compactedPlain");if(j.role==="user"){if(j.skillActivation)return`/${j.skillActivation.name}`;if(j.pluginCommand)return`/${j.pluginCommand.pluginId}:${j.pluginCommand.commandName}`;const de=j.text.trim().replaceAll(/\s+/g," ");return de.length>0?de:"user"}const G=(j.text||j.thinking||"").trim().replaceAll(/\s+/g," ");return G.length>0?G:(j.tools?.length??0)>0?`${j.tools.length} tools`:"kimi"}const ae=M(()=>o.turns.filter(j=>j.role==="user").map((j,G)=>({id:j.id,role:j.role,no:G+1,title:ne(j)}))),se=x(null);function ge(){const j=Te.value;if(!j)return;const G=j.querySelectorAll(".turn-anchor[data-turn-id]");if(G.length===0)return;const de=ae.value;if(de.length===0)return;const ot=new Set(de.map(is=>is.id));if(rn()<=Ua){se.value=de[de.length-1].id;return}const ut=j.getBoundingClientRect(),Rt=ut.height/2;let pn=null;G.forEach(is=>{const bs=is.dataset.turnId;if(!bs||!ot.has(bs))return;is.getBoundingClientRect().top-ut.top<=Rt&&(pn=bs)}),se.value=pn??de[0].id}const re=x(!1),F=x(""),Z=x(0),ke=M(()=>CP(o.turns,F.value)),we=M(()=>ke.value.length);function Oe(){re.value?Ve():re.value=!0}function Ve(){re.value=!1,F.value="",Z.value=0}function be(){Z.value=_P(Z.value,we.value)}function ze(){Z.value=MP(Z.value,we.value)}Ne(F,()=>{Z.value=0,oe()}),Ne(we,j=>{j===0?Z.value=0:Z.value>=j&&(Z.value=j-1)}),Ne(Z,()=>{oe()});async function oe(){if(we.value===0)return;await Ze();const j=Te.value;if(!j)return;const G=j.querySelector(".chat-search-hit--active");if(G){G.scrollIntoView({behavior:"smooth",block:"center"});return}const de=Math.min(Z.value,we.value-1),ot=ke.value[de];ot&&Ct(ot.turnId)}const J=x(!1);let U=0;function Y(){U||(U=Jt(()=>{U=0,ye()}))}function ye(){const j=Te.value,G=!o.mobile&&o.conversationToc&&j?j.closest(".con")?.querySelector(".conversation-toc"):null,de=G?.querySelector(".toc-bar");let ot=!1;if(j&&G&&de){const ut=de.getBoundingClientRect(),Rt=G.getBoundingClientRect(),pn=ut.left+ut.width/2;ot=Array.from(j.querySelectorAll(".table-node-wrapper")).some(is=>{const bs=is.getBoundingClientRect();return bs.left<=pn&&pn<=bs.right&&bs.topRt.top})}J.value!==ot&&(J.value=ot)}const st=M(()=>o.questions&&o.questions.length>0?o.questions[0]:void 0),et=M(()=>{const j=st.value;if(j)return o.pendingQuestionActions?.[j.questionId]}),pt=M(()=>o.approvals&&o.approvals.length>0?o.approvals[0]:void 0),Me=M(()=>{const j=pt.value;return j?!!o.pendingApprovalActions?.[j.approvalId]:!1}),Te=x(null),Se=x(null),Ae=x(0),Xe=x(0),yt=M(()=>({"--panes-scrollbar-width":`${Ae.value}px`}));function qe(j){return j instanceof HTMLElement?j:j&&"$el"in j&&j.$el instanceof HTMLElement?j.$el:null}function He(){const j=Te.value;Ae.value=j?Math.max(0,j.offsetWidth-j.clientWidth):0,Xe.value=Se.value?.offsetHeight??0}function Ue(j){const G=qe(j);Te.value=G,G&&Hn()}function dt(j){const G=qe(j);Se.value=G??null,j&&"loadForEdit"in j&&typeof j.loadForEdit=="function"&&"focus"in j&&typeof j.focus=="function"?y.value={loadForEdit:j.loadForEdit.bind(j),loadAttachmentsForEdit:"loadAttachmentsForEdit"in j&&typeof j.loadAttachmentsForEdit=="function"?j.loadAttachmentsForEdit.bind(j):()=>{},focus:j.focus.bind(j)}:y.value=null,As()}const at=x(!0),Lt=x(!1),Ht=M(()=>$P({armed:Lt.value,turnCount:o.turns.length}));function rn(){const j=Te.value;return j?j.scrollHeight-j.scrollTop-j.clientHeight:0}let ct=0,sn=0,on=0,Kn=0,Wt=0,Wn=0;function un(){return Date.now()1?(at.value=!1,Lt.value=!0):de<=Ua&&G>ct+1&&(at.value=!0,Lt.value=!1),ct=G,Yt()}let Gn=0;function Yt(){Gn||(Gn=Jt(()=>{Gn=0,ge()}))}function Ut(j=!1){const G=Te.value;at.value=!0,Lt.value=!1,G&&(!j&&performance.now()({node:Rt,top:wn(j,Rt)})),ot=de.findIndex(Rt=>Rt.top>=G),ut=ot<0?Math.max(0,de.length-1):ot;return de.slice(ut,ut+2).flatMap(Rt=>{const pn=Rt.node.dataset.scrollAnchorId,is=pn??Rt.node.dataset.turnId;return is?[{kind:pn?"tool":"turn",id:is,top:Rt.top}]:[]})}const Ot=new Map;function fn(j,G){for(const de of G.anchors){const ot=de.kind==="tool"?"data-scroll-anchor-id":"data-turn-id",ut=j.querySelector(`[${ot}="${In(de.id)}"]`);if(ut)return wn(j,ut)-de.top}return j.scrollHeight-G.oldHeight}function xn(j,G,de=j.scrollTop){return j.scrollTop=de+fn(j,G),ct=j.scrollTop,j.scrollTop}async function Xt(){if(!o.sessionId||!o.loadOlderMessages||o.loadingMore||qn.value||!o.hasMoreMessages)return;const j=o.sessionId,G=Te.value,de=G?.scrollTop??0,ot={anchors:G?Qn(G,de):[],oldHeight:G?.scrollHeight??0};$s(j,!0),Hs();try{if(await Ze(),await o.loadOlderMessages(j),await Ze(),o.sessionId!==j){Ot.set(j,ot);return}const ut=Te.value;if(!ut)return;xn(ut,ot),Ot.delete(j)}finally{$s(j,!1)}}function In(j){return typeof CSS<"u"&&typeof CSS.escape=="function"?CSS.escape(j):j.replaceAll(/["\\]/g,"\\$&")}function Ct(j){const G=Te.value;if(!G)return;const de=G.querySelector(`.turn-anchor[data-turn-id="${In(j)}"]`);de&&(Pn(),at.value=!1,Lt.value=rn()>Ua,de.scrollIntoView({behavior:"smooth",block:"center"}))}function an(){const j=Te.value;if(!j)return"none";const G=j.firstElementChild,de=G instanceof HTMLElement?G.offsetHeight:0,ot=Se.value?.offsetHeight??0;return`${j.scrollHeight}:${j.clientHeight}:${de}:${ot}`}function Jt(j){return typeof requestAnimationFrame=="function"?requestAnimationFrame(j):setTimeout(j,16)}function Mt(j){typeof cancelAnimationFrame=="function"?cancelAnimationFrame(j):clearTimeout(j)}let Sn=0,Et=0,cn=null,zn=0;function gn(){return performance.now(){if(Et=0,performance.now()>=Sn||!cn){cn=null;return}const ut=cn.getBoundingClientRect().top-zn;ut&&(de.scrollTop+=ut),Et=Jt(ot)};Et=Jt(ot)}function hn(j=36){if(!at.value&&!un())return;const G=++Wn;let de="",ot=0,ut=0;Wt&&(Mt(Wt),Wt=0);const Rt=()=>{if(Wt=0,G!==Wn||!at.value&&!un())return;Ut(!1);const pn=an();ot=pn===de?ot+1:0,de=pn,ut++,ot<3&&ut0&&G.length>=j.length&&j.firstId!==G.firstId&&j.lastId===G.lastId&&j.lastTextLen===G.lastTextLen&&j.lastThinkingLen===G.lastThinkingLen&&j.lastToolsLen===G.lastToolsLen&&j.approvalIds===G.approvalIds}const An=M(()=>{const j=(o.approvals??[]).map(Rt=>Rt.approvalId).join(","),G=o.turns,de=G.at(-1),ot=de?.thinking?.length??0,ut=de?.tools?.reduce((Rt,pn)=>Rt+pn.name.length+(pn.arg?.length??0)+(pn.output?.join("").length??0),0)??0;return{length:G.length,firstId:G[0]?.id??"",lastId:de?.id??"",lastTextLen:de?.text.length??0,lastThinkingLen:ot,lastToolsLen:ut,approvalIds:j}});Ne(An,async(j,G)=>{if(qn.value&&Fn(G,j)){ge();return}await Ze(),at.value||un()?Ut(j.length{As()}),Ne(()=>o.mobile,async()=>{await Ze(),He()});const dn=new Map;Ne(()=>o.fileReloadKey,async(j,G)=>{const de=Te.value;G&&de&&dn.set(String(G),{top:de.scrollTop,following:at.value}),Pn(),await Ze();const ot=Te.value,ut=j?dn.get(String(j)):void 0;if(ut&&ot){const Rt=Ot.get(String(j)),pn=Rt?xn(ot,Rt,ut.top):ut.top;Rt&&Ot.delete(String(j)),at.value=ut.following,ot.scrollTop=pn,ct=ot.scrollTop,Lt.value=!ut.following&&rn()>1,ut.following&&hn()}else at.value=!0,ct=0,Ut(!1),hn();ge()}),Ne(()=>o.sessionLoading,async(j,G)=>{j||!G||(at.value=!0,await Ze(),hn(),ge())}),Ne(()=>o.turnActive,async(j,G)=>{j||!G||!at.value&&!un()||(await Ze(),hn(48),ge())});function mn(){at.value=!0,Lt.value=!1,sn=Date.now()+Fu,Ze(()=>{Ut(!0),hn(16)})}function en(j){mn(),i("submit",j)}function Yn(j){at.value=!0,Lt.value=!1,sn=Date.now()+Fu,i("editMessage",j)}function Ce(j){const G=o.queued?.[j],de=G?.text??"";P(de,G?.attachments)&&i("editQueued",j)}function fe(j){i("reorderQueue",j)}function We(){i("steer",Gl)}function it(j){i("steerQueuedIndex",j)}function zt(j){i("sendQueued",j)}function Ft(j,G){mn(),i("answer",j,G)}function Zt(j,G){!j||!G||i("approval",j,G)}let Vt=null,It=null,At=null,yn=null,fs=0,ms=0,_n=0;const vs=x(new Set),qn=M(()=>!!o.sessionId&&vs.value.has(o.sessionId));function $s(j,G){const de=new Set(vs.value);G?de.add(j):de.delete(j),vs.value=de}function gs(){qn.value||_n||(_n=Jt(()=>{_n=0,!qn.value&&(gn()||(at.value||un())&&Ut(!1))}))}function Hs(){Wn++,Wt&&(Mt(Wt),Wt=0),_n&&(Mt(_n),_n=0)}function Pn(){const j=Te.value;if(sn=0,Hs(),Sn=0,cn=null,j){const G=j.scrollTop;typeof j.scrollTo=="function"?j.scrollTo({top:G,behavior:"auto"}):j.scrollTop=G}Kn=0,on=Number.NEGATIVE_INFINITY,j&&(ct=j.scrollTop)}function Ts(){const j=Te.value;!j||o.turns.length===0||j.scrollHeight-j.clientHeight<=1&&!o.hasMoreMessages||(at.value=!1,Pn(),j.scrollHeight-j.clientHeight>1&&(Lt.value=!0))}function Us(j){const G=Te.value;if(!G)return!1;for(const de of j.composedPath()){if(de===G)return!1;if(de instanceof HTMLElement&&de.scrollHeight>de.clientHeight+1&&de.scrollTop>1)return!0}return!1}function lo(j){j.defaultPrevented||j.ctrlKey||j.shiftKey||j.deltaY>=0||Us(j)||Ts()}function Vs(j){const G=Te.value;if(!G||j.defaultPrevented||j.button!==0||j.pointerType==="touch")return;const de=G.getBoundingClientRect(),ot=G.offsetWidth-G.clientWidth,ut=ot>0?ot:12;j.target===G&&j.clientX>=de.right-ut&&Ts()}let hs=null;function xs(j){hs=j.touches.length===1?j.touches[0].clientY:null}function js(j){const G=j.touches.length===1?j.touches[0].clientY:null;G!==null&&hs!==null&&G>hs+2&&!Us(j)&&Ts(),hs=G}function Is(){if(!It)return;const j=Te.value?.firstElementChild??null;j!==At&&(At&&It.unobserve(At),At=j,j&&It.observe(j))}function As(){if(!It)return;const j=Se.value;j!==yn&&(yn&&It.unobserve(yn),yn=j,j&&It.observe(j))}function Hn(){const j=Te.value;He(),Vt&&(Vt.disconnect(),j&&Vt.observe(j,{childList:!0,subtree:!0,characterData:!0})),It&&(It.disconnect(),At=null,yn=null,j&&It.observe(j),Is(),As()),fs=j?.scrollHeight??0,ms=j?.clientHeight??0,Y()}function os(){Is(),gs(),Y()}function ys(){typeof document>"u"||document.visibilityState==="visible"&&at.value&&hn()}const ks=x(!1);let Ie=null;function H(){ks.value=!0,Ie!==null&&clearTimeout(Ie),Ie=setTimeout(()=>{ks.value=!1},NP)}function A(){H(),i("interrupt")}function _e(j){j.key==="Escape"&&(o.running||o.working)&&(j.preventDefault(),A())}function $e(){at.value&&gs()}xt(()=>{Ze(()=>{typeof MutationObserver=="function"&&(Vt=new MutationObserver(os)),typeof ResizeObserver=="function"&&(It=new ResizeObserver(()=>{Y(),He();const j=Te.value;if(!j)return;const{scrollHeight:G,clientHeight:de}=j,ot=G>fs+1,ut=de{Vt&&Vt.disconnect(),It&&It.disconnect(),_n&&Mt(_n),Wt&&Mt(Wt),Et&&Mt(Et),U&&Mt(U),Ie!==null&&clearTimeout(Ie),b!==null&&(clearTimeout(b),b=null),typeof document<"u"&&(document.removeEventListener("visibilitychange",ys),document.removeEventListener("keydown",_e)),window.visualViewport?.removeEventListener("resize",$e)});function _t(){(y.value??g.value)?.focus()}return t({loadComposerForEdit:P,focusComposer:_t}),(j,G)=>(l(),c("section",{class:pe(["con",{mobile:e.mobile}])},[!e.mobile&&!(e.turns.length===0&&!e.sessionLoading)?(l(),W(px,{key:0,"session-id":e.sessionId,"workspace-name":e.workspaceName,"workspace-root":e.workspaceRoot,"session-title":e.sessionTitle,branch:e.gitInfo?.branch,ahead:e.gitInfo?.ahead,behind:e.gitInfo?.behind,"changes-count":ve.value,"git-diff-stats":e.gitDiffStats,"is-git-repo":!!e.gitInfo,pr:e.pr,copied:S.value,"search-active":re.value,pinned:e.sessionPinned,onOpenChanges:G[0]||(G[0]=de=>i("openChanges")),onCopyAll:G[1]||(G[1]=de=>$.value?.copyConversation()),onCopyFinalSummary:G[2]||(G[2]=de=>$.value?.copyFinalSummary()),onOpenPr:G[3]||(G[3]=de=>e.pr&&i("openPr",e.pr.url)),onRenameSession:G[4]||(G[4]=(de,ot)=>i("renameSession",de,ot)),onTogglePin:G[5]||(G[5]=de=>i("togglePin",de)),onForkSession:G[6]||(G[6]=de=>i("forkSession",de)),onArchiveSession:G[7]||(G[7]=de=>i("archiveSession",de)),onExportSession:G[8]||(G[8]=de=>i("exportSession",de)),onToggleSearch:Oe},null,8,["session-id","workspace-name","workspace-root","session-title","branch","ahead","behind","changes-count","git-diff-stats","is-git-repo","pr","copied","search-active","pinned"])):I("",!0),re.value?(l(),W(pP,{key:1,query:F.value,total:we.value,"active-index":Z.value,"onUpdate:query":G[9]||(G[9]=de=>F.value=de),onNext:be,onPrev:ze,onClose:Ve},null,8,["query","total","active-index"])):I("",!0),e.conversationToc?(l(),W(kP,{key:2,items:ae.value,"active-turn-id":se.value,mobile:e.mobile,"session-loading":e.sessionLoading,occluded:J.value,onSelect:Ct},null,8,["items","active-turn-id","mobile","session-loading","occluded"])):I("",!0),r("div",TP,[r("div",{ref:Ue,class:pe(["panes chat-scroll",{"is-following":at.value,"history-prepending":qn.value}]),onScrollPassive:ss,onWheelPassive:lo,onPointerdownPassive:Vs,onTouchstartPassive:xs,onTouchmovePassive:js},[r("div",{class:pe(["content-wrap",[e.mobile?"align-mobile":"align-center"]])},[e.turns.length===0&&!e.sessionLoading?(l(),c(ce,{key:0},[G[59]||(G[59]=r("div",{class:"empty-spacer"},null,-1)),r("div",xP,[r("span",{class:pe(["empty-hint-title",{"is-starting":e.starting}])},[e.starting?(l(),W(Qt,{key:0,size:"sm"})):I("",!0),r("span",null,d(e.starting?a(s)("conversation.starting"):a(s)("composer.emptyConversationTitle")),1)],2),e.starting?I("",!0):(l(),c("span",IP,d(a(s)("composer.emptyConversation")),1)),v.value&&!e.starting?(l(),c("div",AP,[w(ht,{text:a(s)("conversation.switchWorkspace")},{default:R(()=>[r("button",{type:"button",class:"ws-pick-btn",onClick:G[10]||(G[10]=De(de=>u.value=!u.value,["stop"]))},[w(X,{name:"folder",size:"sm"}),r("span",PP,d(f.value),1),w(X,{class:pe(["ws-pick-chev",{open:u.value}]),name:"chevron-down",size:"sm"},null,8,["class"])])]),_:1},8,["text"]),u.value?(l(),c("div",{key:0,class:"ws-pick-backdrop",onClick:G[11]||(G[11]=de=>u.value=!1)})):I("",!0),u.value?(l(),c("div",EP,[(l(!0),c(ce,null,Pe(T.value,de=>(l(),c("button",{key:de.id,type:"button",class:pe(["ws-pick-item",{on:de.id===e.activeWorkspaceId}]),onClick:De(ot=>m(de.id),["stop"])},[r("span",LP,d(de.name),1),r("span",RP,d(de.shortPath),1)],10,BP))),128)),h.value>0?(l(),c("button",{key:0,type:"button",class:"ws-pick-item ws-pick-more",onClick:G[12]||(G[12]=De(de=>p.value=!p.value,["stop"]))},[r("span",null,d(a(s)("conversation.moreWorkspaces",{count:h.value})),1)])):I("",!0),G[58]||(G[58]=r("div",{class:"ws-pick-divider"},null,-1)),r("button",{type:"button",class:"ws-pick-action",onClick:G[13]||(G[13]=De(de=>{u.value=!1,i("addWorkspace")},["stop"]))},[w(X,{name:"plus",size:"sm"}),r("span",null,d(a(s)("conversation.addWorkspace")),1)])])):I("",!0)])):e.starting?I("",!0):(l(),c("button",{key:2,type:"button",class:"empty-add-workspace",onClick:G[14]||(G[14]=de=>i("addWorkspace"))},[w(X,{name:"folder-plus",size:"sm"}),r("span",null,d(a(s)("conversation.addWorkspace")),1)]))]),w(pp,{ref_key:"emptyComposerRef",ref:g,class:"empty-composer","session-id":e.sessionId,running:e.running,queued:e.queued,"search-files":e.searchFiles,"upload-image":e.uploadImage,status:e.status,thinking:e.thinking,"plan-mode":e.planMode,"plan-armed":e.planArmed,"swarm-mode":e.swarmMode,"supermoon-mode":e.supermoonMode,"goal-mode":e.goalMode,goal:e.goal,"activation-badges":e.activationBadges,models:e.models,"starred-ids":e.starredIds,skills:e.skills,starting:e.starting,"hide-context":"",onSubmit:en,onSteer:G[15]||(G[15]=de=>i("steer",de)),onCommand:G[16]||(G[16]=(de,ot)=>i("command",de,ot)),onInterrupt:A,onUnqueue:G[17]||(G[17]=de=>i("unqueue",de)),onEditQueued:G[18]||(G[18]=de=>i("editQueued",de)),onSetPermission:G[19]||(G[19]=de=>i("setPermission",de)),onSetThinking:G[20]||(G[20]=de=>i("setThinking",de)),onTogglePlan:G[21]||(G[21]=de=>i("togglePlan")),onToggleSwarm:G[22]||(G[22]=de=>i("toggleSwarm")),onToggleSupermoon:G[23]||(G[23]=de=>i("toggleSupermoon")),onToggleGoal:G[24]||(G[24]=de=>i("toggleGoal")),onDismissPlan:G[25]||(G[25]=de=>i("dismissPlan")),onFocusGoal:L,onCompact:G[26]||(G[26]=de=>i("compact")),onPickModel:G[27]||(G[27]=de=>i("pickModel")),onSelectModel:G[28]||(G[28]=de=>i("selectModel",de))},null,8,["session-id","running","queued","search-files","upload-image","status","thinking","plan-mode","plan-armed","swarm-mode","supermoon-mode","goal-mode","goal","activation-badges","models","starred-ids","skills","starting"]),G[60]||(G[60]=r("div",{class:"empty-spacer"},null,-1))],64)):(l(),W(np,{ref_key:"chatPaneRef",ref:$,key:e.fileReloadKey??"no-session",turns:e.turns,approvals:e.approvals,"turn-active":e.turnActive,working:e.working,retry:e.modelRetry,"fast-moon":e.fastMoon,"session-loading":e.sessionLoading,compaction:e.compaction,"has-more-messages":e.hasMoreMessages,"loading-more":e.loadingMore,"loading-more-error":e.loadingMoreError,"is-following":at.value,"tool-diff-panel":!0,queued:e.queued,"search-query":F.value,"search-active-index":re.value?Z.value:-1,mentions:k.value,onOpenFile:G[29]||(G[29]=de=>i("openFile",de)),onOpenMedia:G[30]||(G[30]=de=>i("openMedia",de)),onCopyConversationCopied:E,onOpenThinking:G[31]||(G[31]=de=>i("openThinking",de)),onOpenCompaction:G[32]||(G[32]=de=>i("openCompaction",de)),onOpenAgent:G[33]||(G[33]=de=>i("openAgent",de)),onOpenToolDiff:G[34]||(G[34]=de=>i("openToolDiff",de)),onMoveToBackground:G[35]||(G[35]=de=>i("moveToBackground",de)),onEditMessage:Yn,onLoadOlderMessages:Xt,onUnqueue:G[36]||(G[36]=de=>i("unqueue",de)),onEditQueued:Ce,onReorderQueue:fe,onOpenMentionSkill:G[37]||(G[37]=de=>i("openMentionSkill",de)),onSteerQueued:We,onSteerQueuedIndex:it,onSendQueued:zt,onResumeTurn:G[38]||(G[38]=de=>i("resumeTurn",de))},null,8,["turns","approvals","turn-active","working","retry","fast-moon","session-loading","compaction","has-more-messages","loading-more","loading-more-error","is-following","queued","search-query","search-active-index","mentions"]))],2)],34),e.turns.length===0&&!e.sessionLoading?I("",!0):(l(),W(iP,{key:0,ref:dt,style:gt(yt.value),"session-id":e.sessionId,running:e.running,starting:e.starting,queued:e.queued,"search-files":e.searchFiles,"upload-image":e.uploadImage,status:e.status,thinking:e.thinking,"plan-mode":e.planMode,"plan-armed":e.planArmed,"swarm-mode":e.swarmMode,"supermoon-mode":e.supermoonMode,"goal-mode":e.goalMode,"activation-badges":e.activationBadges,models:e.models,"starred-ids":e.starredIds,skills:e.skills,goal:e.goal,"goal-expand-signal":B.value,"plan-tool-call-id":Be.value,"dock-panel":me.value,"bash-tasks":N.value,"subagent-tasks":Q.value,"bash-running":V.value,"subagent-running":_.value,"todo-done-count":D.value,"has-dock-work":ee.value,todos:e.todos,"pending-question":st.value,"question-busy-kind":et.value,"pending-approval":pt.value,"approval-busy":Me.value,terminal:e.terminal,mobile:e.mobile,onToggleDockPanel:G[39]||(G[39]=de=>ie(de)),onCloseDockPanel:G[40]||(G[40]=de=>le()),onOpenAgent:G[41]||(G[41]=de=>i("openAgent",de)),onAnswer:Ft,onDismiss:G[42]||(G[42]=de=>i("dismiss",de)),onApproval:Zt,onCancelTask:G[43]||(G[43]=de=>i("cancelTask",de)),onControlGoal:G[44]||(G[44]=de=>i("controlGoal",de)),onSubmit:en,onSteer:G[45]||(G[45]=de=>i("steer",de)),onCommand:G[46]||(G[46]=(de,ot)=>i("command",de,ot)),onInterrupt:A,onSetPermission:G[47]||(G[47]=de=>i("setPermission",de)),onSetThinking:G[48]||(G[48]=de=>i("setThinking",de)),onTogglePlan:G[49]||(G[49]=de=>i("togglePlan")),onToggleSwarm:G[50]||(G[50]=de=>i("toggleSwarm")),onToggleSupermoon:G[51]||(G[51]=de=>i("toggleSupermoon")),onToggleGoal:G[52]||(G[52]=de=>i("toggleGoal")),onDismissPlan:G[53]||(G[53]=de=>i("dismissPlan")),onFocusGoal:L,onCompact:G[54]||(G[54]=de=>i("compact")),onPickModel:G[55]||(G[55]=de=>i("pickModel")),onSelectModel:G[56]||(G[56]=de=>i("selectModel",de))},null,8,["style","session-id","running","starting","queued","search-files","upload-image","status","thinking","plan-mode","plan-armed","swarm-mode","supermoon-mode","goal-mode","activation-badges","models","starred-ids","skills","goal","goal-expand-signal","plan-tool-call-id","dock-panel","bash-tasks","subagent-tasks","bash-running","subagent-running","todo-done-count","has-dock-work","todos","pending-question","question-busy-kind","pending-approval","approval-busy","terminal","mobile"]))]),w(li,{name:"pill"},{default:R(()=>[Ht.value?(l(),c("button",{key:0,class:"newmsg-pill",style:gt({bottom:`${Xe.value+12}px`}),"aria-label":a(s)("conversation.jumpToLatestAria"),onClick:G[57]||(G[57]=de=>Ut(!0))},[w(X,{class:"pill-chevron",name:"chevron-down",size:"md"}),te(" "+d(a(s)("conversation.newMessages")),1)],12,DP)):I("",!0)]),_:1}),w(li,{name:"abort-toast"},{default:R(()=>[ks.value?(l(),c("div",OP,[r("span",zP,d(a(s)("conversation.manuallyAborted")),1)])):I("",!0)]),_:1})],2))}}),qP=Le(WP,[["__scopeId","data-v-32714afa"]]);function HP(e){const{path:t}=e;if(!t)return"";if(t.startsWith("/"))return t;const n=(e.workspaceRoot??"").replace(/\/+$/,"");return n?`${n}/${t}`:t}const UP={class:"ui-panel-header__title"},VP={key:0,class:"ui-panel-header__sub"},jP=Ee({__name:"PanelHeader",props:{title:{},subtitle:{},closable:{type:Boolean,default:!0},closeLabel:{default:"Close"},wrap:{type:Boolean}},emits:["close"],setup(e){return(t,n)=>(l(),c("div",{class:pe(["ui-panel-header",{wrap:e.wrap}])},[r("span",UP,d(e.title),1),w(ht,{text:e.subtitle},{default:R(()=>[e.subtitle?(l(),c("span",VP,d(e.subtitle),1)):I("",!0)]),_:1},8,["text"]),Pt(t.$slots,"default",{},void 0,!0),e.closable?(l(),W(rt,{key:0,class:"ui-panel-header__close",size:"sm",label:e.closeLabel,onClick:n[0]||(n[0]=s=>t.$emit("close"))},{default:R(()=>[w(X,{name:"close",size:"sm"})]),_:1},8,["label"])):I("",!0)],2))}}),$o=Le(jP,[["__scopeId","data-v-c47879ad"]]),KP={key:0,class:"fp-empty fp-error"},GP={key:1,class:"fp-empty"},QP={key:2,class:"fp-loading"},YP={class:"fp-path"},ZP={class:"fp-meta"},XP={key:0,class:"fp-lines"},JP={class:"fp-size"},eE={key:3,class:"fp-search"},tE=["placeholder"],nE={key:0,class:"fp-search-count"},sE=["href","aria-label"],oE={key:1,class:"fp-code"},iE={class:"fp-line-table"},aE=["data-line"],lE={class:"fp-gutter"},rE=["innerHTML"],uE={key:1,class:"fp-body fp-code"},cE={class:"fp-line-table"},dE=["data-line"],pE={class:"fp-gutter"},fE=["innerHTML"],mE={key:2,class:"fp-body"},vE=["srcdoc","title"],gE={key:1,class:"fp-code"},hE={class:"fp-line-table"},yE=["data-line"],kE={class:"fp-gutter"},bE=["innerHTML"],wE={key:3,class:"fp-body fp-pdf-wrap"},SE=["src","title"],CE={key:1,class:"fp-binary-card"},_E={class:"fp-binary-label"},ME={key:4,class:"fp-body fp-table-wrap"},$E={class:"fp-table"},TE=["data-line"],xE={key:5,class:"fp-body fp-image-wrap"},IE=["src","alt"],AE={key:1,class:"fp-binary-card"},PE={class:"fp-binary-icon"},EE={class:"fp-binary-label"},BE={key:6,class:"fp-body fp-image-wrap"},LE=["src"],RE={key:1,class:"fp-binary-card"},DE={class:"fp-binary-icon"},OE={class:"fp-binary-label"},zE={key:7,class:"fp-body fp-code"},FE={class:"fp-line-table"},NE=["data-line"],WE={class:"fp-gutter"},qE=["innerHTML"],HE={key:8,class:"fp-body fp-binary-wrap"},UE={class:"fp-binary-card"},VE={class:"fp-binary-icon"},jE={class:"fp-binary-label"},KE=Ee({__name:"FilePreview",props:{file:{},loading:{type:Boolean},error:{},line:{},downloadUrl:{},closable:{type:Boolean},externalActions:{type:Boolean},openFile:{type:Function},workspaceRoot:{},openInApps:{}},emits:["close","openExternal","reveal","openInApp"],setup(e,{emit:t}){const{t:n}=Ye();function s(Me,Te){const Se=Te?Te.split("/").filter(Boolean):[];for(const Ae of Me.split("/"))Ae===""||Ae==="."||(Ae===".."?Se.pop():Se.push(Ae));return Se.join("/")}const o=Fs("resolveImage",async Me=>Me),i=M(()=>{const Me=v.file?.path??"",Te=Me.lastIndexOf("/");return Te>0?Me.slice(0,Te):""});function u(Me){if(/^(https?:|data:|blob:)/i.test(Me)||Me.startsWith("/"))return Me;const Te=i.value;return Te?s(Me,Te):Me}async function p(Me){const Te=u(Me);return o?o(Te):Te}ko("resolveImage",p);function f(Me){let Te=Me.path;if(/^(https?:|mailto:|tel:|data:|blob:|#)/i.test(Te)||Te.startsWith("/"))return Me;for(const Ae of["#","?"]){const Xe=Te.indexOf(Ae);Xe!==-1&&(Te=Te.slice(0,Xe))}const Se=i.value;return{...Me,path:s(Te,Se)}}const v=e,k=t;function T(Me){v.openFile?.(f(Me))}const h=x(null),m=M(()=>{const Me=v.file;if(!Me)return"binary";const Te=Me.mime??"",Se=Me.languageId??"",Ae=Me.path.toLowerCase();return Te==="text/markdown"||Se==="markdown"||Se==="md"||Ae.endsWith(".mdx")?"markdown":Te==="application/json"||Se==="json"?"json":Te==="text/html"||Se==="html"||Ae.endsWith(".html")||Ae.endsWith(".htm")?"html":Te==="application/pdf"||Ae.endsWith(".pdf")?"pdf":Te==="text/csv"||Se==="csv"||Ae.endsWith(".csv")?"csv":Te.startsWith("image/")?"image":Te.startsWith("video/")?"video":Me.isBinary?"binary":Te.startsWith("text/")||Se!==""?"text":"binary"});function $(Me){const Te=atob(Me),Se=Uint8Array.from(Te,Ae=>Ae.charCodeAt(0));return new TextDecoder().decode(Se)}const g=M(()=>{const Me=v.file;if(!Me)return"";if(Me.encoding==="base64")try{return $(Me.content)}catch{return Me.content}return Me.content}),y=M(()=>{if(m.value!=="json"||!v.file)return"";try{return JSON.stringify(JSON.parse(g.value),null,2)}catch{return g.value}}),S=M(()=>v.file?(m.value==="json"?y.value:g.value).split(`
-`):[]),B=M(()=>v.file?m.value==="json"?y.value:g.value:""),b=x(""),P=x(0),E=M(()=>{const Me=b.value.trim().toLowerCase();if(!Me)return[];const Te=[];return S.value.forEach((Se,Ae)=>{Se.toLowerCase().includes(Me)&&Te.push(Ae+1)}),Te});Ne(b,()=>{P.value=0});function L(Me,Te=!1){Me&&Ze(()=>{const Se=h.value?.querySelector(".fp-body"),Ae=Se?.querySelector(`[data-line="${Me}"]`);if(!Se||!Ae)return;Te&&(Se.scrollTop=0);const Xe=Se.getBoundingClientRect(),yt=Ae.getBoundingClientRect(),qe=yt.top-Xe.top+Se.scrollTop;Se.scrollTop=qe-Se.clientHeight/2+yt.height/2})}Ne(()=>[v.file?.path,v.line],()=>L(v.line,!0),{immediate:!0});function N(Me){const Te=E.value;Te.length!==0&&(P.value=(P.value+Me+Te.length)%Te.length,L(Te[P.value]))}function Q(Me){const Te=E.value;return{target:v.line===Me,hit:Te.includes(Me),active:Te[P.value]===Me}}function V(Me){return Me<1024?`${Me} B`:Me<1024*1024?`${(Me/1024).toFixed(1)} KB`:`${(Me/(1024*1024)).toFixed(1)} MB`}const _=x(!1),z=x(!1);function D(){v.file&&ln(B.value).then(Me=>{Me&&(_.value=!0,setTimeout(()=>{_.value=!1},1400))})}function ee(){v.file&&ln(v.file.path).then(Me=>{Me&&(z.value=!0,setTimeout(()=>{z.value=!1},1400))})}const me=x(!1),ve=x({}),Be=x(null),ie=x(null),le=x(!1);function ne(Me){Be.value?.el&&!Be.value.el.contains(Me.target)&&se()}function ae(){if(me.value){se();return}me.value=!0,document.addEventListener("mousedown",ne,!0),window.addEventListener("resize",se),Ze().then(()=>{const Me=ie.value?.el,Te=Be.value?.el;if(!Me||!Te)return;const Se=Me.getBoundingClientRect(),Ae=4,Xe=8,yt=Te.offsetHeight??0,qe=Te.offsetWidth??0;let He=Se.bottom+Ae;He+yt>window.innerHeight-Xe&&(He=Math.max(Xe,Se.top-yt-Ae));let Ue=Se.right-qe;Ue{le.value=!1},1400))}function re(Me){se(),v.file&&k("openInApp",Me,v.file.path,v.line)}const F=x("preview"),Z=x("preview"),ke=x("fit");function we(Me){F.value=Me}function Oe(Me){Z.value=Me}function Ve(Me){ke.value=Me}Ne(m,Me=>{F.value=Me==="html"?"preview":"source",Z.value="preview",ke.value="fit"});const be=M(()=>{const Me=v.file;return!Me||m.value!=="image"?null:Me.sourceUrl?Me.sourceUrl:Me.encoding==="base64"?`data:${Me.mime};base64,${Me.content}`:Me.mime==="image/svg+xml"?`data:${Me.mime};charset=utf-8,${encodeURIComponent(Me.content)}`:null}),ze=M(()=>{const Me=v.file;return!Me||m.value!=="video"?null:Me.sourceUrl?Me.sourceUrl:Me.encoding==="base64"?`data:${Me.mime};base64,${Me.content}`:null}),oe=M(()=>{const Me=v.file;return!Me||m.value!=="pdf"?null:v.downloadUrl?v.downloadUrl:Me.encoding==="base64"?`data:${Me.mime};base64,${Me.content}`:null}),J=M(()=>v.file?["",' ',` `,g.value].join(""):"");function U(Me){const Te=[];let Se="",Ae=!1;for(let Xe=0;XeS.value.slice(0,200).map(U));function ye(Me){return Me.replaceAll("&","&").replaceAll("<","<").replaceAll(">",">").replaceAll('"',""")}function st(){const Me=v.file;if(!Me)return"";const Te=Me.languageId?.toLowerCase();return Te||(Me.path.split(".").pop()?.toLowerCase()??"")}function et(Me){const Te=st();let Se=ye(Me);return m.value==="json"||Te==="json"||Te==="jsonc"?(Se=Se.replace(/("[^&]*?")(\s*:)/g,'$1 $2'),Se=Se.replace(/(:\s*)("[^&]*?")/g,'$1$2 '),Se=Se.replace(/\b(true|false|null)\b/g,'$1 '),Se=Se.replace(/(:\s*)(-?\d+(?:\.\d+)?)/g,'$1$2 '),Se):m.value==="html"||Te==="html"||Te==="xml"||Te==="svg"?(Se=Se.replace(/\s([A-Za-z_:][-A-Za-z0-9_:.]*)(=)/g,' $1 $2'),Se=Se.replace(/(".*?")/g,'$1 '),Se=Se.replace(/(<\/?)([A-Za-z][\w:-]*)/g,'$1$2 '),Se):(Se=Se.replace(/\b(async|await|break|case|catch|class|const|continue|else|export|extends|finally|for|from|function|if|import|interface|let|new|return|switch|throw|try|type|while)\b/g,'$1 '),Se=Se.replace(/(".*?"|'.*?')/g,'$1 '),Se=Se.replace(/(\/\/.*)$/g,''),Se)}function pt(Me,Te=55){return!Me||Me.length<=Te?Me:"…"+Me.slice(Me.length-Te+1)}return(Me,Te)=>(l(),c("div",{ref_key:"rootRef",ref:h,class:"file-preview"},[e.error&&!e.loading?(l(),c("div",KP,[r("span",null,d(e.error),1),e.closable?(l(),W(je,{key:0,variant:"secondary",size:"sm",onClick:Te[0]||(Te[0]=Se=>k("close"))},{default:R(()=>[te(d(a(n)("filePreview.close")),1)]),_:1})):I("",!0)])):!e.file&&!e.loading?(l(),c("div",GP,d(a(n)("filePreview.empty")),1)):e.loading?(l(),c("div",QP,[Te[8]||(Te[8]=r("span",{class:"spinner"},null,-1)),r("span",null,d(a(n)("filePreview.loading")),1)])):e.file?(l(),c(ce,{key:3},[w($o,{wrap:"",title:a(n)("common.preview"),closable:e.closable,"close-label":a(n)("filePreview.close"),onClose:Te[4]||(Te[4]=Se=>k("close"))},{default:R(()=>[w(ht,{text:e.file.path},{default:R(()=>[r("span",YP,d(pt(e.file.path)),1)]),_:1},8,["text"]),r("span",ZP,[e.file.lineCount?(l(),c("span",XP,d(a(n)("filePreview.lineCount",{count:e.file.lineCount})),1)):I("",!0),r("span",JP,d(V(e.file.size)),1)]),m.value==="html"?(l(),W(vn,{key:0,"model-value":F.value,size:"sm",options:[{value:"preview",label:a(n)("filePreview.preview")},{value:"source",label:a(n)("filePreview.source")}],"onUpdate:modelValue":we},null,8,["model-value","options"])):I("",!0),m.value==="markdown"?(l(),W(vn,{key:1,"model-value":Z.value,size:"sm",options:[{value:"preview",label:a(n)("filePreview.preview")},{value:"source",label:a(n)("filePreview.source")}],"onUpdate:modelValue":Oe},null,8,["model-value","options"])):I("",!0),m.value==="image"?(l(),W(vn,{key:2,"model-value":ke.value,size:"sm",options:[{value:"fit",label:a(n)("filePreview.fit")},{value:"actual",label:a(n)("filePreview.actual")}],"onUpdate:modelValue":Ve},null,8,["model-value","options"])):I("",!0),m.value==="text"||m.value==="json"||m.value==="html"||m.value==="csv"?(l(),c("div",eE,[bt(r("input",{"onUpdate:modelValue":Te[1]||(Te[1]=Se=>b.value=Se),class:"fp-search-input",type:"search",placeholder:a(n)("filePreview.search")},null,8,tE),[[On,b.value]]),b.value.trim()?(l(),c("span",nE,d(E.value.length),1)):I("",!0),w(rt,{size:"sm",disabled:E.value.length===0,label:a(n)("filePreview.prevMatch"),onClick:Te[2]||(Te[2]=Se=>N(-1))},{default:R(()=>[w(X,{name:"arrow-up",size:"md"})]),_:1},8,["disabled","label"]),w(rt,{size:"sm",disabled:E.value.length===0,label:a(n)("filePreview.nextMatch"),onClick:Te[3]||(Te[3]=Se=>N(1))},{default:R(()=>[w(X,{name:"arrow-down",size:"md"})]),_:1},8,["disabled","label"])])):I("",!0),w(rt,{size:"sm",class:pe({copied:z.value}),label:z.value?a(n)("filePreview.copied"):a(n)("filePreview.copyPath"),onClick:ee},{default:R(()=>[z.value?(l(),W(X,{key:1,class:"fp-check",name:"check",size:"md"})):(l(),W(X,{key:0,name:"link",size:"md"}))]),_:1},8,["class","label"]),e.externalActions?(l(),W(ht,{key:4,text:e.file.path},{default:R(()=>[w(rt,{ref_key:"openInTriggerRef",ref:ie,size:"sm",label:a(n)("filePreview.openInMenu"),onClick:ae},{default:R(()=>[w(X,{name:"external-link",size:"md"})]),_:1},8,["label"])]),_:1},8,["text"])):I("",!0),e.downloadUrl?(l(),c("a",{key:5,class:"fp-download",href:e.downloadUrl,target:"_blank",rel:"noreferrer",download:"","aria-label":a(n)("filePreview.download")},[w(X,{name:"download",size:"md"})],8,sE)):I("",!0),!e.file.isBinary&&m.value!=="image"?(l(),W(rt,{key:6,size:"sm",class:pe({copied:_.value}),label:_.value?a(n)("filePreview.copied"):a(n)("filePreview.copy"),onClick:D},{default:R(()=>[_.value?(l(),W(X,{key:1,class:"fp-check",name:"check",size:"md"})):(l(),W(X,{key:0,name:"copy",size:"md"}))]),_:1},8,["class","label"])):I("",!0)]),_:1},8,["title","closable","close-label"]),(l(),W(ns,{to:"body"},[me.value?(l(),W(Nn,{key:0,ref_key:"openInMenuRef",ref:Be,class:"fp-open-in",style:gt(ve.value),onClick:Te[7]||(Te[7]=De(()=>{},["stop"]))},{default:R(()=>[w(nt,{onClick:ge},{default:R(()=>[w(X,{name:"link",size:"sm"}),te(" "+d(le.value?a(n)("filePreview.copied"):a(n)("filePreview.copyAbsolutePath")),1)]),_:1}),w(nt,{separator:""}),w(nt,{onClick:Te[5]||(Te[5]=Se=>{k("openExternal"),se()})},{default:R(()=>[w(X,{name:"external-link",size:"sm"}),te(" "+d(a(n)("filePreview.openInEditor")),1)]),_:1}),(l(!0),c(ce,null,Pe(e.openInApps??[],Se=>(l(),W(nt,{key:Se,onClick:Ae=>re(Se)},{default:R(()=>[w(X,{name:"code",size:"sm"}),te(" "+d(a(n)("filePreview.openInApp",{app:Se})),1)]),_:2},1032,["onClick"]))),128)),w(nt,{separator:""}),w(nt,{onClick:Te[6]||(Te[6]=Se=>{k("reveal"),se()})},{default:R(()=>[w(X,{name:"folder",size:"sm"}),te(" "+d(a(n)("filePreview.reveal")),1)]),_:1})]),_:1},8,["style"])):I("",!0)])),m.value==="markdown"?(l(),c("div",{key:0,class:pe(["fp-body",{"fp-markdown":Z.value==="preview"}])},[Z.value==="preview"?(l(),W(bi,{key:0,text:g.value,"open-file":v.openFile?T:void 0},null,8,["text","open-file"])):(l(),c("div",oE,[r("div",iE,[(l(!0),c(ce,null,Pe(S.value,(Se,Ae)=>(l(),c("div",{key:Ae,class:pe(["fp-line-row",Q(Ae+1)]),"data-line":Ae+1},[r("span",lE,d(Ae+1),1),r("span",{class:"fp-line-text",innerHTML:et(Se)},null,8,rE)],10,aE))),128))])]))],2)):m.value==="json"?(l(),c("div",uE,[r("div",cE,[(l(!0),c(ce,null,Pe(S.value,(Se,Ae)=>(l(),c("div",{key:Ae,class:pe(["fp-line-row",Q(Ae+1)]),"data-line":Ae+1},[r("span",pE,d(Ae+1),1),r("span",{class:"fp-line-text",innerHTML:et(Se)},null,8,fE)],10,dE))),128))])])):m.value==="html"?(l(),c("div",mE,[F.value==="preview"?(l(),c("iframe",{key:0,class:"fp-html-frame",sandbox:"",srcdoc:J.value,title:e.file.path},null,8,vE)):(l(),c("div",gE,[r("div",hE,[(l(!0),c(ce,null,Pe(S.value,(Se,Ae)=>(l(),c("div",{key:Ae,class:pe(["fp-line-row",Q(Ae+1)]),"data-line":Ae+1},[r("span",kE,d(Ae+1),1),r("span",{class:"fp-line-text",innerHTML:et(Se)},null,8,bE)],10,yE))),128))])]))])):m.value==="pdf"?(l(),c("div",wE,[oe.value?(l(),c("iframe",{key:0,class:"fp-pdf-frame",src:oe.value,title:e.file.path},null,8,SE)):(l(),c("div",CE,[r("span",_E,d(a(n)("filePreview.pdfNoPreview")),1)]))])):m.value==="csv"?(l(),c("div",ME,[r("table",$E,[r("tbody",null,[(l(!0),c(ce,null,Pe(Y.value,(Se,Ae)=>(l(),c("tr",{key:Ae,class:pe(Q(Ae+1)),"data-line":Ae+1},[r("th",null,d(Ae+1),1),(l(!0),c(ce,null,Pe(Se,(Xe,yt)=>(l(),c("td",{key:yt},d(Xe),1))),128))],10,TE))),128))])])])):m.value==="image"?(l(),c("div",xE,[be.value?(l(),c("img",{key:0,src:be.value,alt:e.file.path,class:pe(["fp-image",{actual:ke.value==="actual"}])},null,10,IE)):(l(),c("div",AE,[r("span",PE,[w(X,{name:"image-off",size:"lg"})]),r("span",EE,d(a(n)("filePreview.imageNoPreview",{mime:e.file.mime,size:V(e.file.size)})),1)]))])):m.value==="video"?(l(),c("div",BE,[ze.value?(l(),c("video",{key:0,src:ze.value,class:"fp-image",controls:"",playsinline:"",preload:"metadata"},null,8,LE)):(l(),c("div",RE,[r("span",DE,[w(X,{name:"image-off",size:"lg"})]),r("span",OE,d(a(n)("filePreview.videoNoPreview",{mime:e.file.mime,size:V(e.file.size)})),1)]))])):m.value==="text"?(l(),c("div",zE,[r("div",FE,[(l(!0),c(ce,null,Pe(S.value,(Se,Ae)=>(l(),c("div",{key:Ae,class:pe(["fp-line-row",Q(Ae+1)]),"data-line":Ae+1},[r("span",WE,d(Ae+1),1),r("span",{class:"fp-line-text",innerHTML:et(Se)},null,8,qE)],10,NE))),128))])])):(l(),c("div",HE,[r("div",UE,[r("span",VE,[w(X,{name:"file-off",size:"lg"})]),r("span",jE,d(a(n)("filePreview.binaryNoPreview",{mime:e.file.mime||a(n)("filePreview.unknownType"),size:V(e.file.size)})),1)])]))],64)):I("",!0)],512))}}),GE=Le(KE,[["__scopeId","data-v-6fe88fd7"]]),QE={class:"tp"},YE=Ee({__name:"ThinkingPanel",props:{text:{},subtitle:{}},emits:["close"],setup(e,{emit:t}){const n=e,s=t,{t:o}=Ye(),i=x(null);return Ne(()=>n.text,()=>{const u=i.value;!u||!(u.scrollHeight-u.scrollTop-u.clientHeight<24)||Ze(()=>{i.value&&(i.value.scrollTop=i.value.scrollHeight)})},{immediate:!0}),(u,p)=>(l(),c("div",QE,[w($o,{title:a(o)("common.preview"),subtitle:e.subtitle??a(o)("thinking.panelTitle"),"close-label":a(o)("thinking.close"),onClose:p[0]||(p[0]=f=>s("close"))},null,8,["title","subtitle","close-label"]),r("pre",{ref_key:"bodyEl",ref:i,class:"tp-body"},d(e.text),513)]))}}),Nu=Le(YE,[["__scopeId","data-v-98c343f3"]]),ZE={class:"ap"},XE={key:0,class:"ap-type"},JE={key:1,class:"ap-reason"},eB={key:2,class:"ap-field"},tB={class:"ap-field-label"},nB={class:"ap-field-body"},sB={key:3,class:"ap-field"},oB={class:"ap-field-label"},iB={class:"ap-field-body ap-live"},aB={key:4,class:"ap-field"},lB={class:"ap-field-label"},rB={class:"ap-field-body ap-progress"},uB={key:0,class:"ap-call"},cB={key:1,class:"ap-output"},dB=["onClick"],pB={key:5,class:"ap-field"},fB={class:"ap-field-label"},mB={class:"ap-field-body"},vB=8,Wu=5,qu=2,gB=Ee({__name:"AgentDetailPanel",props:{member:{}},emits:["close"],setup(e,{emit:t}){const n=e,s=t,{t:o}=Ye(),i=M(()=>(n.member.outputLines??[]).map(g=>g.trimEnd()).filter(g=>g.length>0)),u=M(()=>(n.member.text??"").trimEnd());function p(g){const y=[];let S=null,B=0;for(const b of g)b.startsWith("Calling ")?(S={key:`g${B++}`,call:b,output:[]},y.push(S)):S?S.output.push(b):(S={key:`g${B++}`,call:"",output:[b]},y.push(S));return y}const f=M(()=>p(i.value)),v=x(new Set);function k(g){return v.value.has(g)}function T(g){const y=new Set(v.value);y.has(g)?y.delete(g):y.add(g),v.value=y}function h(g){return g.output.length-Wu-qu}function m(g){switch(g){case"queued":return"Queued";case"working":return"Working";case"suspended":return"Suspended";case"completed":return"Completed";case"failed":return"Failed"}}const $=x(null);return Ne(()=>i.value.length+u.value.length,()=>{const g=$.value;!g||!(g.scrollHeight-g.scrollTop-g.clientHeight<24)||Ze(()=>{$.value&&($.value.scrollTop=$.value.scrollHeight)})},{immediate:!0}),(g,y)=>(l(),c("div",ZE,[w($o,{title:a(o)("common.preview"),subtitle:e.member.name,"close-label":a(o)("thinking.close"),onClose:y[0]||(y[0]=S=>s("close"))},{default:R(()=>[w(Bt,{variant:"neutral",size:"sm",class:"ap-phase"},{default:R(()=>[te(d(m(e.member.phase)),1)]),_:1})]),_:1},8,["title","subtitle","close-label"]),r("div",{ref_key:"bodyEl",ref:$,class:"ap-body"},[e.member.subagentType?(l(),c("div",XE,d(e.member.subagentType),1)):I("",!0),e.member.suspendedReason?(l(),c("div",JE,d(e.member.suspendedReason),1)):I("",!0),e.member.prompt?(l(),c("div",eB,[r("span",tB,d(a(o)("tasks.fieldTask")),1),r("div",nB,d(e.member.prompt),1)])):I("",!0),u.value?(l(),c("div",sB,[r("span",oB,d(a(o)("tasks.fieldOutput")),1),r("div",iB,d(u.value),1)])):I("",!0),f.value.length>0?(l(),c("div",aB,[r("span",lB,d(a(o)("tasks.fieldProgress")),1),r("div",rB,[(l(!0),c(ce,null,Pe(f.value,S=>(l(),c("div",{key:S.key,class:"ap-group"},[S.call?(l(),c("div",uB,[y[1]||(y[1]=r("span",{class:"ap-glyph","aria-hidden":"true"},"▶",-1)),te(" "+d(S.call),1)])):I("",!0),S.output.length>0?(l(),c("div",cB,[S.output.length<=vB||k(S.key)?(l(!0),c(ce,{key:0},Pe(S.output,(B,b)=>(l(),c("div",{key:b,class:"ap-out-line"},d(B),1))),128)):(l(),c(ce,{key:1},[(l(!0),c(ce,null,Pe(S.output.slice(0,Wu),(B,b)=>(l(),c("div",{key:b,class:"ap-out-line"},d(B),1))),128)),r("button",{type:"button",class:"ap-fold",onClick:B=>T(S.key)}," … ("+d(h(S))+" more) ",9,dB),(l(!0),c(ce,null,Pe(S.output.slice(-qu),(B,b)=>(l(),c("div",{key:"t"+b,class:"ap-out-line"},d(B),1))),128))],64))])):I("",!0)]))),128))])])):I("",!0),e.member.summary?(l(),c("div",pB,[r("span",fB,d(a(o)("tasks.fieldResult")),1),r("div",mB,d(e.member.summary),1)])):I("",!0)],512)]))}}),hB=Le(gB,[["__scopeId","data-v-59df0789"]]),fp=["off","protanopia-deuteranopia","tritanopia"],yB=["pierre-light","pierre-light-protanopia-deuteranopia","pierre-light-tritanopia","pierre-dark","pierre-dark-protanopia-deuteranopia","pierre-dark-tritanopia"];function kB(e){return typeof e=="string"&&fp.includes(e)}function Hu(e){return kB(e)?e:"off"}function bB(e,t){const n=e?"pierre-dark":"pierre-light";return t==="off"?n:`${n}-${t}`}function wB(e,t,n=yB){const s=bB(e,t);return n.includes(s)?s:null}const SB={"pierre-light":{add:"#18a46c",addSoft:"#18a46c33",del:"#d52c36",delSoft:"#d52c3633"},"pierre-light-protanopia-deuteranopia":{add:"#216cab",addSoft:"#216cab33",del:"#ac6023",delSoft:"#ac602333"},"pierre-light-tritanopia":{add:"#1e858e",addSoft:"#1e858e33",del:"#d5512f",delSoft:"#d5512f33"},"pierre-dark":{add:"#07c480",addSoft:"#07c4801a",del:"#ff2e3f",delSoft:"#ff2e3f1a"},"pierre-dark-protanopia-deuteranopia":{add:"#97c4ff",addSoft:"#97c4ff1a",del:"#fe8c2c",delSoft:"#fe8c2c1a"},"pierre-dark-tritanopia":{add:"#92dde4",addSoft:"#92dde41a",del:"#ff855e",delSoft:"#ff855e1a"}},CB=["data-theme"],_B={key:0,class:"hunk-text"},MB={class:"dl-gutter old"},$B={class:"dl-gutter new"},TB={class:"dl-sign"},xB={class:"dl-text"},IB=Ee({__name:"DiffLines",props:{lines:{},theme:{default:null}},setup(e){const t=e,n=M(()=>{const u=t.theme?SB[t.theme]:void 0;return u?{"--dl-add":u.add,"--dl-add-soft":u.addSoft,"--dl-del":u.del,"--dl-del-soft":u.delSoft}:null});function s(u){return u.oldNo!==void 0?String(u.oldNo):""}function o(u){return u.newNo!==void 0?String(u.newNo):""}function i(u){return`dl-${u.type}`}return(u,p)=>(l(),c("div",{class:"diff-lines","data-theme":n.value?t.theme:null,style:gt(n.value)},[(l(!0),c(ce,null,Pe(e.lines,(f,v)=>(l(),c("div",{key:v,class:pe(["dl",i(f)])},[f.type==="hunk"?(l(),c("span",_B,d(f.text),1)):(l(),c(ce,{key:1},[r("span",MB,d(s(f)),1),r("span",$B,d(o(f)),1),r("span",TB,d(f.type==="add"?"+":f.type==="del"?"-":" "),1),r("span",xB,d(f.text),1)],64))],2))),128))],12,CB))}}),mp=Le(IB,[["__scopeId","data-v-26e24204"]]),AB={class:"tdp"},PB={class:"tdp-body"},EB={key:1,class:"tdp-output"},BB={key:2,class:"tdp-empty"},LB=Ee({__name:"ToolDiffPanel",props:{target:{}},emits:["close"],setup(e,{emit:t}){const n=t,{t:s}=Ye();return(o,i)=>(l(),c("div",AB,[w($o,{title:e.target.title,subtitle:e.target.path,"close-label":a(s)("thinking.close"),onClose:i[0]||(i[0]=u=>n("close"))},null,8,["title","subtitle","close-label"]),r("div",PB,[e.target.lines&&e.target.lines.length>0?(l(),W(mp,{key:0,lines:e.target.lines},null,8,["lines"])):e.target.output&&e.target.output.length>0?(l(),c("div",EB,[(l(!0),c(ce,null,Pe(e.target.output,(u,p)=>(l(),c("div",{key:p},d(u),1))),128))])):(l(),c("div",BB,d(a(s)("diff.noDiff")),1))])]))}}),RB=Le(LB,[["__scopeId","data-v-76f2fbca"]]),DB={class:"sc"},OB={key:0,class:"sc-empty"},zB={key:2,class:"sc-loading","aria-hidden":"true"},FB={class:"sc-composer"},NB=["placeholder"],WB=["aria-label","disabled"],qB=Ee({__name:"SideChatPanel",props:{turns:{},running:{type:Boolean},sending:{type:Boolean},title:{},subtitle:{}},emits:["send","close"],setup(e,{emit:t}){const n=e,s=t,{t:o}=Ye(),i=M(()=>n.turns.find(B=>B.role==="user")?.text?.trim()??""),u=M(()=>n.title?.trim()||o("sideChat.title")),p=M(()=>n.subtitle?.trim()?n.subtitle.trim():i.value||o("sideChat.subtitle")),f=x(""),v=x(null),k=x(null);function T(){const S=f.value.trim();S&&(s("send",S),f.value="",Ze(()=>{v.value&&(v.value.style.height="auto"),h()}))}function h(){const S=k.value;S&&(S.scrollTop=S.scrollHeight)}const m=M(()=>{const S=n.turns;if(S.length===0)return"0";const B=S.at(-1),b=B.thinking?.length??0,P=B.tools?.reduce((E,L)=>E+L.name.length+(L.arg?.length??0)+(L.output?.join("").length??0),0)??0;return`${S.length}:${B.text.length}:${b}:${P}`});Ne(m,async()=>{!n.running&&!n.sending||(await Ze(),h())});const $=M(()=>n.sending?n.turns.at(-1)?.role==="user":!1);function g(S){S.key==="Enter"&&!S.shiftKey&&!S.isComposing&&(S.preventDefault(),T())}function y(){const S=v.value;S&&(S.style.height="auto",S.style.height=`${Math.min(S.scrollHeight,160)}px`)}return(S,B)=>(l(),c("div",DB,[w($o,{title:u.value,subtitle:p.value,"close-label":a(o)("thinking.close"),onClose:B[0]||(B[0]=b=>s("close"))},null,8,["title","subtitle","close-label"]),r("div",{ref_key:"bodyRef",ref:k,class:"sc-body"},[e.turns.length===0?(l(),c("div",OB,d(a(o)("sideChat.empty")),1)):(l(),W(np,{key:1,turns:e.turns,approvals:[],"turn-active":e.running,working:e.sending||e.running},null,8,["turns","turn-active","working"])),$.value?(l(),c("div",zB,[w(Xd,{label:a(o)("conversation.waitingForResponse")},null,8,["label"])])):I("",!0)],512),r("div",FB,[bt(r("textarea",{ref_key:"inputRef",ref:v,"onUpdate:modelValue":B[1]||(B[1]=b=>f.value=b),class:"sc-input",rows:"1",placeholder:a(o)("sideChat.placeholder"),onInput:y,onKeydown:g},null,40,NB),[[On,f.value]]),w(ht,{text:a(o)("sideChat.send")},{default:R(()=>[r("button",{type:"button",class:"sc-send","aria-label":a(o)("sideChat.send"),disabled:!f.value.trim(),onClick:T},[w(X,{name:"arrow-right",size:"sm"})],8,WB)]),_:1},8,["text"])])]))}}),HB=Le(qB,[["__scopeId","data-v-867ab366"]]),UB={class:"changes-pane"},VB={class:"dv-path"},jB={class:"diff-head"},KB={class:"back-label"},GB={class:"dv-cb-label"},QB={key:0,class:"empty-state"},YB={key:1,class:"dv-lines-wrap"},ZB={key:2,class:"empty-state"},XB={class:"dv-change-count"},JB={class:"ch-head"},eL={class:"br-label"},tL={class:"br-name"},nL={key:0,class:"sync-info"},sL={key:0,class:"ahead"},oL={key:0,class:"behind"},iL={key:1,class:"empty-head"},aL={key:0,class:"ch-list"},lL=["onClick"],rL={class:"fpath"},uL={key:1,class:"ch-list ch-tree"},cL={class:"tree-list"},dL=["onClick"],pL={class:"tree-name"},fL=["onClick"],mL={class:"tree-name"},vL={key:2,class:"empty-state"},gL={key:3,class:"empty-state"},hL=Ee({__name:"DiffView",props:{changes:{},gitInfo:{},fileDiff:{},selectedDiffPath:{},fileDiffLoading:{type:Boolean},mode:{default:"full"},hideBack:{type:Boolean,default:!1},closable:{type:Boolean,default:!0}},emits:["open","back","close"],setup(e,{emit:t}){const{t:n}=Ye(),s=e,o=t;function i(ie){const le=ie.toLowerCase();return le==="modified"?"modified":le==="added"?"added":le==="deleted"?"deleted":le==="renamed"?"renamed":le==="untracked"?"untracked":le==="conflicted"?"conflicted":le==="ignored"?"ignored":le==="clean"?"clean":"unknown"}const u={modified:"M",added:"A",deleted:"D",renamed:"R",untracked:"U",conflicted:"C",ignored:"I",clean:"·",unknown:"?"};function p(ie){return u[i(ie)]??"?"}function f(ie,le=60){return ie.length<=le?ie:"…"+ie.slice(ie.length-le+1)}const v=M(()=>s.gitInfo!==null),k=M(()=>s.changes.length>0),T=M(()=>(s.selectedDiffPath??null)!==null),h=M(()=>s.mode==="detail"||s.mode==="full"&&T.value),m=M(()=>s.fileDiff??[]),$=M(()=>s.fileDiffLoading===!0),g=Ud(),y=x(Hu(Dt(Ge.diffColorblind))),S=M(()=>y.value==="off"?null:wB(g.value,y.value)),B={off:"colorblindOff","protanopia-deuteranopia":"colorblindRedGreen",tritanopia:"colorblindBlueYellow"},b=M(()=>fp.map(ie=>({value:ie,label:n(`diff.${B[ie]}`)})));function P(ie){const le=Hu(ie);y.value=le,Nt(Ge.diffColorblind,le)}function E(ie){o("open",ie)}function L(){o("back")}function N(){o("close")}const Q=x("list");function V(ie){Q.value=ie}function _(ie){const le={children:[]},ne=[...ie].sort((ae,se)=>ae.path.localeCompare(se.path));for(const ae of ne){const se=ae.path.split("/");let ge=le;for(let re=0;reOe.name===F&&Oe.kind===(Z?"file":"folder"));we||(we={name:F,path:ke,kind:Z?"file":"folder",status:Z?ae.status:void 0,children:[]},ge.children.push(we)),ge=we}}return le.children}const z=M(()=>_(s.changes)),D=x(new Set);function ee(ie){return!D.value.has(ie)}const me=M(()=>{const ie=[];function le(ne,ae){for(const se of ne)ie.push({node:se,depth:ae}),se.kind==="folder"&&ee(se.path)&&le(se.children,ae+1)}return le(z.value,0),ie});function ve(ie){const le=new Set(D.value);le.has(ie.path)?le.delete(ie.path):le.add(ie.path),D.value=le}function Be(ie){return`${16+ie*16}px`}return(ie,le)=>(l(),c("div",UB,[h.value?(l(),c(ce,{key:0},[w($o,{title:a(n)("diff.title"),closable:e.closable,"close-label":a(n)("diff.close"),onClose:N},{default:R(()=>[w(ht,{text:e.selectedDiffPath??""},{default:R(()=>[r("span",VB,d(f(e.selectedDiffPath??"",50)),1)]),_:1},8,["text"])]),_:1},8,["title","closable","close-label"]),r("div",jB,[e.hideBack?I("",!0):(l(),W(je,{key:0,variant:"ghost",size:"sm",onClick:L},{default:R(()=>[le[0]||(le[0]=r("span",{"aria-hidden":"true"},"←",-1)),r("span",KB,d(a(n)("diff.back")),1)]),_:1})),m.value.length>0?(l(),c(ce,{key:1},[r("span",GB,d(a(n)("diff.colorblind")),1),w(vn,{class:"dv-cb-toggle","model-value":y.value,size:"sm",options:b.value,"onUpdate:modelValue":P},null,8,["model-value","options"])],64)):I("",!0)]),$.value?(l(),c("div",QB,d(a(n)("diff.loading")),1)):m.value.length>0?(l(),c("div",YB,[w(mp,{lines:m.value,theme:S.value},null,8,["lines","theme"])])):(l(),c("div",ZB,d(a(n)("diff.noDiff")),1))],64)):(l(),c(ce,{key:1},[w($o,{title:a(n)("diff.title"),closable:e.closable,"close-label":a(n)("diff.close"),onClose:N},{default:R(()=>[r("span",XB,d(a(n)("diff.changeCount",{count:e.changes.length})),1),w(vn,{"model-value":Q.value,size:"sm",options:[{value:"list",label:a(n)("diff.list")},{value:"tree",label:a(n)("diff.tree")}],"onUpdate:modelValue":V},null,8,["model-value","options"])]),_:1},8,["title","closable","close-label"]),r("div",JB,[v.value?(l(),c(ce,{key:0},[r("span",eL,d(a(n)("diff.branch")),1),r("span",tL,d(e.gitInfo.branch),1),e.gitInfo.ahead>0||e.gitInfo.behind>0?(l(),c("span",nL,[w(ht,{text:a(n)("diff.aheadTitle")},{default:R(()=>[e.gitInfo.ahead>0?(l(),c("span",sL,"↑"+d(e.gitInfo.ahead),1)):I("",!0)]),_:1},8,["text"]),w(ht,{text:a(n)("diff.behindTitle")},{default:R(()=>[e.gitInfo.behind>0?(l(),c("span",oL,"↓"+d(e.gitInfo.behind),1)):I("",!0)]),_:1},8,["text"])])):I("",!0)],64)):(l(),c("span",iL,d(a(n)("diff.empty")),1))]),k.value&&Q.value==="list"?(l(),c("div",aL,[(l(!0),c(ce,null,Pe(e.changes,ne=>(l(),W(ht,{key:ne.path,text:ne.path},{default:R(()=>[r("button",{type:"button",class:"ch-row",onClick:ae=>E(ne.path)},[r("span",{class:pe(["badge",i(ne.status)])},d(p(ne.status)),3),r("span",rL,d(f(ne.path)),1)],8,lL)]),_:2},1032,["text"]))),128))])):k.value&&Q.value==="tree"?(l(),c("div",uL,[r("ul",cL,[(l(!0),c(ce,null,Pe(me.value,({node:ne,depth:ae})=>(l(),c("li",{key:ne.path,class:"tree-node"},[ne.kind==="folder"?(l(),c("button",{key:0,type:"button",class:"tree-row tree-folder",style:gt({paddingLeft:Be(ae)}),onClick:se=>ve(ne)},[w(X,{class:"tree-icon",name:"folder-solid",size:"sm"}),r("span",pL,d(ne.name),1)],12,dL)):(l(),W(ht,{key:1,text:ne.path},{default:R(()=>[r("button",{type:"button",class:"tree-row tree-file",style:gt({paddingLeft:Be(ae)}),onClick:se=>E(ne.path)},[r("span",{class:pe(["badge",i(ne.status)])},d(p(ne.status)),3),r("span",mL,d(ne.name),1)],12,fL)]),_:2},1032,["text"]))]))),128))])])):v.value?(l(),c("div",vL,d(a(n)("diff.clean")),1)):(l(),c("div",gL,d(a(n)("diff.empty")),1))],64))]))}}),yL=Le(hL,[["__scopeId","data-v-6591e558"]]),kL={key:0,class:"rp-tabs",role:"tablist","aria-label":"Right panel tabs"},bL=["aria-selected","tabindex","title","onClick","onKeydown"],wL={class:"rp-tab-label"},SL=Ee({__name:"RightPanelTabs",props:{tabs:{},activeTabId:{default:null},labels:{}},emits:["activate","close"],setup(e,{emit:t}){const n=e,s=t,{t:o}=Ye();function i(p){p!==n.activeTabId&&s("activate",p)}function u(p,f){const v=n.tabs;if(v.length!==0){if(p.key==="ArrowRight"){p.preventDefault();const k=v[(f+1)%v.length];k!==void 0&&s("activate",k)}else if(p.key==="ArrowLeft"){p.preventDefault();const k=v[(f-1+v.length)%v.length];k!==void 0&&s("activate",k)}}}return(p,f)=>e.tabs.length>0?(l(),c("div",kL,[(l(!0),c(ce,null,Pe(e.tabs,(v,k)=>(l(),c("button",{key:v,type:"button",class:pe(["rp-tab",{"is-on":v===e.activeTabId}]),role:"tab","aria-selected":v===e.activeTabId,tabindex:v===e.activeTabId?0:-1,title:e.labels[v],onClick:T=>i(v),onKeydown:T=>u(T,k)},[r("span",wL,d(e.labels[v]),1),w(rt,{class:"rp-tab-close",size:"sm",label:a(o)("panel.closeTab"),onClick:De(T=>s("close",v),["stop"])},{default:R(()=>[w(X,{name:"close",size:"sm"})]),_:1},8,["label","onClick"])],42,bL))),128))])):I("",!0)}}),CL=Le(SL,[["__scopeId","data-v-f674f6b6"]]);function lr(e,t){let n=null;xt(()=>{n=typeof document<"u"&&document.activeElement instanceof HTMLElement?document.activeElement:null,Ze(()=>{const s=t?.value??e.value;try{s?.focus()}catch{}})}),Tn(()=>{const s=n;if(n=null,!(!s||typeof document>"u"||!document.contains(s)))try{s.focus()}catch{}})}function vp(e){const t=new Set,n=[];for(const s of e)t.has(s.provider)||(t.add(s.provider),n.push(s.provider));return n}function gp(e,t){const n=t.query.trim().toLowerCase(),s=e.filter(i=>{if(t.activeTab!=="all"&&i.provider!==t.activeTab)return!1;if(!n)return!0;const u=(i.displayName??i.model).toLowerCase().includes(n),p=i.provider.toLowerCase().includes(n),f=i.id.toLowerCase().includes(n);return u||p||f});if(t.activeTab!=="all")return s;const o=new Set(t.starredIds??[]);return s.slice().sort((i,u)=>{const p=o.has(i.id)?1:0;return(o.has(u.id)?1:0)-p})}const _L={class:"search-wrap"},ML={key:0,class:"tab-strip"},$L={key:1,class:"state-row"},TL={key:2,class:"state-row unavail"},xL={key:3,class:"model-list"},IL=["aria-selected","onClick","onMouseenter"],AL={class:"check"},PL={class:"model-main"},EL={class:"model-name"},BL={class:"model-id"},LL={key:0,class:"caps"},RL={class:"model-provider"},DL={class:"model-ctx"},OL={key:0,class:"empty"},zL={class:"footer-hint"},FL=Ee({__name:"ModelPicker",props:{models:{},current:{},starredIds:{},loading:{type:Boolean},unavailable:{type:Boolean}},emits:["select","toggle-star","close"],setup(e,{emit:t}){const{t:n}=Ye(),s=e,o=t,i=M(()=>new Set(s.starredIds??[]));function u(b){return i.value.has(b)}const p=x(""),f=x(null),v=x(null),k=x("all");lr(v,f);const T=M(()=>{const b=vp(s.models);return[{id:"all",label:n("model.allTab")},...b.map(P=>({id:P,label:P}))]}),h=M(()=>gp(s.models,{query:p.value,activeTab:k.value,starredIds:s.starredIds??[]})),m=M(()=>h.value),$=x(0);Ne([p,k],()=>{$.value=0}),Ne(T,b=>{b.some(P=>P.id===k.value)||(k.value="all")}),Ne(m,b=>{$.value=Math.min($.value,Math.max(b.length-1,0))});function g(b){if(b.key==="Escape"){o("close");return}if(b.key==="ArrowDown")b.preventDefault(),$.value=Math.min($.value+1,m.value.length-1);else if(b.key==="ArrowUp")b.preventDefault(),$.value=Math.max($.value-1,0);else if(b.key==="Enter"){const P=m.value[$.value];P&&o("select",P.id)}}xt(()=>{document.addEventListener("keydown",g)}),St(()=>{document.removeEventListener("keydown",g)});function y(b){o("select",b)}function S(b){return m.value.indexOf(b)}function B(b){k.value=b}return(b,P)=>(l(),W(ds,{open:!0,"close-on-esc":!1,title:a(n)("model.title"),size:"xl",height:"fixed",onClose:P[1]||(P[1]=E=>o("close"))},{default:R(()=>[r("div",{ref_key:"dialogRef",ref:v,class:"mp"},[r("div",_L,[w(Vn,{ref_key:"searchRef",ref:f,modelValue:p.value,"onUpdate:modelValue":P[0]||(P[0]=E=>p.value=E),placeholder:a(n)("model.searchPlaceholder"),autocomplete:"off",spellcheck:"false",autofocus:""},null,8,["modelValue","placeholder"])]),T.value.length>1?(l(),c("div",ML,[(l(!0),c(ce,null,Pe(T.value,E=>(l(),W(je,{key:E.id,variant:E.id===k.value?"secondary":"ghost",size:"sm",onClick:L=>B(E.id)},{default:R(()=>[te(d(E.label),1)]),_:2},1032,["variant","onClick"]))),128))])):I("",!0),e.loading?(l(),c("div",$L,[w(Qt,{size:"sm"}),r("span",null,d(a(n)("model.loading")),1)])):e.unavailable?(l(),c("div",TL,[w(X,{name:"alert-triangle",size:"lg"}),r("span",null,d(a(n)("model.unavailable")),1)])):(l(),c("div",xL,[(l(!0),c(ce,null,Pe(m.value,E=>(l(),c("div",{key:E.id,class:pe(["model-row",{"is-current":E.id===e.current,"is-selected":S(E)===$.value}]),role:"option","aria-selected":E.id===e.current,onClick:L=>y(E.id),onMouseenter:L=>$.value=S(E)},[r("span",AL,[E.id===e.current?(l(),W(X,{key:0,name:"check",size:"sm"})):I("",!0)]),r("span",PL,[r("span",EL,d(E.displayName??E.model),1),r("span",BL,d(E.id),1),E.capabilities&&E.capabilities.length>0?(l(),c("span",LL,[(l(!0),c(ce,null,Pe(E.capabilities,L=>(l(),W(Bt,{key:L,variant:"info",size:"sm"},{default:R(()=>[te(d(L),1)]),_:2},1024))),128))])):I("",!0)]),r("span",RL,d(E.provider),1),r("span",DL,d(a(n)("model.contextSuffix",{size:a(cs)(E.maxContextSize)})),1),w(rt,{size:"sm",label:u(E.id)?a(n)("model.unstarTitle"):a(n)("model.starTitle"),onClick:De(L=>o("toggle-star",E.id),["stop"])},{default:R(()=>[u(E.id)?(l(),W(X,{key:0,name:"star",size:"md"})):(l(),W(X,{key:1,name:"star-outline",size:"md"}))]),_:2},1032,["label","onClick"])],42,IL))),128)),m.value.length===0&&!e.loading&&!e.unavailable?(l(),c("div",OL,d(s.models.length===0?a(n)("model.emptyNoModels"):a(n)("model.emptyNoMatch")),1)):I("",!0)])),r("div",zL,d(a(n)("model.footerHint")),1)],512)]),_:1},8,["title"]))}}),NL=Le(FL,[["__scopeId","data-v-d5bb878a"]]),WL={key:0,class:"ui-field__label"},qL={key:1,class:"ui-field__error"},HL={key:2,class:"ui-field__hint"},UL=Ee({__name:"Field",props:{label:{},hint:{},error:{}},setup(e){return(t,n)=>(l(),c("div",{class:pe(["ui-field",{"has-error":!!e.error}])},[e.label?(l(),c("label",WL,d(e.label),1)):I("",!0),Pt(t.$slots,"default",{},void 0,!0),e.error?(l(),c("span",qL,d(e.error),1)):e.hint?(l(),c("span",HL,d(e.hint),1)):I("",!0)],2))}}),Bs=Le(UL,[["__scopeId","data-v-49bce958"]]),VL=["value","disabled"],jL=Ee({__name:"Select",props:{modelValue:{},size:{default:"md"},disabled:{type:Boolean},error:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:t}){const n=t;function s(o){n("update:modelValue",o.target.value)}return(o,i)=>(l(),c("select",{class:pe(["ui-select",[`ui-select--${e.size}`,{"has-error":e.error}]]),value:e.modelValue,disabled:e.disabled,onChange:s},[Pt(o.$slots,"default",{},void 0,!0)],42,VL))}}),no=Le(jL,[["__scopeId","data-v-92a040fd"]]),KL={class:"prov-list"},GL={key:0,class:"state-row"},QL={key:1,class:"state-row unavail"},YL={key:2,class:"empty"},ZL={class:"prov-info"},XL={class:"prov-type"},JL={key:0,class:"prov-url"},eR={class:"prov-meta"},tR={key:0},nR={class:"prov-actions"},sR={key:0,class:"add-section"},oR={key:0,class:"add-btns"},iR={key:1,class:"add-form"},aR=["value"],lR={key:0,class:"add-error"},rR={class:"form-btns"},uR={key:2,class:"import-form"},cR={class:"import-head"},dR={class:"import-title"},pR={key:0,class:"state-row"},fR={key:1,class:"import-error"},mR={key:2,class:"empty"},vR={key:3,class:"catalog-list"},gR=["aria-disabled","onClick"],hR={class:"catalog-check"},yR={class:"catalog-main"},kR={class:"catalog-name"},bR={class:"catalog-id"},wR={key:0,class:"catalog-wire"},SR={class:"catalog-meta"},CR={key:2,class:"catalog-count"},_R={key:4,class:"catalog-selected"},MR={class:"form-btns"},$R={key:3,class:"import-form"},TR={class:"import-head"},xR={class:"import-title"},IR={key:0,class:"add-error"},AR={class:"form-btns"},PR={class:"footer-hint"},ER=Ee({__name:"ProviderManager",props:{providers:{},loading:{type:Boolean},unavailable:{type:Boolean},kimiOauthEnabled:{type:Boolean}},emits:["add","refresh","delete","openLogin","import-catalog","import-registry","close"],setup(e,{emit:t}){const{t:n}=Ye(),s=x(null);lr(s);const o=t;function i(ge){o("delete",ge)}const u=x(!1),p=jn({type:"moonshot",apiKey:"",baseUrl:"",defaultModel:""}),f=x(""),v=["moonshot","anthropic","openai","custom"];function k(){p.type="moonshot",p.apiKey="",p.baseUrl="",p.defaultModel="",f.value="",u.value=!0}function T(){u.value=!1}function h(){if(!p.apiKey.trim()){f.value=n("providers.apiKeyRequired");return}f.value="",o("add",{type:p.type,apiKey:p.apiKey.trim()||void 0,baseUrl:p.baseUrl.trim()||void 0,defaultModel:p.defaultModel.trim()||void 0}),u.value=!1}const m=x(!1),$=x(""),g=x([]),y=x(!1),S=x(""),B=x(""),b=x("");let P;const E=M(()=>db(g.value,$.value).map(Rr)),L=M(()=>g.value.find(ge=>ge.id===B.value)??null),N=M(()=>L.value===null?null:Rr(L.value));async function Q(ge){y.value=!0,S.value="";try{g.value=await Re().browseCatalogProviders(ge)}catch{S.value=n("providers.import.catalogLoadError")}finally{y.value=!1}}Ne($,ge=>{B.value="",b.value="",P!==void 0&&clearTimeout(P),P=setTimeout(()=>void Q(ge),250)});function V(){m.value=!0,$.value="",B.value="",b.value="",S.value="",g.value=[],Q("")}function _(){m.value=!1,P!==void 0&&(clearTimeout(P),P=void 0)}function z(ge){B.value=ge,b.value=""}function D(){const ge=L.value;ge!==null&&(o("import-catalog",{catalogId:ge.id,baseUrl:ge.needsBaseUrl&&b.value.trim()||void 0}),_())}const ee=x(!1),me=jn({url:"",apiKey:""}),ve=x("");function Be(){me.url="",me.apiKey="",ve.value="",ee.value=!0}function ie(){ee.value=!1}function le(){const ge=me.url.trim();if(ge===""){ve.value=n("providers.import.registryUrlRequired");return}ve.value="",o("import-registry",{url:ge,apiKey:me.apiKey.trim()||void 0}),ie()}function ne(ge){if(ge.key==="Escape"){if(m.value){_();return}if(ee.value){ie();return}if(u.value){T();return}o("close")}}xt(()=>document.addEventListener("keydown",ne)),St(()=>{document.removeEventListener("keydown",ne),P!==void 0&&clearTimeout(P)});function ae(ge){return ge==="connected"?"var(--color-success)":ge==="error"?"var(--color-danger)":"var(--color-text-faint)"}function se(ge){return n(ge==="connected"?"providers.status.connected":ge==="error"?"providers.status.error":"providers.status.unconfigured")}return(ge,re)=>(l(),W(ds,{open:!0,"close-on-esc":!1,title:a(n)("providers.title"),size:"xl",height:"fixed",onClose:re[10]||(re[10]=F=>o("close"))},{default:R(()=>[r("div",{ref_key:"dialogRef",ref:s,class:"pm"},[r("div",KL,[e.loading?(l(),c("div",GL,[w(Qt,{size:"sm"}),r("span",null,d(a(n)("providers.loading")),1)])):e.unavailable?(l(),c("div",QL,[w(X,{name:"alert-triangle",size:"md"}),r("span",null,d(a(n)("providers.unavailable")),1)])):e.providers.length===0?(l(),c("div",YL,d(a(n)("providers.empty")),1)):(l(!0),c(ce,{key:3},Pe(e.providers,F=>(l(),c("div",{key:F.id,class:"prov-row"},[w(ht,{text:se(F.status)},{default:R(()=>[r("span",{class:pe(["status-dot",{"status-dot--empty":F.status!=="connected"&&F.status!=="error"}]),style:gt(F.status==="connected"||F.status==="error"?{background:ae(F.status)}:void 0)},null,6)]),_:2},1032,["text"]),r("div",ZL,[r("span",XL,d(F.type),1),F.baseUrl?(l(),c("span",JL,d(F.baseUrl),1)):I("",!0),r("span",eR,[w(Bt,{variant:F.hasApiKey?"success":"neutral",size:"sm"},{default:R(()=>[te(d(F.hasApiKey?a(n)("providers.keySet"):a(n)("providers.keyNotSet")),1)]),_:2},1032,["variant"]),F.models&&F.models.length>0?(l(),c("span",tR," · "+d(a(n)("providers.modelCount",{count:F.models.length})),1)):I("",!0)])]),r("div",nR,[w(ht,{text:a(n)("providers.refreshTitle",{type:F.type})},{default:R(()=>[w(je,{variant:"secondary",size:"sm",onClick:Z=>o("refresh",F.id)},{default:R(()=>[te(d(a(n)("providers.refresh")),1)]),_:1},8,["onClick"])]),_:2},1032,["text"]),w(ht,{text:a(n)("providers.deleteTitle",{type:F.type})},{default:R(()=>[w(je,{variant:"danger-soft",size:"sm",onClick:Z=>i(F.id)},{default:R(()=>[te(d(a(n)("providers.delete")),1)]),_:1},8,["onClick"])]),_:2},1032,["text"])])]))),128))]),e.unavailable?I("",!0):(l(),c("div",sR,[!u.value&&!m.value&&!ee.value?(l(),c("div",oR,[e.kimiOauthEnabled?(l(),W(je,{key:0,variant:"secondary",size:"sm",onClick:re[0]||(re[0]=F=>o("openLogin","moonshot"))},{default:R(()=>[w(X,{name:"user",size:"sm"}),te(" "+d(a(n)("providers.loginKimi")),1)]),_:1})):I("",!0),e.kimiOauthEnabled?(l(),W(je,{key:1,variant:"secondary",size:"sm",onClick:re[1]||(re[1]=F=>o("openLogin","anthropic"))},{default:R(()=>[w(X,{name:"user",size:"sm"}),te(" "+d(a(n)("providers.loginAnthropic")),1)]),_:1})):I("",!0),w(je,{variant:"primary",size:"sm",onClick:k},{default:R(()=>[w(X,{name:"plus",size:"sm"}),te(" "+d(a(n)("providers.enterApiKey")),1)]),_:1}),w(je,{variant:"secondary",size:"sm",onClick:V},{default:R(()=>[w(X,{name:"globe",size:"sm"}),te(" "+d(a(n)("providers.import.fromCatalog")),1)]),_:1}),w(je,{variant:"secondary",size:"sm",onClick:Be},{default:R(()=>[w(X,{name:"download",size:"sm"}),te(" "+d(a(n)("providers.import.fromRegistry")),1)]),_:1})])):u.value?(l(),c("div",iR,[w(Bs,{label:a(n)("providers.fieldType")},{default:R(()=>[w(no,{modelValue:p.type,"onUpdate:modelValue":re[2]||(re[2]=F=>p.type=F)},{default:R(()=>[(l(),c(ce,null,Pe(v,F=>r("option",{key:F,value:F},d(F),9,aR)),64))]),_:1},8,["modelValue"])]),_:1},8,["label"]),w(Bs,{label:a(n)("providers.fieldApiKey")},{default:R(()=>[w(Vn,{modelValue:p.apiKey,"onUpdate:modelValue":re[3]||(re[3]=F=>p.apiKey=F),type:"password",placeholder:"sk-…",autocomplete:"off",spellcheck:"false"},null,8,["modelValue"])]),_:1},8,["label"]),w(Bs,{label:a(n)("providers.fieldBaseUrl")},{default:R(()=>[w(Vn,{modelValue:p.baseUrl,"onUpdate:modelValue":re[4]||(re[4]=F=>p.baseUrl=F),placeholder:a(n)("providers.baseUrlPlaceholder"),autocomplete:"off",spellcheck:"false"},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),w(Bs,{label:a(n)("providers.fieldDefaultModel")},{default:R(()=>[w(Vn,{modelValue:p.defaultModel,"onUpdate:modelValue":re[5]||(re[5]=F=>p.defaultModel=F),placeholder:a(n)("providers.optional"),autocomplete:"off",spellcheck:"false"},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),f.value?(l(),c("div",lR,d(f.value),1)):I("",!0),r("div",rR,[w(je,{variant:"primary",size:"sm",onClick:h},{default:R(()=>[te(d(a(n)("providers.add")),1)]),_:1}),w(je,{variant:"secondary",size:"sm",onClick:T},{default:R(()=>[te(d(a(n)("common.cancel")),1)]),_:1})])])):m.value?(l(),c("div",uR,[r("div",cR,[w(je,{variant:"ghost",size:"sm",onClick:_},{default:R(()=>[te(d(a(n)("providers.import.back")),1)]),_:1}),r("span",dR,d(a(n)("providers.import.catalogTitle")),1)]),w(Bs,{label:a(n)("providers.import.catalogSearchLabel")},{default:R(()=>[w(Vn,{modelValue:$.value,"onUpdate:modelValue":re[6]||(re[6]=F=>$.value=F),placeholder:a(n)("providers.import.catalogSearchPlaceholder"),autocomplete:"off",spellcheck:"false"},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),y.value?(l(),c("div",pR,[w(Qt,{size:"sm"}),r("span",null,d(a(n)("providers.import.catalogLoading")),1)])):S.value?(l(),c("div",fR,d(S.value),1)):E.value.length===0?(l(),c("div",mR,d(a(n)("providers.import.catalogEmpty")),1)):(l(),c("div",vR,[(l(!0),c(ce,null,Pe(E.value,F=>(l(),c("div",{key:F.id,class:pe(["catalog-row",{"is-selected":F.id===B.value,"is-rejected":F.rejected}]),"aria-disabled":F.rejected?"true":void 0,onClick:Z=>F.rejected?void 0:z(F.id)},[r("span",hR,[F.id===B.value?(l(),W(X,{key:0,name:"check",size:"sm"})):I("",!0)]),r("span",yR,[r("span",kR,d(F.name),1),r("span",bR,d(F.id),1),F.wireType?(l(),c("span",wR,d(F.wireType),1)):I("",!0)]),r("span",SR,[F.rejected?(l(),W(Bt,{key:0,variant:"danger",size:"sm"},{default:R(()=>[te(d(a(n)("providers.import.catalogRejected",{reason:F.rejectReason??""})),1)]),_:2},1024)):F.needsBaseUrl?(l(),W(Bt,{key:1,variant:"warning",size:"sm"},{default:R(()=>[te(d(a(n)("providers.import.catalogNeedsBaseUrl")),1)]),_:1})):(l(),c("span",CR,d(a(n)("providers.modelCount",{count:F.modelCount})),1))])],10,gR))),128))])),N.value?(l(),c("div",_R,[N.value.needsBaseUrl?(l(),W(Bs,{key:0,label:a(n)("providers.fieldBaseUrl"),hint:a(n)("providers.import.catalogBaseUrlHint")},{default:R(()=>[w(Vn,{modelValue:b.value,"onUpdate:modelValue":re[7]||(re[7]=F=>b.value=F),placeholder:a(n)("providers.baseUrlPlaceholder"),autocomplete:"off",spellcheck:"false"},null,8,["modelValue","placeholder"])]),_:1},8,["label","hint"])):I("",!0)])):I("",!0),r("div",MR,[w(je,{variant:"primary",size:"sm",disabled:L.value===null||N.value?.needsBaseUrl===!0&&b.value.trim()==="",onClick:D},{default:R(()=>[te(d(a(n)("providers.import.importAction")),1)]),_:1},8,["disabled"]),w(je,{variant:"secondary",size:"sm",onClick:_},{default:R(()=>[te(d(a(n)("common.cancel")),1)]),_:1})])])):ee.value?(l(),c("div",$R,[r("div",TR,[w(je,{variant:"ghost",size:"sm",onClick:ie},{default:R(()=>[te(d(a(n)("providers.import.back")),1)]),_:1}),r("span",xR,d(a(n)("providers.import.registryTitle")),1)]),w(Bs,{label:a(n)("providers.import.registryUrlLabel")},{default:R(()=>[w(Vn,{modelValue:me.url,"onUpdate:modelValue":re[8]||(re[8]=F=>me.url=F),placeholder:a(n)("providers.import.registryUrlPlaceholder"),autocomplete:"off",spellcheck:"false"},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),w(Bs,{label:a(n)("providers.import.registryApiKeyLabel")},{default:R(()=>[w(Vn,{modelValue:me.apiKey,"onUpdate:modelValue":re[9]||(re[9]=F=>me.apiKey=F),type:"password",autocomplete:"off",spellcheck:"false"},null,8,["modelValue"])]),_:1},8,["label"]),ve.value?(l(),c("div",IR,d(ve.value),1)):I("",!0),r("div",AR,[w(je,{variant:"primary",size:"sm",onClick:le},{default:R(()=>[te(d(a(n)("providers.import.importAction")),1)]),_:1}),w(je,{variant:"secondary",size:"sm",onClick:ie},{default:R(()=>[te(d(a(n)("common.cancel")),1)]),_:1})])])):I("",!0)])),r("div",PR,d(a(n)("providers.escClose")),1)],512)]),_:1},8,["title"]))}}),BR=Le(ER,[["__scopeId","data-v-63ce966e"]]),LR=3;function RR(){return{kind:"region-pick"}}function Ss(e,t){switch(t.kind){case"pick-region":return e.kind==="region-pick"?{kind:"starting"}:e;case"retry":return e.kind==="expired"||e.kind==="error"&&(e.cause==="start-failed"||e.cause==="poll-failed")?{kind:"starting"}:e;case"start-pending":return e.kind==="starting"?{kind:"device-code",region:t.region,flow:t.flow,pollFailures:0}:e;case"start-authenticated":return e.kind==="starting"?{kind:"success"}:e;case"start-failed":return e.kind==="starting"?{kind:"error",cause:"start-failed"}:e;case"poll":return e.kind!=="device-code"?e:t.result==="authenticated"?{kind:"success"}:t.result==="expired"||t.result==="cancelled"?{kind:"expired"}:{...e,pollFailures:0};case"poll-failed":if(e.kind!=="device-code")return e;const n=e.pollFailures+1;return n>=LR?{kind:"error",cause:"poll-failed"}:{...e,pollFailures:n};case"reset":return{kind:"region-pick"};default:return DR(t)}}function DR(e){throw new Error(`Exhaustiveness check failed; unexpected action: ${String(e)}`)}const OR={key:0,width:"36",height:"36",viewBox:"0 0 36 36",fill:"none",stroke:"var(--color-success)","stroke-width":"2","aria-hidden":"true"},zR={key:1,width:"28",height:"28",viewBox:"0 0 28 28",fill:"none",stroke:"var(--color-danger)","stroke-width":"1.5","aria-hidden":"true"},FR={key:2,width:"28",height:"28",viewBox:"0 0 28 28",fill:"none",stroke:"var(--color-warning)","stroke-width":"1.5","aria-hidden":"true"},Va=Ee({__name:"AuthStateIcon",props:{kind:{}},setup(e){return(t,n)=>e.kind==="success"?(l(),c("svg",OR,[...n[0]||(n[0]=[r("circle",{cx:"18",cy:"18",r:"15"},null,-1),r("polyline",{points:"10,18 15,24 26,12"},null,-1)])])):e.kind==="expired"?(l(),c("svg",zR,[...n[1]||(n[1]=[r("circle",{cx:"14",cy:"14",r:"12"},null,-1),r("line",{x1:"14",y1:"8",x2:"14",y2:"15"},null,-1),r("circle",{cx:"14",cy:"19",r:"1.2",fill:"var(--color-danger)"},null,-1)])])):(l(),c("svg",FR,[...n[2]||(n[2]=[r("path",{d:"M14 3 L26 24 H2 Z"},null,-1),r("line",{x1:"14",y1:"12",x2:"14",y2:"18"},null,-1),r("circle",{cx:"14",cy:"21.5",r:"1",fill:"var(--color-warning)"},null,-1)])]))}}),NR={key:0,class:"region"},WR={class:"region-lead"},qR={class:"region-grid"},HR={class:"region-name"},UR={class:"region-desc"},VR={class:"region-name"},jR={class:"region-desc"},KR={key:1,class:"center-body"},GR={class:"center-text"},QR={key:2,class:"nb"},YR={class:"nb-status"},ZR={class:"nb-status-title"},XR={class:"nb-countdown"},JR={class:"nb-lead"},eD={class:"nb-code-row"},tD={class:"nb-code"},nD={class:"nb-or"},sD={class:"nb-fallback"},oD={class:"nb-fb-text"},iD=["href"],aD={key:3,class:"center-body"},lD={class:"center-text success-text"},rD={class:"center-hint"},uD={class:"center-body"},cD={class:"center-text err-text"},dD={class:"center-hint"},pD={class:"actions"},fD={class:"center-body"},mD={class:"center-text warn-text"},vD={class:"center-hint"},gD={class:"actions"},hD=Ee({__name:"LoginDialog",props:{onStartOAuthLogin:{type:Function},onPollOAuthLogin:{type:Function},onCancelOAuthLogin:{type:Function},onResolveOAuthRegion:{type:Function}},emits:["success","close"],setup(e,{emit:t}){const{t:n}=Ye(),s=x(!0),o=t,i=e,u=x(RR()),p=x(null),f=x(0),v=x(!1);let k=null,T=null;const h=M(()=>u.value.kind==="device-code"?u.value.flow:null);xt(async()=>{const V=i.onResolveOAuthRegion?await i.onResolveOAuthRegion():null;V!==null&&(p.value=V),window.addEventListener("focus",m)}),St(()=>{b(),window.removeEventListener("focus",m)});function m(){u.value.kind==="device-code"&&S()}async function $(V){if(u.value.kind!=="region-pick")return;p.value=V,u.value=Ss(u.value,{kind:"pick-region"});const _=window.open("","_blank");await g(V,_)}async function g(V,_){b(),v.value=!1,u.value=Ss(u.value,{kind:"pick-region"}),p.value=V;const z=await i.onStartOAuthLogin(V);if(!z){_?.close(),u.value=Ss(u.value,{kind:"start-failed"});return}if(z.status==="authenticated"){_?.close(),u.value=Ss(u.value,{kind:"start-authenticated"}),setTimeout(()=>{o("success"),o("close")},800);return}const D={flowId:z.flowId,verificationUri:z.verificationUri,verificationUriComplete:z.verificationUriComplete,userCode:z.userCode,expiresIn:z.expiresIn,interval:z.interval};u.value=Ss(u.value,{kind:"start-pending",region:V,flow:D}),_&&!_.closed?_.location.href=z.verificationUriComplete:window.open(z.verificationUriComplete,"_blank","noopener"),f.value=z.expiresIn,y(),B(z.interval)}function y(){T&&clearInterval(T),T=setInterval(()=>{f.value>0?f.value--:(T&&clearInterval(T),T=null)},1e3)}async function S(){if(u.value.kind!=="device-code")return;const V=u.value.flow.interval,_=await i.onPollOAuthLogin();if(_===null){u.value=Ss(u.value,{kind:"poll-failed"}),u.value.kind==="device-code"&&B(V);return}_.status==="authenticated"?(b(),u.value=Ss(u.value,{kind:"poll",result:"authenticated"}),setTimeout(()=>{o("success"),o("close")},1200)):_.status==="expired"||_.status==="cancelled"?(b(),u.value=Ss(u.value,{kind:"poll",result:_.status})):(u.value=Ss(u.value,{kind:"poll",result:"pending"}),B(V))}function B(V){k&&clearTimeout(k),k=setTimeout(()=>{S()},V*1e3)}function b(){k&&(clearTimeout(k),k=null),T&&(clearInterval(T),T=null)}function P(){const V=p.value??"global";u.value=Ss(u.value,{kind:"retry"});const _=window.open("","_blank");g(V,_)}async function E(){const V=u.value.kind==="device-code"?u.value.flow:null;V&&window.open(V.verificationUriComplete,"_blank","noopener")}async function L(){const V=u.value.kind==="device-code"?u.value.flow:null;!V||!await ln(V.userCode)||(v.value=!0,setTimeout(()=>{v.value=!1},2e3))}async function N(){b(),u.value.kind==="device-code"&&i.onCancelOAuthLogin(),o("close")}function Q(V){const _=Math.floor(V/60),z=V%60;return`${_}:${String(z).padStart(2,"0")}`}return(V,_)=>(l(),W(ds,{open:s.value,"onUpdate:open":_[2]||(_[2]=z=>s.value=z),title:a(n)("login.title"),"close-on-overlay":!1,onClose:N},{default:R(()=>[u.value.kind==="region-pick"?(l(),c("div",NR,[r("p",WR,d(a(n)("login.regionHint")),1),r("div",qR,[r("button",{type:"button",class:pe(["region-card",{"is-selected":p.value==="global"}]),onClick:_[0]||(_[0]=z=>$("global"))},[r("span",HR,d(a(n)("login.regionGlobal")),1),r("span",UR,d(a(n)("login.regionGlobalDesc")),1)],2),r("button",{type:"button",class:pe(["region-card",{"is-selected":p.value==="mainland-cn"}]),onClick:_[1]||(_[1]=z=>$("mainland-cn"))},[r("span",VR,d(a(n)("login.regionMainland")),1),r("span",jR,d(a(n)("login.regionMainlandDesc")),1)],2)])])):u.value.kind==="starting"?(l(),c("div",KR,[w(Qt,{size:"md"}),r("span",GR,d(a(n)("login.starting")),1)])):u.value.kind==="device-code"&&h.value?(l(),c("div",QR,[r("div",YR,[w(Qt,{size:"sm"}),r("span",ZR,d(a(n)("login.waitingAuth")),1),r("span",XR,d(Q(f.value)),1)]),r("p",JR,d(a(n)("login.waitingAutoClose")),1),r("div",eD,[r("span",tD,d(h.value.userCode),1),w(je,{class:pe(["nb-copy",{"is-copied":v.value}]),variant:"secondary",size:"sm",onClick:L},{default:R(()=>[v.value?(l(),c(ce,{key:0},[w(X,{name:"check",size:"sm"}),te(" "+d(a(n)("login.copied")),1)],64)):(l(),c(ce,{key:1},[w(X,{name:"copy",size:"sm"}),te(" "+d(a(n)("login.copy")),1)],64))]),_:1},8,["class"])]),w(je,{class:"nb-primary",variant:"primary",size:"md",onClick:E},{default:R(()=>[te(d(a(n)("login.reopenBrowser"))+" ",1),w(X,{name:"external-link",size:"sm"})]),_:1}),r("div",nD,d(a(n)("login.orDivider")),1),r("div",sD,[r("div",oD,[te(d(a(n)("login.fallbackPrefix")),1),r("a",{class:"nb-fb-link",href:h.value.verificationUri,target:"_blank",rel:"noopener noreferrer"},d(h.value.verificationUri),9,iD),te(d(a(n)("login.fallbackSuffix")),1)])])])):u.value.kind==="success"?(l(),c("div",aD,[w(Va,{kind:"success"}),r("span",lD,d(a(n)("login.success")),1),r("span",rD,d(a(n)("login.successHint")),1)])):u.value.kind==="expired"?(l(),c(ce,{key:4},[r("div",uD,[w(Va,{kind:"expired"}),r("span",cD,d(a(n)("login.expiredTitle")),1),r("span",dD,d(a(n)("login.expiredHint")),1)]),r("div",pD,[w(je,{variant:"primary",onClick:P},{default:R(()=>[te(d(a(n)("login.retry")),1)]),_:1}),w(je,{variant:"secondary",onClick:N},{default:R(()=>[te(d(a(n)("login.closeBtn")),1)]),_:1})])],64)):u.value.kind==="error"?(l(),c(ce,{key:5},[r("div",fD,[w(Va,{kind:"error"}),r("span",mD,d(u.value.cause==="poll-failed"?a(n)("login.pollErrorTitle"):a(n)("login.errorTitle")),1),r("span",vD,d(u.value.cause==="poll-failed"?a(n)("login.pollErrorHint"):a(n)("login.errorHint")),1)]),r("div",gD,[w(je,{variant:"primary",onClick:P},{default:R(()=>[te(d(a(n)("login.retry")),1)]),_:1}),w(je,{variant:"secondary",onClick:N},{default:R(()=>[te(d(a(n)("login.closeBtn")),1)]),_:1})])],64)):I("",!0)]),_:1},8,["open","title"]))}}),yD=Le(hD,[["__scopeId","data-v-8f13defd"]]),Uu=1,kD=6,bD=.25;function hp(e){return Number.isFinite(e)?Math.min(kD,Math.max(Uu,e)):Uu}function wD(e){return Math.round(e*100)/100}function yp(e,t){return hp(wD(e+t*bD))}function SD(e){return yp(e,1)}function CD(e){return yp(e,-1)}function Vu(e,t,n){const s=Math.max(0,(t-n)/2);return Math.min(s,Math.max(-s,e))}const _D=["aria-label"],MD={key:0,class:"ml-loading"},$D=["src","alt"],TD={key:0,class:"ml-zoom-hint"},xD=["src"],ID={key:3,class:"ml-error"},AD={key:4,class:"ml-toolbar"},PD=["aria-label"],ED={class:"ml-zoom-label"},BD=["aria-label"],LD=["disabled","aria-label"],RD=Ee({__name:"MediaLightbox",props:{state:{}},emits:["close"],setup(e,{emit:t}){const n=e,s=t,{t:o}=Ye(),i=x(1),u=x(0),p=x(0);Ne(()=>n.state?.media,()=>{i.value=1,u.value=0,p.value=0});const f=M(()=>n.state?.media.kind==="image"),v=M(()=>{const N=i.value;return N<=1?"":`scale(${N}) translate(${u.value}px, ${p.value}px)`});function k(N){if(!f.value)return;N.preventDefault();const Q=hp(i.value+(N.deltaY<0?.25:-.25));i.value=Q,h()}const T=x(null);function h(){const N=T.value;N&&(u.value=Vu(u.value,N.clientWidth*i.value,N.clientWidth),p.value=Vu(p.value,N.clientHeight*i.value,N.clientHeight))}function m(){i.value=SD(i.value),h()}function $(){i.value=CD(i.value),h()}function g(){i.value=1,u.value=0,p.value=0}const y=x(!1);let S=0,B=0;function b(N){!f.value||i.value<=1||(y.value=!0,S=N.clientX,B=N.clientY,N.target.setPointerCapture?.(N.pointerId))}function P(N){y.value&&(u.value+=N.clientX-S,p.value+=N.clientY-B,S=N.clientX,B=N.clientY,h())}function E(N){y.value=!1,N.target.releasePointerCapture?.(N.pointerId)}function L(N){N.key==="Escape"?s("close"):N.key==="+"||N.key==="="?m():N.key==="-"?$():N.key==="0"&&g()}return(N,Q)=>(l(),W(ns,{to:"body"},[e.state?(l(),c("div",{key:0,class:"media-lightbox",role:"dialog","aria-modal":"true",tabindex:"-1",onKeydown:L},[r("div",{class:"ml-backdrop",onClick:Q[0]||(Q[0]=V=>s("close"))}),r("button",{type:"button",class:"ml-close","aria-label":a(o)("common.close"),onClick:Q[1]||(Q[1]=V=>s("close"))},[w(X,{name:"close"})],8,_D),e.state.loading?(l(),c("div",MD,[w(Qt)])):e.state.sourceUrl&&f.value?(l(),c("div",{key:1,ref_key:"viewportRef",ref:T,class:"ml-viewport",onWheel:k,onPointerdown:b,onPointermove:P,onPointerup:E,onPointercancel:E},[r("img",{class:"ml-image",src:e.state.sourceUrl,alt:e.state.media.path??"",style:gt({transform:v.value}),draggable:"false"},null,12,$D),i.value>1?(l(),c("div",TD,d(a(o)("media.dragHint")),1)):I("",!0)],544)):e.state.sourceUrl&&!f.value?(l(),c("video",{key:2,class:"ml-video",src:e.state.sourceUrl,controls:"",autoplay:"",playsinline:""},null,8,xD)):(l(),c("div",ID,[r("p",null,d(e.state.error??a(o)("media.noPreview")),1)])),e.state.sourceUrl&&f.value?(l(),c("div",AD,[r("button",{type:"button",class:"ml-btn","aria-label":a(o)("media.zoomOut"),onClick:$},[w(X,{name:"minus"})],8,PD),r("span",ED,d(Math.round(i.value*100))+"%",1),r("button",{type:"button",class:"ml-btn","aria-label":a(o)("media.zoomIn"),onClick:m},[w(X,{name:"plus"})],8,BD),r("button",{type:"button",class:"ml-btn",disabled:i.value<=1,"aria-label":a(o)("media.resetZoom"),onClick:g},[w(X,{name:"expand"})],8,LD)])):I("",!0)],32)):I("",!0)]))}}),DD=Le(RD,[["__scopeId","data-v-0ff39638"]]);function kl(e){return/^(?:https?:|blob:|data:)/i.test(e)}function OD({client:e,detailTarget:t,rightPanelTabs:n}){const{t:s}=Ye(),o=x(null),i=x(null),u=x(!1),p=x(null),f=x(null);let v=0,k=null;function T(){k!==null&&(URL.revokeObjectURL(k),k=null)}const h=M(()=>{const Q=f.value;return Q?e.getFileDownloadUrl(Q):null}),m=M(()=>o.value!==null);function $(Q){return Q.length>1?Q.replace(/\/+$/,""):Q}function g(Q){const V=[];for(const _ of Q.split(/[\\/]+/))if(!(!_||_===".")){if(_===".."){V.pop();continue}V.push(_)}return V.join("/")}function y(Q){const V=Q.trim();if(!V)return{error:s("filePreview.errors.emptyPath")};if(/^[a-z][a-z0-9+.-]*:\/\//i.test(V))return{error:s("filePreview.errors.unsupportedPath")};if(V.startsWith("~"))return{error:s("filePreview.errors.outsideWorkspace")};const _=$(e.status.value.cwd);if(V.startsWith("/")){if(!_||V!==_&&!V.startsWith(`${_}/`))return{error:s("filePreview.errors.outsideWorkspace")};const D=V===_?"":V.slice(_.length+1);if(D.split(/[\\/]+/).includes(".."))return{error:s("filePreview.errors.outsideWorkspace")};const ee=g(D);return ee?{path:ee}:{error:s("filePreview.errors.isDirectory")}}if(V.split(/[\\/]+/).includes(".."))return{error:s("filePreview.errors.outsideWorkspace")};const z=g(V);return z?{path:z}:{error:s("filePreview.errors.emptyPath")}}async function S(Q){const V=o.value;if(t.value==="file"&&V&&V.path===Q.path&&V.line===Q.line){E();return}const _=++v;T(),n?n.ensureTab("file"):t.value="file",i.value=null,p.value=null,u.value=!0,o.value=Q,f.value=null;const z=y(Q.path);if("error"in z){u.value=!1,p.value=z.error;return}f.value=z.path;try{const D=await e.readFileContent(z.path);if(_!==v)return;D?i.value={...D,path:D.path||z.path}:p.value=s("filePreview.errors.loadFailed")}catch(D){if(_!==v)return;p.value=D instanceof Error?D.message:s("filePreview.errors.loadFailed")}finally{_===v&&(u.value=!1)}}function B(Q){return/^data:([^;,]+)/i.exec(Q)?.[1]}function b(Q){if(Q.kind!=="image"&&Q.kind!=="video")return;const V=++v;T(),n?n.ensureTab("file"):t.value="file",o.value=null,f.value=null,p.value=null;const _=Q.kind==="video",z={path:Q.path??s(_?"filePreview.videoFallback":"filePreview.imageFallback"),content:"",encoding:"utf-8",mime:Q.mimeType??B(Q.url)??(_?"video/*":"image/*"),isBinary:!0,size:Q.bytes??0};Q.fileId?(u.value=!0,i.value=z,Re().getFileBlob(Q.fileId).then(D=>{if(V===v){if(t.value!=="file"||!i.value){u.value=!1;return}k=URL.createObjectURL(D),i.value={...i.value,sourceUrl:k},u.value=!1}}).catch(()=>{V===v&&(i.value&&(i.value={...i.value,sourceUrl:Q.url}),u.value=!1)})):(u.value=!1,i.value=kl(Q.url)?{...z,sourceUrl:Q.url}:z)}function P(){v+=1,o.value=null,f.value=null,i.value=null,p.value=null,u.value=!1,T()}function E(){P(),n?n.closeTab("file"):t.value==="file"&&(t.value=null)}function L(){const Q=i.value?.path??o.value?.path;Q&&e.openWorkspaceFile(Q,o.value?.line)}function N(){const Q=i.value?.path??o.value?.path;Q&&e.revealWorkspaceFile(Q)}return{previewTarget:o,previewFile:i,previewLoading:u,previewError:p,previewDownloadUrl:h,previewExternalActions:m,openFilePreview:S,openMediaPreview:b,closeFilePreview:E,openPreviewInEditor:L,revealPreviewFile:N}}function zD(e=Re()){const{t}=Ye(),n=x(null),s=M(()=>n.value!==null);let o=0;function i(p){if(p.kind!=="image"&&p.kind!=="video")return;const f=++o,v=!!p.fileId;if(n.value={media:p,sourceUrl:null,loading:v,error:null},!p.fileId){n.value={media:p,sourceUrl:kl(p.url)?p.url:null,loading:!1,error:null};return}e.getFileBlob(p.fileId).then(k=>{if(f!==o||!n.value)return;const T=URL.createObjectURL(k);n.value={media:p,sourceUrl:T,loading:!1,error:null}}).catch(()=>{f!==o||!n.value||(n.value={media:p,sourceUrl:kl(p.url)?p.url:null,loading:!1,error:t("filePreview.errors.loadFailed")})})}function u(){o+=1,n.value=null}return{isOpen:s,state:n,open:i,close:u}}function FD(e,t){const n=[...e];return t==="archived-desc"?n.sort((s,o)=>o.updatedAt.localeCompare(s.updatedAt)):t==="created-desc"?n.sort((s,o)=>o.createdAt.localeCompare(s.createdAt)):n.sort((s,o)=>s.title.localeCompare(o.title,"zh")),n}function ND(e,t){const n=new Set(e.map(o=>o.id)),s=t.filter(o=>!n.has(o.id));return[...e,...s]}const kp=Ee({__name:"LanguageSwitcher",setup(e){const{locale:t}=Ye(),n=gc.map(o=>({value:o.code,label:o.label}));function s(o){t.value!==o&&hc(o)}return(o,i)=>(l(),W(vn,{"model-value":a(t),options:a(n),"onUpdate:modelValue":s},null,8,["model-value","options"]))}}),WD=["href","target","rel"],qD=Ee({__name:"Link",props:{href:{},variant:{default:"default"},external:{type:Boolean}},setup(e){return(t,n)=>e.href?(l(),c("a",{key:0,class:pe(["ui-link",`ui-link--${e.variant}`]),href:e.href,target:e.external?"_blank":void 0,rel:e.external?"noopener noreferrer":void 0},[Pt(t.$slots,"default",{},void 0,!0)],10,WD)):(l(),c("span",{key:1,class:pe(["ui-link",`ui-link--${e.variant}`])},[Pt(t.$slots,"default",{},void 0,!0)],2))}}),ju=Le(qD,[["__scopeId","data-v-645e7d4e"]]),HD=["aria-checked","aria-label","disabled"],UD=Ee({__name:"Switch",props:{modelValue:{type:Boolean},disabled:{type:Boolean},label:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=t;return(s,o)=>(l(),c("button",{class:pe(["ui-switch",{"is-on":e.modelValue}]),type:"button",role:"switch","aria-checked":e.modelValue,"aria-label":e.label,disabled:e.disabled,onClick:o[0]||(o[0]=i=>n("update:modelValue",!e.modelValue))},[...o[1]||(o[1]=[r("span",{class:"ui-switch__thumb"},null,-1)])],10,HD))}}),es=Le(UD,[["__scopeId","data-v-e5aecc8e"]]),VD={class:"ps"},jD={class:"ext-hint-title"},KD={key:1,class:"action-error"},GD={class:"plug-sec"},QD={class:"plug-title"},YD={key:0,class:"plug-state"},ZD={key:1,class:"plug-state is-error"},XD={key:3,class:"plug-list"},JD={class:"plug-info"},eO={class:"plug-name"},tO={class:"plug-display"},nO={key:0,class:"plug-version"},sO={key:0,class:"plug-counts"},oO={class:"plug-actions"},iO={class:"plug-sec"},aO={class:"plug-sec-head"},lO={class:"plug-title"},rO={key:0,class:"plug-state"},uO={key:1,class:"plug-state is-error"},cO={key:3,class:"plug-list"},dO={class:"plug-info"},pO={class:"plug-name"},fO={class:"plug-display"},mO={key:0,class:"plug-desc"},vO={key:1,class:"plug-home"},gO={class:"plug-actions"},hO={class:"plug-sec"},yO={class:"plug-title"},kO={key:0,class:"plug-state"},bO={key:1,class:"plug-state is-error"},wO={key:3,class:"plug-list"},SO={class:"plug-info"},CO={class:"plug-name"},_O={class:"plug-display"},MO={key:0,class:"plug-desc"},$O={key:1,class:"cap-progress"},TO={class:"cap-progress-text"},xO={class:"cap-progress-track","aria-hidden":"true"},IO={key:2,class:"cap-error"},AO={key:3,class:"cap-steps"},PO={key:2,class:"cap-step-missing","aria-hidden":"true"},EO={class:"cap-step-label"},BO={class:"plug-actions"},ja="kimi-webbridge",LO=Ee({__name:"PluginSettingsPanel",props:{active:{type:Boolean}},setup(e){const{t}=Ye(),{confirm:n}=xo(),s=e,o=x([]),i=x(!1),u=x(""),p=x([]),f=x("idle"),v=x([]),k=x(!1),T=x(""),h=x(!1),m=x(""),$=jn({}),g=jn({});async function y(){if(!i.value){i.value=!0,u.value="";try{o.value=await Re().listPlugins()}catch(be){u.value=P(be)}finally{i.value=!1}}}async function S(){if(f.value!=="loading"){f.value="loading";try{p.value=await Re().listPluginMarketplace(),f.value="ok"}catch{p.value.length===0?f.value="error":f.value="ok"}}}async function B(){if(!k.value){k.value=!0,T.value="";try{v.value=await Re().listCapabilities()}catch(be){T.value=P(be)}finally{k.value=!1}}}function b(){y(),S(),B()}function P(be){return Rn(be)&&be.message?be.message:t("settings.plugins.loadFailed")}Ne(()=>s.active,be=>{be&&!h.value&&(h.value=!0,b())},{immediate:!0});let E;xt(()=>{E=Vb(be=>{if(be.type==="pluginsChanged"){b();return}ge(be.capabilityId,be.install),be.install.running||(B(),y())})}),Tn(()=>{E?.()});function L(be){return t(`settings.plugins.source.${be}`)}function N(be){const ze=(J,U)=>t(`settings.plugins.counts.${J}`,{n:U}),oe=[];return be.skillCount>0&&oe.push(ze("skill",be.skillCount)),be.mcpServerCount>0&&oe.push(ze("mcp",be.mcpServerCount)),be.enabledMcpServerCount>0&&oe.push(ze("mcpEnabled",be.enabledMcpServerCount)),be.hookCount>0&&oe.push(ze("hook",be.hookCount)),be.commandCount>0&&oe.push(ze("command",be.commandCount)),oe.join(" · ")}async function Q(be,ze){if(!$[be.id]){$[be.id]=!0,m.value="";try{await Re().setPluginEnabled(be.id,ze),await y()}catch(oe){m.value=P(oe)}finally{delete $[be.id]}}}async function V(be){m.value="";try{await n({title:t("settings.plugins.remove"),message:t("settings.plugins.confirmRemove"),variant:"danger",action:()=>Re().removePlugin(be.id)})&&await y()}catch(ze){m.value=P(ze)}}function _(be){return be==="official"?t("settings.plugins.official"):be==="third-party"?t("settings.plugins.thirdParty"):null}async function z(be){if(!$[be.id]){$[be.id]=!0,m.value="";try{const ze=be.capabilityId;ze!==void 0?(await Re().installCapability(ze,oe=>{ge(ze,oe.install)}),await B()):await Re().installPlugin(be.source),await y(),await S()}catch(ze){m.value=P(ze)}finally{delete $[be.id]}}}const D=x(!1),ee=x(""),me=x(!1),ve=x("");function Be(){ee.value="",ve.value="",D.value=!0}function ie(){me.value||(D.value=!1)}async function le(){const be=ee.value.trim();if(!dk(be)){ve.value=t("settings.plugins.customInstallHint");return}ve.value="",me.value=!0;try{await Re().installPlugin(be),D.value=!1,await y()}catch(ze){ve.value=P(ze)}finally{me.value=!1}}function ne(be){return t(`settings.plugins.capabilityStates.${be}`)}function ae(be){return be==="ready"?"success":be==="partial"?"warning":"neutral"}function se(be){return pk(be.install,be.state)}function ge(be,ze){v.value=v.value.map(oe=>oe.id===be?{...oe,install:$c(oe.install,ze)}:oe)}async function re(be){if(!g[be.id]){g[be.id]=!0,m.value="";try{await Re().installCapability(be.id,ze=>{ge(be.id,ze.install)}),await B(),await y()}catch(ze){Rn(ze)&&ze.code===Nb?m.value=t("settings.plugins.capabilityStates.unsupported"):m.value=P(ze),await B()}finally{delete g[be.id]}}}function F(be){const ze=be.install.percent;if(!(typeof ze!="number"||Number.isNaN(ze)))return Math.min(100,Math.max(0,Math.round(ze)))}const Z=x(Dt(Ge.pluginExtensionHintDismissed)==="1"),ke=M(()=>v.value.find(be=>be.id===ja)),we=M(()=>p.value.find(ze=>ze.capabilityId===ja||ze.id===ja)?.homepage),Oe=M(()=>{if(Z.value)return!1;const be=ke.value;return be!==void 0&&be.supported&&be.state!=="ready"});function Ve(){Z.value=!0,Nt(Ge.pluginExtensionHintDismissed,"1")}return(be,ze)=>(l(),c("div",VD,[Oe.value?(l(),W(Jd,{key:0,variant:"info",class:"ext-hint"},{default:R(()=>[r("span",jD,d(a(t)("settings.plugins.extensionHintTitle")),1),we.value?(l(),W(ju,{key:0,href:we.value,external:"",class:"ext-hint-guide"},{default:R(()=>[te(d(a(t)("settings.plugins.extensionGuide")),1)]),_:1},8,["href"])):I("",!0),w(rt,{size:"sm",class:"ext-hint-dismiss",label:a(t)("settings.plugins.dismissHint"),onClick:Ve},{default:R(()=>[w(X,{name:"close",size:"sm"})]),_:1},8,["label"])]),_:1})):I("",!0),m.value?(l(),c("div",KD,[w(X,{name:"alert-triangle",size:"sm"}),r("span",null,d(m.value),1)])):I("",!0),r("section",GD,[r("h3",QD,d(a(t)("settings.plugins.sections.installed")),1),i.value?(l(),c("div",YD,[w(Qt,{size:"sm"}),r("span",null,d(a(t)("settings.plugins.loading")),1)])):u.value?(l(),c("div",ZD,[r("span",null,d(u.value),1),w(je,{variant:"secondary",size:"sm",onClick:y},{default:R(()=>[te(d(a(t)("settings.plugins.retry")),1)]),_:1})])):o.value.length===0?(l(),W(ai,{key:2,title:a(t)("settings.plugins.empty")},null,8,["title"])):(l(),c("div",XD,[(l(!0),c(ce,null,Pe(o.value,oe=>(l(),c("div",{key:oe.id,class:"plug-row"},[r("div",JD,[r("div",eO,[r("span",tO,d(oe.displayName||oe.id),1),oe.version?(l(),c("span",nO,d(oe.version),1)):I("",!0),w(Bt,{variant:"neutral",size:"sm"},{default:R(()=>[te(d(L(oe.source)),1)]),_:2},1024),oe.hasErrors?(l(),W(Bt,{key:1,variant:"danger",size:"sm"},{default:R(()=>[te(d(a(t)("settings.plugins.hasErrors")),1)]),_:1})):I("",!0)]),N(oe)?(l(),c("div",sO,d(N(oe)),1)):I("",!0)]),r("div",oO,[w(es,{"model-value":oe.enabled,disabled:$[oe.id]===!0,label:a(t)("settings.plugins.enabled"),"onUpdate:modelValue":J=>Q(oe,J)},null,8,["model-value","disabled","label","onUpdate:modelValue"]),w(je,{variant:"danger-soft",size:"sm",disabled:$[oe.id]===!0,onClick:J=>V(oe)},{default:R(()=>[te(d(a(t)("settings.plugins.remove")),1)]),_:1},8,["disabled","onClick"])])]))),128))]))]),r("section",iO,[r("div",aO,[r("h3",lO,d(a(t)("settings.plugins.sections.marketplace")),1),w(je,{variant:"secondary",size:"sm",onClick:Be},{default:R(()=>[w(X,{name:"plus",size:"sm"}),te(" "+d(a(t)("settings.plugins.customInstall")),1)]),_:1})]),f.value==="loading"?(l(),c("div",rO,[w(Qt,{size:"sm"}),r("span",null,d(a(t)("settings.plugins.loading")),1)])):f.value==="error"?(l(),c("div",uO,[r("span",null,d(a(t)("settings.plugins.catalogUnavailable")),1),w(je,{variant:"secondary",size:"sm",onClick:S},{default:R(()=>[te(d(a(t)("settings.plugins.retry")),1)]),_:1})])):p.value.length===0?(l(),W(ai,{key:2,title:a(t)("settings.plugins.empty")},null,8,["title"])):(l(),c("div",cO,[(l(!0),c(ce,null,Pe(p.value,oe=>(l(),c("div",{key:oe.id,class:"plug-row"},[r("div",dO,[r("div",pO,[r("span",fO,d(oe.displayName||oe.id),1),_(oe.tier)?(l(),W(Bt,{key:0,variant:"info",size:"sm"},{default:R(()=>[te(d(_(oe.tier)),1)]),_:2},1024)):I("",!0),oe.installed?(l(),W(Bt,{key:1,variant:"success",size:"sm"},{default:R(()=>[te(d(a(t)("settings.plugins.installed")),1)]),_:1})):I("",!0),oe.updateAvailable?(l(),W(Bt,{key:2,variant:"warning",size:"sm"},{default:R(()=>[te(d(a(t)("settings.plugins.update")),1)]),_:1})):I("",!0)]),oe.description?(l(),c("p",mO,d(oe.description),1)):I("",!0),oe.homepage?(l(),c("div",vO,[w(ju,{href:oe.homepage,external:""},{default:R(()=>[te(d(a(t)("settings.plugins.homepage")),1)]),_:1},8,["href"])])):I("",!0)]),r("div",gO,[oe.updateAvailable?(l(),W(je,{key:0,variant:"primary",size:"sm",loading:$[oe.id]===!0,disabled:$[oe.id]===!0,onClick:J=>z(oe)},{default:R(()=>[te(d(a(t)("settings.plugins.update")),1)]),_:1},8,["loading","disabled","onClick"])):oe.installed?(l(),W(je,{key:1,variant:"secondary",size:"sm",disabled:""},{default:R(()=>[te(d(a(t)("settings.plugins.installed")),1)]),_:1})):(l(),W(je,{key:2,variant:"primary",size:"sm",loading:$[oe.id]===!0,disabled:$[oe.id]===!0,onClick:J=>z(oe)},{default:R(()=>[te(d(a(t)("settings.plugins.install")),1)]),_:1},8,["loading","disabled","onClick"]))])]))),128))]))]),r("section",hO,[r("h3",yO,d(a(t)("settings.plugins.sections.capabilities")),1),k.value?(l(),c("div",kO,[w(Qt,{size:"sm"}),r("span",null,d(a(t)("settings.plugins.loading")),1)])):T.value?(l(),c("div",bO,[r("span",null,d(T.value),1),w(je,{variant:"secondary",size:"sm",onClick:B},{default:R(()=>[te(d(a(t)("settings.plugins.retry")),1)]),_:1})])):v.value.length===0?(l(),W(ai,{key:2,title:a(t)("settings.plugins.capabilitiesUnavailable")},null,8,["title"])):(l(),c("div",wO,[(l(!0),c(ce,null,Pe(v.value,oe=>(l(),c("div",{key:oe.id,class:"plug-row"},[r("div",SO,[r("div",CO,[r("span",_O,d(oe.displayName||oe.id),1),w(Bt,{variant:ae(oe.state),size:"sm"},{default:R(()=>[te(d(ne(oe.state)),1)]),_:2},1032,["variant"])]),oe.description?(l(),c("p",MO,d(oe.description),1)):I("",!0),se(oe).phase==="installing"?(l(),c("div",$O,[r("span",TO,[te(d(a(t)("settings.plugins.installing"))+" ",1),se(oe).step?(l(),c(ce,{key:0},[te(" · "+d(se(oe).step),1)],64)):I("",!0),F(oe)!==void 0?(l(),c(ce,{key:1},[te(" · "+d(F(oe))+"% ",1)],64)):I("",!0)]),r("span",xO,[r("span",{class:"cap-progress-fill",style:gt({width:`${F(oe)??0}%`})},null,4)])])):se(oe).phase==="error"?(l(),c("div",IO,[w(X,{name:"alert-triangle",size:"sm"}),r("span",null,d(se(oe).error),1)])):I("",!0),oe.steps.length>0?(l(),c("ul",AO,[(l(!0),c(ce,null,Pe(oe.steps,J=>(l(),c("li",{key:J.id,class:"cap-step"},[J.state==="ok"?(l(),W(X,{key:0,name:"check",size:"sm",class:"cap-step-ok"})):J.state==="failed"?(l(),W(X,{key:1,name:"alert-triangle",size:"sm",class:"cap-step-bad"})):(l(),c("span",PO)),r("span",EO,d(J.id),1)]))),128))])):I("",!0)]),r("div",BO,[oe.state!=="ready"&&oe.state!=="unsupported"&&oe.supported?(l(),W(je,{key:0,variant:"primary",size:"sm",loading:g[oe.id]===!0,disabled:g[oe.id]===!0,onClick:J=>re(oe)},{default:R(()=>[te(d(a(t)("settings.plugins.install")),1)]),_:1},8,["loading","disabled","onClick"])):I("",!0)])]))),128))]))]),w(ds,{open:D.value,title:a(t)("settings.plugins.customInstall"),size:"md",onClose:ie},{foot:R(()=>[w(je,{variant:"primary",size:"sm",loading:me.value,disabled:me.value,onClick:le},{default:R(()=>[te(d(a(t)("settings.plugins.install")),1)]),_:1},8,["loading","disabled"]),w(je,{variant:"secondary",size:"sm",disabled:me.value,onClick:ie},{default:R(()=>[te(d(a(t)("common.cancel")),1)]),_:1},8,["disabled"])]),default:R(()=>[w(Bs,{label:a(t)("settings.plugins.customInstall"),hint:a(t)("settings.plugins.customInstallHint"),error:ve.value},{default:R(()=>[w(Vn,{modelValue:ee.value,"onUpdate:modelValue":ze[0]||(ze[0]=oe=>ee.value=oe),placeholder:a(t)("settings.plugins.customInstallPlaceholder"),disabled:me.value,spellcheck:"false",autocomplete:"off",onKeyup:$n(le,["enter"])},null,8,["modelValue","placeholder","disabled"])]),_:1},8,["label","hint","error"])]),_:1},8,["open","title"])]))}}),RO=Le(LO,[["__scopeId","data-v-8c64da0f"]]),DO=["aria-label"],OO=["aria-selected","onClick"],zO={class:"body"},FO={class:"panel"},NO={class:"sec"},WO={class:"sec-title"},qO={class:"row"},HO={class:"rlabel"},UO={class:"row"},VO={class:"rlabel"},jO={class:"row"},KO={class:"rlabel"},GO={class:"num-field"},QO=["value","aria-label"],YO={class:"row"},ZO={class:"rlabel"},XO={class:"row"},JO={class:"rlabel"},ez={class:"hint"},tz={class:"sec"},nz={class:"sec-title"},sz={class:"row"},oz={class:"rlabel"},iz={key:0,class:"hint"},az={class:"row"},lz={class:"rlabel"},rz={key:0,class:"hint"},uz={class:"row"},cz={class:"rlabel"},dz={key:0,class:"hint"},pz={class:"row"},fz={class:"rlabel"},mz={class:"row"},vz={class:"rlabel"},gz={class:"hint"},hz={class:"panel"},yz={class:"sec"},kz={class:"sec-title"},bz={class:"row"},wz={class:"rlabel"},Sz={key:0,class:"rvalue"},Cz={class:"actions"},_z={class:"panel"},Mz={class:"sec"},$z={class:"sec-head"},Tz={class:"sec-title"},xz={key:0,class:"saving"},Iz={class:"row"},Az={class:"rlabel"},Pz={class:"hint"},Ez={key:0,class:"select-wrap"},Bz={key:0,value:"",disabled:""},Lz=["label"],Rz=["value"],Dz={key:1,class:"rvalue mono"},Oz={class:"row"},zz={class:"rlabel"},Fz={class:"hint"},Nz={class:"planning-control"},Wz={key:0,class:"select-wrap"},qz={key:0,value:"",disabled:""},Hz=["label"],Uz=["value"],Vz={key:1,class:"rvalue mono"},jz={key:2,id:"settings-planning-model-error",class:"field-error",role:"alert"},Kz={class:"row"},Gz={class:"rlabel"},Qz={class:"hint"},Yz={class:"row"},Zz={class:"rlabel"},Xz={class:"hint"},Jz={class:"row"},eF={class:"rlabel"},tF={class:"hint"},nF={class:"row"},sF={class:"rlabel"},oF={class:"hint"},iF={key:1,class:"empty-config"},aF={class:"panel plugins-panel"},lF={class:"panel"},rF={class:"sec"},uF={class:"sec-title"},cF={class:"row"},dF={class:"rlabel"},pF={class:"rvalue mono"},fF={class:"row"},mF={class:"rlabel"},vF={class:"rvalue mono"},gF={class:"row"},hF={class:"rlabel"},yF={class:"rvalue mono"},kF={key:0,class:"row"},bF={class:"rlabel"},wF={class:"hint"},SF={class:"hint"},CF={class:"row"},_F={class:"rlabel"},MF={key:0,class:"hint"},$F={class:"panel"},TF={class:"panel-head"},xF={class:"panel-kicker"},IF={class:"panel-title"},AF={class:"panel-desc"},PF={class:"archive-toolbar"},EF={class:"archive-search"},BF=["placeholder"],LF={value:"all"},RF=["value"],DF={key:0,class:"archive-empty"},OF={key:0,class:"archive-list"},zF={class:"archive-workspace"},FF={class:"path"},NF={class:"count"},WF={class:"setting-card"},qF={class:"archive-meta"},HF={class:"archive-name"},UF={class:"archive-time"},VF=["disabled"],jF={key:1,class:"archive-empty"},KF={class:"panel"},GF={class:"panel-head"},QF={class:"panel-kicker"},YF={class:"panel-title"},ZF={class:"panel-desc"},XF={class:"sec"},JF={class:"row"},eN={class:"rlabel"},tN={class:"hint"},nN=50,sN=Ee({__name:"SettingsDialog",props:{colorScheme:{},accent:{},uiFontSize:{},authReady:{type:Boolean},kimiOauthEnabled:{type:Boolean},accountModel:{},notify:{type:Boolean},notifyQuestion:{type:Boolean},notifyApproval:{type:Boolean},notifyPermission:{},sound:{type:Boolean},taskNotices:{type:Boolean},conversationToc:{type:Boolean},multiTabSidebar:{type:Boolean},config:{},models:{},configSaving:{type:Boolean},serverVersion:{},backend:{}},emits:["setColorScheme","setAccent","setUiFontSize","setNotify","setNotifyQuestion","setNotifyApproval","setSound","setTaskNotices","setConversationToc","setMultiTabSidebar","login","logout","openOnboarding","openProviders","updateConfig","close"],setup(e,{emit:t}){const{t:n}=Ye(),s=e,o=t,i=x("general"),u=[{id:"general",labelKey:"settings.tabs.general"},{id:"agent",labelKey:"settings.tabs.agent"},{id:"account",labelKey:"settings.tabs.account"},{id:"plugins",labelKey:"settings.tabs.plugins"},{id:"advanced",labelKey:"settings.tabs.advanced"},{id:"archived",labelKey:"settings.tabs.archived"},{id:"lab",labelKey:"settings.tabs.lab"}],p=Zp(),f=M(()=>s.backend==="v2"?"v2 (kap-server)":"v1 (server)"),v=x(null);async function k(J){const U=J==="endpoint"?p:s.serverVersion||"";!U||!await ln(U)||(v.value=J,setTimeout(()=>{v.value===J&&(v.value=null)},1400))}const T=["manual","yolo","auto"],h={manual:"status.permissionManual",auto:"status.permissionAuto",yolo:"status.permissionYolo"},m=x(null);lr(m);function $(J){J.key==="Escape"&&o("close")}xt(()=>document.addEventListener("keydown",$)),St(()=>document.removeEventListener("keydown",$));function g(){bc()}const y=M(()=>{const J=new Map;for(const U of s.models??[])J.set(U.id,{id:U.id,label:U.displayName??U.model??U.id,provider:U.provider});for(const[U,Y]of Object.entries(s.config?.models??{})){if(J.has(U))continue;const ye=b(Y);J.set(U,{id:U,label:P(U,Y,ye),provider:ye??U})}return Array.from(J.values())}),S=M(()=>{const J=new Map;for(const U of y.value){const Y=J.get(U.provider)??[];Y.push(U),J.set(U.provider,Y)}for(const U of J.values())U.sort((Y,ye)=>Y.label.localeCompare(ye.label));return Array.from(J.entries()).toSorted(([U],[Y])=>U.localeCompare(Y)).map(([U,Y])=>({provider:U,options:Y}))}),B=M(()=>{const J=s.config?.defaultPermissionMode;return J==="auto"||J==="yolo"||J==="manual"?J:"manual"});function b(J){if(!J||typeof J!="object")return;const U=J;return typeof U.provider=="string"?U.provider:void 0}function P(J,U,Y){if(!U||typeof U!="object")return J;const ye=U,st=typeof ye.model=="string"?ye.model:void 0,et=Y??b(U);return st&&et?`${J} (${et}/${st})`:st?`${J} (${st})`:J}function E(J){return J===!0}function L(J){!J||J===s.config?.defaultModel||o("updateConfig",{defaultModel:J})}function N(J){if(J)return(s.models??[]).find(U=>U.id===J)?.maxContextSize}function Q(J,U){if(!J||!U)return!1;const Y=N(J),ye=N(U);return Y===void 0||ye===void 0?!1:Y!==ye}const V=x(null),_=M(()=>V.value?V.value:Q(s.config?.planningModel,s.config?.defaultModel)?n("settings.planningModelContextMismatch"):null);function z(J){if(!(!J||J===s.config?.planningModel)){if(Q(J,s.config?.defaultModel)){V.value=n("settings.planningModelContextMismatch");return}V.value=null,o("updateConfig",{planningModel:J})}}function D(J){J!==B.value&&o("updateConfig",{defaultPermissionMode:J})}function ee(J){const U=s.config?.[J];o("updateConfig",{[J]:!E(U)})}function me(){const J=s.config?.thinking;return!J||typeof J!="object"?!0:J.enabled!==!1}function ve(){o("updateConfig",{thinking:{enabled:!me()}})}function Be(){const J=s.config?.telemetry!==!1;o("updateConfig",{telemetry:!J})}function ie(J){i.value=J}const le=yi(),ne=x([]),ae=x(!1),se=x(!1),ge=x(!1),re=x(""),F=x("all"),Z=x("archived-desc");let ke;async function we(J){if(!ae.value){ae.value=!0;try{const U=await le.loadArchivedSessions({beforeId:J?void 0:ke,pageSize:nN});ne.value=J?U.items:ND(ne.value,U.items),ke=U.items.at(-1)?.id,ge.value=U.hasMore&&U.items.length>0,se.value=!0}catch(U){console.warn("fetchArchivedPage failed",U)}finally{ae.value=!1}}}Ne(i,J=>{J==="archived"&&!se.value&&we(!0)});const Oe=M(()=>{const J=new Set;for(const U of ne.value)J.add(U.cwd);return Array.from(J).sort((U,Y)=>U.localeCompare(Y))}),Ve=M(()=>{let J=ne.value.filter(Y=>Y.archived===!0);F.value!=="all"&&(J=J.filter(Y=>Y.cwd===F.value));const U=re.value.trim().toLowerCase();return U&&(J=J.filter(Y=>Y.title.toLowerCase().includes(U))),FD(J,Z.value)}),be=M(()=>{const J=new Map;for(const U of Ve.value){const Y=J.get(U.cwd)??[];Y.push(U),J.set(U.cwd,Y)}return Array.from(J.entries()).map(([U,Y])=>({cwd:U,items:Y}))});async function ze(J){await le.restoreSession(J)&&(ne.value=ne.value.filter(Y=>Y.id!==J))}function oe(J){const U=new Date(J);if(Number.isNaN(U.getTime()))return J;const Y=ye=>String(ye).padStart(2,"0");return`${U.getFullYear()}-${Y(U.getMonth()+1)}-${Y(U.getDate())} ${Y(U.getHours())}:${Y(U.getMinutes())}`}return(J,U)=>(l(),W(ds,{open:!0,"close-on-esc":!1,title:a(n)("settings.title"),size:"xl",height:"fixed",padded:!1,onClose:U[24]||(U[24]=Y=>o("close"))},{default:R(()=>[r("div",{ref_key:"dialogRef",ref:m,class:"sd"},[r("nav",{class:"settings-tabs",role:"tablist","aria-label":a(n)("settings.title")},[(l(),c(ce,null,Pe(u,Y=>r("button",{key:Y.id,type:"button",class:pe(["tab",{on:i.value===Y.id}]),role:"tab","aria-selected":i.value===Y.id,onClick:ye=>ie(Y.id)},d(a(n)(Y.labelKey)),11,OO)),64))],8,DO),r("div",zO,[bt(r("section",FO,[r("section",NO,[r("h3",WO,d(a(n)("settings.appearance")),1),r("div",qO,[r("span",HO,d(a(n)("theme.colorSchemeLabel")),1),w(vn,{"model-value":e.colorScheme,options:[{value:"light",label:a(n)("theme.light")},{value:"dark",label:a(n)("theme.dark")},{value:"system",label:a(n)("theme.system")}],"onUpdate:modelValue":U[0]||(U[0]=Y=>o("setColorScheme",Y))},null,8,["model-value","options"])]),r("div",UO,[r("span",VO,d(a(n)("theme.accentLabel")),1),w(vn,{"model-value":e.accent,options:[{value:"blue",label:a(n)("theme.accentBlue")},{value:"mono",label:a(n)("theme.accentBlack")}],"onUpdate:modelValue":U[1]||(U[1]=Y=>o("setAccent",Y))},null,8,["model-value","options"])]),r("div",jO,[r("span",KO,d(a(n)("settings.uiFontSize")),1),r("label",GO,[r("input",{class:"num-input",type:"number",min:"12",max:"20",step:"1",value:e.uiFontSize,"aria-label":a(n)("settings.uiFontSize"),onInput:U[2]||(U[2]=Y=>o("setUiFontSize",Number(Y.target.value)))},null,40,QO),U[25]||(U[25]=r("span",{class:"num-unit"},"px",-1))])]),r("div",YO,[r("span",ZO,d(a(n)("sidebar.language")),1),w(kp)]),r("div",XO,[r("span",JO,[te(d(a(n)("settings.conversationToc"))+" ",1),r("span",ez,d(a(n)("settings.conversationTocHint")),1)]),w(es,{"model-value":e.conversationToc??!0,label:a(n)("settings.conversationToc"),"onUpdate:modelValue":U[3]||(U[3]=Y=>o("setConversationToc",Y))},null,8,["model-value","label"])])]),r("section",tz,[r("h3",nz,d(a(n)("settings.notifications")),1),r("div",sz,[r("span",oz,[te(d(a(n)("settings.notifyOnComplete"))+" ",1),e.notifyPermission==="denied"?(l(),c("span",iz,d(a(n)("settings.notifyDenied")),1)):I("",!0)]),w(es,{"model-value":e.notify,disabled:e.notifyPermission==="denied",label:a(n)("settings.notifyOnComplete"),"onUpdate:modelValue":U[4]||(U[4]=Y=>o("setNotify",Y))},null,8,["model-value","disabled","label"])]),r("div",az,[r("span",lz,[te(d(a(n)("settings.notifyOnQuestion"))+" ",1),e.notifyPermission==="denied"?(l(),c("span",rz,d(a(n)("settings.notifyDenied")),1)):I("",!0)]),w(es,{"model-value":e.notifyQuestion,disabled:e.notifyPermission==="denied",label:a(n)("settings.notifyOnQuestion"),"onUpdate:modelValue":U[5]||(U[5]=Y=>o("setNotifyQuestion",Y))},null,8,["model-value","disabled","label"])]),r("div",uz,[r("span",cz,[te(d(a(n)("settings.notifyOnApproval"))+" ",1),e.notifyPermission==="denied"?(l(),c("span",dz,d(a(n)("settings.notifyDenied")),1)):I("",!0)]),w(es,{"model-value":e.notifyApproval,disabled:e.notifyPermission==="denied",label:a(n)("settings.notifyOnApproval"),"onUpdate:modelValue":U[6]||(U[6]=Y=>o("setNotifyApproval",Y))},null,8,["model-value","disabled","label"])]),r("div",pz,[r("span",fz,d(a(n)("settings.soundOnComplete")),1),w(es,{"model-value":e.sound,label:a(n)("settings.soundOnComplete"),"onUpdate:modelValue":U[7]||(U[7]=Y=>o("setSound",Y))},null,8,["model-value","label"])]),r("div",mz,[r("span",vz,[te(d(a(n)("settings.taskNotices"))+" ",1),r("span",gz,d(a(n)("settings.taskNoticesHint")),1)]),w(es,{"model-value":e.taskNotices,label:a(n)("settings.taskNotices"),"onUpdate:modelValue":U[8]||(U[8]=Y=>o("setTaskNotices",Y))},null,8,["model-value","label"])])])],512),[[Un,i.value==="general"]]),bt(r("section",hz,[r("section",yz,[r("h3",kz,d(a(n)("settings.account")),1),r("div",bz,[r("span",wz,d(e.authReady?"managed:kimi-code":a(n)("sidebar.notSignedIn")),1),w(ht,{text:e.accountModel},{default:R(()=>[e.authReady&&e.accountModel?(l(),c("span",Sz,d(e.accountModel),1)):I("",!0)]),_:1},8,["text"])]),r("div",Cz,[w(je,{variant:"secondary",size:"sm",onClick:U[9]||(U[9]=Y=>{o("openOnboarding"),o("close")})},{default:R(()=>[te(d(a(n)("onboarding.reopen")),1)]),_:1}),e.authReady?(l(),W(je,{key:0,variant:"danger-soft",size:"sm",onClick:U[10]||(U[10]=Y=>o("logout"))},{default:R(()=>[te(d(a(n)("sidebar.signOut")),1)]),_:1})):e.kimiOauthEnabled?(l(),W(je,{key:1,variant:"primary",size:"sm",onClick:U[11]||(U[11]=Y=>o("login"))},{default:R(()=>[te(d(a(n)("sidebar.signIn")),1)]),_:1})):I("",!0)])])],512),[[Un,i.value==="account"]]),bt(r("section",_z,[r("section",Mz,[r("div",$z,[r("h3",Tz,d(a(n)("settings.agentDefaults")),1),e.configSaving?(l(),c("span",xz,d(a(n)("settings.saving")),1)):I("",!0)]),e.config?(l(),c(ce,{key:0},[r("div",Iz,[r("span",Az,[te(d(a(n)("settings.defaultModel"))+" ",1),r("span",Pz,d(a(n)("settings.defaultModelHint")),1)]),S.value.length>0?(l(),c("div",Ez,[w(no,{"model-value":e.config.defaultModel??"",disabled:e.configSaving,"aria-label":a(n)("settings.defaultModel"),"onUpdate:modelValue":L},{default:R(()=>[e.config.defaultModel?I("",!0):(l(),c("option",Bz,d(a(n)("settings.noDefaultModel")),1)),(l(!0),c(ce,null,Pe(S.value,Y=>(l(),c("optgroup",{key:Y.provider,label:Y.provider},[(l(!0),c(ce,null,Pe(Y.options,ye=>(l(),c("option",{key:ye.id,value:ye.id},d(ye.label),9,Rz))),128))],8,Lz))),128))]),_:1},8,["model-value","disabled","aria-label"])])):(l(),c("span",Dz,d(e.config.defaultModel??a(n)("settings.noDefaultModel")),1))]),r("div",Oz,[r("span",zz,[te(d(a(n)("settings.planningModel"))+" ",1),r("span",Fz,d(a(n)("settings.planningModelHint")),1)]),r("div",Nz,[S.value.length>0?(l(),c("div",Wz,[w(no,{"model-value":e.config.planningModel??"",disabled:e.configSaving,error:!!_.value,"aria-label":a(n)("settings.planningModel"),"aria-describedby":"settings-planning-model-error","onUpdate:modelValue":z},{default:R(()=>[e.config.planningModel?I("",!0):(l(),c("option",qz,d(a(n)("settings.noDefaultModel")),1)),(l(!0),c(ce,null,Pe(S.value,Y=>(l(),c("optgroup",{key:Y.provider,label:Y.provider},[(l(!0),c(ce,null,Pe(Y.options,ye=>(l(),c("option",{key:ye.id,value:ye.id},d(ye.label),9,Uz))),128))],8,Hz))),128))]),_:1},8,["model-value","disabled","error","aria-label"])])):(l(),c("span",Vz,d(e.config.planningModel??a(n)("settings.noDefaultModel")),1)),_.value?(l(),c("span",jz,d(_.value),1)):I("",!0)])]),r("div",Kz,[r("span",Gz,[te(d(a(n)("settings.defaultPermission"))+" ",1),r("span",Qz,d(a(n)("settings.defaultPermissionHint")),1)]),w(vn,{"model-value":B.value,options:T.map(Y=>({value:Y,label:a(n)(h[Y])})),"onUpdate:modelValue":U[12]||(U[12]=Y=>D(Y))},null,8,["model-value","options"])]),r("div",Yz,[r("span",Zz,[te(d(a(n)("settings.defaultThinking"))+" ",1),r("span",Xz,d(a(n)("settings.defaultThinkingHint")),1)]),w(es,{"model-value":me(),disabled:e.configSaving,label:a(n)("settings.defaultThinking"),"onUpdate:modelValue":U[13]||(U[13]=Y=>ve())},null,8,["model-value","disabled","label"])]),r("div",Jz,[r("span",eF,[te(d(a(n)("settings.defaultPlanMode"))+" ",1),r("span",tF,d(a(n)("settings.defaultPlanModeHint")),1)]),w(es,{"model-value":E(e.config.defaultPlanMode),disabled:e.configSaving,label:a(n)("settings.defaultPlanMode"),"onUpdate:modelValue":U[14]||(U[14]=Y=>ee("defaultPlanMode"))},null,8,["model-value","disabled","label"])]),r("div",nF,[r("span",sF,[te(d(a(n)("settings.mergeSkills"))+" ",1),r("span",oF,d(a(n)("settings.mergeSkillsHint")),1)]),w(es,{"model-value":E(e.config.mergeAllAvailableSkills),disabled:e.configSaving,label:a(n)("settings.mergeSkills"),"onUpdate:modelValue":U[15]||(U[15]=Y=>ee("mergeAllAvailableSkills"))},null,8,["model-value","disabled","label"])])],64)):(l(),c("div",iF,d(a(n)("settings.configUnavailable")),1))])],512),[[Un,i.value==="agent"]]),bt(r("section",aF,[w(RO,{active:i.value==="plugins"},null,8,["active"])],512),[[Un,i.value==="plugins"]]),bt(r("section",lF,[r("section",rF,[r("h3",uF,d(a(n)("settings.advanced")),1),r("div",cF,[r("span",dF,d(a(n)("sidebar.daemon")),1),r("span",pF,d(a(p)),1),w(je,{variant:"secondary",size:"sm",onClick:U[16]||(U[16]=Y=>k("endpoint"))},{default:R(()=>[te(d(v.value==="endpoint"?a(n)("sidebar.copied"):a(n)("settings.copyServer")),1)]),_:1})]),r("div",fF,[r("span",mF,d(a(n)("settings.backend")),1),r("span",vF,d(f.value),1)]),r("div",gF,[r("span",hF,d(a(n)("settings.serverVersion")),1),r("span",yF,d(e.serverVersion||"-"),1),w(je,{variant:"secondary",size:"sm",disabled:!e.serverVersion,onClick:U[17]||(U[17]=Y=>k("version"))},{default:R(()=>[te(d(v.value==="version"?a(n)("sidebar.copied"):a(n)("settings.copyServer")),1)]),_:1},8,["disabled"])]),e.config?(l(),c("div",kF,[r("span",bF,[te(d(a(n)("settings.telemetry"))+" ",1),r("span",wF,d(a(n)("settings.telemetryHint")),1),r("span",SF,d(a(n)("settings.telemetryRestartHint")),1)]),w(es,{"model-value":e.config.telemetry!==!1,disabled:e.configSaving,label:a(n)("settings.telemetry"),"onUpdate:modelValue":U[18]||(U[18]=Y=>Be())},null,8,["model-value","disabled","label"])])):I("",!0),r("div",CF,[r("span",_F,[te(d(a(n)("settings.exportLog"))+" ",1),a(ps)()?I("",!0):(l(),c("span",MF,d(a(n)("settings.logHint")),1))]),w(je,{variant:"secondary",size:"sm",onClick:g},{default:R(()=>[te(d(a(n)("settings.exportLogBtn")),1)]),_:1})])])],512),[[Un,i.value==="advanced"]]),bt(r("section",$F,[r("div",TF,[r("div",xF,d(a(n)("settings.archivedTitle")),1),r("h4",IF,d(a(n)("settings.archivedTitle")),1),r("p",AF,d(a(n)("settings.archivedDesc")),1)]),r("div",PF,[r("label",EF,[w(X,{name:"search",size:"sm"}),bt(r("input",{"onUpdate:modelValue":U[19]||(U[19]=Y=>re.value=Y),placeholder:a(n)("settings.archivedSearch")},null,8,BF),[[On,re.value]])]),w(no,{"model-value":F.value,size:"sm","aria-label":a(n)("settings.archivedAllWorkspaces"),"onUpdate:modelValue":U[20]||(U[20]=Y=>F.value=Y)},{default:R(()=>[r("option",LF,d(a(n)("settings.archivedAllWorkspaces")),1),(l(!0),c(ce,null,Pe(Oe.value,Y=>(l(),c("option",{key:Y,value:Y},d(Y),9,RF))),128))]),_:1},8,["model-value","aria-label"]),w(vn,{size:"sm","model-value":Z.value,options:[{value:"archived-desc",label:a(n)("settings.archivedSortArchived")},{value:"created-desc",label:a(n)("settings.archivedSortCreated")},{value:"name-asc",label:a(n)("settings.archivedSortName")}],"onUpdate:modelValue":U[21]||(U[21]=Y=>Z.value=Y)},null,8,["model-value","options"])]),ae.value&&!se.value?(l(),c("div",DF,d(a(n)("settings.archivedLoadingAll")),1)):(l(),c(ce,{key:1},[be.value.length>0?(l(),c("div",OF,[(l(!0),c(ce,null,Pe(be.value,Y=>(l(),c("section",{key:Y.cwd,class:"archive-card"},[r("div",zF,[w(X,{name:"folder-closed",size:"sm"}),r("span",FF,d(Y.cwd),1),r("span",NF,d(a(n)("settings.archivedSessionsCount",{count:Y.items.length})),1)]),r("div",WF,[(l(!0),c(ce,null,Pe(Y.items,ye=>(l(),c("div",{key:ye.id,class:"archive-row"},[r("div",qF,[r("div",HF,d(ye.title),1),r("div",UF,d(a(n)("settings.archivedAt",{time:oe(ye.updatedAt)})),1)]),w(je,{variant:"secondary",size:"sm",onClick:st=>ze(ye.id)},{default:R(()=>[te(d(a(n)("settings.archivedRestore")),1)]),_:1},8,["onClick"])]))),128))])]))),128)),ge.value?(l(),c("button",{key:0,class:"archive-load-more",disabled:ae.value,onClick:U[22]||(U[22]=Y=>we(!1))},d(ae.value?a(n)("settings.archivedLoading"):a(n)("settings.archivedLoadMore")),9,VF)):I("",!0)])):(l(),c("div",jF,d(ne.value.length===0?a(n)("settings.archivedEmpty"):a(n)("settings.archivedNoMatch")),1))],64))],512),[[Un,i.value==="archived"]]),bt(r("section",KF,[r("div",GF,[r("div",QF,d(a(n)("settings.lab.title")),1),r("h4",YF,d(a(n)("settings.lab.title")),1),r("p",ZF,d(a(n)("settings.lab.desc")),1)]),r("section",XF,[r("div",JF,[r("span",eN,[te(d(a(n)("settings.lab.multiTabSidebar"))+" ",1),r("span",tN,d(a(n)("settings.lab.multiTabSidebarHint")),1)]),w(es,{"model-value":e.multiTabSidebar??!1,label:a(n)("settings.lab.multiTabSidebar"),"onUpdate:modelValue":U[23]||(U[23]=Y=>o("setMultiTabSidebar",Y))},null,8,["model-value","label"])])])],512),[[Un,i.value==="lab"]])])],512)]),_:1},8,["title"]))}}),oN=Le(sN,[["__scopeId","data-v-0e526447"]]),Ku=[20,50,100],iN={workspace:"all",status:"all",time:"all",search:""};function Gu(){return{...iN}}function aN(e,t,n=Date.now()){const s=t.time==="all"?null:n-t.time*24*60*60*1e3,o=t.search.trim().toLowerCase();return e.filter(i=>{if(t.workspace!=="all"&&i.workspaceName!==t.workspace||t.status==="open"&&i.done||t.status==="done"&&!i.done)return!1;if(s!==null){const u=i.updatedAt?new Date(i.updatedAt).getTime():Number.NaN;if(!Number.isFinite(u)||us.id));return t.filter(s=>!n.has(s))}return rr(e,t)}function bp(e,t){if(e.length===0)return!1;const n=new Set(t);return e.every(s=>n.has(s.id))}const cN=["checked","disabled"],dN={class:"ui-check__box","aria-hidden":"true"},pN={key:0,class:"ui-check__label"},fN=Ee({__name:"Checkbox",props:{modelValue:{type:Boolean},disabled:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:t}){const n=t;return(s,o)=>(l(),c("label",{class:pe(["ui-check",{"is-on":e.modelValue,"is-disabled":e.disabled}])},[r("input",{class:"ui-check__input",type:"checkbox",checked:e.modelValue,disabled:e.disabled,onChange:o[0]||(o[0]=i=>n("update:modelValue",i.target.checked))},null,40,cN),r("span",dN,[e.modelValue?(l(),W(X,{key:0,name:"check",size:"md"})):I("",!0)]),s.$slots.default?(l(),c("span",pN,[Pt(s.$slots,"default",{},void 0,!0)])):I("",!0)],2))}}),Yu=Le(fN,[["__scopeId","data-v-1802c5bd"]]),mN={class:"sd"},vN={class:"sd-head"},gN={class:"sd-head-text"},hN={class:"sd-title"},yN={class:"sd-subtitle"},kN={class:"toolbar"},bN={class:"search"},wN=["placeholder","aria-label"],SN={value:"all"},CN=["value"],_N={value:"all"},MN={value:"open"},$N={value:"done"},TN={value:"all"},xN={value:"7"},IN={value:"30"},AN={class:"batch-bar"},PN={class:"batch-count"},EN={class:"batch-actions"},BN={class:"list"},LN={key:0,class:"empty"},RN={class:"row-main"},DN=["aria-label","onBlur"],ON=["title"],zN={class:"row-meta"},FN=["title"],NN=["title"],WN={key:1,class:"row-emoji","aria-hidden":"true"},qN={class:"pager"},HN={class:"page-info"},UN=["value"],VN={class:"total"},jN=Ee({__name:"SessionManagementDialog",props:{sessions:{}},emits:["close"],setup(e,{emit:t}){const{t:n}=Ye(),s=yi(),o=e,i=t,u=s.sessionEmojiBySession,p=M(()=>o.sessions.map(qe=>({id:qe.id,title:qe.title,workspaceName:qe.workspaceName,updatedAt:qe.updatedAt,done:qe.done===!0,time:qe.time,emoji:u.value[qe.id]??null}))),f=x(Gu()),v=x(0),k=x(Ku[0]),T=x([]),h=M(()=>{const qe=new Set;for(const He of p.value)He.workspaceName&&qe.add(He.workspaceName);return Array.from(qe).sort((He,Ue)=>He.localeCompare(Ue))}),m=M(()=>aN(p.value,f.value)),$=M(()=>lN(m.value,v.value,k.value)),g=M(()=>$.value.rows),y=M(()=>bp(g.value,T.value));Ne(m,()=>{v.value=0});function S(qe){f.value={...f.value,workspace:qe}}function B(qe){f.value={...f.value,status:qe}}function b(qe){f.value={...f.value,time:qe==="all"?"all":Number(qe)}}function P(){f.value=Gu()}function E(qe){k.value=Number(qe),v.value=0}function L(){v.value>0&&(v.value-=1)}function N(){v.value+1<$.value.totalPages&&(v.value+=1)}function Q(){T.value=uN(g.value,T.value)}function V(){T.value=Qu(p.value,T.value)}function _(){T.value=rN(g.value,T.value)}function z(){T.value=Qu(m.value,T.value)}function D(){T.value=[]}function ee(qe){return T.value.includes(qe)}function me(qe,He){He?T.value.includes(qe)||(T.value=[...T.value,qe]):T.value=T.value.filter(Ue=>Ue!==qe)}function ve(){s.markSessionsDone(T.value),D()}function Be(){s.reopenSessions(T.value),D()}function ie(qe){s.toggleDoneSession(qe.id)}function le(qe){ye(),s.forkSession(qe.id)}function ne(qe){ye(),s.exportSession(qe.id)}function ae(qe){ye(),s.undoSessionById(qe.id)}function se(qe){s.setSessionEmoji(qe.id,null),ye()}const ge=x(null),re=x(""),F=x(null);function Z(qe){ye(),ge.value=qe.id,re.value=qe.title,Ze().then(()=>{F.value?.focus(),F.value?.select()})}function ke(qe){const He=re.value.trim();He&&s.renameSession(qe,He),ge.value=null}function we(){ge.value=null}function Oe(){ge.value!==null&&ke(ge.value)}function Ve(){we()}const be=x(null),ze=x(null),oe=x({}),J=x(null);function U(qe){const He=qe.target;He.closest(".row-kebab")||He.closest(".row-menu")||ye()}async function Y(qe,He){const Ue=He.currentTarget;be.value=qe.id,ze.value=qe,document.addEventListener("mousedown",U),window.addEventListener("resize",ye),await Ze();const dt=J.value?.el,at=Ue.getBoundingClientRect(),Lt=4,Ht=8,rn=dt?.offsetHeight??0,ct=dt?.offsetWidth??0;let sn=at.bottom+Lt;sn+rn>window.innerHeight-Ht&&(sn=Math.max(Ht,at.top-rn-Lt));let on=at.right-ct;onwindow.innerHeight-Ht&&(rn=Math.max(Ht,dt.top-at-4));let ct=dt.right-Lt;ct{document.removeEventListener("mousedown",U),window.removeEventListener("resize",ye),document.removeEventListener("mousedown",Me),window.removeEventListener("resize",Se)});function Xe(qe){if(!qe)return"";const He=new Date(qe);if(Number.isNaN(He.getTime()))return qe;const Ue=dt=>String(dt).padStart(2,"0");return`${He.getFullYear()}-${Ue(He.getMonth()+1)}-${Ue(He.getDate())} ${Ue(He.getHours())}:${Ue(He.getMinutes())}`}function yt(qe){return ge.value===qe.id}return(qe,He)=>(l(),W(ds,{open:!0,"close-on-esc":!1,title:a(n)("admin.title"),size:"xl",height:"fixed",padded:!1,onClose:He[17]||(He[17]=Ue=>i("close"))},{default:R(()=>[r("div",mN,[r("div",vN,[r("div",gN,[r("h3",hN,d(a(n)("admin.title")),1),r("p",yN,d(a(n)("admin.subtitle")),1)]),w(je,{variant:"ghost",size:"sm",onClick:He[0]||(He[0]=Ue=>i("close"))},{default:R(()=>[te(d(a(n)("admin.back")),1)]),_:1})]),r("div",kN,[r("label",bN,[w(X,{name:"search",size:"sm"}),bt(r("input",{"onUpdate:modelValue":He[1]||(He[1]=Ue=>f.value.search=Ue),placeholder:a(n)("admin.searchWorkspace"),"aria-label":a(n)("admin.searchWorkspace")},null,8,wN),[[On,f.value.search]])]),w(no,{"model-value":f.value.workspace,size:"sm","aria-label":a(n)("admin.filterWorkspace"),"onUpdate:modelValue":S},{default:R(()=>[r("option",SN,d(a(n)("admin.allWorkspaces")),1),(l(!0),c(ce,null,Pe(h.value,Ue=>(l(),c("option",{key:Ue,value:Ue},d(Ue),9,CN))),128))]),_:1},8,["model-value","aria-label"]),w(no,{"model-value":f.value.status,size:"sm","aria-label":a(n)("admin.filterStatus"),"onUpdate:modelValue":B},{default:R(()=>[r("option",_N,d(a(n)("admin.allStatus")),1),r("option",MN,d(a(n)("admin.statusOpen")),1),r("option",$N,d(a(n)("admin.statusDone")),1)]),_:1},8,["model-value","aria-label"]),w(no,{"model-value":f.value.time,size:"sm","aria-label":a(n)("admin.filterTime"),"onUpdate:modelValue":b},{default:R(()=>[r("option",TN,d(a(n)("admin.timeAll")),1),r("option",xN,d(a(n)("admin.timeDaysAgo",{n:7})),1),r("option",IN,d(a(n)("admin.timeDaysAgo",{n:30})),1)]),_:1},8,["model-value","aria-label"]),w(je,{variant:"ghost",size:"sm",disabled:f.value.search===""&&f.value.workspace==="all"&&f.value.status==="all"&&f.value.time==="all",onClick:P},{default:R(()=>[te(d(a(n)("admin.reset")),1)]),_:1},8,["disabled"])]),r("div",AN,[w(Yu,{"model-value":y.value,"aria-label":a(n)("admin.selectPageAll"),"onUpdate:modelValue":Q},null,8,["model-value","aria-label"]),r("span",PN,d(a(n)("admin.batchSelected",{n:T.value.length})),1),r("div",EN,[w(rt,{class:"select-trigger",size:"sm",label:a(n)("admin.selectAll"),"aria-haspopup":"menu","aria-expanded":st.value,onClick:He[2]||(He[2]=De(Ue=>Te(Ue),["stop"]))},{default:R(()=>[w(X,{name:"check-list"})]),_:1},8,["label","aria-expanded"]),w(je,{variant:"secondary",size:"sm",disabled:T.value.length===0,onClick:ve},{default:R(()=>[w(X,{name:"check-list",size:"sm"}),te(" "+d(a(n)("admin.markDoneCount",{n:T.value.length})),1)]),_:1},8,["disabled"]),w(je,{variant:"secondary",size:"sm",disabled:T.value.length===0,onClick:Be},{default:R(()=>[w(X,{name:"undo",size:"sm"}),te(" "+d(a(n)("admin.reopenCount",{n:T.value.length})),1)]),_:1},8,["disabled"])])]),r("div",BN,[m.value.length===0?(l(),c("div",LN,d(a(n)("admin.noSessions")),1)):(l(!0),c(ce,{key:1},Pe(g.value,Ue=>(l(),c("div",{key:Ue.id,class:pe(["row",{on:ee(Ue.id)}])},[w(Yu,{"model-value":ee(Ue.id),"aria-label":Ue.title,"onUpdate:modelValue":dt=>me(Ue.id,dt)},null,8,["model-value","aria-label","onUpdate:modelValue"]),r("div",RN,[yt(Ue)?bt((l(),c("input",{key:0,ref_for:!0,ref_key:"renameInputRef",ref:F,"onUpdate:modelValue":He[3]||(He[3]=dt=>re.value=dt),class:"rename-input","aria-label":a(n)("admin.rename"),onClick:He[4]||(He[4]=De(()=>{},["stop"])),onKeydown:[$n(Oe,["enter"]),$n(Ve,["esc"])],onBlur:dt=>ke(Ue.id)},null,40,DN)),[[On,re.value]]):(l(),c("div",{key:1,class:"row-title",title:Ue.title},d(Ue.title),9,ON)),r("div",zN,[r("span",{class:"row-ws",title:Ue.workspaceName},d(Ue.workspaceName||"—"),9,FN),r("span",{class:"row-time",title:Xe(Ue.updatedAt)},d(Ue.time||""),9,NN),Ue.done?(l(),W(Bt,{key:0,variant:"success",size:"sm"},{default:R(()=>[te(d(a(n)("admin.statusDone")),1)]),_:1})):I("",!0),Ue.emoji?(l(),c("span",WN,d(Ue.emoji),1)):I("",!0)])]),w(rt,{class:"row-kebab",size:"sm",label:a(n)("admin.moreActions"),"aria-haspopup":"menu",onClick:De(dt=>Y(Ue,dt),["stop"])},{default:R(()=>[w(X,{name:"dots-horizontal"})]),_:1},8,["label","onClick"])],2))),128))]),r("div",qN,[w(je,{variant:"ghost",size:"sm",disabled:v.value===0,onClick:L},{default:R(()=>[te(d(a(n)("admin.prevPage")),1)]),_:1},8,["disabled"]),r("span",HN,d(v.value+1)+" / "+d($.value.totalPages),1),w(je,{variant:"ghost",size:"sm",disabled:v.value+1>=$.value.totalPages,onClick:N},{default:R(()=>[te(d(a(n)("admin.nextPage")),1)]),_:1},8,["disabled"]),w(no,{"model-value":k.value,size:"sm","aria-label":a(n)("admin.pageSize"),"onUpdate:modelValue":E},{default:R(()=>[(l(!0),c(ce,null,Pe(a(Ku),Ue=>(l(),c("option",{key:Ue,value:Ue},d(Ue),9,UN))),128))]),_:1},8,["model-value","aria-label"]),r("span",VN,d(a(n)("admin.total",{n:m.value.length})),1)])]),(l(),W(ns,{to:"body"},[be.value!==null&&ze.value?(l(),W(Nn,{key:0,ref_key:"rowMenuRef",ref:J,class:"row-menu",style:gt(oe.value),onClick:He[11]||(He[11]=De(()=>{},["stop"]))},{default:R(()=>[w(nt,{onClick:He[5]||(He[5]=Ue=>ie(ze.value))},{default:R(()=>[w(X,{name:ze.value.done?"undo":"check-list",size:"sm"},null,8,["name"]),te(" "+d(ze.value.done?a(n)("admin.reopen"):a(n)("admin.markDone")),1)]),_:1}),w(nt,{separator:""}),w(nt,{onClick:He[6]||(He[6]=Ue=>Z(ze.value))},{default:R(()=>[w(X,{name:"pencil",size:"sm"}),te(" "+d(a(n)("admin.rename")),1)]),_:1}),w(nt,{onClick:He[7]||(He[7]=Ue=>le(ze.value))},{default:R(()=>[w(X,{name:"git-fork",size:"sm"}),te(" "+d(a(n)("admin.fork")),1)]),_:1}),w(nt,{onClick:He[8]||(He[8]=Ue=>ne(ze.value))},{default:R(()=>[w(X,{name:"download",size:"sm"}),te(" "+d(a(n)("admin.export")),1)]),_:1}),w(nt,{onClick:He[9]||(He[9]=Ue=>ae(ze.value))},{default:R(()=>[w(X,{name:"undo",size:"sm"}),te(" "+d(a(n)("admin.undo")),1)]),_:1}),ze.value.emoji?(l(),W(nt,{key:0,onClick:He[10]||(He[10]=Ue=>se(ze.value))},{default:R(()=>[w(X,{name:"emotion",size:"sm"}),te(" "+d(a(n)("admin.removeTag")),1)]),_:1})):I("",!0)]),_:1},8,["style"])):I("",!0),st.value?(l(),W(Nn,{key:1,ref_key:"selectMenuRef",ref:pt,class:"select-menu",style:gt(et.value),onClick:He[16]||(He[16]=De(()=>{},["stop"]))},{default:R(()=>[w(nt,{onClick:He[12]||(He[12]=Ue=>Ae("all"))},{default:R(()=>[te(d(a(n)("admin.selectAll")),1)]),_:1}),w(nt,{onClick:He[13]||(He[13]=Ue=>Ae("page"))},{default:R(()=>[te(d(a(n)("admin.selectPageAll")),1)]),_:1}),w(nt,{onClick:He[14]||(He[14]=Ue=>Ae("matching"))},{default:R(()=>[te(d(a(n)("admin.selectAllMatching")),1)]),_:1}),w(nt,{separator:""}),w(nt,{onClick:He[15]||(He[15]=Ue=>Ae("clear"))},{default:R(()=>[te(d(a(n)("admin.clearSelection")),1)]),_:1})]),_:1},8,["style"])):I("",!0)]))]),_:1},8,["title"]))}}),KN=Le(jN,[["__scopeId","data-v-57938067"]]),GN=/^(?:\/|~(?:\/|$)|[A-Za-z]:[\\/]|\\\\)/,wp=/^[A-Za-z]:[\\/]/,QN=/^\/\/(?!\/)/;function Ka(e){return GN.test(e.trim())}function YN(e,t){return e==="~"?t||e:e.startsWith("~/")?(t||"~")+e.slice(1):e}function ZN(e){return QN.test(e)?`//${e.slice(2).replaceAll(/\/{2,}/g,"/")}`:e.replaceAll(/\/{2,}/g,"/")}function XN(e){return wp.test(e)||e.startsWith("\\\\")||e.startsWith("//")}function JN(e){return wp.test(e)?3:e.startsWith("\\\\")||e.startsWith("//")?2:e.startsWith("/")?1:0}function bl(e,t){let n=ZN(YN(e.trim(),t));const s=XN(n),o=n==="/"||n==="//"||n==="\\\\"||/^[A-Za-z]:[\\/]$/.test(n),i=s?/[\\/]$/.test(n):n.endsWith("/");!o&&i&&(n=n.slice(0,-1));const u=n.lastIndexOf("/"),p=s?n.lastIndexOf("\\"):-1,f=Math.max(u,p),v=p>u?"\\":"/",k=JN(n),T=fT.value.trim().length>0);let g=0,y=null;const S=M(()=>Ka(T.value)),B=x("idle"),b=x(""),P=x("/"),E=x([]),L=x(""),N=x(null),Q=x(null),V=M(()=>B.value!=="valid"?null:tW(T.value,L.value,Q.value));let _=0,z=null;function D(Z,ke){const we=Z.toLowerCase(),Oe=ke.toLowerCase();let Ve=0;for(let be=0;be0&&ze=Zu))break;oe.depth+1{y&&clearTimeout(y),z&&clearTimeout(z),_++,B.value="idle",E.value=[],Q.value=null;const ke=Z.trim();if(ke===""){g++,m.value=[],h.value=!1;return}if(Ka(ke)){if(g++,m.value=[],h.value=!1,p.value)return;B.value="checking",z=setTimeout(()=>void me(ke),150);return}y=setTimeout(()=>void ee(Z),220)});async function me(Z){const ke=++_;B.value="checking",Q.value=null;const we=bl(Z,L.value),{target:Oe}=we;try{const be=await s.browseFs(Oe);if(ke!==_)return;if(be.path){B.value="valid",E.value=[],Q.value=Oe,f.value=be.path,v.value=be.parent,k.value=be.entries,p.value=!1;return}}catch{}if(ke!==_)return;const Ve=we.base.toLowerCase();b.value=we.parent,P.value=we.separator;try{const be=await s.browseFs(we.parent);if(ke!==_)return;if(be.path){E.value=be.entries.filter(ze=>ze.isDir&&ze.name.toLowerCase().startsWith(Ve)),B.value="not-found";return}}catch{}ke===_&&(E.value=[],B.value="bad-parent")}function ve(Z){T.value=eW(b.value,Z,P.value),N.value?.focus()}const Be=M(()=>p.value?n("workspace.degradedPlaceholder"):n("workspace.searchPlaceholder")),ie=M(()=>p.value?n("workspace.degradedHint"):S.value&&B.value==="valid"?n("workspace.pathFollowHint"):n("workspace.browseHint"));function le(Z){if(Z.key==="Escape"){T.value?T.value="":o("close");return}if(Z.key!=="Enter")return;const ke=T.value.trim();if(Ka(ke)){if(Z.preventDefault(),p.value){const{target:we}=bl(ke,L.value);we&&o("add",we);return}B.value==="valid"?F():B.value==="not-found"&&E.value[0]&&ve(E.value[0].name)}}const ne=M(()=>{const Z=f.value;if(!Z)return[];const ke=Z.split("/").filter(Boolean),we=[{label:"/",path:"/"}];let Oe="";for(const Ve of ke)Oe+=`/${Ve}`,we.push({label:Ve,path:Oe});return we}),ae=M(()=>!(f.value.length===0||S.value&&V.value===null));async function se(Z){u.value=!0;try{const ke=await s.browseFs(Z);if(!ke.path){p.value=!0;return}f.value=ke.path,v.value=ke.parent,k.value=ke.entries,T.value="",p.value=!1}catch{p.value=!0}finally{u.value=!1}}function ge(Z){Z.isDir&&se(Z.path)}function re(){v.value&&se(v.value)}function F(){ae.value&&o("add",V.value??f.value)}return xt(async()=>{u.value=!0;try{const Z=await s.getFsHome().catch(()=>({home:"",recentRoots:[]}));if(Z.home&&(L.value=Z.home),s.defaultPath&&(await se(s.defaultPath),!p.value))return;L.value?await se(L.value):p.value=!0}catch{p.value=!0}finally{u.value=!1}}),St(()=>{y&&clearTimeout(y),z&&clearTimeout(z)}),(Z,ke)=>(l(),W(ds,{open:i.value,"onUpdate:open":ke[2]||(ke[2]=we=>i.value=we),title:a(n)("workspace.addTitle"),size:"lg",height:"fixed",onClose:ke[3]||(ke[3]=we=>o("close"))},{default:R(()=>[r("div",nW,[p.value?I("",!0):(l(),c("div",sW,[w(rt,{size:"sm",disabled:!v.value,label:a(n)("workspace.up"),onClick:re},{default:R(()=>[w(X,{name:"arrow-up",size:"md"})]),_:1},8,["disabled","label"]),r("div",oW,[(l(!0),c(ce,null,Pe(ne.value,(we,Oe)=>(l(),c(ce,{key:we.path},[Oe>1?(l(),c("span",iW,"/")):I("",!0),r("button",{class:pe(["crumb",{last:Oe===ne.value.length-1}]),onClick:Ve=>se(we.path)},d(we.label),11,aW)],64))),128))])])),!u.value||p.value?(l(),c("div",{key:1,class:pe(["filterbar",{"has-error":B.value==="not-found"||B.value==="bad-parent"}])},[w(X,{class:"filter-icon",name:"search",size:"md"}),bt(r("input",{ref_key:"filterEl",ref:N,"onUpdate:modelValue":ke[0]||(ke[0]=we=>T.value=we),class:"filter-input",type:"text",placeholder:Be.value,autocomplete:"off",spellcheck:"false",onKeydown:De(le,["stop"])},null,40,lW),[[On,T.value]]),h.value||B.value==="checking"?(l(),W(Qt,{key:0,size:"sm"})):I("",!0)],2)):I("",!0),p.value?(l(),c("div",CW,d(a(n)("workspace.degradedHint")),1)):(l(),c("div",rW,[u.value?(l(),c("div",uW,d(a(n)("workspace.browsing")),1)):S.value&&B.value!=="valid"?(l(),c(ce,{key:1},[B.value==="checking"?(l(),c("div",cW,d(a(n)("workspace.checkingPath")),1)):B.value==="not-found"?(l(),c(ce,{key:1},[E.value.length>0?(l(),c("div",dW,d(a(n)("workspace.pathPickHint")),1)):I("",!0),(l(!0),c(ce,null,Pe(E.value,we=>(l(),c("button",{key:we.path,class:"folder-row",onClick:Oe=>ve(we.name)},[w(X,{class:"dir-icon",name:"folder-closed",size:"sm"}),r("span",fW,d(we.name),1)],8,pW))),128)),E.value.length===0?(l(),c("div",mW,d(a(n)("workspace.noPathMatch",{parent:b.value})),1)):I("",!0)],64)):B.value==="bad-parent"?(l(),c("div",vW,d(a(n)("workspace.badParent",{parent:b.value})),1)):I("",!0)],64)):$.value&&!S.value?(l(),c(ce,{key:2},[(l(!0),c(ce,null,Pe(m.value,we=>(l(),c("button",{key:we.path,class:"folder-row",onClick:Oe=>se(we.path)},[w(X,{class:"dir-icon",name:"folder-closed",size:"sm"}),r("span",hW,d(we.rel),1)],8,gW))),128)),!h.value&&m.value.length===0?(l(),c("div",yW,d(a(n)("workspace.noFilterMatch",{q:T.value.trim()})),1)):h.value&&m.value.length===0?(l(),c("div",kW,d(a(n)("workspace.searching")),1)):I("",!0)],64)):(l(),c(ce,{key:3},[(l(!0),c(ce,null,Pe(k.value,we=>(l(),c("button",{key:we.path,class:"folder-row",onClick:Oe=>ge(we)},[w(X,{class:"dir-icon",name:"folder-closed",size:"sm"}),r("span",wW,d(we.name),1)],8,bW))),128)),k.value.length===0?(l(),c("div",SW,d(a(n)("workspace.noSubfolders")),1)):I("",!0)],64))])),e.error?(l(),c("div",_W,d(e.error),1)):I("",!0),r("div",MW,[w(ht,{text:f.value},{default:R(()=>[p.value?I("",!0):(l(),W(je,{key:0,variant:"primary",disabled:!ae.value,onClick:F},{default:R(()=>[te(d(a(n)("workspace.openThisFolder")),1)]),_:1},8,["disabled"]))]),_:1},8,["text"]),w(je,{variant:"secondary",onClick:ke[1]||(ke[1]=we=>o("close"))},{default:R(()=>[te(d(a(n)("workspace.cancel")),1)]),_:1})]),r("div",$W,d(ie.value),1)])]),_:1},8,["open","title"]))}}),AW=Le(IW,[["__scopeId","data-v-a2c2e0eb"]]),PW={key:0,class:"confirm-dialog__message"},EW=Ee({__name:"ConfirmDialog",props:{open:{type:Boolean},title:{},message:{},confirmLabel:{},cancelLabel:{},variant:{default:"danger"},loading:{type:Boolean}},emits:["update:open","confirm","cancel"],setup(e,{emit:t}){const n=e,s=t,{t:o}=Ye();function i(){n.loading||(s("update:open",!1),s("cancel"))}function u(p){if(p.key!=="Enter"||!n.open||n.loading)return;const f=p.target;f instanceof HTMLButtonElement||f instanceof HTMLAnchorElement||f instanceof HTMLTextAreaElement||f instanceof HTMLSelectElement||f instanceof HTMLInputElement||(p.preventDefault(),s("confirm"))}return typeof window<"u"&&window.addEventListener("keydown",u),Tn(()=>{typeof window<"u"&&window.removeEventListener("keydown",u)}),(p,f)=>(l(),W(ds,{open:e.open,title:e.title,height:"auto","initial-focus":".confirm-dialog__confirm","close-on-esc":!e.loading,"close-on-overlay":!e.loading,"onUpdate:open":f[1]||(f[1]=v=>s("update:open",v)),onClose:i},{foot:R(()=>[w(je,{variant:"secondary",disabled:e.loading,onClick:i},{default:R(()=>[te(d(e.cancelLabel??a(o)("common.cancel")),1)]),_:1},8,["disabled"]),w(je,{class:"confirm-dialog__confirm",variant:e.variant,loading:e.loading,onClick:f[0]||(f[0]=v=>s("confirm"))},{default:R(()=>[te(d(e.confirmLabel??a(o)("common.confirm")),1)]),_:1},8,["variant","loading"])]),default:R(()=>[e.message?(l(),c("p",PW,d(e.message),1)):I("",!0)]),_:1},8,["open","title","close-on-esc","close-on-overlay"]))}}),BW=Le(EW,[["__scopeId","data-v-2e719024"]]),LW=Ee({__name:"ConfirmDialogHost",setup(e){const{current:t,busy:n,settle:s,runAction:o}=xo();function i(){o()}return(u,p)=>(l(),W(BW,{open:a(t)!==null,title:a(t)?.title??"",message:a(t)?.message,"confirm-label":a(t)?.confirmLabel,"cancel-label":a(t)?.cancelLabel,variant:a(t)?.variant,loading:a(n),onConfirm:i,onCancel:p[0]||(p[0]=f=>a(s)(!1))},null,8,["open","title","message","confirm-label","cancel-label","variant","loading"]))}}),RW={class:"rows"},DW={class:"row"},OW={class:"row"},zW={class:"row"},FW={class:"row"},NW={class:"row"},WW={class:"row"},qW={class:"row"},HW={class:"ctx-text"},UW={key:0,class:"bar"},VW={class:"row"},jW=Ee({__name:"StatusPanel",props:{status:{},thinking:{},planMode:{type:Boolean},swarmMode:{type:Boolean},supermoonMode:{type:Boolean},costUsd:{}},emits:["close"],setup(e,{emit:t}){const{t:n}=Ye(),s=e,o=t,i=x(!0),u=M(()=>s.status.ctxMax<=0?0:Math.min(100,Math.max(0,Math.ceil(s.status.ctxUsed/s.status.ctxMax*100)))),p=M(()=>s.status.ctxMax>0?n("status.statusContextValue",{used:cs(s.status.ctxUsed),max:cs(s.status.ctxMax),pct:u.value}):n("status.statusNone"));function f(g){return n(g==="yolo"?"status.permissionYolo":g==="auto"?"status.permissionAuto":"status.permissionManual")}const v=M(()=>{const g=s.status.permission;return g==="yolo"?"var(--color-warning)":g==="auto"?"var(--color-danger)":"var(--color-text)"}),k=M(()=>s.planMode?n("status.planOn"):n("status.planOff")),T=M(()=>s.swarmMode?n("status.swarmOn"):n("status.swarmOff")),h=M(()=>s.supermoonMode?n("status.supermoonOn"):n("status.supermoonOff")),m=M(()=>typeof s.costUsd=="number"&&s.costUsd>0),$=M(()=>m.value?`$${s.costUsd.toFixed(4)}`:n("status.statusNone"));return(g,y)=>(l(),W(ds,{open:i.value,"onUpdate:open":y[0]||(y[0]=S=>i.value=S),title:a(n)("status.statusPanelTitle"),onClose:y[1]||(y[1]=S=>o("close"))},{default:R(()=>[r("dl",RW,[r("div",DW,[r("dt",null,d(a(n)("status.statusModel")),1),r("dd",null,d(e.status.model),1)]),r("div",OW,[r("dt",null,d(a(n)("status.statusThinking")),1),r("dd",null,d(e.thinking),1)]),r("div",zW,[r("dt",null,d(a(n)("status.statusPermission")),1),r("dd",{style:gt({color:v.value})},d(f(e.status.permission)),5)]),r("div",FW,[r("dt",null,d(a(n)("status.statusPlanMode")),1),r("dd",{class:pe({"plan-on":e.planMode})},d(k.value),3)]),r("div",NW,[r("dt",null,d(a(n)("status.statusSwarmMode")),1),r("dd",{class:pe({"swarm-on":e.swarmMode})},d(T.value),3)]),r("div",WW,[r("dt",null,d(a(n)("status.statusSupermoonMode")),1),r("dd",{class:pe({"supermoon-on":e.supermoonMode})},d(h.value),3)]),r("div",qW,[r("dt",null,d(a(n)("status.statusContext")),1),r("dd",null,[r("span",HW,d(p.value),1),e.status.ctxMax>0?(l(),c("span",UW,[r("i",{style:gt({width:u.value+"%"})},null,4)])):I("",!0)])]),r("div",VW,[r("dt",null,d(a(n)("status.statusCost")),1),r("dd",null,d($.value),1)])])]),_:1},8,["open","title"]))}}),KW=Le(jW,[["__scopeId","data-v-5ba9ba29"]]),GW={class:"ui-toast__icon","aria-hidden":"true"},QW={class:"ui-toast__body"},YW={class:"ui-toast__title"},ZW={key:0,class:"ui-toast__msg"},XW=Ee({__name:"Toast",props:{variant:{default:"info"},title:{},message:{},dismissLabel:{default:"Dismiss"}},emits:["dismiss"],setup(e){return(t,n)=>(l(),c("div",{class:pe(["ui-toast",`ui-toast--${e.variant}`])},[r("span",GW,[Pt(t.$slots,"icon",{},()=>[e.variant==="success"?(l(),W(X,{key:0,name:"check"})):e.variant==="danger"?(l(),W(X,{key:1,name:"close"})):e.variant==="warning"?(l(),W(X,{key:2,name:"alert-triangle"})):(l(),W(X,{key:3,name:"info"}))],!0)]),r("div",QW,[r("div",YW,d(e.title),1),e.message?(l(),c("div",ZW,d(e.message),1)):I("",!0),Pt(t.$slots,"default",{},void 0,!0)]),w(rt,{class:"ui-toast__close",size:"sm",label:e.dismissLabel,onClick:n[0]||(n[0]=s=>t.$emit("dismiss"))},{default:R(()=>[w(X,{name:"close",size:"sm"})]),_:1},8,["label"])],2))}}),Sp=Le(XW,[["__scopeId","data-v-adc6f346"]]),JW={key:0,class:"actions"},eq=["onClick"],tq=["onClick"],nq={key:1,class:"details"},sq=Ee({__name:"WarningToasts",props:{warnings:{}},emits:["dismiss"],setup(e,{emit:t}){const n=e,s=t,{t:o}=Ye();function i(_){return typeof _=="object"&&_!==null}function u(_){return i(_)?_.title:_}function p(_){return i(_)?_.message??"":""}function f(_){return i(_)?_.details:void 0}function v(_){return i(_)?_.severity==="error":_.startsWith(`${o("warnings.errorLabel")}:`)||/\b4\d\d\b|error|失败|failed/i.test(_)}function k(_){if(!i(_))return v(_)?"danger":"warning";switch(_.severity){case"error":return"danger";case"success":return"success";case"info":return"info";default:return"warning"}}function T(_){return i(_)&&_.sticky===!0}function h(_){return i(_)?`notice:${_.severity}:${_.title}:${_.message??""}:${JSON.stringify(_.details??[])}`:`text:${_}`}function m(_){if(!i(_))return _;const z=[_.title];_.message&&z.push(_.message);const D=_.details??[];if(D.length>0){z.push("",`${o("warnings.diagnostics")}:`);for(const ee of D)z.push(`${ee.label}: ${ee.value}`)}return z.join(`
-`)}let $=1;const g=x([]),y=new Map,S=new Map;function B(_){const z=v(_)?12e3:6e3;return typeof window<"u"&&window.matchMedia?.("(hover: none)").matches===!0?z+5e3:z}function b(_,z){const D=y.get(_)??{handle:null,deadline:0,remaining:0};D.handle=setTimeout(()=>V(_),z),D.deadline=Date.now()+z,y.set(_,D)}function P(_){const z=y.get(_);z&&z.handle!==null&&clearTimeout(z.handle),y.delete(_)}function E(_){const z=y.get(_);!z||z.handle===null||(clearTimeout(z.handle),z.handle=null,z.remaining=Math.max(0,z.deadline-Date.now()))}function L(_){if(g.value.find(ee=>ee.id===_)?.detailsOpen)return;const D=y.get(_);!D||D.handle!==null||b(_,D.remaining)}function N(_){_.detailsOpen=!_.detailsOpen,_.detailsOpen?E(_.id):L(_.id)}async function Q(_){if(!await ln(m(_.warning)))return;_.copied=!0;const D=S.get(_.id);D&&clearTimeout(D),S.set(_.id,setTimeout(()=>{_.copied=!1,S.delete(_.id)},1400))}function V(_){P(_);const z=S.get(_);z&&clearTimeout(z),S.delete(_);const D=g.value.findIndex(ee=>ee.id===_);D!==-1&&(g.value=g.value.filter(ee=>ee.id!==_),s("dismiss",D))}return Ne(()=>n.warnings,_=>{const z=[...g.value];g.value=_.map(D=>{const ee=h(D),me=z.findIndex(ie=>ie.key===ee),ve=me===-1?void 0:z.splice(me,1)[0];if(ve)return ve.warning=D,ve;const Be={id:$++,key:ee,warning:D,detailsOpen:!1,copied:!1};return T(D)||b(Be.id,B(D)),Be});for(const D of z){P(D.id);const ee=S.get(D.id);ee&&clearTimeout(ee),S.delete(D.id)}},{immediate:!0,flush:"post"}),St(()=>{y.forEach(_=>{_.handle!==null&&clearTimeout(_.handle)}),y.clear(),S.forEach(_=>clearTimeout(_)),S.clear()}),(_,z)=>(l(),W(sc,{name:"toast",tag:"div",class:"toasts",role:"status","aria-live":"polite"},{default:R(()=>[(l(!0),c(ce,null,Pe(g.value,D=>(l(),W(Sp,{key:D.id,variant:k(D.warning),title:u(D.warning),message:p(D.warning),"dismiss-label":a(o)("warnings.dismiss"),onDismiss:ee=>V(D.id),onPointerenter:ee=>E(D.id),onPointerleave:ee=>L(D.id)},{default:R(()=>[f(D.warning)?.length?(l(),c("div",JW,[r("button",{class:"link",type:"button",onClick:ee=>N(D)},d(D.detailsOpen?a(o)("warnings.hideDetails"):a(o)("warnings.showDetails")),9,eq),r("button",{class:"link",type:"button",onClick:ee=>Q(D)},d(D.copied?a(o)("warnings.copied"):a(o)("warnings.copyDetails")),9,tq)])):I("",!0),D.detailsOpen&&f(D.warning)?.length?(l(),c("dl",nq,[(l(!0),c(ce,null,Pe(f(D.warning),ee=>(l(),c("div",{key:`${ee.label}:${ee.value}`,class:"detail-row"},[r("dt",null,d(ee.label),1),r("dd",null,d(ee.value),1)]))),128))])):I("",!0)]),_:2},1032,["variant","title","message","dismiss-label","onDismiss","onPointerenter","onPointerleave"]))),128))]),_:1}))}}),oq=Le(sq,[["__scopeId","data-v-c92be17a"]]),iq={class:"tn-meta"},aq={key:0,class:"tn-bytes"},lq={key:1,class:"tn-truncated"},rq={key:0,class:"tn-preview"},uq=["disabled","onClick"],cq=8e3,dq=Ee({__name:"TaskNoticeStack",props:{notices:{}},emits:["dismiss"],setup(e,{emit:t}){const n=e,s=t,{t:o}=Ye(),i=x(new Set),u=new Map,p=new Map;function f(h){u.has(h)||u.set(h,setTimeout(()=>{u.delete(h),s("dismiss",h)},cq))}function v(h){const m=u.get(h);m!==void 0&&clearTimeout(m),u.delete(h)}Ne(()=>n.notices,h=>{for(const m of h)f(m.taskId)},{immediate:!0});async function k(h){if(!await ln(h.view.outputPreview)||!h.view.outputPreview)return;const $=new Set(i.value);$.add(h.taskId),i.value=$;const g=p.get(h.taskId);g&&clearTimeout(g),p.set(h.taskId,setTimeout(()=>{const y=new Set(i.value);y.delete(h.taskId),i.value=y,p.delete(h.taskId)},1400))}function T(h){v(h.taskId),s("dismiss",h.taskId)}return St(()=>{u.forEach(h=>clearTimeout(h)),u.clear(),p.forEach(h=>clearTimeout(h)),p.clear()}),(h,m)=>(l(),W(sc,{name:"tn",tag:"div",class:"task-notices",role:"status","aria-live":"polite"},{default:R(()=>[(l(!0),c(ce,null,Pe(e.notices,$=>(l(),W(Sp,{key:$.taskId,variant:"success",title:$.view.summary,"dismiss-label":a(o)("warnings.dismiss"),onDismiss:g=>T($),onPointerenter:g=>v($.taskId),onPointerleave:g=>f($.taskId)},{default:R(()=>[r("div",iq,[r("span",null,d(a(o)("tasks.noticeTitle")),1),$.view.outputBytes!==void 0?(l(),c("span",aq,d($.view.outputBytes)+" B ",1)):I("",!0),$.view.outputTruncated?(l(),c("span",lq," · "+d(a(o)("tasks.noticeOutputTruncated")),1)):I("",!0)]),$.view.outputPreview?(l(),c("pre",rq,d($.view.outputPreview),1)):I("",!0),$.view.outputPreview?(l(),c("button",{key:1,class:"tn-copy",type:"button",disabled:i.value.has($.taskId),onClick:g=>k($)},d(i.value.has($.taskId)?a(o)("tasks.copied"):a(o)("tasks.noticeCopyOutput")),9,uq)):I("",!0)]),_:2},1032,["title","dismiss-label","onDismiss","onPointerenter","onPointerleave"]))),128))]),_:1}))}}),pq=Le(dq,[["__scopeId","data-v-83335bbd"]]),fq={class:"topbar"},mq={class:"wsq"},vq=["aria-label"],gq={class:"tb-path"},hq={class:"ws"},yq={class:"se"},kq={class:"tb-sub"},bq=Ee({__name:"MobileTopBar",props:{workspace:{default:null},sessionTitle:{default:""},running:{type:Boolean,default:!1},branch:{default:""},sessionCount:{default:0}},emits:["openSwitcher","openSettings"],setup(e,{emit:t}){const{t:n}=Ye(),s=e,o=t,i=M(()=>{const f=s.workspace,k=(f?.name||f?.root||"").trim().charAt(0);return k?k.toUpperCase():"K"}),u=M(()=>s.workspace?.name??n("workspace.noWorkspace")),p=M(()=>s.running?n("mobile.running"):n("mobile.idle"));return(f,v)=>(l(),c("div",fq,[r("span",mq,d(i.value),1),r("button",{type:"button",class:"tb-mid","aria-label":a(n)("mobile.openSwitcher"),onClick:v[0]||(v[0]=k=>o("openSwitcher"))},[r("span",gq,[r("span",hq,d(u.value),1),e.sessionTitle?(l(),c(ce,{key:0},[v[2]||(v[2]=r("span",{class:"sl"},"/",-1)),r("span",yq,d(e.sessionTitle),1)],64)):I("",!0),v[3]||(v[3]=r("span",{class:"cv"},"⌄",-1))]),r("span",kq,[r("span",{class:pe(["rd",{on:e.running}])},null,2),r("span",null,d(p.value),1),e.branch?(l(),c(ce,{key:0},[te(" · "+d(e.branch),1)],64)):I("",!0),e.sessionCount>0?(l(),c(ce,{key:1},[te(" · "+d(a(n)("mobile.sessionCount",{n:e.sessionCount})),1)],64)):I("",!0)])],8,vq),w(rt,{size:"lg",label:a(n)("mobile.openSettings"),onClick:v[1]||(v[1]=k=>o("openSettings"))},{default:R(()=>[w(X,{name:"sliders",size:"lg"})]),_:1},8,["label"])]))}}),wq=Le(bq,[["__scopeId","data-v-6b4b901f"]]);function Sq(e){const t=new Set,n=[];for(const s of e)for(const o of s.sessions)t.has(o.id)||(t.add(o.id),n.push(o));return n}const Cq={class:"mtabs"},_q={key:0,class:"mlist"},Mq={key:0,class:"mempty"},$q=["onClick"],Tq={class:"m"},xq={class:"s"},Iq={key:0,class:"att"},Aq={key:1,class:"mlist"},Pq={key:0,class:"mempty"},Eq=["onClick"],Bq={class:"mgh-main"},Lq={class:"mgh-name"},Rq={class:"mgh-path"},Dq={key:2,class:"att"},Oq={key:0,class:"mempty small"},zq=["onClick"],Fq={class:"m"},Nq={class:"s"},Wq={key:0,class:"att"},qq=["disabled","onClick"],Hq=["onClick"],Uq=Ee({__name:"MobileSwitcherSheet",props:{modelValue:{type:Boolean},groups:{},activeWorkspaceId:{default:null},activeId:{},attentionBySession:{default:()=>({})},attentionByWorkspace:{default:()=>({})}},emits:["update:modelValue","select","create","createInWorkspace","addWorkspace","rename","archive","deleteWorkspace","loadMore"],setup(e,{emit:t}){const{t:n}=Ye(),s=e,o=t,i=x("workspace");function u(){o("update:modelValue",!1)}function p(ee){o("select",ee),u()}function f(ee){o("createInWorkspace",ee),u()}function v(){o("create"),u()}function k(){o("addWorkspace"),u()}const T=x([]);Ne(()=>s.groups,()=>{T.value=Sq(s.groups)},{immediate:!0});const h=x(new Set);function m(ee){return h.value.has(ee)}function $(ee){const me=new Set(h.value);me.has(ee)?me.delete(ee):me.add(ee),h.value=me,E.value=null,V.value=null}const g=x(new Set);function y(ee){return g.value.has(ee)}function S(ee){const me=new Set(g.value);me.has(ee)?me.delete(ee):me.add(ee),g.value=me}function B(ee){if(y(ee.workspace.id))return ee.sessions;const me=ee.sessions.slice(0,ee.initialCount);if(s.activeId&&!me.some(ve=>ve.id===s.activeId)){const ve=ee.sessions.find(Be=>Be.id===s.activeId);if(ve)return[...me,ve]}return me}function b(ee){if(!g.value.has(ee)){const me=new Set(g.value);me.add(ee),g.value=me}o("loadMore",ee)}function P(ee){return s.attentionByWorkspace[ee]??0}const E=x(null);function L(ee){E.value=E.value===ee?null:ee,V.value=null}function N(ee){E.value=null;const ve=(typeof window<"u"?window.prompt(n("sidebar.rename"),ee.title):null)?.trim();ve&&o("rename",ee.id,ve)}function Q(ee){E.value=null,o("archive",ee)}const V=x(null);function _(ee){V.value=V.value===ee?null:ee,E.value=null}function z(ee){ln(ee.root),V.value=null}function D(ee){V.value=null,o("deleteWorkspace",ee.id)}return(ee,me)=>(l(),W(No,{"model-value":e.modelValue,"onUpdate:modelValue":me[4]||(me[4]=ve=>o("update:modelValue",ve))},{default:R(()=>[r("button",{type:"button",class:"newrow",onClick:v},[w(X,{name:"message",size:"sm"}),te(" "+d(a(n)("sidebar.newChat")),1)]),r("button",{type:"button",class:"newrow secondary",onClick:k},[w(X,{name:"folder",size:"sm"}),te(" "+d(a(n)("sidebar.newWorkspace")),1)]),r("div",Cq,[w(vn,{"model-value":i.value,options:[{value:"flat",label:a(n)("mobile.flatTab")},{value:"workspace",label:a(n)("mobile.workspaceTab")}],"onUpdate:modelValue":me[0]||(me[0]=ve=>i.value=ve)},null,8,["model-value","options"])]),i.value==="flat"?(l(),c("div",_q,[T.value.length===0?(l(),c("div",Mq,d(a(n)("mobile.noFlatSessions")),1)):I("",!0),(l(!0),c(ce,null,Pe(T.value,ve=>(l(),c("div",{key:ve.id,class:pe(["srow",{cur:ve.id===e.activeId}]),onClick:Be=>p(ve.id)},[r("div",Tq,[r("div",{class:pe(["t",{run:ve.busy,aborted:!ve.busy&&(e.attentionBySession[ve.id]??0)===0&&a(Qa)(ve)}])},d(ve.title),3),r("div",xq,d(ve.time),1)]),(e.attentionBySession[ve.id]??0)>0?(l(),c("span",Iq,d(e.attentionBySession[ve.id]),1)):I("",!0),w(rt,{size:"lg",class:"kb",label:a(n)("sidebar.options"),onClick:De(Be=>L(ve.id),["stop"])},{default:R(()=>[w(X,{name:"dots-horizontal",size:"md"})]),_:1},8,["label","onClick"]),E.value===ve.id?(l(),W(Nn,{key:1,class:"kmenu",onClick:me[1]||(me[1]=De(()=>{},["stop"]))},{default:R(()=>[w(nt,{size:"lg",onClick:Be=>N(ve)},{default:R(()=>[te(d(a(n)("sidebar.rename")),1)]),_:1},8,["onClick"]),w(nt,{size:"lg",danger:"",onClick:Be=>Q(ve.id)},{default:R(()=>[te(d(a(n)("sidebar.archive")),1)]),_:1},8,["onClick"])]),_:2},1024)):I("",!0)],10,$q))),128))])):(l(),c("div",Aq,[e.groups.length===0?(l(),c("div",Pq,d(a(n)("workspace.noWorkspace")),1)):I("",!0),(l(!0),c(ce,null,Pe(e.groups,ve=>(l(),c("div",{key:ve.workspace.id,class:"mgroup"},[r("div",{class:pe(["mgh",{on:ve.workspace.id===e.activeWorkspaceId}]),onClick:Be=>$(ve.workspace.id)},[m(ve.workspace.id)?(l(),W(X,{key:0,class:"mgh-folder",name:"folder-closed",size:"sm"})):(l(),W(X,{key:1,class:"mgh-folder",name:"folder",size:"sm"})),r("div",Bq,[r("span",Lq,d(ve.workspace.name),1),w(ht,{text:ve.workspace.root},{default:R(()=>[r("span",Rq,d(ve.workspace.shortPath),1)]),_:2},1032,["text"])]),m(ve.workspace.id)&&P(ve.workspace.id)>0?(l(),c("span",Dq,d(P(ve.workspace.id)),1)):I("",!0),w(rt,{size:"lg",class:"mgh-more",label:a(n)("sidebar.options"),onClick:De(Be=>_(ve.workspace.id),["stop"])},{default:R(()=>[w(X,{name:"dots-horizontal",size:"md"})]),_:1},8,["label","onClick"]),w(rt,{size:"lg",class:"mgh-add",label:a(n)("workspace.newInGroup"),onClick:De(Be=>f(ve.workspace.id),["stop"])},{default:R(()=>[w(X,{name:"plus",size:"md"})]),_:1},8,["label","onClick"]),V.value===ve.workspace.id?(l(),W(Nn,{key:3,class:"kmenu wsmenu",onClick:me[2]||(me[2]=De(()=>{},["stop"]))},{default:R(()=>[w(nt,{size:"lg",onClick:Be=>z(ve.workspace)},{default:R(()=>[te(d(a(n)("sidebar.copyPath")),1)]),_:1},8,["onClick"]),w(nt,{size:"lg",danger:"",onClick:Be=>D(ve.workspace)},{default:R(()=>[te(d(a(n)("sidebar.delete")),1)]),_:1},8,["onClick"])]),_:2},1024)):I("",!0)],10,Eq),bt(r("div",null,[ve.sessions.length===0?(l(),c("div",Oq,d(a(n)("sidebar.noSessions")),1)):I("",!0),(l(!0),c(ce,null,Pe(B(ve),Be=>(l(),c("div",{key:Be.id,class:pe(["srow",{cur:Be.id===e.activeId}]),onClick:ie=>p(Be.id)},[r("div",Fq,[r("div",{class:pe(["t",{run:Be.busy,aborted:!Be.busy&&(e.attentionBySession[Be.id]??0)===0&&a(Qa)(Be)}])},d(Be.title),3),r("div",Nq,d(Be.time),1)]),(e.attentionBySession[Be.id]??0)>0?(l(),c("span",Wq,d(e.attentionBySession[Be.id]),1)):I("",!0),w(rt,{size:"lg",class:"kb",label:a(n)("sidebar.options"),onClick:De(ie=>L(Be.id),["stop"])},{default:R(()=>[w(X,{name:"dots-horizontal",size:"md"})]),_:1},8,["label","onClick"]),E.value===Be.id?(l(),W(Nn,{key:1,class:"kmenu",onClick:me[3]||(me[3]=De(()=>{},["stop"]))},{default:R(()=>[w(nt,{size:"lg",onClick:ie=>N(Be)},{default:R(()=>[te(d(a(n)("sidebar.rename")),1)]),_:1},8,["onClick"]),w(nt,{size:"lg",danger:"",onClick:ie=>Q(Be.id)},{default:R(()=>[te(d(a(n)("sidebar.archive")),1)]),_:1},8,["onClick"])]),_:2},1024)):I("",!0)],10,zq))),128)),ve.hasMore||ve.loadingMore?(l(),c("button",{key:1,type:"button",class:"mshow-more",disabled:ve.loadingMore,onClick:De(Be=>b(ve.workspace.id),["stop"])},d(ve.loadingMore?a(n)("sidebar.loadingMore"):a(n)("sidebar.showMore",{count:Math.max(0,ve.workspace.sessionCount-ve.sessions.length)})),9,qq)):I("",!0),ve.sessions.length>ve.initialCount?(l(),c("button",{key:2,type:"button",class:"mshow-more",onClick:De(Be=>S(ve.workspace.id),["stop"])},d(y(ve.workspace.id)?a(n)("sidebar.showLess"):a(n)("sidebar.showAll",{count:ve.sessions.length-ve.initialCount})),9,Hq)):I("",!0)],512),[[Un,!m(ve.workspace.id)]])]))),128))]))]),_:1},8,["model-value"]))}}),Vq=Le(Uq,[["__scopeId","data-v-0640251a"]]),jq={class:"group-title"},Kq={class:"srow-main"},Gq={class:"srow-label"},Qq={class:"srow-sub"},Yq={class:"srow read-only"},Zq={class:"srow-main"},Xq={class:"srow-label"},Jq={key:0,class:"srow-sub"},eH={class:"cache-note"},tH={class:"srow-main"},nH={class:"srow-label"},sH={class:"srow-sub"},oH=["aria-checked"],iH={class:"srow-main"},aH={class:"srow-label"},lH={class:"srow-sub"},rH=["aria-checked"],uH={class:"srow-main"},cH={class:"srow-label"},dH={class:"srow-sub"},pH=["aria-checked"],fH={class:"srow-main"},mH={class:"srow-label"},vH={class:"srow-sub"},gH=["aria-checked"],hH={class:"srow-main"},yH={class:"srow-label"},kH={class:"srow read-only"},bH={class:"srow-main"},wH={class:"srow-label"},SH={class:"srow-sub"},CH=["aria-label"],_H={class:"group-title"},MH={class:"srow-main"},$H={class:"srow-label"},TH={class:"srow-sub"},xH={class:"srow read-only pref"},IH={class:"srow-main"},AH={class:"srow-label"},PH={class:"srow read-only pref"},EH={class:"srow-main"},BH={class:"srow-label"},LH={class:"srow read-only pref"},RH={class:"srow-main"},DH={class:"srow-label"},OH={class:"num-field"},zH=["value","aria-label"],FH={class:"srow-main"},NH={class:"srow-label"},WH={class:"srow-sub"},qH=["aria-checked"],HH={class:"srow-main"},UH={class:"srow-label"},VH={class:"srow-sub"},jH=["aria-checked"],KH={class:"srow-main"},GH={class:"srow-label"},QH={class:"srow-main"},YH={class:"srow-label"},ZH={key:2,class:"srow read-only"},XH={class:"srow-main"},JH={class:"srow-label"},eU={class:"srow-val dim"},tU={class:"arch-subhead"},nU={class:"arch-count"},sU={class:"arch-tools"},oU={key:0,class:"arch-empty"},iU={class:"arch-meta"},aU={class:"arch-name"},lU={class:"arch-time"},rU={key:2,class:"arch-empty"},uU=100,cU=Ee({__name:"MobileSettingsSheet",props:{modelValue:{type:Boolean},status:{},thinking:{},planMode:{type:Boolean},goalMode:{type:Boolean},swarmMode:{type:Boolean},supermoonMode:{type:Boolean},colorScheme:{default:"system"},uiFontSize:{default:14},authReady:{type:Boolean,default:!1},kimiOauthEnabled:{type:Boolean,default:!1},conversationToc:{type:Boolean},taskNotices:{type:Boolean},serverVersion:{default:""},models:{default:()=>[]}},emits:["update:modelValue","pickModel","setThinking","togglePlan","toggleGoal","toggleSwarm","toggleSupermoon","setPermission","setColorScheme","setUiFontSize","setConversationToc","setTaskNotices","login","logout"],setup(e,{emit:t}){const{t:n}=Ye(),s=e,o=t;function i(re){o("setColorScheme",re)}const u=["manual","yolo","auto"],p=M(()=>s.models?.find(re=>re.id===s.status?.modelId)),f=M(()=>aa(p.value)),v=M(()=>la(p.value)),k=M(()=>ui(p.value,s.thinking)),T=M(()=>v.value.includes(k.value)?k.value:""),h=M(()=>v.value.map(re=>({value:re,label:al(re)}))),m=M(()=>s.planMode===!0),$=M(()=>s.goalMode===!0),g=M(()=>s.swarmMode===!0),y=M(()=>s.supermoonMode===!0),S=M(()=>{const re=s.status.permission;return re==="yolo"?"var(--color-warning)":re==="auto"?"var(--color-danger)":"var(--color-text-muted)"}),B=M(()=>{const re=s.status.permission,F=n(re==="yolo"?"mobile.permYoloSub":re==="auto"?"mobile.permAutoSub":"mobile.permManualSub");return`${re} · ${F}`}),b=M(()=>s.status.ctxMax>0?Math.min(100,Math.max(0,Math.ceil(s.status.ctxUsed/s.status.ctxMax*100))):0),P=M(()=>s.status.ctxMax>0?`${cs(s.status.ctxUsed)}/${cs(s.status.ctxMax)}`:n("status.statusNone"));function E(re){o("setThinking",jl(p.value,re))}function L(){const re=u.indexOf(s.status.permission),F=u[(re+1)%u.length];o("setPermission",F)}function N(){o("pickModel"),o("update:modelValue",!1)}function Q(){o("login"),o("update:modelValue",!1)}function V(){o("logout"),o("update:modelValue",!1)}const _=yi(),z=x("main"),D=x([]),ee=x(!1),me=x(!1),ve=x(""),Be=x("archived-desc");async function ie(){if(!ee.value){ee.value=!0,me.value=!1;try{const re=[];let F;for(;;){const Z=await _.loadArchivedSessions({beforeId:F,pageSize:uU});if(re.push(...Z.items),!Z.hasMore||Z.items.length===0)break;const ke=Z.items.at(-1)?.id;if(ke===void 0)break;F=ke}D.value=re,me.value=!0}catch(re){console.warn("loadAllArchived failed",re)}finally{ee.value=!1}}}function le(){z.value="archived",ve.value="",ie()}function ne(){z.value="main"}const ae=M(()=>{const re=ve.value.trim().toLowerCase();let F=D.value.filter(Z=>Z.archived===!0);return re&&(F=F.filter(Z=>Z.title.toLowerCase().includes(re))),F=F.slice(),Be.value==="archived-desc"?F.sort((Z,ke)=>ke.updatedAt.localeCompare(Z.updatedAt)):Be.value==="created-desc"?F.sort((Z,ke)=>ke.createdAt.localeCompare(Z.createdAt)):F.sort((Z,ke)=>Z.title.localeCompare(ke.title,"zh")),F});async function se(re){await _.restoreSession(re)&&(D.value=D.value.filter(Z=>Z.id!==re))}function ge(re){const F=new Date(re);if(Number.isNaN(F.getTime()))return re;const Z=ke=>String(ke).padStart(2,"0");return`${F.getFullYear()}-${Z(F.getMonth()+1)}-${Z(F.getDate())} ${Z(F.getHours())}:${Z(F.getMinutes())}`}return Ne(()=>s.modelValue,re=>{re||(z.value="main")}),(re,F)=>(l(),W(No,{"model-value":e.modelValue,title:a(n)("mobile.settingsTitle"),"onUpdate:modelValue":F[9]||(F[9]=Z=>o("update:modelValue",Z))},{default:R(()=>[z.value==="main"?(l(),c(ce,{key:0},[r("div",jq,d(a(n)("mobile.groupSession")),1),r("button",{type:"button",class:"srow",onClick:N},[r("span",Kq,[r("span",Gq,d(a(n)("status.statusModel")),1),r("span",Qq,d(e.status.model),1)]),F[10]||(F[10]=r("span",{class:"chev"},"›",-1))]),r("div",Yq,[r("span",Zq,[r("span",Xq,d(a(n)("status.statusThinking")),1),f.value==="unsupported"?(l(),c("span",Jq,d(a(n)("status.modeNotSupported")),1)):I("",!0)]),v.value.length>1?(l(),W(vn,{key:0,"model-value":T.value,options:h.value,size:"sm","onUpdate:modelValue":E},null,8,["model-value","options"])):(l(),c("span",{key:1,class:pe(["srow-val",{dim:k.value==="off"}])},d(k.value==="off"?a(n)("status.planOff"):a(al)(k.value)),3))]),r("div",eH,d(a(n)("status.cacheNote")),1),r("button",{type:"button",class:"srow",onClick:F[0]||(F[0]=Z=>o("togglePlan"))},[r("span",tH,[r("span",nH,d(a(n)("status.statusPlanMode")),1),r("span",sH,d(a(n)("mobile.planModeSub")),1)]),r("span",{class:pe(["toggle",{on:m.value}]),role:"switch","aria-checked":m.value},null,10,oH)]),r("button",{type:"button",class:"srow",onClick:F[1]||(F[1]=Z=>o("toggleSwarm"))},[r("span",iH,[r("span",aH,d(a(n)("status.statusSwarmMode")),1),r("span",lH,d(a(n)("mobile.swarmModeSub")),1)]),r("span",{class:pe(["toggle",{on:g.value}]),role:"switch","aria-checked":g.value},null,10,rH)]),r("button",{type:"button",class:"srow",onClick:F[2]||(F[2]=Z=>o("toggleSupermoon"))},[r("span",uH,[r("span",cH,d(a(n)("status.statusSupermoonMode")),1),r("span",dH,d(a(n)("mobile.supermoonModeSub")),1)]),r("span",{class:pe(["toggle",{on:y.value}]),role:"switch","aria-checked":y.value},null,10,pH)]),r("button",{type:"button",class:"srow",onClick:F[3]||(F[3]=Z=>o("toggleGoal"))},[r("span",fH,[r("span",mH,d(a(n)("status.statusGoalMode")),1),r("span",vH,d(a(n)("mobile.goalModeSub")),1)]),r("span",{class:pe(["toggle",{on:$.value}]),role:"switch","aria-checked":$.value},null,10,gH)]),r("button",{type:"button",class:"srow",onClick:L},[r("span",hH,[r("span",yH,d(a(n)("status.statusPermission")),1),r("span",{class:"srow-sub",style:gt({color:S.value})},d(B.value),5)]),F[11]||(F[11]=r("span",{class:"chev"},"›",-1))]),r("div",kH,[r("span",bH,[r("span",wH,d(a(n)("status.statusContext")),1),r("span",SH,d(P.value),1)]),r("span",{class:"ctx-meter","aria-label":P.value},[r("i",{style:gt({width:b.value+"%"})},null,4)],8,CH)]),r("div",_H,d(a(n)("mobile.groupApp")),1),r("button",{type:"button",class:"srow",onClick:le},[r("span",MH,[r("span",$H,d(a(n)("mobile.archivedSessions")),1),r("span",TH,d(a(n)("mobile.archivedSessionsSub")),1)]),F[12]||(F[12]=r("span",{class:"chev"},"›",-1))]),r("div",xH,[r("span",IH,[r("span",AH,d(a(n)("theme.colorSchemeLabel")),1)]),w(vn,{"model-value":e.colorScheme??"system",options:[{value:"light",label:a(n)("theme.light")},{value:"dark",label:a(n)("theme.dark")},{value:"system",label:a(n)("theme.system")}],"onUpdate:modelValue":i},null,8,["model-value","options"])]),r("div",PH,[r("span",EH,[r("span",BH,d(a(n)("sidebar.language")),1)]),w(kp)]),r("div",LH,[r("span",RH,[r("span",DH,d(a(n)("settings.uiFontSize")),1)]),r("label",OH,[r("input",{class:"num-input",type:"number",min:"12",max:"20",step:"1",value:e.uiFontSize,"aria-label":a(n)("settings.uiFontSize"),onInput:F[4]||(F[4]=Z=>o("setUiFontSize",Number(Z.target.value)))},null,40,zH),F[13]||(F[13]=r("span",{class:"num-unit"},"px",-1))])]),r("button",{type:"button",class:"srow",onClick:F[5]||(F[5]=Z=>o("setConversationToc",!e.conversationToc))},[r("span",FH,[r("span",NH,d(a(n)("settings.conversationToc")),1),r("span",WH,d(a(n)("settings.conversationTocHint")),1)]),r("span",{class:pe(["toggle",{on:e.conversationToc}]),role:"switch","aria-checked":e.conversationToc},null,10,qH)]),r("button",{type:"button",class:"srow",onClick:F[6]||(F[6]=Z=>o("setTaskNotices",!e.taskNotices))},[r("span",HH,[r("span",UH,d(a(n)("settings.taskNotices")),1),r("span",VH,d(a(n)("settings.taskNoticesHint")),1)]),r("span",{class:pe(["toggle",{on:e.taskNotices}]),role:"switch","aria-checked":e.taskNotices},null,10,jH)]),e.authReady?(l(),c("button",{key:0,type:"button",class:"srow acct out",onClick:V},[r("span",KH,[r("span",GH,d(a(n)("sidebar.signOut")),1)])])):(l(),c("button",{key:1,type:"button",class:"srow acct in",onClick:Q},[r("span",QH,[r("span",YH,d(a(n)("sidebar.signIn")),1)])])),e.serverVersion?(l(),c("div",ZH,[r("span",XH,[r("span",JH,d(a(n)("settings.serverVersion")),1)]),r("span",eU,d(e.serverVersion),1)])):I("",!0)],64)):(l(),c(ce,{key:1},[r("div",tU,[r("button",{type:"button",class:"arch-back",onClick:ne},[F[14]||(F[14]=r("span",{class:"chev back"},"‹",-1)),te(" "+d(a(n)("mobile.archivedBack")),1)]),r("span",nU,d(a(n)("mobile.sessionCount",{n:ae.value.length})),1)]),r("div",sU,[w(Vn,{class:"arch-search-input","model-value":ve.value,size:"sm",placeholder:a(n)("settings.archivedSearch"),"onUpdate:modelValue":F[7]||(F[7]=Z=>ve.value=Z)},null,8,["model-value","placeholder"]),w(vn,{size:"sm","model-value":Be.value,options:[{value:"archived-desc",label:a(n)("settings.archivedSortArchived")},{value:"created-desc",label:a(n)("settings.archivedSortCreated")},{value:"name-asc",label:a(n)("settings.archivedSortName")}],"onUpdate:modelValue":F[8]||(F[8]=Z=>Be.value=Z)},null,8,["model-value","options"])]),ee.value?(l(),c("div",oU,d(a(n)("settings.archivedLoadingAll")),1)):ae.value.length>0?(l(!0),c(ce,{key:1},Pe(ae.value,Z=>(l(),c("div",{key:Z.id,class:"arch-row"},[r("div",iU,[r("div",aU,d(Z.title),1),r("div",lU,d(a(n)("settings.archivedAt",{time:ge(Z.updatedAt)})),1)]),w(je,{variant:"secondary",size:"sm",onClick:ke=>se(Z.id)},{default:R(()=>[te(d(a(n)("settings.archivedRestore")),1)]),_:1},8,["onClick"])]))),128)):(l(),c("div",rU,d(D.value.length===0?a(n)("settings.archivedEmpty"):a(n)("settings.archivedNoMatch")),1))],64))]),_:1},8,["model-value","title"]))}}),dU=Le(cU,[["__scopeId","data-v-12cc4ffa"]]),pU={class:"mmp"},fU={class:"search-wrap"},mU={key:0,class:"tab-strip"},vU={key:1,class:"state-row"},gU={key:2,class:"state-row unavail"},hU={key:3,class:"model-list"},yU=["aria-selected","onClick"],kU={class:"check"},bU={class:"model-main"},wU={class:"model-name"},SU={class:"model-id"},CU={key:0,class:"caps"},_U={class:"model-ctx"},MU={key:0,class:"empty"},$U=Ee({__name:"MobileModelPickerSheet",props:{modelValue:{type:Boolean},models:{},current:{},starredIds:{default:()=>[]},loading:{type:Boolean,default:!1},unavailable:{type:Boolean,default:!1}},emits:["update:modelValue","select","toggle-star","close"],setup(e,{emit:t}){const{t:n}=Ye(),s=e,o=t,i=M(()=>new Set(s.starredIds??[]));function u(m){return i.value.has(m)}const p=x(""),f=x("all"),v=M(()=>{const m=vp(s.models);return[{id:"all",label:n("model.allTab")},...m.map($=>({id:$,label:$}))]}),k=M(()=>gp(s.models,{query:p.value,activeTab:f.value,starredIds:s.starredIds??[]}));Ne(v,m=>{m.some($=>$.id===f.value)||(f.value="all")}),Ne(()=>s.modelValue,m=>{m&&(p.value="")});function T(m){o("select",m),o("update:modelValue",!1)}function h(){o("close"),o("update:modelValue",!1)}return(m,$)=>(l(),W(No,{"model-value":e.modelValue,title:a(n)("model.title"),"onUpdate:modelValue":$[1]||($[1]=g=>g?void 0:h())},{default:R(()=>[r("div",pU,[r("div",fU,[w(Vn,{modelValue:p.value,"onUpdate:modelValue":$[0]||($[0]=g=>p.value=g),placeholder:a(n)("model.searchPlaceholder"),autocomplete:"off",spellcheck:"false"},null,8,["modelValue","placeholder"])]),v.value.length>1?(l(),c("div",mU,[(l(!0),c(ce,null,Pe(v.value,g=>(l(),W(je,{key:g.id,variant:g.id===f.value?"secondary":"ghost",size:"sm",onClick:y=>f.value=g.id},{default:R(()=>[te(d(g.label),1)]),_:2},1032,["variant","onClick"]))),128))])):I("",!0),e.loading?(l(),c("div",vU,[w(Qt,{size:"sm"}),r("span",null,d(a(n)("model.loading")),1)])):e.unavailable?(l(),c("div",gU,[w(X,{name:"alert-triangle",size:"lg"}),r("span",null,d(a(n)("model.unavailable")),1)])):(l(),c("div",hU,[(l(!0),c(ce,null,Pe(k.value,g=>(l(),c("div",{key:g.id,class:pe(["model-row",{"is-current":g.id===e.current}]),role:"option","aria-selected":g.id===e.current,onClick:y=>T(g.id)},[r("span",kU,[g.id===e.current?(l(),W(X,{key:0,name:"check",size:"sm"})):I("",!0)]),r("span",bU,[r("span",wU,d(g.displayName??g.model),1),r("span",SU,d(g.id),1),g.capabilities&&g.capabilities.length>0?(l(),c("span",CU,[(l(!0),c(ce,null,Pe(g.capabilities,y=>(l(),W(Bt,{key:y,variant:"info",size:"sm"},{default:R(()=>[te(d(y),1)]),_:2},1024))),128))])):I("",!0)]),r("span",_U,d(a(n)("model.contextSuffix",{size:a(cs)(g.maxContextSize)})),1),w(rt,{size:"lg",label:u(g.id)?a(n)("model.unstarTitle"):a(n)("model.starTitle"),onClick:De(y=>o("toggle-star",g.id),["stop"])},{default:R(()=>[u(g.id)?(l(),W(X,{key:0,name:"star",size:"md"})):(l(),W(X,{key:1,name:"star-outline",size:"md"}))]),_:2},1032,["label","onClick"])],10,yU))),128)),k.value.length===0&&!e.loading&&!e.unavailable?(l(),c("div",MU,d(s.models.length===0?a(n)("model.emptyNoModels"):a(n)("model.emptyNoMatch")),1)):I("",!0)]))])]),_:1},8,["model-value","title"]))}}),TU=Le($U,[["__scopeId","data-v-67fc54be"]]),xU={class:"ob-brand"},IU={class:"ob-brand-text"},AU={class:"ob-title"},PU={class:"ob-sub"},EU={class:"ob-sec"},BU={class:"ob-label"},LU={class:"ob-sec"},RU={class:"ob-label"},DU={class:"ob-sec"},OU={class:"ob-label"},zU=Ee({__name:"Onboarding",emits:["complete","skip"],setup(e,{emit:t}){const n=t,{t:s,locale:o}=Ye(),{colorScheme:i,accent:u,setColorScheme:p,setAccent:f}=qc();function v(T){o.value!==T&&hc(T)}function k(){n("complete")}return(T,h)=>(l(),W(ds,{open:!0,size:"md","close-on-overlay":!1,"close-on-esc":!1,onClose:h[3]||(h[3]=m=>n("skip"))},{head:R(()=>[r("div",xU,[h[4]||(h[4]=r("svg",{class:"ob-logo",viewBox:"0 0 32 22",fill:"none",xmlns:"http://www.w3.org/2000/svg",role:"img","aria-label":"Kimi Code"},[r("defs",null,[r("mask",{id:"obKimiEyes",maskUnits:"userSpaceOnUse"},[r("rect",{x:"0",y:"0",width:"32",height:"22",fill:"#fff"}),r("g",{class:"ob-eyes",fill:"#000"},[r("rect",{class:"ob-eye",x:"11.8",y:"7",width:"2.8",height:"8",rx:"1.4"}),r("rect",{class:"ob-eye",x:"17.4",y:"7",width:"2.8",height:"8",rx:"1.4"})])])]),r("rect",{x:"1",y:"1",width:"30",height:"20",rx:"6",fill:"var(--color-accent)",mask:"url(#obKimiEyes)"})],-1)),r("div",IU,[r("div",AU,d(a(s)("onboarding.title")),1),r("div",PU,d(a(s)("onboarding.subtitle")),1)])])]),default:R(()=>[r("section",EU,[r("div",BU,d(a(s)("onboarding.languageLabel")),1),w(vn,{"model-value":a(o),options:a(gc).map(m=>({value:m.code,label:m.label})),"onUpdate:modelValue":h[0]||(h[0]=m=>v(m))},null,8,["model-value","options"])]),r("section",LU,[r("div",RU,d(a(s)("theme.colorSchemeLabel")),1),w(vn,{"model-value":a(i),options:[{value:"light",label:a(s)("theme.light")},{value:"dark",label:a(s)("theme.dark")},{value:"system",label:a(s)("theme.system")}],"onUpdate:modelValue":h[1]||(h[1]=m=>a(p)(m))},null,8,["model-value","options"])]),r("section",DU,[r("div",OU,d(a(s)("theme.accentLabel")),1),w(vn,{"model-value":a(u),options:[{value:"blue",label:a(s)("theme.accentBlue")},{value:"mono",label:a(s)("theme.accentBlack")}],"onUpdate:modelValue":h[2]||(h[2]=m=>a(f)(m))},null,8,["model-value","options"])]),w(je,{variant:"primary",size:"lg",class:"ob-start",onClick:k},{default:R(()=>[te(d(a(s)("onboarding.start")),1)]),_:1})]),_:1}))}}),FU=Le(zU,[["__scopeId","data-v-fbdd3eab"]]),NU=["aria-label"],WU={class:"gload-box"},qU={class:"gload-text"},HU={key:0,class:"gload-issue"},UU={class:"gload-issue-detail"},VU=Ee({__name:"GlobalLoading",props:{issue:{}},setup(e){const{t}=Ye();return(n,s)=>(l(),c("div",{class:"gload",role:"status","aria-label":a(t)("app.connecting")},[r("div",WU,[s[0]||(s[0]=Cl(' ',1)),w(Qt,{size:"md",label:a(t)("app.connecting")},null,8,["label"]),r("div",qU,d(a(t)("app.connecting")),1),e.issue?(l(),c("div",HU,[r("div",null,d(a(t)("app.connectRetrying")),1),r("div",UU,d(e.issue),1)])):I("",!0)])],8,NU))}}),jU=Le(VU,[["__scopeId","data-v-0b6dec6a"]]),KU={class:"kap-root"},GU={class:"kap-head"},QU={class:"kap-count"},YU={class:"kap-head-actions"},ZU={class:"kap-filters"},XU=["value"],JU={class:"kap-check"},eV={class:"kap-check"},tV={class:"kap-view-toggle",role:"group"},nV={key:0,class:"kap-empty"},sV=["onClick"],oV={class:"kap-ts"},iV={class:"kap-label"},aV={key:0,class:"kap-detail"},lV={class:"kap-detail-actions"},rV=["onClick"],uV={key:1,class:"kap-agg"},cV={class:"mono"},dV={class:"mono"},pV={class:"num"},fV={class:"num"},mV={key:0},vV={class:"mono"},gV={class:"num"},hV={class:"num"},yV={key:0},kV=Ee({__name:"KapDebugView",emits:["close"],setup(e,{emit:t}){const n=t,s=x("all"),o=x(""),i=x(""),u=x(!1),p=x("timeline"),f=M(()=>(xl.value,[...Dy()])),v=M(()=>{const V=new Set;for(const _ of f.value)_.sessionId&&V.add(_.sessionId);return[...V].sort()});function k(V){return V.kind==="rest:error"||V.code!==void 0&&V.code!==0||V.eventType==="error"||V.eventType==="parse-error"}const T=M(()=>{const V=o.value.trim().toLowerCase();return f.value.filter(_=>!(s.value!=="all"&&_.source!==s.value||i.value&&_.sessionId!==i.value||u.value&&!k(_)||V&&!`${_.label} ${_.kind} ${_.eventType??""} ${_.sessionId??""} ${_.requestId??""}`.toLowerCase().includes(V)))}),h=M(()=>{const V=new Map;for(const _ of T.value){if(_.kind!=="ws:in"&&_.kind!=="ws:out")continue;const z=_.kind==="ws:in"?"←":"→",D=`${z} ${_.eventType??"?"} @ ${_.sessionId??"-"}`,ee=V.get(D)??{key:D,sessionId:_.sessionId??"-",eventType:_.eventType??"?",dir:z,count:0};ee.count++,_.seq!==void 0&&(ee.lastSeq=_.seq),V.set(D,ee)}return[...V.values()].sort((_,z)=>z.count-_.count)}),m=M(()=>{const V=new Map;for(const _ of T.value){if(_.source!=="rest"||_.kind==="rest:request")continue;const z=`${_.method??"?"} ${_.path??"?"}`,D=V.get(z)??{count:0,errors:0,totalMs:0,timed:0};D.count++,k(_)&&D.errors++,_.durationMs!==void 0&&(D.totalMs+=_.durationMs,D.timed++),V.set(z,D)}return[...V.entries()].map(([_,z])=>({key:_,count:z.count,errors:z.errors,avgMs:z.timed>0?Math.round(z.totalMs/z.timed):0})).sort((_,z)=>z.count-_.count)}),$=x(null),g=x(!0),y=x(null),S=x(null);Ne(()=>T.value.length,async()=>{if(!g.value||p.value!=="timeline")return;await Ze();const V=y.value;V&&(V.scrollTop=V.scrollHeight)});function B(V){$.value=$.value===V?null:V}function b(V){const _=new Date(V),z=(D,ee=2)=>String(D).padStart(ee,"0");return`${z(_.getHours())}:${z(_.getMinutes())}:${z(_.getSeconds())}.${z(_.getMilliseconds(),3)}`}function P(V){return JSON.stringify(V,null,2)}async function E(V){await ln(P(V))&&(S.value=V.id,setTimeout(()=>{S.value===V.id&&(S.value=null)},1500))}function L(){bc(T.value)}function N(V){return k(V)||V.source==="client"?"b-err":V.source==="rest"?"b-rest":V.kind==="ws:lifecycle"?"b-life":V.kind==="ws:out"?"b-out":"b-in"}function Q(V){return V.source==="rest"?"REST":V.source==="client"?"APP":"WS"}return(V,_)=>(l(),c("section",KU,[r("header",GU,[_[11]||(_[11]=r("strong",null,"KAP debug",-1)),r("span",QU,d(T.value.length)+"/"+d(f.value.length),1),r("div",YU,[r("button",{type:"button",class:pe({on:a(ti)}),onClick:_[0]||(_[0]=z=>ti.value=!a(ti))},d(a(ti)?"resume":"pause"),3),r("button",{type:"button",onClick:_[1]||(_[1]=z=>a(Oy)())},"clear"),r("button",{type:"button",onClick:_[2]||(_[2]=z=>L())},"export jsonl"),w(ht,{text:"Close window"},{default:R(()=>[r("button",{type:"button",onClick:_[3]||(_[3]=z=>n("close"))},"✕")]),_:1})])]),r("div",ZU,[bt(r("select",{"onUpdate:modelValue":_[4]||(_[4]=z=>s.value=z),"aria-label":"Source filter"},[..._[12]||(_[12]=[r("option",{value:"all"},"rest + ws + app",-1),r("option",{value:"rest"},"rest",-1),r("option",{value:"ws"},"ws",-1),r("option",{value:"client"},"app errors",-1)])],512),[[ur,s.value]]),bt(r("select",{"onUpdate:modelValue":_[5]||(_[5]=z=>i.value=z),"aria-label":"Session filter"},[_[13]||(_[13]=r("option",{value:""},"all sessions",-1)),(l(!0),c(ce,null,Pe(v.value,z=>(l(),c("option",{key:z,value:z},d(z),9,XU))),128))],512),[[ur,i.value]]),bt(r("input",{"onUpdate:modelValue":_[6]||(_[6]=z=>o.value=z),type:"text",placeholder:"filter (type / path / id)","aria-label":"Text filter"},null,512),[[On,o.value]]),r("label",JU,[bt(r("input",{"onUpdate:modelValue":_[7]||(_[7]=z=>u.value=z),type:"checkbox"},null,512),[[cr,u.value]]),_[14]||(_[14]=te(" errors",-1))]),r("label",eV,[bt(r("input",{"onUpdate:modelValue":_[8]||(_[8]=z=>g.value=z),type:"checkbox"},null,512),[[cr,g.value]]),_[15]||(_[15]=te(" follow",-1))]),r("div",tV,[r("button",{type:"button",class:pe({on:p.value==="timeline"}),onClick:_[9]||(_[9]=z=>p.value="timeline")},"timeline",2),r("button",{type:"button",class:pe({on:p.value==="aggregate"}),onClick:_[10]||(_[10]=z=>p.value="aggregate")},"aggregate",2)])]),p.value==="timeline"?(l(),c("div",{key:0,ref_key:"listRef",ref:y,class:"kap-list"},[T.value.length===0?(l(),c("div",nV," No trace entries yet. REST calls and WS frames will appear here. ")):I("",!0),(l(!0),c(ce,null,Pe(T.value,z=>(l(),c("div",{key:z.id,class:"kap-row-wrap"},[r("button",{type:"button",class:pe(["kap-row",{expanded:$.value===z.id}]),onClick:D=>B(z.id)},[r("span",oV,d(b(z.ts)),1),r("span",{class:pe(["kap-badge",N(z)])},d(Q(z)),3),r("span",iV,d(z.label),1)],10,sV),$.value===z.id?(l(),c("div",aV,[r("div",lV,[r("button",{type:"button",onClick:D=>E(z)},d(S.value===z.id?"copied ✓":"copy json"),9,rV)]),r("pre",null,d(P(z)),1)])):I("",!0)]))),128))],512)):(l(),c("div",uV,[_[20]||(_[20]=r("h4",null,"WS frames by session / type",-1)),r("table",null,[_[17]||(_[17]=r("thead",null,[r("tr",null,[r("th",null,"dir"),r("th",null,"type"),r("th",null,"session"),r("th",null,"count"),r("th",null,"last seq")])],-1)),r("tbody",null,[(l(!0),c(ce,null,Pe(h.value,z=>(l(),c("tr",{key:z.key},[r("td",null,d(z.dir),1),r("td",cV,d(z.eventType),1),r("td",dV,d(z.sessionId),1),r("td",pV,d(z.count),1),r("td",fV,d(z.lastSeq??"—"),1)]))),128)),h.value.length===0?(l(),c("tr",mV,[..._[16]||(_[16]=[r("td",{colspan:"5",class:"kap-empty"},"no ws frames",-1)])])):I("",!0)])]),_[21]||(_[21]=r("h4",null,"REST by endpoint",-1)),r("table",null,[_[19]||(_[19]=r("thead",null,[r("tr",null,[r("th",null,"endpoint"),r("th",null,"count"),r("th",null,"errors"),r("th",null,"avg ms")])],-1)),r("tbody",null,[(l(!0),c(ce,null,Pe(m.value,z=>(l(),c("tr",{key:z.key},[r("td",vV,d(z.key),1),r("td",gV,d(z.count),1),r("td",{class:pe(["num",{err:z.errors>0}])},d(z.errors),3),r("td",hV,d(z.avgMs),1)]))),128)),m.value.length===0?(l(),c("tr",yV,[..._[18]||(_[18]=[r("td",{colspan:"4",class:"kap-empty"},"no rest calls",-1)])])):I("",!0)])])]))]))}}),bV=Le(kV,[["__scopeId","data-v-3cda6fe3"]]),wV=Ee({__name:"DebugPanel",setup(e){const t=x(!1);let n=null,s=null,o=null;const i=["data-color-scheme","data-accent"];function u(k){const T=document.documentElement,h=k.documentElement;for(const m of i){const $=T.getAttribute(m);$!==null?h.setAttribute(m,$):h.removeAttribute(m)}}function p(k){const T=k.document;T.title="KAP debug";const h=T.createElement("base");h.href=location.href,T.head.appendChild(h);for(const $ of Array.from(document.querySelectorAll('style, link[rel="stylesheet"]')))T.head.appendChild($.cloneNode(!0));u(T),T.body.style.margin="0";const m=T.createElement("div");return m.style.height="100vh",T.body.appendChild(m),m}function f(){o?.disconnect(),o=null;try{s?.unmount()}catch{}s=null,n=null,t.value=!1}function v(){if(n&&!n.closed){n.focus();return}const k=window.open("","kap-debug","popup=yes,width=1040,height=760");if(!k)return;n=k;const T=p(k),h=_l(bV,{onClose:()=>k.close()});h.mount(T),s=h,t.value=!0,o=new MutationObserver(()=>{n&&!n.closed&&u(n.document)}),o.observe(document.documentElement,{attributes:!0,attributeFilter:[...i]}),k.addEventListener("pagehide",f),k.addEventListener("beforeunload",f)}return xt(()=>{v()}),Tn(()=>{n&&!n.closed&&n.close(),f()}),(k,T)=>(l(),W(ht,{text:t.value?"Focus KAP debug window":"Open KAP debug window"},{default:R(()=>[r("button",{class:"kap-fab",type:"button",onClick:v}," KAP ")]),_:1},8,["text"]))}}),SV=Le(wV,[["__scopeId","data-v-21346738"]]);function CV({client:e,authLogoRef:t}){const n=M(()=>e.authReady.value),s=M(()=>e.initialized.value&&!n.value&&e.kimiOauthEnabled.value),o="/login",i=x(null);let u=null;function p(){return typeof window>"u"?"/":`${window.location.pathname}${window.location.search}${window.location.hash}`}function f(k){typeof window>"u"||window.history.replaceState(window.history.state,"",k)}Ne(s,k=>{if(!(typeof window>"u")){if(k){window.location.pathname!==o&&(i.value=p(),f(o));return}window.location.pathname===o&&(f(i.value??"/"),i.value=null)}},{immediate:!0});function v(){const k=t.value;k&&(k.classList.remove("blink-now"),k.getBoundingClientRect(),k.classList.add("blink-now"),u!==null&&clearTimeout(u),u=setTimeout(()=>{u=null,k.classList.remove("blink-now")},300))}return St(()=>{u!==null&&clearTimeout(u)}),{showAuthGate:s,blinkAuthLogo:v}}function _V({running:e,showAuthGate:t,workspaceTitle:n}){const{t:s}=Ye(),o=["◐","◓","◑","◒"],i=x(0);let u=null;function p(){u===null&&(i.value=0,u=setInterval(()=>{i.value=(i.value+1)%o.length},250))}function f(){u!==null&&(clearInterval(u),u=null),i.value=0}Ne(e,k=>{k?p():f()},{immediate:!0});const v=M(()=>{const k=e.value?`${o[i.value]} `:"",T=t.value?s("app.authPageTitle"):"Kimi Code Web",h=n?.value?.trim()??"",m=h?`${h} — ${T}`:T;return`${k}${m}`});Ap(()=>{typeof document<"u"&&(document.title=v.value)}),St(()=>{f()})}const Cp=x(typeof window>"u"?0:window.innerWidth);let Di=0,oa=!1;function wl(){Cp.value=window.innerWidth}function MV(){oa||typeof window>"u"||(window.addEventListener("resize",wl),oa=!0,wl())}function $V(){!oa||typeof window>"u"||(window.removeEventListener("resize",wl),oa=!1)}function _p(e,t,n){return Math.max(t,e-n)}function Sl(e,t,n){return Math.min(n,Math.max(t,e))}function Mp(){return xt(()=>{Di+=1,MV()}),Tn(()=>{Di=Math.max(0,Di-1),Di===0&&$V()}),{viewportWidth:Cp}}const TV="kimi-web.file-preview-width",Lo=320;function xV({client:e,sideWidth:t,detailTarget:n,closeFilePreview:s,rightPanelTabs:o}){const{viewportWidth:i}=Mp(),u=M(()=>Math.max(0,i.value-t.value)),p=M(()=>_p(u.value,Lo,Lo));function f(Y){return Sl(Math.round(Y),Lo,p.value)}function v(){return f(u.value/2)}const k=M(()=>v()),T=x(k.value),h=M(()=>Sl(T.value,Lo,p.value));function m(Y){o?o.ensureTab(Y):n.value=Y}function $(Y){if(o){o.closeTab(Y);return}n.value===Y&&(n.value=null)}const g=x(null),y=M(()=>{const Y=g.value;if(!Y)return null;const st=e.turns.value.find(et=>et.id===Y.turnId)?.blocks?.[Y.blockIndex];return st?.kind==="thinking"?st.thinking:null}),S=M(()=>y.value!==null);function B(Y){const ye=g.value;if(ye&&ye.turnId===Y.turnId&&ye.blockIndex===Y.blockIndex&&n.value==="thinking"){b();return}m("thinking"),g.value=Y}function b(){g.value=null,$("thinking")}const P=x(null),E=M(()=>{const Y=P.value;if(!Y)return null;const ye=e.turns.value.find(st=>st.id===Y.turnId);return ye?.role==="compaction"&&ye.text?ye.text:null}),L=M(()=>E.value!==null);function N(Y){if(P.value?.turnId===Y.turnId&&n.value==="compaction"){Q();return}m("compaction"),P.value=Y}function Q(){P.value=null,$("compaction")}const V=x(null);function _(Y){const ye=e.activeAppTasks.value,st=ye.find(pt=>pt.id===Y)??ye.find(pt=>pt.parentToolCallId===Y);if(st)return st.id;const et=ye.filter(pt=>pt.kind==="subagent"&&!pt.parentToolCallId);if(et.length===1)return et[0].id}const z=M(()=>{const Y=V.value;if(!Y)return null;const ye=e.activeAppTasks.value.find(st=>st.id===Y.subagentId);return ye?d4(ye):null}),D=M(()=>z.value!==null);function ee(Y){const ye=_(Y);if(ye){if(V.value?.subagentId===ye&&n.value==="agent"){me();return}V.value={subagentId:ye},m("agent")}}function me(){V.value=null,$("agent")}const ve=x(null),Be=M(()=>{const Y=ve.value;if(!Y)return null;const ye=M8(e.turns.value,Y);return ye?{id:Y,title:ao(ye.name),path:_8(ye.arg),lines:ye.status==="error"?null:Fd(ye),output:ye.output}:null}),ie=M(()=>Be.value!==null);function le(Y){if(n.value==="toolDiff"&&ve.value===Y){ne();return}m("toolDiff"),ve.value=Y}function ne(){ve.value=null,$("toolDiff")}const ae=x("list"),se=x(null);function ge(){if(n.value==="diff"){re();return}m("diff"),ae.value="list",se.value=null;const Y=e.activeSessionId.value;Y&&e.loadGitStatus(Y)}function re(){$("diff"),ae.value="list",se.value=null,e.clearFileDiff()}async function F(Y){ae.value="detail",se.value=Y,await e.loadFileDiff(Y)}async function Z(Y){!e.activeSessionId.value&&e.activeWorkspaceId.value?await e.startSessionAndOpenSideChat(e.activeWorkspaceId.value,Y):await e.openSideChat(Y),m("btw")}function ke(){e.closeSideChat(),$("btw")}function we(){$("btw")}const Oe=M(()=>e.sideChatVisible.value),Ve=M(()=>n.value!==null&&(n.value!=="thinking"||S.value)&&(n.value!=="compaction"||L.value)&&(n.value!=="agent"||D.value)&&(n.value!=="toolDiff"||ie.value)&&(n.value!=="btw"||Oe.value)),be=x(!1),ze=x({});function oe(){const Y=o?.tabState.value??{tabs:n.value!==null?[n.value]:[],activeTabId:n.value},ye=Y.tabs.filter(pt=>pt!=="file"&&pt!=="diff");if(ye.length===0)return null;const st=Y.activeTabId!==null&&ye.includes(Y.activeTabId)?Y.activeTabId:ye[0]??null;return{tabs:ye,activeTabId:st,thinking:g.value?{...g.value}:void 0,compaction:P.value?{...P.value}:void 0,agent:V.value?{...V.value}:void 0,toolDiff:ve.value?{toolId:ve.value}:void 0,btw:e.sideChatVisible.value?!0:void 0}}function J(Y){if(!Y||Y.tabs.length===0)return;const ye=Y.tabs.filter(et=>et!=="btw"||Y.btw===!0&&e.sideChatVisible.value);if(ye.length===0)return;Y.thinking&&(g.value=Y.thinking),Y.compaction&&(P.value=Y.compaction),Y.agent&&(V.value=Y.agent),Y.toolDiff&&(ve.value=Y.toolDiff.toolId);const st=Y.activeTabId!==null&&ye.includes(Y.activeTabId)?Y.activeTabId:ye[0]??null;o?o.setTabState({tabs:ye,activeTabId:st}):st!==null&&(n.value=st)}function U(){return n.value==="thinking"&&S.value?(b(),!0):n.value==="compaction"&&L.value?(Q(),!0):n.value==="agent"&&D.value?(me(),!0):n.value==="toolDiff"&&ie.value?(ne(),!0):n.value==="file"?(s(),!0):n.value==="diff"?(re(),!0):n.value==="btw"?(ke(),!0):!1}return Ne(e.activeSessionId,(Y,ye)=>{if(ye){const st=oe();st?ze.value[ye]=st:delete ze.value[ye]}s(),b(),Q(),me(),ne(),re(),we(),o?.closeAllTabs(),Y&&J(ze.value[Y])}),{PREVIEW_WIDTH_KEY:TV,PREVIEW_MIN:Lo,previewDefaultWidth:k,previewMax:p,previewWidth:T,previewPanelWidth:h,thinkingPanelText:y,thinkingVisible:S,openThinkingPanel:B,closeThinkingPanel:b,compactionPanelText:E,compactionPanelVisible:L,openCompactionPanel:N,closeCompactionPanel:Q,agentPanelMember:z,agentPanelVisible:D,openAgentPanel:ee,closeAgentPanel:me,toolDiffTarget:Be,toolDiffVisible:ie,openToolDiff:le,closeToolDiff:ne,detailDiffMode:ae,detailDiffPath:se,openDiffDetail:ge,closeDiffDetail:re,selectDiffFile:F,btwVisible:Oe,openSideChatTab:Z,closeSideChat:ke,hideSideChatPanel:we,sidePanelVisible:Ve,panelDragging:be,closeOpenSidePanel:U}}const IV=Ge.sidebarWidth,Xu=Ge.sidebarCollapsed,Ju=270,Ga=220,AV=480,PV=320;function EV(e={}){const{viewportWidth:t}=Mp(),n=x(Ju),s=x(!1),o=x(null),i=x(!1),u=M(()=>{const h=PV+(Xo(e.previewOpen)?Lo:0);return Math.min(AV,_p(t.value,Ga,h))}),p=M(()=>Sl(n.value,Ga,u.value)),f=M(()=>Xo(e.isNarrow)?o.value??!0:s.value);function v(){try{s.value=Dt(Xu)==="true"}catch{s.value=!1}}function k(){try{Nt(Xu,String(s.value))}catch{}}Ne(()=>Xo(e.isNarrow),h=>{h||(o.value=null)},{flush:"sync"});function T(){if(Xo(e.isNarrow)){o.value=!f.value;return}s.value=!s.value,k()}return{SIDEBAR_WIDTH_KEY:IV,SIDEBAR_DEFAULT:Ju,SIDEBAR_MIN:Ga,sidebarMax:u,sessionColWidth:n,effectiveSidebarCollapsed:f,sidebarCollapsed:s,sidebarDragging:i,sideWidth:p,loadSidebarCollapsed:v,toggleSidebarCollapse:T}}function BV(){return{tabs:[],activeTabId:null}}function LV(e,t){return e.tabs.includes(t)?{...e,activeTabId:t}:{tabs:[...e.tabs,t],activeTabId:t}}function RV(e,t){return!e.tabs.includes(t)||e.activeTabId===t?e:{...e,activeTabId:t}}function DV(e,t){const n=e.tabs.indexOf(t);if(n===-1)return e;const s=e.tabs.filter(i=>i!==t);if(e.activeTabId!==t)return{tabs:s,activeTabId:e.activeTabId};const o=s[n]??s[n-1]??null;return{tabs:s,activeTabId:o}}function OV(e){return e.tabs.length===0?e:{tabs:[],activeTabId:null}}function zV(e){const t=x(BV());function n(p){t.value=LV(t.value,p),e.value=p}function s(p){t.value=RV(t.value,p),e.value!==p&&(e.value=p)}function o(p){const f=DV(t.value,p);t.value=f,e.value===p&&(e.value=f.activeTabId)}function i(){const p=OV(t.value);t.value=p,e.value=p.activeTabId}function u(p){t.value=p,e.value=p.activeTabId}return{tabState:t,ensureTab:n,activateTab:s,closeTab:o,closeAllTabs:i,setTabState:u}}const FV=640,NV=`(max-width: ${FV}px)`;function WV(){const e=x(!1);if(typeof window>"u"||typeof window.matchMedia!="function")return e;const t=window.matchMedia(NV);e.value=t.matches;const n=s=>{e.value=s.matches};return typeof t.addEventListener=="function"?(t.addEventListener("change",n),St(()=>t.removeEventListener("change",n))):typeof t.addListener=="function"&&(t.addListener(n),St(()=>t.removeListener(n))),e}function qV(){const e=x(!1),t=ir(aT,n=>{e.value=n});return St(t),e}const HV={class:"server-auth-overlay",role:"dialog","aria-modal":"true","aria-labelledby":"server-auth-title"},UV={class:"server-auth-card"},VV={class:"server-auth-head"},jV={id:"server-auth-title",class:"server-auth-title"},KV={class:"server-auth-hint"},GV={class:"server-auth-body"},QV={class:"server-auth-foot"},YV=Ee({__name:"ServerAuthDialog",setup(e){const{t}=Ye(),n=x(""),s=x(null),o=x(!1);xt(()=>{Ze(()=>s.value?.focus())});function i(){const p=n.value;!p||o.value||(o.value=!0,Pc(p),window.location.reload())}function u(p){p.key==="Enter"&&(p.preventDefault(),i())}return(p,f)=>(l(),c("div",HV,[r("div",UV,[r("div",VV,[r("h1",jV,d(a(t)("serverAuth.title")),1),r("p",KV,d(a(t)("serverAuth.hint",{password:"KIMI_CODE_PASSWORD"})),1)]),r("div",GV,[w(Vn,{ref_key:"inputRef",ref:s,modelValue:n.value,"onUpdate:modelValue":f[0]||(f[0]=v=>n.value=v),type:"password",autocomplete:"current-password",placeholder:a(t)("serverAuth.placeholder"),disabled:o.value,onKeydown:u},null,8,["modelValue","placeholder","disabled"])]),r("div",QV,[w(je,{variant:"primary",disabled:!n.value||o.value,loading:o.value,onClick:i},{default:R(()=>[te(d(o.value?a(t)("serverAuth.connecting"):a(t)("serverAuth.connect")),1)]),_:1},8,["disabled","loading"])])])]))}}),ZV=Le(YV,[["__scopeId","data-v-469e14bc"]]);function XV(e,t){const n=t?.trim();if(n)return n;const s=Dc(e);return s==="/"?"":s}const JV=["aria-label"],ej=Ee({__name:"InternalBuildBanner",setup(e){const{t}=Ye(),n=V3;return(s,o)=>a(n)?(l(),c("span",{key:0,class:"internal-build-tag",role:"note","aria-label":a(t)("app.internalBuildBanner")},[w(X,{name:"alert-triangle",size:"sm","aria-hidden":"true"}),r("span",null,d(a(t)("app.internalBuildBanner")),1)],8,JV)):I("",!0)}}),tj=Le(ej,[["__scopeId","data-v-086c00dc"]]),nj={class:"app-shell"},sj={key:1,class:"auth-page"},oj={class:"auth-page-inner"},ij={class:"auth-page-copy"},aj=["aria-label","aria-hidden"],lj={class:"panel-content"},rj=Ee({__name:"App",setup(e){Xk();const t=x(!1);let n=null;const s=yi(),o=M(()=>!s.dangerousBypassAuth.value&&t.value);ko("resolveImage",s.resolveImageUrl),ko("resolveSwarmMembers",Ie=>s.swarmMembersByToolCallId.value.get(Ie)??[]),ko("resolveTaskForToolCall",Ie=>s.activeAppTasks.value.find(H=>H.id===Ie||H.parentToolCallId===Ie));const{t:i}=Ye(),{confirm:u}=xo(),p=ps(),f=WV(),v=qV(),k=x(!1),T=x(!1),h=M(()=>{const Ie=s.activeSessionId.value;return s.sessions.value.find(H=>H.id===Ie)?.title??""}),m=M(()=>s.visibleWorkspace.value?.sessionCount??0),$=M(()=>s.activity.value!=="idle"),g=x(null),{showAuthGate:y,blinkAuthLogo:S}=CV({client:s,authLogoRef:g}),B=M(()=>XV(s.status.value.cwd,s.webTitle.value));_V({running:$,showAuthGate:y,workspaceTitle:B});function b(Ie){const H=s.models.value.find(_t=>_t.id===s.status.value.modelId),A=la(H),_e=A.indexOf(ui(H,Ie)),$e=A[(_e+1)%A.length]??A[0]??"off";return jl(H,$e)}const P=M(()=>{const Ie=s.models.value.find(H=>H.id===s.status.value.modelId);return ui(Ie,s.thinking.value)}),E=x(!s.onboarded.value);function L(){s.setOnboarded(!0),E.value=!1}function N(){E.value=!0}let Q=0;function V(){const Ie=window.visualViewport,H=document.documentElement.style;H.setProperty("--app-height",`${Ie?.height??window.innerHeight}px`),H.setProperty("--app-top",`${Ie?.offsetTop??0}px`)}function _(){Q||(Q=requestAnimationFrame(()=>{Q=0,V()}))}xt(()=>{n=tb(()=>{t.value=!0,s.clearDangerousBypassAuth()}),s.load(),et(),V(),window.visualViewport?.addEventListener("resize",_),window.visualViewport?.addEventListener("scroll",_),window.addEventListener("resize",_),document.addEventListener("keydown",z,!0)}),St(()=>{document.removeEventListener("keydown",z,!0),window.visualViewport?.removeEventListener("resize",_),window.visualViewport?.removeEventListener("scroll",_),window.removeEventListener("resize",_),Q&&(cancelAnimationFrame(Q),Q=0),document.documentElement.style.removeProperty("--app-height"),document.documentElement.style.removeProperty("--app-top"),n!==null&&(n(),n=null)});function z(Ie){Ie.key==="Escape"&&(hn.value||Xt()&&(Ie.stopPropagation(),Ie.preventDefault()))}const D=x(null),ee=zV(D),me=ee.tabState,ve=M(()=>({thinking:i("panel.tabThinking"),compaction:i("panel.tabCompaction"),agent:i("panel.tabAgent"),btw:i("panel.tabSideChat"),diff:i("panel.tabDiff"),toolDiff:i("panel.tabToolDiff"),file:i("panel.tabFile")})),Be=x(!1);Ne(s.activeSessionId,()=>{Be.value=!0,Ze(()=>{Be.value=!1})});const{previewTarget:ie,previewFile:le,previewLoading:ne,previewError:ae,previewDownloadUrl:se,previewExternalActions:ge,openFilePreview:re,closeFilePreview:F,openPreviewInEditor:Z,revealPreviewFile:ke}=OD({client:s,detailTarget:D,rightPanelTabs:ee}),we=zD(),Oe=M(()=>f.value||v.value),Ve=M(()=>D.value!==null&&!Oe.value),{SIDEBAR_WIDTH_KEY:be,SIDEBAR_DEFAULT:ze,SIDEBAR_MIN:oe,sidebarMax:J,sessionColWidth:U,effectiveSidebarCollapsed:Y,sidebarDragging:ye,sideWidth:st,loadSidebarCollapsed:et,toggleSidebarCollapse:pt}=EV({previewOpen:Ve,isNarrow:v}),{PREVIEW_WIDTH_KEY:Me,PREVIEW_MIN:Te,previewDefaultWidth:Se,previewMax:Ae,previewWidth:Xe,previewPanelWidth:yt,thinkingPanelText:qe,thinkingVisible:He,openThinkingPanel:Ue,closeThinkingPanel:dt,compactionPanelText:at,compactionPanelVisible:Lt,openCompactionPanel:Ht,closeCompactionPanel:rn,agentPanelMember:ct,openAgentPanel:sn,closeAgentPanel:on,toolDiffTarget:Kn,openToolDiff:Wt,closeToolDiff:Wn,detailDiffMode:un,detailDiffPath:ss,openDiffDetail:Gn,closeDiffDetail:Yt,selectDiffFile:Ut,btwVisible:wn,openSideChatTab:Qn,closeSideChat:Ot,sidePanelVisible:fn,panelDragging:xn,closeOpenSidePanel:Xt}=xV({client:s,sideWidth:st,detailTarget:D,closeFilePreview:F,rightPanelTabs:ee}),In=x(null),Ct=x(!1),an=x(!1),Jt=x(!1),Mt=x(!1),Sn=x(!1),Et=x(!1),cn=x(!1),zn=x(null),gn=x(null),Cn=x(null),hn=M(()=>Eo.value>0||Ct.value||an.value||Jt.value||Mt.value||Sn.value||Et.value||cn.value||E.value||k.value||T.value),Fn=x(!1),An=x(!1),dn=x(!1),mn=x(!1),en=x(!1);async function Yn(){Fn.value=!0,An.value=!1,Ct.value=!0;try{await s.refreshAllProviders()}catch{An.value=!0}finally{Fn.value=!1}}async function Ce(){dn.value=!0,mn.value=!1,an.value=!0;try{await s.loadProviders()}catch{mn.value=!0}finally{dn.value=!1}}function fe(){Jt.value=!0}async function We(Ie){Ct.value=!1,await zt(Ie)}function it(){Ct.value=!1,gn.value=null}async function zt(Ie){await s.setModel(Ie)&&Ie!==s.defaultModel.value&&s.updateConfig({defaultModel:Ie});const A=gn.value;A!==null&&(gn.value=null,await js(A))}async function Ft(Ie){await s.addProvider(Ie)}async function Zt(Ie){await s.refreshProvider(Ie)}async function Vt(Ie){await s.importCatalogProvider(Ie)}async function It(Ie){await s.importRegistry(Ie)}async function At(Ie){await u({title:i("sidebar.archive"),message:i("sidebar.archiveConfirm"),variant:"danger",action:()=>s.archiveSession(Ie)})}async function yn(Ie){const H=s.workspacesView.value.find(A=>A.id===Ie)?.name??Ie;await u({title:i("sidebar.removeWorkspace"),message:i("workspace.removeWorkspaceConfirm",{name:H}),variant:"danger",action:()=>s.deleteWorkspace(Ie)})}async function fs(Ie){await u({title:i("providers.delete"),message:i("providers.confirmDelete"),variant:"danger",action:()=>s.deleteProvider(Ie)})}async function ms(Ie){en.value=!0;try{await s.updateConfig(Ie)}finally{en.value=!1}}async function _n(Ie){return s.startOAuthLogin(Ie)}async function vs(){return s.resolveOAuthRegion()}async function qn(){return s.pollOAuthLogin()}async function $s(){return s.cancelOAuthLogin()}async function gs(){Jt.value=!1,await s.checkAuth(),await s.load()}async function Hs(Ie,H,A){await s.openInApp(Ie,H,A)}async function Pn(Ie){if(await s.undo(1),await Ze(),Ie.skillActivation?.name){s.activateSkill(Ie.skillActivation.name,Ie.skillActivation.args);return}In.value?.loadComposerForEdit(Ie.text,Ie.attachments)}function Ts(Ie){if(Ie.skillActivation?.name){s.activateSkill(Ie.skillActivation.name,Ie.skillActivation.args);return}const H=(Ie.attachments??[]).filter(A=>A.fileId!==void 0).map(A=>({fileId:A.fileId,kind:A.kind,name:A.name,mediaType:A.mediaType,size:A.size}));s.sendPrompt(Ie.text,H)}function Us(Ie,H){if(Ie==="/compact"||Ie.startsWith("/compact ")){s.compact(Ie.slice(8).trim()||void 0);return}if(Ie==="/swarm"||Ie.startsWith("/swarm ")){const A=Ie.slice(6).trim();A==="on"?s.setSwarmMode(!0):A==="off"?s.setSwarmMode(!1):A?(s.setSwarmMode(!0),s.sendPrompt(A)):s.toggleSwarmMode();return}if(Ie==="/goal"||Ie.startsWith("/goal ")){const A=Ie.slice(5).trim();A==="pause"||A==="resume"||A==="cancel"?s.controlGoal(A):A?s.createGoal(A):s.setGoalMode(!0);return}if(Ie==="/btw"||Ie.startsWith("/btw ")){const A=Ie.slice(4).trim();!A&&s.sideChatVisible.value?Ot():Qn(A||void 0);return}switch(Ie){case"/new":case"/clear":os();break;case"/fork":s.forkSession();break;case"/export":s.exportSession();break;case"/undo":s.undo();break;case"/plan":s.armPlanMode();break;case"/auto":s.setPermission("auto");break;case"/yolo":s.setPermission("yolo");break;case"/thinking":s.setThinking(b(s.thinking.value));break;case"/status":Sn.value=!0;break;case"/login":fe();break;default:{const A=Ie.indexOf(" "),_e=Gx((A===-1?Ie:Ie.slice(0,A)).slice(1)),$e=A===-1?void 0:Ie.slice(A+1).trim()||void 0;if(!_e)break;!s.activeSessionId.value&&s.activeWorkspaceId.value?s.startSessionAndActivateSkill(s.activeWorkspaceId.value,_e,$e,H):s.activateSkill(_e,$e,void 0,H);break}}}function lo(Ie){Ie&&(!s.activeSessionId.value&&s.activeWorkspaceId.value?s.startSessionAndActivateSkill(s.activeWorkspaceId.value,Ie,void 0,void 0):s.activateSkill(Ie,void 0,void 0,void 0))}function Vs(Ie){s.unqueue(Ie)}function hs(Ie){s.unqueue(Ie)}function xs(Ie){s.reorderQueue(Ie.from,Ie.to)}async function js(Ie){const H=s.status.value.modelId;if(cp(H)||H.length>0&&H===sr){gn.value=Ie,Ct.value=!0;return}const _e=s.activeWorkspaceId.value;if(!s.activeSessionId.value&&_e){await s.startSessionAndSendPrompt(_e,Ie.text,Ie.attachments);return}if(!s.activeSessionId.value&&!_e){zn.value=Ie,Mt.value=!0;return}s.sendPrompt(Ie.text,Ie.attachments)}async function Is(Ie){if(Cn.value=null,!await s.addWorkspaceByPath(Ie)){Cn.value=i("workspace.addFailed");return}Mt.value=!1;const A=zn.value;zn.value=null;const _e=s.activeWorkspaceId.value;A&&_e&&await s.startSessionAndSendPrompt(_e,A.text,A.attachments)}function As(){zn.value=null,Cn.value=null,Mt.value=!1}function Hn(){Ze(()=>{In.value?.focusComposer()})}function os(){const Ie=s.activeWorkspaceId.value;Ie?s.openWorkspaceDraft(Ie):s.clearActiveSession(),Hn()}function ys(Ie){s.openWorkspaceDraft(Ie),Hn()}function ks(Ie){Ie&&window.open(Ie,"_blank","noopener")}return(Ie,H)=>(l(),c("div",nj,[o.value?(l(),W(ZV,{key:0})):I("",!0),a(y)?(l(),c("section",sj,[r("div",oj,[(l(),c("svg",{ref_key:"authLogoRef",ref:g,class:"auth-page-logo ch-logo",viewBox:"0 0 32 22",fill:"none",xmlns:"http://www.w3.org/2000/svg",role:"img","aria-label":"Kimi Code",onMousedown:H[0]||(H[0]=De(()=>{},["prevent"])),onClick:H[1]||(H[1]=(...A)=>a(S)&&a(S)(...A))},[...H[117]||(H[117]=[Cl(' ',2)])],544)),r("div",ij,[r("h1",null,d(a(i)("app.authPageTitle")),1),r("p",null,d(a(i)("app.authPageMessage")),1)]),w(je,{class:"auth-page-btn",variant:"primary",onClick:fe},{default:R(()=>[w(X,{name:"log-in",size:"md"}),r("span",null,d(a(i)("app.authPageLogin")),1)]),_:1})])])):(l(),c("div",{key:2,class:pe(["app",{mobile:a(f),"sidebar-collapsed":a(Y)&&!a(f),"macos-desktop":a(Fo)}]),style:gt({"--preview-w":a(yt)+"px"})},[a(f)?(l(),W(wq,{key:1,workspace:a(s).visibleWorkspace.value,"session-title":h.value,running:$.value,branch:a(s).status.value.branch,"session-count":m.value,onOpenSwitcher:H[20]||(H[20]=A=>k.value=!0),onOpenSettings:H[21]||(H[21]=A=>T.value=!0)},null,8,["workspace","session-title","running","branch","session-count"])):(l(),c(ce,{key:0},[w(A_,{collapsed:a(Y),dragging:a(ye),"col-width":a(st),"active-workspace":a(s).visibleWorkspace.value,"active-workspace-id":a(s).activeWorkspaceId.value,sessions:a(s).sessionsForView.value,groups:a(s).workspaceGroups.value,"pinned-session-ids":a(s).pinnedSessionIds.value,"multi-tab-sidebar":a(s).multiTabSidebar.value,"active-id":a(s).activeSessionId.value,"attention-by-session":a(s).attentionBySession.value,"pending-by-session":a(s).pendingBySession.value,"unread-by-session":a(s).unreadBySession.value,"workspace-sort-mode":a(s).workspaceSortMode.value,backend:a(s).backend.value,onSelect:H[2]||(H[2]=A=>a(s).selectSession(A)),onCreate:os,onCreateInWorkspace:H[3]||(H[3]=A=>ys(A)),onSelectWorkspace:H[4]||(H[4]=A=>a(s).openWorkspace(A)),onAddWorkspace:H[5]||(H[5]=A=>Mt.value=!0),onRename:H[6]||(H[6]=(A,_e)=>a(s).renameSession(A,_e)),onArchive:H[7]||(H[7]=A=>At(A)),onFork:H[8]||(H[8]=A=>a(s).forkSession(A)),onExport:H[9]||(H[9]=A=>a(s).exportSession(A)),onRenameWorkspace:H[10]||(H[10]=(A,_e)=>a(s).renameWorkspace(A,_e)),onDeleteWorkspace:H[11]||(H[11]=A=>yn(A)),onReorderWorkspaces:H[12]||(H[12]=A=>a(s).reorderWorkspaces(A)),onSetWorkspaceSortMode:H[13]||(H[13]=A=>a(s).setWorkspaceSortMode(A)),onLoadMoreSessions:H[14]||(H[14]=A=>void a(s).loadMoreSessions(A)),onLoadAllSessions:H[15]||(H[15]=A=>void a(s).loadAllSessions()),onOpenSettings:H[16]||(H[16]=A=>Et.value=!0),onOpenSessionManagement:H[17]||(H[17]=A=>cn.value=!0),onCollapse:a(pt)},null,8,["collapsed","dragging","col-width","active-workspace","active-workspace-id","sessions","groups","pinned-session-ids","multi-tab-sidebar","active-id","attention-by-session","pending-by-session","unread-by-session","workspace-sort-mode","backend","onCollapse"]),bt(w(pu,{class:"side-handle","storage-key":a(be),"default-width":a(ze),min:a(oe),max:a(J),"onUpdate:width":H[18]||(H[18]=A=>U.value=A),"onUpdate:dragging":H[19]||(H[19]=A=>ye.value=A)},null,8,["storage-key","default-width","min","max"]),[[Un,!a(Y)]])],64)),w(qP,{ref_key:"conversationPaneRef",ref:In,mobile:a(f),turns:a(s).turns.value,"session-id":a(s).activeSessionId.value,approvals:a(s).pendingApprovals.value,changes:a(s).changes.value,"git-info":a(s).gitInfo.value,tasks:a(s).tasks.value,todos:a(s).todos.value,goal:a(s).goal.value,"activation-badges":a(s).activationBadges.value,status:a(s).status.value,thinking:a(s).thinking.value,"plan-mode":a(s).planMode.value,"plan-armed":a(s).planArmed.value,"swarm-mode":a(s).swarmMode.value,"supermoon-mode":a(s).supermoonMode.value,"goal-mode":a(s).goalMode.value,models:a(s).models.value,"starred-ids":a(s).starredModelIds.value,skills:a(s).skills.value,questions:a(s).questions.value,"pending-question-actions":a(s).pendingQuestionActions,"pending-approval-actions":a(s).pendingApprovalActions,running:$.value,"turn-active":a(s).turnActive.value,queued:a(s).queued.value,"search-files":a(s).searchFiles,"upload-image":a(s).uploadImage,working:a(s).working.value,"model-retry":a(s).modelRetry.value,starting:a(s).isStartingFirstPrompt.value,"fast-moon":a(s).fastMoon.value,"file-reload-key":a(s).activeSessionId.value,"session-loading":a(s).sessionLoading.value,compaction:a(s).compaction.value,"has-more-messages":a(s).hasMoreMessages.value,"loading-more":a(s).loadingMoreMessages.value,"loading-more-error":a(s).loadMoreMessagesError.value,"load-older-messages":a(s).loadOlderMessages,"workspace-name":a(s).visibleWorkspace.value?.name,"workspace-root":a(s).visibleWorkspace.value?.root??a(s).status.value.cwd,"git-diff-stats":a(s).gitDiffStats.value,workspaces:a(s).workspacesView.value,"active-workspace-id":a(s).activeWorkspaceId.value,"session-title":h.value,"session-pinned":a(s).pinnedSessionIds.value.includes(a(s).activeSessionId.value??""),terminal:a(s).terminal,pr:a(s).activePullRequest.value,"conversation-toc":a(s).conversationToc.value,onOpenChanges:H[22]||(H[22]=A=>a(Gn)()),onSelectWorkspace:H[23]||(H[23]=A=>ys(A)),onAddWorkspace:H[24]||(H[24]=A=>Mt.value=!0),onOpenPr:ks,onSubmit:H[25]||(H[25]=A=>js(A)),onSteer:H[26]||(H[26]=A=>a(s).steerPrompt(A.text,A.attachments)),onApproval:H[27]||(H[27]=(A,_e)=>a(s).respondApproval(A,_e)),onCancelTask:H[28]||(H[28]=A=>a(s).cancelTask(A)),onMoveToBackground:H[29]||(H[29]=A=>a(s).detachTask(A)),onAnswer:H[30]||(H[30]=(A,_e)=>a(s).respondQuestion(A,_e)),onDismiss:H[31]||(H[31]=A=>a(s).dismissQuestion(A)),onCommand:Us,onInterrupt:H[32]||(H[32]=A=>a(s).abortCurrentPrompt()),onUnqueue:Vs,onEditQueued:hs,onReorderQueue:xs,onSteerQueuedIndex:H[33]||(H[33]=A=>void a(s).steerQueuedPrompt(A)),onSendQueued:H[34]||(H[34]=A=>void a(s).sendQueuedPrompt(A)),onSetPermission:H[35]||(H[35]=A=>a(s).setPermission(A)),onSetThinking:H[36]||(H[36]=A=>a(s).setThinking(A)),onTogglePlan:H[37]||(H[37]=A=>a(s).togglePlanArm()),onToggleSwarm:H[38]||(H[38]=A=>a(s).toggleSwarmMode()),onToggleSupermoon:H[39]||(H[39]=A=>a(s).toggleSupermoonMode()),onToggleGoal:H[40]||(H[40]=A=>a(s).toggleGoalMode()),onDismissPlan:H[41]||(H[41]=A=>a(s).dismissPlanMode()),onControlGoal:H[42]||(H[42]=A=>a(s).controlGoal(A)),onRefreshGitStatus:H[43]||(H[43]=A=>a(s).activeSessionId.value&&a(s).loadGitStatus(a(s).activeSessionId.value)),onRenameSession:H[44]||(H[44]=(A,_e)=>a(s).renameSession(A,_e)),onTogglePin:H[45]||(H[45]=A=>a(s).togglePinnedSession(A)),onForkSession:H[46]||(H[46]=A=>a(s).forkSession(A)),onArchiveSession:H[47]||(H[47]=A=>At(A)),onExportSession:H[48]||(H[48]=A=>a(s).exportSession(A)),onCompact:H[49]||(H[49]=A=>a(s).compact()),onPickModel:H[50]||(H[50]=A=>Yn()),onSelectModel:H[51]||(H[51]=A=>zt(A)),onOpenFile:H[52]||(H[52]=A=>a(re)(A)),onOpenMedia:H[53]||(H[53]=A=>a(we).open(A)),onOpenThinking:H[54]||(H[54]=A=>a(Ue)(A)),onOpenCompaction:H[55]||(H[55]=A=>a(Ht)(A)),onOpenAgent:H[56]||(H[56]=A=>a(sn)(A)),onOpenToolDiff:H[57]||(H[57]=A=>a(Wt)(A)),onEditMessage:Pn,onResumeTurn:Ts,onOpenMentionSkill:lo},null,8,["mobile","turns","session-id","approvals","changes","git-info","tasks","todos","goal","activation-badges","status","thinking","plan-mode","plan-armed","swarm-mode","supermoon-mode","goal-mode","models","starred-ids","skills","questions","pending-question-actions","pending-approval-actions","running","turn-active","queued","search-files","upload-image","working","model-retry","starting","fast-moon","file-reload-key","session-loading","compaction","has-more-messages","loading-more","loading-more-error","load-older-messages","workspace-name","workspace-root","git-diff-stats","workspaces","active-workspace-id","session-title","session-pinned","terminal","pr","conversation-toc"]),!a(f)&&(a(Fo)||a(Y))?(l(),W(rt,{key:2,class:"sidebar-toggle-btn",size:"sm",label:a(Y)?a(i)("sidebar.expandSidebar"):a(i)("sidebar.collapseSidebar"),onClick:a(pt)},{default:R(()=>[w(X,{name:a(Y)?"panel-expand":"panel-collapse"},null,8,["name"])]),_:1},8,["label","onClick"])):I("",!0),a(fn)&&!Oe.value?(l(),W(pu,{key:3,class:"preview-handle","storage-key":a(Me),"default-width":a(Se),min:a(Te),max:a(Ae),reverse:"","aria-label":a(i)("layout.resizePreviewAria"),"onUpdate:width":H[58]||(H[58]=A=>Xe.value=A),"onUpdate:dragging":H[59]||(H[59]=A=>xn.value=A)},null,8,["storage-key","default-width","min","max","aria-label"])):I("",!0),!Oe.value||a(fn)?(l(),c("aside",{key:4,class:pe(["global-preview",{open:a(fn),overlay:Oe.value,"no-anim":a(xn)||Be.value}]),role:"complementary","aria-label":a(i)("layout.detailPanelAria"),"aria-hidden":!a(fn)},[a(me).tabs.length>0?(l(),W(CL,{key:0,tabs:a(me).tabs,"active-tab-id":D.value,labels:ve.value,onActivate:H[60]||(H[60]=A=>a(ee).activateTab(A)),onClose:H[61]||(H[61]=A=>a(ee).closeTab(A))},null,8,["tabs","active-tab-id","labels"])):I("",!0),r("div",lj,[D.value==="thinking"&&a(He)?(l(),W(Nu,{key:0,text:a(qe)??"",onClose:a(dt)},null,8,["text","onClose"])):D.value==="compaction"&&a(Lt)?(l(),W(Nu,{key:1,text:a(at)??"",subtitle:a(i)("conversation.summaryTitle"),onClose:a(rn)},null,8,["text","subtitle","onClose"])):D.value==="agent"&&a(ct)?(l(),W(hB,{key:2,member:a(ct),onClose:a(on)},null,8,["member","onClose"])):D.value==="btw"&&a(wn)?(l(),W(HB,{key:3,turns:a(s).sideChatTurns.value,running:a(s).sideChatRunning.value,sending:a(s).sideChatSending.value,onSend:H[62]||(H[62]=A=>a(s).sendSideChatPrompt(A)),onClose:a(Ot)},null,8,["turns","running","sending","onClose"])):D.value==="diff"?(l(),W(yL,{key:4,mode:a(un),changes:a(s).changes.value,"git-info":a(s).gitInfo.value,"file-diff":a(s).fileDiff.value,"selected-diff-path":a(s).selectedDiffPath.value,"file-diff-loading":a(s).fileDiffLoading.value,closable:"",onOpen:a(Ut),onBack:H[63]||(H[63]=A=>{un.value="list",ss.value=null,a(s).clearFileDiff()}),onClose:a(Yt)},null,8,["mode","changes","git-info","file-diff","selected-diff-path","file-diff-loading","onOpen","onClose"])):D.value==="toolDiff"&&a(Kn)?(l(),W(RB,{key:5,target:a(Kn),onClose:a(Wn)},null,8,["target","onClose"])):D.value==="file"?(l(),W(GE,{key:6,file:a(le),loading:a(ne),error:a(ae),line:a(ie)?.line,"download-url":a(se),closable:"","external-actions":a(ge),"workspace-root":a(s).visibleWorkspace.value?.root??a(s).status.value.cwd,"open-in-apps":a(s).availableOpenInApps.value,"open-file":a(re),onClose:a(F),onOpenExternal:a(Z),onReveal:a(ke),onOpenInApp:Hs},null,8,["file","loading","error","line","download-url","external-actions","workspace-root","open-in-apps","open-file","onClose","onOpenExternal","onReveal"])):I("",!0)])],10,aj)):I("",!0),w(tj,{class:"internal-build-fab"}),a(f)&&Ct.value?(l(),W(TU,{key:5,modelValue:Ct.value,"onUpdate:modelValue":H[64]||(H[64]=A=>Ct.value=A),models:a(s).models.value,current:a(s).status.value.modelId,"starred-ids":a(s).starredModelIds.value,loading:Fn.value,unavailable:An.value,onSelect:H[65]||(H[65]=A=>We(A)),onToggleStar:H[66]||(H[66]=A=>a(s).toggleStarModel(A)),onClose:it},null,8,["modelValue","models","current","starred-ids","loading","unavailable"])):Ct.value?(l(),W(NL,{key:6,models:a(s).models.value,current:a(s).status.value.modelId,"starred-ids":a(s).starredModelIds.value,loading:Fn.value,unavailable:An.value,onSelect:H[67]||(H[67]=A=>We(A)),onToggleStar:H[68]||(H[68]=A=>a(s).toggleStarModel(A)),onClose:it},null,8,["models","current","starred-ids","loading","unavailable"])):I("",!0),Et.value?(l(),W(oN,{key:7,"color-scheme":a(s).colorScheme.value,accent:a(s).accent.value,"ui-font-size":a(s).uiFontSize.value,"auth-ready":a(s).authReady.value,"kimi-oauth-enabled":a(s).kimiOauthEnabled.value,"account-model":a(s).accountModel.value,notify:a(s).notifyOnComplete.value,"notify-question":a(s).notifyOnQuestion.value,"notify-approval":a(s).notifyOnApproval.value,"notify-permission":a(s).notifyPermission.value,sound:a(s).soundOnComplete.value,"task-notices":a(s).taskNoticesEnabled.value,"conversation-toc":a(s).conversationToc.value,"multi-tab-sidebar":a(s).multiTabSidebar.value,config:a(s).config.value,models:a(s).models.value,"config-saving":en.value,"server-version":a(s).serverVersion.value,backend:a(s).backend.value,onSetColorScheme:H[69]||(H[69]=A=>a(s).setColorScheme(A)),onSetAccent:H[70]||(H[70]=A=>a(s).setAccent(A)),onSetUiFontSize:H[71]||(H[71]=A=>a(s).setUiFontSize(A)),onSetNotify:H[72]||(H[72]=A=>a(s).setNotifyOnComplete(A)),onSetNotifyQuestion:H[73]||(H[73]=A=>a(s).setNotifyOnQuestion(A)),onSetNotifyApproval:H[74]||(H[74]=A=>a(s).setNotifyOnApproval(A)),onSetSound:H[75]||(H[75]=A=>a(s).setSoundOnComplete(A)),onSetTaskNotices:H[76]||(H[76]=A=>a(s).setTaskNoticesEnabled(A)),onSetConversationToc:H[77]||(H[77]=A=>a(s).setConversationToc(A)),onSetMultiTabSidebar:H[78]||(H[78]=A=>a(s).setMultiTabSidebar(A)),onUpdateConfig:H[79]||(H[79]=A=>ms(A)),onLogin:H[80]||(H[80]=()=>{Et.value=!1,fe()}),onLogout:a(s).logout,onOpenOnboarding:H[81]||(H[81]=()=>{Et.value=!1,N()}),onOpenProviders:H[82]||(H[82]=()=>{Et.value=!1,Ce()}),onClose:H[83]||(H[83]=A=>Et.value=!1)},null,8,["color-scheme","accent","ui-font-size","auth-ready","kimi-oauth-enabled","account-model","notify","notify-question","notify-approval","notify-permission","sound","task-notices","conversation-toc","multi-tab-sidebar","config","models","config-saving","server-version","backend","onLogout"])):I("",!0),cn.value?(l(),W(KN,{key:8,sessions:a(s).sessionsForView.value,onClose:H[84]||(H[84]=A=>cn.value=!1)},null,8,["sessions"])):I("",!0),an.value?(l(),W(BR,{key:9,providers:a(s).providers.value,loading:dn.value,unavailable:mn.value,"kimi-oauth-enabled":a(s).kimiOauthEnabled.value,onAdd:H[85]||(H[85]=A=>Ft(A)),onRefresh:H[86]||(H[86]=A=>Zt(A)),onDelete:H[87]||(H[87]=A=>fs(A)),onImportCatalog:H[88]||(H[88]=A=>Vt(A)),onImportRegistry:H[89]||(H[89]=A=>It(A)),onOpenLogin:H[90]||(H[90]=()=>{an.value=!1,fe()}),onClose:H[91]||(H[91]=A=>an.value=!1)},null,8,["providers","loading","unavailable","kimi-oauth-enabled"])):I("",!0),Sn.value?(l(),W(KW,{key:10,status:a(s).status.value,thinking:P.value,"plan-mode":a(s).planMode.value,"swarm-mode":a(s).swarmMode.value,"supermoon-mode":a(s).supermoonMode.value,"cost-usd":a(s).sessionCost.value,onClose:H[92]||(H[92]=A=>Sn.value=!1)},null,8,["status","thinking","plan-mode","swarm-mode","supermoon-mode","cost-usd"])):I("",!0),Mt.value?(l(),W(AW,{key:11,"browse-fs":a(s).browseFs,"get-fs-home":a(s).getFsHome,"default-path":a(s).visibleWorkspace.value?.root??a(s).status.value.cwd,error:Cn.value,onAdd:H[93]||(H[93]=A=>Is(A)),onClose:As},null,8,["browse-fs","get-fs-home","default-path","error"])):I("",!0),w(li,{name:"gload-fade"},{default:R(()=>[a(s).initialized.value?I("",!0):(l(),W(jU,{key:0,issue:a(s).connectIssue.value},null,8,["issue"]))]),_:1}),a(s).initialized.value&&E.value&&!a(y)?(l(),W(FU,{key:12,onComplete:L,onSkip:L})):I("",!0),w(oq,{warnings:a(s).warnings.value,onDismiss:a(s).dismissWarning},null,8,["warnings","onDismiss"]),w(pq,{notices:a(s).taskNotices.value,onDismiss:a(s).dismissTaskNotice},null,8,["notices","onDismiss"]),a(p)?(l(),W(SV,{key:13})):I("",!0),w(LW),a(f)?(l(),W(Vq,{key:14,modelValue:k.value,"onUpdate:modelValue":H[94]||(H[94]=A=>k.value=A),groups:a(s).workspaceGroups.value,"active-workspace-id":a(s).activeWorkspaceId.value,"active-id":a(s).activeSessionId.value,"attention-by-session":a(s).attentionBySession.value,"attention-by-workspace":a(s).attentionByWorkspace.value,onSelect:H[95]||(H[95]=A=>a(s).selectSession(A)),onCreate:os,onCreateInWorkspace:H[96]||(H[96]=A=>ys(A)),onAddWorkspace:H[97]||(H[97]=A=>Mt.value=!0),onRename:H[98]||(H[98]=(A,_e)=>a(s).renameSession(A,_e)),onArchive:H[99]||(H[99]=A=>At(A)),onDeleteWorkspace:H[100]||(H[100]=A=>yn(A)),onLoadMore:H[101]||(H[101]=A=>void a(s).loadMoreSessions(A))},null,8,["modelValue","groups","active-workspace-id","active-id","attention-by-session","attention-by-workspace"])):I("",!0),a(f)?(l(),W(dU,{key:15,modelValue:T.value,"onUpdate:modelValue":H[102]||(H[102]=A=>T.value=A),status:a(s).status.value,thinking:a(s).thinking.value,models:a(s).models.value,"plan-mode":a(s).planMode.value,"goal-mode":a(s).goalMode.value,"swarm-mode":a(s).swarmMode.value,"supermoon-mode":a(s).supermoonMode.value,"color-scheme":a(s).colorScheme.value,"ui-font-size":a(s).uiFontSize.value,"auth-ready":a(s).authReady.value,"kimi-oauth-enabled":a(s).kimiOauthEnabled.value,"conversation-toc":a(s).conversationToc.value,"task-notices":a(s).taskNoticesEnabled.value,"server-version":a(s).serverVersion.value,onPickModel:H[103]||(H[103]=A=>Yn()),onSetThinking:H[104]||(H[104]=A=>a(s).setThinking(A)),onTogglePlan:H[105]||(H[105]=A=>a(s).togglePlanMode()),onToggleGoal:H[106]||(H[106]=A=>a(s).toggleGoalMode()),onToggleSwarm:H[107]||(H[107]=A=>a(s).toggleSwarmMode()),onToggleSupermoon:H[108]||(H[108]=A=>a(s).toggleSupermoonMode()),onSetPermission:H[109]||(H[109]=A=>a(s).setPermission(A)),onSetColorScheme:H[110]||(H[110]=A=>a(s).setColorScheme(A)),onSetUiFontSize:H[111]||(H[111]=A=>a(s).setUiFontSize(A)),onSetConversationToc:H[112]||(H[112]=A=>a(s).setConversationToc(A)),onSetTaskNotices:H[113]||(H[113]=A=>a(s).setTaskNoticesEnabled(A)),onLogin:H[114]||(H[114]=()=>{T.value=!1,fe()}),onLogout:a(s).logout},null,8,["modelValue","status","thinking","models","plan-mode","goal-mode","swarm-mode","supermoon-mode","color-scheme","ui-font-size","auth-ready","kimi-oauth-enabled","conversation-toc","task-notices","server-version","onLogout"])):I("",!0)],6)),Jt.value?(l(),W(yD,{key:3,"on-start-o-auth-login":_n,"on-poll-o-auth-login":qn,"on-cancel-o-auth-login":$s,"on-resolve-o-auth-region":vs,onSuccess:gs,onClose:H[115]||(H[115]=A=>Jt.value=!1)})):I("",!0),w(DD,{state:a(we).state.value,onClose:H[116]||(H[116]=A=>a(we).close())},null,8,["state"])]))}}),uj=Le(rj,[["__scopeId","data-v-c18a3368"]]);Hy();_l(uj).use(wt).mount("#app");export{fj as I,X as _,Le as a};
diff --git a/apps/kimi-code/dist-web/index.html b/apps/kimi-code/dist-web/index.html
index b570a3446ab..d75d9ef5ad5 100644
--- a/apps/kimi-code/dist-web/index.html
+++ b/apps/kimi-code/dist-web/index.html
@@ -14,14 +14,14 @@
the server's Content-Security-Policy forbids inline scripts. -->
Kimi Code Web
-
+
-
+