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-BX1YnH6n.css b/apps/kimi-code/dist-web/assets/index-BX1YnH6n.css
new file mode 100644
index 00000000000..a446f8f214c
--- /dev/null
+++ b/apps/kimi-code/dist-web/assets/index-BX1YnH6n.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}.sd-head[data-v-ac47909f]{flex:1;min-width:0;display:flex;align-items:center;gap:var(--space-2)}.sd-search-icon[data-v-ac47909f]{flex:none;color:var(--color-text-muted)}.sd-input[data-v-ac47909f]{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-ac47909f]::placeholder{color:var(--color-text-muted)}.sd-list[data-v-ac47909f]{height:420px;overflow-y:auto;padding:var(--space-1) var(--space-2)}.sd-row[data-v-ac47909f]{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-ac47909f]:hover,.sd-row.on[data-v-ac47909f]{background:var(--color-surface-sunken)}.sd-row.active .sd-title[data-v-ac47909f]{color:var(--color-accent-hover)}.sd-meta[data-v-ac47909f]{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-ac47909f]{flex:none;color:var(--color-text-muted)}.sd-ws[data-v-ac47909f]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-time[data-v-ac47909f]{flex:none;font-family:var(--font-mono);color:var(--color-text-faint)}.sd-title[data-v-ac47909f]{min-width:0;font-size:var(--text-base);color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-snippet[data-v-ac47909f]{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-ac47909f] mark,.sd-snippet[data-v-ac47909f] 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-ac47909f]{padding:var(--space-6) var(--space-4);text-align:center;color:var(--color-text-muted);font-size:var(--text-sm)}.sd-hint[data-v-ac47909f]{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-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)}.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-1c24e83d]{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-1c24e83d]:hover{background:var(--sb-hover, var(--color-surface-sunken));color:var(--color-text)}.se.on[data-v-1c24e83d]{background:var(--color-selected);color:var(--color-text)}.row[data-v-1c24e83d]{display:flex;align-items:center;gap:var(--sb-gap, 6px);min-width:0}.left[data-v-1c24e83d]{display:flex;align-items:center;flex:1;min-width:0}.lead[data-v-1c24e83d]{width:var(--sb-gutter, 16px);flex:none;display:inline-flex;align-items:center;justify-content:center}.unread-dot[data-v-1c24e83d]{width:7px;height:7px;border-radius:var(--radius-full);background:var(--color-accent)}.t[data-v-1c24e83d]{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-1c24e83d]{margin-right:4px;font-size:var(--text-base)}.ts[data-v-1c24e83d]{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-1c24e83d]{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-1c24e83d]:hover{border-color:var(--color-line-strong)}.pr[data-v-1c24e83d]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.pr--open[data-v-1c24e83d],.pr--open[data-v-1c24e83d]:hover{background:var(--color-success-soft);border-color:var(--color-success-bd);color:var(--color-success)}.pr--merged[data-v-1c24e83d],.pr--merged[data-v-1c24e83d]:hover{background:var(--color-done-soft);border-color:var(--color-done-bd);color:var(--color-done)}.act[data-v-1c24e83d]{position:relative;flex:none;display:inline-flex;align-items:center;justify-content:flex-end;min-width:78px}.se.has-gen .act[data-v-1c24e83d]{min-width:104px}.act .btn[data-v-1c24e83d]{position:absolute;top:50%;transform:translateY(-50%);visibility:hidden}.act .kebab[data-v-1c24e83d]{right:0}.act .pin[data-v-1c24e83d]{right:26px}.act .emoji-btn[data-v-1c24e83d]{right:52px}.act .gen-title[data-v-1c24e83d]{right:78px}.act .pin.on[data-v-1c24e83d]{visibility:visible;color:var(--color-accent)}.se:hover .act .btn[data-v-1c24e83d],.act:has(.btn.open) .btn[data-v-1c24e83d]{visibility:visible}.se:hover .act .ts[data-v-1c24e83d],.act:has(.btn.open) .ts[data-v-1c24e83d]{visibility:hidden}.btn.open[data-v-1c24e83d]{color:var(--color-text);background:var(--sb-hover, var(--color-surface-sunken))}.emoji-glyph[data-v-1c24e83d]{font-size:var(--text-base);line-height:1}.emoji-picker[data-v-1c24e83d]{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-1c24e83d]{display:grid;grid-template-columns:repeat(5,28px);gap:var(--space-1)}.emoji-cell[data-v-1c24e83d]{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-1c24e83d]:hover{background:var(--color-surface-sunken)}.emoji-cell[data-v-1c24e83d]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.emoji-cell.on[data-v-1c24e83d]{background:var(--color-accent-soft)}.emoji-clear[data-v-1c24e83d]{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-1c24e83d]:hover{background:var(--color-surface-sunken);color:var(--color-text)}.menu[data-v-1c24e83d]{position:fixed;top:0;left:0;z-index:var(--z-dropdown)}.menu-time[data-v-1c24e83d]{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-1c24e83d]{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-1c24e83d]{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-1c24e83d]{border-radius:var(--radius-sm);font-family:var(--sans)}.sessions .se .btn[data-v-1c24e83d]{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)}.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)}.side[data-v-7e5a3931]{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-7e5a3931]{transition:none}.side.collapsed[data-v-7e5a3931]{visibility:hidden}.col[data-v-7e5a3931]{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-7e5a3931]{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-7e5a3931]{padding-left:80px;-webkit-app-region:drag}.side.macos-desktop .ch-brand[data-v-7e5a3931]{display:none}.ch-logo[data-v-7e5a3931]{height:22px;width:32px;flex:none;display:block;cursor:pointer;user-select:none;touch-action:none;transition:transform .18s ease}.ch-logo[data-v-7e5a3931]:hover{transform:scale(1.08)}.ch-logo.is-dev[data-v-7e5a3931]{--logo: var(--color-logo-dev)}.ch-brand[data-v-7e5a3931]{display:flex;align-items:center;gap:8px;min-width:0;flex:1;user-select:none;touch-action:none}.ch-name[data-v-7e5a3931]{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-7e5a3931]{flex:none;min-width:0}.ch-backend-kind[data-v-7e5a3931]{font-family:var(--mono);font-weight:500;color:var(--color-text-muted)}.ch-backend-kind.is-v2[data-v-7e5a3931]{color:var(--color-accent)}.ch-backend-ep[data-v-7e5a3931]{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-7e5a3931]{display:none}}@container sidebar-col (max-width: 250px){.ch-name[data-v-7e5a3931]{display:none}}.btn-wrap[data-v-7e5a3931]{display:flex;align-items:center;gap:8px;padding:0 var(--sb-inset)}.btn-new-chat[data-v-7e5a3931]{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-7e5a3931]:hover{background:var(--sb-hover)}.btn-new-chat[data-v-7e5a3931]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.btn-new-chat svg[data-v-7e5a3931]{flex:none}.btn-new-chat span[data-v-7e5a3931]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-wrap[data-v-7e5a3931]{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-7e5a3931]{border-bottom-color:var(--line);box-shadow:var(--shadow-sm)}.search[data-v-7e5a3931]{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-7e5a3931]:hover{background:var(--sb-hover)}.search[data-v-7e5a3931]:focus-visible{background:var(--sb-hover);color:var(--color-text);outline:2px solid var(--color-accent-bd);outline-offset:-2px}.search-icon[data-v-7e5a3931]{flex:none}.search-input[data-v-7e5a3931]{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}.sessions[data-v-7e5a3931]{flex:1;overflow-y:auto;padding:var(--space-3) var(--sb-inset);min-height:0}.sessions[data-v-7e5a3931]::-webkit-scrollbar{width:4px}.sessions[data-v-7e5a3931]::-webkit-scrollbar-track{background:transparent}.sessions[data-v-7e5a3931]::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--color-text) 12%,transparent);border-radius:var(--radius-full)}.sessions[data-v-7e5a3931]::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--color-text) 25%,transparent)}.side-footer[data-v-7e5a3931]{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-7e5a3931]{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-7e5a3931]:hover{background:var(--sb-hover)}.btn-settings[data-v-7e5a3931]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.btn-settings svg[data-v-7e5a3931]{flex:none}.btn-settings span[data-v-7e5a3931]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-mascot[data-v-7e5a3931]{flex:none}.side-section-label[data-v-7e5a3931]{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-7e5a3931]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-section-toggle[data-v-7e5a3931]{color:var(--faint);opacity:0;transition:opacity var(--duration-base) var(--ease-out)}.side-section-label:hover .side-section-toggle[data-v-7e5a3931],.side-section-label:focus-within .side-section-toggle[data-v-7e5a3931]{opacity:1}.side-section-toggle[data-v-7e5a3931]:hover{color:var(--dim)}.side-section-toggle svg[data-v-7e5a3931]{width:13px;height:13px}.side-section-actions[data-v-7e5a3931]{display:flex;align-items:center;gap:2px}.ws-drop-target.drop-before[data-v-7e5a3931]{box-shadow:inset 0 2px 0 var(--color-accent)}.ws-drop-target.drop-after[data-v-7e5a3931]{box-shadow:inset 0 -2px 0 var(--color-accent)}.empty[data-v-7e5a3931]{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-7e5a3931],.gh-menu[data-v-7e5a3931],.section-menu[data-v-7e5a3931],.backend-menu[data-v-7e5a3931]{position:fixed;top:0;left:0;z-index:var(--z-dropdown)}.section-menu-check[data-v-7e5a3931]{display:inline-flex;flex:none;width:14px}.backend-menu-name[data-v-7e5a3931]{font-family:var(--mono);font-weight:500}.backend-menu-url[data-v-7e5a3931]{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-72115ae1]{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-72115ae1]:hover{color:var(--color-text);background:var(--color-surface-sunken)}.at-type[data-v-72115ae1]{font:var(--text-xs) var(--font-mono);color:var(--color-text-muted);margin-bottom:6px}.at-type-sep[data-v-72115ae1]{margin:0 6px;color:var(--color-text-faint)}.at-task[data-v-72115ae1]{color:var(--color-text);white-space:pre-wrap;word-break:break-word}.at-task+.bb-code[data-v-72115ae1]{margin-top:10px}.bb-code[data-v-72115ae1]{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-262bbea0]{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-262bbea0]{max-height:calc(var(--tool-output-visible-lines) * 1lh);overflow-y:auto;scrollbar-gutter:stable}.bb-empty[data-v-262bbea0]{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-aa4edcb0]{color:var(--color-text);border-bottom:1px dashed var(--color-line);padding-bottom:6px;margin-bottom:6px;word-break:break-all}.chip[data-v-aa4edcb0]{color:var(--color-text-muted);font-size:var(--text-xs);flex:none}.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}.tool-group[data-v-37eb334f]{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-37eb334f]{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-37eb334f]:hover{background:var(--color-surface-sunken);color:var(--color-text)}.tool-group-head[data-v-37eb334f]:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--color-accent-soft)}.tg-ic[data-v-37eb334f]{color:var(--color-text-faint);flex:none}.tg-title[data-v-37eb334f]{font-weight:var(--weight-medium);color:var(--color-text)}.tg-meta[data-v-37eb334f]{color:var(--color-text-faint)}.tg-car[data-v-37eb334f]{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-37eb334f]{transform:rotate(90deg)}.tool-group-body[data-v-37eb334f]{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-37eb334f]{grid-template-rows:minmax(0,1fr)}.tool-group-body-inner[data-v-37eb334f]{min-height:0;overflow:hidden;display:flex;flex-direction:column}.md[data-v-9ccdd7fa]{font:400 15px/1.6 var(--font-ui);color:var(--color-text);word-break:break-word}.md[data-v-9ccdd7fa] .markdown-renderer{font:400 15px/1.6 var(--font-ui);color:var(--color-text)}.md[data-v-9ccdd7fa] .markstream-vue,.md[data-v-9ccdd7fa] .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-9ccdd7fa] .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-9ccdd7fa] .md-file-link:hover{color:var(--color-accent)}.md[data-v-9ccdd7fa] .markdown-renderer p,.md[data-v-9ccdd7fa] .markdown-renderer li,.md[data-v-9ccdd7fa] .markdown-renderer blockquote,.md[data-v-9ccdd7fa] .markdown-renderer td,.md[data-v-9ccdd7fa] .markdown-renderer th{font-size:var(--content-font-size)}.md[data-v-9ccdd7fa] .markdown-renderer img{background:var(--media-alpha-canvas)}.md[data-v-9ccdd7fa] strong{color:color-mix(in srgb,var(--color-text) 86%,var(--color-text-muted));font-weight:var(--weight-semibold)}.md[data-v-9ccdd7fa] h1,.md[data-v-9ccdd7fa] h2,.md[data-v-9ccdd7fa] h3,.md[data-v-9ccdd7fa] 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-9ccdd7fa] 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-9ccdd7fa] h2{font-size:max(var(--text-lg),calc(var(--content-font-size) + 2px))}.md[data-v-9ccdd7fa] h3{font-size:max(var(--text-lg),calc(var(--content-font-size) + 1px))}.md[data-v-9ccdd7fa] h4{font-size:max(var(--text-base),calc(var(--content-font-size) + 1px));color:var(--color-text-muted)}.md[data-v-9ccdd7fa] p{margin:.8rem 0}.md[data-v-9ccdd7fa] .node-slot+.node-slot{margin-top:.8rem}.md[data-v-9ccdd7fa] ul,.md[data-v-9ccdd7fa] ol{padding-left:1.4em;margin:.6em 0}.md[data-v-9ccdd7fa] li{margin:.3em 0}.md[data-v-9ccdd7fa] :not(pre)>code,.md[data-v-9ccdd7fa] .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-9ccdd7fa] strong code,.md[data-v-9ccdd7fa] strong .inline-code,.md[data-v-9ccdd7fa] b code,.md[data-v-9ccdd7fa] b .inline-code{font-weight:var(--weight-semibold)}.md[data-v-9ccdd7fa] .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-9ccdd7fa] .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-9ccdd7fa] .code-block-header *{color:var(--color-text-muted);font:var(--text-xs) var(--font-mono)}.md[data-v-9ccdd7fa] .code-block-header .code-header-main{font-family:var(--font-ui)}.md[data-v-9ccdd7fa] .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-9ccdd7fa] .code-block-header .code-action-btn:hover{background:var(--color-surface-sunken);color:var(--color-text)}.md[data-v-9ccdd7fa] .code-block-header .code-action-btn:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.md[data-v-9ccdd7fa] .code-block-header .code-action-btn *{pointer-events:none}.md[data-v-9ccdd7fa] .code-block-shell-content,.md[data-v-9ccdd7fa] .markstream-pre{background:var(--color-surface-sunken)}.md[data-v-9ccdd7fa] .code-editor-container{line-height:1.65;--diffs-gap-block: var(--space-3)}.md[data-v-9ccdd7fa] .code-editor-container diffs-container{--diffs-line-height: 1.65em}.md[data-v-9ccdd7fa] .code-pre-fallback>.markstream-pre__line-numbers{display:none}.md[data-v-9ccdd7fa] .code-block-container .code-pre-fallback{padding-left:1ch;line-height:1.65!important}.md[data-v-9ccdd7fa] .code-block-container pre:not(.code-pre-fallback):not(.markstream-pre--line-numbers),.md[data-v-9ccdd7fa] .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-9ccdd7fa] .code-block-container pre code{font:inherit;color:var(--color-text);background:none;border:none;padding:0;border-radius:0}.md[data-v-9ccdd7fa] .markstream-pre,.md[data-v-9ccdd7fa] .code-pre-fallback,.md[data-v-9ccdd7fa] .code-block-shell-content pre:not(.shiki),.md[data-v-9ccdd7fa] .code-block-shell-content pre:not(.shiki) code{color:var(--color-text)}.md[data-v-9ccdd7fa] a{color:var(--color-accent);text-decoration:none}.md[data-v-9ccdd7fa] a:hover{text-decoration:underline}.md[data-v-9ccdd7fa] .katex-display{overflow-x:auto;overflow-y:hidden;padding:2px 0 6px;margin:.6em 0}.md[data-v-9ccdd7fa] blockquote{margin:.5em 0;padding:4px 12px;border-left:3px solid var(--color-line);color:var(--color-text-muted)}.md[data-v-9ccdd7fa] hr{border:none;border-top:1px solid var(--color-line);margin:.8em 0}.md[data-v-9ccdd7fa] table:not(.table-node){border-collapse:collapse;font-size:var(--text-lg);margin:.5em 0}.md[data-v-9ccdd7fa] table:not(.table-node) th,.md[data-v-9ccdd7fa] table:not(.table-node) td{border:1px solid var(--color-line);padding:4px 10px;text-align:left}.md[data-v-9ccdd7fa] table:not(.table-node) th{background:var(--color-surface);color:var(--color-text);font-weight:var(--weight-medium)}.md[data-v-9ccdd7fa] .table-node-wrapper{width:100%;max-width:100%!important;min-width:0;overflow-x:auto!important}.md[data-v-9ccdd7fa] .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-9ccdd7fa] .table-node th,.md[data-v-9ccdd7fa] .table-node td{text-align:left;vertical-align:top;max-width:var(--p-table-cell-max)}.md[data-v-9ccdd7fa] .table-node .text-node{display:inline-block;max-width:var(--p-table-cell-max);vertical-align:top}.md[data-v-9ccdd7fa] .table-node tbody tr:hover{background-color:transparent!important}.diff-wrap[data-v-9ccdd7fa]{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-9ccdd7fa]{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-9ccdd7fa]{margin-right:auto}.diff-copy[data-v-9ccdd7fa]{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-9ccdd7fa]:hover{background:var(--color-surface-sunken);color:var(--color-text)}.diff-copy[data-v-9ccdd7fa]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.diff-pre[data-v-9ccdd7fa]{margin:0;padding:12px 0;overflow-x:auto;background:var(--color-surface-sunken)}.diff-pre code[data-v-9ccdd7fa]{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-9ccdd7fa]{display:block;width:100%;padding:0 14px}.diff-sign[data-v-9ccdd7fa]{display:inline-block;width:14px;text-align:center;color:var(--color-text-muted);user-select:none}.diff-text[data-v-9ccdd7fa]{color:var(--color-text)}.diff-add[data-v-9ccdd7fa]{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-9ccdd7fa]{color:var(--color-success)}.diff-del[data-v-9ccdd7fa]{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-9ccdd7fa]{color:var(--color-danger)}.diff-hunk[data-v-9ccdd7fa]{background:var(--color-surface)}.diff-hunk .diff-text[data-v-9ccdd7fa]{color:var(--color-text-muted)}.md[data-v-9ccdd7fa],.md .markdown-renderer[data-v-9ccdd7fa]{font-family:var(--sans)}.md .code-block-container[data-v-9ccdd7fa],.md .diff-wrap[data-v-9ccdd7fa]{border-radius:var(--radius-md)}.md :not(pre)>code[data-v-9ccdd7fa],.md .inline-code[data-v-9ccdd7fa]{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-3ca41c3a]{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-3ca41c3a]{font-size:var(--ui-font-size-sm)}.chat-loading[data-v-3ca41c3a]{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:24px 16px;color:var(--muted)}.chat-loading-text[data-v-3ca41c3a]{font-size:var(--ui-font-size-sm)}.chat[data-v-3ca41c3a]{--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-3ca41c3a]{align-self:stretch}.open-unsupported[data-v-3ca41c3a]{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-3ca41c3a],.chat>.a-msg[data-v-3ca41c3a],.chat>.compact-divider[data-v-3ca41c3a],.chat>.cron-notice[data-v-3ca41c3a],.chat>.sending-placeholder[data-v-3ca41c3a],.chat[data-v-3ca41c3a]>.activity-notice{margin-top:var(--chat-turn-gap)}.chat>.a-msg[data-v-3ca41c3a]{margin-top:10px}.chat>.u-turn[data-v-3ca41c3a]:first-child,.chat>.a-msg[data-v-3ca41c3a]:first-child,.chat>.compact-divider[data-v-3ca41c3a]:first-child,.chat>.cron-notice[data-v-3ca41c3a]:first-child,.chat>.sending-placeholder[data-v-3ca41c3a]:first-child,.chat[data-v-3ca41c3a]>.activity-notice:first-child{margin-top:0}.u-turn[data-v-3ca41c3a]{display:flex;flex-direction:column;align-items:flex-end;align-self:flex-start;width:100%}.u-bub[data-v-3ca41c3a]{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-3ca41c3a]{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-3ca41c3a]{min-height:22px;box-sizing:border-box}.u-text[data-v-3ca41c3a]{white-space:pre-wrap;overflow-wrap:anywhere}.u-edit[data-v-3ca41c3a]{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-3ca41c3a]{display:block;flex:none}.u-edit[data-v-3ca41c3a]:hover{opacity:1;color:var(--color-accent);background:var(--hover)}.u-copy[data-v-3ca41c3a]{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-3ca41c3a]{display:block;flex:none}.u-copy[data-v-3ca41c3a]:hover{opacity:1;color:var(--color-accent);background:var(--hover)}.u-edit-wrap[data-v-3ca41c3a]{display:flex;justify-content:flex-end}.chat>.u-edit-wrap[data-v-3ca41c3a]{margin-top:4px}.chat>.u-edit-wrap+.a-msg[data-v-3ca41c3a]{margin-top:8px}.compact-divider[data-v-3ca41c3a]{display:flex;align-items:center;gap:10px;align-self:stretch;width:100%;margin:var(--chat-section-gap) 0 0}.chat>.compact-divider[data-v-3ca41c3a]:first-child{margin-top:0}.cd-line[data-v-3ca41c3a]{flex:1;height:1px;background:var(--line)}.cd-label[data-v-3ca41c3a]{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-3ca41c3a]{background:none;border:none;padding:0;cursor:pointer;font:inherit;font-size:var(--text-base);color:var(--muted)}.cd-view[data-v-3ca41c3a]{color:var(--color-accent)}.cd-btn:hover .cd-view[data-v-3ca41c3a]{text-decoration:underline}.a-msg[data-v-3ca41c3a]{align-self:flex-start;max-width:94%;width:94%}.a-msg-ft[data-v-3ca41c3a]{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-3ca41c3a]{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-3ca41c3a]:hover{opacity:1;color:var(--color-accent);background:var(--hover)}.a-cpbtn svg[data-v-3ca41c3a]{display:block;flex:none}@media(hover:none){.a-msg-ft[data-v-3ca41c3a]{height:auto;margin-top:var(--chat-block-gap);opacity:1;pointer-events:auto}.a-cpbtn[data-v-3ca41c3a]{font-size:var(--ui-font-size-sm);padding:8px 10px;margin:-4px -6px}}.a-msg .msg[data-v-3ca41c3a]{font-size:var(--ui-font-size);line-height:1.6;color:var(--color-text);font-weight:500}.a-msg .msg[data-v-3ca41c3a] p{margin:0}.a-msg .msg[data-v-3ca41c3a] p+p{margin-top:8px}.a-msg>.msg[data-v-3ca41c3a],.a-msg[data-v-3ca41c3a]>.think,.a-msg[data-v-3ca41c3a]>.tool-group,.a-msg[data-v-3ca41c3a]>.agent-card,.a-msg[data-v-3ca41c3a]>.agent-group,.a-msg[data-v-3ca41c3a]>.box,.a-msg[data-v-3ca41c3a]>.swarm-card,.a-msg[data-v-3ca41c3a]>.media-tool,.a-msg[data-v-3ca41c3a]>.ui-banner{margin-top:var(--chat-block-gap)}.a-msg>.msg[data-v-3ca41c3a]:first-child,.a-msg[data-v-3ca41c3a]>.think:first-child,.a-msg[data-v-3ca41c3a]>.tool-group:first-child,.a-msg[data-v-3ca41c3a]>.agent-card:first-child,.a-msg[data-v-3ca41c3a]>.agent-group:first-child,.a-msg[data-v-3ca41c3a]>.box:first-child,.a-msg[data-v-3ca41c3a]>.swarm-card:first-child,.a-msg[data-v-3ca41c3a]>.media-tool:first-child,.a-msg[data-v-3ca41c3a]>.ui-banner:first-child{margin-top:0}.a-msg[data-v-3ca41c3a] 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-3ca41c3a] .markstream-vue.markdown-renderer:has(.table-node-wrapper){content-visibility:visible}.a-msg .msg[data-v-3ca41c3a] .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-3ca41c3a]{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.sending-placeholder[data-v-3ca41c3a]{align-self:flex-start;padding:10px 0}.turn-error[data-v-3ca41c3a]{flex-wrap:wrap}.turn-error-text[data-v-3ca41c3a]{flex:1;min-width:0;white-space:pre-wrap;overflow-wrap:anywhere}.turn-error-resume[data-v-3ca41c3a]{margin-left:auto;flex:none}.skill-act[data-v-3ca41c3a]{display:flex;flex-direction:column;gap:2px}.skill-act-head[data-v-3ca41c3a]{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-3ca41c3a]{color:var(--color-accent);font-size:var(--text-base)}.skill-act-args[data-v-3ca41c3a]{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-3ca41c3a]{box-sizing:border-box;width:100%;padding:14px max(12px,var(--safe-right)) 18px max(12px,var(--safe-left))}.u-bub[data-v-3ca41c3a]{max-width:min(88%,calc(100vw - 52px))}.a-msg[data-v-3ca41c3a]{width:100%;max-width:100%}.u-bub .u-text[data-v-3ca41c3a],.a-msg .msg[data-v-3ca41c3a]{font-size:var(--ui-font-size-xl)}.a-msg[data-v-3ca41c3a] .md,.a-msg[data-v-3ca41c3a] .markdown-renderer,.a-msg[data-v-3ca41c3a] .code-block-container,.a-msg[data-v-3ca41c3a] .diff-wrap,.a-msg[data-v-3ca41c3a] pre{max-width:100%}.a-msg[data-v-3ca41c3a] .code-block-container pre,.a-msg[data-v-3ca41c3a] .diff-pre{overflow-x:auto;-webkit-overflow-scrolling:touch}.a-msg[data-v-3ca41c3a] .media-tool.mob{width:min(44vw,160px)}.cd-label[data-v-3ca41c3a]{min-width:0;max-width:calc(100% - 48px);overflow:hidden;text-overflow:ellipsis}.u-edit-confirm[data-v-3ca41c3a]{flex-wrap:wrap;justify-content:flex-end;max-width:calc(100vw - 28px)}.ts[data-v-3ca41c3a]{font-size:var(--ui-font-size-sm)}.chat-empty-text[data-v-3ca41c3a],.chat-loading-text[data-v-3ca41c3a]{font-size:var(--ui-font-size-lg)}.cd-label[data-v-3ca41c3a],.cd-btn[data-v-3ca41c3a]{font-size:var(--ui-font-size)}}.top-sentinel[data-v-3ca41c3a]{display:flex;align-items:center;justify-content:center;padding:12px 0;min-height:28px}.top-sentinel-loading[data-v-3ca41c3a]{opacity:.8}.top-sentinel-btn[data-v-3ca41c3a]{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-3ca41c3a]:hover{color:var(--fg);border-color:var(--fg)}.top-sentinel-text[data-v-3ca41c3a]{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:var(--ui-font-size-sm)}.chat[data-v-3ca41c3a]{background:transparent}.chat[data-v-3ca41c3a]{gap:0;padding:22px 20px 26px}.u-bub[data-v-3ca41c3a]{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-3ca41c3a]{max-width:100%;width:100%}.chat>.q-stack[data-v-3ca41c3a]{margin-top:var(--chat-turn-gap)}.chat>.q-stack[data-v-3ca41c3a]:first-child{margin-top:0}.q-stack[data-v-3ca41c3a]{align-self:flex-end;width:100%;display:flex;flex-direction:column;gap:8px}.q-head[data-v-3ca41c3a]{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-3ca41c3a]{display:inline-flex;align-items:center;gap:6px}.q-title b[data-v-3ca41c3a]{color:var(--color-accent-hover);font-weight:var(--weight-medium)}.q-hint[data-v-3ca41c3a]{color:var(--color-text-faint)}.q-turn[data-v-3ca41c3a]{position:relative}.q-bub[data-v-3ca41c3a]{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-3ca41c3a]:hover{border-color:var(--color-accent);background:var(--color-accent-soft)}.q-grip[data-v-3ca41c3a]{flex:none;display:inline-flex;align-items:center;padding:2px;color:var(--color-text-faint);cursor:grab;opacity:.7}.q-grip[data-v-3ca41c3a]:hover{opacity:1}.q-grip[data-v-3ca41c3a]:active{cursor:grabbing}.q-body[data-v-3ca41c3a]{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-3ca41c3a]{opacity:1}.q-body[data-v-3ca41c3a]:disabled{cursor:default}.q-text[data-v-3ca41c3a]{white-space:pre-wrap;overflow-wrap:anywhere}.q-text-placeholder[data-v-3ca41c3a]{display:inline-flex;align-items:center;gap:4px;color:var(--color-text-muted)}.q-imgs[data-v-3ca41c3a]{display:flex;gap:4px;flex:none}.q-img[data-v-3ca41c3a]{width:28px;height:28px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--color-line)}.q-file[data-v-3ca41c3a]{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-3ca41c3a]{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-3ca41c3a]{color:var(--color-accent-hover);background:var(--color-accent-soft);border:1px solid var(--color-accent-bd)}.q-tag-idx[data-v-3ca41c3a]{color:var(--color-text-faint);background:var(--color-surface-sunken);border:1px solid var(--color-line)}.q-steer[data-v-3ca41c3a],.q-rm[data-v-3ca41c3a]{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-3ca41c3a]{position:relative;touch-action:manipulation}.q-steer[data-v-3ca41c3a]:after{content:"";position:absolute;inset:-11px}.q-bub:hover .q-steer[data-v-3ca41c3a],.q-bub:focus-within .q-steer[data-v-3ca41c3a],.q-steer[data-v-3ca41c3a]:focus-visible,.q-bub:hover .q-rm[data-v-3ca41c3a],.q-bub:focus-within .q-rm[data-v-3ca41c3a],.q-rm[data-v-3ca41c3a]:focus-visible{opacity:1}.q-steer[data-v-3ca41c3a]:hover{background:var(--color-accent-soft);color:var(--color-accent)}.q-rm[data-v-3ca41c3a]:hover{background:var(--color-danger-soft);color:var(--color-danger)}.q-turn.q-dragging .q-bub[data-v-3ca41c3a]{opacity:.45}.q-turn.drop-before[data-v-3ca41c3a]:before,.q-turn.drop-after[data-v-3ca41c3a]: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-3ca41c3a]:before{top:-5px}.q-turn.drop-after[data-v-3ca41c3a]:after{bottom:-5px}.chat[data-v-3ca41c3a] .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-3ca41c3a] .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-a3848f6a]{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-a3848f6a]{-webkit-app-region:drag}.chat-header.macos-desktop button[data-v-a3848f6a],.chat-header.macos-desktop input[data-v-a3848f6a]{-webkit-app-region:no-drag}.ch-id[data-v-a3848f6a]{display:flex;align-items:center;gap:6px;min-width:0;flex:none;max-width:46%}.ch-ws[data-v-a3848f6a]{color:var(--color-text-muted);font-size:var(--text-base);font-weight:var(--weight-medium);flex:none}.ch-sep[data-v-a3848f6a]{color:var(--color-text-faint);flex:none}.ch-ses[data-v-a3848f6a]{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-a3848f6a]{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-a3848f6a]{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-a3848f6a]{color:var(--color-text)}.ch-branch[data-v-a3848f6a]{color:var(--dim);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:4px}.ch-detached[data-v-a3848f6a]{color:var(--muted);font-style:italic}.ch-pill[data-v-a3848f6a]{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-a3848f6a]{border-color:var(--line)}.ch-diff-pill[data-v-a3848f6a]{border-color:color-mix(in srgb,var(--color-success) 20%,var(--line))}.ch-ahead[data-v-a3848f6a]{color:var(--color-warning);flex:none}.ch-behind[data-v-a3848f6a]{color:var(--color-accent-hover);flex:none}.ch-add[data-v-a3848f6a]{color:var(--color-success);flex:none}.ch-del[data-v-a3848f6a]{color:var(--color-danger);flex:none}.ch-spacer[data-v-a3848f6a]{flex:1;min-width:0}.ch-act-more.open[data-v-a3848f6a],.ch-act-search.active[data-v-a3848f6a]{background:var(--color-surface-sunken);color:var(--color-text)}.ch-pr[data-v-a3848f6a]{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-a3848f6a]{flex:none}.ch-pr.pr-open[data-v-a3848f6a]{color:var(--color-success);border-color:var(--color-success-bd);background:var(--color-success-soft)}.ch-pr.pr-merged[data-v-a3848f6a]{color:var(--color-done);border-color:var(--color-done-bd);background:var(--color-done-soft)}.ch-pr.pr-closed[data-v-a3848f6a]{color:var(--color-danger);border-color:var(--color-danger-bd);background:var(--color-danger-soft)}.ch-pr.pr-draft[data-v-a3848f6a],.ch-pr.pr-unknown[data-v-a3848f6a]{color:var(--color-text-muted);border-color:var(--color-line-strong);background:var(--color-surface-sunken)}.ch-pr[data-v-a3848f6a]:hover{border-color:var(--color-line-strong)}.ch-menu[data-v-a3848f6a]{position:fixed;top:0;left:0;z-index:var(--z-dropdown)}@media(max-width:980px){.ch-act-label[data-v-a3848f6a]{display:none}}@media(max-width:640px){.chat-header[data-v-a3848f6a]{display:none}}.slash-menu[data-v-3f12a9ed]{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-3f12a9ed]{position:relative}.slash-list[data-v-3f12a9ed]{max-height:240px;overflow-y:auto}.slash-item[data-v-3f12a9ed]{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-3f12a9ed]:hover{background:var(--color-surface-sunken)}.slash-item.active[data-v-3f12a9ed]{background:var(--color-accent-soft)}.slash-item.active .slash-name[data-v-3f12a9ed]{color:var(--color-accent-hover)}.slash-name[data-v-3f12a9ed]{color:var(--color-accent);font-weight:500;min-width:0;line-height:var(--leading-normal);overflow-wrap:anywhere}.slash-match[data-v-3f12a9ed]{font-weight:var(--weight-semibold)}.slash-desc-match[data-v-3f12a9ed]{font-weight:var(--weight-semibold);color:var(--color-text)}.slash-desc[data-v-3f12a9ed]{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-3f12a9ed]{padding:8px 12px;font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-text-muted)}.menu-scroll-thumb[data-v-3f12a9ed]{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-3f12a9ed]:hover,.menu-scroll-thumb[data-v-3f12a9ed]:active{background:var(--color-text-faint)}.menu-scroll-fade[data-v-3f12a9ed]{position:absolute;left:0;right:0;height:12px;pointer-events:none;transition:opacity var(--duration-fast) ease}.menu-scroll-fade-top[data-v-3f12a9ed]{top:var(--space-1);background:var(--menu-fade-top)}.menu-scroll-fade-bottom[data-v-3f12a9ed]{bottom:var(--space-1);background:var(--menu-fade-bottom)}@media(max-width:520px){.slash-item[data-v-3f12a9ed]{grid-template-columns:minmax(0,1fr);gap:2px}}.slash-menu[data-v-3f12a9ed]{border-radius:var(--radius-lg);box-shadow:var(--sh)}.slash-desc[data-v-3f12a9ed]{font-family:var(--sans)}.mention-menu[data-v-b8578b17]{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-scroller[data-v-b8578b17]{position:relative}.mention-list[data-v-b8578b17]{max-height:220px;overflow-y:auto}.mention-state[data-v-b8578b17]{padding:8px 12px;font-family:var(--font-ui);font-size:var(--text-sm)}.dim[data-v-b8578b17]{color:var(--color-text-muted)}.mention-item[data-v-b8578b17]{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-b8578b17]{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-b8578b17] svg{width:13px;height:13px;display:block}.mention-item:hover .mention-icon[data-v-b8578b17],.mention-item.active .mention-icon[data-v-b8578b17]{color:var(--color-text-muted)}.mention-item[data-v-b8578b17]:hover{background:var(--color-surface-sunken)}.mention-item.active[data-v-b8578b17]{background:var(--color-accent-soft)}.mention-name[data-v-b8578b17]{color:var(--color-text);font-weight:500;min-width:80px;flex-shrink:0}.mention-path[data-v-b8578b17]{color:var(--color-text-muted);font-size:var(--text-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-scroll-thumb[data-v-b8578b17]{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-b8578b17]:hover,.menu-scroll-thumb[data-v-b8578b17]:active{background:var(--color-text-faint)}.menu-scroll-fade[data-v-b8578b17]{position:absolute;left:0;right:0;height:12px;pointer-events:none;transition:opacity var(--duration-fast) ease}.menu-scroll-fade-top[data-v-b8578b17]{top:var(--space-1);background:var(--menu-fade-top)}.menu-scroll-fade-bottom[data-v-b8578b17]{bottom:var(--space-1);background:var(--menu-fade-bottom)}.mention-menu[data-v-b8578b17]{border-radius:var(--radius-lg);box-shadow:var(--sh)}.mention-state[data-v-b8578b17]{font-family:var(--sans)}.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-e7022649]{padding:7px var(--dock-inline-right, 16px) 12px var(--dock-inline-left, 16px);background:transparent;transition:background .12s}.composer.drag-over[data-v-e7022649]{background:var(--color-accent-soft)}.drop-overlay[data-v-e7022649]{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-e7022649]{opacity:1;visibility:visible}.drop-card[data-v-e7022649]{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-e7022649]{--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-e7022649]:focus-within{border-color:var(--color-accent);box-shadow:var(--shadow-md),0 0 0 3px var(--color-accent-soft)}.att-strip[data-v-e7022649]{display:flex;flex-wrap:wrap;gap:6px;padding:4px 0 6px}.att-lightbox[data-v-e7022649]{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-e7022649]{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-e7022649]{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-e7022649]{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-e7022649]{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-e7022649]{display:none}.cin-wrap[data-v-e7022649]{position:relative;padding:14px 16px 8px}.input-row[data-v-e7022649]{position:relative;display:flex;align-items:flex-start;gap:var(--space-2)}.expand-btn[data-v-e7022649]{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-e7022649]:hover{background:var(--panel2);color:var(--color-text)}.expand-btn[data-v-e7022649]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.ph[data-v-e7022649]{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-e7022649]::placeholder{color:var(--muted)}.ph[data-v-e7022649]:not(:placeholder-shown){color:var(--color-text)}.composer.expanded .ph[data-v-e7022649]{min-height:70vh;max-height:70vh}.compact-chip[data-v-e7022649]{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-e7022649]:hover{background:var(--panel2)}.send[data-v-e7022649]{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-e7022649]:hover{background:var(--color-accent-hover)}.send[data-v-e7022649]:active{transform:scale(.92)}.send[data-v-e7022649]:disabled{cursor:not-allowed;opacity:.88}.send[data-v-e7022649]:disabled:active{transform:none}.send.is-starting[data-v-e7022649] .ui-spinner{color:var(--color-text-on-accent)}.send.is-starting[data-v-e7022649] .ui-spinner__track{stroke:color-mix(in srgb,var(--color-text-on-accent) 32%,transparent)}.send svg[data-v-e7022649]{flex:none;width:var(--p-ic-lg);height:var(--p-ic-lg)}.stop[data-v-e7022649]{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-e7022649]:hover{background:var(--color-danger);color:var(--surface-light);border-color:var(--color-danger)}.stop[data-v-e7022649]:active{transform:scale(.92)}.stop svg[data-v-e7022649]{flex:none;width:var(--p-ic-lg);height:var(--p-ic-lg)}.toolbar[data-v-e7022649]{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-e7022649]{position:absolute;width:max-content;height:0;overflow:hidden;visibility:hidden;pointer-events:none}.toolbar-left[data-v-e7022649],.toolbar-right[data-v-e7022649]{display:flex;align-items:center;gap:2px;min-width:0;overflow:hidden}.toolbar-left[data-v-e7022649]{flex-wrap:wrap;row-gap:4px}.perm-pill[data-v-e7022649]{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-e7022649]:hover{background:var(--color-surface-sunken)}.perm-pill.open[data-v-e7022649]{background:var(--color-accent-soft)}.perm-pill.perm-manual[data-v-e7022649]{color:var(--dim)}.perm-pill.perm-yolo[data-v-e7022649]{color:var(--color-warning)}.perm-pill.perm-auto[data-v-e7022649]{color:var(--color-danger)}.ctx-group[data-v-e7022649]{display:flex;align-items:center;gap:4px;flex-shrink:0;padding:2px 4px;border-radius:var(--radius-xs)}.ctx-group[data-v-e7022649]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.model-pill[data-v-e7022649]{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-e7022649]:hover{background:var(--color-surface-sunken);color:var(--color-text)}.model-pill.open[data-v-e7022649]{background:var(--color-accent-soft)}.model-pill b[data-v-e7022649]{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-e7022649]{color:var(--color-accent);font-weight:500;flex-shrink:0}.model-pill .cv[data-v-e7022649]{color:var(--faint);flex:none}.model-pill:hover .cv[data-v-e7022649],.model-pill.open .cv[data-v-e7022649]{color:var(--color-accent-hover)}.model-dropdown[data-v-e7022649]{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-e7022649]{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-e7022649]{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-e7022649]:hover{background:var(--color-surface-sunken)}.md-row[data-v-e7022649]:disabled{cursor:default;opacity:.58}.md-row[data-v-e7022649]:disabled:hover{background:none}.md-row.is-current[data-v-e7022649]{color:var(--color-text);background:var(--color-accent-soft)}.md-row.is-on[data-v-e7022649]{color:var(--color-accent)}.md-note[data-v-e7022649]{margin-left:auto;color:var(--muted);font-size:var(--ui-font-size-xs)}.md-row-more[data-v-e7022649]{color:var(--color-accent);font-weight:500}.md-row-more[data-v-e7022649]:hover{background:var(--color-accent-soft)}.md-check[data-v-e7022649]{width:14px;flex:none;color:var(--color-accent);font-weight:500;display:flex;justify-content:center}.md-name[data-v-e7022649]{flex:1}.md-provider[data-v-e7022649]{color:var(--muted);font-size:var(--ui-font-size-xs);flex:none}.md-star[data-v-e7022649]{color:var(--star);flex:none;margin-left:auto}.md-divider[data-v-e7022649]{height:1px;background:var(--line);margin:3px 0}.md-thinking[data-v-e7022649]{display:flex;align-items:center;gap:8px;padding:6px 7px;border-radius:var(--radius-sm)}.md-thinking .md-name[data-v-e7022649]{font-family:var(--font-ui);font-size:var(--ui-font-size);color:var(--color-text);flex:none}.md-thinking .md-note[data-v-e7022649]{margin-left:auto}.effort-segments[data-v-e7022649]{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-e7022649]{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-e7022649]:hover:not(:disabled):not(.is-active){background:var(--color-surface-raised);color:var(--color-text)}.effort-seg[data-v-e7022649]:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.effort-seg.is-active[data-v-e7022649]{background:var(--color-accent);color:var(--color-text-on-accent);box-shadow:var(--shadow-xs);font-weight:500}.effort-seg[data-v-e7022649]:disabled{cursor:default}.md-thinking.is-readonly .effort-segments[data-v-e7022649]{opacity:.62}.md-cache-note[data-v-e7022649]{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-e7022649]{background:var(--color-surface-raised);color:var(--color-text-muted);box-shadow:none}.perm-dropdown[data-v-e7022649]{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-e7022649]{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-e7022649]:hover{background:var(--color-surface-sunken)}.pd-row.is-current[data-v-e7022649]{background:var(--color-accent-soft)}.pd-check[data-v-e7022649]{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-e7022649]{display:contents}.pd-name[data-v-e7022649]{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-e7022649]{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-e7022649]{display:inline-flex;flex:none}.add-menu-anchor .ui-icon-button.is-open[data-v-e7022649]{background:var(--color-accent-soft);color:var(--color-accent-hover)}.add-menu[data-v-e7022649]{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-e7022649]{color:var(--muted)}.add-menu .pd-row.is-current .pd-check[data-v-e7022649],.add-menu .pd-row.is-current .pd-name[data-v-e7022649]{color:var(--color-accent-hover)}.mode-chip[data-v-e7022649]{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-e7022649]:hover{background:var(--color-surface-sunken)}.mode-chip.on[data-v-e7022649]{background:var(--color-accent-soft);border-color:var(--color-accent-bd)}.mode-chip-main[data-v-e7022649]{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(--ui-font-size);font-weight:var(--weight-medium);line-height:var(--leading-normal);cursor:pointer;user-select:none}.mode-chip-main[data-v-e7022649]:hover{color:var(--color-text)}.mode-chip.on .mode-chip-main[data-v-e7022649]{color:var(--color-accent-hover)}.mode-chip-x[data-v-e7022649]{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-e7022649]:hover{color:var(--color-text)}.mode-chip.on .mode-chip-x[data-v-e7022649]:hover{color:var(--color-accent-hover)}.mode-chip-x[data-v-e7022649]:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}@media(max-width:980px){.model-pill b[data-v-e7022649]{max-width:130px}.perm-pill[data-v-e7022649]{max-width:104px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media(max-width:640px){.composer[data-v-e7022649]{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-e7022649]{--composer-send-size: 36px;max-width:100%}.input-row[data-v-e7022649]{gap:6px;min-width:0}.send[data-v-e7022649]{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-e7022649]{display:none}.send[data-v-e7022649]:after{content:"↑";font-size:17px;line-height:1;color:var(--bg)}.stop[data-v-e7022649]{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-e7022649]{display:none}.stop[data-v-e7022649]:after{content:"■";font-size:17px;line-height:1}.perm-pill[data-v-e7022649],.add-menu-anchor[data-v-e7022649],.mode-chip[data-v-e7022649]{display:none}.model-dropdown[data-v-e7022649]{right:10px;left:auto;min-width:180px;max-width:calc(100vw - 24px)}.ph[data-v-e7022649]{font-size:16px}.model-pill[data-v-e7022649],.attach-btn[data-v-e7022649]{font-size:var(--ui-font-size)}.toolbar[data-v-e7022649]{gap:6px;min-width:0}.toolbar-left[data-v-e7022649],.toolbar-right[data-v-e7022649]{min-width:0}.model-pill[data-v-e7022649]{max-width:min(52vw,220px)}.model-pill b[data-v-e7022649]{max-width:min(40vw,170px)}.md-row[data-v-e7022649],.md-section[data-v-e7022649]{font-size:var(--ui-font-size)}.md-thinking[data-v-e7022649]{flex-wrap:wrap;row-gap:6px}.md-thinking .effort-segments[data-v-e7022649]{margin-left:0;width:100%;justify-content:space-between}.md-thinking .effort-seg[data-v-e7022649]{flex:1;padding:5px 6px}.pd-name[data-v-e7022649]{font-size:var(--ui-font-size)}.pd-desc[data-v-e7022649]{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)}.taskspane[data-v-30ebee08]{padding:14px 18px 10px;flex:1;min-height:0;display:flex;flex-direction:column}.tp-head[data-v-30ebee08]{border-top:1px solid var(--line);padding-top:10px;margin-bottom:8px;display:flex;align-items:baseline;gap:8px}.tp-title[data-v-30ebee08]{color:var(--color-accent-hover);font-weight:500;font-size:var(--text-base);text-transform:capitalize}.tp-count[data-v-30ebee08]{color:var(--muted);font-size:var(--text-base)}.tp-filter[data-v-30ebee08]{padding-bottom:8px}.tp-body[data-v-30ebee08]{flex:1;min-height:0;display:flex;gap:10px}.tp-list-col[data-v-30ebee08]{flex:1;min-width:0;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.tp-row[data-v-30ebee08]{padding:4px 0}.tp-row.done .tp-name[data-v-30ebee08],.tp-card.done .tp-card-name[data-v-30ebee08]{color:var(--muted);text-decoration:line-through}.tp-row.fail .tp-name[data-v-30ebee08],.tp-card.fail .tp-card-name[data-v-30ebee08]{color:var(--color-danger)}.tp-main[data-v-30ebee08]{display:flex;align-items:center;gap:7px;font-size:var(--text-base)}.tp-row.expandable>.tp-main[data-v-30ebee08]{cursor:pointer;border-radius:4px}.tp-row.expandable>.tp-main[data-v-30ebee08]:hover{background:var(--panel2)}.tp-row.selected>.tp-main[data-v-30ebee08]{background:var(--panel2)}.tp-chevron[data-v-30ebee08]{flex:none;color:var(--muted);transition:transform .12s}.tp-chevron.open[data-v-30ebee08]{transform:rotate(90deg)}.tp-name[data-v-30ebee08]{color:var(--color-text);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tp-time[data-v-30ebee08]{flex:none;font-size:var(--text-base);color:var(--muted)}.tp-stop[data-v-30ebee08]{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-30ebee08]:hover{background:var(--panel)}.tp-detail[data-v-30ebee08]{margin:4px 0 0 23px;display:flex;flex-direction:column;gap:4px}.tp-detail-col[data-v-30ebee08]{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-30ebee08]{flex:none;padding-bottom:2px}.tp-detail-empty[data-v-30ebee08]{padding:18px 6px;text-align:center;color:var(--faint);font-size:var(--ui-font-size-sm)}.tp-codebox[data-v-30ebee08]{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-xs)}.tp-copy[data-v-30ebee08]{position:absolute;top:4px;right:6px;z-index:1;opacity:0;visibility:hidden;transition:opacity .12s ease,visibility .12s ease;background:var(--panel2);border:1px solid var(--line);border-radius:var(--radius-xs);color:var(--dim);font-size:max(9px,calc(var(--ui-font-size) - 3.5px));padding:1px 7px;cursor:pointer;font-family:var(--sans)}.tp-codebox:hover .tp-copy[data-v-30ebee08],.tp-copy[data-v-30ebee08]:focus-visible{opacity:1;visibility:visible}.tp-copy[data-v-30ebee08]:hover{background:var(--panel)}.tp-copy.copied[data-v-30ebee08]{color:var(--color-success);border-color:color-mix(in srgb,var(--color-success) 30%,var(--line))}.tp-pre[data-v-30ebee08]{margin:0;padding:6px 10px;max-height:320px;overflow:auto;contain:layout paint}.tp-pre code[data-v-30ebee08]{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-30ebee08]{display:block;color:var(--muted)}.tp-line[data-v-30ebee08]{display:block}.tp-grid[data-v-30ebee08]{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-30ebee08]{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-30ebee08]:hover{background:var(--panel2);border-color:color-mix(in srgb,var(--color-accent-hover) 40%,var(--line))}.tp-card[data-v-30ebee08]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.tp-card-line[data-v-30ebee08]{display:flex;align-items:center;gap:7px;min-width:0}.tp-card-name[data-v-30ebee08]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tp-card-meta[data-v-30ebee08]{justify-content:space-between}.tp-empty[data-v-30ebee08]{padding:24px 0;text-align:center;color:var(--faint);font-size:var(--ui-font-size-sm)}@media(max-width:640px){.taskspane[data-v-30ebee08]{padding:14px 14px 16px}.tp-body[data-v-30ebee08]{flex-direction:column;overflow-y:auto;gap:8px}.tp-list-col[data-v-30ebee08]{flex:none;overflow:visible}.tp-detail-col[data-v-30ebee08]{flex:none;border-left:none;border-top:1px solid var(--line);padding-left:0;padding-top:8px;overflow:visible}.tp-main[data-v-30ebee08]{flex-wrap:wrap;row-gap:4px}.tp-name[data-v-30ebee08]{font-size:var(--ui-font-size-sm)}.tp-stop[data-v-30ebee08]{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-30ebee08]{margin-left:0}.tp-pre[data-v-30ebee08]{font-size:var(--ui-font-size-xs)}}.tp-stop[data-v-30ebee08]{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-3f1c1f66]{position:absolute;z-index:var(--z-sticky);top:50%;transform:translateY(-50%);--toc-content-max: min( var(--p-content-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-3f1c1f66]:before{content:"";position:absolute;inset:0 -48px 0 -14px;z-index:0}.conversation-toc[data-v-3f1c1f66]:hover,.conversation-toc[data-v-3f1c1f66]:focus-within{opacity:1}.toc-scroll[data-v-3f1c1f66]{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-3f1c1f66]::-webkit-scrollbar{display:none}.toc-row[data-v-3f1c1f66]{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-3f1c1f66]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.toc-bar[data-v-3f1c1f66]{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-3f1c1f66]{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-3f1c1f66],.conversation-toc:focus-within .toc-bar[data-v-3f1c1f66]{height:18px;opacity:.5}.conversation-toc:hover .toc-label[data-v-3f1c1f66],.conversation-toc:focus-within .toc-label[data-v-3f1c1f66]{max-width:220px;opacity:1}.toc-row.active .toc-bar[data-v-3f1c1f66]{opacity:1;height:18px}.toc-row.active .toc-label[data-v-3f1c1f66]{color:var(--color-accent);font-weight:var(--weight-medium)}.toc-row:hover .toc-bar[data-v-3f1c1f66]{opacity:1}.toc-row:hover .toc-label[data-v-3f1c1f66]{color:var(--color-text)}.conversation-toc.toc-clipped[data-v-3f1c1f66]{visibility:hidden;pointer-events:none}.con[data-v-fad3cc77]{--read-max: 760px;display:flex;flex-direction:column;min-width:0;height:100%;position:relative;container-type:inline-size}.panes[data-v-fad3cc77]{flex:1;min-height:0;overflow-y:auto;overflow-anchor:auto;scrollbar-gutter:stable}.panes.is-following[data-v-fad3cc77],.panes.history-prepending[data-v-fad3cc77]{overflow-anchor:none}.chat-layout[data-v-fad3cc77]{display:flex;flex-direction:column;height:100%;min-height:0;position:relative}.chat-scroll[data-v-fad3cc77]{flex:1;min-height:0;position:relative}.content-wrap[data-v-fad3cc77]{width:100%;max-width:var(--read-max);min-height:100%;display:flex;flex-direction:column;flex-shrink:0}.content-wrap.align-center[data-v-fad3cc77]{margin-left:auto;margin-right:auto}.content-wrap.align-left[data-v-fad3cc77]{margin-left:0;margin-right:auto}.content-wrap.align-mobile[data-v-fad3cc77]{max-width:none}@media(max-width:640px){.con.mobile[data-v-fad3cc77]{min-width:0;overflow:hidden}.con.mobile .panes[data-v-fad3cc77]{scrollbar-gutter:auto;-webkit-overflow-scrolling:touch}.content-wrap.align-mobile[data-v-fad3cc77]{width:100%;min-width:0}}.empty-spacer[data-v-fad3cc77]{flex:1}.empty-hint[data-v-fad3cc77]{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-fad3cc77]{font-size:calc(var(--ui-font-size) + 16px);font-optical-sizing:auto;font-weight:var(--weight-semibold)}.empty-hint-title.is-starting[data-v-fad3cc77]{display:inline-flex;align-items:center;gap:9px;color:var(--dim);font-weight:400}.empty-hint-text[data-v-fad3cc77]{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-fad3cc77]{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-fad3cc77]:hover{border-color:var(--color-accent-bd);color:var(--color-text)}.empty-add-workspace[data-v-fad3cc77]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.empty-add-workspace svg[data-v-fad3cc77]{flex:none}.ws-pick[data-v-fad3cc77]{position:relative;font-family:var(--font-ui)}.ws-pick-btn[data-v-fad3cc77]{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-fad3cc77]:hover{border-color:var(--color-accent-bd);color:var(--color-text)}.ws-pick-name[data-v-fad3cc77]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-pick-chev[data-v-fad3cc77]{flex:none;color:var(--muted);transition:transform .15s}.ws-pick-chev.open[data-v-fad3cc77]{transform:rotate(180deg)}.ws-pick-backdrop[data-v-fad3cc77]{position:fixed;inset:0;z-index:var(--z-sticky)}.ws-pick-menu[data-v-fad3cc77]{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-fad3cc77]{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-fad3cc77]:hover{background:var(--panel2)}.ws-pick-item.on[data-v-fad3cc77]{background:var(--color-accent-soft)}.ws-pick-item-name[data-v-fad3cc77]{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-fad3cc77]{color:var(--color-accent-hover)}.ws-pick-item-path[data-v-fad3cc77]{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-fad3cc77]{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-fad3cc77]:hover{color:var(--color-text)}.ws-pick-item.ws-pick-more span[data-v-fad3cc77],.ws-pick-action span[data-v-fad3cc77]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-pick-divider[data-v-fad3cc77]{height:1px;margin:4px 6px;background:var(--line)}.ws-pick-action[data-v-fad3cc77]{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-fad3cc77]:hover{background:var(--panel2);color:var(--color-text)}.ws-pick-action svg[data-v-fad3cc77]{flex:none}.chat-scroll[data-v-fad3cc77]{display:flex;flex-direction:column}.mobile .panes[data-v-fad3cc77]:has(>.chat-layout){overflow:hidden;scrollbar-gutter:auto}.newmsg-pill[data-v-fad3cc77]{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-fad3cc77]:hover{background:var(--panel2)}.pill-chevron[data-v-fad3cc77]{width:12px;height:12px}.pill-enter-active[data-v-fad3cc77],.pill-leave-active[data-v-fad3cc77]{transition:opacity .2s ease,transform .2s ease}.pill-enter-from[data-v-fad3cc77],.pill-leave-to[data-v-fad3cc77]{opacity:0;transform:translate(-50%) translateY(8px)}.abort-toast[data-v-fad3cc77]{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-fad3cc77]{display:flex;align-items:center;gap:8px}.abort-toast-enter-active[data-v-fad3cc77],.abort-toast-leave-active[data-v-fad3cc77]{transition:opacity .15s ease,transform .15s ease}.abort-toast-enter-from[data-v-fad3cc77],.abort-toast-leave-to[data-v-fad3cc77]{opacity:0;transform:translate(-50%) translateY(-6px)}.con[data-v-fad3cc77]{background:var(--bg)}.newmsg-pill[data-v-fad3cc77]{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-ded222d2]{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-ded222d2],.fp-loading[data-v-ded222d2]{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-ded222d2]{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-ded222d2]{display:flex;align-items:center;gap:8px;flex:none}@container (max-width: 539px){.fp-meta[data-v-ded222d2]{display:none}}.fp-lines[data-v-ded222d2],.fp-size[data-v-ded222d2]{font-size:max(9px,calc(var(--ui-font-size) - 3.5px));color:var(--muted);white-space:nowrap}.fp-search[data-v-ded222d2]{display:flex;align-items:center;gap:4px;flex:1 1 110px;min-width:70px;max-width:200px}.fp-search-input[data-v-ded222d2]{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-ded222d2]{color:var(--muted);font-size:max(9px,calc(var(--ui-font-size) - 3.5px));min-width:18px;text-align:right}.fp-download[data-v-ded222d2]{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-ded222d2]:hover{background:var(--color-surface-sunken);color:var(--color-text)}.fp-download[data-v-ded222d2]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.fp-download svg[data-v-ded222d2]{width:var(--p-ic-sm);height:var(--p-ic-sm)}.fp-check[data-v-ded222d2]{color:var(--color-success)}.fp-body[data-v-ded222d2]{--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-ded222d2]{padding:16px 20px}.fp-code[data-v-ded222d2]{background:var(--bg)}.fp-line-table[data-v-ded222d2]{display:table;width:100%;border-collapse:collapse;font-size:var(--ui-font-size);line-height:1.6}.fp-line-row[data-v-ded222d2]{display:table-row}.fp-line-row.hit .fp-line-text[data-v-ded222d2],.fp-table tr.hit td[data-v-ded222d2]{background:var(--fp-search-hit-bg)}.fp-line-row.active .fp-line-text[data-v-ded222d2],.fp-table tr.active td[data-v-ded222d2]{background:var(--fp-search-active-bg)}.fp-line-row.target .fp-gutter[data-v-ded222d2],.fp-line-row.target .fp-line-text[data-v-ded222d2],.fp-table tr.target th[data-v-ded222d2],.fp-table tr.target td[data-v-ded222d2]{background:var(--color-accent-soft)}.fp-gutter[data-v-ded222d2]{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-ded222d2]{display:table-cell;padding:0 12px;color:var(--color-text);white-space:pre;vertical-align:top}.fp-line-text[data-v-ded222d2] .tok-key,.fp-line-text[data-v-ded222d2] .tok-keyword{color:var(--fp-token-keyword);font-weight:500}.fp-line-text[data-v-ded222d2] .tok-string{color:var(--fp-token-string)}.fp-line-text[data-v-ded222d2] .tok-number,.fp-line-text[data-v-ded222d2] .tok-literal{color:var(--fp-token-literal)}.fp-line-text[data-v-ded222d2] .tok-comment{color:var(--muted);font-style:italic}.fp-line-text[data-v-ded222d2] .tok-tag{color:var(--fp-token-tag);font-weight:500}.fp-line-text[data-v-ded222d2] .tok-attr{color:var(--fp-token-literal)}.fp-html-frame[data-v-ded222d2],.fp-pdf-frame[data-v-ded222d2]{width:100%;height:100%;border:0;background:var(--color-surface-raised)}.fp-pdf-wrap[data-v-ded222d2]{background:var(--panel2)}.fp-table-wrap[data-v-ded222d2]{background:var(--bg)}.fp-table[data-v-ded222d2]{border-collapse:collapse;min-width:100%;font:12px/1.5 var(--mono)}.fp-table th[data-v-ded222d2]{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-ded222d2]{padding:2px 10px;border-right:1px solid var(--line2);border-bottom:1px solid var(--line2);white-space:pre}.fp-image-wrap[data-v-ded222d2]{display:flex;align-items:center;justify-content:center;padding:24px;background:var(--panel2)}.fp-image[data-v-ded222d2]{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-ded222d2]{max-width:none;max-height:none}.fp-binary-wrap[data-v-ded222d2]{display:flex;align-items:center;justify-content:center}.fp-binary-card[data-v-ded222d2]{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-ded222d2]{color:var(--faint);flex:none}.fp-error[data-v-ded222d2]{flex-direction:column;padding:24px;text-align:center}@keyframes spin-ded222d2{to{transform:rotate(360deg)}}.spinner[data-v-ded222d2]{display:inline-block;width:14px;height:14px;border:1.5px solid var(--line);border-top-color:var(--color-accent);border-radius:50%;animation:spin-ded222d2 .7s linear infinite}@media(max-width:640px){.fp-lines[data-v-ded222d2]{display:none}.fp-markdown[data-v-ded222d2]{padding:14px 16px}.fp-body.fp-code[data-v-ded222d2]{-webkit-overflow-scrolling:touch}}.fp-empty[data-v-ded222d2],.fp-loading[data-v-ded222d2]{font-family:var(--sans)}.fp-binary-card[data-v-ded222d2]{border:1px solid var(--color-line);border-radius:var(--radius-md)}.fp-binary-label[data-v-ded222d2]{font-family:var(--sans)}.fp-image[data-v-ded222d2]{border-radius:var(--radius-md)}.seg-btn[data-v-ded222d2]{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}.mp[data-v-56cefe51]{display:flex;flex-direction:column;gap:var(--space-2)}.search-wrap[data-v-56cefe51]{padding-bottom:var(--space-1)}.tab-strip[data-v-56cefe51]{display:flex;gap:var(--space-1);overflow-x:auto}.model-list[data-v-56cefe51]{display:flex;flex-direction:column;padding:var(--space-1) 0}.model-row[data-v-56cefe51]{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-56cefe51]:hover,.model-row.is-selected[data-v-56cefe51]{background:var(--color-surface-sunken)}.model-row.is-current[data-v-56cefe51]{background:var(--color-accent-soft);box-shadow:inset 0 0 0 1px var(--color-accent-bd)}.check[data-v-56cefe51]{width:14px;height:14px;color:var(--color-accent);flex:none;display:flex;align-items:center;justify-content:center}.model-main[data-v-56cefe51]{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.model-name[data-v-56cefe51]{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-56cefe51]{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-56cefe51]{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-56cefe51]{flex:none;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted)}.caps[data-v-56cefe51]{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.state-row[data-v-56cefe51]{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-56cefe51]{color:var(--color-warning)}.empty[data-v-56cefe51]{padding:var(--space-5) 0;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-base)}.footer-hint[data-v-56cefe51]{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-56cefe51],.caps[data-v-56cefe51]{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-b1859ac1]{display:flex;flex-direction:column;gap:var(--space-4)}.prov-list[data-v-b1859ac1]{display:flex;flex-direction:column;gap:var(--space-1)}.state-row[data-v-b1859ac1]{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-b1859ac1]{color:var(--color-warning)}.empty[data-v-b1859ac1]{padding:var(--space-4) 0;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-base)}.prov-row[data-v-b1859ac1]{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-b1859ac1]:last-child{border-bottom:none}.status-dot[data-v-b1859ac1]{width:8px;height:8px;flex:none;border-radius:50%;box-sizing:border-box}.status-dot--empty[data-v-b1859ac1]{background:transparent;border:1.5px solid var(--color-text-faint)}.prov-info[data-v-b1859ac1]{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.prov-type[data-v-b1859ac1]{font-family:var(--font-ui);font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-text)}.prov-url[data-v-b1859ac1]{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-b1859ac1]{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-b1859ac1]{display:flex;gap:var(--space-2);flex:none;align-items:center;flex-wrap:wrap}.add-section[data-v-b1859ac1]{border-top:1px solid var(--color-line);padding-top:var(--space-4)}.add-btns[data-v-b1859ac1]{display:flex;flex-wrap:wrap;gap:var(--space-2)}.add-form[data-v-b1859ac1]{display:flex;flex-direction:column;gap:var(--space-3)}.add-error[data-v-b1859ac1]{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-danger)}.form-btns[data-v-b1859ac1]{display:flex;flex-wrap:wrap;gap:var(--space-2)}.import-form[data-v-b1859ac1]{display:flex;flex-direction:column;gap:var(--space-3)}.import-head[data-v-b1859ac1]{display:flex;align-items:center;gap:var(--space-2)}.import-title[data-v-b1859ac1]{font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text)}.import-error[data-v-b1859ac1]{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-danger)}.catalog-list[data-v-b1859ac1]{display:flex;flex-direction:column;gap:2px;max-height:260px;overflow-y:auto;padding:var(--space-1) 0}.catalog-row[data-v-b1859ac1]{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-b1859ac1]:hover,.catalog-row.is-selected[data-v-b1859ac1]{background:var(--color-surface-sunken)}.catalog-row.is-rejected[data-v-b1859ac1]{opacity:.55;cursor:not-allowed}.catalog-check[data-v-b1859ac1]{width:14px;height:14px;flex:none;color:var(--color-accent);display:flex;align-items:center;justify-content:center}.catalog-main[data-v-b1859ac1]{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.catalog-name[data-v-b1859ac1]{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-b1859ac1]{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-b1859ac1]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-faint)}.catalog-meta[data-v-b1859ac1]{flex:none;display:flex;align-items:center;gap:var(--space-2);max-width:40%}.catalog-count[data-v-b1859ac1]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);white-space:nowrap}.catalog-selected[data-v-b1859ac1]{padding-top:var(--space-1)}.footer-hint[data-v-b1859ac1]{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-b1859ac1]{align-items:flex-start;flex-wrap:wrap}.prov-actions[data-v-b1859ac1]{flex:1 1 100%;justify-content:flex-end}}.center-body[data-v-8308a28f]{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-8308a28f]{font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-text)}.success-text[data-v-8308a28f]{color:var(--color-success)}.err-text[data-v-8308a28f]{color:var(--color-danger)}.warn-text[data-v-8308a28f]{color:var(--color-warning);font-size:var(--text-base)}.center-hint[data-v-8308a28f]{font-size:var(--text-sm);color:var(--color-text-muted)}.nb[data-v-8308a28f]{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-2) 0 var(--space-4)}.nb-lead[data-v-8308a28f]{font-size:var(--text-base);color:var(--color-text);line-height:var(--leading-normal)}.nb-primary[data-v-8308a28f]{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;min-height:40px;padding:0 var(--space-4);background:var(--color-accent);color:var(--color-text-on-accent);border:1px solid var(--color-accent);border-radius:var(--radius-md);font-family:var(--font-ui);font-size:var(--text-base);font-weight:var(--weight-medium);cursor:pointer;text-decoration:none;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.nb-primary[data-v-8308a28f]:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.nb-or[data-v-8308a28f]{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-8308a28f]:before,.nb-or[data-v-8308a28f]:after{content:"";flex:1;height:1px;background:var(--color-line)}.nb-fallback[data-v-8308a28f]{display:flex;flex-direction:column;gap:var(--space-2)}.nb-fb-text[data-v-8308a28f]{font-size:var(--text-sm);color:var(--color-text-muted);line-height:var(--leading-normal)}.nb-fb-link[data-v-8308a28f]{color:var(--color-accent);text-decoration:none;border-bottom:1px solid var(--color-accent-bd)}.nb-fb-link[data-v-8308a28f]:hover{border-bottom-color:var(--color-accent)}.nb-code-row[data-v-8308a28f]{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-8308a28f]{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-8308a28f]{color:var(--color-success);border-color:var(--color-success-bd)}.nb-status[data-v-8308a28f]{display:flex;align-items:center;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-line)}.nb-status-text[data-v-8308a28f]{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text-muted);flex:1}.nb-countdown[data-v-8308a28f]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.actions[data-v-8308a28f]{display:flex;justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-4)}@media(max-width:640px){.center-body[data-v-8308a28f],.nb[data-v-8308a28f]{overflow-y:auto;-webkit-overflow-scrolling:touch}.nb-code-row[data-v-8308a28f],.nb-status[data-v-8308a28f],.actions[data-v-8308a28f]{flex-wrap:wrap}.nb-code[data-v-8308a28f]{min-width:0;overflow-wrap:anywhere;letter-spacing:.08em}.nb-copy[data-v-8308a28f]{min-height:34px}.nb-primary[data-v-8308a28f]{min-height:44px}.nb-status-text[data-v-8308a28f]{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-ace56012]{display:flex;flex-direction:row;min-height:0;height:100%}.settings-tabs[data-v-ace56012]{display:flex;flex-direction:column;flex:none;width:148px;padding:var(--space-2);gap:2px;overflow-y:auto}.tab[data-v-ace56012]{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-ace56012]:hover{background:var(--color-surface-sunken);color:var(--color-text)}.tab.on[data-v-ace56012]{background:var(--color-accent-soft);color:var(--color-accent);font-weight:var(--weight-medium)}.tab[data-v-ace56012]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.body[data-v-ace56012]{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-ace56012]{display:block}.sec[data-v-ace56012]{padding:var(--space-4) 0;border-bottom:1px solid var(--color-line)}.sec[data-v-ace56012]:last-child{border-bottom:none}.sec-head[data-v-ace56012]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.sec-title[data-v-ace56012]{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-ace56012]{margin-bottom:0}.saving[data-v-ace56012]{flex:none;font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-text-muted)}.row[data-v-ace56012]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:38px;padding:var(--space-1) 0}.rlabel[data-v-ace56012]{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-ace56012]{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-ace56012]{font-family:var(--font-mono);font-size:var(--text-xs)}.hint[data-v-ace56012]{font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-text-faint)}.num-field[data-v-ace56012]{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-ace56012]:hover{border-color:var(--color-line-strong)}.num-field[data-v-ace56012]:focus-within{border-color:var(--color-accent);box-shadow:var(--p-focus-ring)}.num-input[data-v-ace56012]{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-ace56012]{color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--text-xs)}.select-wrap[data-v-ace56012]{min-width:220px;max-width:min(320px,50vw);flex:none}.empty-config[data-v-ace56012]{font-family:var(--font-ui);font-size:var(--text-base);color:var(--color-text-muted);padding:var(--space-1) 0}.plugins-panel[data-v-ace56012]{padding-top:var(--space-4)}.actions[data-v-ace56012]{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}@media(max-width:640px){.sd[data-v-ace56012]{flex-direction:column}.settings-tabs[data-v-ace56012]{flex-direction:row;width:auto;padding:var(--space-2) var(--space-3);gap:var(--space-1);overflow-x:auto}.tab[data-v-ace56012]{white-space:nowrap;flex:none}.row[data-v-ace56012]{align-items:flex-start;flex-direction:column}.select-wrap[data-v-ace56012]{width:100%;max-width:none}}.setting-card[data-v-ace56012]{border:1px solid var(--color-line);border-radius:var(--radius-xl);overflow:hidden;background:var(--color-bg)}.panel-head[data-v-ace56012]{margin-bottom:var(--space-4)}.panel-kicker[data-v-ace56012]{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-ace56012]{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-ace56012]{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-ace56012]{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap}.archive-search[data-v-ace56012]{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-ace56012]:focus-within{border-color:var(--color-accent);box-shadow:var(--p-focus-ring);color:var(--color-text-muted)}.archive-search svg[data-v-ace56012]{width:15px;height:15px;flex:none}.archive-search input[data-v-ace56012]{width:100%;border:none;outline:none;background:transparent;font:inherit;color:var(--color-text)}.archive-list[data-v-ace56012]{display:flex;flex-direction:column;gap:var(--space-4)}.archive-card .setting-card[data-v-ace56012]{margin-bottom:0}.archive-workspace[data-v-ace56012]{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-ace56012]{width:16px;height:16px;color:var(--color-text-faint);flex:none}.archive-workspace .path[data-v-ace56012]{font-family:var(--font-mono);font-size:var(--text-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.archive-workspace .count[data-v-ace56012]{margin-left:auto;color:var(--color-text-faint);font-weight:var(--weight-regular);font-size:var(--text-xs);flex:none}.archive-row[data-v-ace56012]{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-ace56012]:first-child{border-top:none}.archive-row[data-v-ace56012]:hover{background:var(--color-surface-sunken)}.archive-meta[data-v-ace56012]{min-width:0}.archive-name[data-v-ace56012]{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-ace56012]{margin-top:2px;font-size:var(--text-xs);color:var(--color-text-faint);font-family:var(--font-mono)}.archive-draining[data-v-ace56012]{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-ace56012]{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-ace56012]{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-ace56012]:hover:not(:disabled){border-color:var(--color-line-strong);color:var(--color-text)}.archive-load-more[data-v-ace56012]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.archive-load-more[data-v-ace56012]:disabled{opacity:.5;cursor:not-allowed}@media(max-width:640px){.archive-toolbar[data-v-ace56012]{flex-direction:column;align-items:stretch}.archive-search[data-v-ace56012]{min-width:0}}[data-v-ace56012] .ui-dialog{width:min(980px,96vw)}[data-v-ace56012] .ui-dialog--fixed-height{height:min(780px,calc(100vh - var(--space-8) * 2))}.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}}.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)}.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%)}.newrow[data-v-53fda211]{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-53fda211]:hover,.newrow[data-v-53fda211]:active{background:var(--color-surface-sunken)}.newrow.secondary[data-v-53fda211]{padding-top:var(--space-2);padding-bottom:var(--space-2);color:var(--color-text-muted);font-weight:400}.newrow.secondary[data-v-53fda211]:hover{background:var(--color-surface-sunken)}.newrow.secondary[data-v-53fda211]:active{background:var(--color-surface-sunken);color:var(--color-text)}.mlist[data-v-53fda211]{--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-53fda211]{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-53fda211]{padding:10px 16px 12px var(--m-indent);text-align:left;font-size:var(--ui-font-size-xs)}.mgroup[data-v-53fda211]{padding-top:2px}.mgh[data-v-53fda211]{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-53fda211]:hover,.mgh[data-v-53fda211]:active{background:var(--color-surface-sunken)}.mgh-folder[data-v-53fda211]{flex:none;color:var(--color-text-muted)}.mgh-main[data-v-53fda211]{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.mgh-name[data-v-53fda211]{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-53fda211]{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-53fda211]{margin:-10px -12px -10px 0}.mgh-add[data-v-53fda211]:active{color:var(--color-text);background:var(--color-surface-sunken)}.mgh-more[data-v-53fda211]{margin:-10px -8px}.mgh-more[data-v-53fda211]:active{color:var(--color-text);background:var(--color-surface-sunken)}.srow[data-v-53fda211]{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-53fda211]:hover,.srow[data-v-53fda211]:active{background:var(--color-surface-sunken)}.srow.cur[data-v-53fda211]{background:var(--color-accent-soft);box-shadow:inset 0 0 0 1px var(--color-accent-bd)}.srow .m[data-v-53fda211]{flex:1;min-width:0}.srow .m .t[data-v-53fda211]{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-53fda211]{color:var(--color-accent-hover)}.srow .m .t.run[data-v-53fda211]{position:relative}.srow .m .t.run[data-v-53fda211]: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-53fda211 1.4s ease-in-out infinite}@keyframes mRunPulse-53fda211{0%,to{opacity:1}50%{opacity:.35}}.srow .m .t.aborted[data-v-53fda211]{position:relative}.srow .m .t.aborted[data-v-53fda211]: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-53fda211]{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-53fda211]{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-53fda211]:active{color:var(--color-text);background:var(--color-surface-sunken)}.kmenu[data-v-53fda211]{position:absolute;right:12px;top:44px;z-index:var(--z-dropdown);min-width:96px;overflow:hidden}.wsmenu[data-v-53fda211]{top:calc(100% - 4px);right:var(--m-pad);min-width:132px}.mshow-more[data-v-53fda211]{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-53fda211]:active{color:var(--color-accent-hover);background:var(--color-surface-sunken)}.newrow[data-v-53fda211]{font-family:var(--sans)}.mlist .srow[data-v-53fda211]{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-53fda211]{box-shadow:inset 0 0 0 1px var(--color-accent-bd)}.group-title[data-v-2ff34053]{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-2ff34053]{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-2ff34053]:hover:not(.read-only){background:var(--color-surface-sunken)}.srow[data-v-2ff34053]:active:not(.read-only){background:var(--color-surface-sunken)}.srow.read-only[data-v-2ff34053]{cursor:default}.srow-main[data-v-2ff34053]{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.srow-label[data-v-2ff34053]{font-size:var(--text-base);color:var(--color-text)}.srow-sub[data-v-2ff34053]{font-size:var(--text-base);color:var(--color-text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.srow-val[data-v-2ff34053]{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-2ff34053]{font-weight:400;color:var(--color-text-muted)}.cache-note[data-v-2ff34053]{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-2ff34053]{flex:none;color:var(--color-text-faint);font-size:17px;line-height:1}.toggle[data-v-2ff34053]{flex:none;width:44px;height:26px;border-radius:var(--radius-full);background:var(--color-line);position:relative;transition:background .18s}.toggle.on[data-v-2ff34053]{background:var(--color-accent)}.toggle[data-v-2ff34053]: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-2ff34053]:after{left:21px}.srow.pref[data-v-2ff34053]{cursor:default}.num-field[data-v-2ff34053]{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-2ff34053]{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-2ff34053]{color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--ui-font-size-xs)}.srow.acct.in .srow-label[data-v-2ff34053]{color:var(--color-accent-hover);font-weight:500}.srow.acct.out .srow-label[data-v-2ff34053]{color:var(--color-danger)}.ctx-meter[data-v-2ff34053]{flex:none;width:96px;height:7px;border-radius:var(--radius-full);background:var(--color-surface-sunken);overflow:hidden}.ctx-meter i[data-v-2ff34053]{display:block;height:100%;background:var(--color-accent)}@media(max-width:640px){.srow[data-v-2ff34053]{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-2ff34053],.cache-note[data-v-2ff34053]{padding-left:max(14px,var(--safe-left));padding-right:max(14px,var(--safe-right))}.srow-main[data-v-2ff34053]{flex:1 1 auto}.srow-sub[data-v-2ff34053]{white-space:normal;overflow-wrap:anywhere}.srow.pref[data-v-2ff34053]{flex-wrap:wrap}.srow.pref .srow-main[data-v-2ff34053]{flex:1 0 100%}.num-field[data-v-2ff34053]{margin-left:auto}.srow-val[data-v-2ff34053],.chev[data-v-2ff34053],.toggle[data-v-2ff34053],.ctx-meter[data-v-2ff34053]{margin-top:2px}}.srow[data-v-2ff34053],.srow-sub[data-v-2ff34053],.srow-val[data-v-2ff34053],.cache-note[data-v-2ff34053]{font-family:var(--sans)}.arch-subhead[data-v-2ff34053]{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-2ff34053]{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-2ff34053]{font-size:20px}.arch-count[data-v-2ff34053]{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-text-faint)}.arch-tools[data-v-2ff34053]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);flex-wrap:wrap}.arch-search-input[data-v-2ff34053]{flex:1;min-width:160px}.arch-row[data-v-2ff34053]{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-2ff34053]:first-of-type{border-top:none}.arch-meta[data-v-2ff34053]{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.arch-name[data-v-2ff34053]{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-2ff34053]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-faint)}.arch-empty[data-v-2ff34053]{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)}.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-59580251]{transition:opacity .28s ease}.gload-fade-leave-to[data-v-59580251]{opacity:0}.app-shell[data-v-59580251]{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-59580251]{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-59580251]{width:min(420px,100%);display:flex;flex-direction:column;align-items:flex-start;gap:18px}.auth-page-logo[data-v-59580251]{width:64px;height:44px;flex:none;cursor:pointer;user-select:none;-webkit-user-select:none;transition:transform .18s ease}.auth-page-logo[data-v-59580251]:hover{transform:scale(1.06)}.auth-page-copy[data-v-59580251]{display:flex;flex-direction:column;gap:8px}.auth-page-copy h1[data-v-59580251]{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-59580251]{margin:0;font-family:var(--sans);font-size:var(--ui-font-size-lg);line-height:1.55;color:var(--dim)}.app[data-v-59580251]{--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-59580251]>*{min-height:0;min-width:0}.app>.side[data-v-59580251]{grid-column:1}.side-handle[data-v-59580251]{grid-column:2}.app:not(.mobile)>.con[data-v-59580251]{grid-column:3}.preview-handle[data-v-59580251]{grid-column:4}.sidebar-toggle-btn[data-v-59580251]{position:absolute;top:11px;left:16px;z-index:var(--z-sticky);animation:sidebar-toggle-btn-in-59580251 .18s var(--ease-out) .12s backwards;-webkit-app-region:no-drag}.app.macos-desktop .sidebar-toggle-btn[data-v-59580251]{left:72px;animation:none}@keyframes sidebar-toggle-btn-in-59580251{0%{opacity:0}}.internal-build-fab[data-v-59580251]{position:absolute;right:var(--space-3);bottom:var(--space-3);z-index:var(--z-sticky);pointer-events:none}.app.mobile[data-v-59580251]{grid-template-columns:1fr;grid-template-rows:auto 1fr}.global-preview[data-v-59580251]{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)}.global-preview.open[data-v-59580251]{width:var(--preview-w)}.global-preview.no-anim[data-v-59580251]{transition:none}.global-preview[data-v-59580251]:not(.overlay)>*{width:var(--preview-w);height:100%;box-sizing:border-box;border-left:1px solid var(--line)}.global-preview.overlay[data-v-59580251]{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-59580251]{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-59580251]{font-size:26px}.auth-page-btn[data-v-59580251]{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}@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-CABDay0b.css b/apps/kimi-code/dist-web/assets/index-CABDay0b.css
deleted file mode 100644
index d0697f04624..00000000000
--- a/apps/kimi-code/dist-web/assets/index-CABDay0b.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}.sd-head[data-v-ac47909f]{flex:1;min-width:0;display:flex;align-items:center;gap:var(--space-2)}.sd-search-icon[data-v-ac47909f]{flex:none;color:var(--color-text-muted)}.sd-input[data-v-ac47909f]{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-ac47909f]::placeholder{color:var(--color-text-muted)}.sd-list[data-v-ac47909f]{height:420px;overflow-y:auto;padding:var(--space-1) var(--space-2)}.sd-row[data-v-ac47909f]{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-ac47909f]:hover,.sd-row.on[data-v-ac47909f]{background:var(--color-surface-sunken)}.sd-row.active .sd-title[data-v-ac47909f]{color:var(--color-accent-hover)}.sd-meta[data-v-ac47909f]{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-ac47909f]{flex:none;color:var(--color-text-muted)}.sd-ws[data-v-ac47909f]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-time[data-v-ac47909f]{flex:none;font-family:var(--font-mono);color:var(--color-text-faint)}.sd-title[data-v-ac47909f]{min-width:0;font-size:var(--text-base);color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-snippet[data-v-ac47909f]{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-ac47909f] mark,.sd-snippet[data-v-ac47909f] 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-ac47909f]{padding:var(--space-6) var(--space-4);text-align:center;color:var(--color-text-muted);font-size:var(--text-sm)}.sd-hint[data-v-ac47909f]{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-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)}.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-1c24e83d]{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-1c24e83d]:hover{background:var(--sb-hover, var(--color-surface-sunken));color:var(--color-text)}.se.on[data-v-1c24e83d]{background:var(--color-selected);color:var(--color-text)}.row[data-v-1c24e83d]{display:flex;align-items:center;gap:var(--sb-gap, 6px);min-width:0}.left[data-v-1c24e83d]{display:flex;align-items:center;flex:1;min-width:0}.lead[data-v-1c24e83d]{width:var(--sb-gutter, 16px);flex:none;display:inline-flex;align-items:center;justify-content:center}.unread-dot[data-v-1c24e83d]{width:7px;height:7px;border-radius:var(--radius-full);background:var(--color-accent)}.t[data-v-1c24e83d]{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-1c24e83d]{margin-right:4px;font-size:var(--text-base)}.ts[data-v-1c24e83d]{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-1c24e83d]{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-1c24e83d]:hover{border-color:var(--color-line-strong)}.pr[data-v-1c24e83d]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.pr--open[data-v-1c24e83d],.pr--open[data-v-1c24e83d]:hover{background:var(--color-success-soft);border-color:var(--color-success-bd);color:var(--color-success)}.pr--merged[data-v-1c24e83d],.pr--merged[data-v-1c24e83d]:hover{background:var(--color-done-soft);border-color:var(--color-done-bd);color:var(--color-done)}.act[data-v-1c24e83d]{position:relative;flex:none;display:inline-flex;align-items:center;justify-content:flex-end;min-width:78px}.se.has-gen .act[data-v-1c24e83d]{min-width:104px}.act .btn[data-v-1c24e83d]{position:absolute;top:50%;transform:translateY(-50%);visibility:hidden}.act .kebab[data-v-1c24e83d]{right:0}.act .pin[data-v-1c24e83d]{right:26px}.act .emoji-btn[data-v-1c24e83d]{right:52px}.act .gen-title[data-v-1c24e83d]{right:78px}.act .pin.on[data-v-1c24e83d]{visibility:visible;color:var(--color-accent)}.se:hover .act .btn[data-v-1c24e83d],.act:has(.btn.open) .btn[data-v-1c24e83d]{visibility:visible}.se:hover .act .ts[data-v-1c24e83d],.act:has(.btn.open) .ts[data-v-1c24e83d]{visibility:hidden}.btn.open[data-v-1c24e83d]{color:var(--color-text);background:var(--sb-hover, var(--color-surface-sunken))}.emoji-glyph[data-v-1c24e83d]{font-size:var(--text-base);line-height:1}.emoji-picker[data-v-1c24e83d]{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-1c24e83d]{display:grid;grid-template-columns:repeat(5,28px);gap:var(--space-1)}.emoji-cell[data-v-1c24e83d]{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-1c24e83d]:hover{background:var(--color-surface-sunken)}.emoji-cell[data-v-1c24e83d]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.emoji-cell.on[data-v-1c24e83d]{background:var(--color-accent-soft)}.emoji-clear[data-v-1c24e83d]{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-1c24e83d]:hover{background:var(--color-surface-sunken);color:var(--color-text)}.menu[data-v-1c24e83d]{position:fixed;top:0;left:0;z-index:var(--z-dropdown)}.menu-time[data-v-1c24e83d]{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-1c24e83d]{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-1c24e83d]{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-1c24e83d]{border-radius:var(--radius-sm);font-family:var(--sans)}.sessions .se .btn[data-v-1c24e83d]{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)}.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)}.side[data-v-7e5a3931]{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-7e5a3931]{transition:none}.side.collapsed[data-v-7e5a3931]{visibility:hidden}.col[data-v-7e5a3931]{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-7e5a3931]{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-7e5a3931]{padding-left:80px;-webkit-app-region:drag}.side.macos-desktop .ch-brand[data-v-7e5a3931]{display:none}.ch-logo[data-v-7e5a3931]{height:22px;width:32px;flex:none;display:block;cursor:pointer;user-select:none;touch-action:none;transition:transform .18s ease}.ch-logo[data-v-7e5a3931]:hover{transform:scale(1.08)}.ch-logo.is-dev[data-v-7e5a3931]{--logo: var(--color-logo-dev)}.ch-brand[data-v-7e5a3931]{display:flex;align-items:center;gap:8px;min-width:0;flex:1;user-select:none;touch-action:none}.ch-name[data-v-7e5a3931]{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-7e5a3931]{flex:none;min-width:0}.ch-backend-kind[data-v-7e5a3931]{font-family:var(--mono);font-weight:500;color:var(--color-text-muted)}.ch-backend-kind.is-v2[data-v-7e5a3931]{color:var(--color-accent)}.ch-backend-ep[data-v-7e5a3931]{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-7e5a3931]{display:none}}@container sidebar-col (max-width: 250px){.ch-name[data-v-7e5a3931]{display:none}}.btn-wrap[data-v-7e5a3931]{display:flex;align-items:center;gap:8px;padding:0 var(--sb-inset)}.btn-new-chat[data-v-7e5a3931]{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-7e5a3931]:hover{background:var(--sb-hover)}.btn-new-chat[data-v-7e5a3931]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.btn-new-chat svg[data-v-7e5a3931]{flex:none}.btn-new-chat span[data-v-7e5a3931]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-wrap[data-v-7e5a3931]{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-7e5a3931]{border-bottom-color:var(--line);box-shadow:var(--shadow-sm)}.search[data-v-7e5a3931]{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-7e5a3931]:hover{background:var(--sb-hover)}.search[data-v-7e5a3931]:focus-visible{background:var(--sb-hover);color:var(--color-text);outline:2px solid var(--color-accent-bd);outline-offset:-2px}.search-icon[data-v-7e5a3931]{flex:none}.search-input[data-v-7e5a3931]{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}.sessions[data-v-7e5a3931]{flex:1;overflow-y:auto;padding:var(--space-3) var(--sb-inset);min-height:0}.sessions[data-v-7e5a3931]::-webkit-scrollbar{width:4px}.sessions[data-v-7e5a3931]::-webkit-scrollbar-track{background:transparent}.sessions[data-v-7e5a3931]::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--color-text) 12%,transparent);border-radius:var(--radius-full)}.sessions[data-v-7e5a3931]::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--color-text) 25%,transparent)}.side-footer[data-v-7e5a3931]{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-7e5a3931]{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-7e5a3931]:hover{background:var(--sb-hover)}.btn-settings[data-v-7e5a3931]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.btn-settings svg[data-v-7e5a3931]{flex:none}.btn-settings span[data-v-7e5a3931]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-mascot[data-v-7e5a3931]{flex:none}.side-section-label[data-v-7e5a3931]{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-7e5a3931]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-section-toggle[data-v-7e5a3931]{color:var(--faint);opacity:0;transition:opacity var(--duration-base) var(--ease-out)}.side-section-label:hover .side-section-toggle[data-v-7e5a3931],.side-section-label:focus-within .side-section-toggle[data-v-7e5a3931]{opacity:1}.side-section-toggle[data-v-7e5a3931]:hover{color:var(--dim)}.side-section-toggle svg[data-v-7e5a3931]{width:13px;height:13px}.side-section-actions[data-v-7e5a3931]{display:flex;align-items:center;gap:2px}.ws-drop-target.drop-before[data-v-7e5a3931]{box-shadow:inset 0 2px 0 var(--color-accent)}.ws-drop-target.drop-after[data-v-7e5a3931]{box-shadow:inset 0 -2px 0 var(--color-accent)}.empty[data-v-7e5a3931]{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-7e5a3931],.gh-menu[data-v-7e5a3931],.section-menu[data-v-7e5a3931],.backend-menu[data-v-7e5a3931]{position:fixed;top:0;left:0;z-index:var(--z-dropdown)}.section-menu-check[data-v-7e5a3931]{display:inline-flex;flex:none;width:14px}.backend-menu-name[data-v-7e5a3931]{font-family:var(--mono);font-weight:500}.backend-menu-url[data-v-7e5a3931]{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-72115ae1]{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-72115ae1]:hover{color:var(--color-text);background:var(--color-surface-sunken)}.at-type[data-v-72115ae1]{font:var(--text-xs) var(--font-mono);color:var(--color-text-muted);margin-bottom:6px}.at-type-sep[data-v-72115ae1]{margin:0 6px;color:var(--color-text-faint)}.at-task[data-v-72115ae1]{color:var(--color-text);white-space:pre-wrap;word-break:break-word}.at-task+.bb-code[data-v-72115ae1]{margin-top:10px}.bb-code[data-v-72115ae1]{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-262bbea0]{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-262bbea0]{max-height:calc(var(--tool-output-visible-lines) * 1lh);overflow-y:auto;scrollbar-gutter:stable}.bb-empty[data-v-262bbea0]{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-aa4edcb0]{color:var(--color-text);border-bottom:1px dashed var(--color-line);padding-bottom:6px;margin-bottom:6px;word-break:break-all}.chip[data-v-aa4edcb0]{color:var(--color-text-muted);font-size:var(--text-xs);flex:none}.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}.tool-group[data-v-37eb334f]{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-37eb334f]{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-37eb334f]:hover{background:var(--color-surface-sunken);color:var(--color-text)}.tool-group-head[data-v-37eb334f]:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--color-accent-soft)}.tg-ic[data-v-37eb334f]{color:var(--color-text-faint);flex:none}.tg-title[data-v-37eb334f]{font-weight:var(--weight-medium);color:var(--color-text)}.tg-meta[data-v-37eb334f]{color:var(--color-text-faint)}.tg-car[data-v-37eb334f]{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-37eb334f]{transform:rotate(90deg)}.tool-group-body[data-v-37eb334f]{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-37eb334f]{grid-template-rows:minmax(0,1fr)}.tool-group-body-inner[data-v-37eb334f]{min-height:0;overflow:hidden;display:flex;flex-direction:column}.md[data-v-9ccdd7fa]{font:400 15px/1.6 var(--font-ui);color:var(--color-text);word-break:break-word}.md[data-v-9ccdd7fa] .markdown-renderer{font:400 15px/1.6 var(--font-ui);color:var(--color-text)}.md[data-v-9ccdd7fa] .markstream-vue,.md[data-v-9ccdd7fa] .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-9ccdd7fa] .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-9ccdd7fa] .md-file-link:hover{color:var(--color-accent)}.md[data-v-9ccdd7fa] .markdown-renderer p,.md[data-v-9ccdd7fa] .markdown-renderer li,.md[data-v-9ccdd7fa] .markdown-renderer blockquote,.md[data-v-9ccdd7fa] .markdown-renderer td,.md[data-v-9ccdd7fa] .markdown-renderer th{font-size:var(--content-font-size)}.md[data-v-9ccdd7fa] .markdown-renderer img{background:var(--media-alpha-canvas)}.md[data-v-9ccdd7fa] strong{color:color-mix(in srgb,var(--color-text) 86%,var(--color-text-muted));font-weight:var(--weight-semibold)}.md[data-v-9ccdd7fa] h1,.md[data-v-9ccdd7fa] h2,.md[data-v-9ccdd7fa] h3,.md[data-v-9ccdd7fa] 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-9ccdd7fa] 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-9ccdd7fa] h2{font-size:max(var(--text-lg),calc(var(--content-font-size) + 2px))}.md[data-v-9ccdd7fa] h3{font-size:max(var(--text-lg),calc(var(--content-font-size) + 1px))}.md[data-v-9ccdd7fa] h4{font-size:max(var(--text-base),calc(var(--content-font-size) + 1px));color:var(--color-text-muted)}.md[data-v-9ccdd7fa] p{margin:.8rem 0}.md[data-v-9ccdd7fa] .node-slot+.node-slot{margin-top:.8rem}.md[data-v-9ccdd7fa] ul,.md[data-v-9ccdd7fa] ol{padding-left:1.4em;margin:.6em 0}.md[data-v-9ccdd7fa] li{margin:.3em 0}.md[data-v-9ccdd7fa] :not(pre)>code,.md[data-v-9ccdd7fa] .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-9ccdd7fa] strong code,.md[data-v-9ccdd7fa] strong .inline-code,.md[data-v-9ccdd7fa] b code,.md[data-v-9ccdd7fa] b .inline-code{font-weight:var(--weight-semibold)}.md[data-v-9ccdd7fa] .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-9ccdd7fa] .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-9ccdd7fa] .code-block-header *{color:var(--color-text-muted);font:var(--text-xs) var(--font-mono)}.md[data-v-9ccdd7fa] .code-block-header .code-header-main{font-family:var(--font-ui)}.md[data-v-9ccdd7fa] .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-9ccdd7fa] .code-block-header .code-action-btn:hover{background:var(--color-surface-sunken);color:var(--color-text)}.md[data-v-9ccdd7fa] .code-block-header .code-action-btn:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.md[data-v-9ccdd7fa] .code-block-header .code-action-btn *{pointer-events:none}.md[data-v-9ccdd7fa] .code-block-shell-content,.md[data-v-9ccdd7fa] .markstream-pre{background:var(--color-surface-sunken)}.md[data-v-9ccdd7fa] .code-editor-container{line-height:1.65;--diffs-gap-block: var(--space-3)}.md[data-v-9ccdd7fa] .code-editor-container diffs-container{--diffs-line-height: 1.65em}.md[data-v-9ccdd7fa] .code-pre-fallback>.markstream-pre__line-numbers{display:none}.md[data-v-9ccdd7fa] .code-block-container .code-pre-fallback{padding-left:1ch;line-height:1.65!important}.md[data-v-9ccdd7fa] .code-block-container pre:not(.code-pre-fallback):not(.markstream-pre--line-numbers),.md[data-v-9ccdd7fa] .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-9ccdd7fa] .code-block-container pre code{font:inherit;color:var(--color-text);background:none;border:none;padding:0;border-radius:0}.md[data-v-9ccdd7fa] .markstream-pre,.md[data-v-9ccdd7fa] .code-pre-fallback,.md[data-v-9ccdd7fa] .code-block-shell-content pre:not(.shiki),.md[data-v-9ccdd7fa] .code-block-shell-content pre:not(.shiki) code{color:var(--color-text)}.md[data-v-9ccdd7fa] a{color:var(--color-accent);text-decoration:none}.md[data-v-9ccdd7fa] a:hover{text-decoration:underline}.md[data-v-9ccdd7fa] .katex-display{overflow-x:auto;overflow-y:hidden;padding:2px 0 6px;margin:.6em 0}.md[data-v-9ccdd7fa] blockquote{margin:.5em 0;padding:4px 12px;border-left:3px solid var(--color-line);color:var(--color-text-muted)}.md[data-v-9ccdd7fa] hr{border:none;border-top:1px solid var(--color-line);margin:.8em 0}.md[data-v-9ccdd7fa] table:not(.table-node){border-collapse:collapse;font-size:var(--text-lg);margin:.5em 0}.md[data-v-9ccdd7fa] table:not(.table-node) th,.md[data-v-9ccdd7fa] table:not(.table-node) td{border:1px solid var(--color-line);padding:4px 10px;text-align:left}.md[data-v-9ccdd7fa] table:not(.table-node) th{background:var(--color-surface);color:var(--color-text);font-weight:var(--weight-medium)}.md[data-v-9ccdd7fa] .table-node-wrapper{width:100%;max-width:100%!important;min-width:0;overflow-x:auto!important}.md[data-v-9ccdd7fa] .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-9ccdd7fa] .table-node th,.md[data-v-9ccdd7fa] .table-node td{text-align:left;vertical-align:top;max-width:var(--p-table-cell-max)}.md[data-v-9ccdd7fa] .table-node .text-node{display:inline-block;max-width:var(--p-table-cell-max);vertical-align:top}.md[data-v-9ccdd7fa] .table-node tbody tr:hover{background-color:transparent!important}.diff-wrap[data-v-9ccdd7fa]{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-9ccdd7fa]{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-9ccdd7fa]{margin-right:auto}.diff-copy[data-v-9ccdd7fa]{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-9ccdd7fa]:hover{background:var(--color-surface-sunken);color:var(--color-text)}.diff-copy[data-v-9ccdd7fa]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.diff-pre[data-v-9ccdd7fa]{margin:0;padding:12px 0;overflow-x:auto;background:var(--color-surface-sunken)}.diff-pre code[data-v-9ccdd7fa]{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-9ccdd7fa]{display:block;width:100%;padding:0 14px}.diff-sign[data-v-9ccdd7fa]{display:inline-block;width:14px;text-align:center;color:var(--color-text-muted);user-select:none}.diff-text[data-v-9ccdd7fa]{color:var(--color-text)}.diff-add[data-v-9ccdd7fa]{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-9ccdd7fa]{color:var(--color-success)}.diff-del[data-v-9ccdd7fa]{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-9ccdd7fa]{color:var(--color-danger)}.diff-hunk[data-v-9ccdd7fa]{background:var(--color-surface)}.diff-hunk .diff-text[data-v-9ccdd7fa]{color:var(--color-text-muted)}.md[data-v-9ccdd7fa],.md .markdown-renderer[data-v-9ccdd7fa]{font-family:var(--sans)}.md .code-block-container[data-v-9ccdd7fa],.md .diff-wrap[data-v-9ccdd7fa]{border-radius:var(--radius-md)}.md :not(pre)>code[data-v-9ccdd7fa],.md .inline-code[data-v-9ccdd7fa]{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-3ca41c3a]{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-3ca41c3a]{font-size:var(--ui-font-size-sm)}.chat-loading[data-v-3ca41c3a]{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:24px 16px;color:var(--muted)}.chat-loading-text[data-v-3ca41c3a]{font-size:var(--ui-font-size-sm)}.chat[data-v-3ca41c3a]{--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-3ca41c3a]{align-self:stretch}.open-unsupported[data-v-3ca41c3a]{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-3ca41c3a],.chat>.a-msg[data-v-3ca41c3a],.chat>.compact-divider[data-v-3ca41c3a],.chat>.cron-notice[data-v-3ca41c3a],.chat>.sending-placeholder[data-v-3ca41c3a],.chat[data-v-3ca41c3a]>.activity-notice{margin-top:var(--chat-turn-gap)}.chat>.a-msg[data-v-3ca41c3a]{margin-top:10px}.chat>.u-turn[data-v-3ca41c3a]:first-child,.chat>.a-msg[data-v-3ca41c3a]:first-child,.chat>.compact-divider[data-v-3ca41c3a]:first-child,.chat>.cron-notice[data-v-3ca41c3a]:first-child,.chat>.sending-placeholder[data-v-3ca41c3a]:first-child,.chat[data-v-3ca41c3a]>.activity-notice:first-child{margin-top:0}.u-turn[data-v-3ca41c3a]{display:flex;flex-direction:column;align-items:flex-end;align-self:flex-start;width:100%}.u-bub[data-v-3ca41c3a]{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-3ca41c3a]{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-3ca41c3a]{min-height:22px;box-sizing:border-box}.u-text[data-v-3ca41c3a]{white-space:pre-wrap;overflow-wrap:anywhere}.u-edit[data-v-3ca41c3a]{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-3ca41c3a]{display:block;flex:none}.u-edit[data-v-3ca41c3a]:hover{opacity:1;color:var(--color-accent);background:var(--hover)}.u-copy[data-v-3ca41c3a]{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-3ca41c3a]{display:block;flex:none}.u-copy[data-v-3ca41c3a]:hover{opacity:1;color:var(--color-accent);background:var(--hover)}.u-edit-wrap[data-v-3ca41c3a]{display:flex;justify-content:flex-end}.chat>.u-edit-wrap[data-v-3ca41c3a]{margin-top:4px}.chat>.u-edit-wrap+.a-msg[data-v-3ca41c3a]{margin-top:8px}.compact-divider[data-v-3ca41c3a]{display:flex;align-items:center;gap:10px;align-self:stretch;width:100%;margin:var(--chat-section-gap) 0 0}.chat>.compact-divider[data-v-3ca41c3a]:first-child{margin-top:0}.cd-line[data-v-3ca41c3a]{flex:1;height:1px;background:var(--line)}.cd-label[data-v-3ca41c3a]{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-3ca41c3a]{background:none;border:none;padding:0;cursor:pointer;font:inherit;font-size:var(--text-base);color:var(--muted)}.cd-view[data-v-3ca41c3a]{color:var(--color-accent)}.cd-btn:hover .cd-view[data-v-3ca41c3a]{text-decoration:underline}.a-msg[data-v-3ca41c3a]{align-self:flex-start;max-width:94%;width:94%}.a-msg-ft[data-v-3ca41c3a]{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-3ca41c3a]{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-3ca41c3a]:hover{opacity:1;color:var(--color-accent);background:var(--hover)}.a-cpbtn svg[data-v-3ca41c3a]{display:block;flex:none}@media(hover:none){.a-msg-ft[data-v-3ca41c3a]{height:auto;margin-top:var(--chat-block-gap);opacity:1;pointer-events:auto}.a-cpbtn[data-v-3ca41c3a]{font-size:var(--ui-font-size-sm);padding:8px 10px;margin:-4px -6px}}.a-msg .msg[data-v-3ca41c3a]{font-size:var(--ui-font-size);line-height:1.6;color:var(--color-text);font-weight:500}.a-msg .msg[data-v-3ca41c3a] p{margin:0}.a-msg .msg[data-v-3ca41c3a] p+p{margin-top:8px}.a-msg>.msg[data-v-3ca41c3a],.a-msg[data-v-3ca41c3a]>.think,.a-msg[data-v-3ca41c3a]>.tool-group,.a-msg[data-v-3ca41c3a]>.agent-card,.a-msg[data-v-3ca41c3a]>.agent-group,.a-msg[data-v-3ca41c3a]>.box,.a-msg[data-v-3ca41c3a]>.swarm-card,.a-msg[data-v-3ca41c3a]>.media-tool,.a-msg[data-v-3ca41c3a]>.ui-banner{margin-top:var(--chat-block-gap)}.a-msg>.msg[data-v-3ca41c3a]:first-child,.a-msg[data-v-3ca41c3a]>.think:first-child,.a-msg[data-v-3ca41c3a]>.tool-group:first-child,.a-msg[data-v-3ca41c3a]>.agent-card:first-child,.a-msg[data-v-3ca41c3a]>.agent-group:first-child,.a-msg[data-v-3ca41c3a]>.box:first-child,.a-msg[data-v-3ca41c3a]>.swarm-card:first-child,.a-msg[data-v-3ca41c3a]>.media-tool:first-child,.a-msg[data-v-3ca41c3a]>.ui-banner:first-child{margin-top:0}.a-msg[data-v-3ca41c3a] 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-3ca41c3a] .markstream-vue.markdown-renderer:has(.table-node-wrapper){content-visibility:visible}.a-msg .msg[data-v-3ca41c3a] .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-3ca41c3a]{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.sending-placeholder[data-v-3ca41c3a]{align-self:flex-start;padding:10px 0}.turn-error[data-v-3ca41c3a]{flex-wrap:wrap}.turn-error-text[data-v-3ca41c3a]{flex:1;min-width:0;white-space:pre-wrap;overflow-wrap:anywhere}.turn-error-resume[data-v-3ca41c3a]{margin-left:auto;flex:none}.skill-act[data-v-3ca41c3a]{display:flex;flex-direction:column;gap:2px}.skill-act-head[data-v-3ca41c3a]{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-3ca41c3a]{color:var(--color-accent);font-size:var(--text-base)}.skill-act-args[data-v-3ca41c3a]{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-3ca41c3a]{box-sizing:border-box;width:100%;padding:14px max(12px,var(--safe-right)) 18px max(12px,var(--safe-left))}.u-bub[data-v-3ca41c3a]{max-width:min(88%,calc(100vw - 52px))}.a-msg[data-v-3ca41c3a]{width:100%;max-width:100%}.u-bub .u-text[data-v-3ca41c3a],.a-msg .msg[data-v-3ca41c3a]{font-size:var(--ui-font-size-xl)}.a-msg[data-v-3ca41c3a] .md,.a-msg[data-v-3ca41c3a] .markdown-renderer,.a-msg[data-v-3ca41c3a] .code-block-container,.a-msg[data-v-3ca41c3a] .diff-wrap,.a-msg[data-v-3ca41c3a] pre{max-width:100%}.a-msg[data-v-3ca41c3a] .code-block-container pre,.a-msg[data-v-3ca41c3a] .diff-pre{overflow-x:auto;-webkit-overflow-scrolling:touch}.a-msg[data-v-3ca41c3a] .media-tool.mob{width:min(44vw,160px)}.cd-label[data-v-3ca41c3a]{min-width:0;max-width:calc(100% - 48px);overflow:hidden;text-overflow:ellipsis}.u-edit-confirm[data-v-3ca41c3a]{flex-wrap:wrap;justify-content:flex-end;max-width:calc(100vw - 28px)}.ts[data-v-3ca41c3a]{font-size:var(--ui-font-size-sm)}.chat-empty-text[data-v-3ca41c3a],.chat-loading-text[data-v-3ca41c3a]{font-size:var(--ui-font-size-lg)}.cd-label[data-v-3ca41c3a],.cd-btn[data-v-3ca41c3a]{font-size:var(--ui-font-size)}}.top-sentinel[data-v-3ca41c3a]{display:flex;align-items:center;justify-content:center;padding:12px 0;min-height:28px}.top-sentinel-loading[data-v-3ca41c3a]{opacity:.8}.top-sentinel-btn[data-v-3ca41c3a]{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-3ca41c3a]:hover{color:var(--fg);border-color:var(--fg)}.top-sentinel-text[data-v-3ca41c3a]{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:var(--ui-font-size-sm)}.chat[data-v-3ca41c3a]{background:transparent}.chat[data-v-3ca41c3a]{gap:0;padding:22px 20px 26px}.u-bub[data-v-3ca41c3a]{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-3ca41c3a]{max-width:100%;width:100%}.chat>.q-stack[data-v-3ca41c3a]{margin-top:var(--chat-turn-gap)}.chat>.q-stack[data-v-3ca41c3a]:first-child{margin-top:0}.q-stack[data-v-3ca41c3a]{align-self:flex-end;width:100%;display:flex;flex-direction:column;gap:8px}.q-head[data-v-3ca41c3a]{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-3ca41c3a]{display:inline-flex;align-items:center;gap:6px}.q-title b[data-v-3ca41c3a]{color:var(--color-accent-hover);font-weight:var(--weight-medium)}.q-hint[data-v-3ca41c3a]{color:var(--color-text-faint)}.q-turn[data-v-3ca41c3a]{position:relative}.q-bub[data-v-3ca41c3a]{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-3ca41c3a]:hover{border-color:var(--color-accent);background:var(--color-accent-soft)}.q-grip[data-v-3ca41c3a]{flex:none;display:inline-flex;align-items:center;padding:2px;color:var(--color-text-faint);cursor:grab;opacity:.7}.q-grip[data-v-3ca41c3a]:hover{opacity:1}.q-grip[data-v-3ca41c3a]:active{cursor:grabbing}.q-body[data-v-3ca41c3a]{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-3ca41c3a]{opacity:1}.q-body[data-v-3ca41c3a]:disabled{cursor:default}.q-text[data-v-3ca41c3a]{white-space:pre-wrap;overflow-wrap:anywhere}.q-text-placeholder[data-v-3ca41c3a]{display:inline-flex;align-items:center;gap:4px;color:var(--color-text-muted)}.q-imgs[data-v-3ca41c3a]{display:flex;gap:4px;flex:none}.q-img[data-v-3ca41c3a]{width:28px;height:28px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--color-line)}.q-file[data-v-3ca41c3a]{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-3ca41c3a]{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-3ca41c3a]{color:var(--color-accent-hover);background:var(--color-accent-soft);border:1px solid var(--color-accent-bd)}.q-tag-idx[data-v-3ca41c3a]{color:var(--color-text-faint);background:var(--color-surface-sunken);border:1px solid var(--color-line)}.q-steer[data-v-3ca41c3a],.q-rm[data-v-3ca41c3a]{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-3ca41c3a]{position:relative;touch-action:manipulation}.q-steer[data-v-3ca41c3a]:after{content:"";position:absolute;inset:-11px}.q-bub:hover .q-steer[data-v-3ca41c3a],.q-bub:focus-within .q-steer[data-v-3ca41c3a],.q-steer[data-v-3ca41c3a]:focus-visible,.q-bub:hover .q-rm[data-v-3ca41c3a],.q-bub:focus-within .q-rm[data-v-3ca41c3a],.q-rm[data-v-3ca41c3a]:focus-visible{opacity:1}.q-steer[data-v-3ca41c3a]:hover{background:var(--color-accent-soft);color:var(--color-accent)}.q-rm[data-v-3ca41c3a]:hover{background:var(--color-danger-soft);color:var(--color-danger)}.q-turn.q-dragging .q-bub[data-v-3ca41c3a]{opacity:.45}.q-turn.drop-before[data-v-3ca41c3a]:before,.q-turn.drop-after[data-v-3ca41c3a]: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-3ca41c3a]:before{top:-5px}.q-turn.drop-after[data-v-3ca41c3a]:after{bottom:-5px}.chat[data-v-3ca41c3a] .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-3ca41c3a] .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-a3848f6a]{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-a3848f6a]{-webkit-app-region:drag}.chat-header.macos-desktop button[data-v-a3848f6a],.chat-header.macos-desktop input[data-v-a3848f6a]{-webkit-app-region:no-drag}.ch-id[data-v-a3848f6a]{display:flex;align-items:center;gap:6px;min-width:0;flex:none;max-width:46%}.ch-ws[data-v-a3848f6a]{color:var(--color-text-muted);font-size:var(--text-base);font-weight:var(--weight-medium);flex:none}.ch-sep[data-v-a3848f6a]{color:var(--color-text-faint);flex:none}.ch-ses[data-v-a3848f6a]{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-a3848f6a]{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-a3848f6a]{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-a3848f6a]{color:var(--color-text)}.ch-branch[data-v-a3848f6a]{color:var(--dim);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:4px}.ch-detached[data-v-a3848f6a]{color:var(--muted);font-style:italic}.ch-pill[data-v-a3848f6a]{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-a3848f6a]{border-color:var(--line)}.ch-diff-pill[data-v-a3848f6a]{border-color:color-mix(in srgb,var(--color-success) 20%,var(--line))}.ch-ahead[data-v-a3848f6a]{color:var(--color-warning);flex:none}.ch-behind[data-v-a3848f6a]{color:var(--color-accent-hover);flex:none}.ch-add[data-v-a3848f6a]{color:var(--color-success);flex:none}.ch-del[data-v-a3848f6a]{color:var(--color-danger);flex:none}.ch-spacer[data-v-a3848f6a]{flex:1;min-width:0}.ch-act-more.open[data-v-a3848f6a],.ch-act-search.active[data-v-a3848f6a]{background:var(--color-surface-sunken);color:var(--color-text)}.ch-pr[data-v-a3848f6a]{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-a3848f6a]{flex:none}.ch-pr.pr-open[data-v-a3848f6a]{color:var(--color-success);border-color:var(--color-success-bd);background:var(--color-success-soft)}.ch-pr.pr-merged[data-v-a3848f6a]{color:var(--color-done);border-color:var(--color-done-bd);background:var(--color-done-soft)}.ch-pr.pr-closed[data-v-a3848f6a]{color:var(--color-danger);border-color:var(--color-danger-bd);background:var(--color-danger-soft)}.ch-pr.pr-draft[data-v-a3848f6a],.ch-pr.pr-unknown[data-v-a3848f6a]{color:var(--color-text-muted);border-color:var(--color-line-strong);background:var(--color-surface-sunken)}.ch-pr[data-v-a3848f6a]:hover{border-color:var(--color-line-strong)}.ch-menu[data-v-a3848f6a]{position:fixed;top:0;left:0;z-index:var(--z-dropdown)}@media(max-width:980px){.ch-act-label[data-v-a3848f6a]{display:none}}@media(max-width:640px){.chat-header[data-v-a3848f6a]{display:none}}.slash-menu[data-v-3f12a9ed]{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-3f12a9ed]{position:relative}.slash-list[data-v-3f12a9ed]{max-height:240px;overflow-y:auto}.slash-item[data-v-3f12a9ed]{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-3f12a9ed]:hover{background:var(--color-surface-sunken)}.slash-item.active[data-v-3f12a9ed]{background:var(--color-accent-soft)}.slash-item.active .slash-name[data-v-3f12a9ed]{color:var(--color-accent-hover)}.slash-name[data-v-3f12a9ed]{color:var(--color-accent);font-weight:500;min-width:0;line-height:var(--leading-normal);overflow-wrap:anywhere}.slash-match[data-v-3f12a9ed]{font-weight:var(--weight-semibold)}.slash-desc-match[data-v-3f12a9ed]{font-weight:var(--weight-semibold);color:var(--color-text)}.slash-desc[data-v-3f12a9ed]{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-3f12a9ed]{padding:8px 12px;font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-text-muted)}.menu-scroll-thumb[data-v-3f12a9ed]{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-3f12a9ed]:hover,.menu-scroll-thumb[data-v-3f12a9ed]:active{background:var(--color-text-faint)}.menu-scroll-fade[data-v-3f12a9ed]{position:absolute;left:0;right:0;height:12px;pointer-events:none;transition:opacity var(--duration-fast) ease}.menu-scroll-fade-top[data-v-3f12a9ed]{top:var(--space-1);background:var(--menu-fade-top)}.menu-scroll-fade-bottom[data-v-3f12a9ed]{bottom:var(--space-1);background:var(--menu-fade-bottom)}@media(max-width:520px){.slash-item[data-v-3f12a9ed]{grid-template-columns:minmax(0,1fr);gap:2px}}.slash-menu[data-v-3f12a9ed]{border-radius:var(--radius-lg);box-shadow:var(--sh)}.slash-desc[data-v-3f12a9ed]{font-family:var(--sans)}.mention-menu[data-v-b8578b17]{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-scroller[data-v-b8578b17]{position:relative}.mention-list[data-v-b8578b17]{max-height:220px;overflow-y:auto}.mention-state[data-v-b8578b17]{padding:8px 12px;font-family:var(--font-ui);font-size:var(--text-sm)}.dim[data-v-b8578b17]{color:var(--color-text-muted)}.mention-item[data-v-b8578b17]{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-b8578b17]{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-b8578b17] svg{width:13px;height:13px;display:block}.mention-item:hover .mention-icon[data-v-b8578b17],.mention-item.active .mention-icon[data-v-b8578b17]{color:var(--color-text-muted)}.mention-item[data-v-b8578b17]:hover{background:var(--color-surface-sunken)}.mention-item.active[data-v-b8578b17]{background:var(--color-accent-soft)}.mention-name[data-v-b8578b17]{color:var(--color-text);font-weight:500;min-width:80px;flex-shrink:0}.mention-path[data-v-b8578b17]{color:var(--color-text-muted);font-size:var(--text-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-scroll-thumb[data-v-b8578b17]{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-b8578b17]:hover,.menu-scroll-thumb[data-v-b8578b17]:active{background:var(--color-text-faint)}.menu-scroll-fade[data-v-b8578b17]{position:absolute;left:0;right:0;height:12px;pointer-events:none;transition:opacity var(--duration-fast) ease}.menu-scroll-fade-top[data-v-b8578b17]{top:var(--space-1);background:var(--menu-fade-top)}.menu-scroll-fade-bottom[data-v-b8578b17]{bottom:var(--space-1);background:var(--menu-fade-bottom)}.mention-menu[data-v-b8578b17]{border-radius:var(--radius-lg);box-shadow:var(--sh)}.mention-state[data-v-b8578b17]{font-family:var(--sans)}.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-e7022649]{padding:7px var(--dock-inline-right, 16px) 12px var(--dock-inline-left, 16px);background:transparent;transition:background .12s}.composer.drag-over[data-v-e7022649]{background:var(--color-accent-soft)}.drop-overlay[data-v-e7022649]{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-e7022649]{opacity:1;visibility:visible}.drop-card[data-v-e7022649]{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-e7022649]{--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-e7022649]:focus-within{border-color:var(--color-accent);box-shadow:var(--shadow-md),0 0 0 3px var(--color-accent-soft)}.att-strip[data-v-e7022649]{display:flex;flex-wrap:wrap;gap:6px;padding:4px 0 6px}.att-lightbox[data-v-e7022649]{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-e7022649]{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-e7022649]{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-e7022649]{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-e7022649]{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-e7022649]{display:none}.cin-wrap[data-v-e7022649]{position:relative;padding:14px 16px 8px}.input-row[data-v-e7022649]{position:relative;display:flex;align-items:flex-start;gap:var(--space-2)}.expand-btn[data-v-e7022649]{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-e7022649]:hover{background:var(--panel2);color:var(--color-text)}.expand-btn[data-v-e7022649]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.ph[data-v-e7022649]{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-e7022649]::placeholder{color:var(--muted)}.ph[data-v-e7022649]:not(:placeholder-shown){color:var(--color-text)}.composer.expanded .ph[data-v-e7022649]{min-height:70vh;max-height:70vh}.compact-chip[data-v-e7022649]{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-e7022649]:hover{background:var(--panel2)}.send[data-v-e7022649]{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-e7022649]:hover{background:var(--color-accent-hover)}.send[data-v-e7022649]:active{transform:scale(.92)}.send[data-v-e7022649]:disabled{cursor:not-allowed;opacity:.88}.send[data-v-e7022649]:disabled:active{transform:none}.send.is-starting[data-v-e7022649] .ui-spinner{color:var(--color-text-on-accent)}.send.is-starting[data-v-e7022649] .ui-spinner__track{stroke:color-mix(in srgb,var(--color-text-on-accent) 32%,transparent)}.send svg[data-v-e7022649]{flex:none;width:var(--p-ic-lg);height:var(--p-ic-lg)}.stop[data-v-e7022649]{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-e7022649]:hover{background:var(--color-danger);color:var(--surface-light);border-color:var(--color-danger)}.stop[data-v-e7022649]:active{transform:scale(.92)}.stop svg[data-v-e7022649]{flex:none;width:var(--p-ic-lg);height:var(--p-ic-lg)}.toolbar[data-v-e7022649]{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-e7022649]{position:absolute;width:max-content;height:0;overflow:hidden;visibility:hidden;pointer-events:none}.toolbar-left[data-v-e7022649],.toolbar-right[data-v-e7022649]{display:flex;align-items:center;gap:2px;min-width:0;overflow:hidden}.toolbar-left[data-v-e7022649]{flex-wrap:wrap;row-gap:4px}.perm-pill[data-v-e7022649]{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-e7022649]:hover{background:var(--color-surface-sunken)}.perm-pill.open[data-v-e7022649]{background:var(--color-accent-soft)}.perm-pill.perm-manual[data-v-e7022649]{color:var(--dim)}.perm-pill.perm-yolo[data-v-e7022649]{color:var(--color-warning)}.perm-pill.perm-auto[data-v-e7022649]{color:var(--color-danger)}.ctx-group[data-v-e7022649]{display:flex;align-items:center;gap:4px;flex-shrink:0;padding:2px 4px;border-radius:var(--radius-xs)}.ctx-group[data-v-e7022649]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.model-pill[data-v-e7022649]{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-e7022649]:hover{background:var(--color-surface-sunken);color:var(--color-text)}.model-pill.open[data-v-e7022649]{background:var(--color-accent-soft)}.model-pill b[data-v-e7022649]{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-e7022649]{color:var(--color-accent);font-weight:500;flex-shrink:0}.model-pill .cv[data-v-e7022649]{color:var(--faint);flex:none}.model-pill:hover .cv[data-v-e7022649],.model-pill.open .cv[data-v-e7022649]{color:var(--color-accent-hover)}.model-dropdown[data-v-e7022649]{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-e7022649]{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-e7022649]{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-e7022649]:hover{background:var(--color-surface-sunken)}.md-row[data-v-e7022649]:disabled{cursor:default;opacity:.58}.md-row[data-v-e7022649]:disabled:hover{background:none}.md-row.is-current[data-v-e7022649]{color:var(--color-text);background:var(--color-accent-soft)}.md-row.is-on[data-v-e7022649]{color:var(--color-accent)}.md-note[data-v-e7022649]{margin-left:auto;color:var(--muted);font-size:var(--ui-font-size-xs)}.md-row-more[data-v-e7022649]{color:var(--color-accent);font-weight:500}.md-row-more[data-v-e7022649]:hover{background:var(--color-accent-soft)}.md-check[data-v-e7022649]{width:14px;flex:none;color:var(--color-accent);font-weight:500;display:flex;justify-content:center}.md-name[data-v-e7022649]{flex:1}.md-provider[data-v-e7022649]{color:var(--muted);font-size:var(--ui-font-size-xs);flex:none}.md-star[data-v-e7022649]{color:var(--star);flex:none;margin-left:auto}.md-divider[data-v-e7022649]{height:1px;background:var(--line);margin:3px 0}.md-thinking[data-v-e7022649]{display:flex;align-items:center;gap:8px;padding:6px 7px;border-radius:var(--radius-sm)}.md-thinking .md-name[data-v-e7022649]{font-family:var(--font-ui);font-size:var(--ui-font-size);color:var(--color-text);flex:none}.md-thinking .md-note[data-v-e7022649]{margin-left:auto}.effort-segments[data-v-e7022649]{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-e7022649]{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-e7022649]:hover:not(:disabled):not(.is-active){background:var(--color-surface-raised);color:var(--color-text)}.effort-seg[data-v-e7022649]:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.effort-seg.is-active[data-v-e7022649]{background:var(--color-accent);color:var(--color-text-on-accent);box-shadow:var(--shadow-xs);font-weight:500}.effort-seg[data-v-e7022649]:disabled{cursor:default}.md-thinking.is-readonly .effort-segments[data-v-e7022649]{opacity:.62}.md-cache-note[data-v-e7022649]{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-e7022649]{background:var(--color-surface-raised);color:var(--color-text-muted);box-shadow:none}.perm-dropdown[data-v-e7022649]{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-e7022649]{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-e7022649]:hover{background:var(--color-surface-sunken)}.pd-row.is-current[data-v-e7022649]{background:var(--color-accent-soft)}.pd-check[data-v-e7022649]{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-e7022649]{display:contents}.pd-name[data-v-e7022649]{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-e7022649]{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-e7022649]{display:inline-flex;flex:none}.add-menu-anchor .ui-icon-button.is-open[data-v-e7022649]{background:var(--color-accent-soft);color:var(--color-accent-hover)}.add-menu[data-v-e7022649]{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-e7022649]{color:var(--muted)}.add-menu .pd-row.is-current .pd-check[data-v-e7022649],.add-menu .pd-row.is-current .pd-name[data-v-e7022649]{color:var(--color-accent-hover)}.mode-chip[data-v-e7022649]{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-e7022649]:hover{background:var(--color-surface-sunken)}.mode-chip.on[data-v-e7022649]{background:var(--color-accent-soft);border-color:var(--color-accent-bd)}.mode-chip-main[data-v-e7022649]{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(--ui-font-size);font-weight:var(--weight-medium);line-height:var(--leading-normal);cursor:pointer;user-select:none}.mode-chip-main[data-v-e7022649]:hover{color:var(--color-text)}.mode-chip.on .mode-chip-main[data-v-e7022649]{color:var(--color-accent-hover)}.mode-chip-x[data-v-e7022649]{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-e7022649]:hover{color:var(--color-text)}.mode-chip.on .mode-chip-x[data-v-e7022649]:hover{color:var(--color-accent-hover)}.mode-chip-x[data-v-e7022649]:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}@media(max-width:980px){.model-pill b[data-v-e7022649]{max-width:130px}.perm-pill[data-v-e7022649]{max-width:104px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media(max-width:640px){.composer[data-v-e7022649]{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-e7022649]{--composer-send-size: 36px;max-width:100%}.input-row[data-v-e7022649]{gap:6px;min-width:0}.send[data-v-e7022649]{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-e7022649]{display:none}.send[data-v-e7022649]:after{content:"↑";font-size:17px;line-height:1;color:var(--bg)}.stop[data-v-e7022649]{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-e7022649]{display:none}.stop[data-v-e7022649]:after{content:"■";font-size:17px;line-height:1}.perm-pill[data-v-e7022649],.add-menu-anchor[data-v-e7022649],.mode-chip[data-v-e7022649]{display:none}.model-dropdown[data-v-e7022649]{right:10px;left:auto;min-width:180px;max-width:calc(100vw - 24px)}.ph[data-v-e7022649]{font-size:16px}.model-pill[data-v-e7022649],.attach-btn[data-v-e7022649]{font-size:var(--ui-font-size)}.toolbar[data-v-e7022649]{gap:6px;min-width:0}.toolbar-left[data-v-e7022649],.toolbar-right[data-v-e7022649]{min-width:0}.model-pill[data-v-e7022649]{max-width:min(52vw,220px)}.model-pill b[data-v-e7022649]{max-width:min(40vw,170px)}.md-row[data-v-e7022649],.md-section[data-v-e7022649]{font-size:var(--ui-font-size)}.md-thinking[data-v-e7022649]{flex-wrap:wrap;row-gap:6px}.md-thinking .effort-segments[data-v-e7022649]{margin-left:0;width:100%;justify-content:space-between}.md-thinking .effort-seg[data-v-e7022649]{flex:1;padding:5px 6px}.pd-name[data-v-e7022649]{font-size:var(--ui-font-size)}.pd-desc[data-v-e7022649]{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-2af45fec]{margin:var(--space-2) 0}.qcard.ui-card[data-v-2af45fec]{border-color:var(--color-accent-bd)}.qcard[data-v-2af45fec] .ui-card__head{background:var(--color-accent-soft);border-bottom-color:var(--color-accent-bd)}.qcard.minimized[data-v-2af45fec] .ui-card__body{display:none}.qcard.minimized[data-v-2af45fec] .ui-card__head{border-bottom:none}.qh[data-v-2af45fec]{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-2af45fec]{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-2af45fec]{color:var(--color-accent-hover);font-size:var(--text-base);font-weight:var(--weight-semibold)}.qstep[data-v-2af45fec]{color:var(--color-text-muted);font:var(--text-xs) var(--font-ui);margin-left:var(--space-1)}.qmin[data-v-2af45fec]{margin-left:auto}.qmin-peek[data-v-2af45fec]{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-2af45fec]{color:var(--color-text);font:var(--text-base)/var(--leading-normal) var(--font-ui)}.qsteps[data-v-2af45fec]{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);font-family:var(--font-ui)}.qstep-dot[data-v-2af45fec]{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-2af45fec]:hover:not(.active){background:var(--color-surface-sunken)}.qstep-dot.active[data-v-2af45fec]{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-2af45fec]:not(.active){border-color:var(--color-accent);color:var(--color-accent)}.qheader-chip[data-v-2af45fec]{margin-bottom:var(--space-2)}.qtext[data-v-2af45fec]{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-2af45fec]{margin-bottom:var(--space-2)}.qopts[data-v-2af45fec]{display:flex;flex-direction:column;gap:var(--space-1);margin-top:var(--space-2)}.qopt[data-v-2af45fec]{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-2af45fec]:hover{background:var(--color-surface-sunken)}.qopt.selected[data-v-2af45fec]{border-color:var(--color-accent-bd);background:var(--color-accent-soft);color:var(--color-text)}.qopt-key[data-v-2af45fec]{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-2af45fec]{color:var(--color-accent-hover);font-size:var(--text-base);flex:none}.qopt-text[data-v-2af45fec]{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.qopt-label[data-v-2af45fec]{color:var(--color-text);font-size:var(--text-base);font-weight:var(--weight-medium)}.qopt-desc[data-v-2af45fec]{color:var(--color-text-muted);font:var(--text-xs)/var(--leading-normal) var(--font-ui);font-weight:var(--weight-medium)}.chk[data-v-2af45fec],.rad[data-v-2af45fec]{font:var(--text-base) var(--font-mono)}.other-input[data-v-2af45fec]{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-2af45fec]:focus-visible{border-bottom-color:var(--color-accent);box-shadow:0 1px 0 0 var(--color-accent)}.qfoot[data-v-2af45fec]{display:flex;justify-content:flex-end;gap:var(--space-2);width:100%}@media(max-width:640px){.qh[data-v-2af45fec]{flex-wrap:wrap;row-gap:var(--space-1)}.qtext[data-v-2af45fec]{font-size:var(--text-lg)}.qstep-dot[data-v-2af45fec]{width:28px;height:28px;font:var(--text-xs) var(--font-ui)}.qopt[data-v-2af45fec]{min-height:44px;padding:var(--space-3);font-size:var(--text-base);border-radius:var(--radius-md)}.qopt-desc[data-v-2af45fec]{font-size:var(--text-xs)}.other-input[data-v-2af45fec]{flex-basis:100%;min-height:28px}.qfoot[data-v-2af45fec]{flex-direction:column}.qfoot-btn[data-v-2af45fec]{width:100%;min-height:46px}.qfoot-main[data-v-2af45fec]{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)}.taskspane[data-v-30ebee08]{padding:14px 18px 10px;flex:1;min-height:0;display:flex;flex-direction:column}.tp-head[data-v-30ebee08]{border-top:1px solid var(--line);padding-top:10px;margin-bottom:8px;display:flex;align-items:baseline;gap:8px}.tp-title[data-v-30ebee08]{color:var(--color-accent-hover);font-weight:500;font-size:var(--text-base);text-transform:capitalize}.tp-count[data-v-30ebee08]{color:var(--muted);font-size:var(--text-base)}.tp-filter[data-v-30ebee08]{padding-bottom:8px}.tp-body[data-v-30ebee08]{flex:1;min-height:0;display:flex;gap:10px}.tp-list-col[data-v-30ebee08]{flex:1;min-width:0;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.tp-row[data-v-30ebee08]{padding:4px 0}.tp-row.done .tp-name[data-v-30ebee08],.tp-card.done .tp-card-name[data-v-30ebee08]{color:var(--muted);text-decoration:line-through}.tp-row.fail .tp-name[data-v-30ebee08],.tp-card.fail .tp-card-name[data-v-30ebee08]{color:var(--color-danger)}.tp-main[data-v-30ebee08]{display:flex;align-items:center;gap:7px;font-size:var(--text-base)}.tp-row.expandable>.tp-main[data-v-30ebee08]{cursor:pointer;border-radius:4px}.tp-row.expandable>.tp-main[data-v-30ebee08]:hover{background:var(--panel2)}.tp-row.selected>.tp-main[data-v-30ebee08]{background:var(--panel2)}.tp-chevron[data-v-30ebee08]{flex:none;color:var(--muted);transition:transform .12s}.tp-chevron.open[data-v-30ebee08]{transform:rotate(90deg)}.tp-name[data-v-30ebee08]{color:var(--color-text);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tp-time[data-v-30ebee08]{flex:none;font-size:var(--text-base);color:var(--muted)}.tp-stop[data-v-30ebee08]{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-30ebee08]:hover{background:var(--panel)}.tp-detail[data-v-30ebee08]{margin:4px 0 0 23px;display:flex;flex-direction:column;gap:4px}.tp-detail-col[data-v-30ebee08]{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-30ebee08]{flex:none;padding-bottom:2px}.tp-detail-empty[data-v-30ebee08]{padding:18px 6px;text-align:center;color:var(--faint);font-size:var(--ui-font-size-sm)}.tp-codebox[data-v-30ebee08]{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-xs)}.tp-copy[data-v-30ebee08]{position:absolute;top:4px;right:6px;z-index:1;opacity:0;visibility:hidden;transition:opacity .12s ease,visibility .12s ease;background:var(--panel2);border:1px solid var(--line);border-radius:var(--radius-xs);color:var(--dim);font-size:max(9px,calc(var(--ui-font-size) - 3.5px));padding:1px 7px;cursor:pointer;font-family:var(--sans)}.tp-codebox:hover .tp-copy[data-v-30ebee08],.tp-copy[data-v-30ebee08]:focus-visible{opacity:1;visibility:visible}.tp-copy[data-v-30ebee08]:hover{background:var(--panel)}.tp-copy.copied[data-v-30ebee08]{color:var(--color-success);border-color:color-mix(in srgb,var(--color-success) 30%,var(--line))}.tp-pre[data-v-30ebee08]{margin:0;padding:6px 10px;max-height:320px;overflow:auto;contain:layout paint}.tp-pre code[data-v-30ebee08]{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-30ebee08]{display:block;color:var(--muted)}.tp-line[data-v-30ebee08]{display:block}.tp-grid[data-v-30ebee08]{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-30ebee08]{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-30ebee08]:hover{background:var(--panel2);border-color:color-mix(in srgb,var(--color-accent-hover) 40%,var(--line))}.tp-card[data-v-30ebee08]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.tp-card-line[data-v-30ebee08]{display:flex;align-items:center;gap:7px;min-width:0}.tp-card-name[data-v-30ebee08]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tp-card-meta[data-v-30ebee08]{justify-content:space-between}.tp-empty[data-v-30ebee08]{padding:24px 0;text-align:center;color:var(--faint);font-size:var(--ui-font-size-sm)}@media(max-width:640px){.taskspane[data-v-30ebee08]{padding:14px 14px 16px}.tp-body[data-v-30ebee08]{flex-direction:column;overflow-y:auto;gap:8px}.tp-list-col[data-v-30ebee08]{flex:none;overflow:visible}.tp-detail-col[data-v-30ebee08]{flex:none;border-left:none;border-top:1px solid var(--line);padding-left:0;padding-top:8px;overflow:visible}.tp-main[data-v-30ebee08]{flex-wrap:wrap;row-gap:4px}.tp-name[data-v-30ebee08]{font-size:var(--ui-font-size-sm)}.tp-stop[data-v-30ebee08]{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-30ebee08]{margin-left:0}.tp-pre[data-v-30ebee08]{font-size:var(--ui-font-size-xs)}}.tp-stop[data-v-30ebee08]{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-c24c01d4]{--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-c24c01d4]{margin-left:auto;margin-right:auto}.chat-dock.align-left[data-v-c24c01d4]{margin-left:0;margin-right:auto}.chat-dock.align-mobile[data-v-c24c01d4]{max-width:none}.dock-work-panel[data-v-c24c01d4]{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-c24c01d4]{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--color-line)}.dock-work-tab[data-v-c24c01d4]{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-c24c01d4]{background:transparent;border-color:transparent;padding-left:2px}.dock-work-body[data-v-c24c01d4]{display:flex;flex-direction:column;padding:8px 10px;overflow-y:auto;min-height:0}.dock-work-body[data-v-c24c01d4] .taskspane{border:none;background:transparent;padding:0}.dock-work-body[data-v-c24c01d4] .taskspane .tp-head{display:none}.dock-workbar[data-v-c24c01d4]{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-c24c01d4]{margin-left:1px}.dock-workbar .dw-count b[data-v-c24c01d4]{font-weight:500}.dock-approval[data-v-c24c01d4]{margin-top:8px}.chat-dock.has-approval[data-v-c24c01d4]{max-height:calc(100dvh - 72px)}.chat-dock.has-approval>.dock-workbar[data-v-c24c01d4]{flex:none}.chat-dock.has-approval>.dock-approval[data-v-c24c01d4]{min-height:0}@media(max-width:640px){.chat-dock[data-v-c24c01d4]{--dock-inline-left: max(12px, var(--safe-left));--dock-inline-right: max(12px, var(--safe-right))}.dock-work-panel[data-v-c24c01d4]{left:10px;right:calc(10px + var(--panes-scrollbar-width, 0px))}}.chat-dock[data-v-c24c01d4]:not(.align-mobile) .composer{padding-bottom:14px}.dock-panel-enter-active[data-v-c24c01d4],.dock-panel-leave-active[data-v-c24c01d4]{transition:opacity .16s ease,transform .16s ease}.dock-panel-enter-from[data-v-c24c01d4],.dock-panel-leave-to[data-v-c24c01d4]{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-3f1c1f66]{position:absolute;z-index:var(--z-sticky);top:50%;transform:translateY(-50%);--toc-content-max: min( var(--p-content-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-3f1c1f66]:before{content:"";position:absolute;inset:0 -48px 0 -14px;z-index:0}.conversation-toc[data-v-3f1c1f66]:hover,.conversation-toc[data-v-3f1c1f66]:focus-within{opacity:1}.toc-scroll[data-v-3f1c1f66]{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-3f1c1f66]::-webkit-scrollbar{display:none}.toc-row[data-v-3f1c1f66]{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-3f1c1f66]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.toc-bar[data-v-3f1c1f66]{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-3f1c1f66]{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-3f1c1f66],.conversation-toc:focus-within .toc-bar[data-v-3f1c1f66]{height:18px;opacity:.5}.conversation-toc:hover .toc-label[data-v-3f1c1f66],.conversation-toc:focus-within .toc-label[data-v-3f1c1f66]{max-width:220px;opacity:1}.toc-row.active .toc-bar[data-v-3f1c1f66]{opacity:1;height:18px}.toc-row.active .toc-label[data-v-3f1c1f66]{color:var(--color-accent);font-weight:var(--weight-medium)}.toc-row:hover .toc-bar[data-v-3f1c1f66]{opacity:1}.toc-row:hover .toc-label[data-v-3f1c1f66]{color:var(--color-text)}.conversation-toc.toc-clipped[data-v-3f1c1f66]{visibility:hidden;pointer-events:none}.con[data-v-fad3cc77]{--read-max: 760px;display:flex;flex-direction:column;min-width:0;height:100%;position:relative;container-type:inline-size}.panes[data-v-fad3cc77]{flex:1;min-height:0;overflow-y:auto;overflow-anchor:auto;scrollbar-gutter:stable}.panes.is-following[data-v-fad3cc77],.panes.history-prepending[data-v-fad3cc77]{overflow-anchor:none}.chat-layout[data-v-fad3cc77]{display:flex;flex-direction:column;height:100%;min-height:0;position:relative}.chat-scroll[data-v-fad3cc77]{flex:1;min-height:0;position:relative}.content-wrap[data-v-fad3cc77]{width:100%;max-width:var(--read-max);min-height:100%;display:flex;flex-direction:column;flex-shrink:0}.content-wrap.align-center[data-v-fad3cc77]{margin-left:auto;margin-right:auto}.content-wrap.align-left[data-v-fad3cc77]{margin-left:0;margin-right:auto}.content-wrap.align-mobile[data-v-fad3cc77]{max-width:none}@media(max-width:640px){.con.mobile[data-v-fad3cc77]{min-width:0;overflow:hidden}.con.mobile .panes[data-v-fad3cc77]{scrollbar-gutter:auto;-webkit-overflow-scrolling:touch}.content-wrap.align-mobile[data-v-fad3cc77]{width:100%;min-width:0}}.empty-spacer[data-v-fad3cc77]{flex:1}.empty-hint[data-v-fad3cc77]{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-fad3cc77]{font-size:calc(var(--ui-font-size) + 16px);font-optical-sizing:auto;font-weight:var(--weight-semibold)}.empty-hint-title.is-starting[data-v-fad3cc77]{display:inline-flex;align-items:center;gap:9px;color:var(--dim);font-weight:400}.empty-hint-text[data-v-fad3cc77]{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-fad3cc77]{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-fad3cc77]:hover{border-color:var(--color-accent-bd);color:var(--color-text)}.empty-add-workspace[data-v-fad3cc77]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.empty-add-workspace svg[data-v-fad3cc77]{flex:none}.ws-pick[data-v-fad3cc77]{position:relative;font-family:var(--font-ui)}.ws-pick-btn[data-v-fad3cc77]{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-fad3cc77]:hover{border-color:var(--color-accent-bd);color:var(--color-text)}.ws-pick-name[data-v-fad3cc77]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-pick-chev[data-v-fad3cc77]{flex:none;color:var(--muted);transition:transform .15s}.ws-pick-chev.open[data-v-fad3cc77]{transform:rotate(180deg)}.ws-pick-backdrop[data-v-fad3cc77]{position:fixed;inset:0;z-index:var(--z-sticky)}.ws-pick-menu[data-v-fad3cc77]{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-fad3cc77]{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-fad3cc77]:hover{background:var(--panel2)}.ws-pick-item.on[data-v-fad3cc77]{background:var(--color-accent-soft)}.ws-pick-item-name[data-v-fad3cc77]{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-fad3cc77]{color:var(--color-accent-hover)}.ws-pick-item-path[data-v-fad3cc77]{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-fad3cc77]{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-fad3cc77]:hover{color:var(--color-text)}.ws-pick-item.ws-pick-more span[data-v-fad3cc77],.ws-pick-action span[data-v-fad3cc77]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-pick-divider[data-v-fad3cc77]{height:1px;margin:4px 6px;background:var(--line)}.ws-pick-action[data-v-fad3cc77]{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-fad3cc77]:hover{background:var(--panel2);color:var(--color-text)}.ws-pick-action svg[data-v-fad3cc77]{flex:none}.chat-scroll[data-v-fad3cc77]{display:flex;flex-direction:column}.mobile .panes[data-v-fad3cc77]:has(>.chat-layout){overflow:hidden;scrollbar-gutter:auto}.newmsg-pill[data-v-fad3cc77]{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-fad3cc77]:hover{background:var(--panel2)}.pill-chevron[data-v-fad3cc77]{width:12px;height:12px}.pill-enter-active[data-v-fad3cc77],.pill-leave-active[data-v-fad3cc77]{transition:opacity .2s ease,transform .2s ease}.pill-enter-from[data-v-fad3cc77],.pill-leave-to[data-v-fad3cc77]{opacity:0;transform:translate(-50%) translateY(8px)}.abort-toast[data-v-fad3cc77]{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-fad3cc77]{display:flex;align-items:center;gap:8px}.abort-toast-enter-active[data-v-fad3cc77],.abort-toast-leave-active[data-v-fad3cc77]{transition:opacity .15s ease,transform .15s ease}.abort-toast-enter-from[data-v-fad3cc77],.abort-toast-leave-to[data-v-fad3cc77]{opacity:0;transform:translate(-50%) translateY(-6px)}.con[data-v-fad3cc77]{background:var(--bg)}.newmsg-pill[data-v-fad3cc77]{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-ded222d2]{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-ded222d2],.fp-loading[data-v-ded222d2]{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-ded222d2]{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-ded222d2]{display:flex;align-items:center;gap:8px;flex:none}@container (max-width: 539px){.fp-meta[data-v-ded222d2]{display:none}}.fp-lines[data-v-ded222d2],.fp-size[data-v-ded222d2]{font-size:max(9px,calc(var(--ui-font-size) - 3.5px));color:var(--muted);white-space:nowrap}.fp-search[data-v-ded222d2]{display:flex;align-items:center;gap:4px;flex:1 1 110px;min-width:70px;max-width:200px}.fp-search-input[data-v-ded222d2]{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-ded222d2]{color:var(--muted);font-size:max(9px,calc(var(--ui-font-size) - 3.5px));min-width:18px;text-align:right}.fp-download[data-v-ded222d2]{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-ded222d2]:hover{background:var(--color-surface-sunken);color:var(--color-text)}.fp-download[data-v-ded222d2]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.fp-download svg[data-v-ded222d2]{width:var(--p-ic-sm);height:var(--p-ic-sm)}.fp-check[data-v-ded222d2]{color:var(--color-success)}.fp-body[data-v-ded222d2]{--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-ded222d2]{padding:16px 20px}.fp-code[data-v-ded222d2]{background:var(--bg)}.fp-line-table[data-v-ded222d2]{display:table;width:100%;border-collapse:collapse;font-size:var(--ui-font-size);line-height:1.6}.fp-line-row[data-v-ded222d2]{display:table-row}.fp-line-row.hit .fp-line-text[data-v-ded222d2],.fp-table tr.hit td[data-v-ded222d2]{background:var(--fp-search-hit-bg)}.fp-line-row.active .fp-line-text[data-v-ded222d2],.fp-table tr.active td[data-v-ded222d2]{background:var(--fp-search-active-bg)}.fp-line-row.target .fp-gutter[data-v-ded222d2],.fp-line-row.target .fp-line-text[data-v-ded222d2],.fp-table tr.target th[data-v-ded222d2],.fp-table tr.target td[data-v-ded222d2]{background:var(--color-accent-soft)}.fp-gutter[data-v-ded222d2]{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-ded222d2]{display:table-cell;padding:0 12px;color:var(--color-text);white-space:pre;vertical-align:top}.fp-line-text[data-v-ded222d2] .tok-key,.fp-line-text[data-v-ded222d2] .tok-keyword{color:var(--fp-token-keyword);font-weight:500}.fp-line-text[data-v-ded222d2] .tok-string{color:var(--fp-token-string)}.fp-line-text[data-v-ded222d2] .tok-number,.fp-line-text[data-v-ded222d2] .tok-literal{color:var(--fp-token-literal)}.fp-line-text[data-v-ded222d2] .tok-comment{color:var(--muted);font-style:italic}.fp-line-text[data-v-ded222d2] .tok-tag{color:var(--fp-token-tag);font-weight:500}.fp-line-text[data-v-ded222d2] .tok-attr{color:var(--fp-token-literal)}.fp-html-frame[data-v-ded222d2],.fp-pdf-frame[data-v-ded222d2]{width:100%;height:100%;border:0;background:var(--color-surface-raised)}.fp-pdf-wrap[data-v-ded222d2]{background:var(--panel2)}.fp-table-wrap[data-v-ded222d2]{background:var(--bg)}.fp-table[data-v-ded222d2]{border-collapse:collapse;min-width:100%;font:12px/1.5 var(--mono)}.fp-table th[data-v-ded222d2]{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-ded222d2]{padding:2px 10px;border-right:1px solid var(--line2);border-bottom:1px solid var(--line2);white-space:pre}.fp-image-wrap[data-v-ded222d2]{display:flex;align-items:center;justify-content:center;padding:24px;background:var(--panel2)}.fp-image[data-v-ded222d2]{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-ded222d2]{max-width:none;max-height:none}.fp-binary-wrap[data-v-ded222d2]{display:flex;align-items:center;justify-content:center}.fp-binary-card[data-v-ded222d2]{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-ded222d2]{color:var(--faint);flex:none}.fp-error[data-v-ded222d2]{flex-direction:column;padding:24px;text-align:center}@keyframes spin-ded222d2{to{transform:rotate(360deg)}}.spinner[data-v-ded222d2]{display:inline-block;width:14px;height:14px;border:1.5px solid var(--line);border-top-color:var(--color-accent);border-radius:50%;animation:spin-ded222d2 .7s linear infinite}@media(max-width:640px){.fp-lines[data-v-ded222d2]{display:none}.fp-markdown[data-v-ded222d2]{padding:14px 16px}.fp-body.fp-code[data-v-ded222d2]{-webkit-overflow-scrolling:touch}}.fp-empty[data-v-ded222d2],.fp-loading[data-v-ded222d2]{font-family:var(--sans)}.fp-binary-card[data-v-ded222d2]{border:1px solid var(--color-line);border-radius:var(--radius-md)}.fp-binary-label[data-v-ded222d2]{font-family:var(--sans)}.fp-image[data-v-ded222d2]{border-radius:var(--radius-md)}.seg-btn[data-v-ded222d2]{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}.mp[data-v-56cefe51]{display:flex;flex-direction:column;gap:var(--space-2)}.search-wrap[data-v-56cefe51]{padding-bottom:var(--space-1)}.tab-strip[data-v-56cefe51]{display:flex;gap:var(--space-1);overflow-x:auto}.model-list[data-v-56cefe51]{display:flex;flex-direction:column;padding:var(--space-1) 0}.model-row[data-v-56cefe51]{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-56cefe51]:hover,.model-row.is-selected[data-v-56cefe51]{background:var(--color-surface-sunken)}.model-row.is-current[data-v-56cefe51]{background:var(--color-accent-soft);box-shadow:inset 0 0 0 1px var(--color-accent-bd)}.check[data-v-56cefe51]{width:14px;height:14px;color:var(--color-accent);flex:none;display:flex;align-items:center;justify-content:center}.model-main[data-v-56cefe51]{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.model-name[data-v-56cefe51]{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-56cefe51]{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-56cefe51]{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-56cefe51]{flex:none;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted)}.caps[data-v-56cefe51]{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.state-row[data-v-56cefe51]{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-56cefe51]{color:var(--color-warning)}.empty[data-v-56cefe51]{padding:var(--space-5) 0;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-base)}.footer-hint[data-v-56cefe51]{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-56cefe51],.caps[data-v-56cefe51]{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-b1859ac1]{display:flex;flex-direction:column;gap:var(--space-4)}.prov-list[data-v-b1859ac1]{display:flex;flex-direction:column;gap:var(--space-1)}.state-row[data-v-b1859ac1]{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-b1859ac1]{color:var(--color-warning)}.empty[data-v-b1859ac1]{padding:var(--space-4) 0;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-base)}.prov-row[data-v-b1859ac1]{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-b1859ac1]:last-child{border-bottom:none}.status-dot[data-v-b1859ac1]{width:8px;height:8px;flex:none;border-radius:50%;box-sizing:border-box}.status-dot--empty[data-v-b1859ac1]{background:transparent;border:1.5px solid var(--color-text-faint)}.prov-info[data-v-b1859ac1]{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.prov-type[data-v-b1859ac1]{font-family:var(--font-ui);font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-text)}.prov-url[data-v-b1859ac1]{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-b1859ac1]{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-b1859ac1]{display:flex;gap:var(--space-2);flex:none;align-items:center;flex-wrap:wrap}.add-section[data-v-b1859ac1]{border-top:1px solid var(--color-line);padding-top:var(--space-4)}.add-btns[data-v-b1859ac1]{display:flex;flex-wrap:wrap;gap:var(--space-2)}.add-form[data-v-b1859ac1]{display:flex;flex-direction:column;gap:var(--space-3)}.add-error[data-v-b1859ac1]{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-danger)}.form-btns[data-v-b1859ac1]{display:flex;flex-wrap:wrap;gap:var(--space-2)}.import-form[data-v-b1859ac1]{display:flex;flex-direction:column;gap:var(--space-3)}.import-head[data-v-b1859ac1]{display:flex;align-items:center;gap:var(--space-2)}.import-title[data-v-b1859ac1]{font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text)}.import-error[data-v-b1859ac1]{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-danger)}.catalog-list[data-v-b1859ac1]{display:flex;flex-direction:column;gap:2px;max-height:260px;overflow-y:auto;padding:var(--space-1) 0}.catalog-row[data-v-b1859ac1]{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-b1859ac1]:hover,.catalog-row.is-selected[data-v-b1859ac1]{background:var(--color-surface-sunken)}.catalog-row.is-rejected[data-v-b1859ac1]{opacity:.55;cursor:not-allowed}.catalog-check[data-v-b1859ac1]{width:14px;height:14px;flex:none;color:var(--color-accent);display:flex;align-items:center;justify-content:center}.catalog-main[data-v-b1859ac1]{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.catalog-name[data-v-b1859ac1]{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-b1859ac1]{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-b1859ac1]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-faint)}.catalog-meta[data-v-b1859ac1]{flex:none;display:flex;align-items:center;gap:var(--space-2);max-width:40%}.catalog-count[data-v-b1859ac1]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);white-space:nowrap}.catalog-selected[data-v-b1859ac1]{padding-top:var(--space-1)}.footer-hint[data-v-b1859ac1]{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-b1859ac1]{align-items:flex-start;flex-wrap:wrap}.prov-actions[data-v-b1859ac1]{flex:1 1 100%;justify-content:flex-end}}.center-body[data-v-8308a28f]{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-8308a28f]{font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-text)}.success-text[data-v-8308a28f]{color:var(--color-success)}.err-text[data-v-8308a28f]{color:var(--color-danger)}.warn-text[data-v-8308a28f]{color:var(--color-warning);font-size:var(--text-base)}.center-hint[data-v-8308a28f]{font-size:var(--text-sm);color:var(--color-text-muted)}.nb[data-v-8308a28f]{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-2) 0 var(--space-4)}.nb-lead[data-v-8308a28f]{font-size:var(--text-base);color:var(--color-text);line-height:var(--leading-normal)}.nb-primary[data-v-8308a28f]{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;min-height:40px;padding:0 var(--space-4);background:var(--color-accent);color:var(--color-text-on-accent);border:1px solid var(--color-accent);border-radius:var(--radius-md);font-family:var(--font-ui);font-size:var(--text-base);font-weight:var(--weight-medium);cursor:pointer;text-decoration:none;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.nb-primary[data-v-8308a28f]:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.nb-or[data-v-8308a28f]{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-8308a28f]:before,.nb-or[data-v-8308a28f]:after{content:"";flex:1;height:1px;background:var(--color-line)}.nb-fallback[data-v-8308a28f]{display:flex;flex-direction:column;gap:var(--space-2)}.nb-fb-text[data-v-8308a28f]{font-size:var(--text-sm);color:var(--color-text-muted);line-height:var(--leading-normal)}.nb-fb-link[data-v-8308a28f]{color:var(--color-accent);text-decoration:none;border-bottom:1px solid var(--color-accent-bd)}.nb-fb-link[data-v-8308a28f]:hover{border-bottom-color:var(--color-accent)}.nb-code-row[data-v-8308a28f]{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-8308a28f]{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-8308a28f]{color:var(--color-success);border-color:var(--color-success-bd)}.nb-status[data-v-8308a28f]{display:flex;align-items:center;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-line)}.nb-status-text[data-v-8308a28f]{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text-muted);flex:1}.nb-countdown[data-v-8308a28f]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.actions[data-v-8308a28f]{display:flex;justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-4)}@media(max-width:640px){.center-body[data-v-8308a28f],.nb[data-v-8308a28f]{overflow-y:auto;-webkit-overflow-scrolling:touch}.nb-code-row[data-v-8308a28f],.nb-status[data-v-8308a28f],.actions[data-v-8308a28f]{flex-wrap:wrap}.nb-code[data-v-8308a28f]{min-width:0;overflow-wrap:anywhere;letter-spacing:.08em}.nb-copy[data-v-8308a28f]{min-height:34px}.nb-primary[data-v-8308a28f]{min-height:44px}.nb-status-text[data-v-8308a28f]{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-ace56012]{display:flex;flex-direction:row;min-height:0;height:100%}.settings-tabs[data-v-ace56012]{display:flex;flex-direction:column;flex:none;width:148px;padding:var(--space-2);gap:2px;overflow-y:auto}.tab[data-v-ace56012]{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-ace56012]:hover{background:var(--color-surface-sunken);color:var(--color-text)}.tab.on[data-v-ace56012]{background:var(--color-accent-soft);color:var(--color-accent);font-weight:var(--weight-medium)}.tab[data-v-ace56012]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.body[data-v-ace56012]{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-ace56012]{display:block}.sec[data-v-ace56012]{padding:var(--space-4) 0;border-bottom:1px solid var(--color-line)}.sec[data-v-ace56012]:last-child{border-bottom:none}.sec-head[data-v-ace56012]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.sec-title[data-v-ace56012]{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-ace56012]{margin-bottom:0}.saving[data-v-ace56012]{flex:none;font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-text-muted)}.row[data-v-ace56012]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:38px;padding:var(--space-1) 0}.rlabel[data-v-ace56012]{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-ace56012]{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-ace56012]{font-family:var(--font-mono);font-size:var(--text-xs)}.hint[data-v-ace56012]{font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-text-faint)}.num-field[data-v-ace56012]{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-ace56012]:hover{border-color:var(--color-line-strong)}.num-field[data-v-ace56012]:focus-within{border-color:var(--color-accent);box-shadow:var(--p-focus-ring)}.num-input[data-v-ace56012]{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-ace56012]{color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--text-xs)}.select-wrap[data-v-ace56012]{min-width:220px;max-width:min(320px,50vw);flex:none}.empty-config[data-v-ace56012]{font-family:var(--font-ui);font-size:var(--text-base);color:var(--color-text-muted);padding:var(--space-1) 0}.plugins-panel[data-v-ace56012]{padding-top:var(--space-4)}.actions[data-v-ace56012]{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}@media(max-width:640px){.sd[data-v-ace56012]{flex-direction:column}.settings-tabs[data-v-ace56012]{flex-direction:row;width:auto;padding:var(--space-2) var(--space-3);gap:var(--space-1);overflow-x:auto}.tab[data-v-ace56012]{white-space:nowrap;flex:none}.row[data-v-ace56012]{align-items:flex-start;flex-direction:column}.select-wrap[data-v-ace56012]{width:100%;max-width:none}}.setting-card[data-v-ace56012]{border:1px solid var(--color-line);border-radius:var(--radius-xl);overflow:hidden;background:var(--color-bg)}.panel-head[data-v-ace56012]{margin-bottom:var(--space-4)}.panel-kicker[data-v-ace56012]{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-ace56012]{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-ace56012]{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-ace56012]{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap}.archive-search[data-v-ace56012]{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-ace56012]:focus-within{border-color:var(--color-accent);box-shadow:var(--p-focus-ring);color:var(--color-text-muted)}.archive-search svg[data-v-ace56012]{width:15px;height:15px;flex:none}.archive-search input[data-v-ace56012]{width:100%;border:none;outline:none;background:transparent;font:inherit;color:var(--color-text)}.archive-list[data-v-ace56012]{display:flex;flex-direction:column;gap:var(--space-4)}.archive-card .setting-card[data-v-ace56012]{margin-bottom:0}.archive-workspace[data-v-ace56012]{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-ace56012]{width:16px;height:16px;color:var(--color-text-faint);flex:none}.archive-workspace .path[data-v-ace56012]{font-family:var(--font-mono);font-size:var(--text-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.archive-workspace .count[data-v-ace56012]{margin-left:auto;color:var(--color-text-faint);font-weight:var(--weight-regular);font-size:var(--text-xs);flex:none}.archive-row[data-v-ace56012]{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-ace56012]:first-child{border-top:none}.archive-row[data-v-ace56012]:hover{background:var(--color-surface-sunken)}.archive-meta[data-v-ace56012]{min-width:0}.archive-name[data-v-ace56012]{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-ace56012]{margin-top:2px;font-size:var(--text-xs);color:var(--color-text-faint);font-family:var(--font-mono)}.archive-draining[data-v-ace56012]{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-ace56012]{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-ace56012]{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-ace56012]:hover:not(:disabled){border-color:var(--color-line-strong);color:var(--color-text)}.archive-load-more[data-v-ace56012]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.archive-load-more[data-v-ace56012]:disabled{opacity:.5;cursor:not-allowed}@media(max-width:640px){.archive-toolbar[data-v-ace56012]{flex-direction:column;align-items:stretch}.archive-search[data-v-ace56012]{min-width:0}}[data-v-ace56012] .ui-dialog{width:min(980px,96vw)}[data-v-ace56012] .ui-dialog--fixed-height{height:min(780px,calc(100vh - var(--space-8) * 2))}.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}}.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)}.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%)}.newrow[data-v-53fda211]{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-53fda211]:hover,.newrow[data-v-53fda211]:active{background:var(--color-surface-sunken)}.newrow.secondary[data-v-53fda211]{padding-top:var(--space-2);padding-bottom:var(--space-2);color:var(--color-text-muted);font-weight:400}.newrow.secondary[data-v-53fda211]:hover{background:var(--color-surface-sunken)}.newrow.secondary[data-v-53fda211]:active{background:var(--color-surface-sunken);color:var(--color-text)}.mlist[data-v-53fda211]{--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-53fda211]{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-53fda211]{padding:10px 16px 12px var(--m-indent);text-align:left;font-size:var(--ui-font-size-xs)}.mgroup[data-v-53fda211]{padding-top:2px}.mgh[data-v-53fda211]{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-53fda211]:hover,.mgh[data-v-53fda211]:active{background:var(--color-surface-sunken)}.mgh-folder[data-v-53fda211]{flex:none;color:var(--color-text-muted)}.mgh-main[data-v-53fda211]{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.mgh-name[data-v-53fda211]{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-53fda211]{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-53fda211]{margin:-10px -12px -10px 0}.mgh-add[data-v-53fda211]:active{color:var(--color-text);background:var(--color-surface-sunken)}.mgh-more[data-v-53fda211]{margin:-10px -8px}.mgh-more[data-v-53fda211]:active{color:var(--color-text);background:var(--color-surface-sunken)}.srow[data-v-53fda211]{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-53fda211]:hover,.srow[data-v-53fda211]:active{background:var(--color-surface-sunken)}.srow.cur[data-v-53fda211]{background:var(--color-accent-soft);box-shadow:inset 0 0 0 1px var(--color-accent-bd)}.srow .m[data-v-53fda211]{flex:1;min-width:0}.srow .m .t[data-v-53fda211]{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-53fda211]{color:var(--color-accent-hover)}.srow .m .t.run[data-v-53fda211]{position:relative}.srow .m .t.run[data-v-53fda211]: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-53fda211 1.4s ease-in-out infinite}@keyframes mRunPulse-53fda211{0%,to{opacity:1}50%{opacity:.35}}.srow .m .t.aborted[data-v-53fda211]{position:relative}.srow .m .t.aborted[data-v-53fda211]: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-53fda211]{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-53fda211]{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-53fda211]:active{color:var(--color-text);background:var(--color-surface-sunken)}.kmenu[data-v-53fda211]{position:absolute;right:12px;top:44px;z-index:var(--z-dropdown);min-width:96px;overflow:hidden}.wsmenu[data-v-53fda211]{top:calc(100% - 4px);right:var(--m-pad);min-width:132px}.mshow-more[data-v-53fda211]{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-53fda211]:active{color:var(--color-accent-hover);background:var(--color-surface-sunken)}.newrow[data-v-53fda211]{font-family:var(--sans)}.mlist .srow[data-v-53fda211]{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-53fda211]{box-shadow:inset 0 0 0 1px var(--color-accent-bd)}.group-title[data-v-2ff34053]{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-2ff34053]{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-2ff34053]:hover:not(.read-only){background:var(--color-surface-sunken)}.srow[data-v-2ff34053]:active:not(.read-only){background:var(--color-surface-sunken)}.srow.read-only[data-v-2ff34053]{cursor:default}.srow-main[data-v-2ff34053]{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.srow-label[data-v-2ff34053]{font-size:var(--text-base);color:var(--color-text)}.srow-sub[data-v-2ff34053]{font-size:var(--text-base);color:var(--color-text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.srow-val[data-v-2ff34053]{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-2ff34053]{font-weight:400;color:var(--color-text-muted)}.cache-note[data-v-2ff34053]{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-2ff34053]{flex:none;color:var(--color-text-faint);font-size:17px;line-height:1}.toggle[data-v-2ff34053]{flex:none;width:44px;height:26px;border-radius:var(--radius-full);background:var(--color-line);position:relative;transition:background .18s}.toggle.on[data-v-2ff34053]{background:var(--color-accent)}.toggle[data-v-2ff34053]: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-2ff34053]:after{left:21px}.srow.pref[data-v-2ff34053]{cursor:default}.num-field[data-v-2ff34053]{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-2ff34053]{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-2ff34053]{color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--ui-font-size-xs)}.srow.acct.in .srow-label[data-v-2ff34053]{color:var(--color-accent-hover);font-weight:500}.srow.acct.out .srow-label[data-v-2ff34053]{color:var(--color-danger)}.ctx-meter[data-v-2ff34053]{flex:none;width:96px;height:7px;border-radius:var(--radius-full);background:var(--color-surface-sunken);overflow:hidden}.ctx-meter i[data-v-2ff34053]{display:block;height:100%;background:var(--color-accent)}@media(max-width:640px){.srow[data-v-2ff34053]{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-2ff34053],.cache-note[data-v-2ff34053]{padding-left:max(14px,var(--safe-left));padding-right:max(14px,var(--safe-right))}.srow-main[data-v-2ff34053]{flex:1 1 auto}.srow-sub[data-v-2ff34053]{white-space:normal;overflow-wrap:anywhere}.srow.pref[data-v-2ff34053]{flex-wrap:wrap}.srow.pref .srow-main[data-v-2ff34053]{flex:1 0 100%}.num-field[data-v-2ff34053]{margin-left:auto}.srow-val[data-v-2ff34053],.chev[data-v-2ff34053],.toggle[data-v-2ff34053],.ctx-meter[data-v-2ff34053]{margin-top:2px}}.srow[data-v-2ff34053],.srow-sub[data-v-2ff34053],.srow-val[data-v-2ff34053],.cache-note[data-v-2ff34053]{font-family:var(--sans)}.arch-subhead[data-v-2ff34053]{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-2ff34053]{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-2ff34053]{font-size:20px}.arch-count[data-v-2ff34053]{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-text-faint)}.arch-tools[data-v-2ff34053]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);flex-wrap:wrap}.arch-search-input[data-v-2ff34053]{flex:1;min-width:160px}.arch-row[data-v-2ff34053]{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-2ff34053]:first-of-type{border-top:none}.arch-meta[data-v-2ff34053]{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.arch-name[data-v-2ff34053]{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-2ff34053]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-faint)}.arch-empty[data-v-2ff34053]{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)}.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-59580251]{transition:opacity .28s ease}.gload-fade-leave-to[data-v-59580251]{opacity:0}.app-shell[data-v-59580251]{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-59580251]{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-59580251]{width:min(420px,100%);display:flex;flex-direction:column;align-items:flex-start;gap:18px}.auth-page-logo[data-v-59580251]{width:64px;height:44px;flex:none;cursor:pointer;user-select:none;-webkit-user-select:none;transition:transform .18s ease}.auth-page-logo[data-v-59580251]:hover{transform:scale(1.06)}.auth-page-copy[data-v-59580251]{display:flex;flex-direction:column;gap:8px}.auth-page-copy h1[data-v-59580251]{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-59580251]{margin:0;font-family:var(--sans);font-size:var(--ui-font-size-lg);line-height:1.55;color:var(--dim)}.app[data-v-59580251]{--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-59580251]>*{min-height:0;min-width:0}.app>.side[data-v-59580251]{grid-column:1}.side-handle[data-v-59580251]{grid-column:2}.app:not(.mobile)>.con[data-v-59580251]{grid-column:3}.preview-handle[data-v-59580251]{grid-column:4}.sidebar-toggle-btn[data-v-59580251]{position:absolute;top:11px;left:16px;z-index:var(--z-sticky);animation:sidebar-toggle-btn-in-59580251 .18s var(--ease-out) .12s backwards;-webkit-app-region:no-drag}.app.macos-desktop .sidebar-toggle-btn[data-v-59580251]{left:72px;animation:none}@keyframes sidebar-toggle-btn-in-59580251{0%{opacity:0}}.internal-build-fab[data-v-59580251]{position:absolute;right:var(--space-3);bottom:var(--space-3);z-index:var(--z-sticky);pointer-events:none}.app.mobile[data-v-59580251]{grid-template-columns:1fr;grid-template-rows:auto 1fr}.global-preview[data-v-59580251]{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)}.global-preview.open[data-v-59580251]{width:var(--preview-w)}.global-preview.no-anim[data-v-59580251]{transition:none}.global-preview[data-v-59580251]:not(.overlay)>*{width:var(--preview-w);height:100%;box-sizing:border-box;border-left:1px solid var(--line)}.global-preview.overlay[data-v-59580251]{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-59580251]{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-59580251]{font-size:26px}.auth-page-btn[data-v-59580251]{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}@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-DPAGnNyS.js b/apps/kimi-code/dist-web/assets/index-DPAGnNyS.js
new file mode 100644
index 00000000000..eca44587517
--- /dev/null
+++ b/apps/kimi-code/dist-web/assets/index-DPAGnNyS.js
@@ -0,0 +1,100 @@
+const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/DesignSystemView-C__d9M7L.js","assets/vendor-ucnN-Sh8.js","assets/vendor-4gi77x_E.css","assets/vendor-markstream-D6yjq9lL.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 I,d as Ie,o as a,c,n as pe,K as yt,m as Ne,a as r,v as G,A as vu,z as A,B as _,bD as Ue,w as Oe,k as Ke,l as Ln,Q as lo,b as $,u as l,x as H,E as d,h as ht,F as he,r as Pe,G as gt,bE as qn,bF as Ad,s as Td,C as Bn,H as Jn,e as rt,R as kt,bG as En,U as Re,J as re,V as sl,N as hu,bH as Wo,i as mo,bI as Pd,S as gu,T as Yo,p as Io,bJ as Ed,bK as Dl,bL as zl,bM as yu,j as Ld}from"./vendor-ucnN-Sh8.js";import{_ as ku,O as Bd,P as Rd,W as Od,x as Dd,a as zd,b as Fd,y as Nd,h as qd,g as Wd,p as Hd,m as Ud}from"./vendor-markstream-D6yjq9lL.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 We={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",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",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",codeFont:"kimi-web.code-font",contentAlign:"kimi-web.content-align",theme:"kimi-web.theme",thinking:"kimi-web.thinking"};function Fl(e){return`kimi-web.draft.${e&&e.length>0?e:"__new__"}`}function It(e){try{return globalThis.localStorage.getItem(e)}catch{return null}}function Bt(e,t){try{globalThis.localStorage.setItem(e,t)}catch{}}function ro(e){try{globalThis.localStorage.removeItem(e)}catch{}}function vo(e){const t=It(e);if(t===null)return null;try{return JSON.parse(t)}catch{return null}}function Vs(e,t){try{globalThis.localStorage.setItem(e,JSON.stringify(t))}catch{}}function ol(){const e=It(We.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 il(e){const n={...ol()};for(const[s,o]of Object.entries(e))o?n[s]=!0:delete n[s];Bt(We.unread,JSON.stringify(n))}function Vd(){const e=vo(We.collapsedWorkspaces);return Array.isArray(e)?e.filter(t=>typeof t=="string"):[]}function ta(e){Vs(We.collapsedWorkspaces,Array.from(e))}function jd(){const e=vo(We.workspaceOrder);return Array.isArray(e)?e.filter(t=>typeof t=="string"):[]}function bu(e){Vs(We.workspaceOrder,Array.from(e))}function pi(){const e=vo(We.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 Nl(e){Vs(We.workspaceNameOverrides,e)}function Kd(){return It(We.workspaceSort)}function wu(e){Bt(We.workspaceSort,e)}function Gd(){const e=vo(We.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 Su(e){Vs(We.workspaceRecencyFloor,e)}const ql=We.clientId,Qd="kimi-code-web",Yd="web";function Cu(){return{serverHttpUrl:Xd(),clientId:np(),clientName:Qd,clientVersion:sp(),clientUiMode:Yd}}function Zd(){return typeof window<"u"&&window.location?.origin?window.location.origin:"http://127.0.0.1:58627"}function Xd(e){const t=Zd(),n=new URL(t);return n.pathname=n.pathname.replace(/\/v1\/?$/,"").replace(/\/$/,""),n.search="",n.hash="",n.toString().replace(/\/$/,"")}function Jd(e){return e.replace(/^https?:\/\//,"").replace(/\/$/,"")}function ep(){const e=typeof window<"u"&&window.location?.origin?window.location.origin:"";return Jd(e)}function oo(e,t){return`${e}/api/v1${t.startsWith("/")?t:`/${t}`}`}function tp(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 np(){const e=It(ql);if(e)return e;const t=`web_${globalThis.crypto?.randomUUID?.()||Math.random().toString(36).slice(2)}`;return Bt(ql,t),t}function sp(){return"0.1.2".trim()?"0.1.2":"0.0.0-dev"}async function op(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 ip(e){return e.replace(/^https?:\/\//,"").replace(/\/$/,"")}async function un(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 lp(e)}function ap(e){if(typeof e!="string")return;const t=typeof navigator<"u"?navigator.clipboard:void 0;t&&typeof t.writeText=="function"||un(e)}function lp(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 rp(){const e=vo(We.pinnedSessions);return Array.isArray(e)?e.filter(t=>typeof t=="string"):[]}function up(e){Vs(We.pinnedSessions,Array.from(e))}function cp(e,t){return e.includes(t)?e.filter(n=>n!==t):[...e,t]}function _u(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 dp(e){return e==="grouped"||e==="flat"}function pp(){const e=It(We.sidebarViewMode);return dp(e)?e:"grouped"}function fp(e){Bt(We.sidebarViewMode,e)}function mp(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 _u(o,t)}function vp(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 hp(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 gp(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 kp(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 bp(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 wp(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 Sp(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 $u(e,t){const n=new Map;for(const s of e)n.set(s.id,Sp(t[s.id],s.lastOpenedAt));return n}const Cp={"&":"&","<":"<",">":">",'"':""","'":"'"};function Wl(e){return e.replace(/[&<>"']/g,t=>Cp[t]??t)}function _p(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function $p(e,t,n=40){const s=e.replace(/\s+/g," ").trim();if(s.length===0)return"";const o=t.trim();if(o.length===0)return Hl(s,n*2);const i=s.toLowerCase().indexOf(o.toLowerCase());if(i<0)return Hl(s,n*2);const u=Math.max(0,i-n),p=Math.min(s.length,i+o.length+n),f=u>0,v=p`${i} `)}const Co=I(0),Mp=["type","disabled","aria-label"],xp=Ie({__name:"IconButton",props:{size:{default:"md"},disabled:{type:Boolean},label:{},type:{default:"button"}},setup(e,{expose:t}){const n=I();return t({el:n}),(s,o)=>(a(),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},[yt(s.$slots,"default",{},void 0,!0)],10,Mp))}}),Ee=(e,t)=>{const n=e.__vccOpts||e;for(const[s,o]of t)n[s]=o;return n},nt=Ee(xp,[["__scopeId","data-v-c9e67023"]]),Ip={width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function Ap(e,t){return a(),c("svg",Ip,[...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 Tp=Ne({name:"kimi-add-conversation",render:Ap}),Pp={width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function Ep(e,t){return a(),c("svg",Pp,[...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 Lp=Ne({name:"kimi-folder",render:Ep}),Bp={width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Rp=["clip-path"],Op=["id"];function Dp(e,t){return a(),c("svg",Bp,[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,Rp),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,Op)])])}const zp=Ne({name:"kimi-folder-open",render:Dp,setup(){return{idMap:{clip0_4626_2033:"uicons-"+Math.random().toString(36).substr(2,10)}}}}),Fp={width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function Np(e,t){return a(),c("svg",Fp,[...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 qp=Ne({name:"kimi-more",render:Np}),Wp={width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function Hp(e,t){return a(),c("svg",Wp,[...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 Up=Ne({name:"kimi-search",render:Hp}),Vp={width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function jp(e,t){return a(),c("svg",Vp,[...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 Kp=Ne({name:"kimi-setting",render:jp}),Gp={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Qp(e,t){return a(),c("svg",Gp,[...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 Yp=Ne({name:"tabler-layout-sidebar-left-collapse",render:Qp}),Zp={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Xp(e,t){return a(),c("svg",Zp,[...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 Jp=Ne({name:"tabler-layout-sidebar-left-expand",render:Xp}),ef={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function tf(e,t){return a(),c("svg",ef,[...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 nf=Ne({name:"tabler-paperclip",render:tf}),sf={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function of(e,t){return a(),c("svg",sf,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M11 11V5h2v6h6v2h-6v6h-2v-6H5v-2z"},null,-1)])])}const af=Ne({name:"ri-add-line",render:of}),lf={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function rf(e,t){return a(),c("svg",lf,[...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 uf=Ne({name:"ri-alert-line",render:rf}),cf={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function df(e,t){return a(),c("svg",cf,[...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 pf=Ne({name:"ri-archive-line",render:df}),ff={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function mf(e,t){return a(),c("svg",ff,[...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 vf=Ne({name:"ri-arrow-down-line",render:mf}),hf={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function gf(e,t){return a(),c("svg",hf,[...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 yf=Ne({name:"ri-arrow-down-s-line",render:gf}),kf={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function bf(e,t){return a(),c("svg",kf,[...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 wf=Ne({name:"ri-arrow-go-back-line",render:bf}),Sf={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Cf(e,t){return a(),c("svg",Sf,[...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 _f=Ne({name:"ri-arrow-right-line",render:Cf}),$f={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Mf(e,t){return a(),c("svg",$f,[...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 xf=Ne({name:"ri-arrow-right-s-line",render:Mf}),If={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Af(e,t){return a(),c("svg",If,[...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 Ul=Ne({name:"ri-arrow-up-line",render:Af}),Tf={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Pf(e,t){return a(),c("svg",Tf,[...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 Ef=Ne({name:"ri-arrow-up-s-line",render:Pf}),Lf={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Bf(e,t){return a(),c("svg",Lf,[...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 Rf=Ne({name:"ri-braces-line",render:Bf}),Of={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Df(e,t){return a(),c("svg",Of,[...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 zf=Ne({name:"ri-calendar-close-line",render:Df}),Ff={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Nf(e,t){return a(),c("svg",Ff,[...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 qf=Ne({name:"ri-calendar-schedule-line",render:Nf}),Wf={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Hf(e,t){return a(),c("svg",Wf,[...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 Uf=Ne({name:"ri-calendar-todo-line",render:Hf}),Vf={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function jf(e,t){return a(),c("svg",Vf,[...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 Kf=Ne({name:"ri-check-line",render:jf}),Gf={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Qf(e,t){return a(),c("svg",Gf,[...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 Yf=Ne({name:"ri-close-line",render:Qf}),Zf={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Xf(e,t){return a(),c("svg",Zf,[...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 Jf=Ne({name:"ri-code-line",render:Xf}),em={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function tm(e,t){return a(),c("svg",em,[...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 nm=Ne({name:"ri-collapse-diagonal-line",render:tm}),sm={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function om(e,t){return a(),c("svg",sm,[...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 im=Ne({name:"ri-download-line",render:om}),am={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function lm(e,t){return a(),c("svg",am,[...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 rm=Ne({name:"ri-draggable",render:lm}),um={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function cm(e,t){return a(),c("svg",um,[...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 dm=Ne({name:"ri-equalizer-line",render:cm}),pm={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function fm(e,t){return a(),c("svg",pm,[...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 mm=Ne({name:"ri-expand-diagonal-line",render:fm}),vm={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function hm(e,t){return a(),c("svg",vm,[...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 gm=Ne({name:"ri-external-link-line",render:hm}),ym={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function km(e,t){return a(),c("svg",ym,[...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 bm=Ne({name:"ri-file-add-line",render:km}),wm={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Sm(e,t){return a(),c("svg",wm,[...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 Cm=Ne({name:"ri-file-copy-line",render:Sm}),_m={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function $m(e,t){return a(),c("svg",_m,[...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 Mm=Ne({name:"ri-file-edit-line",render:$m}),xm={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Im(e,t){return a(),c("svg",xm,[...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 Vl=Ne({name:"ri-file-line",render:Im}),Am={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Tm(e,t){return a(),c("svg",Am,[...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 Pm=Ne({name:"ri-file-text-line",render:Tm}),Em={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Lm(e,t){return a(),c("svg",Em,[...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 Bm=Ne({name:"ri-flashlight-line",render:Lm}),Rm={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Om(e,t){return a(),c("svg",Rm,[...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 Dm=Ne({name:"ri-folder-add-line",render:Om}),zm={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Fm(e,t){return a(),c("svg",zm,[...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 Nm=Ne({name:"ri-folder-fill",render:Fm}),qm={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Wm(e,t){return a(),c("svg",qm,[...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 Hm=Ne({name:"ri-git-fork-line",render:Wm}),Um={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Vm(e,t){return a(),c("svg",Um,[...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 jm=Ne({name:"ri-git-pull-request-line",render:Vm}),Km={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Gm(e,t){return a(),c("svg",Km,[...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 Qm=Ne({name:"ri-global-line",render:Gm}),Ym={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Zm(e,t){return a(),c("svg",Ym,[...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 jl=Ne({name:"ri-image-line",render:Zm}),Xm={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Jm(e,t){return a(),c("svg",Xm,[...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 ev=Ne({name:"ri-information-line",render:Jm}),tv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function nv(e,t){return a(),c("svg",tv,[...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 sv=Ne({name:"ri-links-line",render:nv}),ov={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function iv(e,t){return a(),c("svg",ov,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M8 4h13v2H8zm-5-.5h3v3H3zm0 7h3v3H3zm0 7h3v3H3zM8 11h13v2H8zm0 7h13v2H8z"},null,-1)])])}const av=Ne({name:"ri-list-check",render:iv}),lv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function rv(e,t){return a(),c("svg",lv,[...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 uv=Ne({name:"ri-list-unordered",render:rv}),cv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function dv(e,t){return a(),c("svg",cv,[...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 pv=Ne({name:"ri-login-box-line",render:dv}),fv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function mv(e,t){return a(),c("svg",fv,[...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 vv=Ne({name:"ri-mail-line",render:mv}),hv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function gv(e,t){return a(),c("svg",hv,[...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 yv=Ne({name:"ri-message-line",render:gv}),kv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function bv(e,t){return a(),c("svg",kv,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M6 5h2v14H6zm10 0h2v14h-2z"},null,-1)])])}const wv=Ne({name:"ri-pause-fill",render:bv}),Sv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Cv(e,t){return a(),c("svg",Sv,[...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 _v=Ne({name:"ri-pencil-line",render:Cv}),$v={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Mv(e,t){return a(),c("svg",$v,[...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 xv=Ne({name:"ri-play-fill",render:Mv}),Iv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Av(e,t){return a(),c("svg",Iv,[...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 Tv=Ne({name:"ri-pushpin-fill",render:Av}),Pv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Ev(e,t){return a(),c("svg",Pv,[...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 Lv=Ne({name:"ri-pushpin-line",render:Ev}),Bv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Rv(e,t){return a(),c("svg",Bv,[...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 Ov=Ne({name:"ri-question-line",render:Rv}),Dv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function zv(e,t){return a(),c("svg",Dv,[...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 Fv=Ne({name:"ri-emotion-line",render:zv}),Nv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function qv(e,t){return a(),c("svg",Nv,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M20 4v12h3l-4 5l-4-5h3V4zm-8 14v2H3v-2zm2-7v2H3v-2zm0-7v2H3V4z"},null,-1)])])}const Wv=Ne({name:"ri-sort-desc",render:qv}),Hv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Uv(e,t){return a(),c("svg",Hv,[...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 Vv=Ne({name:"ri-sparkling-line",render:Uv}),jv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Kv(e,t){return a(),c("svg",jv,[...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 Gv=Ne({name:"ri-star-fill",render:Kv}),Qv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Yv(e,t){return a(),c("svg",Qv,[...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 Zv=Ne({name:"ri-star-line",render:Yv}),Xv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Jv(e,t){return a(),c("svg",Xv,[...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 e1=Ne({name:"ri-stop-fill",render:Jv}),t1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function n1(e,t){return a(),c("svg",t1,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M5 11v2h14v-2z"},null,-1)])])}const s1=Ne({name:"ri-subtract-line",render:n1}),o1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function i1(e,t){return a(),c("svg",o1,[...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 a1=Ne({name:"ri-target-line",render:i1}),l1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function r1(e,t){return a(),c("svg",l1,[...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 u1=Ne({name:"ri-terminal-box-line",render:r1}),c1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function d1(e,t){return a(),c("svg",c1,[...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 p1=Ne({name:"ri-time-line",render:d1}),f1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function m1(e,t){return a(),c("svg",f1,[...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 v1=Ne({name:"ri-tools-line",render:m1}),h1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function g1(e,t){return a(),c("svg",h1,[...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 y1=Ne({name:"ri-user-line",render:g1}),k1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function b1(e,t){return a(),c("svg",k1,[...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 w1=Ne({name:"tabler-moon-stars",render:b1}),S1=`
+
+
+
+`,C1=`
+
+
+`,_1=`
+
+
+
+
+
+
+
+
+
+`,$1=`
+
+
+
+
+`,M1=`
+
+
+`,x1=`
+
+
+
+`,I1=' ',A1=' ',T1=' ',P1=' ',E1=' ',L1=' ',B1=' ',R1=' ',O1=' ',D1=' ',z1=' ',F1=' ',Kl=' ',N1=' ',q1=' ',W1=' ',H1=' ',U1=' ',V1=' ',j1=' ',K1=' ',G1=' ',Q1=' ',Y1=' ',Z1=' ',X1=' ',J1=' ',eh=' ',th=' ',nh=' ',Gl=' ',sh=' ',oh=' ',ih=' ',ah=' ',lh=' ',rh=' ',uh=' ',Ql=' ',ch=' ',dh=' ',ph=' ',fh=' ',mh=' ',vh=' ',hh=' ',gh=' ',yh=' ',kh=' ',bh=' ',wh=' ',Sh=' ',Ch=' ',_h=' ',$h=' ',Mh=' ',xh=' ',Ih=' ',Ah=' ',Th=' ',Ph=' ',Eh=' ',Lh=' ',Bh=' ',Mu={sm:14,md:16,lg:20};function ze(e,t){return{component:e,svg:t}}const xu={plus:ze(af,E1),"chat-new":ze(Tp,S1),"calendar-close":ze(zf,W1),"calendar-schedule":ze(qf,H1),"calendar-todo":ze(Uf,U1),close:ze(Yf,j1),check:ze(Kf,V1),archive:ze(pf,B1),search:ze(Up,M1),copy:ze(Cm,th),link:ze(sv,dh),"external-link":ze(gm,J1),download:ze(im,Q1),undo:ze(wf,D1),send:ze(Ul,Kl),image:ze(jl,Ql),settings:ze(Kp,x1),sliders:ze(dm,Z1),"log-in":ze(pv,mh),"chevron-down":ze(yf,O1),"chevron-right":ze(xf,F1),"chevron-up":ze(Ef,N1),"arrow-up":ze(Ul,Kl),"arrow-down":ze(vf,R1),"arrow-right":ze(_f,z1),minus:ze(s1,Ah),"panel-collapse":ze(Yp,I1),"panel-expand":ze(Jp,A1),expand:ze(mm,X1),collapse:ze(nm,G1),list:ze(uv,fh),sort:ze(Wv,_h),grip:ze(rm,Y1),folder:ze(zp,_1),"folder-closed":ze(Lp,C1),"folder-plus":ze(Dm,ih),"folder-solid":ze(Nm,ah),file:ze(Vl,Gl),"file-text":ze(Pm,sh),"file-edit":ze(Mm,nh),"file-plus":ze(bm,eh),"file-off":ze(Vl,Gl),attachment:ze(nf,T1),"image-off":ze(jl,Ql),code:ze(Jf,K1),terminal:ze(u1,Ph),pencil:ze(_v,yh),tool:ze(v1,Lh),glob:ze(Rf,q1),globe:ze(Qm,uh),"check-list":ze(av,ph),bolt:ze(Bm,oh),"git-fork":ze(Hm,lh),"git-pull-request":ze(jm,rh),message:ze(yv,hh),mail:ze(vv,vh),user:ze(y1,Bh),info:ze(ev,ch),"help-circle":ze(Ov,Sh),"alert-triangle":ze(uf,L1),clock:ze(p1,Eh),sparkles:ze(Vv,$h),"moon-stars":ze(w1,P1),target:ze(a1,Th),pause:ze(wv,gh),play:ze(xv,kh),stop:ze(e1,Ih),star:ze(Gv,Mh),"star-outline":ze(Zv,xh),pin:ze(Lv,wh),"pin-fill":ze(Tv,bh),emotion:ze(Fv,Ch),"dots-horizontal":ze(qp,$1)};function Rh(e){return xu[e]}function Oh(e,t){return e.replace(/\s(?:width|height)="[^"]*"/g,"").replace(/^Rh(t.name)),s=_(()=>Mu[t.size]);return(o,i)=>n.value?(a(),G(vu(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"])):A("",!0)}}),Dh={key:0,class:"ui-dialog__head"},zh={class:"ui-dialog__titles"},Fh={key:0,class:"ui-dialog__title"},Nh={key:1,class:"ui-dialog__desc"},qh={class:"ui-dialog__body"},Wh={key:1,class:"ui-dialog__foot"},Hh='a[href], button:not([disabled]), textarea:not([disabled]), input:not([disabled]), select:not([disabled]), [tabindex]:not([tabindex="-1"])',Uh=Ie({__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}=Ue(),s=e,o=t,i=I(null);let u=null;function p(){o("update:open",!1),o("close")}function f(){return i.value?Array.from(i.value.querySelectorAll(Hh)):[]}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 w(g){if(!s.open)return;if(g.key==="Escape"&&s.closeOnEsc){g.preventDefault(),p();return}if(g.key!=="Tab")return;const m=f(),M=m[0],h=m[m.length-1];if(!M||!h){g.preventDefault(),i.value?.focus();return}const y=document.activeElement;g.shiftKey&&y===M?(g.preventDefault(),h.focus()):!g.shiftKey&&y===h&&(g.preventDefault(),M.focus())}function x(g){s.closeOnOverlay&&g.target===g.currentTarget&&p()}return Oe(()=>s.open,async g=>{if(g){Co.value+=1,u=document.activeElement,await Ke();const m=v(),M=f();(m??M[0]??i.value)?.focus()}else Co.value=Math.max(0,Co.value-1),u instanceof HTMLElement&&(u.focus(),u=null)},{immediate:!0}),typeof window<"u"&&window.addEventListener("keydown",w),Ln(()=>{typeof window<"u"&&window.removeEventListener("keydown",w),s.open&&(Co.value=Math.max(0,Co.value-1))}),(g,m)=>(a(),G(lo,{to:"body"},[e.open?(a(),c("div",{key:0,class:"ui-dialog__overlay",onMousedown:x},[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||g.$slots.head?(a(),c("div",Dh,[yt(g.$slots,"head",{},()=>[r("div",zh,[e.title?(a(),c("div",Fh,d(e.title),1)):A("",!0),e.description?(a(),c("div",Nh,d(e.description),1)):A("",!0)])],!0),$(nt,{class:"ui-dialog__close",size:"sm",label:l(n)("common.close"),onClick:p},{default:H(()=>[$(se,{name:"close",size:"md"})]),_:1},8,["label"])])):A("",!0),r("div",qh,[yt(g.$slots,"default",{},void 0,!0)]),g.$slots.foot?(a(),c("div",Wh,[yt(g.$slots,"foot",{},void 0,!0)])):A("",!0)],2)],32)):A("",!0)]))}}),vs=Ee(Uh,[["__scopeId","data-v-ee025dcb"]]),Vh={class:"sd-head"},jh=["placeholder","aria-label"],Kh=["aria-selected","onClick","onMousemove"],Gh={class:"sd-meta"},Qh=["innerHTML"],Yh={class:"sd-time"},Zh=["innerHTML"],Xh=["innerHTML"],Jh={key:1,class:"sd-empty"},eg={class:"sd-hint"},tg=200,ng=Ie({__name:"SearchSessionsDialog",props:{sessions:{},activeId:{}},emits:["select","close"],setup(e,{emit:t}){const{t:n}=Ue(),s=e,o=t,i=I(!0),u=I(""),p=I(null),f=I(null),v=_(()=>{const k=u.value.trim().toLowerCase(),T=[];for(const S of s.sessions){const O=S.title??"",D=S.lastPrompt??"",E=S.workspaceName??"",R=k.length>0&&O.toLowerCase().includes(k),q=k.length>0&&D.toLowerCase().includes(k),V=k.length>0&&E.toLowerCase().includes(k);if(!(k.length>0&&!R&&!q&&!V)&&(T.push({session:S,inTitle:R,inWorkspace:V,snippetText:D?$p(D,u.value):""}),T.length>=tg))break}return T}),w=I(0);Oe(u,()=>{w.value=0});function x(k){const T=v.value.length;return T===0?0:Math.max(0,Math.min(T-1,k))}async function g(){await Ke(),f.value?.querySelector('[aria-selected="true"]')?.scrollIntoView({block:"nearest"})}function m(k){w.value=x(w.value+k),g()}function M(k){o("select",k),o("close")}function h(){const k=v.value[w.value];k&&M(k.session.id)}function y(k){k.key==="ArrowDown"?(k.preventDefault(),m(1)):k.key==="ArrowUp"?(k.preventDefault(),m(-1)):k.key==="Enter"&&(k.preventDefault(),h())}return ht(()=>{p.value?.focus()}),(k,T)=>(a(),G(vs,{open:i.value,"onUpdate:open":T[1]||(T[1]=S=>i.value=S),size:"lg",height:"fixed",padded:!1,onClose:T[2]||(T[2]=S=>o("close"))},{head:H(()=>[r("div",Vh,[$(se,{class:"sd-search-icon",name:"search",size:"md"}),gt(r("input",{ref_key:"inputRef",ref:p,"onUpdate:modelValue":T[0]||(T[0]=S=>u.value=S),class:"sd-input",type:"text",placeholder:l(n)("sidebar.searchPlaceholder"),"aria-label":l(n)("sidebar.searchPlaceholder"),autocomplete:"off",spellcheck:"false",onKeydown:y},null,40,jh),[[qn,u.value]])])]),foot:H(()=>[r("span",eg,d(l(n)("sidebar.searchHint")),1)]),default:H(()=>[r("div",{ref_key:"listRef",ref:f,class:"sd-list",role:"listbox"},[v.value.length>0?(a(!0),c(he,{key:0},Pe(v.value,(S,O)=>(a(),c("button",{key:S.session.id,class:pe(["sd-row",{on:O===w.value,active:S.session.id===e.activeId}]),role:"option","aria-selected":O===w.value,onClick:D=>M(S.session.id),onMousemove:D=>w.value=O},[r("span",Gh,[$(se,{class:"sd-folder",name:"folder-closed",size:"sm"}),r("span",{class:"sd-ws",innerHTML:l(na)(S.session.workspaceName??S.session.workspaceId??"",S.inWorkspace?u.value:"")},null,8,Qh),r("span",Yh,d(S.session.time),1)]),r("span",{class:"sd-title",innerHTML:l(na)(S.session.title,S.inTitle?u.value:"")},null,8,Zh),S.snippetText?(a(),c("span",{key:0,class:"sd-snippet",innerHTML:l(na)(S.snippetText,u.value)},null,8,Xh)):A("",!0)],42,Kh))),128)):(a(),c("div",Jh,d(l(n)("sidebar.searchNoResults")),1))],512)]),_:1},8,["open"]))}}),sg=Ee(ng,[["__scopeId","data-v-ac47909f"]]);function Ti(e){return e.isComposing===!0||e.keyCode===229}function Iu(e){return e.lastTurnReason==="failed"}const Au=["⚡","🔥","✅","❌","📌","⭐","🚀","💡","📝","🎯","🧠","🤖","🔧","📦","🌱","🎨","🔍","📈","🕐","🎉"];function og(e){return Au.includes(e)}function ig(){const e=vo(We.sessionEmoji);if(!e||typeof e!="object"||Array.isArray(e))return{};const t={};for(const[n,s]of Object.entries(e))typeof s=="string"&&og(s)&&(t[n]=s);return t}function ag(e){Vs(We.sessionEmoji,e)}function lg(e,t,n){const s={...e};return n===null||n===""?delete s[t]:s[t]=n,s}const rg={preview:"Preview",confirm:"Confirm",cancel:"Cancel",close:"Close",copy:"Copy"},ug={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"},cg={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",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",search:"Search",searchHint:"↑↓ navigate · ↵ open · Esc close",searchNoResults:"No matching sessions"},dg={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"},pg={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",activatedSkill:"Activated skill: {name}",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})…"},fg={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"},mg={placeholder:"Type a message…",send:"Send ↵",queueLabel:"Queue",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"},vg={title:"Sign in to Kimi Code",close:"Close (Esc)",starting:"Starting authorization flow…",lead:"Click the button below to authorize in a new browser tab.",authorizeInBrowser:"Authorize in browser",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."},hg={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"}},gg={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"},yg={justNow:"just now"},kg={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"},bg={title:"Question",step:"Q{current}/{total}",back:"‹ Back",nextQuestion:"Next question ›",otherDefault:"Other…",submit:"Submit",dismiss:"Dismiss",minimize:"Minimize",expand:"Expand"},wg={tag:"tasks",summary:"{run} running · {done} done",stop:"stop",defaultDescription:"Background task",dockTasks:"Background tasks",dockBash:"Bash",dockSubagent:"Sub Agent",dockTodos:"Todos",thinkingEffort:"thinking {effort}",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"},Sg={panelTitle:"Thinking",close:"Close"},Cg={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"},_g={},$g={empty:"Select a file on the left to preview",loading:"Loading…",lineCount:"{count} lines",copy:"Copy",copied:"Copied",copyPath:"Copy path",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"}},Mg={searching:"Searching…",noMatch:"No matches"},xg={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."}},Ig={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"}},Ag={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"},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"}},Tg={resizeHandleAria:"Resize sidebar width",resizePreviewAria:"Resize preview panel width",detailPanelAria:"Detail panel"},Pg={zoomIn:"Zoom in",zoomOut:"Zoom out",resetZoom:"Reset zoom",dragHint:"Drag to pan",noPreview:"No preview available"},Eg={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"},Lg={colorSchemeLabel:"Light/Dark",light:"Moon Bright",dark:"Moon Dark",system:"System",accentLabel:"Accent",accentBlue:"Blue",accentBlack:"Black"},Bg={preview:"预览",confirm:"确认",cancel:"取消",close:"关闭",copy:"复制"},Rg={authBannerMessage:"未登录 · 需要登录 Kimi Code 才能开始对话",authBannerLogin:"登录",authPageTitle:"登录 Kimi Code",authPageMessage:"先连接 Kimi Code 账号,然后再开始或继续对话。",authPageLogin:"登录",connecting:"连接中…",connectRetrying:"无法连接服务器,正在重试…",internalBuildBanner:"仅供内部测试"},Og={workspaceMeta:"workspace · {branch}",sessionsHeader:"sessions",workspaces:"工作区",sortWorkspaces:"工作区排序",sortManual:"手动排序",sortRecent:"按最近活动",collapseAll:"折叠全部工作区",expandAll:"展开全部工作区",newSession:"新建会话",newChat:"新建对话",newWorkspace:"新建工作区",emptyState:"还没有会话 · 点击 新建会话 开始",archiveConfirm:"确认归档会话?归档后可以从「设置」中恢复",options:"选项",pin:"置顶会话",unpin:"取消置顶",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:"没有匹配的会话"},Dg={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:"此会话在完成前被中断"},zg={jumpToLatestAria:"跳到最新消息",toc:"对话目录",newMessages:"最新消息",loading:"加载中…",starting:"正在创建对话…",emptyWorkspaceHint:"在 {name} 中发送",switchWorkspace:"切换工作区",addWorkspace:"添加工作区",moreWorkspaces:"更多工作区 ({count})",compacting:"正在压缩上下文…",compactedPlain:"上下文已压缩",compactedAuto:"已自动压缩上下文",compactedTokens:"({before} → {after} tokens)",viewSummary:"查看摘要",summaryTitle:"压缩摘要",manuallyAborted:"您已手动终止",activatedSkill:"已激活技能: {name}",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})…"},Fg={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:"进行中"},Ng={placeholder:"输入消息…",send:"发送 ↵",queueLabel:"队列",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:"立即发送"},qg={title:"登录 Kimi Code",close:"关闭 (Esc)",starting:"正在启动授权流程…",lead:"点击下方按钮,在新标签页中完成授权。",authorizeInBrowser:"在浏览器中授权",orDivider:"或者",fallbackPrefix:"换个设备?在浏览器打开 ",fallbackSuffix:" 输入设备码:",copy:"复制",copied:"已复制",waitingAuth:"等待授权",waitingAutoClose:"等待授权,完成后自动登录…",success:"已授权",successHint:"正在加载,稍后自动关闭…",expiredTitle:"授权码已过期",expiredHint:"请重新开始授权流程",retry:"重试",closeBtn:"关闭",errorTitle:"当前 daemon 暂不支持登录",errorHint:"请升级 kimi-code 后重试",pollErrorTitle:"与 daemon 的连接已断开",pollErrorHint:"授权轮询连续失败,请检查 kimi-code 进程后重试"},Wg={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 不能为空"}},Hg={dialogLabel:"切换模型",title:"切换模型",close:"关闭 (Esc)",allTab:"全部",providerTabs:"模型提供商",searchPlaceholder:"搜索模型或提供商…",loading:"加载模型中…",unavailable:"daemon 暂不支持模型列表",contextSuffix:"{size} ctx",emptyNoModels:"daemon 未提供可选模型",emptyNoMatch:"无匹配模型",starTitle:"添加到收藏",unstarTitle:"取消收藏",footerHint:"↑↓ 导航 · Enter 选择 · Esc 关闭"},Ug={justNow:"刚刚"},Vg={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:"拒绝并退出"},jg={title:"提问",step:"Q{current}/{total}",back:"‹ 返回",nextQuestion:"下一题 ›",otherDefault:"其他…",submit:"提交",dismiss:"放弃",minimize:"最小化",expand:"展开"},Kg={tag:"任务",summary:"{run} 运行中 · {done} 完成",stop:"stop",defaultDescription:"后台任务",dockTasks:"后台任务",dockBash:"后台 Bash",dockSubagent:"子 Agent",dockTodos:"待办",thinkingEffort:"思考 {effort}",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:"结果"},Gg={panelTitle:"思考过程",close:"关闭"},Qg={title:"改动",branch:"分支",aheadTitle:"领先远程",behindTitle:"落后远程",changeCount:"{count} 改动",empty:"无 git 改动 / daemon 未提供",clean:"工作区干净,无改动",back:"返回",loading:"正在加载 diff…",noDiff:"该文件没有行级改动",list:"列表",tree:"树形",close:"关闭",colorblind:"色盲配色",colorblindOff:"默认",colorblindRedGreen:"红绿色盲",colorblindBlueYellow:"蓝黄色盲"},Yg={},Zg={empty:"选择左侧文件预览",loading:"加载中…",lineCount:"{count} 行",copy:"复制",copied:"已复制",copyPath:"复制路径",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:"无法读取这个文件"}},Xg={searching:"搜索中…",noMatch:"无匹配"},Jg={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:"目标描述太长了,请精简后重试。"}},e0={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:"撤销上一条消息"}},t0={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:"更新目标"},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:"已取消"}},n0={resizeHandleAria:"调整侧栏宽度",resizePreviewAria:"调整预览面板宽度",detailPanelAria:"详情面板"},s0={zoomIn:"放大",zoomOut:"缩小",resetZoom:"重置缩放",dragHint:"拖拽平移",noPreview:"无预览"},o0={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:"返回"},i0={colorSchemeLabel:"明暗",light:"月之亮面",dark:"月之暗面",system:"跟随系统",accentLabel:"主题色",accentBlue:"蓝色",accentBlack:"黑色"},a0={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"},l0={title:"欢迎来使用 Kimi Web",subtitle:"来选择一些你的偏好 —— 之后也可以在设置里随时修改。",languageLabel:"语言",start:"开始使用",skip:"跳过",reopen:"偏好 / 引导"},r0={title:"Settings",close:"Close (Esc)",tabs:{general:"General",agent:"Agent",account:"Account",advanced:"Advanced",archived:"Archived",plugins:"Plugins"},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",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",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",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"}}},u0={title:"设置",close:"关闭 (Esc)",tabs:{general:"通用",agent:"Agent",account:"账户",advanced:"高级",archived:"已归档",plugins:"插件"},appearance:"外观",notifications:"通知",notifyOnComplete:"会话完成时通知",notifyOnQuestion:"待回答时通知",notifyOnApproval:"待审批时通知",soundOnComplete:"会话完成、待回答或待审批时播放提示音",notifyDenied:"已在浏览器设置中被阻止",notifyTitle:"Kimi Code · 回合完成",notifyQuestionTitle:"Kimi Code · 待回答",notifyApprovalTitle:"Kimi Code · 等待审批",notifyFallback:"点击查看结果",notifyQuestionFallback:"有提问等待你回答",notifyApprovalFallback:"有工具等待你审批",account:"账户",uiFontSize:"字体大小",agentDefaults:"Agent 默认值",providers:"提供商",providersHint:"添加、删除或刷新提供商",manageProviders:"管理",saving:"保存中",defaultModel:"默认模型",defaultModelHint:"新会话会优先使用这个模型",noDefaultModel:"未设置默认模型",defaultPermission:"默认权限",defaultPermissionHint:"只影响之后新建的会话",defaultThinking:"默认开启思考",defaultThinkingHint:"新会话默认是否开启 thinking",defaultPlanMode:"默认计划模式",defaultPlanModeHint:"新会话默认进入 plan mode",mergeSkills:"合并所有可用 Skills",mergeSkillsHint:"让项目、插件和用户 Skills 一起出现在可用列表中",telemetry:"使用数据改进产品",telemetryHint:"开启后,我们会收集您的匿名交互数据(如点击、打断、功能使用等),用于改进产品体验。您可以随时关闭。",telemetryRestartHint:"更改后需重启服务生效。",credentialReady:"凭据已配置",credentialMissing:"缺少凭据",configUnavailable:"当前服务端没有返回 config,设置项暂不可用。",advanced:"高级",build:"构建",serverVersion:"服务端版本",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:"失败"}}},c0={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"},d0={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:"导出会话"},p0={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"},f0={title:"侧边聊天",subtitle:"从当前会话 fork",empty:"在侧边随手问一句 —— 它共享当前会话的上下文。",placeholder:"问问侧边聊天…",send:"发送"},m0={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…"},v0={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}"},h0={title:"需要服务器令牌",hint:"此服务器受保护。请输入服务器启动时打印的 bearer token(或通过 {password} 设置的密码)。",placeholder:"令牌",connect:"连接",connecting:"连接中…"},g0={dockTerminal:"终端",newTerminal:"新建终端",inputPlaceholder:"输入命令后按回车",loading:"正在加载终端…",empty:"暂无终端 — 创建一个即可在此会话中使用 shell",listFailed:"加载终端失败",createFailed:"创建终端失败",closeFailed:"关闭终端失败",closeTerminal:"关闭终端",exited:"进程已退出,退出码 {code}"},y0={en:{common:rg,app:ug,sidebar:cg,workspace:dg,conversation:pg,status:fg,composer:mg,login:vg,providers:hg,model:gg,sessions:yg,approval:kg,question:bg,tasks:wg,thinking:Sg,diff:Cg,fileTree:_g,filePreview:$g,mention:Mg,warnings:xg,commands:Ig,tools:Ag,layout:Tg,mobile:Eg,theme:Lg,onboarding:a0,settings:r0,header:c0,sideChat:p0,serverAuth:m0,terminal:v0,media:Pg},zh:{common:Bg,app:Rg,sidebar:Og,workspace:Dg,conversation:zg,status:Fg,composer:Ng,login:qg,providers:Wg,model:Hg,sessions:Ug,approval:Vg,question:jg,tasks:Kg,thinking:Gg,diff:Qg,fileTree:Yg,filePreview:Zg,mention:Xg,warnings:Jg,commands:e0,tools:t0,layout:n0,mobile:o0,theme:i0,onboarding:l0,settings:u0,header:d0,sideChat:f0,serverAuth:h0,terminal:g0,media:s0}},Tu=[{code:"en",label:"English"},{code:"zh",label:"中文"}];function k0(){const e=It(We.locale);return e==="en"||e==="zh"?e:globalThis.navigator?.language?.toLowerCase().startsWith("zh")?"zh":"en"}const pt=Ad({legacy:!1,locale:k0(),fallbackLocale:"en",messages:y0});function Pu(e){pt.global.locale.value=e,Bt(We.locale,e)}const b0=["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"],Eu=500,Pi=256*1024,Yl=200,sa=16384,oa=500,ia=50,aa=50,w0=6,S0=/api[_-]?key|authorization|token|secret|password|cookie|credential/i,C0=/^[A-Za-z0-9+/=_-]{200,}$/;let la=null;function ts(){if(la!==null)return la;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=It(We.debug)==="1"),la=e,e}const Us=[],xo=[];let Ho=0;const to=[];let Uo=0,_0=1;const Ei=new TextEncoder,$0=new Set(b0),al=I(0),Vo=Td(!1);function M0(){return Us}function x0(){Us.length=0,xo.length=0,Ho=0,to.length=0,Uo=0,al.value++}function Ps(e){if(!Vo.value){try{const t={id:_0++,ts:Date.now(),source:e.source,kind:String(Ao(e.kind)),label:String(Ao(e.label)),sessionId:e.sessionId===void 0?void 0:String(Ao(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:js(e.detail)},n=JSON.stringify(t),s=Ei.encode(n).byteLength;if(s>Pi)return;for(Us.push(t),xo.push(n),Ho+=s+(xo.length>1?1:0);Us.length>Eu||Ho>Pi;){const o=xo.shift();Us.shift(),o!==void 0&&(Ho-=Ei.encode(o).byteLength,xo.length>0&&(Ho-=1))}}catch{return}al.value++}}function Ys(e){if(typeof e=="string")return e.length<=Yl?e:e.slice(0,Yl)}function Un(e){return typeof e=="number"&&Number.isFinite(e)?e:void 0}function I0(e,t){if($0.has(e))try{const n={ts:Date.now(),event:e,sessionId:Ys(t?.sessionId),status:Ys(t?.status),operation:Ys(t?.operation),seq:Un(t?.seq),durationMs:Un(t?.durationMs),messageCount:Un(t?.messageCount),contentCount:Un(t?.contentCount),mediaCount:Un(t?.mediaCount),sessionCount:Un(t?.sessionCount),workspaceCount:Un(t?.workspaceCount),promptId:Ys(t?.promptId),zipBytes:Un(t?.zipBytes),errorName:Ys(t?.errorName),errorCode:Un(t?.errorCode),requestId:Ys(t?.requestId),phase:Ys(t?.phase),httpStatus:Un(t?.httpStatus),fatal:typeof t?.fatal=="boolean"?t.fatal:void 0,line:Un(t?.line),col:Un(t?.col)},s=JSON.stringify(n),o=Ei.encode(s).byteLength;if(o>Pi)return;for(to.push(s),Uo+=o+(to.length>1?1:0);to.length>Eu||Uo>Pi;){const i=to.shift();i!==void 0&&(Uo-=Ei.encode(i).byteLength,to.length>0&&(Uo-=1))}}catch{return}}function Ao(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 C0.test(i)?`[base64-like, ${i.length} chars omitted]`:i.length>oa?`${i.slice(0,oa)}… [+${i.length-oa} chars]`:i}if(n!=="object")return String(e);if(t>=w0)return"[max depth]";if(Array.isArray(e)){const i=e.slice(0,ia).map(u=>Ao(u,t+1));return e.length>ia&&i.push(`[+${e.length-ia} more items]`),i}const s={},o=Object.entries(e);for(const[i,u]of o.slice(0,aa))s[i]=S0.test(i)?"[redacted]":Ao(u,t+1);return o.length>aa&&(s._truncatedKeys=o.length-aa),s}function js(e){if(e===void 0)return;const t=Ao(e);try{const n=JSON.stringify(t);if(n!==void 0&&n.length>sa)return{_truncated:`detail JSON was ${n.length} chars; first ${sa} kept`,preview:n.slice(0,sa)}}catch{return"[unserializable detail]"}return t}const Lu=/^\/(oauth\/login|auth|providers|config|files)(\/|$)/i;function fi(e){ts()&&Ps({source:"rest",kind:"rest:request",label:`→ ${e.method} ${e.path}`,method:e.method,path:e.path,requestId:e.requestId,detail:{url:e.url,body:Lu.test(e.path)?void 0:js(e.body)}})}function ko(e){if(!ts())return;const t=e.code!==0;Ps({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:Lu.test(e.path)?void 0:js(e.data)}})}function Os(e){ts()&&Ps({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 bo(e,t){ts()&&Ps({source:"ws",kind:"ws:lifecycle",eventType:e,label:`ws ${e}`,detail:js(t)})}function A0(e){if(!ts())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;Ps({source:"ws",kind:"ws:out",eventType:n,sessionId:o,label:`→ ${n}`,detail:js(e)})}function T0(e){if(!ts())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);Ps({source:"ws",kind:"ws:in",eventType:n,sessionId:s,seq:o,offset:i,label:`← ${n}${u.length>0?` (${u.join(" ")})`:""}`,detail:js(t.payload)})}const P0={error:"✕",warn:"⚠",info:"ℹ",debug:"·",log:"·"};function E0(e,t,n){ts()&&Ps({source:"client",kind:`client:${e}`,label:`${P0[e]} ${t}`,detail:js(n)})}function As(e,t){ts()&&Ps({source:"client",kind:"client:event",label:`· ${e}`,detail:js(t)})}function Yt(e,t){I0(e,t),Ps({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 ra=!1,mi=null;function L0(){if(ra)return()=>mi?.();ra=!0;const e=[];try{if(typeof window<"u"){const n=o=>{Yt("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;Yt("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(ts())for(const n of["error","warn","log","info","debug"]){const s=console[n];if(typeof s!="function")continue;const o=(...i)=>{try{E0(n,i.map(B0).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,ra=!1}};return mi=t,t}function B0(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 Bu(e=Us){if(typeof document>"u")return;const t=new Blob([R0(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 R0(e=Us){return e===Us?xo.join(`
+`):e.map(t=>JSON.stringify(t)).join(`
+`)}function O0(){return to.join(`
+`)}const Ru="kimiWeb.compaction",Ou="kimiWeb.turnError",hn=pt.global.t,D0={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"},z0={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"};function ho(e){const t=(e??"").trim().toLowerCase().replace(/[\s-]+/g,"_");return z0[t]??t}function Ks(e){const t=D0[ho(e)];return t?hn(t):e}const F0={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",croncreate:"calendar-schedule",cronlist:"calendar-todo",crondelete:"calendar-close"};function ni(e){const t=ho(e);let n=F0[t];return!n&&(e??"").trim().toLowerCase().includes("skill")&&(n="bolt"),n||(n="tool"),_o(n,"sm")}const Du=80;function N0(e,t=Du){const n=e.trim();return n.length>t?n.slice(0,t-1)+"…":n}function q0(e,t){const n=e.trim();return!!(n===""||n==="{}"||n==="[]"||n==="null"||t&&Object.keys(t).length===0)}function W0(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 st(e){return typeof e=="string"&&e.length>0?e:void 0}function Ns(e){return typeof e=="number"&&Number.isFinite(e)?e:void 0}function H0(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 ua(e){return st(e.path)??st(e.file_path)??st(e.filePath)??st(e.filename)}const U0={active:"status.goalStatusActive",blocked:"status.goalStatusBlocked",complete:"status.goalStatusComplete"};function V0(e){const t=st(e);if(!t)return;const n=U0[t];return n?hn(n):t}function j0(e){const t=Ns(e.value),n=st(e.unit);if(!(t===void 0||!n))switch(n){case"turns":return hn("tools.goal.turns",{value:t});case"tokens":return hn("tools.goal.tokens",{value:t});case"milliseconds":return hn("tools.goal.milliseconds",{value:t});case"seconds":return hn("tools.goal.seconds",{value:t});case"minutes":return hn("tools.goal.minutes",{value:t});case"hours":return hn("tools.goal.hours",{value:t});default:return hn("tools.goal.budget",{value:t,unit:n})}}const K0=64;function uo(e,t,n=!1){const s=(o,i=Du)=>n?o.trim():N0(o,i);try{const o=W0(t);if(!n&&q0(t,o))return"";const i=()=>s(t.replace(/^·\s*/,""));if(!o)return i();switch(ho(e)){case"read":{const u=ua(o);if(!u)return i();const p=Ns(o.offset)??Ns(o.line_start)??Ns(o.start_line),f=Ns(o.limit)??Ns(o.length),v=Ns(o.line_end)??Ns(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=ua(o);return u?s(`${u} ${hn("tools.chip.created")}`):i()}case"edit":case"multi_edit":{const u=ua(o);return u?s(u):i()}case"bash":{const u=st(o.command)??st(o.cmd)??st(o.script);return u?s(u,K0):i()}case"grep":case"search":{const u=st(o.pattern)??st(o.query)??st(o.regex),p=st(o.path)??st(o.glob)??st(o.include);return u&&p?s(`${u} in ${p}`):u?s(u):i()}case"glob":{const u=st(o.pattern)??st(o.glob)??st(o.query),p=st(o.path)??st(o.cwd);return u&&p?s(`${u} in ${p}`):u?s(u):st(o.path)?s(st(o.path)):i()}case"ls":{const u=st(o.path)??st(o.dir)??st(o.directory)??st(o.cwd);return u?s(u):i()}case"web_fetch":{const u=st(o.url)??st(o.uri);return u?s(H0(u)):i()}case"todo":case"task":{const u=st(o.description)??st(o.title)??st(o.prompt)??st(o.name)??st(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(hn("tools.chip.todos",{count:p.length})):i()}case"creategoal":{if(n)return i();const u=st(o.objective),p=st(o.completionCriterion);return u&&p?s(hn("tools.goal.objectiveWithCriterion",{objective:u,criterion:p})):u?s(u):i()}case"getgoal":return n?i():"";case"setgoalbudget":{if(n)return i();const u=j0(o);return u?s(u):i()}case"updategoal":{if(n)return i();const u=V0(o.status);return u?s(hn("tools.goal.status",{status:u})):i()}default:return i()}}catch{return t}}function zu(e){try{switch(ho(e.name)){case"bash":return e.timing?e.timing:"";case"read":{if(e.output&&e.output.length>0){const t=e.output.length;return hn("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 hn("tools.chip.edited")}return""}case"grep":case"search":return e.output&&e.output.length>0?hn("tools.chip.results",{count:e.output.length}):"";default:return""}}catch{return""}}const G0=["local-path","zip-url","github"];function Lt(e,t){const n=e[t];return typeof n=="string"&&n.length>0?n:void 0}function qs(e,t,n){return Lt(e,t)??Lt(e,n)}function zo(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 Fu(e,t,n){return e[t]===!0||e[n]===!0}function Q0(e){const t=e!==null&&typeof e=="object"?e:{},n=Lt(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?Lt(i,"kind"):void 0;return{id:Lt(t,"id")??"",displayName:qs(t,"display_name","displayName")??"",version:qs(t,"version","version"),enabled:t.enabled===!0,state:t.state==="error"?"error":"ok",skillCount:zo(t,"skill_count","skillCount"),mcpServerCount:zo(t,"mcp_server_count","mcpServerCount"),enabledMcpServerCount:zo(t,"enabled_mcp_server_count","enabledMcpServerCount"),hookCount:zo(t,"hook_count","hookCount"),commandCount:zo(t,"command_count","commandCount"),hasErrors:Fu(t,"has_errors","hasErrors"),source:G0.includes(n??"")?n:"local-path",originalSource:qs(t,"original_source","originalSource"),github:o!==void 0&&i!==void 0&&(u==="branch"||u==="tag"||u==="sha")?{owner:Lt(o,"owner")??"",repo:Lt(o,"repo")??"",ref:{kind:u,value:Lt(i,"value")??""},installedSha:qs(o,"installed_sha","installedSha")}:void 0}}const Y0=["official","curated","third-party"],Z0=["not_installed","partial","ready","unsupported"],X0=["ok","missing","failed"];function J0(e){const t=e!==null&&typeof e=="object"?e:{},n=Lt(t,"tier"),s=t.installed,o=s!==null&&typeof s=="object"?s:void 0;return{id:Lt(t,"id")??"",tier:Y0.includes(n??"")?n:"third-party",displayName:qs(t,"display_name","displayName")??"",description:Lt(t,"description"),homepage:Lt(t,"homepage"),keywords:Array.isArray(t.keywords)?t.keywords.filter(i=>typeof i=="string"):void 0,version:Lt(t,"version"),source:Lt(t,"source")??"",installed:o===void 0?void 0:{version:Lt(o,"version"),enabled:o.enabled===!0},updateAvailable:Fu(t,"update_available","updateAvailable"),capabilityId:qs(t,"capability_id","capabilityId")}}function ey(e){const t=e!==null&&typeof e=="object"?e:{},n=Lt(t,"state"),o=(Array.isArray(t.steps)?t.steps:[]).filter(u=>u!==null&&typeof u=="object").map(u=>({id:Lt(u,"id")??"",state:X0.includes(Lt(u,"state")??"")?Lt(u,"state"):"missing",detail:Lt(u,"detail"),optional:u.optional===!0})),i=t.install;return{id:Lt(t,"id")??"",pluginId:qs(t,"plugin_id","pluginId"),displayName:qs(t,"display_name","displayName")??"",description:Lt(t,"description")??"",supported:t.supported===!0,state:Z0.includes(n??"")?n:"unsupported",version:Lt(t,"version"),steps:o,install:Nu(void 0,i!==null&&typeof i=="object"?i:{running:!1})}}function ty(e){const t=e.trim();return t.length===0?!1:/^https:\/\/\S+$/i.test(t)?!0:/^(\/|~\/|\.{1,2}\/|[A-Za-z]:[\\/])/.test(t)}function ny(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 Nu(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 qu(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 Pa(e){return e.contextTokens===0&&e.contextLimit===0&&e.inputTokens===0&&e.outputTokens===0&&e.turnCount===0}function Zn(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:qu(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 Go(e){return{id:e.id,root:e.root,name:e.name,lastOpenedAt:e.last_opened_at,sessionCount:e.session_count}}function Zl(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 ll(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:Zl(e.source)};case"video":return{type:"video",source:Zl(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 Ea(e){return{id:e.id,sessionId:e.session_id,role:e.role,content:e.content.map(ll),createdAt:e.created_at,promptId:e.prompt_id,parentMessageId:e.parent_message_id,metadata:e.metadata}}function sy(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 oy(e){return{content:e.content.map(sy),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 iy(e){return{decision:e.decision,scope:e.scope,feedback:e.feedback,selected_label:e.selectedLabel}}function Wu(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 ay(e){return{id:e.id,label:e.label,description:e.description,recommended:e.recommended===!0||e.is_recommended===!0}}function ly(e){return{id:e.id,question:e.question,header:e.header,body:e.body,options:e.options.map(ay),multiSelect:e.multi_select,allowOther:e.allow_other,otherLabel:e.other_label,otherDescription:e.other_description}}function Hu(e){return{questionId:e.question_id,sessionId:e.session_id,turnId:e.turn_id,toolCallId:e.tool_call_id,questions:e.questions.map(ly),createdAt:e.created_at}}function ry(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 uy(e){const t={};for(const[n,s]of Object.entries(e.answers))t[n]=ry(s);return{answers:t,method:e.method,note:e.note}}function _i(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 Xl(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 Ds(e,t){const n=e[t];return typeof n=="string"?n:void 0}function wo(e,t){const n=e[t];return typeof n=="number"&&Number.isFinite(n)?n:void 0}function Vn(e,t){const n=e[t];return typeof n=="number"&&Number.isFinite(n)?n:null}function Uu(e){if(!e||typeof e!="object")return null;const t=e,n=Ds(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:Ds(t,"goalId")??Ds(t,"goal_id")??"goal",objective:Ds(t,"objective")??"",completionCriterion:Ds(t,"completionCriterion")??Ds(t,"completion_criterion"),status:n,turnsUsed:wo(t,"turnsUsed")??wo(t,"turns_used")??0,tokensUsed:wo(t,"tokensUsed")??wo(t,"tokens_used")??0,wallClockMs:wo(t,"wallClockMs")??wo(t,"wall_clock_ms")??0,terminalReason:Ds(t,"terminalReason")??Ds(t,"terminal_reason"),budget:{tokenBudget:Vn(o,"tokenBudget")??Vn(o,"token_budget"),remainingTokens:Vn(o,"remainingTokens")??Vn(o,"remaining_tokens"),turnBudget:Vn(o,"turnBudget")??Vn(o,"turn_budget"),remainingTurns:Vn(o,"remainingTurns")??Vn(o,"remaining_turns"),wallClockBudgetMs:Vn(o,"wallClockBudgetMs")??Vn(o,"wall_clock_budget_ms"),remainingWallClockMs:Vn(o,"remainingWallClockMs")??Vn(o,"remaining_wall_clock_ms"),overBudget:o.overBudget===!0||o.over_budget===!0}}}function cy(e){const t=e;switch(e.type){case"event.session.created":return{type:"sessionCreated",session:Zn(t.payload.session)};case"event.session.updated":return{type:"sessionUpdated",session:Zn(t.payload.session),changedFields:t.payload.changed_fields};case"event.session.deleted":return{type:"sessionDeleted",sessionId:t.session_id};case"event.workspace.created":return{type:"workspaceCreated",workspace:Go(t.payload.workspace)};case"event.workspace.updated":return{type:"workspaceUpdated",workspace:Go(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:qu(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=Uu(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:Ea(t.payload.message)};case"event.message.updated":return{type:"messageUpdated",sessionId:t.session_id,messageId:t.payload.message_id,content:t.payload.content.map(ll),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:Wu(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:Hu(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:_i(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:La(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:vy(t.payload.install)};default:return{type:"unknown",raw:e}}}function dy(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 vi(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 py(e){return{id:e.id,name:e.name,maxContextSize:e.max_context_size,capabilities:e.capabilities,reasoning:e.reasoning}}function fy(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(py)}}function La(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,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 Jl(e){return Q0(e)}function my(e){return J0(e)}function vy(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 er(e){return ey(e)}function hy(e){return e.session_id}function gy(e){return e.seq}const yy="main",ky=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 Ms(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 by(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 _n(e,t){const n=e[t];return typeof n=="string"?n:void 0}function Xs(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 wy(e){if(!e||typeof e!="object")return null;const t=e,n=t.budget,s=n&&typeof n=="object"?n:{},o=_n(t,"status");if(o!=="active"&&o!=="paused"&&o!=="blocked"&&o!=="complete")return null;const i=_n(t,"goalId")??_n(t,"goal_id")??"goal",u=_n(t,"objective")??"";return{goalId:i,objective:u,completionCriterion:_n(t,"completionCriterion")??_n(t,"completion_criterion"),status:o,turnsUsed:Xs(t,"turnsUsed")??Xs(t,"turns_used")??0,tokensUsed:Xs(t,"tokensUsed")??Xs(t,"tokens_used")??0,wallClockMs:Xs(t,"wallClockMs")??Xs(t,"wall_clock_ms")??0,terminalReason:_n(t,"terminalReason")??_n(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 no(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 Sy(e,t){if(e==="turn.step.started")return null;if(e==="tool.use"||e==="tool.call.started"){const n=_n(t,"name")??_n(t,"toolName")??"tool",s=Ks(Cy(n)),o=_y(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=_n(n,"text");if(o)return ca(o);const i=_n(n,"message");if(i)return ca(i)}const s=_n(t,"message");if(s)return ca(s)}return null}function Cy(e){return e.replace(/_\d+$/,"")}const nr=2e3;function ca(e){return e.length>nr?`${e.slice(0,nr)}…`:e}function _y(e,t){if(t==null)return"";const n=typeof t=="string"?t:JSON.stringify(t);return uo(e,n)}function $y(e,t,n,s,o,i){if(i.has(n)&&s==="turn.step.started")return[];if(s==="assistant.delta"){const w=_n(o,"delta");if(!w)return[];const x=e.subagentMeta.get(n),g=no(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:w,stream:"stdout",kind:"text"}),m}const u=Sy(s,o);if(u===null||u.length===0)return[];const p=e.subagentMeta.get(n),f=no(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 Fo(e){return{...e,content:e.content.map(t=>({...t}))}}function sr(e,t,n){const s={id:Ms("msg_"),sessionId:t,role:"assistant",content:[],createdAt:new Date().toISOString(),promptId:n};return e.messages.push(s),s}function My(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 xy(e){return Array.isArray(e)?e.map(t=>ll(t)):[]}function or(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 Iy(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 Ay(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 ir(e,t){e.messages.find(n=>n.id===t)}function Ty(e,t,n,s,o,i){const u={id:Ms("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 No(e,t){return e.messages.find(n=>n.id===t)}function ar(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 Py(){const e=new Map,t=new Set;function n(x){let g=e.get(x);return g||(g=tr(),e.set(x,g)),g}function s(x){e.set(x,tr())}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),M=g.promptId??Ms("pr_");m.currentPromptId=M,m.turnPromptId.set(g.turnId,M);const h=sr(m,x,M);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 k=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:k}),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:Fo(h)}]}function f(x,g,m,M){try{return w(x,g,m,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 w(x,g,m,M){const h=n(m),y=g,k=[],T=y?.agentId;if(typeof T=="string"&&T!==yy){const S=t.has(T);if(S&&(x==="thinking.delta"||x==="assistant.delta")){const O=y?.delta??"";return O?[{type:"agentDelta",sessionId:m,agentId:T,delta:{[x==="thinking.delta"?"thinking":"text"]:O}}]:[]}if(S&&x==="turn.ended")return[{type:"agentTurnEnded",sessionId:m,agentId:T,reason:y?.reason}];if(ky.has(x))return $y(h,m,T,x,y??{},t)}switch(x){case"session.meta.updated":{const S=y?.patch?.title??y?.title,O=y?.patch?.lastPrompt,D={};typeof S=="string"&&S.length>0&&(D.title=S),typeof O=="string"&&(D.lastPrompt=O),(D.title!==void 0||D.lastPrompt!==void 0)&&k.push({type:"sessionMetaUpdated",sessionId:m,...D});break}case"prompt.submitted":{const S=y?.promptId,O=y?.userMessageId;if(!S||!O)break;const D=xy(y?.content);if(D.length===0)break;h.currentPromptId=S;const E=My(h,m,S,O,D,typeof y?.createdAt=="string"?y.createdAt:new Date().toISOString());k.push({type:"messageCreated",message:Fo(E)});break}case"turn.started":{const S=y?.turnId,O=h.currentPromptId??Ms("pr_");h.currentPromptId=O,S!==void 0&&h.turnPromptId.set(S,O),h.turnTextLen=0,h.turnThinkLen=0,k.push({type:"turnActiveChanged",sessionId:m,active:!0});break}case"turn.step.started":{const S=y?.turnId;let O=h.turnPromptId.get(S)??h.currentPromptId;if(O||(O=Ms("pr_"),h.currentPromptId=O,S!==void 0&&h.turnPromptId.set(S,O)),h.turnTextLen=0,h.turnThinkLen=0,h.retryReuseMsgId!==void 0){const E=h.retryReuseMsgId;if(h.retryReuseMsgId=void 0,No(h,E)!==void 0){h.currentAssistantMsgId=E;break}}const D=sr(h,m,O);h.currentAssistantMsgId=D.id,k.push({type:"messageCreated",message:Fo(D)});break}case"thinking.delta":{const S=h.currentAssistantMsgId;if(!S)break;const O=y?.delta??"";if(!O)break;M?.offset===0&&h.turnThinkLen>0&&(h.turnThinkLen=0);const D=v(h.turnThinkLen,M?.offset);if(D==="skip")break;if(D==="gap"){k.push({type:"historyCompacted",sessionId:m,beforeSeq:0,reason:"delta_gap"});break}const E=or(h,S,"thinking",O);if(E<0)break;h.turnThinkLen+=O.length,k.push({type:"assistantDelta",sessionId:m,messageId:S,contentIndex:E,delta:{thinking:O}});break}case"assistant.delta":{const S=h.currentAssistantMsgId;if(!S)break;const O=y?.delta??"";if(!O)break;M?.offset===0&&h.turnTextLen>0&&(h.turnTextLen=0);const D=v(h.turnTextLen,M?.offset);if(D==="skip")break;if(D==="gap"){k.push({type:"historyCompacted",sessionId:m,beforeSeq:0,reason:"delta_gap"});break}const E=or(h,S,"text",O);if(E<0)break;h.turnTextLen+=O.length,k.push({type:"assistantDelta",sessionId:m,messageId:S,contentIndex:E,delta:{text:O}});break}case"tool.use":case"tool.call.started":{const S=h.currentAssistantMsgId,O=y?.turnId,D=h.turnPromptId.get(O)??h.currentPromptId;if(!S||!D)break;const E=y?.toolCallId,R=y?.name??y?.toolName??"",q=y?.args??y?.input??{};Iy(h,S,E,R,q);const V=No(h,S);V&&V.content.length-1,h.toolStartTimes.set(E,Date.now()),V&&k.push({type:"messageUpdated",sessionId:m,messageId:S,content:V.content.map(b=>({...b})),status:"pending"});break}case"tool.call.delta":break;case"tool.progress":{const S=y?.toolCallId,O=Ay(y??{});S&&O&&k.push({type:"toolOutput",sessionId:m,toolCallId:S,outputChunk:O.outputChunk,stream:O.stream});break}case"tool.result":{const S=y?.turnId;let O=h.turnPromptId.get(S)??h.currentPromptId;O||(O=Ms("pr_"),h.currentPromptId=O,S!==void 0&&h.turnPromptId.set(S,O));const D=y?.toolCallId,E=y?.output,R=y?.isError??!1;h.toolStartTimes.get(D)??Date.now(),h.toolStartTimes.delete(D);const q=Ty(h,m,D,E,R,O);k.push({type:"messageCreated",message:Fo(q)}),h.currentAssistantMsgId=void 0;break}case"turn.step.completed":{const S=h.currentAssistantMsgId,O=by(y?.usage);if(h.totalInput+=O.input,h.totalOutput+=O.output,h.totalCacheRead+=O.cacheRead,h.totalCacheCreate+=O.cacheCreate,S){ir(h,S);const D=No(h,S);D&&k.push({type:"messageUpdated",sessionId:m,messageId:S,content:D.content.map(E=>({...E})),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),k.push({type:"sessionUsageUpdated",sessionId:m,usage:ar(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 S=h.currentAssistantMsgId,O=y?.reason??"completed",D=Xs(y??{},"durationMs");if(k.push({type:"turnActiveChanged",sessionId:m,active:!1,reason:y?.reason}),S){ir(h,S);const q=No(h,S);q&&k.push({type:"messageUpdated",sessionId:m,messageId:S,content:q.content.map(V=>({...V})),status:O==="failed"||O==="blocked"?"error":"completed",durationMs:D})}h.turnCount++;const E=ar(h);k.push({type:"sessionUsageUpdated",sessionId:m,usage:E});const R=y?.error;if(O==="failed"&&R!==void 0&&typeof R.message=="string"&&R.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;k.push({type:"messageCreated",message:{id:`turnerror_${m}_${q??"unknown"}`,sessionId:m,role:"assistant",content:[{type:"text",text:R.message}],createdAt:new Date().toISOString(),promptId:V,metadata:{[Ou]:{code:typeof R.code=="string"?R.code:void 0,message:R.message}}}})}h.currentAssistantMsgId=void 0,h.currentPromptId=void 0,h.turnTextLen=0,h.turnThinkLen=0,h.retryReuseMsgId=void 0;break}case"prompt.completed":{const S=y?.promptId;typeof S=="string"&&S.length>0&&k.push({type:"promptCompleted",sessionId:m,promptId:S,reason:y?.reason??"completed"});break}case"prompt.aborted":{const S=y?.promptId;typeof S=="string"&&S.length>0&&k.push({type:"promptAborted",sessionId:m,promptId:S});break}case"turn.step.retrying":{const S=h.currentAssistantMsgId;if(S!==void 0){const O=No(h,S);O!==void 0&&(O.content=O.content.filter(D=>D.type!=="text"&&D.type!=="thinking"&&D.type!=="toolUse"),k.push({type:"messageUpdated",sessionId:m,messageId:S,content:O.content.map(D=>({...D})),status:"pending"}),h.retryReuseMsgId=S)}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 O={id:typeof y?.subagentId=="string"&&y.subagentId.length>0?y.subagentId:Ms("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};h.subagentMeta.set(O.id,O),k.push({type:"taskCreated",sessionId:m,task:O});break}case"subagent.started":{const S=no(h,m,y?.subagentId,{subagentPhase:"working",status:"running",startedAt:new Date().toISOString()});S&&k.push({type:"taskCreated",sessionId:m,task:S});break}case"subagent.suspended":{const S=no(h,m,y?.subagentId,{subagentPhase:"suspended",status:"running",suspendedReason:typeof y?.reason=="string"?y.reason:void 0});S&&k.push({type:"taskCreated",sessionId:m,task:S});break}case"subagent.completed":{const S=typeof y?.resultSummary=="string"?y.resultSummary:void 0,O=no(h,m,y?.subagentId,{subagentPhase:"completed",status:"completed",completedAt:new Date().toISOString(),outputPreview:S});O&&k.push({type:"taskCreated",sessionId:m,task:O}),k.push({type:"taskCompleted",sessionId:m,taskId:y?.subagentId??"",status:"completed",outputPreview:S});break}case"subagent.failed":{const S=typeof y?.error=="string"?y.error:void 0,O=no(h,m,y?.subagentId,{subagentPhase:"failed",status:"failed",completedAt:new Date().toISOString(),outputPreview:S});O&&k.push({type:"taskCreated",sessionId:m,task:O}),k.push({type:"taskCompleted",sessionId:m,taskId:y?.subagentId??"",status:"failed",outputPreview:S});break}case"error":{k.push({type:"unknown",raw:{_agentError:!0,code:y?.code,message:y?.message,name:y?.name,details:y?.details,retryable:y?.retryable}});break}case"warning":{k.push({type:"unknown",raw:{_agentWarning:!0,message:y?.message}});break}case"task.started":{const S=y?.info??{},O=typeof S.startedAt=="number"?new Date(S.startedAt).toISOString():void 0,D=typeof S.taskId=="string"?S.taskId:typeof S.taskId=="number"?String(S.taskId):Ms("task_"),E=typeof S.description=="string"?S.description:typeof S.command=="string"?S.command:pt.global.t("tasks.defaultDescription");if(S.kind==="agent"){const q=typeof S.agentId=="string"&&S.agentId.length>0?S.agentId:void 0;if(q!==void 0){const V=no(h,m,q,{description:E,backgroundTaskId:D,runInBackground:!0});V&&k.push({type:"taskCreated",sessionId:m,task:V})}else k.push({type:"taskCreated",sessionId:m,task:{id:D,sessionId:m,kind:"subagent",description:E,status:"running",createdAt:O??new Date().toISOString(),startedAt:O,subagentPhase:"queued",runInBackground:!0}});break}const R=typeof S.command=="string"?S.command:void 0;k.push({type:"taskCreated",sessionId:m,task:{id:D,sessionId:m,kind:"bash",description:E,command:R,status:"running",createdAt:O??new Date().toISOString(),startedAt:O,outputPreview:R!==void 0?`$ ${R}`:void 0}});break}case"task.terminated":{const S=y?.info??{},O=S.status==="failed"||typeof S.exitCode=="number"&&S.exitCode!==0;k.push({type:"taskCompleted",sessionId:m,taskId:typeof S.taskId=="string"?S.taskId:typeof S.taskId=="number"?String(S.taskId):"",status:O?"failed":"completed"});break}case"compaction.completed":{const S=y?.result??{};k.push({type:"compactionCompleted",sessionId:m,tokensBefore:typeof S.tokensBefore=="number"?S.tokensBefore:void 0,tokensAfter:typeof S.tokensAfter=="number"?S.tokensAfter:void 0,summary:typeof S.summary=="string"?S.summary:void 0}),k.push({type:"historyCompacted",sessionId:m,beforeSeq:0,reason:"auto_compact"});break}case"compaction.started":{k.push({type:"compactionStarted",sessionId:m,trigger:y?.trigger==="manual"?"manual":"auto",instruction:typeof y?.instruction=="string"?y.instruction:void 0});break}case"compaction.cancelled":{k.push({type:"compactionCancelled",sessionId:m});break}case"goal.updated":{const S=wy(y?.snapshot??null);k.push({type:"goalUpdated",sessionId:m,goal:S?.status==="complete"?null:S});break}case"cron.fired":{const S=y?.origin,O=_n(y??{},"prompt");if(S&&typeof S=="object"&&S.kind==="cron_job"&&O){const D={id:Ms("cron_"),sessionId:m,role:"user",content:[{type:"text",text:O}],createdAt:new Date().toISOString(),metadata:{origin:S}};h.messages.push(D),k.push({type:"messageCreated",message:Fo(D)})}break}}return k}return{project:f,bindNextPromptId:u,seedInFlight:p,reset:s,disposeSession:o,markSideChannelAgent:i}}const Ey=new Set(["server_hello","ack","ping","resync_required","error","pong"]),lr=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"]),Ly=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"]),By=new Set(["assistant.delta","thinking.delta"]);function Ry(e,t){if(Ey.has(e))return{route:"ignore"};const n=e.startsWith("event."),s=n?e.slice(6):e;return By.has(s)?Oy(t)?{route:"agent",agentType:s}:{route:"protocol"}:n?Ly.has(s)?{route:"protocol"}:lr.has(s)?{route:"agent",agentType:s}:{route:"protocol"}:lr.has(s)?{route:"agent",agentType:s}:{route:"agent",agentType:s}}function Oy(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 jo 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 Cs 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 Mn(e){return e instanceof jo||typeof e=="object"&&e!==null&&e.name==="DaemonApiError"&&typeof e.code=="number"}function rl(e){return e instanceof Cs||typeof e=="object"&&e!==null&&e.name==="DaemonNetworkError"&&typeof e.method=="string"&&typeof e.path=="string"}const rn="kimi-web.server-credential",Dy="token",zy=10080*60*1e3;let Ts;const Ba=new Set;function Fy(){if(typeof window>"u")return;const e=window.location.hash??"";if(!e.startsWith("#"))return;const n=new URLSearchParams(e.slice(1)).get(Dy);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 Ra(e){return{version:1,credential:e,expiresAt:Date.now()+zy}}function Ny(e){return JSON.stringify(e)}function ul(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 Oa(e){globalThis.localStorage?.setItem(rn,Ny(e))}function qy(){try{const e=globalThis.localStorage?.getItem(rn);if(e){const n=ul(e);if(n===void 0){const s=Ra(e);let o=!1;try{Oa(s),o=!0}catch{}if(!o)try{globalThis.localStorage?.getItem(rn)===e&&globalThis.localStorage?.removeItem(rn),o=!0}catch{}try{globalThis.sessionStorage?.removeItem(rn)}catch{}return o?s:void 0}if(n.expiresAt>Date.now())return n;globalThis.sessionStorage?.removeItem(rn),globalThis.localStorage?.getItem(rn)===e&&globalThis.localStorage?.removeItem(rn);return}const t=globalThis.sessionStorage?.getItem(rn);if(t){const n=Ra(t);let s=!1;try{Oa(n),s=!0}catch{}try{globalThis.sessionStorage?.removeItem(rn),s=!0}catch{}return s?n:void 0}return}catch{return}}function Wy(){if(Ts=qy(),si()!==void 0)return!0;const e=Fy();return e?(Vu(e),!0):!1}function si(){if(Ts!==void 0){if(Ts.expiresAt<=Date.now()){Hy(Ts);return}return Ts.credential}}function Hy(e){Ts=void 0;try{globalThis.sessionStorage?.removeItem(rn);const t=globalThis.localStorage?.getItem(rn),n=t==null?void 0:ul(t);(n===void 0?t===e.credential:n.credential===e.credential&&n.expiresAt===e.expiresAt)&&globalThis.localStorage?.removeItem(rn)}catch{}}function Vu(e){const t=Ra(e);Ts=t;try{Oa(t)}catch{}try{globalThis.sessionStorage?.removeItem(rn)}catch{}}function Uy(){const e=Ts;Ts=void 0;try{const t=globalThis.localStorage?.getItem(rn),s=(t==null?void 0:ul(t))?.credential??t;e!==void 0&&s===e.credential&&globalThis.localStorage?.removeItem(rn),globalThis.sessionStorage?.removeItem(rn)}catch{}}function Vy(e){return Ba.add(e),()=>{Ba.delete(e)}}function jy(){Uy();for(const e of Ba)try{e()}catch{}}const Ko=3e4,hi=5*6e4,Ky=5*6e4,ju="0123456789ABCDEFGHJKMNPQRSTVWXYZ",rr=500,Ku=40101;function gi(e=Ko){try{return AbortSignal.timeout(e)}catch{return}}function Gy(e,t){let n="",s=e;for(let o=0;oju[n%32]).join("")}function yi(){return`${Gy(Date.now(),10)}${Qy(16)}`}function Yy(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 da(e){try{const t=await e.text();return t?t.length>rr?`${t.slice(0,rr)}...`:t:void 0}catch{return}}class Zy{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=oo(this.origin,t),s=yi(),o={"X-Request-Id":s};this.addClientHeaders(o);const i=Date.now();fi({method:"GET",path:t,url:n,requestId:s});let u;try{u=await fetch(n,{method:"GET",headers:o,signal:gi()})}catch(f){throw Os({method:"GET",path:t,requestId:s,phase:"fetch",durationMs:Date.now()-i,error:f}),new Cs({message:`Network error calling GET ${t}`,cause:f,method:"GET",path:t,url:n,requestId:s,phase:"fetch",timeoutMs:Ko,timestamp:Date.now(),durationMs:Date.now()-i})}if(u.ok)return ko({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),ko({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 jo({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=oo(this.origin,t),u=yi(),p={"X-Request-Id":u,"Content-Type":"application/json; charset=utf-8"};this.addClientHeaders(p);const f=Date.now();fi({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:gi(hi)})}catch(m){throw Os({method:o,path:t,requestId:u,phase:"fetch",durationMs:Date.now()-f,error:m}),new Cs({message:`Network error calling ${o} ${t}`,cause:m,method:o,path:t,url:i,requestId:u,phase:"fetch",timeoutMs:hi,timestamp:Date.now(),durationMs:Date.now()-f})}const w=v.headers.get("content-type")??void 0,x=w?.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,k=m?.msg??v.statusText;throw ko({method:o,path:t,requestId:u,status:v.status,durationMs:Date.now()-f,code:y,msg:k,envelopeRequestId:m?.request_id}),new jo({code:y,msg:k,requestId:m?.request_id??u,details:m?.details,timestamp:Date.now(),durationMs:Date.now()-f})}const M=v.clone(),h=new TypeError(`Expected application/zip, received ${w??"no content type"}`);throw Os({method:o,path:t,requestId:u,phase:"parse",durationMs:Date.now()-f,status:v.status,error:h}),new Cs({message:`Invalid ZIP response from ${o} ${t}`,cause:h,method:o,path:t,url:i,requestId:u,phase:"parse",timeoutMs:hi,status:v.status,statusText:v.statusText,contentType:w,bodyPreview:await da(M),timestamp:Date.now(),durationMs:Date.now()-f})}let g;try{g=await v.blob()}catch(m){throw Os({method:o,path:t,requestId:u,phase:"parse",durationMs:Date.now()-f,status:v.status,error:m}),new Cs({message:`Failed to read ZIP response from ${o} ${t}`,cause:m,method:o,path:t,url:i,requestId:u,phase:"parse",timeoutMs:hi,status:v.status,statusText:v.statusText,contentType:w,timestamp:Date.now(),durationMs:Date.now()-f})}return ko({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=oo(this.origin,t),o=yi(),i={"X-Request-Id":o};this.addClientHeaders(i);const u=Date.now();fi({method:"POST",path:t,url:s,requestId:o,body:Yy(n)});let p;try{p=await fetch(s,{method:"POST",headers:i,body:n,signal:gi()})}catch(w){throw Os({method:"POST",path:t,requestId:o,phase:"fetch",durationMs:Date.now()-u,error:w}),new Cs({message:`Network error calling POST ${t}`,cause:w,method:"POST",path:t,url:s,requestId:o,phase:"fetch",timeoutMs:Ko,timestamp:Date.now(),durationMs:Date.now()-u})}let f;const v=p.clone();try{f=await p.json()}catch(w){throw Os({method:"POST",path:t,requestId:o,phase:"parse",durationMs:Date.now()-u,status:p.status,error:w}),new Cs({message:`Failed to parse JSON response from POST ${t}`,cause:w,method:"POST",path:t,url:s,requestId:o,phase:"parse",timeoutMs:Ko,status:p.status,statusText:p.statusText,contentType:p.headers.get("content-type")??void 0,bodyPreview:await da(v),timestamp:Date.now(),durationMs:Date.now()-u})}if(ko({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 jo({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=oo(this.origin,n);if(o){const h=new URLSearchParams;for(const[k,T]of Object.entries(o))T!==void 0&&h.set(k,String(T));const y=h.toString();y&&(p=`${p}?${y}`)}const f=yi(),v={"X-Request-Id":f};this.addClientHeaders(v),s!==void 0&&(v["Content-Type"]="application/json; charset=utf-8");const w=Date.now();fi({method:t,path:n,url:p,requestId:f,body:s});const x=u??Ko;let g;try{g=await fetch(p,{method:t,headers:v,body:s!==void 0?JSON.stringify(s):void 0,signal:gi(x)})}catch(h){throw Os({method:t,path:n,requestId:f,phase:"fetch",durationMs:Date.now()-w,error:h}),new Cs({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()-w})}let m;const M=g.clone();try{m=await g.json()}catch(h){throw Os({method:t,path:n,requestId:f,phase:"parse",durationMs:Date.now()-w,status:g.status,error:h}),new Cs({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 da(M),timestamp:Date.now(),durationMs:Date.now()-w})}if(ko({method:t,path:n,requestId:f,status:g.status,durationMs:Date.now()-w,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 jo({code:m.code,msg:m.msg,requestId:m.request_id,details:m.details,timestamp:Date.now(),durationMs:Date.now()-w});return m.data}addClientHeaders(t){const n=si();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===Ku)&&jy()}}function Xy(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 Jy(e){const t={url:e.url};return e.apiKey!==void 0&&(t.api_key=e.apiKey),t}function ur(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 ek(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 tk(e,t){return e.filter(n=>ek(n,t))}function nk(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 sk(e,t){return{type:"subscribe_v2",id:t,payload:{session_id:e.sessionId,transcript:e.grades,transcript_since:e.sinceSeq??void 0}}}function ok(e,t,n){return{type:"unsubscribe_v2",id:t,payload:{session_id:e,...n?{agent_ids:n}:{}}}}class ik{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 ak(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 lk(e){let t=new Map;function n(g){const m=t.get(g);if(m!==void 0)return m;const M=rk();return t.set(g,M),M}function s(g){if(!Array.isArray(g))return[];const m=[];for(const M of g)try{m.push(...i(M))}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=So(g);switch(xt(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=So(g.turn),M=xt(m,"turnId"),h=xt(m,"state");if(M===void 0||!pk(h))return[];const y=n(M);y.state=h;const k=xt(m,"prompt");k!==void 0&&(y.prompt=k);const T=dk(m,"startedAt");T!==void 0&&(y.startedAt=T);const S=ck(m,"durationMs");S!==void 0&&(y.durationMs=S);const O=[];return h==="queued"?O:h==="running"?(y.prompt!==void 0&&y.prompt.length>0&&!y.userEmitted&&(O.push({type:"messageCreated",message:{id:`usr_${M}`,sessionId:e,role:"user",content:[{type:"text",text:y.prompt}],createdAt:y.startedAt??new Date().toISOString()}}),y.userEmitted=!0),O):(y.endEmitted||(y.assistantEmitted&&O.push({type:"messageUpdated",sessionId:e,messageId:`asst_${M}`,content:cr(y.content),status:"completed",...y.durationMs!==void 0?{durationMs:y.durationMs}:{}}),O.push({type:"sessionWorkChanged",sessionId:e,busy:!1,mainTurnActive:!1,lastTurnReason:h}),y.endEmitted=!0),O)}function p(g){const m=So(g.step),M=xt(g,"turnId")??xt(m,"turnId"),h=m.frames;if(M===void 0||!Array.isArray(h))return[];const y=n(M),k=[];for(const T of h){const S=So(T),O=xt(S,"frameId");O!==void 0&&(y.seenFrames.has(O)||k.push(...w(y,M,S)))}return k}function f(g){const m=xt(g,"turnId"),M=So(g.frame),h=xt(M,"frameId");if(m===void 0||h===void 0)return[];const y=n(m),k=xt(M,"kind");return(k==="text"||k==="thinking")&&y.seenFrames.has(h)?[]:w(y,m,M)}function v(g){const m=So(g.target),M=xt(g,"text");if(M===void 0)return[];const h=xt(m,"type");if(h==="task"){const R=xt(m,"taskId");return R===void 0?[]:[{type:"taskProgress",sessionId:e,taskId:R,outputChunk:M,stream:"stdout"}]}if(h!=="frame")return[];const y=xt(m,"turnId"),k=xt(m,"frameId");if(y===void 0||k===void 0)return[];const T=n(y),S=[];x(T,y,S);const O=Da(T,k),D=T.content[O];(D===void 0||D.type!=="text"&&D.type!=="thinking")&&(T.content[O]={type:"text",text:""});const E=T.content[O];return E!==void 0&&(E.type==="text"?(E.text+=M,S.push({type:"assistantDelta",sessionId:e,messageId:`asst_${y}`,contentIndex:O,delta:{text:M}})):E.type==="thinking"&&(E.thinking+=M,S.push({type:"assistantDelta",sessionId:e,messageId:`asst_${y}`,contentIndex:O,delta:{thinking:M}}))),T.seenFrames.add(k),S}function w(g,m,M){const h=xt(M,"frameId");if(h===void 0)return[];const y=[];switch(g.seenFrames.add(h),xt(M,"kind")){case"text":{if(xt(M,"role")!=="assistant")break;const S=xt(M,"text");if(S===void 0)break;x(g,m,y);const{index:O,part:D}=dr(g,h,"text");D.type==="text"&&(D.text+=S),y.push({type:"assistantDelta",sessionId:e,messageId:`asst_${m}`,contentIndex:O,delta:{text:S}});break}case"thinking":{const T=xt(M,"text");if(T===void 0)break;x(g,m,y);const{index:S,part:O}=dr(g,h,"thinking");O.type==="thinking"&&(O.thinking+=T),y.push({type:"assistantDelta",sessionId:e,messageId:`asst_${m}`,contentIndex:S,delta:{thinking:T}});break}case"tool":{const T=xt(M,"toolCallId");if(T===void 0)break;if(x(g,m,y),!g.content.some(D=>D.type==="toolUse"&&D.toolCallId===T)){const D=Da(g,h);g.content[D]={type:"toolUse",toolCallId:T,toolName:xt(M,"name")??"",input:M.input??{},outputLines:[]}}y.push({type:"messageUpdated",sessionId:e,messageId:`asst_${m}`,content:cr(g.content),status:"pending"});const S=M.progress;uk(S)&&y.push({type:"toolOutput",sessionId:e,toolCallId:T,outputChunk:xt(S,"text")??"",stream:S.kind==="stderr"?"stderr":"stdout"});const O=xt(M,"state");(O==="done"||O==="error")&&!g.emittedToolResults.has(T)&&(g.emittedToolResults.add(T),y.push({type:"messageCreated",message:{id:`tool_${T}`,sessionId:e,role:"tool",content:[{type:"toolResult",toolCallId:T,output:M.output??M.display??{},isError:O==="error"}],createdAt:new Date().toISOString()}}));break}}return y}function x(g,m,M){g.assistantEmitted||(g.assistantEmitted=!0,M.push({type:"messageCreated",message:{id:`asst_${m}`,sessionId:e,role:"assistant",content:[],createdAt:new Date().toISOString()}}))}return{project:s,reset:o}}function rk(){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 So(e){return e===null||typeof e!="object"||Array.isArray(e)?{}:e}function uk(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function xt(e,t){const n=e[t];return typeof n=="string"?n:void 0}function ck(e,t){const n=e[t];return typeof n=="number"&&Number.isFinite(n)?n:void 0}function dk(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 pk(e){return e==="queued"||e==="running"||e==="completed"||e==="failed"||e==="cancelled"}function cr(e){return e.map(t=>t.type==="toolUse"&&t.outputLines!==void 0?{...t,outputLines:[...t.outputLines]}:{...t})}function Da(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=Da(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 fk=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 mk(e){return fk.has(e)}function vk(e,t){if(!Array.isArray(e))return[];const n=[];for(const s of e)try{n.push(...hk(s,t))}catch(o){console.error("[transcriptOpsToAppEvents] error mapping op:",o instanceof Error?o.message:o)}return n}function Ws(e){return e===null||typeof e!="object"||Array.isArray(e)?{}:e}function Xn(e,t){const n=e[t];return typeof n=="string"?n:void 0}function pr(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 Gu(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 hk(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 gk(n.prompt,t);case"task.upsert":return bk(n.task,t);case"meta.merge":return Ck(n.meta,t);default:return[]}}function gk(e,t){const n=Ws(e),s=Xn(n,"prompt");if(s===void 0||s.trim().length===0)return[];const o=Xn(n,"createdAt")??new Date().toISOString();return[{type:"messageCreated",message:{id:Xn(n,"promptId")??`pr_${t}-${o}`,sessionId:t,role:"user",content:[{type:"text",text:s}],createdAt:o}}]}const yk={shell:"bash",subagent:"subagent",tool:"tool"};function kk(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 bk(e,t){const n=Ws(e),s=Xn(n,"taskId");if(s===void 0||s.length===0)return[];const o=n.kind,i=typeof o=="string"?yk[o]:void 0;if(i===void 0)return[];const u=Xn(n,"state");if(u===void 0)return[];const p=kk(u);if(p===void 0)return[];const f=pr(n,"startedAt"),v=pr(n,"endedAt"),w=Xn(n,"description")??Xn(n,"name")??Xn(n,"title")??"",x={id:s,sessionId:t,kind:i,description:w,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:Xn(n,"outputTail")??"",stream:"stdout"}];case"taskCompleted":{const g=Xn(n,"error")??Xn(n,"stateReason");return[{type:"taskCompleted",sessionId:t,taskId:s,status:p.status,...p.status==="failed"&&g!==void 0?{outputPreview:g}:{}}]}}}function wk(e){if(e.usage!==void 0&&e.usage!==null||Object.keys(e).some(n=>n.startsWith("tokens_")))return!0;const t=Ws(e.agent);return t.usage!==void 0&&t.usage!==null?!0:Gu([t],["contextTokens","maxContextTokens"])!==void 0}function Sk(e){const t=Ws(e.usage),n=Ws(e.agent),s=Ws(Ws(n.usage).total),o=(i,u)=>Gu(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 Ck(e,t){const n=Ws(e);return wk(n)?[{type:"sessionUsageUpdated",sessionId:t,usage:Sk(n)}]:[]}const _k="kimi-code.bearer.",$k=3e4;class Mk{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(),bo("connect",{url:this.wsUrl,attempt:this.reconnectAttempts});const t=si(),n=t!==void 0?[`${_k}${t}`]:void 0,s=new WebSocket(this.wsUrl,n);this.ws=s,s.onopen=()=>{bo("open")},s.onmessage=o=>{this.lastActivityAt=Date.now();try{const i=JSON.parse(String(o.data));T0(i),this.handleFrame(i)}catch(i){bo("parse-error",{error:String(i)}),this.handlers.onError(0,`Failed to parse WS frame: ${String(i)}`,!1)}},s.onerror=()=>{bo("error"),this.handlers.onError(0,"WebSocket error",!1)},s.onclose=o=>{bo("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,bo("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(ok(t,this.nextId(),n))}transcriptSubscribedSessionIds(){return Array.from(this.transcriptSubscriptions.keys())}sendTranscriptSubscribe(t){const n=this.transcriptSubscriptions.get(t);n&&this.send(sk({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=ki(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(ki(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(ki(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,$k),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=ki(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=Ry(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)),A0(t)}catch{}}nextId(){return`c_${++this.msgSeq}`}}function ki(e,t){return`${e}\0${t}`}function xk(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 Ik=40924,Ak=40925,Tk=600,Pk=2*6e4;function Ek(e){return new Promise(t=>setTimeout(t,e))}function pa(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 mr(e){return e==="auto_compact"||e==="manual_compact"}class Lk{http;config;constructor(t){this.config=t,this.http=new Zy(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,backend:t.backend==="v2"?"v2":"v1"}}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(Zn),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 Zn(s)}async getSession(t){const n=await this.http.get(`/sessions/${encodeURIComponent(t)}`);return Zn(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 Zn(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 Uu(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 Zn(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(Ea),hasMore:o.has_more}}async getSessionSnapshot(t){const n=Date.now();Yt("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:Zn(s.session),messages:s.messages.items.map(Ea),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(Wu),pendingQuestions:s.pending_questions.map(Hu),subagents:(s.subagents??[]).map(_i)};return Yt("session:snapshot:accepted",{sessionId:t,busy:o.session.busy,seq:o.asOfSeq,messageCount:o.messages.length,durationMs:Date.now()-n}),o}catch(s){throw Yt("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:xk(i.contentDisposition,u)}}async submitPrompt(t,n){const s=Date.now();Yt("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`,oy(n));return Yt("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 Yt("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:Ky});return Zn(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 Zn(o)}async listChildSessions(t){return(await this.http.get(`/sessions/${encodeURIComponent(t)}/children`)).items.map(Zn)}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)}`,iy(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)}`,uy(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(_i)}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 _i(i)}async cancelTask(t,n){return await this.http.post(`/sessions/${encodeURIComponent(t)}/tasks/${encodeURIComponent(n)}:cancel`)}async listTerminals(t){return(await this.http.get(`/sessions/${encodeURIComponent(t)}/terminals`)).items.map(pa)}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 pa(o)}async getTerminal(t,n){const s=await this.http.get(`/sessions/${encodeURIComponent(t)}/terminals/${encodeURIComponent(n)}`);return pa(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=nk(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(Jl)}async listPluginMarketplace(){return((await this.http.get("/plugins/marketplace")).entries??[]).map(my)}async installPlugin(t){const n=await this.http.post("/plugins",{source:t});return Jl(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(er)}async getCapability(t){const n=await this.http.get(`/capabilities/${encodeURIComponent(t)}`);return er(n)}async installCapability(t,n){await this.http.post(`/capabilities/${encodeURIComponent(t)}:install`,{},{allowCodes:[Ik]});const s=Date.now()+Pk;let o=await this.getCapability(t);for(n?.(o);o.install.running&&Date.now()[u,p.map(Xl)])):void 0;return{items:o.items.map(Xl),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 oo(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(Go)}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 Go(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 Go(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(dy)}async listProviders(){return(await this.http.get("/providers")).items.map(vi)}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 vi(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 fa(n)}async refreshAllProviders(){const t=await this.http.post("/providers:refresh");return fa(t)}async refreshOAuthProviderModels(){const t=await this.http.post("/providers:refresh_oauth");return fa(t)}async browseCatalogProviders(t){return(await this.http.get("/catalog/providers",{query:t})).items.map(fy)}async importCatalogProvider(t){const n=await this.http.post("/providers:import_catalog",Xy(t));return{provider:vi(n.provider),modelsImported:n.models_imported}}async importRegistry(t){const n=await this.http.post("/providers:import_registry",Jy(t));return{providers:n.providers.map(vi),modelsImported:n.models_imported}}async getConfig(){const t=await this.http.get("/config");return La(t)}async setConfig(t){const n={},s={providers:"providers",defaultProvider:"default_provider",defaultModel:"default_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 La(o)}async getAuth(){const t=await this.http.get("/auth");return{ready:t.ready,providersCount:t.providers_count,defaultModel:t.default_model,managedProvider:t.managed_provider?{status:t.managed_provider.status}:null}}async startOAuthLogin(){const t=await this.http.post("/oauth/login",{});return t.status==="authenticated"?{flowId:t.flow_id,provider:t.provider,status:"authenticated"}:{flowId:t.flow_id,provider:t.provider,status:"pending",verificationUri:t.verification_uri,verificationUriComplete:t.verification_uri_complete,userCode:t.user_code,expiresIn:t.expires_in,interval:t.interval,expiresAt:t.expires_at}}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 oo(this.config.serverHttpUrl,`/files/${encodeURIComponent(t)}`)}async getFileBlob(t){return this.http.getBlob(`/files/${encodeURIComponent(t)}`)}connectEvents(t){const n=tp(this.config.serverHttpUrl,this.config.clientId),s=Py();let o=!1;const i=new Map;function u(g){let m=i.get(g);return m||(m={projector:lk(g),watermarks:new ik,armed:!1},i.set(g,m)),m}function p(g,m){const M=u(g),h=[];for(const y of m)h.push(...vk([y],g)),h.push(...M.projector.project([y]));return h}const f=(g,m,M)=>{(async()=>{try{const h=await ak({baseUrl:this.config.serverHttpUrl,sessionId:g,agentId:m,sinceSeq:M.watermarks.get(g,m),token:si()});for(const y of h.batches){M.watermarks.set(g,m,y.seq);for(const k of p(g,y.ops))t.onEvent(k,{sessionId:g,seq:y.seq})}h.complete||(M.projector.reset(),t.onResync(g,0))}catch{M.projector.reset(),t.onResync(g,0)}})()};function v(g,m){const M=g;if(!M||typeof M.agent_id!="string"||!Array.isArray(M.ops))return;const h=M.agent_id,y=u(m);y.armed=!0;const k=typeof M.seq=="number"?M.seq:void 0;if(k!==void 0&&y.watermarks.advance(m,h,k)){f(m,h,y);return}for(const T of p(m,M.ops))t.onEvent(T,{sessionId:m,seq:k??0});k!==void 0&&(y.watermarks.set(m,h,k),x.updateTranscriptSince(m,h,k))}function w(g,m){const M=u(m);M.armed=!0,M.projector.reset(),M.watermarks.clear(m),t.onResync(m,0)}const x=new Mk(n,this.config.clientId,{onWireEvent:g=>{const m=hy(g),M=gy(g),h=cy(g);h.type==="historyCompacted"&&!mr(h.reason)&&t.onResync(h.sessionId,h.beforeSeq),t.onEvent(h,{sessionId:m,seq:M})},onRawAgentEvent:g=>{if(o&&i.get(g.session_id)?.armed===!0&&mk(g.type))return;const{type:m,seq:M,session_id:h,payload:y,offset:k}=g,T=s.project(m,y,h,{offset:k});for(const S of T){const O=y?.turnId,D=S.type==="assistantDelta"&&typeof O=="number"&&typeof k=="number"&&(m==="assistant.delta"||m==="thinking.delta")?{turnId:O,offset:k,kind:m==="assistant.delta"?"text":"thinking"}:void 0;S.type==="historyCompacted"&&!mr(S.reason)&&t.onResync(h,M),t.onEvent(S,{sessionId:h,seq:M,stream:D})}},onResync:(g,m,M)=>{s.reset(g),t.onResync(g,m,M)},onTranscriptOps:(g,m)=>{v(g,m)},onTranscriptReset:(g,m)=>{w(g,m)},onConnectionState:g=>{t.onConnectionChange(g)},onError:(g,m,M)=>{t.onError(g,m,M)},onTerminalOutput:(g,m,M,h)=>{t.onTerminalOutput?.(g,m,M,h)},onTerminalExit:(g,m,M)=>{t.onTerminalExit?.(g,m,M)}});return x.connect(),{subscribe(g,m){if(x.subscribe(g,m??{seq:0}),o){const M=u(g);x.subscribeTranscript(g,{main:"delta"},{main:M.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 M=u(m);x.subscribeTranscript(m,{main:"delta"},{main:M.watermarks.get(m,"main")})}},seedSnapshot(g,m){if(m.inFlightTurn===null){s.reset(g);return}const M=s.seedInFlight(g,m.inFlightTurn);for(const h of M)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,M){x.terminalAttach(g,m,M)},terminalInput(g,m,M){x.terminalInput(g,m,M)},terminalResize(g,m,M,h){x.terminalResize(g,m,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 fa(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 vr;function Te(){return vr??=new Lk(Cu()),vr}function hr(e){if(typeof e!="object"||e===null)return!1;const t=e.name;return t==="TimeoutError"||t==="AbortError"}function Qu(e){return hr(e)?!0:typeof e!="object"||e===null?!1:hr(e.cause)}const za=new Set;function Bk(e){return za.add(e),()=>{za.delete(e)}}function Rk(e){for(const t of za)try{t(e)}catch(n){console.warn("pluginEvent listener failed",n)}}const Ok=3;function Dk(e){return e===void 0||!e.done&&e.attempts0?t[t.length-1]:e}const qk=/^(?:[A-Za-z]:[\\/]|\\\\|\/\/)/;function es(e){const t=e.replaceAll("\\","/"),n=qk.test(t),s=t.replace(/\/+$/,"");return n?s.toLowerCase():s}function Wk(e,t){const n=es(t.cwd);return e.find(s=>es(s.root)===n)?.id??t.workspaceId??t.cwd}function Hk(e){const{workspaces:t,sessions:n,hiddenWorkspaceRoots:s,sessionsHasMoreByWorkspace:o}=e,i=new Set(s.map(es)),u=new Map;for(const x of t){const g=es(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=es(g);i.has(m)||u.has(m)||u.set(m,{id:x.workspaceId??g,root:g,name:Nk(g),sessionCount:0})}const p=new Map;for(const x of n){const g=Wk(t,x);p.set(g,(p.get(g)??0)+1)}const f=[];for(const x of t){const g=es(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 w=[];for(const x of[...f,...v]){const g=u.get(x),m=p.get(g.id)??p.get(g.root)??0,M=o[g.id]===!1?m:Math.max(g.sessionCount,m);w.push({...g,sessionCount:M})}return w}function cs(e,t){e.modeVersionBySession={...e.modeVersionBySession??{},[t]:(e.modeVersionBySession?.[t]??0)+1}}function Uk(e,t,n){return(e.modeVersionBySession?.[t]??0)===n}function Vk(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 gr(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 w=f.status==="running"&&v.status!=="running";return{...f,status:f.status==="running"?v.status:f.status,subagentPhase:w?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 jk(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 Kk(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 yr=2e3,kr=100,Yu=80,Zu=24;function br(e){return{...e,lines:[],history:[],attached:!1,pendingTail:"",lastSeq:0}}function Gk(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 Qk(){const e=I(void 0),t=I([]),n=I({}),s=I(null),o=I(!1),i=I(null);let u=null;const p=_(()=>{const E=s.value;return E===null?null:n.value[E]??null}),f=_(()=>p.value?.lines.join(`
+`)??"");function v(E){const R=n.value[E];if(R!==void 0)return R;const q=t.value.find(b=>b.id===E),V=br(q??{id:E,sessionId:e.value??"",cwd:"",shell:"",cols:Yu,rows:Zu,status:"running",createdAt:""});return n.value[E]=V,V}function w(E){if(e.value===E)return;const R=e.value;if(R!==void 0&&u!==null)for(const q of Object.values(n.value))q.attached&&u.terminalDetach(R,q.id);e.value=E,t.value=[],n.value={},s.value=null,o.value=!1,i.value=null}function x(E){t.value=E;const R=new Set(E.map(q=>q.id));for(const[q,V]of Object.entries(n.value)){if(!R.has(q)){delete n.value[q];continue}const b=E.find(P=>P.id===q);b&&Object.assign(V,b)}s.value!==null&&!R.has(s.value)&&(s.value=E[0]?.id??null)}function g(E){const R=t.value.findIndex(V=>V.id===E.id);R===-1?t.value.push(E):t.value.splice(R,1,E);const q=n.value[E.id];q!==void 0?Object.assign(q,E):n.value[E.id]=br(E)}function m(E){n.value[E]?.attached&&e.value!==void 0&&u!==null&&u.terminalDetach(e.value,E),delete n.value[E];const q=t.value.findIndex(V=>V.id===E);if(q!==-1&&t.value.splice(q,1),s.value===E){const V=t.value[q]??t.value[t.value.length-1];s.value=V?.id??null}}function M(E){const R=v(E);if(R.attached)return;R.attached=!0;const q=e.value;q!==void 0&&u!==null&&u.terminalAttach(q,E,R.lastSeq)}function h(E){const R=n.value[E];if(R===void 0||!R.attached)return;R.attached=!1;const q=e.value;q!==void 0&&u!==null&&u.terminalDetach(q,E)}function y(E,R){const q=Gk(R).split(`
+`),V=q[0]??"";E.pendingTail+=V;for(let b=1;byr&&E.lines.splice(0,E.lines.length-yr)}function k(E,R,q,V){if(e.value===void 0||e.value!==E)return;const b=v(R);V<=b.lastSeq||(b.lastSeq=V,y(b,q))}function T(E,R,q){if(e.value===void 0||e.value!==E)return;const V=v(R);V.status!=="exited"&&(V.status="exited",V.exitCode=q)}function S(E,R){const q=R.trim();if(q.length===0)return"";const V=v(E);V.history.at(-1)!==q&&(V.history.push(q),V.history.length>kr&&V.history.splice(0,V.history.length-kr));const b=e.value;return b!==void 0&&u!==null&&V.status!=="exited"&&u.terminalInput(b,E,`${q}
+`),q}function O(E,R,q){const V=v(E);V.cols=R,V.rows=q;const b=e.value;b!==void 0&&u!==null&&u.terminalResize(b,E,R,q)}function D(E){u=E;const R=e.value;if(R!==void 0)for(const q of Object.values(n.value))q.attached&&E.terminalAttach(R,q.id,q.lastSeq)}return{sessionId:e,terminals:t,activeId:s,loading:o,error:i,active:p,activeLines:f,entryOf:v,setSession:w,setLoading:E=>{o.value=E},setError:E=>{i.value=E},syncTerminals:x,upsertTerminal:g,removeTerminal:m,setActive:E=>{s.value=E},attach:M,detach:h,handleOutput:k,handleExit:T,submitInput:S,resize:O,bindTransport:D}}const Yk=new Set(["assistantDelta","agentDelta","toolOutput","taskProgress"]);function Zk(e){return Yk.has(e.type)}const Xk=50,Jk=100,Fa=32*1024,e2={requestFrame(e){return typeof requestAnimationFrame=="function"?requestAnimationFrame(e):null},cancelFrame(e){typeof cancelAnimationFrame=="function"&&cancelAnimationFrame(e)},requestTask(e){return setTimeout(e,Xk)},cancelTask(e){clearTimeout(e)}};function t2(e,t,n={}){const s=n.scheduler??e2,o=Math.max(1,Math.floor(n.maxItemsPerSlice??Jk)),i=[];let u=0,p=null,f=null,v=0,w=!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 M;const h=()=>{if(w||p!==null||f!==null||x()===0)return;const k=++v,T=()=>{k===v&&M()};p=s.requestFrame(T),f=s.requestTask(T)};M=()=>{g();let k=0;for(;!w&&k{if(!w){if(t(k)){const T=i.length>u?i.at(-1):void 0,S=T===void 0?void 0:n.coalesce?.(T,k);S===void 0?i.push(k):i[i.length-1]=S,h();return}if(x()===0){e(k);return}i.push(k),M()}});return y.flush=()=>{if(!w){for(g();!w&&u{if(w||x()===0)return;let T=u;for(let S=u;S{w||(w=!0,g(),i.length=0,u=0)},y}function Na(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 n2(e){if(e.appEvent.type!=="assistantDelta")return[e];const t=e.appEvent,n=e.meta.stream,s=Na(t);if(n===void 0||s===void 0||n.kind!==s.kind||s.value.length<=Fa)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 s2(e,t){if(e.appEvent.type!=="assistantDelta"||t.appEvent.type!=="assistantDelta")return;const n=e.meta.stream,s=t.meta.stream,o=Na(e.appEvent),i=Na(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>Fa)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 Xu=["blue","mono"],Ju=["light","dark","system"],ec=14,o2=12,i2=20;function a2(){const e=It(We.accent);return e&&Xu.includes(e)?e:"blue"}function l2(e){typeof document>"u"||!document.documentElement||(document.documentElement.dataset.accent=e)}function r2(){const e=It(We.colorScheme);return e&&Ju.includes(e)?e:"system"}function u2(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 cl(e){return Number.isFinite(e)?Math.min(i2,Math.max(o2,Math.round(e))):ec}function c2(){const e=It(We.uiFontSize);return e===null?ec:cl(Number(e))}function d2(e){typeof document>"u"||!document.documentElement||document.documentElement.style.setProperty("--base-ui-font-size",`${cl(e)}px`)}const dl=I(r2()),pl=I(a2()),fl=I(c2());Oe(dl,u2,{immediate:!0});Oe(pl,l2,{immediate:!0});Oe(fl,d2,{immediate:!0});function p2(e){Ju.includes(e)&&(dl.value=e,Bt(We.colorScheme,e))}function f2(e){Xu.includes(e)&&(pl.value=e,Bt(We.accent,e))}function m2(e){const t=cl(e);fl.value=t,Bt(We.uiFontSize,String(t))}const v2=600,h2=250,ji=250,g2=1e3,y2=160,Li=I(!1);let so=[],io=null,Bi=-ji;function k2(){so=[],Bi=-ji,Li.value=!1,io!==null&&(clearTimeout(io),io=null)}function b2(){Li.value=!0,io!==null&&clearTimeout(io),io=setTimeout(()=>{io=null,so=[],Bi=-ji,Li.value=!1},g2)}function w2(e){if(e<=0)return;const t=Date.now();so.push({time:t,chars:e});const n=t-v2;if(so=so.filter(p=>p.time>=n),t-Bip+f.chars,0)/o*1e3>=y2&&b2()}function tc(){return{colorScheme:dl,accent:pl,uiFontSize:fl,fastMoon:Li,setColorScheme:p2,setAccent:f2,setUiFontSize:m2,resetFastMoon:k2,recordMoonDelta:w2}}function S2(e,t,n){return e==="idle"&&!t&&!n}function ml(e,t){const n=It(e);return n===null?t:n==="1"}const vl=I(ml(We.notifyOnComplete,!0)),hl=I(ml(We.notifyOnQuestion,!1)),gl=I(ml(We.notifyOnApproval,!1)),yl=I(typeof Notification<"u"?Notification.permission:"denied"),C2="/favicon.ico";async function kl(e,t,n){if(!n){e.value=!1,Bt(t,"0");return}if(typeof Notification>"u")return;let s=Notification.permission;if(s==="default")try{s=await Notification.requestPermission()}catch{}yl.value=s,s==="granted"&&(e.value=!0,Bt(t,"1"))}function _2(e){return kl(vl,We.notifyOnComplete,e)}function $2(e){return kl(hl,We.notifyOnQuestion,e)}function M2(e){return kl(gl,We.notifyOnApproval,e)}function bl(...e){for(const t of e){const n=t?.trim();if(n)return n}return""}function x2(e){return{title:pt.global.t("settings.notifyTitle"),body:bl(e,pt.global.t("settings.notifyFallback"))}}function I2(e,t){return{title:pt.global.t("settings.notifyQuestionTitle"),body:bl(t,e,pt.global.t("settings.notifyQuestionFallback"))}}function A2(e,t){return{title:pt.global.t("settings.notifyApprovalTitle"),body:bl(t,e,pt.global.t("settings.notifyApprovalFallback"))}}function wl(e,t,n,s){if(!e||typeof Notification>"u")return;const o=Notification.permission;if(o!=="denied"){if(o==="default"){Notification.requestPermission().then(i=>{yl.value=i,i==="granted"&&wr(t,n,s)});return}wr(t,n,s)}}function wr(e,t,n){if(!e.isUserWatching)try{const s=new Notification(t.title,{body:t.body,tag:n,icon:C2});s.onclick=()=>{try{window.focus()}catch{}e.onClick(),s.close()}}catch{}}function T2(e,t){wl(vl.value,t,x2(t.sessionTitle),`kimi-complete-${e}-${t.promptId??Date.now()}`)}function P2(e){wl(hl.value,e,I2(e.sessionTitle,e.questionPreview),`kimi-question-${e.questionId}`)}function E2(e){wl(gl.value,e,A2(e.sessionTitle,e.toolName),`kimi-approval-${e.approvalId}`)}function L2(){return{notifyOnComplete:vl,notifyOnQuestion:hl,notifyOnApproval:gl,notifyPermission:yl,setNotifyOnComplete:_2,setNotifyOnQuestion:$2,setNotifyOnApproval:M2,maybeNotifyCompletion:T2,maybeNotifyQuestion:P2,maybeNotifyApproval:E2}}function B2(){return It(We.soundOnComplete)==="1"}const Oo=I(B2());function R2(){if(typeof window>"u")return;const e=window;return window.AudioContext??e.webkitAudioContext}let ma=null;function nc(){const e=R2();if(!e)return null;if(ma===null)try{ma=new e}catch{return null}return ma}function sc(){if(!Oo.value)return;const e=nc();e!==null&&e.state==="suspended"&&e.resume().then(()=>{As("sound: audio context resumed",{state:e.state})},t=>{As("sound: audio context resume rejected",{error:String(t)})})}let Sr=!1;function O2(){if(Sr||typeof window>"u")return;Sr=!0;const e=()=>{sc()};window.addEventListener("pointerdown",e,{capture:!0}),window.addEventListener("keydown",e,{capture:!0})}O2();function D2(e){Oo.value=e,Bt(We.soundOnComplete,e?"1":"0"),e&&sc()}function Cr(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 Sl(){const e=nc();if(e===null){As("sound: skipped, AudioContext unavailable");return}if(e.state!=="running"){As("sound: skipped, context not running",{state:e.state}),e.state==="suspended"&&e.resume().then(()=>{As("sound: context resumed for next time",{state:e.state})},t=>{As("sound: resume rejected",{error:String(t)})});return}try{Cr(e,880,0,.16,.18),Cr(e,1320,.1,.22,.16),As("sound: chime scheduled",{state:e.state})}catch(t){As("sound: failed to play",{error:String(t)})}}function z2(){Oo.value&&Sl()}function F2(){Oo.value&&Sl()}function N2(){Oo.value&&Sl()}function q2(){return{soundOnComplete:Oo,setSoundOnComplete:D2,maybePlayCompletionSound:z2,maybePlayQuestionSound:F2,maybePlayApprovalSound:N2}}const W2=1e3,H2=4096,_r=32*1024;function U2(e,t){let n=null,s;const o=new Set;async function i(g){try{const M=await Te().listTasks(g);e.tasksBySession={...e.tasksBySession,[g]:gr(M,e.tasksBySession[g]??[])},await u(g,M)}catch{}}async function u(g,m){if(e.activeSessionId!==g)return;const M=m??e.tasksBySession[g]??[],h=Te(),y=new Map;if(await Promise.all(M.map(async T=>{if((T.status==="completed"||T.status==="failed"||T.status==="cancelled")&&!o.has(T.id)&&!((T.outputLines?.length??0)>0))try{const O=await h.getTask(g,T.id,{withOutput:!0,outputBytes:_r});O.outputPreview!==void 0&&y.set(T.id,{preview:O.outputPreview,bytes:O.outputBytes}),o.add(T.id)}catch{}})),y.size===0)return;const k=e.tasksBySession[g]??[];e.tasksBySession={...e.tasksBySession,[g]:k.map(T=>{const S=y.get(T.id)??(T.backgroundTaskId!==void 0?y.get(T.backgroundTaskId):void 0);return S?{...T,outputPreview:S.preview,outputBytes:S.bytes}:T})}}async function p(g){if(e.activeSessionId!==g)return;const m=Te();let M;try{M=await m.listTasks(g)}catch{return}const h=new Map;await Promise.all(M.map(async S=>{const O=S.status==="running",D=S.status==="completed"||S.status==="failed"||S.status==="cancelled";if(!(!O&&!D)&&!(D&&(o.has(S.id)||(S.outputLines?.length??0)>0)))try{const E=await m.getTask(g,S.id,{withOutput:!0,outputBytes:O?H2:_r});E.outputPreview!==void 0&&h.set(S.id,{preview:E.outputPreview,bytes:E.outputBytes}),D&&o.add(S.id)}catch{}}));const y=e.tasksBySession[g]??[],k=new Map(y.map(S=>[S.id,S])),T=M.map(S=>{const O=k.get(S.id),D=h.get(S.id);return{...S,outputLines:O?.outputLines,text:O?.text,outputPreview:D?.preview??O?.outputPreview,outputBytes:D?.bytes??O?.outputBytes}});e.tasksBySession={...e.tasksBySession,[g]:gr(T,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())},W2))}function v(){n!==null&&(clearInterval(n),n=null),s=void 0,o.clear()}const w=I(0);let x=null;return Oe(()=>t.value.some(g=>g.status==="running"),g=>{g&&x===null?x=setInterval(()=>{w.value=(w.value+1)%Number.MAX_SAFE_INTEGER},1e3):!g&&x!==null&&(clearInterval(x),x=null)},{immediate:!0}),Oe(()=>{const g=e.activeSessionId;if(!g)return{sid:void 0,hasRunning:!1};const m=e.tasksBySession[g]??[];return{sid:g,hasRunning:m.some(M=>M.status==="running")}},({sid:g,hasRunning:m},M,h)=>{let y;m&&g!==void 0?f(g):g!==void 0?y=setTimeout(()=>{(e.tasksBySession[g]??[]).some(T=>T.status==="running")||v()},1500):v(),h(()=>{y!==void 0&&clearTimeout(y)})},{deep:!0,immediate:!0}),{taskClock:_(()=>w.value),loadTasksForSession:i}}function Ki(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 oc(e){return e?.supportEfforts??[]}function V2(e){return e[Math.floor(e.length/2)]}function Zo(e){if(Ki(e)==="unsupported")return"off";const t=oc(e);return t.length>0?e?.defaultEffort??V2(t):"on"}function Gi(e){const t=oc(e),n=Ki(e);return t.length>0?n==="always-on"?[...t]:["off",...t]:n==="always-on"?["on"]:n==="unsupported"?["off"]:["on","off"]}function qa(e){return e.length===0?e:e.charAt(0).toUpperCase()+e.slice(1)}function j2(e){return e!=="off"}function K2(e,t){return Gi(e).includes(t)}function Cl(e,t){return t==="off"?"off":t==="on"?Zo(e):t}function Xo(e,t){return t??Zo(e)}function G2(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 Q2(e,t,n){return!n||e===void 0?t:Zo(e)}const fs=I(null),To=I(!1);function _l(e){const t=fs.value;!t||To.value||(fs.value=null,t.resolve(e))}async function Y2(){const e=fs.value;if(!(!e||To.value)){if(!e.action){_l(!0);return}To.value=!0;try{await e.action(),fs.value===e&&(fs.value=null),e.resolve(!0)}catch(t){fs.value===e&&(fs.value=null),e.reject(t)}finally{To.value=!1}}}function Z2(e){return To.value?Promise.resolve(!1):(fs.value&&_l(!1),new Promise((t,n)=>{fs.value={...e,resolve:t,reject:n}}))}function go(){return{current:fs,busy:To,confirm:Z2,settle:_l,runAction:Y2}}function X2(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 J2(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&&X2(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 ic(e){return e.planArmed||e.planMode}function eb(e){return{planMode:e.planMode||e.planArmed,planArmed:!1}}function tb(e){return{planMode:!1,planArmed:!1}}const Wa="/sessions/";function $r(e){const{pathname:t}=e;if(!t.startsWith(Wa))return;const n=t.slice(Wa.length);if(!(!n||n.includes("/")))try{const s=decodeURIComponent(n);return s.length>0?s:void 0}catch{return}}function nb(e){return e===void 0||e.length===0?"/":`${Wa}${encodeURIComponent(e)}`}const sb=50,Ha=5,ob=40402,ib=40410,ab=40902,lb=2e3;function va(e){return Mn(e)&&e.code===ab}const rb=40904;function ub(e){return Mn(e)&&e.code===rb}const cb=41301,db=413;function pb(e){return Mn(e)?e.code===cb||e.code===db:!1}const Zs=Bn({}),bi=Bn({}),ha=Bn({}),us=Bn(new Set),Qi=new Map,co=new Map,Ri=new Map;let fb=0;const Js=new Map,mb=3;let Mr=0;function vb(){return Mr+=1,`${Date.now().toString(36)}-${Mr}`}function hb(e){return{generation:Qi.get(e)??0,pending:(co.get(e)?.size??0)>0}}function Ua(e){const t=++fb;Qi.set(e,t);const n=co.get(e)??new Set;return n.add(t),co.set(e,n),t}function Va(e,t){const n=co.get(e);if(n===void 0||(n.delete(t),n.size>0))return;co.delete(e);const s=Ri.get(e);Ri.delete(e),s?.()}function gb(e){Qi.delete(e),co.delete(e),Ri.delete(e),Js.delete(e)}function yb(e,t){return!t.pending&&t.generation===(Qi.get(e)??0)}function kb(e,t){if((co.get(e)?.size??0)===0){t();return}Ri.set(e,t)}function bb(e,t){const{t:n}=pt.global,{confirm:s}=go(),{taskPoller:o,sideChat:i,modelProvider:u,pushOperationFailure:p,activity:f,sessionsKnownEmpty:v,setSessions:w,updateSession:x,upsertSessionFront:g,appendSession:m,forgetSession:M,setActiveSessionId:h,updateSessionMessages:y,nextOptimisticMsgId:k,getEventConn:T,syncSessionFromSnapshot:S,reopenSession:O,hasLoadedMessages:D,refreshSessionStatus:E,refreshSessionGoal:R,persistSessionProfile:q,mergedWorkspaces:V,workspacesView:b,status:P,workspaceIdForSession:L,savePermissionToStorage:ne,savePlanModeToStorage:oe,savePlanArmedToStorage:ge,saveSwarmModeToStorage:Se,saveSupermoonModeToStorage:Q,saveGoalModeToStorage:ie,draftModes:X,saveUnread:fe,saveActiveWorkspaceToStorage:Ce,saveHiddenWorkspacesToStorage:_e,goalErrorMessage:Z,resetFastMoon:U,initialized:ye,connectIssue:ae,selectedDiffPath:te,fileDiffLines:ce,fileDiffLoading:Be}=t;let Y=!1;async function ve(C){if(e.messagesLoadingMoreBySession[C])return;const z=e.messagesBySession[C];if(!z||z.length===0)return;const W=z[0].id;e.messagesLoadingMoreBySession={...e.messagesLoadingMoreBySession,[C]:!0},e.messagesLoadMoreErrorBySession={...e.messagesLoadMoreErrorBySession,[C]:!1};try{const ue=await Te().listMessages(C,{beforeId:W,pageSize:sb}),ke=[...ue.items].reverse();y(C,$e=>[...ke,...$e]),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 B(C){o.loadTasksForSession(C),He(C),E(C),R(C),Object.prototype.hasOwnProperty.call(u.skillsBySession.value,C)||u.loadSkillsForSession(C)}async function J(C){const z=e.activeSessionId;if(z){te.value=C,ce.value=[],Be.value=!0;try{const ue=await Te().getFileDiff(z,C);if(te.value!==C)return;ce.value=J2(ue.diff)}catch(W){te.value===C&&(ce.value=[]),console.warn("[loadFileDiff] diff unavailable for",C,W)}finally{te.value===C&&(Be.value=!1)}}}function me(){te.value=null,ce.value=[],Be.value=!1}async function He(C){try{const W=await Te().getGitStatus(C);e.gitStatusBySession={...e.gitStatusBySession,[C]:W}}catch{}}async function De(){try{const z=await Te().getAuth();return e.authReady=z.ready,e.defaultModel=z.defaultModel,e.managedProviderStatus=z.managedProvider?.status??null,ae.value=null,"proceed"}catch(C){return Mn(C)&&(C.code===401||C.code===Ku)?(ae.value=null,"server-auth-required"):(ae.value=(C instanceof Error?C.message:String(C)).slice(0,140),"retry")}}async function an(){let C=!0;for(;;){const z=await De();if(z!=="retry")return z;C&&(ae.value=null,C=!1),await new Promise(W=>{setTimeout(W,lb)})}}async function Fe(){try{const C=Te();e.config=await C.getConfig()}catch{}}async function Ze(C){try{const W=await Te().setConfig(C);return e.config=W,e.defaultModel=W.defaultModel??null,!0}catch(z){return p("setConfig",z),!1}}const Ve=100,At=30,bt=720*60*1e3;async function Ct(){const C=Te(),z=[];let W,ue;for(;;){let ke;try{ke=await C.listSessions({pageSize:Ve,beforeId:W,excludeEmpty:!0})}catch($e){if(z.length===0)throw $e;ue=$e;break}if(z.push(...ke.items),!ke.hasMore||ke.items.length===0)break;W=ke.items[ke.items.length-1].id}return{sessions:z,error:ue}}function dn(C){const z=new Map(e.sessions.map(W=>[W.id,W.usage]));w(C.map(W=>{const ue=z.get(W.id);return ue!==void 0&&Pa(W.usage)&&!Pa(ue)?{...W,usage:ue}:W}))}function Kt(C){const z=[...C],W=new Set(z.map(ue=>ue.id));for(const ue of e.sessions)W.has(ue.id)||(z.push(ue),W.add(ue.id));return z.sort((ue,ke)=>new Date(ke.updatedAt).getTime()-new Date(ue.updatedAt).getTime()),z}async function zt(C){const z=Te(),W=[],ue=Date.now(),ke=et=>ue-new Date(et.updatedAt).getTime();let $e,Ye=!1,it=!0,mt;for(;;){let et;try{et=await z.listSessions({workspaceId:C,pageSize:Ha,beforeId:$e,excludeEmpty:!0})}catch(Qe){if(it)throw Qe;mt=Qe,Ye=!0;break}if(Ye=et.hasMore,et.items.length===0)break;const Mt=et.items[et.items.length-1],Sn=ke(Mt)>=bt;if(!it&&Sn){const Qe=et.items.findIndex(jt=>ke(jt)>=bt),Xe=Qe>=0?Qe+1:et.items.length;W.push(...et.items.slice(0,Xe)),Ye=et.hasMore||Xezt(Qe.id))),W=[],ue=new Set,ke=new Map,$e=new Set;let Ye;for(let Qe=0;Qe$e.has(Qe.id)).map(Qe=>Qe.root)),mt=new Set(C.map(Qe=>Qe.id));for(const Qe of e.sessions)!(Qe.workspaceId!==void 0&&mt.has(Qe.workspaceId)?$e.has(Qe.workspaceId):it.has(Qe.cwd)||$e.has(L(Qe)))||ue.has(Qe.id)||(W.push(Qe),ue.add(Qe.id));const et={},Mt={},Sn={};for(const{id:Qe}of C){const Xe=ke.get(Qe);if(Xe===void 0){const jt=e.sessionsHasMoreByWorkspace[Qe],St=e.sessionsCursorByWorkspace[Qe],ln=e.sessionsInitialCountByWorkspace[Qe];jt!==void 0&&(et[Qe]=jt),St!==void 0&&(Mt[Qe]=St),ln!==void 0&&(Sn[Qe]=ln);continue}et[Qe]=Xe.hasMore,Mt[Qe]=Xe.items.length>0?Xe.items[Xe.items.length-1].id:void 0,Sn[Qe]=Math.max(Xe.items.length,Ha)}return e.sessionsHasMoreByWorkspace=et,e.sessionsCursorByWorkspace=Mt,e.sessionsInitialCountByWorkspace=Sn,e.sessionsFullyLoaded=!1,W.sort((Qe,Xe)=>new Date(Xe.updatedAt).getTime()-new Date(Qe.updatedAt).getTime()),$e.size>0&&p("load",Ye),W}async function nn(C){if(e.sessionsLoadingMoreByWorkspace[C]||e.sessionsHasMoreByWorkspace[C]===!1)return;const z=e.sessionsCursorByWorkspace[C];if(z!==void 0){e.sessionsLoadingMoreByWorkspace={...e.sessionsLoadingMoreByWorkspace,[C]:!0};try{const W=await Te().listSessions({workspaceId:C,pageSize:At,beforeId:z,excludeEmpty:!0}),ue=new Set(e.sessions.map($e=>$e.id)),ke=W.items.filter($e=>!ue.has($e.id));ke.length>0&&w([...e.sessions,...ke]),e.sessionsCursorByWorkspace={...e.sessionsCursorByWorkspace,[C]:W.items.length>0?W.items[W.items.length-1].id:z},e.sessionsHasMoreByWorkspace={...e.sessionsHasMoreByWorkspace,[C]:W.hasMore}}catch(W){p("loadMoreSessions",W)}finally{e.sessionsLoadingMoreByWorkspace={...e.sessionsLoadingMoreByWorkspace,[C]:!1}}}}async function ut(){if(e.sessionsFullyLoaded)return;const C=await Ct().catch(ue=>(console.warn("[kimi-web] loadAllSessions failed; search covers only loaded sessions",ue),null));if(C===null)return;const z=C.error===void 0?C.sessions:Kt(C.sessions);if(dn(z),e.sessionsFullyLoaded=C.error===void 0,C.error!==void 0)return;const W={};for(const ue of e.workspaces)W[ue.id]=!1;e.sessionsHasMoreByWorkspace=W}async function Ft(){const C=await Te().getMeta().catch(()=>null);C!==null&&(e.serverVersion=C.serverVersion,e.availableOpenInApps=C.openInApps,e.dangerousBypassAuth=C.dangerousBypassAuth,e.backend=C.backend)}async function In(){const C=Date.now();let z="accepted";Yt("app:load:start"),e.loading=!0;const W=!ye.value;let ue=!0;try{if(W&&await an()==="server-auth-required"){ue=!1,z="auth-required";return}const ke=Te();await Promise.all([ke.getHealth().catch(()=>null),Ft(),u.loadModels()]),W||await De(),await Fe(),await _t();const $e=await hs(),Ye=$e??e.sessions;$e!==void 0&&dn($e);const it=Ye[0],mt=e.activeWorkspaceId;!(mt!==null&&V.value.some(Sn=>Sn.id===mt))&&it&&Nt(L(it)),Wt();const Mt=typeof window<"u"?$r(window.location):void 0;!e.activeSessionId&&Mt!==void 0&&(e.sessions.some(Qe=>Qe.id===Mt)||await sn(Mt))&&await ct(Mt,{urlMode:"replace"}),!e.activeSessionId&&Ye.length>0&&await ct(Ye[0].id,{urlMode:"replace"})}catch(ke){z="failed",p("load",ke)}finally{e.loading=!1,ue&&(ye.value=!0),Yt("app:load:complete",{status:z,sessionId:e.activeSessionId,sessionCount:e.sessions.length,workspaceCount:e.workspaces.length,durationMs:Date.now()-C})}}async function _t(){try{const C=Te(),[z,W]=await Promise.all([C.listWorkspaces().catch(()=>[]),C.getFsHome().catch(()=>({home:"",recentRoots:[]}))]);e.workspaces=pn(z),e.fsHome=W.home||null,e.recentRoots=W.recentRoots}catch{}}function pn(C){const z=pi();return Object.keys(z).length===0?C:C.map(W=>{const ue=z[W.root];return ue!==void 0?{...W,name:ue}:W})}function Nt(C){e.activeWorkspaceId=C,Ce(C)}function gn(C){Nt(C);const z=e.sessions.filter(W=>L(W)===C);if(z.length>0){const W=z[0];W&&W.id!==e.activeSessionId&&ct(W.id)}else h(void 0),Rt(void 0,"push")}function Tt(C){const z=pi()[C.root],W=z!==void 0?{...C,name:z}:C,ue=es(W.root);e.hiddenWorkspaceRoots.some(Ye=>es(Ye)===ue)&&(e.hiddenWorkspaceRoots=e.hiddenWorkspaceRoots.filter(Ye=>es(Ye)!==ue),_e(e.hiddenWorkspaceRoots));const ke=e.workspaces.findIndex(Ye=>Ye.id===W.id||Ye.root===W.root);if(ke===-1){e.workspaces=[W,...e.workspaces];return}const $e=[...e.workspaces];$e[ke]=W,e.workspaces=$e}function fn(C){if(C.type==="workspaceCreated"||C.type==="workspaceUpdated"){Tt(C.workspace);return}const z=e.workspaces.find(ue=>ue.id===C.workspaceId)?.root??C.root;if(z&&!e.hiddenWorkspaceRoots.includes(z)&&(e.hiddenWorkspaceRoots=[...e.hiddenWorkspaceRoots,z],_e(e.hiddenWorkspaceRoots)),e.workspaces=e.workspaces.filter(ue=>ue.id!==C.workspaceId&&ue.root!==z),e.activeWorkspaceId===C.workspaceId||e.activeWorkspaceId===z){const ue=b.value[0]?.id??null;if(e.activeWorkspaceId=ue,ue)Ce(ue);else try{ro(We.activeWorkspace)}catch{}h(void 0),e.sessionLoading=!1,me(),Rt(void 0,"replace")}}function mn(){h(void 0),Rt(void 0,"push")}function Rn(C){Nt(C),mn(),me()}async function yn(C){const z=V.value.find(Mt=>Mt.id===C);if(!z)return null;const W=e.thinking,ue=Te();let ke,$e=z.root;try{const Mt=await ue.addWorkspace({root:z.root});ke=Mt.id,$e=Mt.root,Tt(Mt)}catch{}const Ye=u.draftModel.value??void 0,it=await ue.createSession({workspaceId:ke,cwd:$e,model:Ye});u.draftModel.value=null;const mt=Ye!==void 0&&(!it.model||it.model.length===0)?{...it,model:Ye}:it;g(mt),Nt(it.workspaceId??ke??C),await ct(it.id);const et=it.id;return W!==void 0&&(e.thinkingBySession={...e.thinkingBySession,[et]:W}),X.planMode?(e.planModeBySession={...e.planModeBySession,[et]:!0},oe(),cs(e,et)):e.config?.defaultPlanMode===!0&&!X.planModeTouched&&(e.planModeBySession={...e.planModeBySession,[et]:!0},oe(),cs(e,et)),X.swarmMode&&(e.swarmModeBySession={...e.swarmModeBySession,[et]:!0},Se(),cs(e,et)),X.supermoonMode&&(e.supermoonModeBySession={...e.supermoonModeBySession,[et]:!0},Q(),cs(e,et)),X.goalMode&&(e.goalModeBySession={...e.goalModeBySession,[et]:!0},ie()),X.planArmed&&(e.planArmedBySession={...e.planArmedBySession,[et]:!0},ge()),X.planMode=!1,X.planArmed=!1,X.swarmMode=!1,X.supermoonMode=!1,X.goalMode=!1,X.planModeTouched=!1,et}async function Gn(C,z,W){if(!us.has(C)){us.add(C);try{const ue=await yn(C);if(!ue)return;await lt(ue,z,W)}catch(ue){p("startSessionAndSendPrompt",ue)}finally{us.delete(C)}}}async function $t(C,z,W,ue){if(!us.has(C)){us.add(C);try{const ke=await yn(C);if(!ke)return;const $e=e.planModeBySession[ke]??!1,Ye=e.swarmModeBySession[ke]??!1,it=e.supermoonModeBySession[ke]??!1,mt=e.sessions.find(Sn=>Sn.id===ke),et=(mt?.model&&mt.model.length>0?mt.model:e.defaultModel)??void 0;if(!await q({model:et,planMode:$e,swarmMode:Ye,supermoonMode:it,permissionMode:e.permission},ke))return;await u.activateSkill(z,W,ke,ue)}catch(ke){p("startSessionAndActivateSkill",ke)}finally{us.delete(C)}}}async function Zt(C,z){if(!us.has(C)){us.add(C);try{const W=await yn(C);if(!W)return;await i.openSideChatOn(W,z)}catch(W){p("startSessionAndOpenSideChat",W)}finally{us.delete(C)}}}async function Gt(C){const z=C.trim();if(!z)return!1;const W=Te();try{const ue=await W.addWorkspace({root:z});return Tt(ue),Rn(ue.id),!0}catch(ue){return console.warn("[kimi-web] addWorkspaceByPath failed for",z,ue),!1}}async function kn(C){try{return await Te().browseFs(C)}catch{return{path:"",parent:null,entries:[]}}}async function An(){try{return await Te().getFsHome()}catch{return{home:"",recentRoots:[]}}}function Rt(C,z){if(z==="none"||typeof window>"u"||!window.history)return;const W=nb(C);if(window.location.pathname!==W)try{z==="push"?window.history.pushState(null,"",W):window.history.replaceState(null,"",W)}catch{}}async function sn(C){try{const z=await Te().getSession(C);return e.sessions.some(W=>W.id===z.id)||m(z),!0}catch{return!1}}function qt(){const C=$r(window.location);if(C===void 0){h(void 0);return}if(C!==e.activeSessionId){if(e.sessions.some(z=>z.id===C)){ct(C,{urlMode:"none"});return}(async()=>{if(await sn(C)){await ct(C,{urlMode:"none"});return}const z=e.sessions[0];z?await ct(z.id,{urlMode:"replace"}):(h(void 0),Rt(void 0,"replace"))})()}}let Xt=!1;function Wt(){Xt||typeof window>"u"||(Xt=!0,window.addEventListener("popstate",qt))}async function ct(C,z){const W=D(C),ue=!W&&v.has(C);v.delete(C);try{Rt(C,z?.urlMode??"push"),e.sessionLoading=!W&&!ue,h(C),U(),e.unreadBySession[C]&&(e.unreadBySession={...e.unreadBySession,[C]:!1},fe({[C]:!1})),me();const ke=e.sessions.find($e=>$e.id===C);if(ke){const $e=L(ke);e.activeWorkspaceId!==$e&&Nt($e)}if(W){if(await O(C)==="not-found")return}else if(await S(C)==="not-found")return;B(C)}catch(ke){p("selectSession",ke,{sessionId:C})}finally{e.activeSessionId===C&&(e.sessionLoading=!1)}}async function lt(C,z,W){const ue=Ua(C);e.inFlightBySession={...e.inFlightBySession,[C]:!0};const ke=k();try{const $e=Te(),Ye=[];z&&Ye.push({type:"text",text:z});for(const St of W??[])St.kind==="video"?Ye.push({type:"video",source:{kind:"file",fileId:St.fileId}}):St.kind==="file"?Ye.push({type:"file",fileId:St.fileId,name:St.name??"",mediaType:St.mediaType||"application/octet-stream",size:St.size??0}):Ye.push({type:"image",source:{kind:"file",fileId:St.fileId}});if(Ye.length===0)return e.inFlightBySession={...e.inFlightBySession,[C]:!1},"rejected";const it={id:ke,sessionId:C,role:"user",content:Ye,createdAt:new Date().toISOString(),metadata:{"kimiWeb.optimisticUserMessage":!0}};y(C,St=>[...St,it]);const mt=e.sessions.find(St=>St.id===C),et=(mt?.model&&mt.model.length>0?mt.model:e.defaultModel)??void 0,Mt=e.swarmModeBySession[C]??!1,Sn=e.supermoonModeBySession[C]??!1,Qe=e.goalModeBySession[C]??!1;if(Qe&&z){Dn(C);try{await $e.updateSession(C,{goalObjective:z.trim()})}catch(St){return p("createGoal",St,{sessionId:C}),e.inFlightBySession={...e.inFlightBySession,[C]:!1},y(C,ln=>ln.some(Pn=>Pn.id===ke)?ln.filter(Pn=>Pn.id!==ke):ln),"rejected"}}const Xe=en(C),jt=await $e.submitPrompt(C,{content:Ye,model:et,thinking:await u.resolveThinkingForPrompt(C,et)??e.thinking,permissionMode:e.permission,planMode:Xe,swarmMode:Mt,supermoonMode:Sn});return Qe&&(e.goalModeBySession={...e.goalModeBySession,[C]:!1},ie()),e.promptIdBySession={...e.promptIdBySession,[C]:jt.promptId},y(C,St=>{const ln=St.findIndex(yo=>yo.id===ke);if(ln===-1)return St;const Pn=[...St];return Pn[ln]={...Pn[ln],promptId:Pn[ln].promptId??jt.promptId},Pn}),T()?.bindNextPromptId(C,jt.promptId),"ok"}catch($e){return e.inFlightBySession={...e.inFlightBySession,[C]:!1},y(C,Ye=>Ye.some(it=>it.id===ke)?Ye.filter(it=>it.id!==ke):Ye),p("sendPrompt",$e,{sessionId:C}),Mn($e)?"rejected":"uncertain"}finally{Va(C,ue)}}async function on(C,z){const W=e.activeSessionId;if(W){if(f.value!=="idle"||e.inFlightBySession[W]){be(C,z);return}if((e.queuedBySession[W]?.length??0)>0){be(C,z),Ge(W);return}await lt(W,C,z)}}async function Jt(C,z){const W=e.activeSessionId;if(!W)return;const ue=e.queuedBySession[W]??[],ke=[],$e=[];for(const Xe of ue){const jt=Xe.text.trim();jt&&ke.push(jt),Xe.attachments?.length&&$e.push(...Xe.attachments)}const Ye=C.trim();if(Ye&&ke.push(Ye),z?.length&&$e.push(...z),ke.length===0&&$e.length===0)return;ue.length>0&&(e.queuedBySession={...e.queuedBySession,[W]:[]});const it=ke.join(`
+
+`),mt=()=>{if(ue.length===0)return;const Xe=e.queuedBySession[W]??[];e.queuedBySession={...e.queuedBySession,[W]:[...ue,...Xe]}};if(f.value==="idle"&&!e.inFlightBySession[W]){await lt(W,it,$e)==="rejected"&&mt();return}const et=[];it&&et.push({type:"text",text:it});for(const Xe of $e)Xe.kind==="video"?et.push({type:"video",source:{kind:"file",fileId:Xe.fileId}}):Xe.kind==="file"?et.push({type:"file",fileId:Xe.fileId,name:Xe.name??"",mediaType:Xe.mediaType||"application/octet-stream",size:Xe.size??0}):et.push({type:"image",source:{kind:"file",fileId:Xe.fileId}});const Mt=k(),Sn={id:Mt,sessionId:W,role:"user",content:et,createdAt:new Date().toISOString(),metadata:{"kimiWeb.optimisticUserMessage":!0}};y(W,Xe=>[...Xe,Sn]);const Qe=Ua(W);try{const Xe=Te(),jt=e.sessions.find(Pn=>Pn.id===W),St=(jt?.model&&jt.model.length>0?jt.model:e.defaultModel)??void 0,ln=await Xe.submitPrompt(W,{content:et,model:St,thinking:await u.resolveThinkingForPrompt(W,St)??e.thinking,permissionMode:e.permission,planMode:en(W),swarmMode:e.swarmModeBySession[W]??!1,supermoonMode:e.supermoonModeBySession[W]??!1});if(y(W,Pn=>{const yo=Pn.findIndex(Id=>Id.id===Mt);if(yo===-1)return Pn;const di=[...Pn];return di[yo]={...di[yo],promptId:di[yo].promptId??ln.promptId},di}),ln.status!=="queued"){e.promptIdBySession={...e.promptIdBySession,[W]:ln.promptId},T()?.bindNextPromptId(W,ln.promptId);return}try{await Xe.steerPrompts(W,[ln.promptId])}catch{}}catch(Xe){y(W,jt=>jt.filter(St=>St.id!==Mt)),Mn(Xe)&&mt(),p("steer",Xe,{sessionId:W})}finally{Va(W,Qe)}}async function we(C,z){try{const ue=await Te().uploadFile({file:C,name:z});return{fileId:ue.id,name:ue.name,mediaType:ue.mediaType}}catch(W){return p("uploadImage",W),null}}function be(C,z){const W=e.activeSessionId;if(!W)return;const ue=e.queuedBySession[W]??[],ke={text:C,attachments:z,id:vb()};e.queuedBySession={...e.queuedBySession,[W]:[...ue,ke]}}function Ge(C){const[z,...W]=e.queuedBySession[C]??[];z!==void 0&&(e.queuedBySession={...e.queuedBySession,[C]:W},lt(C,z.text,z.attachments).then(ue=>{if(ue==="ok"){Js.delete(C);return}if(ue==="uncertain"){Js.delete(C);return}if(!e.sessions.some(mt=>mt.id===C)){Js.delete(C);return}const ke=z.id??z.text,$e=Js.get(C),Ye=$e!==void 0&&$e.key===ke?$e.count+1:1;if(Ye>=mb){Js.delete(C),(e.queuedBySession[C]?.length??0)>0&&Ge(C);return}Js.set(C,{key:ke,count:Ye});const it=e.queuedBySession[C]??[];e.queuedBySession={...e.queuedBySession,[C]:[z,...it]}}))}function Je(C,z){const W=e.inFlightBySession[C]===!0;if(e.inFlightBySession={...e.inFlightBySession,[C]:!1},e.promptIdBySession[C]!==void 0){const ke={...e.promptIdBySession};delete ke[C],e.promptIdBySession=ke}return C===e.activeSessionId&&U(),(W||z?.turnWasActive===!0||(e.turnActiveBySession[C]??!1))&&Ge(C),W}function at(C,z){z.inFlightTurn!==null&&z.busy||Je(C)}async function Ht(){const C=e.activeSessionId;if(!C)return;const z=e.sessions.find(ke=>ke.id===C);let W=e.promptIdBySession[C];if(W===void 0){const ke=z?.currentPromptId;ke!==void 0&&ke.length>0&&!ke.startsWith("pr_")&&(W=ke)}const ue=Te();if(W!==void 0)try{if((await ue.abortPrompt(C,W)).aborted)return;const $e={...e.promptIdBySession};delete $e[C],e.promptIdBySession=$e}catch(ke){if(Mn(ke)&&ke.code===ob){const $e={...e.promptIdBySession};delete $e[C],e.promptIdBySession=$e}else{p("abortCurrentPrompt",ke,{sessionId:C});return}}try{await ue.abortSession(C)}catch(ke){p("abortCurrentPrompt",ke,{sessionId:C})}}function Qt(C,z){const W=e.approvalsBySession[C]??[];e.approvalsBySession={...e.approvalsBySession,[C]:W.filter(ue=>ue.approvalId!==z)}}function Pt(C,z){const W=e.questionsBySession[C]??[];e.questionsBySession={...e.questionsBySession,[C]:W.filter(ue=>ue.questionId!==z)}}async function Ut(C,z){const W=e.activeSessionId;if(W&&!bi[C]){bi[C]=!0;try{const ue=Te(),ke={decision:z.decision,scope:z.scope,feedback:z.feedback,selectedLabel:z.selectedLabel};await ue.respondApproval(W,C,ke),Qt(W,C)}catch(ue){va(ue)?Qt(W,C):p("respondApproval",ue,{sessionId:W})}finally{delete bi[C]}}}async function Vt(C,z){const W=e.activeSessionId;if(W&&!Zs[C]){Zs[C]="answer";try{await Te().respondQuestion(W,C,z),Pt(W,C)}catch(ue){va(ue)?Pt(W,C):p("respondQuestion",ue,{sessionId:W})}finally{delete Zs[C]}}}async function Tn(C){const z=e.activeSessionId;if(z&&!Zs[C]){Zs[C]="dismiss";try{await Te().dismissQuestion(z,C),Pt(z,C)}catch(W){va(W)?Pt(z,C):p("dismissQuestion",W,{sessionId:z})}finally{delete Zs[C]}}}async function gs(C){const z=e.activeSessionId;if(z&&!ha[C]){ha[C]=!0;try{const W=Te(),ue=(e.tasksBySession[z]??[]).find($e=>$e.id===C)?.backgroundTaskId;await W.cancelTask(z,ue??C);const ke=e.tasksBySession[z]??[];e.tasksBySession={...e.tasksBySession,[z]:ke.map($e=>$e.id===C?{...$e,status:"cancelled"}:$e)}}catch(W){ub(W)||p("cancelTask",W,{sessionId:z})}finally{delete ha[C]}}}function Wn(C){const z=e.activeSessionId;z?(e.planModeBySession={...e.planModeBySession,[z]:C},cs(e,z),oe(),q({planMode:C})):(X.planMode=C,X.planModeTouched=!0)}function bn(){const C=e.activeSessionId,z=C?e.planModeBySession[C]??!1:X.planMode;Wn(!z)}function ns(){const C=e.activeSessionId;C?(e.planArmedBySession={...e.planArmedBySession,[C]:!0},ge(),e.goalModeBySession[C]&&(e.goalModeBySession={...e.goalModeBySession,[C]:!1},ie())):(X.planArmed=!0,X.goalMode=!1)}function ss(){const C=e.activeSessionId,z=C?{planMode:e.planModeBySession[C]??!1,planArmed:e.planArmedBySession[C]??!1}:{planMode:X.planMode,planArmed:X.planArmed},W=tb();C?(z.planMode&&Wn(!1),z.planArmed&&(e.planArmedBySession={...e.planArmedBySession,[C]:!1},ge())):(z.planMode&&(X.planModeTouched=!0),X.planMode=W.planMode,X.planArmed=W.planArmed)}function On(){const C=e.activeSessionId,z=C?{planMode:e.planModeBySession[C]??!1,planArmed:e.planArmedBySession[C]??!1}:{planMode:X.planMode,planArmed:X.planArmed};ic(z)?ss():ns()}function en(C){const z={planMode:e.planModeBySession[C]??!1,planArmed:e.planArmedBySession[C]??!1},W=eb(z);return(W.planMode!==z.planMode||W.planArmed!==z.planArmed)&&(e.planModeBySession={...e.planModeBySession,[C]:W.planMode},e.planArmedBySession={...e.planArmedBySession,[C]:W.planArmed},cs(e,C),oe(),ge(),W.planMode!==z.planMode&&q({planMode:W.planMode},C)),W.planMode}function Dn(C){e.planModeBySession[C]&&(e.planModeBySession={...e.planModeBySession,[C]:!1},cs(e,C),oe(),q({planMode:!1},C)),e.planArmedBySession[C]&&(e.planArmedBySession={...e.planArmedBySession,[C]:!1},ge())}function Hn(C){const z=e.activeSessionId;z?(e.swarmModeBySession={...e.swarmModeBySession,[z]:C},cs(e,z),Se(),q({swarmMode:C})):X.swarmMode=C}async function Qn(){const C=e.activeSessionId,W=!(C?e.swarmModeBySession[C]??!1:X.swarmMode);W&&e.permission==="manual"&&!await s({title:n("workspace.swarmEnableConfirm"),variant:"primary"})||Hn(W)}function ys(C,z){e.supermoonModeBySession={...e.supermoonModeBySession,[z]:C},cs(e,z),Q(),C?zn(z):is(z),q({supermoonMode:C},z)}function vn(C){const z=e.activeSessionId;z?ys(C,z):X.supermoonMode=C}function os(){const C=e.activeSessionId,z=C?e.supermoonModeBySession[C]??!1:X.supermoonMode;vn(!z)}function zn(C){const z=u.models.value.find($e=>$e.id===P.value.modelId),W=z?.supportEfforts??[];if(W.length===0)return;const ue=W[W.length-1],ke=Xo(z,e.thinking);u.setThinking(ue),e.supermoonPreviousEffortBySession={...e.supermoonPreviousEffortBySession,[C]:ke}}function is(C){const z=e.supermoonPreviousEffortBySession[C];if(z===void 0)return;const W={...e.supermoonPreviousEffortBySession};delete W[C],e.supermoonPreviousEffortBySession=W;try{u.setThinking(z)}catch(ue){p("setSupermoonMode",ue,{sessionId:C})}}function as(C){const z=e.activeSessionId;z?(e.goalModeBySession={...e.goalModeBySession,[z]:C},ie(),C&&Dn(z)):(X.goalMode=C,C&&(X.planMode=!1,X.planModeTouched=!0,X.planArmed=!1))}function Es(){const C=e.activeSessionId,z=C?e.goalModeBySession[C]??!1:X.goalMode;as(!z)}async function ks(C){const z=C.trim();if(!z||e.permission==="manual"&&!await s({title:n("workspace.goalStartConfirm",{objective:z}),variant:"primary"}))return;let W=e.activeSessionId;if(!W){const ue=e.activeWorkspaceId,ke=ue&&b.value.some($e=>$e.id===ue)?ue:b.value[0]?.id??null;if(!ke)return;try{W=await yn(ke)??void 0}catch($e){p("createGoal",$e);return}if(!W)return}Dn(W);try{await Te().updateSession(W,{goalObjective:z})}catch(ue){p("createGoal",ue,{sessionId:W,message:Z(ue)});return}e.goalModeBySession[W]&&(e.goalModeBySession={...e.goalModeBySession,[W]:!1},ie()),e.activeSessionId===W?await on(z):await lt(W,z)}function wn(C){const z=e.activeSessionId;z&&Promise.resolve(Te().updateSession(z,{goalControl:C})).catch(W=>{p("controlGoal",W,{sessionId:z,message:Z(W)})})}function Ls(C){e.permission=C,ne(C),q({permissionMode:C})}function Gs(C){const z=[...e.warnings];z.splice(C,1),e.warnings=z}async function Bs(C,z){try{await Te().updateSession(C,{title:z}),x(C,ue=>({...ue,title:z}))}catch(W){p("renameSession",W,{sessionId:C})}}async function Fn(C){const z=await Te().generateSessionTitle(C,{force:!0,source:"digest"});return z!==null&&x(C,W=>({...W,title:z})),z}async function bs(C,z){const W=e.workspaces.find(ke=>ke.id===C)?.root,ue=()=>{e.workspaces=e.workspaces.map(ke=>ke.id===C?{...ke,name:z}:ke)};try{if(await Te().updateWorkspace(C,{name:z}),W!==void 0){const ke=pi();W in ke&&(delete ke[W],Nl(ke))}ue()}catch(ke){if(W!==void 0&&Mn(ke)&&ke.code===ib){Nl({...pi(),[W]:z}),ue();return}p("renameWorkspace",ke)}}async function ws(C){const z=e.workspaces.find($e=>$e.id===C)?.root??V.value.find($e=>$e.id===C)?.root??C,W=e.activeSessionId?e.sessions.find($e=>$e.id===e.activeSessionId):void 0,ue=e.activeWorkspaceId===C||e.activeWorkspaceId===z,ke=!!(W&&(W.cwd===z||W.workspaceId===C||L(W)===C));z&&!e.hiddenWorkspaceRoots.includes(z)&&(e.hiddenWorkspaceRoots=[...e.hiddenWorkspaceRoots,z],_e(e.hiddenWorkspaceRoots));try{await Te().deleteWorkspace(C)}catch($e){console.warn("[kimi-web] deleteWorkspace registry cleanup failed for",C,$e)}if(e.workspaces=e.workspaces.filter($e=>$e.id!==C&&$e.root!==z),ue||ke){const $e=b.value[0]?.id??null;if(e.activeWorkspaceId=$e,$e)Ce($e);else try{ro(We.activeWorkspace)}catch{}}(ue||ke)&&(h(void 0),e.sessionLoading=!1,me(),Rt(void 0,"replace"))}async function Ae(C){try{await Te().archiveSession(C),M(C),i.clearSideChatForSession(C);const{[C]:W,...ue}=e.sideChatUserMessageIdsBySession;if(e.sideChatUserMessageIdsBySession=ue,e.activeSessionId===C){const ke=e.sessions[0];ke?await ct(ke.id,{urlMode:"replace"}):(h(void 0),Rt(void 0,"replace"))}}catch(z){p("archiveSession",z,{sessionId:C})}}function j(C){e.warnings=[...e.warnings,C]}function ee(C,z){e.warnings=[...e.warnings.filter(W=>W!==C),...z===void 0?[]:[z]]}async function ft(C){if(Y)return;const z=C??e.activeSessionId;if(!z){const ke=n("commands.export.noSession");Yt("export:failed",{status:"no-session"}),p("exportSession",new Error(ke),{message:ke});return}Y=!0;const W=Date.now();Yt("export:start",{sessionId:z});const ue={severity:"info",title:n("commands.export.started"),sticky:!0};j(ue);try{const ke=O0(),{blob:$e,fileName:Ye}=await Te().exportSession(z,ke);if(typeof document>"u")throw new Error("Document is unavailable");const it=URL.createObjectURL($e);let mt;try{mt=document.createElement("a"),mt.href=it,mt.download=Ye,document.body.append(mt),mt.click()}finally{mt?.remove(),setTimeout(()=>{try{URL.revokeObjectURL(it)}catch{}},0)}ee(ue,{severity:"success",title:n("commands.export.done")}),Yt("export:accepted",{sessionId:z,status:"accepted",zipBytes:$e.size,durationMs:Date.now()-W})}catch(ke){const $e=typeof ke=="object"&&ke!==null?ke:void 0;Yt("export:failed",{sessionId:z,status:"failed",durationMs:Date.now()-W,errorName:typeof $e?.name=="string"?$e.name:typeof ke,errorCode:typeof $e?.code=="number"?$e.code:void 0,requestId:typeof $e?.requestId=="string"?$e.requestId:void 0,phase:typeof $e?.phase=="string"?$e.phase:void 0,httpStatus:typeof $e?.status=="number"?$e.status:void 0}),ee(ue,void 0),pb(ke)?p("exportSession",ke,{sessionId:z,title:n("commands.export.tooLarge")}):p("exportSession",ke,{sessionId:z})}finally{Y=!1}}async function Nn(C){try{const z=await Te().restoreSession(C);return g(z),!0}catch(z){return p("restoreSession",z,{sessionId:C}),!1}}function Ss(C){return Te().listSessions({archivedOnly:!0,beforeId:C?.beforeId,pageSize:C?.pageSize??50})}async function ls(){try{await Te().logout(),await De(),await In()}catch(C){p("logout",C)}}function Qs(C){const z=e.activeSessionId;z&&Te().compactSession(z,C).catch(W=>{p("compact",W,{sessionId:z})})}async function Rs(C){const z=C??e.activeSessionId;if(z)try{const W=await Te().forkSession(z);g(W),await ct(W.id)}catch(W){p("fork",W,{sessionId:z})}}async function de(C=1){const z=e.activeSessionId;if(!z)return null;const W=(()=>{const ue=e.messagesBySession[z]??[];for(let ke=ue.length-1;ke>=0;ke--){const $e=ue[ke];if($e.role==="user"&&!($e.metadata?.origin&&$e.metadata.origin.kind!=="user"))return $e.content.filter(Ye=>Ye.type==="text").map(Ye=>Ye.text).join(`
+`)}return null})();try{return await Te().undoSession(z,C),await S(z),W}catch(ue){return p("undo",ue,{sessionId:z}),null}}function Me(C){const z=e.activeSessionId;if(!z)return;const W=e.queuedBySession[z]??[];if(C<0||C>=W.length)return;const ue=[...W];ue.splice(C,1),e.queuedBySession={...e.queuedBySession,[z]:ue}}function xe(C,z){const W=e.activeSessionId;if(!W)return;const ue=e.queuedBySession[W]??[];if(C===z||C<0||C>=ue.length||z<0||z>=ue.length)return;const ke=[...ue],[$e]=ke.splice(C,1);$e!==void 0&&(ke.splice(z,0,$e),e.queuedBySession={...e.queuedBySession,[W]:ke})}async function F(C){const z=e.activeSessionId;if(!z)return[];try{return(await Te().listDirectory(z,{path:C,includeGitStatus:!0})).items}catch{return[]}}async function K(C){const z=e.activeSessionId;if(!z)return null;try{const ue=await Te().readFile(z,{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(W){return console.warn("[kimi-web] readFileContent failed for",C,W),null}}const le=10485760;function je(C){const z=e.activeSessionId;return z?Te().getFileDownloadUrl(z,C):null}async function tt(C,z){const W=e.activeSessionId;if(!W)return!1;try{return await Te().openFile(W,{path:C,line:z}),!0}catch(ue){return p("openFile",ue,{sessionId:W}),!1}}async function wt(C){const z=e.activeSessionId;if(!z)return;const W=P.value.cwd||".";try{await Te().openInApp(z,C,W)}catch(ue){p("openInApp",ue,{sessionId:z})}}async function tn(C){const z=e.activeSessionId;if(!z)return!1;try{return await Te().revealFile(z,{path:C}),!0}catch(W){return p("revealFile",W,{sessionId:z}),!1}}async function Yn(C){if(/^(https?:|data:|blob:)/i.test(C))return C;const z=e.activeSessionId;if(!z)return C;let W=C;if(W.startsWith("/")){const ue=e.sessions.find(ke=>ke.id===z)?.cwd;if(ue&&(W===ue||W.startsWith(ue.endsWith("/")?ue:`${ue}/`))){if(W=W.slice(ue.length).replace(/^\//,""),!W)return C}else return C}if(W.startsWith("/")||W.startsWith("~")||W.includes(".."))return C;try{const ke=await Te().readFile(z,{path:W,length:le});return!ke.isBinary||ke.encoding!=="base64"||ke.truncated?C:`data:${ke.mime};base64,${ke.content}`}catch{return C}}async function rs(C){const z=e.sessions.find(ue=>ue.id===e.activeSessionId),W=z===void 0?e.activeWorkspaceId:L(z);if(!W)return[];try{return(await Te().searchFiles(W,{query:C,limit:20})).items.map($e=>({path:$e.path,name:$e.name}))}catch{return[]}}return{loadFileDiff:J,clearFileDiff:me,loadGitStatus:He,checkAuth:De,loadConfig:Fe,updateConfig:Ze,listAllSessionsGlobal:Ct,load:In,refreshServerMeta:Ft,loadWorkspaces:_t,loadMoreSessions:nn,loadAllSessions:ut,selectWorkspace:Nt,openWorkspace:gn,upsertWorkspacePreserveOrder:Tt,applyWorkspaceEvent:fn,clearActiveSession:mn,openWorkspaceDraft:Rn,startSessionAndSendPrompt:Gn,startSessionAndActivateSkill:$t,startSessionAndOpenSideChat:Zt,addWorkspaceByPath:Gt,browseFs:kn,getFsHome:An,writeSessionUrl:Rt,fetchSessionIntoList:sn,onSessionRoutePopState:qt,bindSessionRoute:Wt,selectSession:ct,submitPromptInternal:lt,finishPromptLocal:Je,localTurnStartState:hb,isLocalTurnSnapshotCurrent:yb,afterLocalTurnStartsSettle:kb,handleSessionSnapshot:at,sendPrompt:on,steerPrompt:Jt,uploadImage:we,enqueue:be,unqueue:Me,reorderQueue:xe,abortCurrentPrompt:Ht,respondApproval:Ut,respondQuestion:Vt,dismissQuestion:Tn,pendingQuestionActions:Zs,pendingApprovalActions:bi,cancelTask:gs,setPlanMode:Wn,togglePlanMode:bn,armPlanMode:ns,dismissPlanMode:ss,togglePlanArm:On,setSwarmMode:Hn,toggleSwarmMode:Qn,setSupermoonMode:vn,toggleSupermoonMode:os,pinSupermoonEffort:zn,restoreSupermoonEffort:is,setGoalMode:as,toggleGoalMode:Es,createGoal:ks,controlGoal:wn,setPermission:Ls,dismissWarning:Gs,renameSession:Bs,regenerateSessionTitle:Fn,renameWorkspace:bs,deleteWorkspace:ws,archiveSession:Ae,exportSession:ft,restoreSession:Nn,loadArchivedSessions:Ss,logout:ls,compact:Qs,forkSession:Rs,undo:de,listDir:F,readFileContent:K,getFileDownloadUrl:je,openWorkspaceFile:tt,openInApp:wt,revealWorkspaceFile:tn,resolveImageUrl:Yn,searchFiles:rs,loadOlderMessages:ve,refreshSessionSidecars:B,isStartingFirstPrompt:()=>us.size>0}}const ac=We.starredModels,xr=new Error("profile persist failed");function wb(){try{const e=It(ac);if(!e)return[];const t=JSON.parse(e);if(Array.isArray(t)&&t.every(n=>typeof n=="string"))return t}catch{}return[]}function Sb(e){try{Bt(ac,JSON.stringify(e))}catch{}}function Cb(e,t){const{pushOperationFailure:n,refreshSessionStatus:s,persistSessionProfile:o,activity:i,updateSession:u,updateSessionMessages:p}=t,f=I([]),v=I(wb()),w=I({}),x=I({}),g=I([]),m=I(null);function M(Z){if(!(Z==null||Z.length===0))return f.value.find(U=>U.id===Z)??f.value.find(U=>U.model===Z)}function h(){const Z=e.activeSessionId?e.sessions.find(ye=>ye.id===e.activeSessionId):void 0,U=Z===void 0?m.value??e.defaultModel:Z.model||e.defaultModel;return M(U)?.id??U??void 0}function y(Z){if(Z===void 0)return;const U=M(Z);return U===void 0?void 0:Zo(U)}function k(Z,U){const ye=Z==null?void 0:e.thinkingBySession[Z];return ye!==void 0&&K2(U,ye)?ye:Zo(U)}function T(Z,U){if(U===void 0)return;const ye=M(U);return ye===void 0?void 0:k(Z,ye)}async function S(Z,U){return Z!=null&&e.thinkingBySession[Z]===void 0&&await s(Z),T(Z,U)}function O(Z){e.thinking=Z;const U=e.activeSessionId;return Z!==void 0&&U!==null&&U!==void 0&&(e.thinkingBySession={...e.thinkingBySession,[U]:Z}),Z}Oe([()=>e.activeSessionId,()=>h(),()=>{const Z=e.activeSessionId;return Z==null?void 0:e.thinkingBySession[Z]}],()=>{const Z=M(h());Z!==void 0&&(e.thinking=k(e.activeSessionId,Z))});function D(Z){Te().setConfig({thinking:G2(Z,M(h())?.supportEfforts)}).catch(U=>n("setConfig",U))}async function E(Z){try{const ye=await Te().listSkills(Z);w.value={...w.value,[Z]:ye}}catch{}}async function R(Z){try{const ye=await Te().listSkillsForWorkspace(Z);x.value={...x.value,[Z]:ye}}catch{}}async function q(){try{const Z=Te();f.value=await Z.listModels();const U=M(h());U!==void 0&&(e.thinking=k(e.activeSessionId,U))}catch(Z){n("loadModels",Z)}}async function V(){try{const Z=Te();g.value=await Z.listProviders()}catch(Z){n("loadProviders",Z)}}async function b(Z){const U=e.activeSessionId,ye=M(Z),ae=e.thinking,te=U?e.sessions.find(Y=>Y.id===U)?.model:void 0,ce=h()!==(ye?.id??Z),Be=Q2(ye,ae,ce);if(!U)return m.value=Z,e.thinking=Be,Be!==ae&&Be!==void 0&&D(Be),!0;u(U,Y=>({...Y,model:Z})),Be!==ae&&(e.thinking=Be,Be!==void 0&&(e.thinkingBySession={...e.thinkingBySession,[U]:Be}));try{await Te().updateSession(U,{model:Z,thinking:Be!==ae?Be:void 0})}catch(Y){return u(U,ve=>({...ve,model:te??ve.model})),Be!==ae&&(e.thinking=ae,ae!==void 0&&(e.thinkingBySession={...e.thinkingBySession,[U]:ae})),n("setModel",Y,{sessionId:U}),!1}return Be!==ae&&Be!==void 0&&D(Be),await s(U),!0}function P(Z){const U=new Set(v.value);U.has(Z)?U.delete(Z):U.add(Z),v.value=Array.from(U),Sb(v.value)}async function L(Z,U,ye,ae){const te=ye??e.activeSessionId;if(!te)return;const ce=i.value==="idle"&&!e.inFlightBySession[te],Be=`msg_skill_opt_${Date.now().toString(36)}`,Y=ce?Ua(te):void 0;if(ce){e.inFlightBySession={...e.inFlightBySession,[te]:!0};const ve={id:Be,sessionId:te,role:"user",content:[{type:"text",text:`/${Z}${U?` ${U}`:""}`}],createdAt:new Date().toISOString(),metadata:{"kimiWeb.optimisticUserMessage":!0,origin:{kind:"skill_activation",trigger:"user-slash",skillName:Z,skillArgs:U}}};p(te,B=>[...B,ve])}try{const ve=e.sessions.find(me=>me.id===te)?.model,B=(ve&&ve.length>0?ve:e.defaultModel)??void 0;if(!await o({thinking:await S(te,B)??e.thinking},te))throw xr;await Te().activateSkill(te,Z,U,ae)}catch(ve){ce&&(e.inFlightBySession={...e.inFlightBySession,[te]:!1},p(te,B=>B.filter(J=>J.id!==Be))),ve!==xr&&n("activateSkill",ve,{sessionId:te})}finally{Y!==void 0&&Va(te,Y)}}async function ne(Z){try{await Te().addProvider(Z),await Promise.all([V(),q()])}catch(U){n("addProvider",U)}}async function oe(Z){try{await Te().deleteProvider(Z),await Promise.all([V(),q()])}catch(U){n("deleteProvider",U)}}async function ge(Z){try{const U=await Te().refreshProvider(Z);for(const ye of U.failed)n("refreshProvider",new Error(ye.reason),{message:ye.provider});await Promise.all([V(),q()])}catch(U){n("refreshProvider",U)}}async function Se(){try{const Z=await Te().refreshAllProviders();for(const U of Z.failed)n("refreshAllProviders",new Error(U.reason),{message:U.provider});await Promise.all([V(),q()])}catch(Z){n("refreshAllProviders",Z)}}async function Q(Z){try{await Te().importCatalogProvider(Z),await Promise.all([V(),q()])}catch(U){n("importCatalogProvider",U)}}async function ie(Z){try{await Te().importRegistry(Z),await Promise.all([V(),q()])}catch(U){n("importRegistry",U)}}async function X(){try{return await Te().startOAuthLogin()}catch{return null}}async function fe(){try{return await Te().pollOAuthLogin()}catch(Z){return console.warn("[kimi-web] pollOAuthLogin failed",Z),null}}async function Ce(){try{await Te().cancelOAuthLogin()}catch{}}function _e(Z){const U=O(Z);o({thinking:U}),U!==void 0&&D(U)}return{models:f,starredModelIds:v,providers:g,draftModel:m,skillsBySession:w,skillsByWorkspace:x,loadSkillsForSession:E,loadSkillsForWorkspace:R,loadModels:q,loadProviders:V,setModel:b,thinkingLevelForModelId:y,thinkingLevelForSessionId:T,resolveThinkingForPrompt:S,toggleStarModel:P,activateSkill:L,addProvider:ne,deleteProvider:oe,refreshProvider:ge,refreshAllProviders:Se,importCatalogProvider:Q,importRegistry:ie,startOAuthLogin:X,pollOAuthLogin:fe,cancelOAuthLogin:Ce,setThinking:_e}}const _b=/^read[_-]?media(?:file)?$/i,$b=/^data:([^;]+);base64,(.*)$/s,Mb=/^<(image|video|audio)\s+path="([^"]+)">$/,xb=/^<(image|video|audio)\s+path="([^"]+)">(?:<\/\1>)?$/,Ib=/Mime type:\s*([^.\s]+)/i,Ab=/Size:\s*(\d+)\s*bytes/i,Tb=/Original dimensions:\s*(\d+)x(\d+)\s*pixels/i,Pb="Image compressed to fit model limits:",Eb=/Image compressed to fit model limits:[\s\S]*?<\/system>/g;function Lb(e){return e.includes(Pb)?e.replace(Eb,""):e}function Bb(e){return e.replaceAll(""",'"').replaceAll("<","<").replaceAll(">",">").replaceAll("&","&")}function Rb(e){const t=xb.exec(e.trim());return t?{kind:t[1],path:Bb(t[2])}:null}const lc=/^f_(?:[0-9A-Za-z]{26}|[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12})$/,Ob=/^f_(?:[0-9A-Za-z]{26}|[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12})(?=-)/;function Db(e){const t=e.split(/[\\/]/).at(-1)??"",n=t.lastIndexOf("."),s=n>0?t.slice(0,n):t;return lc.test(s)?s:void 0}const zb=/^Attached file "(.+)" \(([^,]+), (\d+) bytes\): (.+) — open it with the Read tool$/;function Fb(e){const t=zb.exec(e.trim());if(!t)return null;const n=(t[4]??"").split(/[\\/]/).at(-1)??"",s=Ob.exec(n)?.[0];return{name:t[1],mediaType:t[2],size:Number(t[3]),fileId:s!==void 0&&lc.test(s)?s:void 0}}function Nb(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 qb(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 Wb(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 Hb(e,t){if(!_b.test(e))return;const n=qb(t);if(n===null)return;let s,o,i,u,p,f=null;for(const w of n){if(typeof w!="object"||w===null)continue;const x=w;if(x.type==="text"&&typeof x.text=="string"){const m=x.text,M=Mb.exec(m);M&&(o=M[1],s=M[2]);const h=Ib.exec(m);h?.[1]&&(i=h[1]);const y=Ab.exec(m);y?.[1]&&(u=Number(y[1]));const k=Tb.exec(m);k?.[1]&&k[2]&&(p=`${k[1]}x${k[2]}`);continue}const g=Wb(x);g&&(f=g)}if(f===null)return;const v=$b.exec(f.url);return v?.[1]&&(i=v[1]),v?.[2]&&(u=Nb(v[2])),{kind:f.kind??o??"image",url:f.url,path:s,mimeType:i,bytes:Number.isFinite(u)?u:void 0,dimensions:p}}function Ub(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 Vb(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 jb(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 Kb(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:jb(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 w=typeof f.description=="string"?f.description:void 0;return{label:v,description:w}}).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 Gb(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):Qb(e)}function Qb(e){const t=e.split(`
+`);return t.length>=2&&t[0]?.startsWith(""?t.slice(1,-1).join(`
+`):e}function Yb(e){const t=e.metadata?.origin;if(t?.kind==="cron_job"||t?.kind==="cron_missed")return t.kind}function Zb(e){const t=e.content.filter(n=>n.type==="text").map(n=>n.text).join(`
+`);return Gb(t)}function Xb(e,t){const n=e.metadata?.origin??{},s=Zb(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 Jb(e,t,n){const{text:s,cron:o}=Xb(e,n);return{id:e.id,role:"cron",no:t,text:s,createdAt:e.createdAt,cron:o}}function ew(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 tw(e){return e.metadata?.origin?.kind==="compaction_summary"}function Ir(e,t){return e===null?!1:e.promptId===void 0||t===void 0||e.promptId===t}function nw(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 sw(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 ow(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 rc(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 M=f;if(f=null,!m||!s)for(let h=0;hS.kind==="tool"&&S.tool.id===k.id);T&&T.kind==="tool"&&(T.tool=k)}i.push({id:M.id,role:"assistant",no:u++,text:M.textParts.join(`
+`),thinking:M.thinkingParts.length>0?M.thinkingParts.join(`
+`):void 0,tools:M.tools.length>0?M.tools:void 0,blocks:M.blocks.length>0?M.blocks:void 0,approval:M.approval,approvalId:M.approvalId,durationMs:M.durationMs,createdAt:M.createdAt})}function w(m,M){for(const h of M)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),k={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(k),m.blocks.push({kind:"tool",tool:k}),y&&(m.approval=Kb(y),m.approvalId=y.approvalId)}else if(h.type==="toolResult"){const y=m.tools.findIndex(k=>k.id===h.toolCallId);if(y!==-1){const k=m.tools[y],T={...k,status:h.isError?"error":"ok",output:Ub(h.output),media:h.isError?void 0:Hb(k.name,h.output)};T.name==="ExitPlanMode"&&!T.planPath&&(T.planPath=nw(T.output)),m.tools[y]=T;const S=m.blocks.find(O=>O.kind==="tool"&&O.tool.id===h.toolCallId);S&&S.kind==="tool"&&(S.tool=T)}}}function x(m,M){for(const h of M){if(h.type!=="toolUse"||!h.outputLines?.length)continue;const y=m.tools.findIndex(O=>O.id===h.toolCallId);if(y===-1)continue;const k=m.tools[y];if(k.output!==void 0)continue;const T={...k,output:h.outputLines};m.tools[y]=T;const S=m.blocks.find(O=>O.kind==="tool"&&O.tool.id===h.toolCallId);S&&S.kind==="tool"&&(S.tool=T)}}function g(m){if(m.type==="image"||m.type==="video"){const M=m.type,h=m.source;if(h.kind==="url")return{url:h.url,kind:M};if(h.kind==="base64")return{url:`data:${h.mediaType};base64,${h.data}`,kind:M};if(h.kind==="file"&&n)return{url:n(h.fileId),kind:M,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=m.metadata?.[Ou];if(M!==void 0){Ir(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:M.message,code:M.code});continue}if(tw(m)){v();const S=m.metadata?.[Ru];i.push({id:m.id,role:"compaction",no:u,text:m.content.filter(O=>O.type==="text").map(O=>O.text).join(`
+`),compaction:{trigger:S?.trigger,tokensBefore:S?.tokensBefore,tokensAfter:S?.tokensAfter}});continue}if(m.role==="user"){const S=Yb(m);if(v(),S!==void 0){i.push(Jb(m,u++,S));continue}if(!ew(m))continue;const O=m.metadata?.origin,D=O?.kind==="skill_activation"&&O?.trigger==="user-slash",E=O?.kind==="plugin_command"&&O?.trigger==="user-slash",R=[],q=[];for(const V of m.content){if(V.type==="text")if(D)R.push(O.skillArgs??"");else if(E)R.push(O.commandArgs??"");else{const P=Rb(V.text);if(P&&(P.kind==="video"||P.kind==="image")&&n){const oe=Db(P.path);if(oe){q.push({url:n(oe),kind:P.kind,fileId:oe});continue}}const L=Fb(V.text);if(L){q.push({kind:"file",url:L.fileId&&n?n(L.fileId):"",fileId:L.fileId,name:L.name,mediaType:L.mediaType,size:L.size});continue}const ne=Lb(V.text);if(ne!==V.text&&ne.trim().length===0)continue;R.push(ne)}const b=g(V);if(b){q.push({url:b.url,kind:b.kind,name:V.type==="file"?V.name:void 0,fileId:b.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:R.join(`
+`),attachments:q.length>0?q:void 0,skillActivation:D?{name:O.skillName??"",args:O.skillArgs}:void 0,pluginCommand:E?{pluginId:O.pluginId??"",commandName:O.commandName??"",args:O.commandArgs}:void 0,createdAt:m.createdAt});continue}if(m.role==="tool"){f&&w(f,m.content);continue}const h=m.promptId;Ir(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 k=f;if(k===null)continue;const T=sw(m.content);if(k.promptId!==void 0&&k.foldedSigs.some(S=>ow(S,T))){x(k,m.content);continue}k.foldedSigs.push(T),w(k,m.content)}return v(!0),i}function iw(e,t){const{pushOperationFailure:n,nextOptimisticMsgId:s,connectEventsIfNeeded:o,getEventConn:i,resolveThinkingForPrompt:u}=t,p=I({}),f=_(()=>{const b=e.activeSessionId;if(!b)return null;const P=p.value[b];return P?{parentId:b,agentId:P.agentId}:null}),v=_(()=>f.value?.parentId??null),w=_(()=>f.value!==null),x=_(()=>{const b=f.value;return b?!!e.sideChatSendingByAgent[b.agentId]:!1}),g=_(()=>{const b=f.value;return b?e.sideChatSendingByAgent[b.agentId]?!0:(e.tasksBySession[b.parentId]??[]).some(P=>P.id===b.agentId&&P.status==="running"):!1}),m=_(()=>{const b=f.value;if(!b)return[];const P=e.sideChatMessagesByAgent[b.agentId]??[];return rc(P,[],L=>Te().getFileUrl(L),g.value)});function M(b,P){e.sideChatMessagesByAgent={...e.sideChatMessagesByAgent,[b]:P(e.sideChatMessagesByAgent[b]??[])}}function h(b,P){M(b,L=>[...L,P])}function y(b){M(b,P=>{const L=[...P].reverse().findIndex(oe=>oe.role==="user");if(L===-1)return P;const ne=P.length-1-L;return P.filter((oe,ge)=>ge!==ne)})}function k(b,P){M(b,L=>{const ne=[...L];for(let oe=ne.length-1;oe>=0;oe-=1){const ge=ne[oe];if(ge.role==="user")return ne[oe]={...ge,promptId:ge.promptId??P},ne}return L})}function T(b,P,L){L&&M(b,ne=>{const oe=ne.at(-1);if(oe?.role==="assistant"){const ge=oe.content[0],Se=ge?.type==="text"?ge.text:"";return[...ne.slice(0,-1),{...oe,content:[{type:"text",text:`${Se}${L}`}]}]}return[...ne,{id:s(),sessionId:P,role:"assistant",content:[{type:"text",text:L}],createdAt:new Date().toISOString()}]})}function S(b,P,L){if(e.sideChatSendingByAgent={...e.sideChatSendingByAgent,[b]:!1},!L)return;const oe=(e.sideChatMessagesByAgent[b]??[]).at(-1);(oe?.role==="assistant"&&oe.content[0]?.type==="text"?oe.content[0].text:"").trim().length>0||T(b,P,L)}async function O(b){const P=e.activeSessionId;P&&await D(P,b)}async function D(b,P){if(!p.value[b]){let L;try{({agentId:L}=await Te().startBtw(b))}catch(ne){n("openSideChat",ne,{sessionId:b});return}e.sideChatMessagesByAgent={...e.sideChatMessagesByAgent,[L]:e.sideChatMessagesByAgent[L]??[]},p.value={...p.value,[b]:{agentId:L}},o(),i()?.markSideChannelAgent(L)}P&&P.trim()&&await E(b,P.trim())}async function E(b,P){const L=p.value[b],ne=P.trim();if(!L||!ne)return;const oe=b,ge=L.agentId;e.sideChatSendingByAgent={...e.sideChatSendingByAgent,[ge]:!0};const Se={id:s(),sessionId:oe,role:"user",content:[{type:"text",text:ne}],createdAt:new Date().toISOString(),metadata:{"kimiWeb.optimisticUserMessage":!0}};h(ge,Se);try{const Q=e.sessions.find(fe=>fe.id===oe),ie=(Q?.model&&Q.model.length>0?Q.model:e.defaultModel)??void 0,X=await Te().submitPrompt(oe,{content:[{type:"text",text:ne}],agentId:ge,model:ie,thinking:await u(oe,ie)??e.thinking,permissionMode:e.permission,planMode:e.planModeBySession[oe]??!1,swarmMode:e.swarmModeBySession[oe]??!1,supermoonMode:e.supermoonModeBySession[oe]??!1});k(ge,X.promptId),e.sideChatUserMessageIdsBySession={...e.sideChatUserMessageIdsBySession,[oe]:[...e.sideChatUserMessageIdsBySession[oe]??[],X.userMessageId]}}catch(Q){n("sendSideChatPrompt",Q,{sessionId:oe}),y(ge),e.sideChatSendingByAgent={...e.sideChatSendingByAgent,[ge]:!1}}}function R(){const b=e.activeSessionId;if(!b)return;const{[b]:P,...L}=p.value;p.value=L}async function q(b){const P=f.value;P&&await E(P.parentId,b)}function V(b){if(!p.value[b])return;const{[b]:P,...L}=p.value;p.value=L}return{sideChatTargetBySession:p,sideChatSessionId:v,sideChatVisible:w,sideChatSending:x,sideChatRunning:g,sideChatTurns:m,appendSideChatAssistantText:T,finishSideChatAgent:S,openSideChat:O,openSideChatOn:D,closeSideChat:R,sendSideChatPrompt:q,clearSideChatForSession:V}}const aw="kimiWeb.optimisticUserMessage",lw=1e6,Ar="Sub Agent";function rw(){return{sessions:[],activeSessionId:void 0,messagesBySession:{},approvalsBySession:{},planReviewByToolCallId:{},questionsBySession:{},tasksBySession:{},goalBySession:{},goalVersionBySession:{},lastSeqBySession:{},turnActiveBySession:{},compactionBySession:{},warnings:[]}}function uw(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 cw(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 ga(e){return e.role==="user"&&e.metadata?.[aw]===!0}function dw(e){const t=e.metadata?.origin;return t?.kind==="cron_job"||t?.kind==="cron_missed"}function pw(e,t){return JSON.stringify(e.content)===JSON.stringify(t.content)}const fw=/^<(image|video|audio)\s+path="[^"]+"><\/\1>$/;function Tr(e){let t="",n=0;for(const s of e.content)s.type==="text"?fw.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 mw(e,t){const n=Tr(e),s=Tr(t);return n.text===s.text&&n.media===s.media}function vw(e,t){const n=t.promptId;if(n!==void 0)for(let s=e.length-1;s>=0;s--){const o=e[s];if(ga(o)&&o.promptId===n)return s}for(let s=e.length-1;s>=0;s--){const o=e[s];if(ga(o)&&pw(o,t))return s}for(let s=e.length-1;s>=0;s--){const o=e[s];if(ga(o)&&mw(o,t))return s}return-1}function hw(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 gw={"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"},yw=new Set(["provider.usage_limit"]);function kw(e){const t=pt.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?gw[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&&yw.has(e.code)?!0:void 0}}function bw(e,t,n){const s=uw(e);switch(cw(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"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(w=>w.id===v)){const w={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"},[Ru]:w}}]}}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"&&!dw(t.message)){const f=vw(u,t.message);if(f!==-1){const v=[...u],w=v[f];v[f]={...t.message,id:w.id,promptId:t.message.promptId??w.promptId,metadata:{...t.message.metadata,...w.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 w;return t.delta.text!==void 0?v.type==="text"?w={type:"text",text:v.text+t.delta.text}:w={type:"text",text:t.delta.text}:t.delta.thinking!==void 0?v.type==="thinking"?w={type:"thinking",thinking:v.thinking+t.delta.thinking,signature:v.signature}:w={type:"thinking",thinking:t.delta.thinking}:w=v,p[f]=w,{...u,content:p}});break}case"toolOutput":{const o=t.sessionId,i=s.messagesBySession[o]??[];s.messagesBySession[o]=hw(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===Ar&&f.description!==Ar?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,lw)};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,kw(o)];else if(o&&o._agentWarning){const i=o.message??o.code??"agent warning";s.warnings=[...s.warnings,`${pt.global.t("warnings.noteLabel")}: ${i}`]}else{const i=o?.type??"(unknown)";s.warnings=[...s.warnings,`Unhandled event: ${i}`]}break}}return s}function ww(e){return e==="in_progress"?"in_progress":e==="done"||e==="completed"?"done":"pending"}function Sw(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"||ho(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:ww(f.status)}]:[]})}}return[]}const Cw=["queued","working","suspended","completed","failed"];function uc(e){return e.status==="completed"?"completed":e.status==="failed"||e.status==="cancelled"?"failed":e.subagentPhase?e.subagentPhase:"working"}function _w(){return{queued:0,working:0,suspended:0,completed:0,failed:0}}function $w(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:uc(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=_w();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 Mw(e){let t=0,n=0;for(const s of e){n+=s.members.length;for(const o of Cw)(o==="completed"||o==="failed")&&(t+=s.counts[o])}return{done:t,total:n}}function xw(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:uc(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 xs=tc(),ps=L2(),Jo=q2(),$i=Qk(),cc=We.permission,dc=We.activeWorkspace,pc=We.planMode,fc=We.planArmed,mc=We.swarmMode,vc=We.supermoonMode,hc=We.goalMode,Pr=40401,gc=We.onboarded;ro(We.codeFont);ro(We.theme);ro(We.thinking);function Iw(){try{const e=It(cc);if(e==="auto"||e==="yolo"||e==="manual")return e}catch{}return"manual"}function Aw(e){try{Bt(cc,e)}catch{}}function qo(e){const t=It(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 oi(e,t){try{const n={};for(const[s,o]of Object.entries(t))o&&(n[s]=!0);Bt(e,JSON.stringify(n))}catch{}}function yc(){oi(pc,N.planModeBySession)}function kc(){oi(fc,N.planArmedBySession)}function bc(){oi(mc,N.swarmModeBySession)}function wc(){oi(vc,N.supermoonModeBySession)}function Sc(){oi(hc,N.goalModeBySession)}function Tw(){try{return It(dc)}catch{return null}}const Cc=We.hiddenWorkspaces;function Pw(){try{const e=It(Cc);if(!e)return[];const t=JSON.parse(e);return Array.isArray(t)?t.filter(n=>typeof n=="string"):[]}catch{return[]}}function Ew(e){try{Bt(Cc,JSON.stringify(e))}catch{}}function Lw(e){try{Bt(dc,e)}catch{}}function Bw(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 N=Bn({...rw(),connected:!1,serverVersion:"",dangerousBypassAuth:!1,backend:"v1",workspaceName:"kimi-web",connection:"disconnected",permission:Iw(),thinking:void 0,thinkingBySession:{},planModeBySession:qo(pc),planArmedBySession:qo(fc),swarmModeBySession:qo(mc),supermoonModeBySession:qo(vc),modeVersionBySession:{},supermoonPreviousEffortBySession:{},goalModeBySession:qo(hc),loading:!1,sessionLoading:!1,queuedBySession:{},gitStatusBySession:{},promptIdBySession:{},inFlightBySession:{},unreadBySession:ol(),authReady:!1,defaultModel:null,managedProviderStatus:null,workspaces:[],activeWorkspaceId:Tw(),fsHome:null,recentRoots:[],hiddenWorkspaceRoots:Pw(),availableOpenInApps:[],config:null,sideChatMessagesByAgent:{},sideChatSendingByAgent:{},sideChatUserMessageIdsBySession:{},messagesLoadingMoreBySession:{},messagesHasMoreBySession:{},messagesLoadMoreErrorBySession:{},sessionsHasMoreByWorkspace:{},sessionsLoadingMoreByWorkspace:{},sessionsCursorByWorkspace:{},sessionsInitialCountByWorkspace:{},sessionsFullyLoaded:!1}),Do=Bn({planMode:!1,planArmed:!1,swarmMode:!1,supermoonMode:!1,goalMode:!1,planModeTouched:!1});function _c(e){N.sessions=e}function Yi(e,t){N.sessions=N.sessions.map(n=>n.id===e?t(n):n)}function Rw(e){N.sessions=[e,...N.sessions.filter(t=>t.id!==e.id)]}function Ow(e){N.sessions=[...N.sessions,e]}function Dw(e){N.sessions=N.sessions.filter(t=>t.id!==e)}function $c(){const e=N.activeSessionId;e&&N.unreadBySession[e]&&typeof document<"u"&&document.visibilityState==="visible"&&(N.unreadBySession={...N.unreadBySession,[e]:!1},il({[e]:!1}))}typeof window<"u"&&window.addEventListener("storage",e=>{e.key===We.unread&&(N.unreadBySession=ol(),$c())});function ja(){if(xn===null||!xn.health().stale)return;Yt("ws:stale-reconnect",{sessionId:N.activeSessionId,status:"stale"}),As("ws: stale socket on focus, reconnecting",{activeSessionId:N.activeSessionId}),xn.reconnect();const e=N.activeSessionId;e&&zi.request(e)}typeof document<"u"&&document.addEventListener("visibilitychange",()=>{document.visibilityState==="visible"&&($c(),ja())});typeof window<"u"&&(window.addEventListener("focus",ja),window.addEventListener("online",ja));function $l(e){N.activeSessionId=e}function zw(e){N.messagesBySession=e}function Fw(e,t){N.messagesBySession={...N.messagesBySession,[e]:t}}function Mc(e,t){N.messagesBySession={...N.messagesBySession,[e]:t(N.messagesBySession[e]??[])}}function Nw(e){const{[e]:t,...n}=N.messagesBySession;N.messagesBySession=n}function xc(e){xn?.unsubscribe(e),c4(e),Oi.discard(({meta:t})=>t.sessionId===e),Dw(e),Nw(e),delete N.approvalsBySession[e],delete N.questionsBySession[e],delete N.tasksBySession[e],delete N.goalBySession[e],delete N.gitStatusBySession[e],delete N.lastSeqBySession[e],delete N.compactionBySession[e],delete N.messagesLoadingMoreBySession[e],delete N.messagesHasMoreBySession[e],delete N.messagesLoadMoreErrorBySession[e],delete Ka[e],Di.delete(e),Mi.delete(e),Fc.delete(e),gb(e),delete N.queuedBySession[e],delete N.promptIdBySession[e],delete N.inFlightBySession[e],delete N.turnActiveBySession[e],delete N.planModeBySession[e],delete N.planArmedBySession[e],delete N.swarmModeBySession[e],delete N.supermoonModeBySession[e],delete N.modeVersionBySession[e],delete N.supermoonPreviousEffortBySession[e],delete N.goalModeBySession[e],delete N.thinkingBySession[e],yc(),kc(),bc(),wc(),Sc()}const Ic=I(null),Ac=I([]),Tc=I(!1),Pc=I(!1),Ec=I(null);async function ii(e){const t=N.modeVersionBySession[e]??0;let n;try{n=await Te().getSessionStatus(e)}catch{return}Yi(e,s=>({...s,model:n.model||s.model,usage:{...s.usage,contextTokens:n.contextTokens,contextLimit:n.maxContextTokens}})),Uk(N,e,t)&&(N.swarmModeBySession={...N.swarmModeBySession,[e]:n.swarmMode},N.planModeBySession={...N.planModeBySession,[e]:n.planMode},N.supermoonModeBySession={...N.supermoonModeBySession,[e]:n.supermoonMode}),n.thinkingEffort.length>0&&(N.thinkingBySession={...N.thinkingBySession,[e]:n.thinkingEffort})}async function qw(e){const t=N.goalVersionBySession[e]??0;let n;try{n=await Te().getSessionGoal(e)}catch{return}if((N.goalVersionBySession[e]??0)!==t)return;const s={...N.goalBySession};n===null||n.status==="complete"?delete s[e]:s[e]=n,N.goalBySession=s}function Lc(e,t){const n=t??N.activeSessionId;return n?Promise.resolve(Te().updateSession(n,e)).then(()=>ii(n)).then(()=>!0).catch(s=>(ai("persistSessionProfile",s,{sessionId:n}),!1)):Promise.resolve(!1)}const Bc=We.conversationToc;function Ww(){try{const e=It(Bc);return e===null?!0:e==="true"}catch{return!0}}function Hw(e){try{Bt(Bc,e?"true":"false")}catch{}}const Rc=I(Ww());function Uw(e){Rc.value=e,Hw(e)}function Vw(e){try{return It(e)??""}catch{return""}}const Oc=I(Vw(gc)==="1");function jw(e){Oc.value=e;try{Bt(gc,e?"1":"0")}catch{}}let xn=null,Er=0;function Dc(){return Er+=1,`msg_opt_${Date.now().toString(36)}_${Er}`}function Kw(e,t,n){const s={sessions:N.sessions,activeSessionId:N.activeSessionId,messagesBySession:N.messagesBySession,approvalsBySession:N.approvalsBySession,planReviewByToolCallId:N.planReviewByToolCallId,questionsBySession:N.questionsBySession,tasksBySession:N.tasksBySession,goalBySession:N.goalBySession,goalVersionBySession:N.goalVersionBySession,lastSeqBySession:N.lastSeqBySession,turnActiveBySession:N.turnActiveBySession,compactionBySession:N.compactionBySession,config:N.config,warnings:N.warnings},o=bw(s,e,{sessionId:t,seq:n});if(_c(o.sessions),$l(o.activeSessionId),zw(o.messagesBySession),N.approvalsBySession=o.approvalsBySession,N.planReviewByToolCallId=o.planReviewByToolCallId,N.questionsBySession=o.questionsBySession,N.tasksBySession=o.tasksBySession,N.goalBySession=o.goalBySession,N.goalVersionBySession=o.goalVersionBySession,N.lastSeqBySession=o.lastSeqBySession,N.turnActiveBySession=o.turnActiveBySession,N.compactionBySession=o.compactionBySession,N.config=o.config??null,N.warnings=o.warnings,e.type==="configChanged"&&(N.defaultModel=e.config.defaultModel??null),e.type==="modelCatalogChanged"&&(vt.loadModels(),vt.loadProviders()),e.type==="sessionUsageUpdated"){if(e.swarmMode!==void 0&&(N.swarmModeBySession={...N.swarmModeBySession,[e.sessionId]:e.swarmMode}),e.planMode!==void 0&&(N.planModeBySession={...N.planModeBySession,[e.sessionId]:e.planMode}),e.supermoonMode!==void 0){const i=N.supermoonModeBySession[e.sessionId]??!1;N.supermoonModeBySession={...N.supermoonModeBySession,[e.sessionId]:e.supermoonMode},e.supermoonMode&&!i?Le.pinSupermoonEffort(e.sessionId):!e.supermoonMode&&i&&Le.restoreSupermoonEffort(e.sessionId)}e.thinking!==void 0&&(N.thinkingBySession={...N.thinkingBySession,[e.sessionId]:e.thinking}),(e.planMode!==void 0||e.swarmMode!==void 0||e.supermoonMode!==void 0)&&cs(N,e.sessionId)}}function Gw(e,t){const n=N.lastSeqBySession[t.sessionId]??0,s=N.turnActiveBySession[t.sessionId]??!1;Kw(e,t.sessionId,t.seq);const o=$n.sideChatTargetBySession.value[t.sessionId];if(o){const{agentId:i}=o,u=t.sessionId;e.type==="agentDelta"&&e.agentId===i?e.delta.text&&$n.appendSideChatAssistantText(i,u,e.delta.text):e.type==="agentTurnEnded"&&e.agentId===i?$n.finishSideChatAgent(i,u):e.type==="taskProgress"&&e.taskId===i?$n.appendSideChatAssistantText(i,u,e.outputChunk):e.type==="taskCompleted"&&e.taskId===i&&$n.finishSideChatAgent(i,u,e.outputPreview)}if(e.type==="messageCreated"&&e.message.role==="user"&&e.message.promptId!==void 0){const i=e.message.sessionId;N.promptIdBySession[i]!==e.message.promptId&&(N.promptIdBySession={...N.promptIdBySession,[i]:e.message.promptId})}if(e.type==="assistantDelta"&&t.sessionId===N.activeSessionId&&xs.recordMoonDelta((e.delta.text?.length??0)+(e.delta.thinking?.length??0)),e.type==="turnActiveChanged"&&!e.active&&t.seq>n){const i=e.reason;wS(e.sessionId,i==="cancelled"||i==="failed"||i==="blocked"?"aborted":"idle",s)}e.type==="sessionWorkChanged"&&(e.mainTurnActive===!1&&s||e.mainTurnActive===void 0&&!e.busy)&&t.seq>n&&bS(e.sessionId),(e.type==="promptAborted"||e.type==="promptCompleted"&&e.reason==="blocked")&&t.seq>n&&N.promptIdBySession[e.sessionId]===e.promptId&&Le.finishPromptLocal(e.sessionId),e.type==="questionRequested"&&SS(e.sessionId,e.question),e.type==="approvalRequested"&&CS(e.sessionId,e.approval)}const Oi=t2(({appEvent:e,meta:t})=>Gw(e,t),({appEvent:e})=>Zk(e),{coalesce:s2});function zc(){if(xn!==null||typeof WebSocket>"u")return;Yt("ws:connection",{status:"connecting"}),N.connection="connecting",xn=Te().connectEvents({onEvent(t,n){if(t.type==="workspaceCreated"||t.type==="workspaceUpdated"||t.type==="workspaceDeleted"){Le.applyWorkspaceEvent(t);return}if(t.type==="pluginsChanged"||t.type==="capabilityChanged"){Rk(t);return}for(const s of n2({appEvent:t,meta:n}))Oi(s)},onResync(t,n,s){Yt("ws:resync",{sessionId:t,status:"required",seq:n}),Oi.flush(),Di.add(t),zi.request(t)},onError(t,n,s){Yt("ws:error",{status:"failed",errorCode:t,fatal:s}),Ml({severity:"error",title:pt.global.t("warnings.wsTitle"),message:n,details:[Et("message",n)].filter(o=>o!==void 0)})},onConnectionChange(t){Yt("ws:connection",{status:t?"connected":"disconnected"}),N.connected=t,N.connection=t?"connected":"disconnected",t&&(n4(),Le.refreshServerMeta())},onTerminalOutput(t,n,s,o){$i.handleOutput(t,n,s,o)},onTerminalExit(t,n,s){$i.handleExit(t,n,s)}}),$i.bindTransport(xn)}const Ka={},Di=new Set,Mi=new Set,Fc=new Set;function Qw(e){return Mn(e)&&e.code===Pr?!0:typeof e=="object"&&e!==null&&e.code===Pr}function Et(e,t){if(!(t==null||t===""))return{label:pt.global.t(`warnings.details.${e}`),value:Nc(t)}}function Nc(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 Yw(e){return e instanceof Error||typeof e=="object"&&e!==null&&typeof e.name=="string"?e.name:void 0}function Zw(e){return e instanceof Error||typeof e=="object"&&e!==null&&typeof e.message=="string"?e.message:void 0}function Xw(e){return e instanceof Error&&typeof e.stack=="string"&&e.stack?e.stack:void 0}function Jw(e){if(!(typeof e!="number"||!Number.isFinite(e)))return new Date(e).toISOString()}function Lr(e){if(!(typeof e!="number"||!Number.isFinite(e)))return`${Math.round(e)}ms`}function e4(e,t,n){const s=rl(t),o=Mn(t),i=s||o?t.timestamp:void 0,u=s||o?t.durationMs:void 0,p=[Et("operation",e),Et("sessionId",n??N.activeSessionId),Et("connection",N.connection),Et("timestamp",Jw(i??Date.now()))];return s?p.push(Et("duration",Lr(u)),Et("request",`${t.method} ${t.path}`),Et("endpoint",t.url),Et("requestId",t.requestId),Et("phase",t.phase),Et("timeout",`${t.timeoutMs}ms`),Et("status",t.status===void 0?void 0:`${t.status} ${t.statusText??""}`.trim()),Et("contentType",t.contentType),Et("responsePreview",t.bodyPreview),Et("cause",t.cause)):o?p.push(Et("duration",Lr(u)),Et("code",t.code),Et("requestId",t.requestId),Et("message",t.message),Et("details",t.details)):p.push(Et("errorName",Yw(t)),Et("message",Zw(t)??Nc(t)),Et("stack",Xw(t))),p.filter(f=>f!==void 0)}function t4(e,t,n={}){const s=rl(t),o=Mn(t),i=Qu(t),u=n.title??(i?pt.global.t("warnings.daemonTimeoutTitle"):s?pt.global.t("warnings.daemonNetworkTitle"):o?pt.global.t("warnings.daemonApiTitle"):pt.global.t("warnings.operationFailedTitle")),p=n.message??(i?pt.global.t("warnings.daemonTimeoutMessage"):s?pt.global.t("warnings.daemonNetworkMessage"):o?t.message:pt.global.t("warnings.operationFailedMessage"));return{severity:"error",title:u,message:p,details:e4(e,t,n.sessionId)}}function Ml(e){N.warnings=[...N.warnings,e].slice(-50)}function n4(){const e=pt.global.t("warnings.wsTitle"),t=N.warnings.filter(n=>!(typeof n=="object"&&n!==null&&n.severity==="error"&&n.title===e));t.length!==N.warnings.length&&(N.warnings=t)}function ai(e,t,n){console.error(`[kimi-web] operation failed: ${e}`,t);const s=Mn(t),o=rl(t);Yt("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:Qu(t)}),Ml(t4(e,t,n))}const s4={40913:"warnings.goal.alreadyExists",40914:"warnings.goal.notFound",40915:"warnings.goal.statusInvalid",40916:"warnings.goal.notResumable",40918:"warnings.goal.objectiveTooLong"};function o4(e){if(!Mn(e))return;const t=s4[e.code];return t?pt.global.t(t):void 0}async function i4(e){if(xc(e),N.activeSessionId!==e)return;const t=N.sessions[0];t?await Le.selectSession(t.id,{urlMode:"replace"}):($l(void 0),N.sessionLoading=!1,Le.writeSessionUrl(void 0,"replace"))}const Br=new Set;async function a4(e){if(!Br.has(e)){Br.add(e);try{const t=await Te().getSessionWarnings(e),n=pt.global.t("warnings.noteLabel");for(const s of t)Ml(`${n}: ${s.message}`)}catch{}}}async function xl(e){const t=Le.localTurnStartState(e);try{const s=await Te().getSessionSnapshot(e);if(!N.sessions.some(f=>f.id===e))return"ok";Oi.flush();const o=N.lastSeqBySession[e]??0,i=Ka[e];if(!(Di.has(e)||Fi.has(e))&&i!==void 0&&i===s.epoch&&o>s.asOfSeq)return Mi.delete(e)||(Mi.add(e),zi.request(e)),"ok";if(!Le.isLocalTurnSnapshotCurrent(e,t))return Le.afterLocalTurnStartsSettle(e,()=>{zi.request(e)}),"ok";const p=Pa(s.session.usage);Yi(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})),Fw(e,Vk(N.messagesBySession[e]??[],s.messages)),N.tasksBySession={...N.tasksBySession,[e]:jk(s.subagents,N.tasksBySession[e]??[])},N.messagesHasMoreBySession={...N.messagesHasMoreBySession,[e]:s.hasMoreMessages},N.approvalsBySession={...N.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&&(N.planReviewByToolCallId={...N.planReviewByToolCallId,[f.toolCallId]:{plan:v.plan,path:typeof v.path=="string"?v.path:void 0}})}N.questionsBySession={...N.questionsBySession,[e]:s.pendingQuestions},N.lastSeqBySession={...N.lastSeqBySession,[e]:s.asOfSeq},Ka[e]=s.epoch,Di.delete(e),Mi.delete(e),Le.handleSessionSnapshot(e,{inFlightTurn:s.inFlightTurn,busy:s.session.busy});{const f={...N.turnActiveBySession};s.session.mainTurnActive??(s.inFlightTurn!==null&&s.session.busy)?f[e]=!0:delete f[e],N.turnActiveBySession=f}return zc(),xn&&(xn.seedSnapshot(e,s),xn.subscribe(e,{seq:s.asOfSeq,epoch:s.epoch}),u4(e)),Fi.delete(e),p&&ii(e),a4(e),"ok"}catch(n){return Qw(n)?(await i4(e),"not-found"):(ai("getSessionSnapshot",n,{title:pt.global.t("warnings.sessionSnapshotTitle"),message:pt.global.t("warnings.sessionSnapshotMessage"),sessionId:e}),"failed")}}const zi=Kk(xl);function l4(e){return Object.prototype.hasOwnProperty.call(N.messagesBySession,e)}const r4=4,Is=[],Fi=new Set;function u4(e){const t=Is.indexOf(e);for(t!==-1&&Is.splice(t,1),Is.unshift(e);Is.length>r4;){let n=-1;for(let o=Is.length-1;o>=0;o--)if(Is[o]!==N.activeSessionId){n=o;break}if(n===-1)break;const[s]=Is.splice(n,1);if(s===void 0)break;xn?.unsubscribe(s),Fi.add(s)}}function c4(e){const t=Is.indexOf(e);t!==-1&&Is.splice(t,1),Fi.delete(e)}async function d4(e){return xl(e)}function Il(e,t){return(N.inFlightBySession[e]??!1)||(N.turnActiveBySession[e]??!1)||(t??N.sessions.find(n=>n.id===e)?.mainTurnActive??!1)}function Al(e){try{const t=new Date(e),s=Date.now()-t.getTime(),o=s/36e5;if(s<6e4)return pt.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 p4=3e4,ei=I(0);let ya=null;function f4(){ya===null&&(ya=setInterval(()=>{ei.value=(ei.value+1)%Number.MAX_SAFE_INTEGER},p4),ya.unref?.())}function m4(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 v4(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:m4(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 w=typeof f.description=="string"?f.description:void 0;return{label:v,description:w}}).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 h4(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 g4(e){const t=N.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 y4(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=pt.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=pt.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??g4(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 k4=_(()=>{const e=N.sessions.find(n=>n.id===N.activeSessionId),t=e?e.cwd.split("/").pop()??e.cwd:"main";return{name:N.workspaceName,branch:t}}),b4=_(()=>(ei.value,N.sessions.toSorted((e,t)=>new Date(t.updatedAt).getTime()-new Date(e.updatedAt).getTime()).map(e=>({id:e.id,title:e.title,time:Al(e.updatedAt),busy:Il(e.id,e.mainTurnActive),pendingInteraction:e.pendingInteraction,lastTurnReason:e.lastTurnReason})))),w4=_(()=>N.activeSessionId??""),S4=_(()=>{const e=N.activeSessionId;if(e)return vt.skillsBySession.value[e]??[];const t=Xi.value;return t?vt.skillsByWorkspace.value[t]??[]:[]}),Tl=_(()=>{const e=N.activeSessionId;return e?N.inFlightBySession[e]??!1:!1}),C4=_(()=>Le.isStartingFirstPrompt()),$n=iw(N,{pushOperationFailure:ai,nextOptimisticMsgId:Dc,connectEventsIfNeeded:zc,getEventConn:()=>xn,resolveThinkingForPrompt:(e,t)=>vt.resolveThinkingForPrompt(e,t)}),li=_(()=>{const e=N.activeSessionId;if(!e)return[];const t=$n.sideChatTargetBySession.value[e]?.agentId;return(N.tasksBySession[e]??[]).filter(n=>n.id!==t)}),qc=U2(N,li),_4=_(()=>{const e=N.activeSessionId;if(!e)return[];const t=new Set(N.sideChatUserMessageIdsBySession[e]??[]),n=(N.messagesBySession[e]??[]).filter(o=>!t.has(o.id)),s=N.approvalsBySession[e]??[];return rc(n,s,o=>Te().getFileUrl(o),Zi.value,N.planReviewByToolCallId)}),Zi=_(()=>{const e=N.activeSessionId;return e?(N.turnActiveBySession[e]??!1)||(N.sessions.find(t=>t.id===e)?.mainTurnActive??!1):!1}),$4=_(()=>Tl.value||Zi.value),M4=I(null),x4=_(()=>(qc.taskClock.value,li.value.map(y4))),Wc=_(()=>$w(li.value)),I4=_(()=>xw(li.value)),$o=_(()=>{const e=N.activeSessionId;return e?N.goalBySession[e]??null:null}),A4=_(()=>{const e=N.activeSessionId;return e?Sw(N.messagesBySession[e]??[]):[]}),T4=_(()=>{const e=N.activeSessionId;return e?N.compactionBySession[e]??null:null}),P4=_(()=>N.connection),E4=_(()=>N.loading),L4=_(()=>N.sessionLoading),B4=_(()=>{const e=N.activeSessionId;return e?N.messagesLoadingMoreBySession[e]??!1:!1}),R4=_(()=>{const e=N.activeSessionId;return e?N.messagesHasMoreBySession[e]??!1:!1}),O4=_(()=>{const e=N.activeSessionId;return e?N.messagesLoadMoreErrorBySession[e]??!1:!1}),D4=_(()=>N.serverVersion),Hc=_(()=>N.backend),z4=_(()=>N.dangerousBypassAuth);Oe(Hc,e=>{xn!==null&&xn.setTranscriptMode(e==="v2")},{immediate:!0});function F4(){N.dangerousBypassAuth=!1}const N4=_(()=>N.permission),q4=_(()=>N.thinking),Uc=_(()=>{const e=N.activeSessionId;return e?N.planModeBySession[e]??!1:Do.planMode}),W4=_(()=>{const e=N.activeSessionId;return e?N.planArmedBySession[e]??!1:Do.planArmed}),H4=_(()=>{const e=N.activeSessionId;return e?N.swarmModeBySession[e]??!1:Do.swarmMode}),U4=_(()=>{const e=N.activeSessionId;return e?N.supermoonModeBySession[e]??!1:Do.supermoonMode}),V4=_(()=>{const e=N.activeSessionId;return e?N.goalModeBySession[e]??!1:Do.goalMode}),j4=_(()=>{const e=Mw(Wc.value);return{plan:Uc.value,goal:$o.value&&$o.value.status!=="complete"?{status:$o.value.status,turnsUsed:$o.value.turnsUsed,elapsedMs:$o.value.wallClockMs}:null,swarm:e.total>0?e:null}}),K4=_(()=>{const e=N.activeSessionId;if(!e)return[];const t=Te();return(N.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}))}))}),G4=_(()=>N.warnings),Q4=_(()=>{const e=N.activeSessionId;return e?(N.questionsBySession[e]??[]).map(h4):[]}),Y4=_(()=>{const e=N.activeSessionId;return e?(N.approvalsBySession[e]??[]).map(t=>({approvalId:t.approvalId,block:v4(t),agentName:t.agentName})):[]}),Pl=_(()=>{const e=N.activeSessionId;return e?(N.approvalsBySession[e]??[]).length>0?"awaiting-approval":(N.questionsBySession[e]??[]).length>0?"awaiting-question":Tl.value||Zi.value?"running":"idle":"idle"}),vt=Cb(N,{pushOperationFailure:ai,refreshSessionStatus:ii,persistSessionProfile:Lc,activity:Pl,updateSession:Yi,updateSessionMessages:Mc}),Ga=_(()=>{const e=N.activeSessionId;if(!e)return null;const t=N.gitStatusBySession[e];return t?{branch:t.branch,ahead:t.ahead,behind:t.behind}:null}),Z4=_(()=>{const e=N.activeSessionId;return e?N.gitStatusBySession[e]?.pullRequest??null:null}),X4=_(()=>{const e=N.activeSessionId;if(!e)return[];const t=N.gitStatusBySession[e];return t?Object.entries(t.entries).map(([n,s])=>({path:n,status:s})).sort((n,s)=>n.path.localeCompare(s.path)):[]}),J4=_(()=>{const e=N.activeSessionId;if(!e)return null;const t=N.gitStatusBySession[e];return t?{totalAdditions:t.additions,totalDeletions:t.deletions}:null}),Vc=_(()=>{const e=N.sessions.find(u=>u.id===N.activeSessionId),t=Ga.value?.branch??(e?e.cwd.split("/").pop()??e.cwd:"main"),n=e===void 0?vt.draftModel.value:null,s=(e?.model&&e.model.length>0?e.model:n??N.defaultModel)??"—",o=vt.models.value.find(u=>u.id===s)??vt.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:N.permission,branch:t,cwd:e?.cwd??"",isGitRepo:Ga.value!==null}}),eS=_(()=>Ac.value),tS=_(()=>N.sessions.find(t=>t.id===N.activeSessionId)?.usage.totalCostUsd??0),nS=_(()=>N.authReady),sS=_(()=>N.defaultModel),oS=_(()=>N.managedProviderStatus),iS=_(()=>N.config),aS=_(()=>{const e=N.activeSessionId;if(!e)return{};const t=N.gitStatusBySession[e];return t?{...t.entries}:{}});function Lo(e){const t=es(e.cwd);return N.workspaces.find(n=>es(n.root)===t)?.id??e.workspaceId??e.cwd}const ti=_(()=>Hk({workspaces:N.workspaces,sessions:N.sessions,hiddenWorkspaceRoots:N.hiddenWorkspaceRoots,sessionsHasMoreByWorkspace:N.sessionsHasMoreByWorkspace})),Ni=I(jd()),Bo=I(Kd()==="manual"?"manual":"recent"),Po=I(Gd());Oe(()=>N.sessions,e=>{const t=kp(e,Lo),{next:n,changed:s}=bp(Po.value,t);s&&(Po.value=n,Su(n))});const qi=I(rp()),Qa=I(ig());function lS(e){const t=cp(qi.value,e);qi.value=t,up(t)}function rS(e,t){const n=lg(Qa.value,e,t);Qa.value=n,ag(n)}Oe(()=>[ti.value.map(e=>e.id).join("\0"),N.loading],([e,t])=>{if(t)return;const n=e?e.split("\0"):[],s=$u(ti.value,Po.value),o=vp(n,Ni.value,s);o!==null&&(Ni.value=o,bu(o));const{next:i,changed:u}=wp(Po.value,new Set(n));u&&(Po.value=i,Su(i))});const po=_(()=>{const e=ti.value.map(t=>({id:t.id,name:t.name,root:t.root,shortPath:Bw(t.root,N.fsHome),sessionCount:t.sessionCount}));if(Bo.value==="recent"){const t=$u(ti.value,Po.value);return yp(e,t)}return hp(e,Ni.value)}),Xi=_(()=>{const e=N.activeWorkspaceId,t=po.value;return e&&t.some(n=>n.id===e)?e:t[0]?.id??null});Oe(Xi,e=>{e&&(Object.prototype.hasOwnProperty.call(vt.skillsByWorkspace.value,e)||vt.loadSkillsForWorkspace(e))},{immediate:!0});const uS=_(()=>{const e=Xi.value;return e?po.value.find(t=>t.id===e)??null:null});function jc(e){return!e||e.state!=="open"&&e.state!=="closed"&&e.state!=="merged"?null:{number:e.number,state:e.state,url:e.url}}const cS=_(()=>{ei.value;const e=new Set(po.value.map(n=>n.id)),t=new Map(po.value.map(n=>[n.id,n.name]));return N.sessions.filter(n=>!n.parentSessionId&&e.has(Lo(n))).map(n=>{const s=Lo(n);return{id:n.id,title:n.title,time:Al(n.updatedAt),busy:Il(n.id,n.mainTurnActive),pendingInteraction:n.pendingInteraction,lastTurnReason:n.lastTurnReason,lastPrompt:n.lastPrompt,workspaceId:s,workspaceName:t.get(s),pullRequest:jc(N.gitStatusBySession[n.id]?.pullRequest)}})}),dS=_(()=>{ei.value;const e=new Map;for(const t of N.sessions.toSorted((n,s)=>new Date(s.updatedAt).getTime()-new Date(n.updatedAt).getTime())){if(t.parentSessionId)continue;const n=Lo(t),s={id:t.id,title:t.title,time:Al(t.updatedAt),busy:Il(t.id,t.mainTurnActive),pendingInteraction:t.pendingInteraction,lastTurnReason:t.lastTurnReason,updatedAt:t.updatedAt,pullRequest:jc(N.gitStatusBySession[t.id]?.pullRequest)},o=e.get(n)??[];o.push(s),e.set(n,o)}return po.value.map(t=>({workspace:t,sessions:_u(e.get(t.id)??[],qi.value),hasMore:N.sessionsHasMoreByWorkspace[t.id]??!1,loadingMore:N.sessionsLoadingMoreByWorkspace[t.id]??!1,initialCount:N.sessionsInitialCountByWorkspace[t.id]??Ha}))});function pS(e){Ni.value=e,bu(e),Bo.value!=="manual"&&(Bo.value="manual",wu("manual"))}function fS(e){Bo.value!==e&&(Bo.value=e,wu(e))}const Kc=_(()=>{const e={};for(const[t,n]of Object.entries(N.approvalsBySession))n.length>0&&(e[t]=(e[t]??0)+n.length);for(const[t,n]of Object.entries(N.questionsBySession))n.length>0&&(e[t]=(e[t]??0)+n.length);return e}),mS=_(()=>{const e={};for(const[t,n]of Object.entries(N.approvalsBySession))n.length>0&&((e[t]??={approvals:0,questions:0}).approvals=n.length);for(const[t,n]of Object.entries(N.questionsBySession))n.length>0&&((e[t]??={approvals:0,questions:0}).questions=n.length);return e}),vS=_(()=>{const e={};for(const[t,n]of Object.entries(N.unreadBySession))n&&(e[t]=!0);return e}),hS=_(()=>{const e={},t=Kc.value;for(const n of N.sessions){const s=t[n.id]??0;if(s<=0)continue;const o=Lo(n);e[o]=(e[o]??0)+s}return e}),gS=_(()=>N.recentRoots),yS=_(()=>N.availableOpenInApps),Le=bb(N,{taskPoller:qc,sideChat:$n,modelProvider:vt,pushOperationFailure:ai,activity:Pl,sessionsKnownEmpty:Fc,setSessions:_c,updateSession:Yi,upsertSessionFront:Rw,appendSession:Ow,forgetSession:xc,setActiveSessionId:$l,updateSessionMessages:Mc,nextOptimisticMsgId:Dc,getEventConn:()=>xn,syncSessionFromSnapshot:xl,reopenSession:d4,hasLoadedMessages:l4,refreshSessionStatus:ii,refreshSessionGoal:qw,persistSessionProfile:Lc,mergedWorkspaces:ti,workspacesView:po,status:Vc,workspaceIdForSession:Lo,savePermissionToStorage:Aw,savePlanModeToStorage:yc,savePlanArmedToStorage:kc,saveSwarmModeToStorage:bc,saveSupermoonModeToStorage:wc,saveGoalModeToStorage:Sc,draftModes:Do,saveUnread:il,saveActiveWorkspaceToStorage:Lw,saveHiddenWorkspacesToStorage:Ew,goalErrorMessage:o4,resetFastMoon:xs.resetFastMoon,initialized:Pc,connectIssue:Ec,selectedDiffPath:Ic,fileDiffLines:Ac,fileDiffLoading:Tc});function El(e){return e===N.activeSessionId&&typeof document<"u"&&document.visibilityState==="visible"&&document.hasFocus()}const ka=new Map;function kS(e){const t=ka.get(e);Dk(t)&&(ka.set(e,zk(t)),Te().generateSessionTitle(e,{source:"first_turn"}).then(n=>{n!==null&&ka.set(e,Fk())}).catch(()=>{}))}function bS(e){if(N.turnActiveBySession[e]){const t={...N.turnActiveBySession};delete t[e],N.turnActiveBySession=t}N.inFlightBySession[e]&&(N.inFlightBySession={...N.inFlightBySession,[e]:!1})}function wS(e,t,n){const s=N.promptIdBySession[e];Le.finishPromptLocal(e,{turnWasActive:n}),N.config?.experimental?.auto_session_title===!0&&kS(e),Le.loadGitStatus(e),e===N.activeSessionId?ii(e):t==="idle"&&(N.unreadBySession={...N.unreadBySession,[e]:!0},il({[e]:!0}));const o=(N.approvalsBySession[e]??[]).length>0,i=(N.questionsBySession[e]??[]).length>0;S2(t,o,i)&&ps.maybeNotifyCompletion(e,{isUserWatching:El(e),sessionTitle:N.sessions.find(u=>u.id===e)?.title??"",promptId:s,onClick:()=>{Le.selectSession(e)}}),t==="idle"&&Jo.maybePlayCompletionSound()}function SS(e,t){const n=t.questions[0],s=n?.header?.trim()??"",o=n?.question?.trim()??"",i=s&&o?`${s}: ${o}`:o||s;ps.maybeNotifyQuestion({isUserWatching:El(e),sessionTitle:N.sessions.find(u=>u.id===e)?.title??"",questionPreview:i,questionId:t.questionId,onClick:()=>{Le.selectSession(e)}}),Jo.maybePlayQuestionSound()}function CS(e,t){ps.maybeNotifyApproval({isUserWatching:El(e),sessionTitle:N.sessions.find(n=>n.id===e)?.title??"",toolName:t.toolName,approvalId:t.approvalId,onClick:()=>{Le.selectSession(e)}}),Jo.maybePlayApprovalSound()}function Ji(){return f4(),{workspace:k4,sessions:b4,activeSessionId:w4,workspacesView:po,workspaceSortMode:Bo,visibleWorkspace:uS,activeWorkspaceId:Xi,sessionsForView:cS,workspaceGroups:dS,attentionBySession:Kc,pendingBySession:mS,attentionByWorkspace:hS,unreadBySession:vS,pinnedSessionIds:qi,sessionEmojiBySession:Qa,recentRoots:gS,turns:_4,tasks:x4,activeAppTasks:li,todos:A4,goal:$o,swarms:Wc,swarmMembersByToolCallId:I4,activationBadges:j4,compaction:T4,status:Vc,sessionCost:tS,fileDiff:eS,selectedDiffPath:Ic,fileDiffLoading:Tc,changes:X4,gitInfo:Ga,gitDiffStats:J4,activePullRequest:Z4,changesByPath:aS,pendingApprovals:Y4,availableOpenInApps:yS,connection:P4,loading:E4,sessionLoading:L4,loadingMoreMessages:B4,hasMoreMessages:R4,loadMoreMessagesError:O4,serverVersion:D4,backend:Hc,dangerousBypassAuth:z4,clearDangerousBypassAuth:F4,initialized:Pc,connectIssue:Ec,permission:N4,thinking:q4,planMode:Uc,planArmed:W4,swarmMode:H4,supermoonMode:U4,goalMode:V4,queued:K4,warnings:G4,questions:Q4,activity:Pl,turnActive:Zi,inFlight:Tl,working:$4,modelRetry:M4,isStartingFirstPrompt:C4,fastMoon:xs.fastMoon,models:vt.models,starredModelIds:vt.starredModelIds,providers:vt.providers,uiFontSize:xs.uiFontSize,setUiFontSize:xs.setUiFontSize,conversationToc:Rc,setConversationToc:Uw,colorScheme:xs.colorScheme,setColorScheme:xs.setColorScheme,accent:xs.accent,setAccent:xs.setAccent,notifyOnComplete:ps.notifyOnComplete,notifyOnQuestion:ps.notifyOnQuestion,notifyOnApproval:ps.notifyOnApproval,notifyPermission:ps.notifyPermission,setNotifyOnComplete:ps.setNotifyOnComplete,setNotifyOnQuestion:ps.setNotifyOnQuestion,setNotifyOnApproval:ps.setNotifyOnApproval,soundOnComplete:Jo.soundOnComplete,setSoundOnComplete:Jo.setSoundOnComplete,onboarded:Oc,setOnboarded:jw,load:Le.load,selectSession:Le.selectSession,clearActiveSession:Le.clearActiveSession,loadOlderMessages:Le.loadOlderMessages,loadWorkspaces:Le.loadWorkspaces,loadMoreSessions:Le.loadMoreSessions,loadAllSessions:Le.loadAllSessions,selectWorkspace:Le.selectWorkspace,openWorkspace:Le.openWorkspace,openWorkspaceDraft:Le.openWorkspaceDraft,startSessionAndSendPrompt:Le.startSessionAndSendPrompt,startSessionAndActivateSkill:Le.startSessionAndActivateSkill,startSessionAndOpenSideChat:Le.startSessionAndOpenSideChat,addWorkspaceByPath:Le.addWorkspaceByPath,browseFs:Le.browseFs,getFsHome:Le.getFsHome,sendPrompt:Le.sendPrompt,steerPrompt:Le.steerPrompt,sideChatVisible:$n.sideChatVisible,sideChatSessionId:$n.sideChatSessionId,sideChatTurns:$n.sideChatTurns,sideChatRunning:$n.sideChatRunning,sideChatSending:$n.sideChatSending,openSideChat:$n.openSideChat,closeSideChat:$n.closeSideChat,sendSideChatPrompt:$n.sendSideChatPrompt,terminal:$i,uploadImage:Le.uploadImage,abortCurrentPrompt:Le.abortCurrentPrompt,respondApproval:Le.respondApproval,respondQuestion:Le.respondQuestion,dismissQuestion:Le.dismissQuestion,pendingQuestionActions:Le.pendingQuestionActions,pendingApprovalActions:Le.pendingApprovalActions,cancelTask:Le.cancelTask,setPermission:Le.setPermission,setThinking:vt.setThinking,setPlanMode:Le.setPlanMode,togglePlanMode:Le.togglePlanMode,armPlanMode:Le.armPlanMode,dismissPlanMode:Le.dismissPlanMode,togglePlanArm:Le.togglePlanArm,setSwarmMode:Le.setSwarmMode,toggleSwarmMode:Le.toggleSwarmMode,setSupermoonMode:Le.setSupermoonMode,toggleSupermoonMode:Le.toggleSupermoonMode,setGoalMode:Le.setGoalMode,toggleGoalMode:Le.toggleGoalMode,createGoal:Le.createGoal,controlGoal:Le.controlGoal,enqueue:Le.enqueue,dismissWarning:Le.dismissWarning,renameSession:Le.renameSession,regenerateSessionTitle:Le.regenerateSessionTitle,renameWorkspace:Le.renameWorkspace,deleteWorkspace:Le.deleteWorkspace,reorderWorkspaces:pS,setWorkspaceSortMode:fS,togglePinnedSession:lS,setSessionEmoji:rS,archiveSession:Le.archiveSession,exportSession:Le.exportSession,restoreSession:Le.restoreSession,loadArchivedSessions:Le.loadArchivedSessions,compact:Le.compact,forkSession:Le.forkSession,undo:Le.undo,unqueue:Le.unqueue,reorderQueue:Le.reorderQueue,searchFiles:Le.searchFiles,loadGitStatus:Le.loadGitStatus,loadFileDiff:Le.loadFileDiff,clearFileDiff:Le.clearFileDiff,listDir:Le.listDir,readFileContent:Le.readFileContent,getFileDownloadUrl:Le.getFileDownloadUrl,openWorkspaceFile:Le.openWorkspaceFile,openInApp:Le.openInApp,revealWorkspaceFile:Le.revealWorkspaceFile,resolveImageUrl:Le.resolveImageUrl,loadModels:vt.loadModels,loadProviders:vt.loadProviders,skills:S4,activateSkill:vt.activateSkill,setModel:vt.setModel,toggleStarModel:vt.toggleStarModel,addProvider:vt.addProvider,deleteProvider:vt.deleteProvider,refreshProvider:vt.refreshProvider,refreshAllProviders:vt.refreshAllProviders,importCatalogProvider:vt.importCatalogProvider,importRegistry:vt.importRegistry,authReady:nS,defaultModel:sS,managedProviderStatus:oS,config:iS,updateConfig:Le.updateConfig,checkAuth:Le.checkAuth,startOAuthLogin:vt.startOAuthLogin,pollOAuthLogin:vt.pollOAuthLogin,cancelOAuthLogin:vt.cancelOAuthLogin,logout:Le.logout}}const _S=["aria-label"],$S=Ie({__name:"Spinner",props:{size:{default:"md"},label:{default:"Loading"}},setup(e){return(t,n)=>(a(),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,_S))}}),Dt=Ee($S,[["__scopeId","data-v-e5c5b17d"]]),MS={key:0,class:"ui-badge__dot","aria-hidden":"true"},xS=Ie({__name:"Badge",props:{variant:{default:"neutral"},size:{default:"md"},dot:{type:Boolean}},setup(e){return(t,n)=>(a(),c("span",{class:pe(["ui-badge",[`ui-badge--${e.variant}`,`ui-badge--${e.size}`]])},[e.dot?(a(),c("span",MS)):A("",!0),yt(t.$slots,"default",{},void 0,!0)],2))}}),Ot=Ee(xS,[["__scopeId","data-v-5bc5cd6d"]]),IS=Ie({__name:"Menu",setup(e,{expose:t}){const n=I();return t({el:n}),(s,o)=>(a(),c("div",{ref_key:"el",ref:n,class:"ui-menu",role:"menu"},[yt(s.$slots,"default",{},void 0,!0)],512))}}),Hs=Ee(IS,[["__scopeId","data-v-60e6cd8d"]]),AS={key:0,class:"ui-menu-sep",role:"separator"},TS=["disabled"],PS=Ie({__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?(a(),c("div",AS)):(a(),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))},[yt(t.$slots,"default",{},void 0,!0)],10,TS))}}),dt=Ee(PS,[["__scopeId","data-v-f940771a"]]),zs=6,Fs=8,ES=150,LS=Ie({__name:"Tooltip",props:{text:{},placement:{default:"top"},maxWidth:{default:280},maxLines:{default:6}},setup(e){const t=e,n=I(),s=I(),o=I(!1),i=I(!1),u=I({maxWidth:`${t.maxWidth}px`});let p,f=null,v;function w(){const h=s.value;if(!f||!h)return;const y=f.getBoundingClientRect(),k=h.offsetWidth,T=h.offsetHeight,S=window.innerWidth,O=window.innerHeight;let D=t.placement;D==="top"&&y.top-zs-TO-Fs?D="top":D==="left"&&y.left-zs-kS-Fs&&(D="left");let E=0,R=0;D==="top"?(E=y.top-zs-T,R=y.left+y.width/2-k/2):D==="bottom"?(E=y.bottom+zs,R=y.left+y.width/2-k/2):D==="left"?(E=y.top+y.height/2-T/2,R=y.left-zs-k):(E=y.top+y.height/2-T/2,R=y.right+zs),R=Math.min(Math.max(R,Fs),S-Fs-k),E=Math.min(Math.max(E,Fs),O-Fs-T),u.value={maxWidth:`${t.maxWidth}px`,top:`${Math.round(E)}px`,left:`${Math.round(R)}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}),Ke(()=>{w(),i.value=!0})},ES))}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 M(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 ht(()=>{const h=n.value??null;M(h?.firstElementChild??h),h&&(v=new MutationObserver(()=>{const y=h.firstElementChild??null;y!==f&&(g(),M(y??h))}),v.observe(h,{childList:!0}))}),Ln(()=>{window.clearTimeout(p),window.removeEventListener("scroll",m,{capture:!0}),window.removeEventListener("resize",m),v?.disconnect(),M(null)}),(h,y)=>(a(),c(he,null,[r("span",{ref_key:"trigger",ref:n,class:"ui-tip"},[yt(h.$slots,"default",{},void 0,!0)],512),(a(),G(lo,{to:"body"},[gt(r("div",{ref_key:"bubble",ref:s,class:pe(["ui-tip__bubble",{positioned:i.value}]),style:rt([u.value,{"--tip-lines":e.maxLines}]),role:"tooltip"},d(e.text),7),[[Jn,o.value]])]))],64))}}),ot=Ee(LS,[["__scopeId","data-v-98697f45"]]),BS={class:"row"},RS={class:"lead","aria-hidden":"true"},OS={key:1,class:"unread-dot"},DS={class:"left"},zS=["onKeydown"],FS={key:0,class:"t-emoji","aria-hidden":"true"},NS=["aria-label"],qS={class:"act"},WS={class:"ts"},HS={key:0,class:"emoji-glyph"},US={class:"menu-time"},VS=["aria-label"],jS={class:"emoji-grid"},KS=["aria-label","onClick"],GS=Ie({__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}=Ue(),{pinnedSessionIds:o,sessionEmojiBySession:i,togglePinnedSession:u,setSessionEmoji:p,config:f,regenerateSessionTitle:v}=Ji(),w=e,x=n,g=_(()=>o.value.includes(w.session.id)),m=_(()=>i.value[w.session.id]??null),M=_(()=>f.value?.experimental?.auto_session_title===!0),h=_(()=>w.session.pullRequest??null),y=I(!1);async function k(){if(!y.value){y.value=!0;try{await v(w.session.id)}finally{y.value=!1}}}function T(){const Fe=h.value?.url;Fe&&window.open(Fe,"_blank","noopener")}function S(){u(w.session.id)}function O(Fe){p(w.session.id,Fe),_e()}function D(Fe){const Ze=new Date(Fe);if(Number.isNaN(Ze.getTime()))return Fe;const Ve=At=>String(At).padStart(2,"0");return`${Ze.getFullYear()}-${Ve(Ze.getMonth()+1)}-${Ve(Ze.getDate())} ${Ve(Ze.getHours())}:${Ve(Ze.getMinutes())}`}const E=_(()=>w.session.updatedAt?D(w.session.updatedAt):w.session.time),R=I(!1),q=I(null),V=I(null),b=I({});function P(Fe){const Ze=Fe.target;V.value?.el?.contains(Ze)||q.value?.el?.contains(Ze)||oe()}function L(){const Fe=q.value?.el;if(!Fe)return;const Ze=V.value?.el,Ve=Fe.getBoundingClientRect(),At=4,bt=8,Ct=Ze?.offsetHeight??0,dn=Ze?.offsetWidth??0;let Kt=Ve.bottom+At;Kt+Ct>window.innerHeight-bt&&(Kt=Math.max(bt,Ve.top-Ct-At));let zt=Ve.right-dn;ztdocument.addEventListener("mousedown",P),0),window.addEventListener("resize",oe),await Ke(),L()}function oe(){R.value=!1,document.removeEventListener("mousedown",P),window.removeEventListener("resize",oe)}kt(()=>{document.removeEventListener("mousedown",P),window.removeEventListener("resize",oe),document.removeEventListener("mousedown",fe),window.removeEventListener("resize",_e)});const ge=I(!1),Se=I(null),Q=I(null),ie=I({});function X(){const Fe=Se.value?.el;if(!Fe)return;const Ze=Q.value,Ve=Fe.getBoundingClientRect(),At=4,bt=8,Ct=Ze?.offsetHeight??0,dn=Ze?.offsetWidth??0;let Kt=Ve.bottom+At;Kt+Ct>window.innerHeight-bt&&(Kt=Math.max(bt,Ve.top-Ct-At));let zt=Ve.right-dn;ztdocument.addEventListener("mousedown",fe),0),window.addEventListener("resize",_e),await Ke(),X()}function _e(){ge.value=!1,document.removeEventListener("mousedown",fe),window.removeEventListener("resize",_e)}const Z=I(!1),U=I(""),ye=I(null),ae=I(!1);async function te(){oe(),Z.value=!0,ae.value=!1,U.value=w.session.title,await Ke();try{ye.value?.focus(),ye.value?.select()}catch{}}function ce(){const Fe=U.value.trim();Fe&&x("rename",w.session.id,Fe),Z.value=!1}function Be(){Z.value=!1}function Y(Fe){ae.value||Ti(Fe)||ce()}function ve(Fe){ae.value||Ti(Fe)||Be()}const B=I(!1),J=I(!1);async function me(){const Fe=await un(w.session.id);B.value=Fe,J.value=!Fe,setTimeout(()=>{B.value=!1,J.value=!1,oe()},1500)}function He(){oe(),x("fork",w.session.id)}function De(){oe(),x("export",w.session.id)}function an(){oe(),x("archive",w.session.id)}return t({closeMenu:oe}),(Fe,Ze)=>(a(),c("div",{class:pe(["se",{on:e.active,"has-gen":M.value}]),onClick:Ze[9]||(Ze[9]=Ve=>x("select",e.session.id))},[r("div",BS,[r("span",RS,[e.session.busy?(a(),G(Dt,{key:0,size:"sm"})):e.unread?(a(),c("span",OS)):A("",!0)]),r("div",DS,[Z.value?gt((a(),c("input",{key:0,ref_key:"renameInputRef",ref:ye,"onUpdate:modelValue":Ze[0]||(Ze[0]=Ve=>U.value=Ve),class:"rename-input",onClick:Ze[1]||(Ze[1]=Re(()=>{},["stop"])),onCompositionstart:Ze[2]||(Ze[2]=Ve=>ae.value=!0),onCompositionend:Ze[3]||(Ze[3]=Ve=>ae.value=!1),onKeydown:[En(Re(Y,["stop"]),["enter"]),En(Re(ve,["stop"]),["esc"])],onBlur:ce},null,40,zS)),[[qn,U.value]]):(a(),c("span",{key:1,class:"t",onDblclick:Re(te,["stop"])},[m.value?(a(),c("span",FS,d(m.value),1)):A("",!0),re(d(e.session.title),1)],32))]),$(ot,{text:l(s)("workspace.awaitingAnswerTitle")},{default:H(()=>[!Z.value&&(e.questionCount>0||e.session.pendingInteraction==="question")?(a(),G(Ot,{key:0,variant:"info",size:"sm"},{default:H(()=>[re(d(l(s)("workspace.awaitingAnswer")),1)]),_:1})):A("",!0)]),_:1},8,["text"]),$(ot,{text:l(s)("workspace.awaitingPermissionTitle")},{default:H(()=>[!Z.value&&(e.approvalCount>0||e.session.pendingInteraction==="approval")?(a(),G(Ot,{key:0,variant:"warning",size:"sm"},{default:H(()=>[re(d(l(s)("workspace.awaitingPermission")),1)]),_:1})):A("",!0)]),_:1},8,["text"]),$(ot,{text:l(s)("workspace.abortedTitle")},{default:H(()=>[!Z.value&&!e.session.busy&&e.session.pendingInteraction!=="question"&&e.session.pendingInteraction!=="approval"&&e.questionCount===0&&e.approvalCount===0&&l(Iu)(e.session)?(a(),G(Ot,{key:0,variant:"danger",size:"sm"},{default:H(()=>[re(d(l(s)("workspace.aborted")),1)]),_:1})):A("",!0)]),_:1},8,["text"]),!Z.value&&h.value?(a(),c("button",{key:0,type:"button",class:pe(["pr",`pr--${h.value.state}`]),"aria-label":l(s)("sidebar.prTag",{number:h.value.number}),onClick:Re(T,["stop"])},[$(se,{name:"git-pull-request",size:"sm"}),r("span",null,"#"+d(h.value.number),1)],10,NS)):A("",!0),r("span",qS,[r("span",WS,d(e.session.time),1),Z.value?A("",!0):(a(),G(nt,{key:0,class:pe(["btn pin",{on:g.value}]),size:"sm",label:g.value?l(s)("sidebar.unpin"):l(s)("sidebar.pin"),onClick:Re(S,["stop"])},{default:H(()=>[$(se,{name:g.value?"pin-fill":"pin"},null,8,["name"])]),_:1},8,["class","label"])),Z.value?A("",!0):(a(),G(nt,{key:1,ref_key:"emojiBtnRef",ref:Se,class:pe(["btn emoji-btn",{open:ge.value}]),size:"sm",label:l(s)("sidebar.emoji"),onClick:Ze[4]||(Ze[4]=Re(Ve=>Ce(Ve),["stop"]))},{default:H(()=>[m.value?(a(),c("span",HS,d(m.value),1)):(a(),G(se,{key:1,name:"emotion"}))]),_:1},8,["class","label"])),!Z.value&&M.value?(a(),G(nt,{key:2,class:pe(["btn gen-title",{open:y.value}]),size:"sm",label:l(s)("sidebar.genTitle"),disabled:y.value,onClick:Re(k,["stop"])},{default:H(()=>[y.value?(a(),G(Dt,{key:0,size:"sm"})):(a(),G(se,{key:1,name:"sparkles"}))]),_:1},8,["class","label","disabled"])):A("",!0),Z.value?A("",!0):(a(),G(nt,{key:3,ref_key:"kebabRef",ref:q,class:pe(["btn kebab",{open:R.value}]),size:"sm",label:l(s)("sidebar.options"),onClick:Ze[5]||(Ze[5]=Re(Ve=>ne(Ve),["stop"]))},{default:H(()=>[$(se,{name:"dots-horizontal"})]),_:1},8,["class","label"]))])]),(a(),G(lo,{to:"body"},[R.value?(a(),G(Hs,{key:0,ref_key:"menuRef",ref:V,class:"menu",style:rt(b.value),onClick:Ze[6]||(Ze[6]=Re(()=>{},["stop"]))},{default:H(()=>[$(dt,{danger:J.value,onClick:me},{default:H(()=>[$(se,{name:B.value?"check":"copy",size:"sm"},null,8,["name"]),re(" "+d(J.value?l(s)("sidebar.copyFailed"):B.value?l(s)("sidebar.copied"):l(s)("sidebar.copySessionId")),1)]),_:1},8,["danger"]),$(dt,{separator:""}),$(dt,{onClick:te},{default:H(()=>[$(se,{name:"pencil",size:"sm"}),re(" "+d(l(s)("sidebar.rename")),1)]),_:1}),$(dt,{onClick:He},{default:H(()=>[$(se,{name:"git-fork",size:"sm"}),re(" "+d(l(s)("sidebar.fork")),1)]),_:1}),$(dt,{onClick:De},{default:H(()=>[$(se,{name:"download",size:"sm"}),re(" "+d(l(s)("sidebar.export")),1)]),_:1}),$(dt,{danger:"",onClick:an},{default:H(()=>[$(se,{name:"archive",size:"sm"}),re(" "+d(l(s)("sidebar.archive")),1)]),_:1}),$(dt,{separator:""}),r("div",US,d(E.value),1)]),_:1},8,["style"])):A("",!0)])),(a(),G(lo,{to:"body"},[ge.value?(a(),c("div",{key:0,ref_key:"emojiPickerRef",ref:Q,class:"emoji-picker",role:"menu","aria-label":l(s)("sidebar.emoji"),style:rt(ie.value),onClick:Ze[8]||(Ze[8]=Re(()=>{},["stop"]))},[r("div",jS,[(a(!0),c(he,null,Pe(l(Au),Ve=>(a(),c("button",{key:Ve,type:"button",class:pe(["emoji-cell",{on:Ve===m.value}]),"aria-label":Ve,role:"menuitem",onClick:Re(At=>O(Ve),["stop"])},d(Ve),11,KS))),128))]),m.value?(a(),c("button",{key:0,type:"button",class:"emoji-clear",role:"menuitem",onClick:Ze[7]||(Ze[7]=Re(Ve=>O(null),["stop"]))},d(l(s)("sidebar.emojiRemove")),1)):A("",!0)],12,VS)):A("",!0)]))],2))}}),Gc=Ee(GS,[["__scopeId","data-v-1c24e83d"]]),QS=["draggable"],YS={class:"gh-top"},ZS={class:"gh-name"},XS=["inert"],JS=["disabled"],e3={class:"show-more-label"},t3={class:"show-more-label"},n3={key:2,class:"group-empty"},s3=Ie({__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}=Ue(),s=e,o=t,i=_({get:()=>s.renameValue,set:y=>o("updateRenameValue",y)}),u=_(()=>s.renamingId===s.group.workspace.id),p=_(()=>{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(k=>k.id===s.activeId)){const k=s.group.sessions.find(T=>T.id===s.activeId);if(k)return[...y,k]}return y}),f=_(()=>s.group.sessions.length>s.group.initialCount);function v(){return Math.max(0,s.group.workspace.sessionCount-s.group.sessions.length)}function w(){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=I(!1);function M(y){m.value||Ti(y)||o("confirmRename")}function h(y){m.value||Ti(y)||o("cancelRename")}return(y,k)=>(a(),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:k[7]||(k[7]=Re(T=>o("groupClick",e.group.workspace.id,T),["stop"])),onContextmenu:k[8]||(k[8]=T=>o("groupContextmenu",e.group.workspace,T)),onDragstart:g,onDragend:k[9]||(k[9]=T=>o("wsDragend"))},[r("div",YS,[e.isCollapsed(e.group.workspace.id)?(a(),G(se,{key:0,class:"gh-folder",name:"folder-closed"})):(a(),G(se,{key:1,class:"gh-folder",name:"folder"})),e.renamingId!==e.group.workspace.id?(a(),G(ot,{key:2,text:e.group.workspace.root},{default:H(()=>[r("span",ZS,d(e.group.workspace.name),1)]),_:1},8,["text"])):gt((a(),c("input",{key:3,ref:x,"onUpdate:modelValue":k[0]||(k[0]=T=>i.value=T),class:"gh-rename",type:"text",onCompositionstart:k[1]||(k[1]=T=>m.value=!0),onCompositionend:k[2]||(k[2]=T=>m.value=!1),onKeydown:[En(M,["enter"]),En(h,["esc"])],onBlur:k[3]||(k[3]=T=>o("cancelRename")),onClick:k[4]||(k[4]=Re(()=>{},["stop"]))},null,544)),[[qn,i.value]]),e.renamingId!==e.group.workspace.id?(a(),c("div",{key:4,class:pe(["gh-actions",{open:e.wsMenuOpenId===e.group.workspace.id}])},[$(nt,{class:pe(["gh-more",{open:e.wsMenuOpenId===e.group.workspace.id}]),size:"sm",label:l(n)("sidebar.options"),"aria-haspopup":"menu","aria-expanded":e.wsMenuOpenId===e.group.workspace.id,onClick:k[5]||(k[5]=Re(T=>o("toggleWsMenu",e.group.workspace,T),["stop"]))},{default:H(()=>[$(se,{name:"dots-horizontal"})]),_:1},8,["class","label","aria-expanded"]),$(nt,{class:"gh-add",size:"sm",label:l(n)("workspace.newInGroup"),onClick:k[6]||(k[6]=Re(T=>o("createInWorkspace",e.group.workspace.id),["stop"]))},{default:H(()=>[$(se,{name:"chat-new"})]),_:1},8,["label"])],2)):A("",!0)])],42,QS),r("div",{class:pe(["group-sessions",{collapsed:e.isCollapsed(e.group.workspace.id)}]),inert:e.isCollapsed(e.group.workspace.id)},[(a(!0),c(he,null,Pe(p.value,T=>(a(),G(Gc,{key:T.id,session:T,active:T.id===e.activeId,"approval-count":e.pendingBySession[T.id]?.approvals??0,"question-count":e.pendingBySession[T.id]?.questions??0,unread:e.unreadBySession[T.id]??!1,onSelect:k[10]||(k[10]=S=>o("selectSession",S)),onRename:k[11]||(k[11]=(S,O)=>o("renameSession",S,O)),onArchive:k[12]||(k[12]=S=>o("archiveSession",S)),onFork:k[13]||(k[13]=S=>o("forkSession",S)),onExport:k[14]||(k[14]=S=>o("exportSession",S))},null,8,["session","active","approval-count","question-count","unread"]))),128)),e.group.hasMore||e.group.loadingMore?(a(),c("button",{key:0,class:"show-more",disabled:e.group.loadingMore,onClick:k[15]||(k[15]=Re(T=>o("loadMore",e.group.workspace.id),["stop"]))},[k[17]||(k[17]=r("span",{class:"show-more-lead","aria-hidden":"true"},null,-1)),r("span",e3,d(e.group.loadingMore?l(n)("sidebar.loadingMore"):l(n)("sidebar.showMore",{count:v()})),1)],8,JS)):A("",!0),f.value?(a(),c("button",{key:1,class:"show-more",onClick:k[16]||(k[16]=Re(T=>o("toggleExpand",e.group.workspace.id),["stop"]))},[k[18]||(k[18]=r("span",{class:"show-more-lead","aria-hidden":"true"},null,-1)),r("span",t3,d(e.isExpanded(e.group.workspace.id)?l(n)("sidebar.showLess"):l(n)("sidebar.showAll",{count:w()})),1)])):A("",!0),e.group.sessions.length===0?(a(),c("div",n3,d(l(n)("sidebar.noSessions")),1)):A("",!0)],10,XS)],2))}}),o3=Ee(s3,[["__scopeId","data-v-ec29996e"]]),i3="kimi_desktop",a3="platform",Rr="kimi-desktop",Or="kimi-desktop-platform";function l3(){let e=!1,t=null;try{const n=new URLSearchParams(window.location.search);n.has(i3)?(sessionStorage.setItem(Rr,"1"),e=!0):e=e||sessionStorage.getItem(Rr)==="1";const s=n.get(a3);s?(sessionStorage.setItem(Or,s),t=s):t=sessionStorage.getItem(Or)}catch{}return{isDesktop:e,platform:t}}const Ya=l3(),r3=Ya.isDesktop,Eo=Ya.isDesktop&&Ya.platform==="darwin",u3={class:"ui-kbd"},c3=Ie({__name:"Kbd",props:{keys:{}},setup(e){return(t,n)=>(a(),c("span",u3,[(a(!0),c(he,null,Pe(e.keys,s=>(a(),c("kbd",{key:s,class:"ui-kbd__key"},d(s),1))),128))]))}}),_s=Ee(c3,[["__scopeId","data-v-32292ed8"]]),d3="(prefers-reduced-motion: reduce)";function p3(){if(!(typeof window>"u"||typeof window.matchMedia!="function"))return window.matchMedia(d3)}function f3(e,t=p3){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 m3=["aria-label"],v3=Ie({__name:"KimiMascot",props:{label:{}},setup(e){const t=I(!1);let n;return ht(()=>{n=f3(s=>{t.value=!s})}),Ln(()=>n?.()),(s,o)=>(a(),c("span",{class:pe(["kimi-mascot",{"kimi-mascot--pulse":t.value}]),role:"img","aria-label":e.label},[$(se,{name:"sparkles",size:"sm"})],10,m3))}}),h3=Ee(v3,[["__scopeId","data-v-6634dad2"]]),g3=["disabled","aria-pressed"],y3=Ie({__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?(a(),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))},[yt(t.$slots,"default",{},void 0,!0)],10,g3)):(a(),c("span",{key:1,class:pe(["ui-pill",{"is-active":e.active}])},[yt(t.$slots,"default",{},void 0,!0)],2))}}),eo=Ee(y3,[["__scopeId","data-v-317ace1a"]]),k3={class:"ch"},b3={class:"ch-brand"},w3={class:"ch-backend-ep"},S3={class:"btn-wrap"},C3={class:"search-input"},_3={key:0,class:"empty"},$3={class:"side-section-label"},M3={class:"side-section-title"},x3={class:"side-section-actions"},I3={key:0,class:"empty"},A3=["onDragover","onDrop"],T3={class:"side-footer"},P3={class:"section-menu-check"},E3={class:"section-menu-check"},L3={class:"section-menu-check"},B3={class:"backend-menu-name"},R3={class:"backend-menu-url"},O3=1e3,D3=Ie({__name:"Sidebar",props:{activeWorkspace:{default:null},activeWorkspaceId:{default:null},sessions:{},groups:{},pinnedSessionIds:{default:()=>[]},activeId:{},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","collapse"],setup(e,{emit:t}){const{t:n}=Ue(),s=!1,o=I(null),i=_(()=>""),u=["default","multi"];function p(we){const be=o.value?.presets[we]??"";return be?ip(be):""}function f(we){const be=o.value;return be!==null&&be.current===be.presets[we]}const v=e,w=t,x=I(!1),g=h()?["⌘","K"]:["Ctrl","K"];function m(){w("loadAllSessions"),x.value=!0}function M(we){(we.metaKey||we.ctrlKey)&&we.key.toLowerCase()==="k"&&(we.preventDefault(),m())}ht(()=>window.addEventListener("keydown",M)),Ln(()=>window.removeEventListener("keydown",M));function h(){if(typeof navigator>"u")return!1;if(/Mac|iPod|iPhone|iPad/.test(navigator.platform))return!0;const we=navigator.userAgentData;return we?.platform==="macOS"||we?.platform==="iOS"}const y=I(!1);function k(we){y.value=we.target.scrollTop>0}const T=I(pp());function S(){T.value=T.value==="flat"?"grouped":"flat",fp(T.value)}const O=_(()=>mp(v.groups,v.pinnedSessionIds)),D=I(new Set(Vd()));function E(we){return D.value.has(we)}function R(we){const be=new Set(D.value);be.has(we)?be.delete(we):be.add(we),D.value=be,ta(be)}function q(){const we=new Set(v.groups.map(be=>be.workspace.id));D.value=we,ta(we)}function V(){const we=new Set;D.value=we,ta(we)}const b=_(()=>v.groups.length>0&&v.groups.every(we=>D.value.has(we.workspace.id))),P=I(new Set);function L(we){return P.value.has(we)}function ne(we){const be=new Set(P.value);be.has(we)?be.delete(we):be.add(we),P.value=be}function oe(we){if(!P.value.has(we)){const be=new Set(P.value);be.add(we),P.value=be}w("loadMoreSessions",we)}const ge=I(null),Se=I(null);function Q(we){ge.value=we}function ie(){ge.value=null,Se.value=null}function X(we){const be=we.currentTarget.getBoundingClientRect();return we.clientYat.workspace.id),be,we,Ge);w("reorderWorkspaces",Je)}function _e(we,be){be.target.closest(".gh-more, .gh-add")||R(we)}function Z(we){w("select",we)}const U=I(null),ye=I(""),ae=I(null);function te(){return ae}function ce(we,be){U.value=we,ye.value=be,Ke().then(()=>ae.value?.focus())}function Be(){const we=U.value,be=ye.value.trim();we&&be&&w("renameWorkspace",we,be),U.value=null}function Y(){U.value=null}function ve(we){ye.value=we}const B=I(!1),J=I(null),me=I({}),He=I(null);function De(we){He.value?.el&&!He.value.el.contains(we.target)&&Fe()}function an(we,be){be.preventDefault(),be.stopPropagation(),J.value=we,me.value={top:`${be.clientY}px`,left:`${be.clientX}px`},B.value=!0,document.addEventListener("mousedown",De,!0)}function Fe(){B.value=!1,document.removeEventListener("mousedown",De,!0),J.value=null}function Ze(){J.value&&un(J.value.root),Fe()}function Ve(){J.value&&ce(J.value.id,J.value.name),Fe()}function At(){const we=J.value;we&&(Fe(),w("deleteWorkspace",we.id))}const bt=I(null),Ct=I(null),dn=I({}),Kt=I(null);function zt(we){const be=we.target;be.closest(".gh-more")||be.closest(".ws-menu")||nn()}async function hs(we,be){if(bt.value===we.id){nn();return}const Ge=be.currentTarget;Ct.value=we,bt.value=we.id,document.addEventListener("mousedown",zt),window.addEventListener("resize",nn),await Ke();const Je=Kt.value?.el,at=Ge.getBoundingClientRect(),Ht=4,Qt=8,Pt=Je?.offsetHeight??0,Ut=Je?.offsetWidth??0;let Vt=at.bottom+Ht;Vt+Pt>window.innerHeight-Qt&&(Vt=Math.max(Qt,at.top-Pt-Ht));let Tn=at.right-Ut;Tnwindow.innerHeight-Ht&&(Ut=Math.max(Ht,Je.top-Qt-at));let Vt=Je.right-Pt;Vtwindow.innerHeight-Ht&&(Pt=Math.max(Ht,Je.top-Qt-at)),yn.value={top:`${Math.round(Pt)}px`,left:`${Math.round(Math.max(Ht,Je.left))}px`}}function Gt(){Rn.value=!1,document.removeEventListener("mousedown",$t),window.removeEventListener("resize",Gt)}async function kn(we){if(f(we)){Gt();return}if(await op(we)===null){console.warn("[kimi-web] dev backend switch failed:",we),Gt();return}window.location.reload()}Ln(()=>{document.removeEventListener("mousedown",De,!0),document.removeEventListener("mousedown",zt),document.removeEventListener("mousedown",gn),document.removeEventListener("mousedown",$t),window.removeEventListener("resize",nn),window.removeEventListener("resize",fn),window.removeEventListener("resize",Gt)});const An=I(null);let Rt;function sn(){const we=An.value;we&&(we.classList.remove("blink-now"),we.getBoundingClientRect(),we.classList.add("blink-now"),clearTimeout(Rt),Rt=setTimeout(()=>we.classList.remove("blink-now"),300))}const qt=hu(()=>ku(()=>import("./DesignSystemView-C__d9M7L.js"),__vite__mapDeps([0,1,2,3,4,5,6,7]))),Xt=I(!1);let Wt,ct=!1;function lt(we){ct=!1,clearTimeout(Wt),we.currentTarget.setPointerCapture?.(we.pointerId),Wt=setTimeout(()=>{ct=!0,Xt.value=!0},O3)}function on(we){clearTimeout(Wt);const be=we.currentTarget;be.hasPointerCapture?.(we.pointerId)&&be.releasePointerCapture(we.pointerId)}function Jt(){if(ct){ct=!1;return}sn()}return Ln(()=>{clearTimeout(Wt)}),(we,be)=>(a(),c("aside",{class:pe(["side",{"macos-desktop":l(Eo),collapsed:e.collapsed,"no-anim":e.dragging}]),style:rt({width:e.collapsed?"0px":e.colWidth+"px"})},[r("div",{class:"col",style:rt({width:e.colWidth+"px"})},[r("div",k3,[r("div",b3,[l(Eo)?A("",!0):(a(),c(he,{key:0},[(a(),c("svg",{ref_key:"logoRef",ref:An,class:pe(["ch-logo",{"is-dev":l(s)}]),viewBox:"0 0 32 22",fill:"none",xmlns:"http://www.w3.org/2000/svg",role:"img","aria-label":"Kimi Code",onClick:Jt,onPointerdown:lt,onPointerup:on,onPointercancel:on},[...be[26]||(be[26]=[sl(' ',2)])],34)),be[27]||(be[27]=r("span",{class:"ch-name"},"Kimi Code",-1)),l(s)?(a(),G(eo,{key:0,class:"ch-backend",clickable:o.value!==null,title:l(n)("sidebar.backendTitle",{backend:e.backend,endpoint:i.value}),onClick:Zt},{default:H(()=>[r("span",{class:pe(["ch-backend-kind",`is-${e.backend}`])},d(e.backend),3),r("span",w3," · "+d(i.value),1),o.value!==null?(a(),G(se,{key:0,name:"chevron-down",size:"sm"})):A("",!0)]),_:1},8,["clickable","title"])):A("",!0)],64))]),l(Eo)?A("",!0):(a(),G(nt,{key:0,class:"ch-collapse",size:"sm",label:l(n)("sidebar.collapseSidebar"),onClick:be[0]||(be[0]=Re(Ge=>w("collapse"),["stop"]))},{default:H(()=>[$(se,{name:"panel-collapse"})]),_:1},8,["label"]))]),r("div",S3,[r("button",{class:"btn-new-chat",type:"button",onClick:be[1]||(be[1]=Re(Ge=>w("create"),["stop"]))},[$(se,{name:"chat-new"}),r("span",null,d(l(n)("sidebar.newChat")),1)]),A("",!0)]),r("div",{class:pe(["search-wrap",{"search-wrap--scrolled":y.value}])},[r("button",{class:"search",type:"button",onClick:m},[$(se,{class:"search-icon",name:"search"}),r("span",C3,d(l(n)("sidebar.search")),1),$(_s,{keys:l(g)},null,8,["keys"])])],2),r("div",{class:"sessions",onScroll:k},[e.groups.length===0?(a(),c("div",_3,d(l(n)("workspace.noWorkspace")),1)):(a(),c(he,{key:1},[r("div",$3,[r("span",M3,d(T.value==="flat"?l(n)("sidebar.sessionsHeader"):l(n)("sidebar.workspaces")),1),r("div",x3,[T.value!=="flat"?(a(),c(he,{key:0},[$(nt,{class:"side-section-toggle",size:"sm",label:b.value?l(n)("sidebar.expandAll"):l(n)("sidebar.collapseAll"),onClick:be[3]||(be[3]=Re(Ge=>b.value?V():q(),["stop"]))},{default:H(()=>[b.value?(a(),G(se,{key:0,name:"expand"})):(a(),G(se,{key:1,name:"collapse"}))]),_:1},8,["label"]),$(nt,{class:"side-section-toggle side-section-kebab",size:"sm",label:l(n)("sidebar.options"),"aria-haspopup":"menu","aria-expanded":_t.value,onClick:be[4]||(be[4]=Re(Ge=>Tt(Ge),["stop"]))},{default:H(()=>[$(se,{name:"dots-horizontal"})]),_:1},8,["label","aria-expanded"])],64)):A("",!0),$(nt,{class:"side-section-toggle side-section-view",size:"sm",label:T.value==="flat"?l(n)("sidebar.viewModeGrouped"):l(n)("sidebar.viewModeFlat"),"aria-pressed":T.value==="flat",onClick:Re(S,["stop"])},{default:H(()=>[$(se,{name:T.value==="flat"?"folder":"list"},null,8,["name"])]),_:1},8,["label","aria-pressed"])])]),T.value==="flat"?(a(),c(he,{key:0},[(a(!0),c(he,null,Pe(O.value,Ge=>(a(),G(Gc,{key:Ge.id,session:Ge,active:Ge.id===e.activeId,"approval-count":e.pendingBySession[Ge.id]?.approvals??0,"question-count":e.pendingBySession[Ge.id]?.questions??0,unread:e.unreadBySession[Ge.id]??!1,onSelect:Z,onRename:be[5]||(be[5]=(Je,at)=>w("rename",Je,at)),onArchive:be[6]||(be[6]=Je=>w("archive",Je)),onFork:be[7]||(be[7]=Je=>w("fork",Je)),onExport:be[8]||(be[8]=Je=>w("export",Je))},null,8,["session","active","approval-count","question-count","unread"]))),128)),O.value.length===0?(a(),c("div",I3,d(l(n)("sidebar.noSessions")),1)):A("",!0)],64)):(a(!0),c(he,{key:1},Pe(e.groups,Ge=>(a(),c("div",{key:Ge.workspace.id,class:pe(["ws-drop-target",{"drop-before":Se.value?.id===Ge.workspace.id&&Se.value.position==="before","drop-after":Se.value?.id===Ge.workspace.id&&Se.value.position==="after"}]),onDragover:Je=>fe(Je,Ge.workspace.id),onDrop:Je=>Ce(Ge.workspace.id)},[$(o3,{group:Ge,"active-workspace-id":e.activeWorkspaceId,"active-id":e.activeId,"renaming-id":U.value,"rename-value":ye.value,"rename-input-ref":te(),"pending-by-session":e.pendingBySession,"unread-by-session":e.unreadBySession,"ws-menu-open-id":bt.value,dragging:ge.value===Ge.workspace.id,"is-collapsed":E,"is-expanded":L,onGroupClick:_e,onGroupContextmenu:an,onToggleWsMenu:hs,onCreateInWorkspace:be[9]||(be[9]=Je=>w("createInWorkspace",Je)),onSelectSession:Z,onRenameSession:be[10]||(be[10]=(Je,at)=>w("rename",Je,at)),onArchiveSession:be[11]||(be[11]=Je=>w("archive",Je)),onForkSession:be[12]||(be[12]=Je=>w("fork",Je)),onExportSession:be[13]||(be[13]=Je=>w("export",Je)),onLoadMore:oe,onToggleExpand:ne,onConfirmRename:Be,onCancelRename:Y,onUpdateRenameValue:ve,onWsDragstart:Q,onWsDragend:ie},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,A3))),128))],64))],32),r("div",T3,[r("button",{class:"btn-settings",type:"button",onClick:be[14]||(be[14]=Re(Ge=>w("openSettings"),["stop"]))},[$(se,{name:"settings"}),r("span",null,d(l(n)("settings.title")),1)]),$(h3,{class:"side-mascot",label:l(n)("sidebar.mascot")},null,8,["label"])])],4),B.value?(a(),G(Hs,{key:0,ref_key:"ghMenuRef",ref:He,class:"gh-menu",style:rt(me.value),onClick:be[15]||(be[15]=Re(()=>{},["stop"]))},{default:H(()=>[$(dt,{onClick:Ze},{default:H(()=>[re(d(l(n)("sidebar.copyPath")),1)]),_:1}),$(dt,{onClick:Ve},{default:H(()=>[re(d(l(n)("sidebar.rename")),1)]),_:1}),$(dt,{danger:"",onClick:At},{default:H(()=>[re(d(l(n)("sidebar.removeWorkspace")),1)]),_:1})]),_:1},8,["style"])):A("",!0),bt.value!==null&&Ct.value?(a(),G(Hs,{key:1,ref_key:"wsMenuRef",ref:Kt,class:"ws-menu",style:rt(dn.value),onClick:be[19]||(be[19]=Re(()=>{},["stop"]))},{default:H(()=>[$(dt,{onClick:be[16]||(be[16]=Ge=>ut(Ct.value))},{default:H(()=>[re(d(l(n)("sidebar.copyPath")),1)]),_:1}),$(dt,{separator:""}),$(dt,{onClick:be[17]||(be[17]=Ge=>Ft(Ct.value))},{default:H(()=>[re(d(l(n)("sidebar.rename")),1)]),_:1}),$(dt,{separator:""}),$(dt,{danger:"",onClick:be[18]||(be[18]=Ge=>In(Ct.value))},{default:H(()=>[re(d(l(n)("sidebar.removeWorkspace")),1)]),_:1})]),_:1},8,["style"])):A("",!0),_t.value?(a(),G(Hs,{key:2,ref_key:"sectionMenuRef",ref:Nt,class:"section-menu",style:rt(pn.value),onClick:be[22]||(be[22]=Re(()=>{},["stop"]))},{default:H(()=>[$(dt,{onClick:be[20]||(be[20]=Ge=>mn("manual"))},{default:H(()=>[r("span",P3,[e.workspaceSortMode==="manual"?(a(),G(se,{key:0,name:"check",size:"sm"})):A("",!0)]),re(" "+d(l(n)("sidebar.sortManual")),1)]),_:1}),$(dt,{onClick:be[21]||(be[21]=Ge=>mn("recent"))},{default:H(()=>[r("span",E3,[e.workspaceSortMode==="recent"?(a(),G(se,{key:0,name:"check",size:"sm"})):A("",!0)]),re(" "+d(l(n)("sidebar.sortRecent")),1)]),_:1})]),_:1},8,["style"])):A("",!0),Rn.value?(a(),G(Hs,{key:3,ref_key:"backendMenuRef",ref:Gn,class:"backend-menu",style:rt(yn.value),onClick:be[23]||(be[23]=Re(()=>{},["stop"]))},{default:H(()=>[(a(),c(he,null,Pe(u,Ge=>$(dt,{key:Ge,onClick:Je=>kn(Ge)},{default:H(()=>[r("span",L3,[f(Ge)?(a(),G(se,{key:0,name:"check",size:"sm"})):A("",!0)]),r("span",B3,d(Ge),1),r("span",R3,d(p(Ge)),1)]),_:2},1032,["onClick"])),64))]),_:1},8,["style"])):A("",!0),x.value?(a(),G(sg,{key:4,sessions:e.sessions,"active-id":e.activeId,onSelect:Z,onClose:be[24]||(be[24]=Ge=>x.value=!1)},null,8,["sessions","active-id"])):A("",!0),(a(),G(lo,{to:"body"},[Xt.value?(a(),G(l(qt),{key:0,onClose:be[25]||(be[25]=Ge=>Xt.value=!1)})):A("",!0)]))],6))}}),z3=Ee(D3,[["__scopeId","data-v-7e5a3931"]]);function F3(e){try{const t=It(e);if(t===null)return null;const n=Number(t);return Number.isFinite(n)?n:null}catch{return null}}function N3(e,t){try{Bt(e,String(t))}catch{}}function q3(e){const{storageKey:t,defaultWidth:n,min:s,max:o,reverse:i=!1}=e;function u(k){return Number.isFinite(k)?Math.min(Wo(o),Math.max(s,Math.round(k))):n}const p=I(u(F3(t)??n)),f=I(!1);function v(k){const T=u(k);p.value=T,N3(t,T)}let w=0,x=0,g=null,m=-1;function M(k){if(!f.value)return;const T=k.clientX-w;v(x+(i?-T:T))}function h(){if(f.value){if(f.value=!1,typeof document<"u"&&(document.body.style.userSelect="",document.body.style.cursor=""),g){try{g.releasePointerCapture(m)}catch{}g.removeEventListener("pointermove",M),g.removeEventListener("pointerup",h),g.removeEventListener("pointercancel",h)}g=null,m=-1}}function y(k){k.preventDefault(),f.value=!0,w=k.clientX,x=u(p.value),g=k.currentTarget,m=k.pointerId,typeof document<"u"&&(document.body.style.userSelect="none",document.body.style.cursor="col-resize");try{g.setPointerCapture(m)}catch{}g.addEventListener("pointermove",M),g.addEventListener("pointerup",h),g.addEventListener("pointercancel",h)}return Ln(h),{width:p,dragging:f,clamp:u,setWidth:v,onPointerDown:y}}const W3=["aria-label"],H3=Ie({__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}=Ue(),{width:i,dragging:u,onPointerDown:p}=q3({storageKey:n.storageKey,defaultWidth:n.defaultWidth,min:n.min,max:()=>n.max,reverse:n.reverse});return s("update:width",i.value),Oe(i,f=>s("update:width",f)),Oe(u,f=>s("update:dragging",f)),(f,v)=>(a(),c("div",{class:pe(["rh",{dragging:l(u)}]),role:"separator","aria-orientation":"vertical","aria-label":e.ariaLabel??l(o)("layout.resizeHandleAria"),onPointerdown:v[0]||(v[0]=(...w)=>l(p)&&l(p)(...w))},[...v[1]||(v[1]=[r("span",{class:"rh-bar","aria-hidden":"true"},null,-1)])],42,W3))}}),Dr=Ee(H3,[["__scopeId","data-v-48fd0a6d"]]),U3=Ie({__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=_(()=>n(t.status));return(o,i)=>(a(),c("span",{class:pe(["kw-dot",`kw-dot--${s.value}`]),"aria-hidden":"true"},null,2))}}),Ro=Ee(U3,[["__scopeId","data-v-e36198e5"]]),V3=["innerHTML"],j3={class:"bh-text"},K3={class:"a"},G3={key:0,class:"p"},Q3={class:"rt"},Y3=["aria-label"],Z3={key:0,class:"tm"},X3=["inert"],J3={class:"bb-pad"},eC=Ie({__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=mo("pinScroll",()=>{}),o=I(null);function i(){n("toggle");const u=o.value;u&&Ke(()=>s(u))}return(u,p)=>(a(),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?(a(),c("span",{key:0,class:"gl",innerHTML:e.icon,"aria-hidden":"true"},null,8,V3)):A("",!0),r("span",j3,[r("span",K3,d(e.name),1),$(ot,{text:e.arg},{default:H(()=>[e.arg?(a(),c("span",G3,d(e.arg),1)):A("",!0)]),_:1},8,["text"])]),r("span",Q3,[r("span",{class:pe(["status",e.status]),role:"status","aria-label":e.status},[e.status==="ok"?(a(),G(se,{key:0,name:"check",size:"sm"})):e.status==="error"?(a(),G(se,{key:1,name:"close",size:"sm"})):e.status==="suspended"?(a(),G(Ro,{key:2,status:"suspended"})):(a(),G(Ro,{key:3,status:"running"}))],10,Y3),yt(u.$slots,"trailing"),e.time?(a(),c("span",Z3,d(e.time),1)):A("",!0)]),e.expandable?(a(),G(se,{key:1,class:"car",name:e.open?"chevron-down":"chevron-right",size:"sm"},null,8,["name"])):A("",!0)],512),r("div",{class:pe(["bb",{open:e.open}]),inert:!e.open},[r("div",J3,[yt(u.$slots,"default")])],10,X3)],2))}}),ri=Ee(eC,[["__scopeId","data-v-fef8aad2"]]),tC={key:0,class:"at-type"},nC={key:0,class:"at-type-sep"},sC={key:1,class:"at-task"},oC={key:2,class:"bb-code"},iC=Ie({__name:"AgentTool",props:{tool:{},mobile:{type:Boolean,default:!1},stackPosition:{default:"single"},toolDiffPanel:{type:Boolean,default:!1}},emits:["openMedia","openFile","openToolDiff","openAgent"],setup(e,{emit:t}){const{t:n}=Ue(),s=e,o=t;function i(k){if(!k)return{};try{const T=JSON.parse(k);return{description:typeof T.description=="string"?T.description:void 0,subagentType:typeof T.subagent_type=="string"?T.subagent_type:void 0,prompt:typeof T.prompt=="string"?T.prompt:void 0,model:typeof T.model=="string"?T.model:void 0,thinkingEffort:typeof T.thinking_effort=="string"?T.thinking_effort:void 0}}catch{return{}}}const u=_(()=>i(s.tool.arg)),p=_(()=>!!s.tool.output&&s.tool.output.length>0),f=_(()=>!!u.value.prompt||!!u.value.subagentType||p.value),v=I(s.tool.defaultExpanded===!0&&f.value),w=_(()=>s.tool.status),x=_(()=>Ks(s.tool.name)),g=_(()=>ni(s.tool.name)),m=_(()=>u.value.description||u.value.subagentType||""),M=mo("resolveAgentTaskId"),h=_(()=>M?M(s.tool.id)!==void 0:!0);function y(){f.value&&(v.value=!v.value)}return Oe(()=>[s.tool.defaultExpanded,s.tool.output?.length,s.tool.status],()=>{s.tool.defaultExpanded===!0&&f.value&&(v.value=!0)}),(k,T)=>(a(),G(ri,{status:w.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:y},{trailing:H(()=>[h.value?(a(),c("button",{key:0,type:"button",class:"at-open",onClick:T[0]||(T[0]=Re(S=>o("openAgent",e.tool.id),["stop"]))},d(l(n)("tasks.openDetail")),1)):A("",!0)]),default:H(()=>[u.value.subagentType||u.value.model||u.value.thinkingEffort?(a(),c("div",tC,[u.value.subagentType?(a(),c(he,{key:0},[re(d(u.value.subagentType),1)],64)):A("",!0),u.value.model?(a(),c(he,{key:1},[u.value.subagentType?(a(),c("span",nC,"·")):A("",!0),re(d(u.value.model),1)],64)):A("",!0),u.value.thinkingEffort?(a(),c(he,{key:2},[T[1]||(T[1]=r("span",{class:"at-type-sep"},"·",-1)),re(d(l(n)("tasks.thinkingEffort",{effort:u.value.thinkingEffort})),1)],64)):A("",!0)])):A("",!0),u.value.prompt?(a(),c("div",sC,d(u.value.prompt),1)):A("",!0),p.value?(a(),c("div",oC,[(a(!0),c(he,null,Pe(e.tool.output??[],(S,O)=>(a(),c("div",{key:O},d(S),1))),128))])):A("",!0)]),_:1},8,["status","icon","name","arg","time","open","expandable","stacked","stack-position"]))}}),aC=Ee(iC,[["__scopeId","data-v-72115ae1"]]);function lC(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 wi={recognized:!1,answers:{},note:""};function rC(e){const t=e?.[0];if(!t)return wi;let n;try{n=JSON.parse(t)}catch{return wi}if(!n||typeof n!="object"||Array.isArray(n))return wi;const s=n.answers;if(!s||typeof s!="object"||Array.isArray(s))return wi;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 uC(e,t,n){return e[t]??e[`q_${n}`]}const cC=/^opt_\d+_(\d+)$/;function dC(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=cC.exec(p);v?o.add(Number(v[1])):p.length>0&&i.push(p)}return{selected:o,otherText:i.join(", "),indeterminate:!1}}const pC={key:0,class:"chip"},fC={key:0,class:"au-dismissed"},mC={key:1,class:"au-list"},vC={class:"au-q"},hC={key:0,class:"au-hdr"},gC={class:"au-qtext"},yC={class:"au-opts"},kC={class:"au-glyph"},bC={class:"au-label"},wC={key:0,class:"au-desc"},SC={key:0,class:"au-opt sel"},CC={class:"au-glyph"},_C={class:"au-label"},$C={key:1,class:"au-opt sel"},MC={class:"au-label"},xC={key:2,class:"au-raw"},IC=80,AC=Ie({__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}=Ue();function s(R,q=IC){const V=R.trim();return V.length>q?V.slice(0,q-1)+"…":V}const o=_(()=>lC(t.tool.arg)),i=_(()=>rC(t.tool.output)),u=_(()=>i.value.recognized),p=_(()=>u.value&&Object.keys(i.value.answers).length===0&&i.value.note.length>0),f=_(()=>o.value.map((R,q)=>dC(uC(i.value.answers,R.question,q),R.options))),v=_(()=>Object.keys(i.value.answers).length);function w(R,q){return f.value[R]?.selected.has(q)??!1}function x(R){return f.value[R]?.otherText??""}function g(R){return f.value[R]?.indeterminate??!1}function m(R,q){return R?q?"■":"□":q?"●":"○"}const M=_(()=>{if(!u.value)return s(t.tool.output?.[0]??"");if(p.value)return n("tools.ask.dismissed");const R=o.value[0]?.question??"",q=s(R);return o.value.length<=1?q:`${q} ${n("tools.ask.more",{count:o.value.length-1})}`}),h=_(()=>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=_(()=>!!t.tool.output&&t.tool.output.length>0),k=_(()=>u.value&&(o.value.length>0||p.value)||y.value),T=I(t.tool.defaultExpanded===!0&&k.value),S=_(()=>t.tool.status),O=_(()=>Ks(t.tool.name)),D=_(()=>ni(t.tool.name));function E(){k.value&&(T.value=!T.value)}return Oe(()=>[t.tool.defaultExpanded,t.tool.output?.length,t.tool.status],()=>{t.tool.defaultExpanded===!0&&k.value&&(T.value=!0)}),(R,q)=>(a(),G(ri,{status:S.value,icon:D.value,name:O.value,arg:T.value?"":M.value,time:e.tool.timing,open:T.value,expandable:k.value,stacked:e.stackPosition!=="single","stack-position":e.stackPosition,onToggle:E},{trailing:H(()=>[h.value?(a(),c("span",pC,d(h.value),1)):A("",!0)]),default:H(()=>[p.value?(a(),c("div",fC,d(i.value.note),1)):u.value?(a(),c("div",mC,[(a(!0),c(he,null,Pe(o.value,(V,b)=>(a(),c("div",{key:b,class:"au-block"},[r("div",vC,[V.header?(a(),c("span",hC,d(V.header),1)):A("",!0),r("span",gC,d(V.question),1)]),r("div",yC,[(a(!0),c(he,null,Pe(V.options,(P,L)=>(a(),c("div",{key:L,class:pe(["au-opt",{sel:w(b,L)}])},[r("span",kC,d(m(V.multiSelect,w(b,L))),1),r("span",bC,d(P.label),1),P.description?(a(),c("span",wC,d(P.description),1)):A("",!0)],2))),128)),x(b)?(a(),c("div",SC,[r("span",CC,d(m(V.multiSelect,!0)),1),r("span",_C,d(x(b)),1)])):A("",!0),g(b)?(a(),c("div",$C,[q[0]||(q[0]=r("span",{class:"au-glyph"},"●",-1)),r("span",MC,d(l(n)("tools.ask.answered")),1)])):A("",!0)])]))),128))])):(a(),c("div",xC,[(a(!0),c(he,null,Pe(e.tool.output??[],(V,b)=>(a(),c("div",{key:b},d(V),1))),128))]))]),_:1},8,["status","icon","name","arg","time","open","expandable","stacked","stack-position"]))}}),TC=Ee(AC,[["__scopeId","data-v-a9a0f259"]]),PC=1e6,zr=5e3;function Fr(e){if(e==="")return[];const t=e.split(`
+`);return t.at(-1)===""&&t.pop(),t}function EC(e,t){const n=Fr(e),s=Fr(t),o=n.length,i=s.length;if(o===0&&i===0)return[];if(o>zr||i>zr||(o+1)*(i+1)>PC)return null;const u=Array.from({length:o+1},()=>Array.from({length:i+1},()=>0));for(let m=1;m<=o;m++)for(let M=1;M<=i;M++)u[m][M]=n[m-1]===s[M-1]?u[m-1][M-1]+1:Math.max(u[m-1][M],u[m][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 w=[];let x=1,g=1;for(const m of p)m.type==="context"?(w.push({type:"context",text:m.text,oldNo:x,newNo:g}),x++,g++):m.type==="add"?(w.push({type:"add",text:m.text,newNo:g}),g++):(w.push({type:"del",text:m.text,oldNo:x}),x++);return w}function LC(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 Qc(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 Yc(e){const t=ho(e.name);if(t!=="edit"&&t!=="write")return null;const n=Qc(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:EC(s,o)}return null}function BC(e){const t=Qc(e);return t&&typeof t.path=="string"?t.path:void 0}function RC(e,t){for(const n of e){const s=n.tools?.find(o=>o.id===t);if(s)return s}}const OC={key:0,class:"bb-empty"},Nr=50,DC=Ie({__name:"ToolOutputBlock",props:{lines:{},emptyText:{}},setup(e){const t=e,n=_(()=>t.lines??[]),s=_(()=>n.value.length>Nr),o={"--tool-output-visible-lines":String(Nr)};return(i,u)=>(a(),c("div",{class:pe(["bb-code tool-output-block",{scroll:s.value}]),style:o},[n.value.length===0&&e.emptyText?(a(),c("div",OC,d(e.emptyText),1)):A("",!0),(a(!0),c(he,null,Pe(n.value,(p,f)=>(a(),c("div",{key:f},d(p),1))),128))],2))}}),Ll=Ee(DC,[["__scopeId","data-v-262bbea0"]]),zC={key:0,class:"chip"},FC={key:0,class:"bb-summary"},NC=Ie({__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=_(()=>n.tool.status),i=_(()=>Ks(n.tool.name)),u=_(()=>ni(n.tool.name)),p=_(()=>uo(n.tool.name,n.tool.arg)),f=_(()=>uo(n.tool.name,n.tool.arg,!0)),v=_(()=>Yc(n.tool)),w=_(()=>{const h=v.value;if(h&&n.tool.status!=="error"){const{added:y,removed:k}=LC(h);if(y||k)return`+${y} −${k}`}return""}),x=_(()=>!!n.tool.output&&n.tool.output.length>0),g=I(!1),m=_(()=>x.value&&!n.toolDiffPanel);function M(){if(n.toolDiffPanel){s("openToolDiff",n.tool.id);return}x.value&&(g.value=!g.value)}return(h,y)=>(a(),G(ri,{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:M},{trailing:H(()=>[w.value?(a(),c("span",zC,d(w.value),1)):A("",!0)]),default:H(()=>[f.value?(a(),c("div",FC,d(f.value),1)):A("",!0),$(Ll,{lines:e.tool.output,"empty-text":"Waiting for output…"},null,8,["lines"])]),_:1},8,["status","icon","name","arg","time","open","expandable","stacked","stack-position"]))}}),qC=Ee(NC,[["__scopeId","data-v-74e1da99"]]),WC={key:0,class:"chip"},HC={key:0,class:"bb-summary"},UC=Ie({__name:"GenericTool",props:{tool:{},mobile:{type:Boolean,default:!1},stackPosition:{default:"single"},toolDiffPanel:{type:Boolean,default:!1}},emits:["openMedia","openFile","openToolDiff"],setup(e){const t=e,n=_(()=>t.tool.status==="running"&&/^bash$/i.test(t.tool.name)),s=_(()=>!!t.tool.output&&t.tool.output.length>0),o=_(()=>s.value||n.value),i=I(t.tool.defaultExpanded===!0&&o.value),u=_(()=>t.tool.status),p=_(()=>Ks(t.tool.name)),f=_(()=>ni(t.tool.name)),v=_(()=>uo(t.tool.name,t.tool.arg)),w=_(()=>uo(t.tool.name,t.tool.arg,!0)),x=_(()=>zu({name:t.tool.name,arg:t.tool.arg,output:t.tool.output,timing:t.tool.timing,status:t.tool.status}));function g(){o.value&&(i.value=!i.value)}return Oe(()=>[t.tool.defaultExpanded,t.tool.output?.length,t.tool.status,t.tool.name],()=>{t.tool.defaultExpanded===!0&&o.value&&(i.value=!0)}),(m,M)=>(a(),G(ri,{status:u.value,icon:f.value,name:p.value,arg:i.value?"":v.value,time:e.tool.name!=="bash"?e.tool.timing:"",open:i.value,expandable:o.value,stacked:e.stackPosition!=="single","stack-position":e.stackPosition,onToggle:g},{trailing:H(()=>[x.value?(a(),c("span",WC,d(x.value),1)):A("",!0)]),default:H(()=>[w.value?(a(),c("div",HC,d(w.value),1)):A("",!0),$(Ll,{lines:e.tool.output,"empty-text":"Waiting for output…"},null,8,["lines"])]),_:1},8,["status","icon","name","arg","time","open","expandable","stacked","stack-position"]))}}),VC=Ee(UC,[["__scopeId","data-v-aa4edcb0"]]),jC={class:"media-title"},KC=["src","alt"],GC=["aria-label"],QC=["src"],YC={class:"media-play-badge"},ZC=["src"],XC=Ie({__name:"MediaTool",props:{tool:{},mobile:{type:Boolean,default:!1}},emits:["openMedia"],setup(e,{emit:t}){const n=e,s=t,o=_(()=>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=_(()=>{const v=o.value;if(!v)return"";const w=[v.path?i(v.path):n.tool.name];return v.mimeType&&w.push(v.mimeType),v.bytes!==void 0&&w.push(u(v.bytes)),v.dimensions&&w.push(v.dimensions),w.join(" · ")});function f(){const v=o.value;v&&(v.kind==="image"||v.kind==="video")&&s("openMedia",v)}return(v,w)=>o.value?(a(),c("div",{key:0,class:pe(["media-tool",{mob:e.mobile}])},[$(ot,{text:o.value.path||p.value},{default:H(()=>[r("div",jC,d(p.value),1)]),_:1},8,["text"]),o.value.kind==="image"?(a(),G(ot,{key:0,text:o.value.path||p.value},{default:H(()=>[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,KC)])]),_:1},8,["text"])):o.value.kind==="video"?(a(),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,QC),r("span",YC,[$(se,{name:"play",size:"md"})])],8,GC)):(a(),c("audio",{key:2,class:"media-audio",src:o.value.url,controls:""},null,8,ZC))],2)):A("",!0)}}),JC=Ee(XC,[["__scopeId","data-v-04192531"]]),e5="main",t5=1e4;function ui(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function ao(e){return typeof e=="string"&&e.length>0}function n5(e){try{return AbortSignal.timeout(e)}catch{return}}function s5(e){return!ui(e)||!ao(e.label)?null:{label:e.label,description:ao(e.description)?e.description:void 0}}function o5(e){if(!ui(e))return;const t=e.state;if(t!=="pending"&&t!=="approved"&&t!=="rejected"&&t!=="cancelled")return;const n=ao(e.selected_option)?e.selected_option:void 0,s=ao(e.feedback)?e.feedback:void 0;return{state:t,selectedOption:n,feedback:s}}function i5(e){if(!ui(e)||!ao(e.tool_call_id)||!ao(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(s5).filter(s=>s!==null):void 0;return{toolCallId:e.tool_call_id,plan:e.plan,path:ao(e.path)?e.path:void 0,options:n!==void 0&&n.length>0?n:void 0,source:t,review:o5(e.review)}}function a5(e){if(!ui(e)||!Array.isArray(e.plans))return[];const t=[];for(const n of e.plans){const s=i5(n);s!==null&&t.push(s)}return t}function l5(e){return!ui(e)||e.code!==0?[]:a5(e.data)}async function Zc(e,t,n=fetch){const s=Cu().serverHttpUrl,o=`/sessions/${encodeURIComponent(e)}/transcript/plan`,i=new URLSearchParams({agent_id:e5,tool_call_id:t}),u=si();try{const p=await n(`${oo(s,o)}?${i.toString()}`,{headers:u!==void 0?{Authorization:`Bearer ${u}`}:void 0,signal:n5(t5)});if(!p.ok)return null;const f=await p.json(),v=l5(f);return v.find(w=>w.toolCallId===t)??v[0]??null}catch{return null}}const r5={key:0,class:"chip"},u5={key:0,class:"bb-summary"},c5={key:1,class:"plan-wrap"},d5=["title"],p5={class:"plan-body"},f5={key:1,class:"plan-review"},m5={key:0,class:"plan-state"},v5={key:1,class:"plan-option"},h5={key:2,class:"plan-feedback"},g5={key:2,class:"plan-loading"},y5={key:3,class:"plan-empty"},k5=Ie({__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=hu(()=>ku(()=>Promise.resolve().then(()=>F_),void 0)),s=e,o=t,{t:i}=Ue(),u=mo("sessionId",()=>{}),p=_(()=>s.tool.status),f=_(()=>Ks(s.tool.name)),v=_(()=>ni(s.tool.name)),w=_(()=>zu({name:s.tool.name,arg:s.tool.arg,output:s.tool.output,timing:s.tool.timing,status:s.tool.status})),x=_(()=>!!s.tool.output&&s.tool.output.length>0),g=_(()=>s.tool.status==="running"&&/^bash$/i.test(s.tool.name)),m=I(null),M=I("idle"),h=_(()=>m.value?.path?m.value.path:uo(s.tool.name,s.tool.arg)),y=_(()=>m.value!==null?"":uo(s.tool.name,s.tool.arg,!0)),k=I(!1),T=_(()=>m.value!==null||x.value||g.value);Oe(m,R=>{R!==null&&(k.value=!0)});function S(){T.value&&(k.value=!k.value)}function O(){const R=m.value?.path;R&&o("openFile",{path:R})}const D=_(()=>{const R=m.value?.review?.state;if(R===void 0)return null;switch(R){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 E(){if(M.value!=="idle")return;if(s.tool.status==="running"){M.value="settled";return}const R=u();if(!R){M.value="settled";return}M.value="loading",m.value=await Zc(R,s.tool.id),M.value="settled"}return ht(()=>{E()}),(R,q)=>(a(),G(ri,{status:p.value,icon:v.value,name:f.value,arg:k.value?"":h.value,time:e.tool.timing,open:k.value,expandable:T.value,stacked:e.stackPosition!=="single","stack-position":e.stackPosition,onToggle:S},{trailing:H(()=>[w.value?(a(),c("span",r5,d(w.value),1)):A("",!0)]),default:H(()=>[y.value?(a(),c("div",u5,d(y.value),1)):A("",!0),m.value?(a(),c("div",c5,[m.value.path?(a(),c("button",{key:0,class:"plan-path",type:"button",title:m.value.path,onClick:O},d(m.value.path),9,d5)):A("",!0),r("div",p5,[$(l(n),{text:m.value.plan,"open-file":V=>o("openFile",V)},null,8,["text","open-file"])]),m.value.review?(a(),c("div",f5,[D.value?(a(),c("span",m5,d(D.value),1)):A("",!0),m.value.review.selectedOption?(a(),c("span",v5,d(m.value.review.selectedOption),1)):A("",!0),m.value.review.feedback?(a(),c("span",h5,"“"+d(m.value.review.feedback)+"”",1)):A("",!0)])):A("",!0)])):M.value==="loading"?(a(),c("div",g5,d(l(i)("tools.plan.loading")),1)):M.value==="settled"&&m.value===null&&!x.value?(a(),c("div",y5,d(l(i)("tools.plan.unavailable")),1)):(a(),G(Ll,{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"]))}}),b5=Ee(k5,[["__scopeId","data-v-c851b016"]]),w5=/([\s\S]*?)<\/summary>/,S5=/([\s\S]*?)<\/resume_hint>/,ba=/]*)>|<\/subagent>/g,C5=" ",qr=/(completed|failed|aborted):\s*(\d+)/g,Wr=/([a-z_]+)="([^"]*)"/g;function _5(e){return e.replaceAll(""",'"').replaceAll("<","<").replaceAll(">",">").replaceAll("&","&")}function $5(e){const t={};Wr.lastIndex=0;let n;for(;(n=Wr.exec(e))!==null;)t[n[1]]=_5(n[2]);return t}function M5(e){const t={completed:0,failed:0,aborted:0};qr.lastIndex=0;let n;for(;(n=qr.exec(e))!==null;){const s=n[1];t[s]=Number(n[2])}return t}function x5(e,t){const n=$5(e);return{outcome:n.outcome??"completed",item:n.item,agentId:n.agent_id,mode:n.mode,state:n.state,body:t.trim()}}function I5(e){const t=[],n=[];ba.lastIndex=0;let s;for(;(s=ba.exec(e))!==null;)if(s[0]===C5){if(n.length===0)continue;const o=n.pop();o&&n.length===0&&t.push(x5(o.attrs,e.slice(o.bodyStart,s.index)))}else n.length===0?n.push({attrs:s[1]??"",bodyStart:ba.lastIndex}):n.push(null);return t}function A5(e){if(e==null)return null;const t=Array.isArray(e)?e.join(`
+`):e;if(!t.includes(""))return null;const n=w5.exec(t)?.[1]?.trim()??"",{completed:s,failed:o,aborted:i}=M5(n),u=S5.exec(t)?.[1]?.trim(),p=I5(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 Hr(e){return e?e.split(`
+`).map(t=>t.trimEnd()).filter(Boolean).at(-1)??"":""}function T5(e){return e.suspendedReason||Hr(e.text)||Hr(e.outputLines?.join(`
+`))||e.summary||""}function P5(e){return e.suspendedReason?e.suspendedReason:e.text?e.text:e.outputLines&&e.outputLines.length>0?e.outputLines.join(`
+`):e.summary??""}function E5(e){return e==="completed"?"completed":e==="failed"||e==="aborted"?"failed":"working"}function Ur(e,t){return{id:e.agentId??e.item??`result-${t}`,name:e.item??`subagent ${t+1}`,activity:e.body.split(`
+`)[0]??"",phase:E5(e.outcome),body:e.body}}function L5(e,t){return!!(t.agentId&&e.id===t.agentId||t.item&&e.name.includes(t.item))}function B5(e,t){const n=e.map(o=>({id:o.id,name:o.name,activity:T5(o),phase:o.phase,body:P5(o)}));if(!t)return n;const s=t.subagents.filter(o=>(o.outcome==="aborted"||o.state==="not_started")&&!e.some(i=>L5(i,o))).map((o,i)=>Ur(o,i));return n.length>0?[...n,...s]:t.subagents.map((o,i)=>Ur(o,i))}const R5=["aria-expanded"],O5={class:"title"},D5={key:0,class:"meta"},z5={key:1,class:"sum-txt"},F5={class:"rt"},N5={class:"status"},q5={key:0,class:"chip"},W5={key:1,class:"tm"},H5={class:"body"},U5={class:"overview"},V5={class:"overview-line"},j5={class:"big"},K5={key:0,class:"lbl"},G5={key:1,class:"lbl"},Q5={key:2,class:"lbl"},Y5={key:0,class:"seg","aria-hidden":"true"},Z5={key:1,class:"legend"},X5=["aria-expanded","onClick"],J5={class:"mname"},e_={class:"mact"},t_={class:"mphase"},n_={key:1,class:"fallback-output"},s_={key:2,class:"waiting"},o_=Ie({__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}=Ue(),n=e;function s(b){if(!b)return{};try{const P=JSON.parse(b),L=Array.isArray(P.items)?P.items:void 0;return{description:typeof P.description=="string"?P.description:void 0,itemCount:L?.length}}catch{return{}}}const o=mo("resolveSwarmMembers"),i=_(()=>s(n.tool.arg)),u=_(()=>Ks(n.tool.name)),p=_(()=>i.value.description??""),f=_(()=>o?.(n.tool.id)??[]),v=_(()=>A5(n.tool.output)),w=_(()=>n.tool.status),x=_(()=>w.value==="running"?"running":w.value==="error"||(v.value?.failed??0)>0||(v.value?.aborted??0)>0?"error":"ok"),g=_(()=>B5(f.value,v.value)),m=_(()=>{const b={completed:0,working:0,suspended:0,queued:0,failed:0};for(const P of g.value)b[P.phase]++;return b}),M=_(()=>g.value.length||i.value.itemCount||0),h=_(()=>m.value.completed+m.value.failed),y=_(()=>m.value.working+m.value.suspended+m.value.queued),k=[{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"}],T=_(()=>k.map(({phase:b,cls:P})=>({phase:b,count:m.value[b],cls:P})).filter(b=>b.count>0)),S=I(w.value==="running"||y.value>0);function O(){S.value=!S.value}const D=_(()=>g.value.length>0||v.value||w.value==="running"?"":(n.tool.output??[]).join(`
+`).trim()),E=I(new Set);function R(b){const P=new Set(E.value);P.has(b)?P.delete(b):P.add(b),E.value=P}function q(b){return E.value.has(b)}function V(b){return t(`tools.swarm.phase${b[0].toUpperCase()}${b.slice(1)}`)}return(b,P)=>(a(),c("div",{class:pe(["swarm-card",{open:S.value,err:x.value==="error",stacked:e.stackPosition!=="single"}])},[r("button",{class:"head",type:"button","aria-expanded":S.value,onClick:O},[$(se,{class:"ic",name:"git-pull-request",size:"sm"}),r("span",O5,d(u.value),1),p.value?(a(),c("span",D5,"·")):A("",!0),p.value?(a(),c("span",z5,d(p.value),1)):A("",!0),r("span",F5,[r("span",N5,[x.value==="ok"?(a(),G(se,{key:0,name:"check",size:"sm"})):x.value==="error"?(a(),G(se,{key:1,name:"close",size:"sm"})):(a(),G(Ro,{key:2,status:"running"}))]),h.value>0||M.value>0?(a(),c("span",q5,d(h.value)+" / "+d(M.value),1)):A("",!0),e.tool.timing?(a(),c("span",W5,d(e.tool.timing),1)):A("",!0)]),$(se,{class:"car",name:S.value?"chevron-down":"chevron-right",size:"sm"},null,8,["name"])],8,R5),gt(r("div",H5,[r("div",U5,[r("div",V5,[r("span",j5,d(l(t)("tools.swarm.progress",{done:h.value,total:M.value})),1),x.value==="running"&&M.value>0?(a(),c("span",K5,d(l(t)("tools.swarm.runningSub",{count:y.value})),1)):v.value?(a(),c("span",G5,d(l(t)("tools.swarm.doneSub",{completed:v.value.completed,failed:v.value.failed+v.value.aborted})),1)):(a(),c("span",Q5,d(l(t)("tools.swarm.waiting")),1))]),M.value>0&&T.value.length>0?(a(),c("div",Y5,[(a(!0),c(he,null,Pe(T.value,L=>(a(),c("span",{key:L.phase,class:pe(L.cls),style:rt({flex:L.count})},null,6))),128))])):A("",!0),T.value.length>1?(a(),c("div",Z5,[(a(!0),c(he,null,Pe(T.value,L=>(a(),c("span",{key:L.phase},[r("i",{class:pe(["lg-dot",L.cls])},null,2),re(d(V(L.phase))+" "+d(L.count),1)]))),128))])):A("",!0)]),g.value.length>0?(a(!0),c(he,{key:0},Pe(g.value,L=>(a(),c("div",{key:L.id,class:pe(["member",[`phase-${L.phase}`,{open:q(L.id)}]])},[r("button",{class:"member-head",type:"button","aria-expanded":q(L.id),onClick:ne=>R(L.id)},[$(Ro,{class:"row-dot",status:L.phase},null,8,["status"]),$(ot,{text:L.name},{default:H(()=>[r("span",J5,d(L.name),1)]),_:2},1032,["text"]),L.activity?(a(),G(ot,{key:0,text:L.activity},{default:H(()=>[r("span",e_,d(L.activity),1)]),_:2},1032,["text"])):A("",!0),r("span",t_,d(V(L.phase)),1),$(se,{class:"mcar",name:q(L.id)?"chevron-down":"chevron-right",size:"sm"},null,8,["name"])],8,X5),gt(r("div",{class:"member-body"},d(L.body),513),[[Jn,q(L.id)]])],2))),128)):D.value?(a(),c("div",n_,d(D.value),1)):(a(),c("div",s_,d(l(t)("tools.swarm.waiting")),1))],512),[[Jn,S.value]])],2))}}),i_=Ee(o_,[["__scopeId","data-v-4b58e128"]]);function a_(e){if(e.media&&e.status==="ok")return JC;const t=ho(e.name);return t==="edit"||t==="write"||t==="multi_edit"?qC:t==="exitplanmode"?b5:t==="task"?aC:t==="agentswarm"?i_:t==="askuserquestion"?TC:VC}const Xc=Ie({__name:"ToolCall",props:{tool:{},mobile:{type:Boolean,default:!1},stackPosition:{default:"single"},toolDiffPanel:{type:Boolean,default:!1}},emits:["openMedia","openFile","openToolDiff","openAgent"],setup(e,{emit:t}){const n=e,s=t,o=_(()=>a_(n.tool));return(i,u)=>(a(),G(vu(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))},null,40,["tool","mobile","stack-position","tool-diff-panel","data-scroll-anchor-id"]))}});function ms(e){if(e>=1024*1024)return`${Vr(e/(1024*1024))}M`;if(e>=1024){const t=e/1024;return`${t>=100?Math.round(t):Vr(t)}k`}return String(e)}function Vr(e){const t=e.toFixed(1);return t.endsWith(".0")?t.slice(0,-2):t}function ea(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 l_(e){return!(e.tool.status==="ok"&&e.tool.media)}function r_(e,t){return t<=1?"single":e===0?"first":e===t-1?"last":"middle"}const jr=new WeakMap;function u_(e){const t=jr.get(e);if(t)return t;const n=c_(e);return jr.set(e,n),n}function c_(e){const t=ea(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(l_(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 d_(e){return ea(e).flatMap(t=>t.kind==="text"&&t.text?[t.text]:[]).join(`
+
+`)}function p_(e){const t=[];for(const n of ea(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 Jc(e){return e.tool.id||`tool-${e.sourceIndex}`}function f_(e,t){return e.kind==="tool-stack"?`tool-stack-${e.tools[0]?.sourceIndex??t}`:e.kind==="tool"?Jc({tool:e.tool,sourceIndex:e.sourceIndex}):`${e.kind}-${e.sourceIndex}`}const m_=["aria-expanded"],v_={class:"tg-title"},h_={class:"tg-meta"},g_=["inert"],y_={class:"tool-group-body-inner"},k_=Ie({__name:"ToolGroup",props:{tools:{},mobile:{type:Boolean,default:!1},toolDiffPanel:{type:Boolean,default:!1}},emits:["openMedia","openFile","openToolDiff","openAgent"],setup(e,{emit:t}){const n=e,s=t,o=I(!0),i=_(()=>n.tools.length),u=_(()=>n.tools.some(m=>m.tool.status==="running")?"running":n.tools.some(m=>m.tool.status==="error")?"error":"done"),{t:p}=Ue(),f=_(()=>{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 w=mo("pinScroll",()=>{}),x=I(null);function g(){v();const m=x.value;m&&Ke(()=>w(m))}return(m,M)=>(a(),c("div",{class:pe(["tool-group",{open:o.value}])},[r("button",{class:"tool-group-head",ref_key:"headEl",ref:x,type:"button","aria-expanded":o.value,onClick:g},[$(Ro,{status:u.value},null,8,["status"]),$(se,{class:"tg-ic",name:"list",size:"sm"}),r("span",v_,d(l(p)("tools.group.title",i.value)),1),r("span",h_,"· "+d(f.value),1),$(se,{class:"tg-car",name:"chevron-right",size:"sm"})],8,m_),r("div",{class:pe(["tool-group-body",{open:o.value}]),inert:!o.value},[r("div",y_,[(a(!0),c(he,null,Pe(e.tools,(h,y)=>(a(),G(Xc,{key:l(Jc)(h),tool:h.tool,mobile:e.mobile,"stack-position":l(r_)(y,e.tools.length),"tool-diff-panel":e.toolDiffPanel,onOpenMedia:M[0]||(M[0]=k=>s("openMedia",k)),onOpenFile:M[1]||(M[1]=k=>s("openFile",k)),onOpenToolDiff:M[2]||(M[2]=k=>s("openToolDiff",k)),onOpenAgent:M[3]||(M[3]=k=>s("openAgent",k))},null,8,["tool","mobile","stack-position","tool-diff-panel"]))),128))])],10,g_)],2))}}),b_=Ee(k_,[["__scopeId","data-v-37eb334f"]]),Si=I(!1);let Kr=!1;function wa(){const e=document.documentElement.dataset.colorScheme;return e==="dark"?!0:e==="light"?!1:window.matchMedia("(prefers-color-scheme: dark)").matches}function ed(){return!Kr&&typeof window<"u"&&typeof document<"u"&&(Kr=!0,Si.value=wa(),new MutationObserver(()=>{Si.value=wa()}).observe(document.documentElement,{attributes:!0,attributeFilter:["data-color-scheme"]}),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",()=>{Si.value=wa()})),Si}const td=["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"],w_=new Set(["AGENTS.md","CHANGELOG.md","Dockerfile","LICENSE","Makefile","README.md","package.json","pnpm-lock.yaml","pnpm-workspace.yaml","tsconfig.json","vite.config.ts"]),Za=[...td].sort((e,t)=>t.length-e.length).join("|"),Sa=new RegExp([String.raw`(?:^|[\s([{"'`+"`"+String.raw`])`,String.raw`(`,String.raw`(?:~|\.{1,2}|/)?(?:[A-Za-z0-9_.@+()[\]-]+/)+[A-Za-z0-9_.@+()[\]-]+(?:\.(?:${Za}))?`,String.raw`|`,String.raw`[A-Za-z0-9_.@+()[\]-]+\.(?:${Za})`,String.raw`)`,String.raw`(?:#L?(\d+)|:(\d+))?`,String.raw`(?=$|[\s)"'\]}>.,;!?,。;!?)])`].join(""),"gi"),nd=/[),.;!?,。;!?)]+$/;function S_(e){const t=e.toLowerCase();return td.some(n=>t.endsWith(`.${n}`))}function C_(e){const t=new Map,n=new RegExp(String.raw`\b(?:path|src)=["'](\/[^"']+\.(?:${Za}))["']`,"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 __(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(nd,"");if(!o)return null;const i=o.split("/").pop()??o,u=o.includes("/"),p=w_.has(i),f=S_(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],w=v?Number(v):void 0;return{path:o,line:w!==void 0&&Number.isFinite(w)&&w>0?w:void 0}}function $_(e,t={}){const n=[];Sa.lastIndex=0;let s;for(;(s=Sa.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(nd,""),w=f.length-v.length;f=v;const x=__(f,t);if(!x)continue;const g=s.index+u,m=g+f.length;n.push({...x,start:g,end:m,text:f}),w>0&&(Sa.lastIndex-=w)}return n}const M_=12e4,x_=6e4,I_=32,A_=3e4,Gr=/(^|\n)(`{3,}|~{3,})[^\n]*\n([\s\S]*?)(?:\n)?\2(?=\n|$)/g;function T_(e){let t=0,n=0,s=0;Gr.lastIndex=0;let o;for(;(o=Gr.exec(e))!==null;){const u=o[3]??"";t+=1,n+=u.length,s=Math.max(s,u.length)}return{codeRenderer:e.length>=M_||n>=x_||t>=I_||s>=A_?"pre":"shiki",codeFenceCount:t,codeChars:n}}const P_={key:1,class:"diff-wrap"},E_={class:"diff-bar"},L_=["aria-label","onClick"],B_={class:"diff-pre"},R_={key:0,class:"diff-sign"},O_={class:"diff-text"},D_="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",Qr="github-light",Yr="github-dark",z_=Ie({__name:"Markdown",props:{text:{},openFile:{},streaming:{type:Boolean,default:!1}},setup(e){qd(),Wd(),Bd(),Fd(),Rd(new Od),Dd(new zd);function t(oe){return oe.inline.ruler.disable("math"),oe}const{t:n}=Ue(),s=mo("resolveImage"),o=I(null),i=e,u=_(()=>!i.streaming),p=_(()=>C_(i.text??"")),f=_(()=>i.streaming?{codeRenderer:"shiki",codeFenceCount:0,codeChars:0}:T_(i.text??"")),v=ed(),w=_(()=>!i.streaming),x=Bn(new Map),g=new Set,m=/(!\[[^\]]*\]\()\s*([^)\s]+)([^)]*\))/g,M=/( ]*?\bsrc=")([^"]+)(")/gi;function h(oe){return!/^(https?:|data:|blob:)/i.test(oe)}function y(oe){if(!s)return;const ge=[];for(const Se of[m,M]){Se.lastIndex=0;let Q;for(;(Q=Se.exec(oe))!==null;)ge.push(Q[2]??"")}for(const Se of ge)!Se||!h(Se)||x.has(Se)||g.has(Se)||(g.add(Se),s(Se).then(Q=>{x.set(Se,Q!==Se?Q:"")}).catch(()=>{x.set(Se,"")}).finally(()=>{g.delete(Se)}))}function k(oe){if(!s)return oe;const ge=Se=>{if(!h(Se))return null;const Q=x.get(Se);return Q===void 0?D_:Q===""?null:Q};return oe.replace(m,(Se,Q,ie,X)=>{const fe=ge(ie);return fe===null?Se:`${Q}${fe}${X}`}).replace(M,(Se,Q,ie,X)=>{const fe=ge(ie);return fe===null?Se:`${Q}${fe}${X}`})}Oe(()=>i.text,oe=>y(oe??""),{immediate:!0});function T(){if(!o.value||!i.openFile||i.streaming)return;const oe=document.createTreeWalker(o.value,NodeFilter.SHOW_TEXT),ge=[];let Se=oe.nextNode();for(;Se;){const Q=Se,ie=Q.parentElement;ie&&!ie.closest("a, pre, .md-file-link, svg")&&Q.data.trim().length>0&&ge.push(Q),Se=oe.nextNode()}for(const Q of ge){const ie=$_(Q.data,{aliases:p.value});if(ie.length===0||!Q.parentNode)continue;const X=document.createDocumentFragment();let fe=0;for(const Ce of ie){Ce.start>fe&&X.append(document.createTextNode(Q.data.slice(fe,Ce.start)));const _e=document.createElement("button");_e.type="button",_e.className="md-file-link",_e.textContent=Ce.text,_e.title=Ce.line?`${Ce.path}:${Ce.line}`:Ce.path,_e.addEventListener("click",Z=>{Z.preventDefault(),Z.stopPropagation(),i.openFile?.({path:Ce.path,line:Ce.line})}),X.append(_e),fe=Ce.end}fe{Q.preventDefault(),Q.stopPropagation(),i.openFile?.({path:O(Se)})}))}}function E(){Ke().then(()=>{T(),D()})}Oe(()=>i.text,E),Oe(()=>i.streaming,E);let R=null;ht(()=>{E(),o.value&&(R=new MutationObserver(E),R.observe(o.value,{childList:!0,subtree:!0}))}),kt(()=>{R?.disconnect()});const q={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}}},V=/(^|\n)(?:```|~~~)diff\b[^\n]*\n([\s\S]*?)(?:\n)?(?:```|~~~)(?=\n|$)/g,b=_(()=>{const oe=k(i.text??""),ge=[];let Se=0;V.lastIndex=0;let Q;for(;(Q=V.exec(oe))!==null;){const X=Q[1]??"",fe=oe.slice(Se,Q.index)+(X||"");fe.trim()&&ge.push({kind:"md",text:fe}),ge.push({kind:"diff",code:Q[2]??""}),Se=V.lastIndex}const ie=oe.slice(Se);return(ie.trim()||ge.length===0)&&ge.push({kind:"md",text:ie}),ge});function P(oe){return oe.split(`
+`).map(ge=>ge.startsWith("@@")?{type:"hunk",sign:"",text:ge}:/^\+(?!\+\+)/.test(ge)?{type:"add",sign:"+",text:ge.slice(1)}:/^-(?!--)/.test(ge)?{type:"del",sign:"-",text:ge.slice(1)}:ge.startsWith(" ")?{type:"ctx",sign:"",text:ge.slice(1)}:{type:"ctx",sign:"",text:ge})}const L=I(null);function ne(oe,ge){un(oe).then(Se=>{Se&&(L.value=ge,setTimeout(()=>{L.value=null},1400))})}return(oe,ge)=>(a(),c("div",{ref_key:"mdRef",ref:o,class:"md"},[(a(!0),c(he,null,Pe(b.value,(Se,Q)=>(a(),c(he,{key:Q},[Se.kind==="md"?(a(),G(l(Nd),{key:0,content:Se.text,"custom-markdown-it":t,mode:"chat","code-renderer":f.value.codeRenderer,"is-dark":l(v),"code-block-light-theme":Qr,"code-block-dark-theme":Yr,themes:[Qr,Yr],"code-block-props":q,final:u.value,"smooth-streaming":e.streaming,"batch-rendering":w.value,"defer-nodes-until-visible":!1,onCopy:l(ap)},null,8,["content","code-renderer","is-dark","themes","final","smooth-streaming","batch-rendering","onCopy"])):(a(),c("div",P_,[r("div",E_,[ge[0]||(ge[0]=r("span",{class:"diff-lang"},"diff",-1)),$(ot,{text:l(n)("filePreview.copyCode")},{default:H(()=>[r("button",{class:"diff-copy","aria-label":l(n)("filePreview.copyCode"),onClick:ie=>ne(Se.code,Q)},[$(se,{name:L.value===Q?"check":"copy",size:"sm"},null,8,["name"])],8,L_)]),_:2},1032,["text"])]),r("pre",B_,[r("code",null,[(a(!0),c(he,null,Pe(P(Se.code),(ie,X)=>(a(),c("span",{key:X,class:pe(["diff-line",`diff-${ie.type}`])},[ie.type!=="hunk"?(a(),c("span",R_,d(ie.sign),1)):A("",!0),r("span",O_,d(ie.text),1)],2))),128))])])]))],64))),128))],512))}}),ci=Ee(z_,[["__scopeId","data-v-9ccdd7fa"]]),F_=Object.freeze(Object.defineProperty({__proto__:null,default:ci},Symbol.toStringTag,{value:"Module"})),N_={class:"tc-anim"},q_={class:"prev-anim"},W_={class:"prev"},H_=Ie({__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=_(()=>n.text.split(/\n{2,}/).filter(v=>v.trim().length>0)),i=_(()=>n.foldable&&o.value.length>1),u=_(()=>n.streaming||!i.value),p=_(()=>o.value.at(-1)??""),f=I(null);return ht(()=>{if(!n.streaming)return;const v=f.value;v&&(v.scrollTop=v.scrollHeight)}),Oe(()=>n.text,()=>{const v=f.value;!v||!(v.scrollHeight-v.scrollTop-v.clientHeight<24)||Ke(()=>{f.value&&(f.value.scrollTop=f.value.scrollHeight)})},{immediate:!0}),(v,w)=>(a(),c("div",{class:pe(["think",{mob:e.mobile}])},[i.value?(a(),c("div",{key:0,class:pe(["tc-wrap",{"is-collapsed":!u.value}]),onClick:w[0]||(w[0]=x=>s("open"))},[r("div",N_,[r("pre",{ref_key:"bodyEl",ref:f,class:"tc"},d(e.text),513)]),r("div",q_,[r("span",W_,d(p.value),1)])],2)):(a(),c("pre",{key:1,ref_key:"bodyEl",ref:f,class:"tc"},d(e.text),513))],2))}}),U_=Ee(H_,[["__scopeId","data-v-0b3b873f"]]),V_={class:"activity-notice",role:"status"},j_={"aria-hidden":"true"},K_={class:"an-label"},G_=Ie({__name:"ActivityNotice",props:{label:{}},setup(e){return(t,n)=>(a(),c("div",V_,[r("span",j_,[$(Dt,{size:"sm"})]),r("span",K_,d(e.label),1)]))}}),Q_=Ee(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=w=>String(w).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 Z_=Ie({__name:"MessageTime",props:{time:{}},setup(e){const t=e,{t:n}=Ue(),s=I(!1),o=_(()=>{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=_(()=>s.value?o.value:Y_(t.time,n("conversation.yesterday")));function u(){s.value=!s.value}return(p,f)=>(a(),c("button",{type:"button",class:"msg-time",onClick:Re(u,["stop"])},d(i.value),1))}}),xi=Ee(Z_,[["__scopeId","data-v-9672fbd5"]]);function X_(e){return e.length===1?`0${e}`:e}function J_(e,t){return`${String(Number(e))}:${X_(t)}`}const Zr=e=>/^\d+$/.test(e);function e8(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 w=/^\*\/(\d+)$/.exec(s);if(w&&o==="*"&&f)return w[1]==="1"?t("conversation.cron.everyMinute"):t("conversation.cron.everyNMinutes",{n:w[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(Zr(s)&&Zr(o)&&v){const g=J_(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 t8=["data-turn-id"],n8={class:"cn-bubble"},s8={class:"cn-title"},o8={key:0,class:"cn-prompt"},i8={class:"cn-meta"},a8={key:0,class:"cn-meta-item"},l8={key:1,class:"cn-meta-item"},r8=["aria-label"],u8=["title"],c8=Ie({__name:"CronNotice",props:{text:{},cron:{},turnId:{},createdAt:{}},setup(e){const t=e,{t:n}=Ue(),s=_(()=>t.cron),o=_(()=>s.value?.missedCount!==void 0),i=_(()=>o.value?n("conversation.cron.missed"):n("conversation.cron.fired")),u=_(()=>{const w=s.value?.cron;return w?e8(w,n):""}),p=_(()=>o.value?"error":"ok"),f=_(()=>{const w=s.value;if(!w)return"";const x=[];return w.recurring===!1&&x.push(n("conversation.cron.oneShot")),typeof w.coalescedCount=="number"&&w.coalescedCount>1&&x.push(n("conversation.cron.coalesced",{n:w.coalescedCount})),w.missedCount!==void 0&&x.push(n("conversation.cron.missedCount",{n:w.missedCount})),w.stale===!0&&x.push(n("conversation.cron.finalDelivery")),x.join(" · ")}),v=_(()=>t.text??"");return(w,x)=>(a(),c("div",{class:pe(["cn cron-notice",{"turn-anchor":!!e.turnId}]),"data-turn-id":e.turnId,role:"status"},[r("div",n8,[r("span",s8,d(i.value),1),v.value?(a(),c("span",o8,d(v.value),1)):A("",!0)]),r("div",i8,[$(se,{name:"clock",size:"sm",class:"cn-meta-ico","aria-hidden":"true"}),u.value?(a(),c("span",a8,d(u.value),1)):A("",!0),f.value?(a(),c("span",l8,d(f.value),1)):A("",!0),r("span",{class:pe(["cn-status",p.value]),"aria-label":p.value},[p.value==="ok"?(a(),G(se,{key:0,name:"check",size:"sm"})):(a(),G(se,{key:1,name:"close",size:"sm"}))],10,r8),s.value?.jobId?(a(),c("span",{key:2,class:"cn-meta-item cn-id",title:l(n)("conversation.cron.job",{id:s.value.jobId})},d(s.value.jobId),9,u8)):A("",!0),e.createdAt?(a(),G(xi,{key:3,time:e.createdAt},null,8,["time"])):A("",!0)])],10,t8))}}),d8=Ee(c8,[["__scopeId","data-v-a62a6587"]]),p8=["src","controls","muted"],f8=["src","alt"],sd=Ie({__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=I(t.fileId?"":t.url),s=I(null),o=I(!t.fileId);let i=null,u=0,p=!1,f=null;function v(){i!==null&&(URL.revokeObjectURL(i),i=null)}async function w(){const x=++u;if(v(),!t.fileId){n.value=t.url;return}if(o.value)try{const g=await Te().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 Oe(()=>[t.fileId,t.url,o.value],w,{immediate:!0}),ht(()=>{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}),Ln(()=>{p=!0,f?.disconnect(),f=null,v()}),(x,g)=>e.kind==="video"?(a(),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,p8)):(a(),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,f8))}}),m8=["title","data-kind"],v8=["aria-label"],h8={class:"att-tile"},g8={class:"att-name"},y8={key:1,class:"att-err"},k8=["aria-label"],b8=Ie({__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}=Ue(),i=_(()=>{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=_(()=>{const w=i.value??"";return/^(txt|md|doc|docx|rtf|log)$/i.test(w)?"file-text":"file"}),p=_(()=>n.name?n.name:n.kind==="image"?o("composer.attachmentImage"):n.kind==="video"?o("composer.attachmentVideo"):o("composer.attachmentFile"));function f(w){return w<1024?`${w} B`:w<1024*1024?`${Math.round(w/1024)} KB`:`${(w/(1024*1024)).toFixed(1)} MB`}const v=_(()=>{const w=[p.value];return n.size!==void 0&&w.push(f(n.size)),w.join(" · ")});return(w,x)=>(a(),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:x[0]||(x[0]=g=>s("activate"))},[r("span",h8,[e.kind==="image"&&e.url?(a(),G(sd,{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"?(a(),G(se,{key:1,name:"play",size:"sm"})):e.kind==="image"?(a(),G(se,{key:2,name:"image",size:"sm"})):(a(),G(se,{key:3,name:u.value,size:"sm"},null,8,["name"]))]),r("span",g8,d(p.value),1),e.uploading?(a(),G(Dt,{key:0,size:"sm",label:l(o)("composer.uploading")},null,8,["label"])):e.error?(a(),c("span",y8,[$(se,{name:"info",size:"sm"})])):A("",!0)],8,v8),e.removable?(a(),G(ot,{key:0,text:e.removeLabel??l(o)("composer.remove")},{default:H(()=>[r("button",{type:"button",class:"att-rm","aria-label":e.removeLabel??l(o)("composer.remove"),onClick:x[1]||(x[1]=g=>s("remove"))},[$(se,{name:"close",size:"sm"})],8,k8)]),_:1},8,["text"])):A("",!0)],10,m8))}}),od=Ee(b8,[["__scopeId","data-v-12ec975b"]]),w8=["aria-label"],S8=120,C8=60,_8=Ie({__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*S8}ms`,"--moon-frame-fast-delay":`${s*C8}ms`}}return(s,o)=>(a(),c("span",{class:pe(["ui-moon",[`ui-moon--${e.size}`,{"ui-moon--fast":e.fast}]]),"aria-label":e.label,role:"img"},[(a(),c(he,null,Pe(t,(i,u)=>r("span",{key:i,class:"ui-moon__frame",style:rt(n(u)),"aria-hidden":"true"},d(i),5)),64))],10,w8))}}),id=Ee(_8,[["__scopeId","data-v-a6b7ec07"]]),$8={class:"ui-banner__icon","aria-hidden":"true"},M8={class:"ui-banner__text"},x8=Ie({__name:"Banner",props:{variant:{default:"info"}},setup(e){return(t,n)=>(a(),c("div",{class:pe(["ui-banner",`ui-banner--${e.variant}`]),role:"status"},[r("span",$8,[yt(t.$slots,"icon",{},()=>[e.variant==="info"?(a(),G(se,{key:0,name:"info",size:"md"})):(a(),G(se,{key:1,name:"alert-triangle",size:"md"}))],!0)]),r("span",M8,[yt(t.$slots,"default",{},void 0,!0)])],2))}}),ad=Ee(x8,[["__scopeId","data-v-b0afda1c"]]),I8=["type","disabled"],A8={class:"ui-button__content"},T8=Ie({__name:"Button",props:{variant:{default:"primary"},size:{default:"md"},disabled:{type:Boolean},loading:{type:Boolean},type:{default:"button"}},setup(e){return(t,n)=>(a(),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?(a(),G(Dt,{key:0,size:"sm",class:"ui-button__spinner"})):A("",!0),r("span",A8,[yt(t.$slots,"default",{},void 0,!0)])],10,I8))}}),qe=Ee(T8,[["__scopeId","data-v-556ea0b6"]]),Ca="chat-search-hit",P8="chat-search-hit--active",Xr={childList:!0,subtree:!0,characterData:!0};function E8(e){const{root:t,query:n,activeIndex:s}=e;let o=null,i=0;function u(v){const w=v.querySelectorAll(`.${Ca}`);for(const x of w)x.replaceWith(...Array.from(x.childNodes))}function p(){i=0;const v=t.value,w=n.value.trim();if(v){if(o?.disconnect(),u(v),w.length>0){const x=w.toLowerCase(),g=s.value,m=document.createTreeWalker(v,NodeFilter.SHOW_TEXT),M=[];let h=m.nextNode();for(;h;)M.push(h),h=m.nextNode();let y=0;for(const k of M){const T=k.data.toLowerCase();let S=T.indexOf(x);if(S===-1)continue;const O=k.parentNode;if(!O)continue;const D=document.createDocumentFragment();let E=0;for(;S!==-1;){S>E&&D.append(document.createTextNode(k.data.slice(E,S)));const R=document.createElement("span");R.className=y===g?`${Ca} ${P8}`:Ca,R.textContent=k.data.slice(S,S+w.length),D.append(R),y+=1,E=S+w.length,S=T.indexOf(x,E)}E{o?.disconnect(),o=null;const v=t.value;v&&(o=new MutationObserver(f),o.observe(v,Xr),p())}),Oe([n,s],()=>{Ke(p)},{flush:"post"}),kt(()=>{o?.disconnect(),o=null,i!==0&&cancelAnimationFrame(i)})}const L8=/^(application\/pdf|image\/(png|jpe?g|gif|webp|avif|bmp|x-icon|vnd\.microsoft\.icon)|video\/[\w.+-]+|audio\/[\w.+-]+)$/i,B8=/^(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,R8=/^(png|jpe?g|gif|webp|avif|bmp|ico)$/i,Jr="text/plain;charset=utf-8";function O8(e,t){const n=(t??"").toLowerCase();if(L8.test(n))return n;if(n.startsWith("text/"))return n==="text/html"?null:Jr;const s=e?.match(/\.([A-Za-z0-9]{1,8})$/)?.[1]?.toLowerCase();return s===void 0?null:B8.test(s)?Jr:R8.test(s)?`image/${s==="jpg"?"jpeg":s==="ico"?"x-icon":s}`:s==="pdf"?"application/pdf":null}async function ld(e,t,n){const s=O8(t,n);if(s===null)return"unsupported";const o=window.open("","_blank");o!==null&&(o.opener=null);const i=await Te().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 Ii="(pointer: coarse)",D8="(any-pointer: fine)",z8="(max-width: 980px)";function rd(e){if(!(typeof window>"u"||typeof window.matchMedia!="function"))return window.matchMedia(e)}function Wi(e,t=rd){return t(e)?.matches??!1}function ud(e,t,n=rd){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}const F8={key:0,class:"chat-loading"},N8={class:"chat-loading-text"},q8={key:1,class:"chat-empty"},W8={key:1,class:"top-sentinel-text"},H8={key:0,class:"u-turn"},U8=["data-turn-id"],V8={key:0,class:"u-atts"},j8={key:1,class:"skill-act"},K8={class:"skill-act-head"},G8={key:0,class:"skill-act-args"},Q8={key:2,class:"skill-act"},Y8={class:"skill-act-head"},Z8={key:0,class:"skill-act-args"},X8={key:3,class:"u-text"},J8={key:0,class:"u-meta"},e$=["aria-label","onClick"],t$=["aria-label","onClick"],n$=["data-turn-id"],s$=["onClick"],o$={class:"cd-view"},i$={key:1,class:"cd-label"},a$=["data-turn-id"],l$={key:1,class:"msg"},r$={class:"turn-error-text"},u$={key:0,class:"a-msg-ft"},c$=["aria-label","onClick"],d$={key:4,class:"sending-placeholder"},p$={key:5,class:"q-stack"},f$={class:"q-head"},m$={class:"q-title"},v$={class:"q-hint"},h$=["onDragover","onDrop"],g$={class:"u-bub q-bub"},y$=["title","onDragstart"],k$=["title","onClick"],b$={key:0,class:"u-text q-text"},w$={key:1,class:"q-text q-text-placeholder"},S$={key:0,class:"q-imgs"},C$={key:0,class:"q-file"},_$={key:1,class:"q-tag q-tag-next"},$$={key:2,class:"q-tag q-tag-idx"},M$=["aria-label"],x$=["aria-label","onClick"],I$={key:0,class:"open-unsupported",role:"status"},A$=2500,T$=Ie({__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}},emits:["openFile","openMedia","copyConversationCopied","openThinking","openCompaction","openAgent","openToolDiff","editMessage","loadOlderMessages","unqueue","editQueued","reorderQueue","steerQueued","resumeTurn"],setup(e,{expose:t,emit:n}){const{t:s}=Ue(),{confirm:o}=go();kt(()=>{U!==null&&(clearTimeout(U),U=null),Se!==null&&(clearTimeout(Se),Se=null),L!==null&&(clearTimeout(L),L=null),Be!==null&&(clearTimeout(Be),Be=null)});const i=e,u=I(null);let p=null;function f(){!u.value||typeof IntersectionObserver>"u"||(p?.disconnect(),p=new IntersectionObserver(B=>{B[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))}ht(f),kt(()=>{p?.disconnect(),p=null}),Oe(()=>[i.hasMoreMessages,i.loadingMore,i.loadingMoreError],()=>{Ke().then(f)});const v=_(()=>{if(!i.turnActive||i.turns.length===0)return null;const B=i.turns.at(-1);return B.role==="assistant"?B.id:null}),w=_(()=>i.working),x=_(()=>Wi(Ii)?s("composer.queueSteerTouch"):s("composer.queueSteer"));function g(B){const J=eu(i.turns,B.id);J&&m("resumeTurn",J)}const m=n,M=I(null);E8({root:M,query:_(()=>i.searchQuery??""),activeIndex:_(()=>i.searchActiveIndex??-1)});const h=I(null),y=I(null);function k(B){return(B.attachments?.length??0)>0}function T(B){m("editQueued",B)}function S(B,J){if(h.value=B,!J.dataTransfer)return;J.dataTransfer.effectAllowed="move",J.dataTransfer.setData("text/plain",String(B));const me=J.currentTarget?.closest(".q-turn");me&&J.dataTransfer.setDragImage(me,24,24)}function O(B,J){if(h.value===null)return;J.preventDefault(),J.dataTransfer&&(J.dataTransfer.dropEffect="move");const me=J.currentTarget.getBoundingClientRect(),He=J.clientY{for(let B=i.turns.length-1;B>=0;B--)if(i.turns[B].role==="user")return i.turns[B].id;return null});function q(B){return B.role==="user"&&B.id===R.value&&!i.working&&!B.skillActivation&&!B.pluginCommand}function V(B){const J=B.compaction,me=J?.trigger==="auto"?s("conversation.compactedAuto"):s("conversation.compactedPlain");return typeof J?.tokensBefore=="number"&&typeof J?.tokensAfter=="number"?me+s("conversation.compactedTokens",{before:ms(J.tokensBefore),after:ms(J.tokensAfter)}):me}const b=I(null),P=I(null);let L=null;async function ne(B){await o({title:s("conversation.undo"),message:s("conversation.undoConfirm"),variant:"primary"})&&oe(B)}function oe(B){P.value===null&&(P.value=B.id,m("editMessage",{text:B.text,attachments:B.attachments}),L=setTimeout(()=>{L=null,P.value=null},A$))}Oe(()=>i.turns,B=>{P.value!==null&&(B.some(J=>J.id===P.value)||(P.value=null,L!==null&&(clearTimeout(L),L=null)))},{flush:"post"});const ge=I(!1);let Se=null;function Q(){if(i.turns.length===0)return;const B=[];for(const me of i.turns){if(me.role==="compaction"||me.role==="cron")continue;const He=me.role==="user"?"User":"Assistant",De=p_(me);De.trim()&&B.push(`**${He}**
+
+${De}`)}const J=B.join(`
+
+---
+
+`);un(J).then(me=>{me&&(ge.value=!0,m("copyConversationCopied"),Se!==null&&clearTimeout(Se),Se=setTimeout(()=>{Se=null,ge.value=!1},2e3))}).catch(()=>{})}function ie(B){const J=[];for(let me=B;me>=0;me--){const He=i.turns[me];if(!He||He.role!=="assistant")break;J.unshift(He)}return J}function X(B){return ie(B).map(J=>d_(J)).filter(Boolean).join(`
+
+`)}const fe=_(()=>{const B=new Map;for(let J=i.turns.length-1;J>=0;J-=1){const me=i.turns[J];me&&me.role==="assistant"&&Z(J)&&B.set(me.id,X(J))}return B});function Ce(){for(let B=i.turns.length-1;B>=0;B-=1)if(i.turns[B]?.role==="assistant")return X(B);return""}function _e(){const B=Ce();B.trim()&&un(B).then(J=>{J&&(ge.value=!0,m("copyConversationCopied"),Se!==null&&clearTimeout(Se),Se=setTimeout(()=>{Se=null,ge.value=!1},2e3))}).catch(()=>{})}t({copyConversation:Q,copyFinalSummary:_e});function Z(B){const J=i.turns[B];if(!J||J.role!=="assistant")return!1;const me=i.turns[B+1];return!me||me.role!=="assistant"}let U=null;function ye(B){const J=i.turns[B];if(!J)return;const me=X(B);me.trim()&&un(me).then(He=>{He&&(b.value=J.id,U!==null&&clearTimeout(U),U=setTimeout(()=>{U=null,b.value=null},1400))}).catch(()=>{})}function ae(B){const J=B.text;J.trim()&&un(J).then(me=>{me&&(b.value=B.id,U!==null&&clearTimeout(U),U=setTimeout(()=>{U=null,b.value=null},1400))}).catch(()=>{})}function te(B){return{kind:B.kind==="video"?"video":"image",url:B.url,path:B.name,fileId:B.fileId}}const ce=I(null);let Be=null;function Y(B){if(B.kind==="image"||B.kind==="video"){m("openMedia",te(B));return}B.fileId!==void 0&&ld(B.fileId,B.name,B.mediaType).then(J=>{J==="unsupported"&&(ce.value=B.name??B.fileId??"",Be!==null&&clearTimeout(Be),Be=setTimeout(()=>{Be=null,ce.value=null},2400))})}function ve(B,J){return B.id!==v.value?!1:J.sourceIndex===ea(B).length-1}return(B,J)=>(a(),c(he,null,[r("div",{ref_key:"chatRootRef",ref:M,class:"chat"},[e.sessionLoading?(a(),c("div",F8,[$(Dt,{size:"sm"}),r("span",N8,d(l(s)("conversation.loading")),1)])):e.turns.length===0&&(!e.approvals||e.approvals.length===0)?(a(),c("div",q8)):A("",!0),e.hasMoreMessages||e.loadingMore?(a(),c("div",{key:2,ref_key:"topSentinelRef",ref:u,class:pe(["top-sentinel",{"top-sentinel-loading":e.loadingMore}])},[e.loadingMore?(a(),c("span",W8,[$(Dt,{size:"sm"}),re(" "+d(l(s)("conversation.loadingOlder")),1)])):(a(),c("button",{key:0,type:"button",class:"top-sentinel-btn",onClick:J[0]||(J[0]=me=>m("loadOlderMessages"))},d(l(s)("conversation.loadOlder")),1))],2)):A("",!0),(a(!0),c(he,null,Pe(e.turns,(me,He)=>(a(),c(he,{key:me.id},[me.role==="user"?(a(),c("div",H8,[r("div",{class:pe(["u-bub turn-anchor",{undoing:P.value===me.id}]),"data-turn-id":me.id},[me.attachments&&me.attachments.length>0?(a(),c("div",V8,[(a(!0),c(he,null,Pe(me.attachments,(De,an)=>(a(),G(od,{key:an,kind:De.kind,name:De.name,url:De.url,"file-id":De.fileId,"media-type":De.mediaType,size:De.size,onActivate:Fe=>Y(De)},null,8,["kind","name","url","file-id","media-type","size","onActivate"]))),128))])):A("",!0),me.skillActivation?(a(),c("div",j8,[r("div",K8,[J[10]||(J[10]=r("span",{class:"skill-act-arrow"},"▶",-1)),r("span",null,d(l(s)("conversation.activatedSkill",{name:me.skillActivation.name})),1)]),me.skillActivation.args?(a(),c("div",G8,d(me.skillActivation.args),1)):A("",!0)])):me.pluginCommand?(a(),c("div",Q8,[r("div",Y8,[J[11]||(J[11]=r("span",{class:"skill-act-arrow"},"▶",-1)),r("span",null,"/"+d(me.pluginCommand.pluginId)+":"+d(me.pluginCommand.commandName),1)]),me.pluginCommand.args?(a(),c("div",Z8,d(me.pluginCommand.args),1)):A("",!0)])):(a(),c("div",X8,d(me.text),1))],10,U8),me.createdAt||q(me)?(a(),c("div",J8,[q(me)?(a(),c("div",{key:0,class:pe(["u-edit-wrap",{undoing:P.value===me.id}])},[r("button",{type:"button",class:"u-edit","aria-label":l(s)("conversation.undoTooltip"),onClick:De=>ne(me)},[$(se,{name:"undo",size:"sm"})],8,e$)],2)):A("",!0),me.text.trim().length>0?(a(),c("button",{key:1,type:"button",class:"u-copy","aria-label":l(s)("filePreview.copy"),onClick:Re(De=>ae(me),["stop"])},[b.value!==me.id?(a(),G(se,{key:0,name:"copy",size:"sm"})):(a(),G(se,{key:1,name:"check",size:"sm"}))],8,t$)):A("",!0),me.createdAt?(a(),G(xi,{key:2,time:me.createdAt},null,8,["time"])):A("",!0)])):A("",!0)])):me.role==="compaction"?(a(),c("div",{key:1,class:"compact-divider turn-anchor","data-turn-id":me.id,role:"separator"},[J[12]||(J[12]=r("span",{class:"cd-line","aria-hidden":"true"},null,-1)),me.text?(a(),c("button",{key:0,type:"button",class:"cd-label cd-btn",onClick:De=>m("openCompaction",{turnId:me.id})},[r("span",null,d(V(me)),1),r("span",o$,d(l(s)("conversation.viewSummary")),1)],8,s$)):(a(),c("span",i$,d(V(me)),1)),J[13]||(J[13]=r("span",{class:"cd-line","aria-hidden":"true"},null,-1))],8,n$)):me.role==="cron"?(a(),G(d8,{key:2,text:me.text,cron:me.cron,"turn-id":me.id,"created-at":me.createdAt},null,8,["text","cron","turn-id","created-at"])):(a(),c("div",{key:3,class:"a-msg turn-anchor","data-turn-id":me.id},[(a(!0),c(he,null,Pe(l(u_)(me),(De,an)=>(a(),c(he,{key:l(f_)(De,an)},[De.kind==="thinking"?(a(),G(U_,{key:0,text:De.thinking,mobile:"",streaming:ve(me,De),onOpen:Fe=>m("openThinking",{turnId:me.id,blockIndex:De.sourceIndex})},null,8,["text","streaming","onOpen"])):De.kind==="text"&&De.text?(a(),c("div",l$,[$(ci,{text:De.text,streaming:ve(me,De),"open-file":Fe=>m("openFile",Fe)},null,8,["text","streaming","open-file"])])):De.kind==="error"?(a(),G(ad,{key:2,variant:"danger",class:"turn-error"},{default:H(()=>[r("span",r$,d(De.text),1),l(eu)(e.turns,me.id)!==null?(a(),G(qe,{key:0,class:"turn-error-resume",size:"sm",variant:"secondary",onClick:Re(Fe=>g(me),["stop"])},{default:H(()=>[re(d(l(s)("conversation.turnFailedResume")),1)]),_:1},8,["onClick"])):A("",!0)]),_:2},1024)):De.kind==="tool-stack"?(a(),G(b_,{key:3,tools:De.tools,mobile:"","tool-diff-panel":e.toolDiffPanel,onOpenMedia:J[1]||(J[1]=Fe=>m("openMedia",Fe)),onOpenFile:J[2]||(J[2]=Fe=>m("openFile",Fe)),onOpenToolDiff:J[3]||(J[3]=Fe=>m("openToolDiff",Fe)),onOpenAgent:J[4]||(J[4]=Fe=>m("openAgent",Fe))},null,8,["tools","tool-diff-panel"])):De.kind==="tool"?(a(),G(Xc,{key:4,tool:De.tool,mobile:"","tool-diff-panel":e.toolDiffPanel,onOpenMedia:J[5]||(J[5]=Fe=>m("openMedia",Fe)),onOpenFile:J[6]||(J[6]=Fe=>m("openFile",Fe)),onOpenToolDiff:J[7]||(J[7]=Fe=>m("openToolDiff",Fe)),onOpenAgent:J[8]||(J[8]=Fe=>m("openAgent",Fe))},null,8,["tool","tool-diff-panel"])):A("",!0)],64))),128)),me.id!==v.value&&Z(He)&&((fe.value.get(me.id)??"").trim().length>0||me.durationMs!==void 0)?(a(),c("div",u$,[me.createdAt&&me.durationMs!==void 0?(a(),G(ot,{key:0,text:`${me.durationMs} ms`},{default:H(()=>[$(xi,{time:me.createdAt},null,8,["time"])]),_:2},1032,["text"])):me.createdAt?(a(),G(xi,{key:1,time:me.createdAt},null,8,["time"])):A("",!0),(fe.value.get(me.id)??"").trim().length>0?(a(),c("button",{key:2,class:"a-cpbtn","aria-label":l(s)("filePreview.copy"),onClick:De=>ye(He)},[b.value!==me.id?(a(),G(se,{key:0,name:"copy",size:"sm"})):(a(),G(se,{key:1,name:"check",size:"sm"}))],8,c$)):A("",!0)])):A("",!0)],8,a$))],64))),128)),e.compaction?(a(),G(Q_,{key:3,label:l(s)("conversation.compacting")},null,8,["label"])):A("",!0),w.value?(a(),c("div",d$,[$(id,{fast:e.fastMoon,label:e.retry?l(s)("conversation.workingRetry",{n:e.retry.attempt,max:e.retry.max}):l(s)("conversation.waitingForResponse")},null,8,["fast","label"])])):A("",!0),e.queued.length>0?(a(),c("div",p$,[r("div",f$,[r("span",m$,[$(se,{name:"mail",size:"sm"}),re(" "+d(l(s)("composer.queueLabel"))+" · ",1),r("b",null,d(e.queued.length),1)]),r("span",v$,d(l(s)("composer.queueAutoDrain")),1)]),(a(!0),c(he,null,Pe(e.queued,(me,He)=>(a(),c("div",{key:He,class:pe(["u-turn q-turn",{"q-dragging":h.value===He,"drop-before":y.value?.index===He&&y.value.position==="before","drop-after":y.value?.index===He&&y.value.position==="after"}]),onDragover:De=>O(He,De),onDrop:De=>D(He,De)},[r("div",g$,[r("span",{class:"q-grip",title:l(s)("composer.queueDragTitle"),draggable:"true",onDragstart:De=>S(He,De),onDragend:E},[$(se,{name:"grip",size:"sm"})],40,y$),r("button",{type:"button",class:"q-body",title:l(s)("composer.editQueued"),onClick:De=>T(He)},[me.text?(a(),c("span",b$,d(me.text),1)):(a(),c("span",w$,[$(se,{name:"file",size:"sm"}),re(" "+d(l(s)("composer.queuedAttachments",{n:me.attachments?.length??0})),1)]))],8,k$),k(me)?(a(),c("div",S$,[(a(!0),c(he,null,Pe(me.attachments,(De,an)=>(a(),c(he,{key:an},[De.kind==="file"?(a(),c("span",C$,[$(se,{name:"file",size:"sm"}),re(" "+d(De.name??De.fileId),1)])):(a(),G(sd,{key:1,url:De.url,kind:De.kind,"file-id":De.fileId,"media-class":"q-img",controls:!1,muted:""},null,8,["url","kind","file-id"]))],64))),128))])):A("",!0),He===0?(a(),c("span",_$,d(l(s)("composer.queueNext")),1)):(a(),c("span",$$,"#"+d(He+1),1)),r("button",{type:"button",class:"q-steer","aria-label":x.value,onClick:J[9]||(J[9]=Re(De=>m("steerQueued"),["stop"]))},[$(se,{name:"send",size:"sm"})],8,M$),r("button",{type:"button",class:"q-rm","aria-label":l(s)("composer.remove"),onClick:Re(De=>m("unqueue",He),["stop"])},[$(se,{name:"close",size:"sm"})],8,x$)])],42,h$))),128))])):A("",!0)],512),ce.value!==null?(a(),c("div",I$,d(l(s)("composer.attachmentOpenUnsupported",{name:ce.value})),1)):A("",!0)],64))}}),cd=Ee(T$,[["__scopeId","data-v-3ca41c3a"]]),P$={class:"ch-id"},E$={key:0,class:"ch-ws"},L$={key:1,class:"ch-sep"},B$=["onKeydown"],R$={class:"ch-ses"},O$={key:0,class:"ch-pill ch-sync-pill"},D$={key:0,class:"ch-ahead"},z$={key:1,class:"ch-behind"},F$={key:1,class:"ch-pill ch-diff-pill"},N$={key:0,class:"ch-add"},q$={key:1,class:"ch-del"},W$=Ie({__name:"ChatHeader",props:{sessionId:{},workspaceName:{},workspaceRoot:{},sessionTitle:{},branch:{},ahead:{},behind:{},changesCount:{},gitDiffStats:{},isGitRepo:{type:Boolean},pr:{},copied:{type:Boolean},searchActive:{type:Boolean}},emits:["copyAll","copyFinalSummary","openChanges","openPr","renameSession","forkSession","archiveSession","exportSession","toggleSearch"],setup(e,{emit:t}){const{t:n}=Ue(),s=e,o=t,i=_(()=>s.ahead??0),u=_(()=>s.behind??0),p=_(()=>s.gitDiffStats?.totalAdditions??0),f=_(()=>s.gitDiffStats?.totalDeletions??0),v=_(()=>p.value>0||f.value>0),w={open:"header.prStatusOpen",closed:"header.prStatusClosed",merged:"header.prStatusMerged",draft:"header.prStatusDraft"};function x(X){return X.trim().toLowerCase().replaceAll("_","-")}function g(X){const fe=x(X);return w[fe]?`pr-${fe}`:"pr-unknown"}function m(X){return n(w[x(X)]??"header.prStatusUnknown")}const M=I(!1),h=I(null),y=I(null),k=I({});function T(X){const fe=X.target;y.value?.el?.contains(fe)||h.value?.el?.contains(fe)||D()}function S(){D()}async function O(X){if(X.stopPropagation(),M.value){D();return}M.value=!0,document.addEventListener("mousedown",T),window.addEventListener("resize",S),await Ke();const fe=h.value?.el,Ce=y.value?.el;if(!fe||!Ce)return;const _e=fe.getBoundingClientRect(),Z=4,U=8,ye=Ce.offsetWidth,ae=Ce.offsetHeight;let te=_e.bottom+Z;te+ae>window.innerHeight-U&&(te=Math.max(U,_e.top-ae-Z));let ce=_e.left;ce+ye>window.innerWidth-U&&(ce=Math.max(U,_e.right-ye)),k.value={top:`${Math.round(te)}px`,left:`${Math.round(ce)}px`}}function D(){M.value=!1,document.removeEventListener("mousedown",T),window.removeEventListener("resize",S)}kt(()=>{document.removeEventListener("mousedown",T),window.removeEventListener("resize",S)});function E(){o("copyAll"),D()}function R(){o("copyFinalSummary"),D()}const q=I(!1);function V(){s.sessionId&&un(s.sessionId).then(X=>{X&&(q.value=!0,setTimeout(()=>{q.value=!1},1200))})}const b=I(!1),P=I(""),L=I(null);async function ne(){if(D(),!!s.sessionId){b.value=!0,P.value=s.sessionTitle??"",await Ke();try{L.value?.focus(),L.value?.select()}catch{}}}function oe(){const X=P.value.trim();X&&s.sessionId&&X!==(s.sessionTitle??"").trim()&&o("renameSession",s.sessionId,X),b.value=!1}function ge(){b.value=!1}function Se(){s.sessionId&&(D(),o("forkSession",s.sessionId))}function Q(){s.sessionId&&(D(),o("exportSession",s.sessionId))}function ie(){s.sessionId&&(D(),o("archiveSession",s.sessionId))}return(X,fe)=>(a(),c("header",{class:pe(["chat-header",{"macos-desktop":l(Eo)}])},[r("div",P$,[e.workspaceName?(a(),c("span",E$,d(e.workspaceName),1)):A("",!0),e.workspaceName&&e.sessionTitle?(a(),c("span",L$,"/")):A("",!0),b.value?gt((a(),c("input",{key:2,ref_key:"renameInputRef",ref:L,"onUpdate:modelValue":fe[0]||(fe[0]=Ce=>P.value=Ce),class:"ch-rename",type:"text",onKeydown:[En(Re(oe,["stop"]),["enter"]),En(Re(ge,["stop"]),["esc"])],onBlur:oe,onClick:fe[1]||(fe[1]=Re(()=>{},["stop"]))},null,40,B$)),[[qn,P.value]]):e.sessionTitle?(a(),G(ot,{key:3,text:e.sessionTitle},{default:H(()=>[r("span",R$,d(e.sessionTitle),1)]),_:1},8,["text"])):A("",!0)]),$(nt,{class:pe(["ch-act-search",{active:e.searchActive}]),label:l(n)("header.search"),"aria-expanded":e.searchActive,onClick:fe[2]||(fe[2]=Re(Ce=>o("toggleSearch"),["stop"]))},{default:H(()=>[$(se,{name:"search",size:"md"})]),_:1},8,["class","label","aria-expanded"]),$(nt,{ref_key:"kebabRef",ref:h,class:pe(["ch-act-more",{open:M.value}]),label:l(n)("header.options"),"aria-expanded":M.value,"aria-haspopup":"menu",onClick:fe[3]||(fe[3]=Re(Ce=>O(Ce),["stop"]))},{default:H(()=>[$(se,{name:"dots-horizontal",size:"md"})]),_:1},8,["class","label","aria-expanded"]),M.value?(a(),G(Hs,{key:0,ref_key:"menuRef",ref:y,class:"ch-menu",style:rt(k.value),onClick:fe[4]||(fe[4]=Re(()=>{},["stop"]))},{default:H(()=>[$(dt,{onClick:E},{default:H(()=>[$(se,{name:e.copied?"check":"copy",size:"sm"},null,8,["name"]),re(" "+d(e.copied?l(n)("header.copied"):l(n)("header.copyAll")),1)]),_:1}),$(dt,{onClick:R},{default:H(()=>[$(se,{name:"file-text",size:"sm"}),re(" "+d(l(n)("header.copyFinalSummary")),1)]),_:1}),e.sessionId?(a(),c(he,{key:0},[$(dt,{separator:""}),$(dt,{onClick:V},{default:H(()=>[$(se,{name:q.value?"check":"copy",size:"sm"},null,8,["name"]),re(" "+d(q.value?l(n)("header.copied"):l(n)("header.copySessionId")),1)]),_:1}),$(dt,{onClick:ne},{default:H(()=>[$(se,{name:"pencil",size:"sm"}),re(" "+d(l(n)("header.renameSession")),1)]),_:1}),$(dt,{onClick:Se},{default:H(()=>[$(se,{name:"git-fork",size:"sm"}),re(" "+d(l(n)("header.forkSession")),1)]),_:1}),$(dt,{onClick:Q},{default:H(()=>[$(se,{name:"download",size:"sm"}),re(" "+d(l(n)("header.exportSession")),1)]),_:1}),$(dt,{danger:"",onClick:ie},{default:H(()=>[$(se,{name:"archive",size:"sm"}),re(" "+d(l(n)("header.archiveSession")),1)]),_:1})],64)):A("",!0)]),_:1},8,["style"])):A("",!0),fe[7]||(fe[7]=r("div",{class:"ch-spacer"},null,-1)),e.isGitRepo?(a(),c("button",{key:1,type:"button",class:"ch-git",onClick:fe[5]||(fe[5]=Ce=>o("openChanges"))},[r("span",{class:pe(["ch-branch",{"ch-detached":!e.branch}])},d(e.branch||l(n)("header.detached")),3),i.value>0||u.value>0?(a(),c("span",O$,[i.value>0?(a(),c("span",D$,"↑"+d(i.value),1)):A("",!0),u.value>0?(a(),c("span",z$,"↓"+d(u.value),1)):A("",!0)])):A("",!0),v.value?(a(),c("span",F$,[p.value>0?(a(),c("span",N$,"+"+d(p.value),1)):A("",!0),f.value>0?(a(),c("span",q$,"-"+d(f.value),1)):A("",!0)])):A("",!0)])):A("",!0),e.pr?(a(),c("button",{key:2,type:"button",class:pe(["ch-pill ch-pr",g(e.pr.state)]),onClick:fe[6]||(fe[6]=Ce=>e.pr&&o("openPr",e.pr.url))},[$(se,{name:"git-pull-request",size:"sm"}),r("span",null,"PR #"+d(e.pr.number)+" · "+d(m(e.pr.state)),1)],2)):A("",!0)],2))}}),H$=Ee(W$,[["__scopeId","data-v-a3848f6a"]]);function dd(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 U$(e,t,n=4,s=24){const o=dd(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 pd(){const e=I(null),t=I(!1),n=I(!1),s=I(!1),o=I({});let i=null,u=!1,p=0,f=0,v=1;function w(){const h=e.value;if(!h)return;const{clientHeight:y,scrollHeight:k,scrollTop:T}=h;t.value=k>y+1,n.value=T>1,s.value=T{i?.disconnect(),i=null,h&&typeof ResizeObserver<"u"&&(i=new ResizeObserver(w),i.observe(h),Ke(w))}),kt(()=>{i?.disconnect(),i=null}),{listRef:e,scrollable:t,fadeTop:n,fadeBottom:s,thumbStyle:o,onScroll:x,onThumbPointerDown:g,onThumbPointerMove:m,onThumbPointerUp:M}}const V$=["data-query"],j$={class:"slash-scroller"},K$=["aria-selected","onMouseenter","onMousedown"],G$={class:"slash-name"},Q$={key:0,class:"slash-match"},Y$={class:"slash-desc"},Z$={key:0,class:"slash-desc-match"},X$={key:0,class:"slash-empty",role:"status"},J$={key:1,class:"menu-scroll-fade menu-scroll-fade-top"},e9={key:2,class:"menu-scroll-fade menu-scroll-fade-bottom"},t9=Ie({__name:"SlashMenu",props:{matches:{},activeIndex:{},query:{}},emits:["select","hover"],setup(e,{emit:t}){const{t:n}=Ue(),s=e,o=t,i=I([]);Oe(()=>s.activeIndex,k=>{i.value[k]?.scrollIntoView({block:"nearest"})});const{listRef:u,scrollable:p,fadeTop:f,fadeBottom:v,thumbStyle:w,onScroll:x,onThumbPointerDown:g,onThumbPointerMove:m,onThumbPointerUp:M}=pd();function h(k){return k.isSkill?k.desc:n(k.desc)}function y(k,T){if(T.length===0||k.length===0)return[{text:k,matched:!1}];const S=[];let O=0;for(const D of T){if(D.end<=O||D.start>k.length)continue;const E=Math.max(D.start,O);E>O&&S.push({text:k.slice(O,E),matched:!1}),S.push({text:k.slice(E,D.end),matched:!0}),O=D.end}return O(a(),c("div",{class:"slash-menu","data-query":e.query??""},[r("div",j$,[r("div",{ref_key:"listRef",ref:u,class:"slash-list",role:"listbox",onScroll:T[0]||(T[0]=(...S)=>l(x)&&l(x)(...S))},[(a(!0),c(he,null,Pe(s.matches,(S,O)=>(a(),c("div",{ref_for:!0,ref:D=>{D&&(i.value[O]=D)},key:`${S.item.name}-${S.index}`,class:pe(["slash-item",{active:O===s.activeIndex}]),role:"option","aria-selected":O===s.activeIndex,onMouseenter:D=>o("hover",O),onMousedown:Re(D=>o("select",S.item),["prevent"])},[r("span",G$,[(a(!0),c(he,null,Pe(y(S.item.name,S.nameRanges),(D,E)=>(a(),c(he,{key:E},[D.matched?(a(),c("span",Q$,d(D.text),1)):(a(),c(he,{key:1},[re(d(D.text),1)],64))],64))),128))]),r("span",Y$,[(a(!0),c(he,null,Pe(y(h(S.item),S.descRanges),(D,E)=>(a(),c(he,{key:E},[D.matched?(a(),c("span",Z$,d(D.text),1)):(a(),c(he,{key:1},[re(d(D.text),1)],64))],64))),128))])],42,K$))),128)),s.matches.length===0?(a(),c("div",X$,d(l(n)("composer.slashEmpty")),1)):A("",!0)],544),l(p)?(a(),c("div",{key:0,class:"menu-scroll-thumb",style:rt(l(w)),onPointerdown:T[1]||(T[1]=(...S)=>l(g)&&l(g)(...S)),onPointermove:T[2]||(T[2]=(...S)=>l(m)&&l(m)(...S)),onPointerup:T[3]||(T[3]=(...S)=>l(M)&&l(M)(...S)),onPointercancel:T[4]||(T[4]=(...S)=>l(M)&&l(M)(...S))},null,36)):A("",!0),l(p)&&l(f)?(a(),c("div",J$)):A("",!0),l(p)&&l(v)?(a(),c("div",e9)):A("",!0)])],8,V$))}}),n9=Ee(t9,[["__scopeId","data-v-3f12a9ed"]]),s9={class:"mention-menu"},o9={class:"mention-scroller"},i9={key:0,class:"mention-state dim"},a9={key:1,class:"mention-state dim"},l9=["aria-selected","onMouseenter","onMousedown"],r9=["innerHTML"],u9={class:"mention-name"},c9={class:"mention-path"},d9={key:1,class:"menu-scroll-fade menu-scroll-fade-top"},p9={key:2,class:"menu-scroll-fade menu-scroll-fade-bottom"},f9=Ie({__name:"MentionMenu",props:{items:{},activeIndex:{},loading:{type:Boolean}},emits:["select","hover"],setup(e,{emit:t}){const n=e,s=t,{t:o}=Ue(),{listRef:i,scrollable:u,fadeTop:p,fadeBottom:f,thumbStyle:v,onScroll:w,onThumbPointerDown:x,onThumbPointerMove:g,onThumbPointerUp:m}=pd(),M=_o("folder","sm"),h=_o("code","sm"),y=_o("file-text","sm"),k=_o("image","sm"),T=_o("file","sm"),S=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"]),O=new Set(["md","markdown","mdx","txt","rst","adoc","pdf","doc","docx"]),D=new Set(["png","jpg","jpeg","gif","svg","webp","bmp","ico","avif"]);function E(R){const q=R.path;if(q.endsWith("/"))return M;const V=R.name||q.split("/").pop()||q,b=V.lastIndexOf("."),P=b>0?V.slice(b+1).toLowerCase():"";return P?S.has(P)?h:O.has(P)?y:D.has(P)?k:T:T}return(R,q)=>(a(),c("div",s9,[r("div",o9,[r("div",{ref_key:"listRef",ref:i,class:"mention-list",role:"listbox",onScroll:q[0]||(q[0]=(...V)=>l(w)&&l(w)(...V))},[n.loading?(a(),c("div",i9,d(l(o)("mention.searching")),1)):n.items.length===0?(a(),c("div",a9,d(l(o)("mention.noMatch")),1)):(a(!0),c(he,{key:2},Pe(n.items,(V,b)=>(a(),c("div",{key:V.path,class:pe(["mention-item",{active:b===n.activeIndex}]),role:"option","aria-selected":b===n.activeIndex,onMouseenter:P=>s("hover",b),onMousedown:Re(P=>s("select",V),["prevent"])},[r("span",{class:"mention-icon",innerHTML:E(V),"aria-hidden":"true"},null,8,r9),r("span",u9,d(V.name),1),r("span",c9,d(V.path),1)],42,l9))),128))],544),l(u)?(a(),c("div",{key:0,class:"menu-scroll-thumb",style:rt(l(v)),onPointerdown:q[1]||(q[1]=(...V)=>l(x)&&l(x)(...V)),onPointermove:q[2]||(q[2]=(...V)=>l(g)&&l(g)(...V)),onPointerup:q[3]||(q[3]=(...V)=>l(m)&&l(m)(...V)),onPointercancel:q[4]||(q[4]=(...V)=>l(m)&&l(m)(...V))},null,36)):A("",!0),l(u)&&l(p)?(a(),c("div",d9)):A("",!0),l(u)&&l(f)?(a(),c("div",p9)):A("",!0)])]))}}),m9=Ee(f9,[["__scopeId","data-v-b8578b17"]]),Cn={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"},fd=[{name:"/new",desc:"commands.new.desc",pinyinFirst:Cn.new},{name:"/clear",desc:"commands.clear.desc",pinyinFirst:Cn.clear},{name:"/login",desc:"commands.login.desc",pinyinFirst:Cn.login},{name:"/plan",desc:"commands.plan.desc",pinyinFirst:Cn.plan},{name:"/swarm",desc:"commands.swarm.desc",pinyinFirst:Cn.swarm,acceptsInput:!0},{name:"/goal",desc:"commands.goal.desc",pinyinFirst:Cn.goal,acceptsInput:!0},{name:"/btw",desc:"commands.btw.desc",pinyinFirst:Cn.btw,acceptsInput:!0},{name:"/auto",desc:"commands.auto.desc",pinyinFirst:Cn.auto},{name:"/yolo",desc:"commands.yolo.desc",pinyinFirst:Cn.yolo},{name:"/thinking",desc:"commands.thinking.desc",pinyinFirst:Cn.thinking},{name:"/compact",desc:"commands.compact.desc",pinyinFirst:Cn.compact,acceptsInput:!0},{name:"/undo",desc:"commands.undo.desc",pinyinFirst:Cn.undo},{name:"/fork",desc:"commands.fork.desc",pinyinFirst:Cn.fork},{name:"/export",desc:"commands.export.desc",pinyinFirst:Cn.export},{name:"/status",desc:"commands.status.desc",pinyinFirst:Cn.status}];function v9(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 Hi="skill:";function h9(e){return e.startsWith(Hi)?e.slice(Hi.length):e}function md(e=[]){const t=e.map(n=>({name:n.source==="builtin"?`/${n.name}`:`/${Hi}${n.name}`,desc:n.description,isSkill:!0,acceptsInput:!0}));return[...fd,...t]}const g9=3,y9=1,k9=1;function vd(e){return e.toLowerCase().trim().replace(/^\//,"")}function _a(e,t){return e===t?4:e.startsWith(t)?3:e.includes(t)?2:b9(e,t)?1:0}function b9(e,t){let n=0;for(const s of t){if(n=e.indexOf(s,n),n===-1)return!1;n++}return!0}function tu(e,t){const n=vd(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 w9(e,t=fd,n=s=>s.desc){const s=vd(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=_a(u,s)*g9+_a(p.toLowerCase(),s)*y9+(o.pinyinFirst?_a(o.pinyinFirst,s)*k9:0);return f===0?null:{match:{item:o,index:i,nameRanges:tu(o.name,s),descRanges:tu(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 Ui=100;function S9(e){const t=vo(We.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>Ui?n.slice(-Ui):n,o={[e]:s};return Vs(We.inputHistory,o),o}return t&&typeof t=="object"?t:{}}function C9(e){const{text:t,textareaRef:n,autosize:s,sessionId:o}=e,i=I(S9(o())),u=_(()=>i.value[o()??""]??[]);let p=-1,f="";function v(k){const T=o();if(p=-1,!T)return;const S=k.trim();if(!S)return;const O=i.value[T]??[];if(O.at(-1)===S)return;const D=[...O,S],E=D.length>Ui?D.slice(-Ui):D;i.value={...i.value,[T]:E},Vs(We.inputHistory,i.value)}function w(){const k=n.value;return k?(k.selectionStart??0)===0:!1}function x(k){t.value=k,Ke(()=>{const T=n.value;if(!T)return;s();const S=k.length;T.setSelectionRange(S,S)})}function g(){const k=u.value;if(k.length!==0){if(p===-1)f=t.value,p=k.length-1;else if(p>0)p-=1;else return;x(k[p])}}function m(){if(p===-1)return;const k=u.value;p0}return Oe(o,()=>{p=-1}),{push:v,caretAtTextStart:w,recallOlder:g,recallNewer:m,resetBrowsing:M,isBrowsing:h,hasHistory:y}}function _9(e){const{text:t,textareaRef:n,autosize:s,skills:o,emitCommand:i,historyPush:u,clearDraft:p}=e,f=e.resolveDesc??(y=>y.desc),v=I(!1),w=I([]),x=_(()=>w.value.map(y=>y.item)),g=I(0),m=I("");function M(){const y=t.value;y.startsWith("/")&&!y.includes(" ")?(m.value=y,w.value=w9(y,md(o()),f),g.value=0,v.value=!0):v.value=!1}function h(y){if(v.value=!1,y.acceptsInput){t.value=`${y.name} `,Ke(()=>{const k=n.value;if(!k)return;const T=t.value.length;k.setSelectionRange(T,T),k.focus(),s()});return}t.value="",p?.(),u(y.name),i(y.name)}return{open:v,matches:w,items:x,active:g,query:m,update:M,select:h}}function $9(e){const{text:t,textareaRef:n,autosize:s,searchFiles:o}=e,i=I(!1),u=I([]),p=I(0),f=I(!1);let v=null;function w(){const m=t.value,M=n.value?.selectionStart??m.length;let h=M-1;for(;h>=0&&!/\s/.test(m[h]);)h--;h++;const y=m.slice(h,M);return y.startsWith("@")?{token:y.slice(1),start:h,end:M}:null}function x(){const m=w(),M=o();if(!m||!M){i.value=!1;return}const h=m.token;v!==null&&clearTimeout(v),v=setTimeout(async()=>{f.value=!0,i.value=!0,p.value=0;try{u.value=await M(h)}catch{u.value=[]}finally{f.value=!1}},200)}function g(m){const M=w();if(!M)return;const h=t.value;t.value=h.slice(0,M.start)+m.path+h.slice(M.end),i.value=!1,Ke(()=>{const y=n.value;if(!y)return;const k=M.start+m.path.length;y.setSelectionRange(k,k),y.focus(),s()})}return{open:i,items:u,active:p,loading:f,update:x,select:g}}function M9(e){const{sessionId:t}=e;function n(v){return It(Fl(v))??""}function s(v,w){const x=Fl(v);w?Bt(x,w):ro(x)}const o=I(n(t())),i=I(null);function u(){const v=i.value;v&&(v.style.height="auto",v.style.height=`${v.scrollHeight}px`)}Oe(o,v=>{Ke(u),s(t(),v)}),Oe(t,(v,w)=>{v!==w&&(s(w,o.value),o.value=n(v),Ke(u))});function p(v){o.value=v,Ke(()=>{const w=i.value;if(!w)return;w.focus();const x=v.length;w.setSelectionRange(x,x),u()})}function f(){s(t(),"")}return{text:o,textareaRef:i,autosize:u,loadForEdit:p,clearDraft:f}}function x9(e){const{uploadImage:t,sessionId:n}=e,s=I({}),o=_(()=>s.value[n()??""]??[]),i=I(null),u=I(null),p=I(!1);let f=0;function v(){return`att_${++f}`}function w(Q,ie){s.value={...s.value,[Q]:ie}}function x(Q){if(Q.previewUrl!==void 0)try{URL.revokeObjectURL(Q.previewUrl)}catch{}}function g(Q){return Q.startsWith("image/")?"image":Q.startsWith("video/")?"video":"file"}async function m(Q){const ie=t();if(!ie)return;const X=n()??"";if(Q.length!==0)for(const fe of Q){const Ce=g(fe.type),_e=v(),Z=Ce==="file"?void 0:URL.createObjectURL(fe),U={localId:_e,name:fe.name,kind:Ce,previewUrl:Z,mediaType:fe.type||"application/octet-stream",size:fe.size,uploading:!0};w(X,[...s.value[X]??[],U]),ie(fe,fe.name).then(ye=>{const ae=s.value[X]??[];w(X,ae.map(te=>te.localId===_e?{...te,uploading:!1,fileId:ye?.fileId,mediaType:ye?.mediaType??te.mediaType,error:ye===null}:te))}).catch(()=>{const ye=s.value[X]??[];w(X,ye.map(ae=>ae.localId===_e?{...ae,uploading:!1,error:!0}:ae))})}}function M(Q){const ie=n()??"",X=s.value[ie]??[],fe=X.find(Ce=>Ce.localId===Q);i.value?.localId===Q&&(i.value=null),fe&&x(fe),w(ie,X.filter(Ce=>Ce.localId!==Q))}function h(Q){i.value=Q}function y(){i.value=null}function k(){u.value?.click()}function T(Q){const ie=Q.target,X=Array.from(ie.files??[]);m(X),ie.value=""}function S(Q){if(!t())return;const ie=Q.clipboardData;if(!ie)return;const X=[],fe=new Set,Ce=(_e,Z)=>{const U=`${_e.size}:${_e.type}:${Z}`;if(fe.has(U))return;fe.add(U);const ye=_e.type.split("/")[1]??"png",ae=Z.includes(".")?Z:`paste-${Date.now()}.${ye}`;X.push(_e instanceof File?_e:new File([_e],ae,{type:_e.type}))};for(const _e of Array.from(ie.items))if(_e.kind==="file"){const Z=_e.getAsFile();Z&&Ce(Z,Z.name||`paste-${Date.now()}.${_e.type.split("/")[1]??"png"}`)}for(const _e of Array.from(ie.files))Ce(_e,_e.name);X.length!==0&&(Q.preventDefault(),m(X))}let O=0;function D(Q){!t()||!Array.from(Q.dataTransfer?.items??[]).some(X=>X.kind==="file")||(Q.preventDefault(),Q.stopPropagation(),p.value=!0)}function E(){p.value=!1}function R(Q){if(O=0,p.value=!1,!t())return;Q.preventDefault(),Q.stopPropagation();const ie=Array.from(Q.dataTransfer?.files??[]);m(ie)}function q(Q){return Array.from(Q.dataTransfer?.items??[]).some(ie=>ie.kind==="file")}function V(Q){!t()||!q(Q)||(Q.preventDefault(),O+=1,p.value=!0)}function b(Q){!t()||!q(Q)||Q.preventDefault()}function P(Q){!t()||!q(Q)||(O=Math.max(0,O-1),O===0&&(p.value=!1))}function L(Q){if(O=0,p.value=!1,!t())return;Q.preventDefault();const ie=Array.from(Q.dataTransfer?.files??[]);m(ie)}function ne(){const Q=n()??"";for(const ie of s.value[Q]??[])x(ie);w(Q,[])}function oe(Q,ie,X){const fe=s.value[Q]??[];fe.some(Ce=>Ce.localId===ie)&&w(Q,fe.map(Ce=>Ce.localId===ie?{...Ce,...X}:Ce))}function ge(Q){return fetch(Q).then(ie=>{if(!ie.ok)throw new Error(`fetch failed: ${ie.status}`);return ie.blob()})}function Se(Q){const ie=n()??"";for(const X of s.value[ie]??[])x(X);w(ie,[]);for(const X of Q){const fe=v(),Ce=/^data:/i.test(X.url),_e=/^blob:/i.test(X.url),Z=X.name??X.kind;if(X.fileId){const U={localId:fe,name:Z,kind:X.kind,previewUrl:X.kind==="file"?void 0:X.url,uploading:!1,fileId:X.fileId};w(ie,[...s.value[ie]??[],U]),X.kind!=="file"&&!Ce&&!_e&&Te().getFileBlob(X.fileId).then(ye=>{const ae=URL.createObjectURL(ye);if(!(s.value[ie]??[]).some(ce=>ce.localId===fe)){URL.revokeObjectURL(ae);return}oe(ie,fe,{previewUrl:ae})}).catch(()=>{})}else{if(!X.url)continue;const U=t();if(!U)continue;const ye={localId:fe,name:Z,kind:X.kind,previewUrl:X.url,uploading:!0};w(ie,[...s.value[ie]??[],ye]),ge(X.url).then(ae=>{const te=Z.includes(".")?Z:`${Z}.${ae.type.split("/")[1]??"bin"}`;return U(ae,te)}).then(ae=>{if(ae===null){const te=s.value[ie]??[];w(ie,te.filter(ce=>ce.localId!==fe));return}oe(ie,fe,{uploading:!1,fileId:ae.fileId})}).catch(()=>{const ae=s.value[ie]??[];w(ie,ae.filter(te=>te.localId!==fe))})}}}return Oe(n,()=>{i.value=null}),ht(()=>{document.addEventListener("paste",S),document.addEventListener("dragenter",V),document.addEventListener("dragover",b),document.addEventListener("dragleave",P),document.addEventListener("drop",L)}),kt(()=>{document.removeEventListener("paste",S),document.removeEventListener("dragenter",V),document.removeEventListener("dragover",b),document.removeEventListener("dragleave",P),document.removeEventListener("drop",L);for(const Q of Object.values(s.value))for(const ie of Q)x(ie);i.value=null}),{attachments:o,previewAttachment:i,fileInputRef:u,isDragOver:p,removeAttachment:M,openAttachmentPreview:h,closeAttachmentPreview:y,openFilePicker:k,handleFileInputChange:T,handleDragOver:D,handleDragLeave:E,handleDrop:R,clearAfterSubmit:ne,loadAttachments:Se}}const I9=new Set(["F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","Escape","Home","End","PageUp","PageDown","Insert"]);function A9(e){return e.ctrlKey||e.metaKey||e.altKey?!0:I9.has(e.key)}let hd=!1;function T9(e){A9(e)&&(hd=!0)}function P9(e){return hd||Wi(D8,e)}const E9={class:"ctx-ring",viewBox:"0 0 20 20","aria-hidden":"true"},L9=["stroke-dasharray","stroke-dashoffset"],$a=7,B9=Ie({__name:"ContextRing",props:{pct:{}},setup(e){const t=e,n=2*Math.PI*$a;return(s,o)=>(a(),c("svg",E9,[r("circle",{class:"ctx-ring-track",cx:"10",cy:"10",r:$a,fill:"none","stroke-width":"2.5"}),r("circle",{class:"ctx-ring-fill",cx:"10",cy:"10",r:$a,fill:"none","stroke-width":"2.5","stroke-linecap":"round","stroke-dasharray":`${n}`,"stroke-dashoffset":`${n*(1-t.pct/100)}`},null,8,L9)]))}}),R9=Ee(B9,[["__scopeId","data-v-a364f1f1"]]),O9={key:0,class:"att-strip"},D9={class:"att-lightbox-card"},z9=["src"],F9=["src","alt"],N9={class:"att-lightbox-name"},q9={class:"composer-card"},W9={class:"cin-wrap"},H9={class:"input-row"},U9=["placeholder","disabled"],V9=["aria-label"],j9={class:"toolbar-left"},K9=["onKeydown"],G9=["onClick"],Q9={class:"pd-check"},Y9={class:"pd-info"},Z9={class:"pd-desc"},X9={class:"pd-check"},J9={class:"pd-info"},eM={class:"pd-name"},tM={class:"pd-desc"},nM={class:"pd-check"},sM={class:"pd-info"},oM={class:"pd-name"},iM={class:"pd-desc"},aM={class:"pd-check"},lM={class:"pd-info"},rM={class:"pd-name"},uM={class:"pd-desc"},cM={class:"pd-check"},dM={class:"pd-info"},pM={class:"pd-name"},fM={class:"pd-desc"},mM=["aria-pressed"],vM=["aria-label"],hM=["aria-pressed"],gM=["aria-label"],yM=["aria-pressed"],kM=["aria-label"],bM=["aria-pressed"],wM=["aria-label"],SM={class:"toolbar-right"},CM=["aria-label"],_M=["onKeydown"],$M={key:0,class:"think-suffix"},MM=["aria-label"],xM=["aria-label","disabled"],IM={key:0,class:"md-section"},AM=["onClick"],TM={class:"md-check"},PM={class:"md-name"},EM={class:"md-provider"},LM={key:1,class:"md-divider"},BM={key:2,class:"md-section"},RM=["onClick"],OM={class:"md-check"},DM={class:"md-name"},zM={key:3,class:"md-divider"},FM={class:"md-name"},NM={key:0,class:"md-note"},qM=["aria-label"],WM=["disabled","onClick"],HM={class:"md-cache-note"},UM={class:"md-name"},VM={class:"drop-card"},nu=36,jM=Ie({__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=I(Wi(Ii));let i=null;const u=_(()=>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}=Ue(),w=_(()=>s.planMode===!0),x=_(()=>ic({planMode:w.value,planArmed:s.planArmed===!0})),g=_(()=>s.goal?.status??s.activationBadges?.goal?.status??null),m=_(()=>g.value!==null&&g.value!=="complete"),M=_(()=>m.value||s.goalMode===!0);function h(de){const Me=f(de==="swarm"?"status.swarmLabel":"status.supermoonLabel");return f("status.workModeDismiss",{mode:Me})}const{text:y,textareaRef:k,autosize:T,loadForEdit:S,clearDraft:O}=M9({sessionId:()=>s.sessionId}),D=I(!1);function E(){D.value=!D.value,Ke(()=>{T(),b(),k.value?.focus()})}function R(){D.value&&(D.value=!1,Ke(T))}function q(de){if(typeof getComputedStyle>"u")return nu;const Me=Number.parseFloat(getComputedStyle(de).minHeight);return Number.isFinite(Me)&&Me>0?Me:nu}const V=I(!1);function b(){const de=k.value;V.value=!!de&&de.scrollHeight>q(de)}Oe(y,()=>{Ke(b)}),Oe(()=>s.sessionId,()=>{D.value=!1,L.value=!1,X.value=!1});const P=C9({text:y,textareaRef:k,autosize:T,sessionId:()=>s.sessionId}),{open:L,matches:ne,items:oe,active:ge,query:Se,update:Q,select:ie}=_9({text:y,textareaRef:k,autosize:T,skills:()=>s.skills,emitCommand:de=>p("command",de),historyPush:de=>P.push(de),clearDraft:O,resolveDesc:de=>de.isSkill?de.desc:f(de.desc)}),{open:X,items:fe,active:Ce,loading:_e,update:Z,select:U}=$9({text:y,textareaRef:k,autosize:T,searchFiles:()=>s.searchFiles});function ye(){P.resetBrowsing(),Q(),Z()}const ae=I(null),te=I(null);let ce=null;function Be(){ce!==null&&(clearTimeout(ce),ce=null)}function Y(de){if(!de)return!1;const Me=ae.value?.$el,xe=te.value?.$el;return!!(L.value&&Me instanceof HTMLElement&&Me.contains(de)||X.value&&xe instanceof HTMLElement&&xe.contains(de))}function ve(de){Y(de.relatedTarget)||(Be(),ce=setTimeout(()=>{ce=null,L.value=!1,X.value=!1},0))}const{attachments:B,previewAttachment:J,fileInputRef:me,isDragOver:He,removeAttachment:De,openAttachmentPreview:an,closeAttachmentPreview:Fe,openFilePicker:Ze,handleFileInputChange:Ve,handleDragOver:At,handleDragLeave:bt,handleDrop:Ct,clearAfterSubmit:dn,loadAttachments:Kt}=x9({uploadImage:()=>s.uploadImage,sessionId:()=>s.sessionId});ht(()=>{i=ud(Ii,de=>{o.value=de}),y.value&&Ke(()=>{T(),b()})}),kt(()=>{i?.(),i=null,document.removeEventListener("mousedown",ns),gn(),Be()});function zt(){k.value?.focus({preventScroll:!0})}function hs(de){Kt(de)}t({loadForEdit:S,loadAttachmentsForEdit:hs,focus:zt});function nn(de){return{fileId:de.fileId,kind:de.kind,name:de.name,mediaType:de.mediaType,size:de.size}}function ut(){return B.value.filter(de=>!de.uploading&&!de.error&&de.fileId!==void 0)}function Ft(de){if(de.kind==="file"){de.fileId!==void 0&&ld(de.fileId,de.name,de.mediaType);return}an(de)}function In(){const de=y.value.trim();if(B.value.some(F=>F.uploading))return;const Me=ut();if(!de&&Me.length===0)return;if(P.push(de),de){const F=v9(de),K=F?md(s.skills).some(le=>le.name===F.cmd||le.name===`/${Hi}${F.cmd.slice(1)}`):!1;if(F&&K){y.value="",O(),L.value=!1,R(),p("command",F.arg?`${F.cmd} ${F.arg}`:F.cmd,Me.length>0?Me.map(le=>nn(le)):void 0);return}}const xe={text:de,attachments:Me.map(F=>nn(F))};J.value=null,dn(),y.value="",O(),L.value=!1,X.value=!1,R(),p("submit",xe)}function _t(){if(!s.running||B.value.some(F=>F.uploading))return;const de=y.value.trim(),Me=ut();if(!de&&Me.length===0&&s.queued.length===0)return;const xe={text:de,attachments:Me.map(F=>nn(F))};dn(),P.push(de),y.value="",O(),L.value=!1,X.value=!1,R(),p("steer",xe)}let pn=!1,Nt=null;function gn(){Nt!==null&&(clearTimeout(Nt),Nt=null)}function Tt(){gn(),pn=!0}function fn(){gn(),Nt=setTimeout(()=>{Nt=null,pn=!1},0)}function mn(de){return pn||de.isComposing||de.keyCode===229}function Rn(de){if(mn(de))return;T9(de);const Me=Wi(Ii)&&!P9();if(de.key==="Escape"){if($t.value){de.preventDefault(),An();return}if(Zt.value){de.preventDefault(),sn();return}if(Vt.value){de.preventDefault(),bn();return}}if(L.value){if(de.key==="ArrowDown"){de.preventDefault(),ge.value=(ge.value+1)%oe.value.length;return}if(de.key==="ArrowUp"){de.preventDefault(),ge.value=(ge.value-1+oe.value.length)%oe.value.length;return}if(de.key==="Enter"||de.key==="Tab"){de.preventDefault();const xe=oe.value[ge.value];xe&&ie(xe);return}if(de.key==="Escape"){de.preventDefault(),L.value=!1;return}}if(X.value&&!_e.value){if(de.key==="ArrowDown"){de.preventDefault(),Ce.value=(Ce.value+1)%Math.max(1,fe.value.length);return}if(de.key==="ArrowUp"){de.preventDefault(),Ce.value=(Ce.value-1+Math.max(1,fe.value.length))%Math.max(1,fe.value.length);return}if(de.key==="Enter"||de.key==="Tab"){de.preventDefault();const xe=fe.value[Ce.value];xe&&U(xe);return}if(de.key==="Escape"){de.preventDefault(),X.value=!1;return}}if(!Me&&de.key==="s"&&(de.ctrlKey||de.metaKey)&&!de.shiftKey&&!de.altKey){s.running&&(de.preventDefault(),_t());return}if(!D.value&&!L.value&&!X.value&&!de.shiftKey&&!de.altKey&&!de.metaKey&&!de.ctrlKey){const xe=P.isBrowsing();if(de.key==="ArrowUp"&&P.hasHistory()&&(xe||P.caretAtTextStart())){de.preventDefault(),P.recallOlder();return}if(de.key==="ArrowDown"&&xe){de.preventDefault(),P.recallNewer();return}}if(de.key==="Enter"&&!de.shiftKey){if(D.value&&!(de.metaKey||de.ctrlKey)||Me)return;de.preventDefault(),In()}}const yn=_(()=>f("composer.send")),Gn=_(()=>!!s.uploadImage),$t=I(!1),Zt=I(!1),Gt=I(null);function kn(){$t.value=!$t.value,$t.value?(Zt.value=!1,bn(),document.addEventListener("click",qt,!0)):document.removeEventListener("click",qt,!0)}function An(){$t.value=!1,Zt.value||document.removeEventListener("click",qt,!0)}function Rt(){Zt.value=!Zt.value,Zt.value?($t.value=!1,bn(),document.addEventListener("click",qt,!0)):document.removeEventListener("click",qt,!0)}function sn(){Zt.value=!1,$t.value||document.removeEventListener("click",qt,!0)}function qt(de){Gt.value&&!Gt.value.contains(de.target)&&(An(),sn())}kt(()=>{document.removeEventListener("click",qt,!0)});const Xt=_(()=>{const de=s.status?.ctxMax??0;return de<=0?0:Math.min(100,Math.max(0,Math.ceil((s.status?.ctxUsed??0)/de*100)))}),Wt=_(()=>{const de=ms(s.status?.ctxUsed??0),Me=ms(s.status?.ctxMax??0);return f("status.ctxTooltip",{used:de,max:Me,pct:Xt.value})}),ct=_(()=>Xt.value>=80),lt=_(()=>s.models?.find(de=>de.id===s.status?.modelId)),on=_(()=>Ki(lt.value)),Jt=_(()=>Gi(lt.value)),we=_(()=>Xo(lt.value,s.thinking)),be=_(()=>Jt.value.includes(we.value)?we.value:""),Ge=_(()=>j2(we.value)),Je=_(()=>on.value==="unsupported"||Jt.value.length<=1),at=_(()=>{if(!Ge.value)return"";const de=(lt.value?.supportEfforts?.length??0)>0,Me=we.value;return de&&Me!=="on"?f("composer.thinkingSuffixEffort",{level:Me}):f("composer.thinkingSuffix")});function Ht(de){Je.value||p("setThinking",Cl(lt.value,de))}function Qt(de){return de==="on"?f("status.thinkingOn"):de==="off"?f("status.thinkingOff"):qa(de)}const Pt=_(()=>s.swarmMode===!0),Ut=_(()=>s.supermoonMode===!0),Vt=I(!1),Tn=I(null),gs=I(null),Wn=I({});function bn(){Vt.value=!1,document.removeEventListener("mousedown",ns)}function ns(de){const Me=de.target;Tn.value?.contains(Me)||gs.value?.contains(Me)||bn()}function ss(){if(Vt.value){bn();return}An(),sn();const de=Tn.value?.getBoundingClientRect();de&&(Wn.value={left:`${Math.round(de.left)}px`,bottom:`${Math.round(window.innerHeight-de.top+8)}px`}),Vt.value=!0,de&&Ke(()=>{const Me=gs.value;if(!Me)return;const xe=Math.max(8,Math.min(de.left,window.innerWidth-Me.offsetWidth-8));Wn.value={...Wn.value,left:`${Math.round(xe)}px`}}),setTimeout(()=>document.addEventListener("mousedown",ns),0)}function On(){bn(),p("togglePlan")}function en(){bn(),m.value?p("focusGoal"):p("toggleGoal")}function Dn(){bn(),p("toggleSwarm")}function Hn(){bn(),p("toggleSupermoon")}const Qn=[{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"}],ys=["composer.addPlanDesc","composer.addGoalDesc","composer.addSwarmDesc","composer.addSupermoonDesc"],vn=I(null),os=I(""),zn=I("");function is(de){const Me={};return de&&(Me["--composer-menu-desc-width"]=de),Me}const as=_(()=>is(os.value)),Es=_(()=>is(zn.value)),ks=_(()=>({...Wn.value,...Es.value}));let wn=null;function Ls(de){const Me=Number.parseFloat(de);return Number.isFinite(Me)?Me:0}function Gs(de){return`${de.fontStyle||"normal"} ${de.fontWeight||"400"} ${de.fontSize} ${de.fontFamily}`}function Bs(de){return de.letterSpacing==="normal"?0:Ls(de.letterSpacing)}function Fn(de,Me){if(!de)return 0;const xe=Hd(de,Gs(Me),{letterSpacing:Bs(Me)});return Ud(xe)}function bs(){const de=vn.value?.querySelector(".pd-desc");if(!de)return;const Me=getComputedStyle(de),xe=Math.max(0,...Qn.map(je=>Fn(f(je.descKey),Me))),F=Math.max(0,...ys.map(je=>Fn(f(je),Me))),K=window.innerWidth-96,le=je=>K>0?Math.min(je,K):je;os.value=xe>0?`${Math.ceil(le(xe))}px`:"",zn.value=F>0?`${Math.ceil(le(F))}px`:""}function ws(){typeof window>"u"||(wn!==null&&window.cancelAnimationFrame(wn),Ke(()=>{wn=window.requestAnimationFrame(()=>{wn=null,bs()})}))}Oe(v,ws,{immediate:!0}),ht(()=>{ws(),document.fonts?.ready.then(ws)}),kt(()=>{wn!==null&&(window.cancelAnimationFrame(wn),wn=null)});function Ae(de){p("setPermission",de),sn()}const j=_(()=>Qn.find(de=>de.mode===s.status?.permission)),ee=_(()=>j.value?f(j.value.labelKey):""),ft=_(()=>lt.value?.provider??""),Nn=_(()=>!ft.value||!s.models?.length?[]:s.models.filter(de=>de.provider===ft.value)),Ss=_(()=>new Set(s.starredIds??[]));function ls(de){return Ss.value.has(de)}const Qs=_(()=>s.models?.length?s.models.filter(de=>ls(de.id)&&de.provider!==ft.value):[]);function Rs(de){p("selectModel",de),An()}return(de,Me)=>(a(),c("div",{class:pe(["composer",{"drag-over":l(He),expanded:D.value}]),onDragover:Me[20]||(Me[20]=(...xe)=>l(At)&&l(At)(...xe)),onDragleave:Me[21]||(Me[21]=(...xe)=>l(bt)&&l(bt)(...xe)),onDrop:Me[22]||(Me[22]=(...xe)=>l(Ct)&&l(Ct)(...xe))},[l(B).length>0?(a(),c("div",O9,[(a(!0),c(he,null,Pe(l(B),xe=>(a(),G(od,{key:xe.localId,kind:xe.kind,name:xe.name,url:xe.previewUrl,"file-id":xe.fileId,"media-type":xe.mediaType,size:xe.size,uploading:xe.uploading,error:xe.error,removable:"","remove-label":l(f)("composer.removeNamed",{name:xe.name}),onActivate:F=>Ft(xe),onRemove:F=>l(De)(xe.localId)},null,8,["kind","name","url","file-id","media-type","size","uploading","error","remove-label","onActivate","onRemove"]))),128))])):A("",!0),l(J)?(a(),c("div",{key:1,class:"att-lightbox",onClick:Me[1]||(Me[1]=Re((...xe)=>l(Fe)&&l(Fe)(...xe),["self"]))},[r("div",D9,[$(ot,{text:l(f)("model.close")},{default:H(()=>[r("button",{type:"button",class:"att-lightbox-close",onClick:Me[0]||(Me[0]=(...xe)=>l(Fe)&&l(Fe)(...xe))},"✕")]),_:1},8,["text"]),l(J).kind==="video"?(a(),c("video",{key:0,class:"att-lightbox-media",src:l(J).previewUrl,controls:"",playsinline:""},null,8,z9)):(a(),c("img",{key:1,class:"att-lightbox-media",src:l(J).previewUrl,alt:l(J).name},null,8,F9)),r("div",N9,d(l(J).name),1)])])):A("",!0),r("div",q9,[r("div",W9,[l(L)?(a(),G(n9,{key:0,ref_key:"slashMenuRef",ref:ae,matches:l(ne),query:l(Se),"active-index":l(ge),onSelect:l(ie),onHover:Me[2]||(Me[2]=xe=>ge.value=xe)},null,8,["matches","query","active-index","onSelect"])):A("",!0),l(X)?(a(),G(m9,{key:1,ref_key:"mentionMenuRef",ref:te,items:l(fe),"active-index":l(Ce),loading:l(_e),onSelect:l(U),onHover:Me[3]||(Me[3]=xe=>Ce.value=xe)},null,8,["items","active-index","loading","onSelect"])):A("",!0),r("div",H9,[gt(r("textarea",{ref_key:"textareaRef",ref:k,"onUpdate:modelValue":Me[4]||(Me[4]=xe=>Pd(y)?y.value=xe:null),class:"ph",placeholder:u.value,disabled:e.starting,rows:"1",onKeydown:Rn,onCompositionstart:Tt,onCompositionend:fn,onInput:ye,onBlur:ve},null,40,U9),[[qn,l(y)]]),D.value||V.value?(a(),c("button",{key:0,class:"expand-btn",type:"button","aria-label":D.value?l(f)("composer.collapseTitle"):l(f)("composer.expandTitle"),onClick:E},[D.value?(a(),G(se,{key:0,name:"collapse",size:"sm"})):(a(),G(se,{key:1,name:"expand",size:"sm"}))],8,V9)):A("",!0)])]),Gn.value?(a(),c("input",{key:0,ref_key:"fileInputRef",ref:me,type:"file",multiple:"",class:"file-input-hidden",onChange:Me[5]||(Me[5]=(...xe)=>l(Ve)&&l(Ve)(...xe))},null,544)):A("",!0),r("div",{ref_key:"toolbarRef",ref:Gt,class:"toolbar"},[r("div",{ref_key:"menuMeasureRef",ref:vn,class:"menu-measure","aria-hidden":"true"},[...Me[23]||(Me[23]=[r("span",{class:"pd-desc"},null,-1)])],512),r("div",j9,[Gn.value?(a(),G(nt,{key:0,size:"md",label:l(f)("composer.attachFile"),onClick:l(Ze)},{default:H(()=>[$(se,{name:"attachment"})]),_:1},8,["label","onClick"])):A("",!0),e.status?(a(),c("span",{key:1,class:pe(["perm-pill",["perm-"+e.status.permission,{open:Zt.value}]]),role:"button",tabindex:"0",onClick:Re(Rt,["stop"]),onKeydown:[En(Rt,["enter"]),En(Re(Rt,["prevent"]),["space"])]},d(ee.value),43,K9)):A("",!0),Zt.value&&e.status?(a(),c("div",{key:2,class:"perm-dropdown",style:rt(as.value),role:"menu",onClick:Me[6]||(Me[6]=Re(()=>{},["stop"]))},[(a(),c(he,null,Pe(Qn,xe=>r("button",{key:xe.mode,class:pe(["pd-row",{"is-current":xe.mode===e.status.permission}]),role:"menuitem",onClick:F=>Ae(xe.mode)},[r("span",Q9,[xe.mode===e.status.permission?(a(),G(se,{key:0,name:"check",size:"sm"})):A("",!0)]),r("span",Y9,[r("span",{class:"pd-name",style:rt({color:xe.color})},d(l(f)(xe.labelKey)),5),r("span",Z9,d(l(f)(xe.descKey)),1)])],10,G9)),64))],4)):A("",!0),e.status?(a(),c("span",{key:3,ref_key:"addMenuRef",ref:Tn,class:"add-menu-anchor"},[$(nt,{size:"md",label:l(f)("composer.addMenu"),class:pe({"is-open":Vt.value}),onClick:ss},{default:H(()=>[$(se,{name:"plus"})]),_:1},8,["label","class"])],512)):A("",!0),(a(),G(lo,{to:"body"},[Vt.value?(a(),c("div",{key:0,ref_key:"addMenuPopupRef",ref:gs,class:"add-menu",style:rt(ks.value),role:"menu"},[r("button",{type:"button",class:pe(["pd-row",{"is-current":x.value}]),role:"menuitem",onClick:On},[r("span",X9,[$(se,{name:"file-edit",size:"sm"})]),r("span",J9,[r("span",eM,d(l(f)("status.planLabel")),1),r("span",tM,d(l(f)("composer.addPlanDesc")),1)])],2),r("button",{type:"button",class:pe(["pd-row",{"is-current":M.value}]),role:"menuitem",onClick:en},[r("span",nM,[$(se,{name:"target",size:"sm"})]),r("span",sM,[r("span",oM,d(l(f)("status.goalLabel")),1),r("span",iM,d(l(f)("composer.addGoalDesc")),1)])],2),r("button",{type:"button",class:pe(["pd-row",{"is-current":Pt.value}]),role:"menuitem",onClick:Dn},[r("span",aM,[$(se,{name:"sparkles",size:"sm"})]),r("span",lM,[r("span",rM,d(l(f)("status.swarmLabel")),1),r("span",uM,d(l(f)("composer.addSwarmDesc")),1)])],2),r("button",{type:"button",class:pe(["pd-row",{"is-current":Ut.value}]),role:"menuitem",onClick:Hn},[r("span",cM,[$(se,{name:"moon-stars",size:"sm"})]),r("span",dM,[r("span",pM,d(l(f)("status.supermoonLabel")),1),r("span",fM,d(l(f)("composer.addSupermoonDesc")),1)])],2)],4)):A("",!0)])),e.status?(a(),c("span",{key:4,class:pe(["mode-chip",{on:x.value}])},[r("button",{type:"button",class:"mode-chip-main","aria-pressed":x.value,onClick:Me[7]||(Me[7]=xe=>p("togglePlan"))},[$(se,{name:"file-edit",size:"sm"}),r("span",null,d(l(f)("status.planLabel")),1)],8,mM),x.value?(a(),c("button",{key:0,type:"button",class:"mode-chip-x","aria-label":l(f)("status.workModeDismiss",{mode:l(f)("status.planLabel")}),onClick:Me[8]||(Me[8]=xe=>p("dismissPlan"))},[$(se,{name:"close",size:"sm"})],8,vM)):A("",!0)],2)):A("",!0),e.status?(a(),c("span",{key:5,class:pe(["mode-chip",{on:M.value}])},[r("button",{type:"button",class:"mode-chip-main","aria-pressed":M.value,onClick:Me[9]||(Me[9]=xe=>m.value?p("focusGoal"):p("toggleGoal"))},[$(se,{name:"target",size:"sm"}),r("span",null,d(l(f)("status.goalLabel")),1)],8,hM),e.goalMode?(a(),c("button",{key:0,type:"button",class:"mode-chip-x","aria-label":l(f)("status.workModeDismiss",{mode:l(f)("status.goalLabel")}),onClick:Me[10]||(Me[10]=xe=>p("toggleGoal"))},[$(se,{name:"close",size:"sm"})],8,gM)):A("",!0)],2)):A("",!0),e.status?(a(),c("span",{key:6,class:pe(["mode-chip",{on:Pt.value}])},[r("button",{type:"button",class:"mode-chip-main","aria-pressed":Pt.value,onClick:Me[11]||(Me[11]=xe=>p("toggleSwarm"))},[$(se,{name:"sparkles",size:"sm"}),r("span",null,d(l(f)("status.swarmLabel")),1)],8,yM),Pt.value?(a(),c("button",{key:0,type:"button",class:"mode-chip-x","aria-label":h("swarm"),onClick:Me[12]||(Me[12]=xe=>p("toggleSwarm"))},[$(se,{name:"close",size:"sm"})],8,kM)):A("",!0)],2)):A("",!0),e.status?(a(),c("span",{key:7,class:pe(["mode-chip",{on:Ut.value}])},[r("button",{type:"button",class:"mode-chip-main","aria-pressed":Ut.value,onClick:Me[13]||(Me[13]=xe=>p("toggleSupermoon"))},[$(se,{name:"moon-stars",size:"sm"}),r("span",null,d(l(f)("status.supermoonLabel")),1)],8,bM),Ut.value?(a(),c("button",{key:0,type:"button",class:"mode-chip-x","aria-label":h("supermoon"),onClick:Me[14]||(Me[14]=xe=>p("toggleSupermoon"))},[$(se,{name:"close",size:"sm"})],8,wM)):A("",!0)],2)):A("",!0)]),r("div",SM,[ct.value?(a(),c("button",{key:0,class:"compact-chip",onClick:Me[15]||(Me[15]=Re(xe=>p("compact"),["stop"]))},"/compact")):A("",!0),$(ot,{text:Wt.value},{default:H(()=>[e.status&&!e.hideContext?(a(),c("span",{key:0,class:"ctx-group",role:"img",tabindex:"0","aria-label":Wt.value},[$(R9,{pct:Xt.value},null,8,["pct"])],8,CM)):A("",!0)]),_:1},8,["text"]),e.status?(a(),c("span",{key:1,class:pe(["model-pill",{open:$t.value}]),role:"button",tabindex:"0",onClick:Re(kn,["stop"]),onKeydown:[En(kn,["enter"]),En(Re(kn,["prevent"]),["space"])]},[r("b",null,d(e.status.model),1),at.value?(a(),c("span",$M,d(at.value),1)):A("",!0),$(se,{class:"cv",name:"chevron-down",size:"sm"})],42,_M)):A("",!0),e.running?(a(),G(ot,{key:2,text:l(f)("composer.interruptTitle")},{default:H(()=>[r("button",{class:"stop","aria-label":l(f)("composer.interrupt"),onClick:Me[16]||(Me[16]=xe=>p("interrupt"))},[$(se,{name:"stop",size:"sm"})],8,MM)]),_:1},8,["text"])):A("",!0),r("button",{class:pe(["send",{"is-starting":e.starting}]),"aria-label":yn.value,disabled:e.starting,onClick:Me[17]||(Me[17]=xe=>In())},[e.starting?(a(),G(Dt,{key:0,size:"sm"})):(a(),G(se,{key:1,name:"send",size:"sm"}))],10,xM)]),$t.value&&e.status?(a(),c("div",{key:0,class:"model-dropdown",role:"menu",onClick:Me[19]||(Me[19]=Re(()=>{},["stop"]))},[Qs.value.length>0?(a(),c("div",IM,d(l(f)("status.starredModels")),1)):A("",!0),(a(!0),c(he,null,Pe(Qs.value,xe=>(a(),c("button",{key:xe.id,class:pe(["md-row",{"is-current":xe.id===e.status.modelId}]),role:"menuitem",onClick:F=>Rs(xe.id)},[r("span",TM,[xe.id===e.status.modelId?(a(),G(se,{key:0,name:"check",size:"sm"})):A("",!0)]),r("span",PM,d(xe.displayName??xe.model),1),r("span",EM,d(xe.provider),1),$(se,{class:"md-star",name:"star",size:"sm"})],10,AM))),128)),Qs.value.length>0?(a(),c("div",LM)):A("",!0),Nn.value.length>0?(a(),c("div",BM,d(ft.value),1)):A("",!0),(a(!0),c(he,null,Pe(Nn.value,xe=>(a(),c("button",{key:xe.id,class:pe(["md-row",{"is-current":xe.id===e.status.modelId}]),role:"menuitem",onClick:F=>Rs(xe.id)},[r("span",OM,[xe.id===e.status.modelId?(a(),G(se,{key:0,name:"check",size:"sm"})):A("",!0)]),r("span",DM,d(xe.displayName??xe.model),1),ls(xe.id)?(a(),G(se,{key:0,class:"md-star",name:"star",size:"sm"})):A("",!0)],10,RM))),128)),Nn.value.length>0?(a(),c("div",zM)):A("",!0),r("div",{class:pe(["md-thinking",{"is-readonly":Je.value}])},[r("span",FM,d(l(f)("status.thinkingLabel")),1),on.value==="unsupported"?(a(),c("span",NM,d(l(f)("status.modeNotSupported")),1)):(a(),c("div",{key:1,class:"effort-segments",role:"group","aria-label":l(f)("status.thinkingLabel")},[(a(!0),c(he,null,Pe(Jt.value,xe=>(a(),c("button",{key:xe,type:"button",class:pe(["effort-seg",{"is-active":xe===be.value}]),disabled:Je.value,onClick:F=>Ht(xe)},d(Qt(xe)),11,WM))),128))],8,qM))],2),Me[24]||(Me[24]=r("div",{class:"md-divider"},null,-1)),r("div",HM,d(l(f)("status.cacheNote")),1),Me[25]||(Me[25]=r("div",{class:"md-divider"},null,-1)),r("button",{class:"md-row md-row-more",role:"menuitem",onClick:Me[18]||(Me[18]=xe=>{An(),p("pickModel")})},[r("span",UM,d(l(f)("status.moreModels")),1)])])):A("",!0)],512)]),r("div",{class:pe(["drop-overlay",{show:l(He)}]),"aria-hidden":"true"},[r("div",VM,[$(se,{name:"file-plus",size:"lg"}),r("span",null,d(l(f)("composer.dropToAttach")),1)])],2)],34))}}),gd=Ee(jM,[["__scopeId","data-v-e7022649"]]),KM={key:0,class:"ui-card__head"},GM={class:"ui-card__body"},QM={key:1,class:"ui-card__foot"},YM=Ie({__name:"Card",props:{elevated:{type:Boolean,default:!1}},setup(e){return(t,n)=>(a(),c("div",{class:pe(["ui-card",{"is-elevated":e.elevated}])},[t.$slots.head?(a(),c("div",KM,[yt(t.$slots,"head",{},void 0,!0)])):A("",!0),r("div",GM,[yt(t.$slots,"default",{},void 0,!0)]),t.$slots.foot?(a(),c("div",QM,[yt(t.$slots,"foot",{},void 0,!0)])):A("",!0)],2))}}),Bl=Ee(YM,[["__scopeId","data-v-9c9f9a9a"]]),ZM={class:"goal-kicker"},XM={key:0,class:"goal-progress","aria-hidden":"true"},JM={class:"goal-full"},e6={key:0,class:"goal-criterion"},t6=["inert","aria-hidden"],n6={class:"goal-meta"},s6={key:0},o6={class:"goal-actions"},i6=Ie({__name:"GoalStrip",props:{goal:{},forceExpanded:{}},emits:["controlGoal"],setup(e,{emit:t}){const n=e,s=t,{t:o}=Ue(),{confirm:i}=go(),u=I(!1);Oe(()=>n.forceExpanded,()=>{n.forceExpanded!==void 0&&(u.value=!0)});const p=_(()=>{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),M=g%60;return m<=0?`${M}s`:m<60?`${m}m ${M}s`:`${Math.floor(m/60)}h ${m%60}m`}async function w(){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)=>(a(),G(Bl,{class:pe(["goal-strip",{expanded:u.value}])},{head:H(()=>[r("button",{class:"goal-row",type:"button",onClick:g[0]||(g[0]=m=>u.value=!u.value)},[$(se,{class:"goal-icon",name:"target",size:"md"}),r("span",ZM,d(l(o)("status.goalLabel")),1),r("span",{class:pe(["goal-objective",{"expanded-hidden":u.value}])},d(e.goal.objective),3),$(Ot,{variant:e.goal.status==="active"?"success":e.goal.status==="blocked"?"danger":e.goal.status==="paused"?"warning":"neutral",size:"sm",class:"goal-status"},{default:H(()=>[re(d(f(e.goal.status)),1)]),_:1},8,["variant"]),e.goal.budget.tokenBudget!==null?(a(),c("span",XM,[r("span",{class:"goal-progress-fill",style:rt({width:`${p.value}%`})},null,4)])):A("",!0),$(se,{class:pe(["goal-chevron",{open:u.value}]),name:"chevron-right",size:"md"},null,8,["class"])])]),default:H(()=>[r("div",JM,d(e.goal.objective),1),e.goal.completionCriterion?(a(),c("div",e6,[r("span",null,d(l(o)("workspace.doneWhen")),1),r("p",null,d(e.goal.completionCriterion),1)])):A("",!0)]),foot:H(()=>[r("div",{class:"goal-footer",inert:!u.value,"aria-hidden":!u.value},[r("div",n6,[r("span",null,d(e.goal.turnsUsed)+" turns",1),r("span",null,d(l(ms)(e.goal.tokensUsed))+" tokens",1),r("span",null,d(v(e.goal.wallClockMs)),1),e.goal.budget.tokenBudget!==null?(a(),c("span",s6,d(p.value)+"% token budget",1)):A("",!0)]),r("div",o6,[e.goal.status==="active"?(a(),G(qe,{key:0,size:"sm",variant:"secondary",class:"goal-action",onClick:g[1]||(g[1]=Re(m=>s("controlGoal","pause"),["stop"]))},{default:H(()=>[$(se,{name:"pause",size:"md"}),r("span",null,d(l(o)("status.goalPause")),1)]),_:1})):A("",!0),e.goal.status==="paused"||e.goal.status==="blocked"?(a(),G(qe,{key:1,size:"sm",variant:"primary",class:"goal-action",onClick:g[2]||(g[2]=Re(m=>s("controlGoal","resume"),["stop"]))},{default:H(()=>[$(se,{name:"play",size:"md"}),r("span",null,d(l(o)("status.goalResume")),1)]),_:1})):A("",!0),$(qe,{size:"sm",variant:"danger-soft",class:"goal-action",onClick:Re(w,["stop"])},{default:H(()=>[$(se,{name:"close",size:"md"}),r("span",null,d(l(o)("status.goalCancel")),1)]),_:1})])],8,t6)]),_:1},8,["class"]))}}),a6=Ee(i6,[["__scopeId","data-v-9e444f61"]]),l6={class:"qh"},r6={class:"qtitle"},u6={key:0,class:"qstep"},c6={key:1,class:"qmin-peek"},d6=["aria-label"],p6=["aria-selected","aria-label","onClick"],f6={class:"qstep-num"},m6={key:1,class:"qheader-chip"},v6={class:"qtext"},h6={class:"qopts"},g6=["onClick"],y6={class:"qopt-key"},k6={class:"qopt-glyph"},b6={key:0,class:"chk"},w6={key:1,class:"rad"},S6={class:"qopt-text"},C6={class:"qopt-label"},_6={key:0,class:"qopt-desc"},$6={class:"qopt-glyph"},M6={key:0,class:"chk"},x6={key:1,class:"rad"},I6={class:"qopt-label"},A6=["placeholder"],T6={class:"qfoot"},P6=Ie({__name:"QuestionCard",props:{question:{},busyKind:{}},emits:["answer","dismiss"],setup(e,{emit:t}){const n=e,{t:s}=Ue(),o=t,i=I(0),u=I(!1),p=_(()=>n.question.questions[i.value]),f=_(()=>n.question.questions.length);function v(){i.value>0&&i.value--}function w(){i.value=0&&Q{await Ke(),g.value?.scrollTo({top:0})});function m(Q){const ie=h.value[Q];return ie?ie.kind==="multi"?ie.optionIds.length>0:ie.kind==="multiWithOther"?ie.optionIds.length>0||ie.otherText.trim().length>0:ie.kind==="other"?ie.text.trim().length>0:!0:!1}function M(){return m(p.value.id)}const h=I({});function y(Q){return Q.recommended===!0?!0:/\b(?:recommended|recommend)\b|推荐/.test(`${Q.label} ${Q.description??""}`.toLowerCase())}function k(){const Q={...h.value};let ie=!1;for(const X of n.question.questions){if(Q[X.id])continue;const fe=X.options.filter(y);fe.length!==0&&(Q[X.id]=X.multiSelect?{kind:"multi",optionIds:fe.map(Ce=>Ce.id)}:{kind:"single",optionId:fe[0].id},ie=!0)}ie&&(h.value=Q)}Oe(()=>n.question.questionId,()=>{i.value=0,u.value=!1,h.value={},O.value={}}),Oe(()=>n.question,()=>{i.value>=n.question.questions.length&&(i.value=0),k()},{immediate:!0,deep:!0});function T(Q,ie){const X=h.value[Q];if(X&&X.kind==="single"&&X.optionId===ie){const fe={...h.value};delete fe[Q],h.value=fe}else h.value={...h.value,[Q]:{kind:"single",optionId:ie}}}function S(Q,ie){const X=h.value[Q],fe=X&&(X.kind==="multi"||X.kind==="multiWithOther")?X.kind==="multi"?[...X.optionIds]:[...X.optionIds]:[],Ce=fe.indexOf(ie);Ce>=0?fe.splice(Ce,1):fe.push(ie);const _e=h.value[Q],Z=_e&&_e.kind==="multiWithOther"?_e.otherText:"";Z?h.value={...h.value,[Q]:{kind:"multiWithOther",optionIds:fe,otherText:Z}}:h.value={...h.value,[Q]:{kind:"multi",optionIds:fe}}}const O=I({}),D=I(null);function E(Q){const ie=n.question.questions.find(fe=>fe.id===Q);if(!ie)return;const X=O.value[Q]??"";if(ie.multiSelect){const fe=h.value[Q],Ce=fe&&(fe.kind==="multi"||fe.kind==="multiWithOther")?fe.kind==="multi"?[...fe.optionIds]:[...fe.optionIds]:[];h.value={...h.value,[Q]:{kind:"multiWithOther",optionIds:Ce,otherText:X}}}else h.value={...h.value,[Q]:{kind:"other",text:X}}}function R(Q){E(Q),Ke(()=>D.value?.focus())}function q(Q,ie){const X=h.value[Q];return X?X.kind==="single"?X.optionId===ie:X.kind==="multi"||X.kind==="multiWithOther"?X.optionIds.includes(ie):!1:!1}function V(Q){const ie=h.value[Q];return!!(ie&&(ie.kind==="other"||ie.kind==="multiWithOther"))}function b(){return n.question.questions.every(Q=>m(Q.id))}const P=_(()=>n.busyKind==="answer"),L=_(()=>n.busyKind==="dismiss"),ne=_(()=>!!n.busyKind);function oe(){if(ne.value||!b())return;const Q={answers:h.value,method:"click"};o("answer",n.question.questionId,Q)}function ge(){ne.value||o("dismiss",n.question.questionId)}function Se(Q){const ie=(document.activeElement?.tagName??"").toLowerCase(),X=ie==="input"||ie==="textarea";if(ne.value)return;if(Q.key==="Enter"){if(Q.preventDefault(),u.value)return;i.value=1&&fe<=9){Q.preventDefault();const Ce=p.value,_e=fe-1,Z=Ce.options[_e];Z&&(Ce.multiSelect?S(Ce.id,Z.id):T(Ce.id,Z.id))}}return ht(()=>document.addEventListener("keydown",Se)),kt(()=>document.removeEventListener("keydown",Se)),(Q,ie)=>(a(),G(Bl,{class:pe(["qcard",{minimized:u.value}])},gu({head:H(()=>[r("div",l6,[ie[5]||(ie[5]=r("span",{class:"qh-ic"},"?",-1)),r("span",r6,d(l(s)("question.title")),1),f.value>1&&!u.value?(a(),c("span",u6,d(l(s)("question.step",{current:i.value+1,total:f.value})),1)):A("",!0),u.value?(a(),c("span",c6,d(p.value.question),1)):A("",!0),$(nt,{class:"qmin",size:"sm",label:u.value?l(s)("question.expand"):l(s)("question.minimize"),onClick:ie[0]||(ie[0]=X=>u.value=!u.value)},{default:H(()=>[u.value?(a(),G(se,{key:0,name:"chevron-up",size:"md"})):(a(),G(se,{key:1,name:"minus",size:"md"}))]),_:1},8,["label"])])]),_:2},[u.value?void 0:{name:"default",fn:H(()=>[r("div",{ref_key:"bodyScrollRef",ref:g,class:"qbody"},[f.value>1?(a(),c("div",{key:0,class:"qsteps",role:"tablist","aria-label":l(s)("question.step",{current:i.value+1,total:f.value})},[(a(!0),c(he,null,Pe(n.question.questions,(X,fe)=>(a(),c("button",{key:X.id,type:"button",class:pe(["qstep-dot",{active:fe===i.value,answered:m(X.id)}]),"aria-selected":fe===i.value,"aria-label":l(s)("question.step",{current:fe+1,total:f.value}),onClick:Ce=>x(fe)},[r("span",f6,d(fe+1),1)],10,p6))),128))],8,d6)):A("",!0),p.value.header?(a(),c("div",m6,[$(Ot,{variant:"neutral",size:"sm"},{default:H(()=>[re(d(p.value.header),1)]),_:1})])):A("",!0),r("div",v6,d(p.value.question),1),p.value.body?(a(),G(ci,{key:2,text:p.value.body,class:"qmdbody"},null,8,["text"])):A("",!0),r("div",h6,[(a(!0),c(he,null,Pe(p.value.options,(X,fe)=>(a(),c("label",{key:X.id,class:pe(["qopt",{selected:q(p.value.id,X.id)}]),onClick:Re(Ce=>p.value.multiSelect?S(p.value.id,X.id):T(p.value.id,X.id),["prevent"])},[r("span",y6,d(fe+1),1),r("span",k6,[p.value.multiSelect?(a(),c("span",b6,d(q(p.value.id,X.id)?"■":"□"),1)):(a(),c("span",w6,d(q(p.value.id,X.id)?"●":"○"),1))]),r("span",S6,[r("span",C6,d(X.label),1),X.description?(a(),c("span",_6,d(X.description),1)):A("",!0)])],10,g6))),128)),p.value.allowOther?(a(),c("label",{key:0,class:pe(["qopt",{selected:V(p.value.id)}]),onClick:ie[4]||(ie[4]=Re(X=>R(p.value.id),["prevent"]))},[ie[6]||(ie[6]=r("span",{class:"qopt-key"},null,-1)),r("span",$6,[p.value.multiSelect?(a(),c("span",M6,d(V(p.value.id)?"■":"□"),1)):(a(),c("span",x6,d(V(p.value.id)?"●":"○"),1))]),r("span",I6,d(p.value.otherLabel??l(s)("question.otherDefault")),1),gt(r("input",{ref_key:"otherInputEl",ref:D,"onUpdate:modelValue":ie[1]||(ie[1]=X=>O.value[p.value.id]=X),class:"other-input",type:"text",placeholder:p.value.otherLabel??l(s)("question.otherDefault"),onInput:ie[2]||(ie[2]=X=>E(p.value.id)),onFocus:ie[3]||(ie[3]=X=>E(p.value.id))},null,40,A6),[[qn,O.value[p.value.id]]])],2)):A("",!0)])],512)]),key:"0"},u.value?void 0:{name:"foot",fn:H(()=>[r("div",T6,[i.value[re(d(l(s)("question.nextQuestion")),1)]),_:1},8,["disabled"])):(a(),G(qe,{key:1,class:"qfoot-btn qfoot-main",size:"sm",variant:"primary",disabled:!b(),loading:P.value,onClick:oe},{default:H(()=>[re(d(l(s)("question.submit")),1)]),_:1},8,["disabled","loading"])),f.value>1?(a(),G(qe,{key:2,class:"qfoot-btn",size:"sm",variant:"secondary",disabled:i.value===0||ne.value,onClick:v},{default:H(()=>[re(d(l(s)("question.back")),1)]),_:1},8,["disabled"])):A("",!0),$(qe,{class:"qfoot-btn",size:"sm",variant:"ghost",loading:L.value,disabled:ne.value,onClick:ge},{default:H(()=>[re(d(l(s)("question.dismiss")),1)]),_:1},8,["loading","disabled"])])]),key:"1"}]),1032,["class"]))}}),E6=Ee(P6,[["__scopeId","data-v-fe9d5a9a"]]),L6={class:"ah"},B6={class:"akind"},R6={class:"apath"},O6={class:"ah-path"},D6={key:1,class:"diff"},z6={class:"dg"},F6={class:"dc"},N6={key:2,class:"body-shell"},q6={class:"shell-cmd"},W6={key:0,class:"shell-cwd"},H6={key:1,class:"shell-danger"},U6={key:3,class:"body-file"},V6={class:"file-bar"},j6={class:"file-lang"},K6={class:"file-content"},G6={class:"file-ln"},Q6={class:"file-text"},Y6={key:4,class:"body-chip"},Z6={class:"chip-label"},X6={class:"chip-value"},J6={key:0,class:"chip-detail"},ex={key:5,class:"body-chip"},tx={key:0,class:"chip-label"},nx={class:"chip-value"},sx={key:6,class:"body-chip"},ox={class:"chip-label"},ix={class:"chip-value"},ax={key:0,class:"chip-detail"},lx={key:7,class:"body-chip"},rx={class:"chip-label"},ux={class:"chip-value"},cx={key:0,class:"chip-detail"},dx={key:8,class:"body-todo"},px={class:"todo-glyph"},fx={key:9,class:"body-plan"},mx={key:10,class:"body-generic"},vx={class:"gen-text"},hx={key:11,class:"feedback-wrap"},gx=["placeholder"],yx={class:"feedback-hint"},kx={key:0,class:"plan-actions"},bx={key:1,class:"abtn"},wx=Ie({__name:"ApprovalCard",props:{block:{},agentName:{},busy:{type:Boolean}},emits:["decide"],setup(e,{emit:t}){const n=e,s=t,{t:o}=Ue(),i=_(()=>{const b=n.block;return b.kind!=="plan_review"?null:{plan:b.plan,path:b.path,options:b.options??[]}}),u=I(!1),p=["shell","diff","file","fileop","url","search","invocation","todo","plan_review","generic"];function f(){const b=p.includes(n.block.kind)?n.block.kind:"generic";return o(`approval.title.${b}`)}const v=I(!1),w=I(""),x=I(null);function g(){n.busy||(v.value=!0,w.value="",setTimeout(()=>x.value?.focus(),0))}function m(){if(n.busy)return;const b=w.value.trim();i.value?k("feedback",{decision:"rejected",selectedLabel:"Revise",feedback:b||void 0}):k("feedback",{decision:"rejected",feedback:b||void 0}),v.value=!1,w.value=""}function M(){v.value=!1,w.value=""}function h(b){b.key==="Enter"&&!b.shiftKey?(b.preventDefault(),m()):b.key==="Escape"&&(b.preventDefault(),M())}const y=I(null);Oe(()=>n.busy,b=>{b||(y.value=null)});function k(b,P){n.busy||(y.value=b,s("decide",P))}function T(){k("approve",{decision:"approved"})}function S(){k("approveSession",{decision:"approved",scope:"session"})}function O(){k("reject",{decision:"rejected"})}function D(){k("approvePlan",{decision:"approved"})}function E(b){k(`option:${b}`,{decision:"approved",selectedLabel:b})}function R(){n.busy||g()}function q(){k("rejectAndExit",{decision:"rejected",selectedLabel:"Reject and Exit"})}function V(b){const P=(document.activeElement?.tagName??"").toLowerCase();if(P==="input"||P==="textarea"||n.busy||u.value)return;const L=i.value;if(L){if(L.options.length===0){b.key==="1"?(b.preventDefault(),D()):b.key==="2"?(b.preventDefault(),R()):b.key==="3"&&(b.preventDefault(),q());return}b.key==="1"&&L.options[0]?(b.preventDefault(),E(L.options[0].label)):b.key==="2"&&L.options[1]?(b.preventDefault(),E(L.options[1].label)):b.key==="3"&&L.options[2]&&(b.preventDefault(),E(L.options[2].label));return}b.key==="1"?(b.preventDefault(),T()):b.key==="2"?(b.preventDefault(),S()):b.key==="3"?(b.preventDefault(),O()):b.key==="4"&&(b.preventDefault(),g())}return ht(()=>document.addEventListener("keydown",V)),kt(()=>document.removeEventListener("keydown",V)),(b,P)=>(a(),G(Bl,{class:pe(["appr",{minimized:u.value}])},gu({head:H(()=>[r("div",L6,[P[2]||(P[2]=r("span",{class:"ah-ic"},"!",-1)),r("span",B6,d(f()),1),r("span",R6,[e.block.kind==="diff"||e.block.kind==="file"||e.block.kind==="fileop"?(a(),c(he,{key:0},[re(d(e.block.path),1)],64)):e.block.kind==="shell"?(a(),c(he,{key:1},[re(d(e.block.command),1)],64)):e.block.kind==="url"?(a(),c(he,{key:2},[re(d(e.block.url),1)],64)):e.block.kind==="search"?(a(),c(he,{key:3},[re(d(e.block.query),1)],64)):e.block.kind==="invocation"?(a(),c(he,{key:4},[re(d(e.block.name),1)],64)):e.block.kind==="generic"?(a(),c(he,{key:5},[re(d(e.block.summary),1)],64)):A("",!0)]),e.agentName&&!u.value?(a(),G(Ot,{key:0,variant:"neutral",size:"sm"},{default:H(()=>[re(d(l(o)("approval.subagentBadge",{name:e.agentName})),1)]),_:1})):A("",!0),u.value?A("",!0):(a(),G(Ot,{key:1,variant:"warning",size:"sm",class:"aw"},{default:H(()=>[re(d(l(o)("approval.required")),1)]),_:1})),$(nt,{class:"amin",size:"sm",label:u.value?l(o)("question.expand"):l(o)("question.minimize"),onClick:P[0]||(P[0]=L=>u.value=!u.value)},{default:H(()=>[u.value?(a(),G(se,{key:0,name:"chevron-up",size:"md"})):(a(),G(se,{key:1,name:"minus",size:"md"}))]),_:1},8,["label"])])]),_:2},[u.value?void 0:{name:"default",fn:H(()=>[e.block.kind==="plan_review"&&e.block.path?(a(),G(ot,{key:0,text:e.block.path},{default:H(()=>[r("div",O6,d(e.block.path),1)]),_:1},8,["text"])):A("",!0),e.block.kind==="diff"?(a(),c("div",D6,[(a(!0),c(he,null,Pe(e.block.diff,(L,ne)=>(a(),c("div",{key:ne,class:pe(["dl",L.kind==="add"?"add":L.kind==="rem"?"del":""])},[r("span",z6,d(L.gutter),1),r("span",F6,d(L.text),1)],2))),128))])):e.block.kind==="shell"?(a(),c("div",N6,[r("div",q6,[P[3]||(P[3]=r("span",{class:"shell-dollar"},"$",-1)),re(" "+d(e.block.command),1)]),e.block.cwd?(a(),c("div",W6,"cwd: "+d(e.block.cwd),1)):A("",!0),e.block.danger?(a(),c("div",H6,d(l(o)("approval.danger",{detail:e.block.danger})),1)):A("",!0)])):e.block.kind==="file"?(a(),c("div",U6,[r("div",V6,[r("span",j6,d(e.block.language??""),1)]),r("div",K6,[(a(!0),c(he,null,Pe(e.block.content.split(`
+`),(L,ne)=>(a(),c("div",{key:ne,class:"file-line"},[r("span",G6,d(ne+1),1),r("span",Q6,d(L),1)]))),128))])])):e.block.kind==="fileop"?(a(),c("div",Y6,[r("span",Z6,d(e.block.op),1),r("span",X6,d(e.block.path),1),e.block.detail?(a(),c("span",J6,d(e.block.detail),1)):A("",!0)])):e.block.kind==="url"?(a(),c("div",ex,[e.block.method?(a(),c("span",tx,d(e.block.method),1)):A("",!0),r("span",nx,d(e.block.url),1)])):e.block.kind==="search"?(a(),c("div",sx,[r("span",ox,d(l(o)("approval.searchQueryLabel")),1),r("span",ix,d(e.block.query),1),e.block.scope?(a(),c("span",ax,d(l(o)("approval.searchScope",{scope:e.block.scope})),1)):A("",!0)])):e.block.kind==="invocation"?(a(),c("div",lx,[r("span",rx,d(e.block.kind2),1),r("span",ux,d(e.block.name),1),e.block.description?(a(),c("span",cx,d(e.block.description),1)):A("",!0)])):e.block.kind==="todo"?(a(),c("div",dx,[(a(!0),c(he,null,Pe(e.block.items,(L,ne)=>(a(),c("div",{key:ne,class:"todo-item"},[r("span",px,d(L.status==="done"||L.status==="completed"?"✓":"○"),1),r("span",{class:pe(["todo-title",{"todo-done":L.status==="done"||L.status==="completed"}])},d(L.title),3)]))),128))])):e.block.kind==="plan_review"?(a(),c("div",fx,[$(ci,{text:e.block.plan},null,8,["text"])])):(a(),c("div",mx,[r("span",vx,d(e.block.summary),1)])),v.value?(a(),c("div",hx,[gt(r("textarea",{ref_key:"feedbackRef",ref:x,"onUpdate:modelValue":P[1]||(P[1]=L=>w.value=L),class:"feedback-ta",placeholder:l(o)("approval.feedbackPlaceholder"),rows:"2",onKeydown:h},null,40,gx),[[qn,w.value]]),r("div",yx,d(l(o)("approval.feedbackHint")),1)])):A("",!0)]),key:"0"},u.value?void 0:{name:"foot",fn:H(()=>[i.value?(a(),c("div",kx,[i.value.options.length>0?(a(!0),c(he,{key:0},Pe(i.value.options,(L,ne)=>(a(),G(ot,{key:ne,text:L.description},{default:H(()=>[$(qe,{class:"kbtn",size:"sm",variant:"primary",loading:y.value===`option:${L.label}`,disabled:e.busy,onClick:oe=>E(L.label)},{default:H(()=>[re(d(L.label),1),$(_s,{class:"k",keys:[String(ne+1)]},null,8,["keys"])]),_:2},1032,["loading","disabled","onClick"])]),_:2},1032,["text"]))),128)):(a(),G(qe,{key:1,class:"kbtn",size:"sm",variant:"primary",loading:y.value==="approvePlan",disabled:e.busy,onClick:D},{default:H(()=>[re(d(l(o)("approval.approvePlan")),1),$(_s,{class:"k",keys:["1"]})]),_:1},8,["loading","disabled"])),$(qe,{class:"kbtn",size:"sm",variant:"secondary",disabled:e.busy,onClick:R},{default:H(()=>[re(d(l(o)("approval.revise")),1),i.value.options.length===0?(a(),G(_s,{key:0,class:"k",keys:["2"]})):A("",!0)]),_:1},8,["disabled"]),$(qe,{class:"kbtn",size:"sm",variant:"danger-soft",loading:y.value==="rejectAndExit",disabled:e.busy,onClick:q},{default:H(()=>[re(d(l(o)("approval.rejectAndExit")),1),i.value.options.length===0?(a(),G(_s,{key:0,class:"k",keys:["3"]})):A("",!0)]),_:1},8,["loading","disabled"])])):(a(),c("div",bx,[$(qe,{class:"kbtn",size:"sm",variant:"primary",loading:y.value==="approve",disabled:e.busy,onClick:T},{default:H(()=>[re(d(l(o)("approval.approve")),1),$(_s,{class:"k",keys:["1"]})]),_:1},8,["loading","disabled"]),$(qe,{class:"kbtn",size:"sm",variant:"secondary",loading:y.value==="approveSession",disabled:e.busy,onClick:S},{default:H(()=>[re(d(l(o)("approval.approveSession")),1),$(_s,{class:"k",keys:["2"]})]),_:1},8,["loading","disabled"]),$(qe,{class:"kbtn",size:"sm",variant:"secondary",loading:y.value==="reject",disabled:e.busy,onClick:O},{default:H(()=>[re(d(l(o)("approval.reject")),1),$(_s,{class:"k",keys:["3"]})]),_:1},8,["loading","disabled"]),$(qe,{class:"kbtn",size:"sm",variant:"secondary",disabled:e.busy,onClick:g},{default:H(()=>[re(d(l(o)("approval.feedback")),1),$(_s,{class:"k",keys:["4"]})]),_:1},8,["disabled"])]))]),key:"1"}]),1032,["class"]))}}),Sx=Ee(wx,[["__scopeId","data-v-458a9d7d"]]),Cx=["recent","running","done","all"];function _x(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 $x=["aria-selected","onClick"],Mx=Ie({__name:"SegmentedControl",props:{modelValue:{},options:{},size:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=t;return(s,o)=>(a(),c("div",{class:pe(["ui-seg",`ui-seg--${e.size??"md"}`]),role:"tablist"},[(a(!0),c(he,null,Pe(e.options,i=>(a(),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,$x))),128))],2))}}),cn=Ee(Mx,[["__scopeId","data-v-d1aaccd7"]]),xx=Ie({__name:"StatusGlyph",props:{status:{}},setup(e){const t=e,n={pending:"○",run:"●",done:"✓",fail:"✗"};return(s,o)=>(a(),c("span",{class:pe(["status-glyph",`s-${t.status}`]),"aria-hidden":"true"},d(n[t.status]),3))}}),Ai=Ee(xx,[["__scopeId","data-v-f595d935"]]),Ix={class:"tp-head"},Ax={class:"tp-title"},Tx={class:"tp-count"},Px={key:0,class:"tp-filter"},Ex={key:1,class:"tp-body"},Lx={class:"tp-list-col"},Bx={key:0,class:"tp-empty"},Rx=["role","onClick"],Ox={class:"tp-name"},Dx={class:"tp-time"},zx=["onClick"],Fx={key:0,class:"tp-detail"},Nx={key:0,class:"tp-codebox"},qx=["onClick"],Wx={class:"tp-pre"},Hx={class:"tp-cmd"},Ux={key:1,class:"tp-codebox"},Vx=["onClick"],jx={class:"tp-pre"},Kx={class:"tp-main tp-detail-head"},Gx={class:"tp-name"},Qx={class:"tp-time"},Yx={key:0,class:"tp-codebox"},Zx={class:"tp-pre"},Xx={class:"tp-cmd"},Jx={key:1,class:"tp-codebox"},e7={class:"tp-pre"},t7={key:2,class:"tp-detail-empty"},n7={key:1,class:"tp-detail-empty"},s7={key:2,class:"tp-body tp-grid"},o7={key:0,class:"tp-empty"},i7=["onClick"],a7={class:"tp-card-line"},l7={class:"tp-card-name"},r7={class:"tp-card-line tp-card-meta"},u7=["onClick"],c7={key:1,class:"tp-time"},d7=Ie({__name:"TasksPane",props:{tasks:{},variant:{}},emits:["cancel","open"],setup(e,{emit:t}){const n=e,s=t,{t:o}=Ue(),i={recent:"filterRecent",running:"filterRunning",done:"filterDone",all:"filterAll"},u={recent:"emptyRecent",running:"emptyRunning",done:"emptyDone",all:"emptyTasks"},p=I("recent"),f=I(null),v=_(()=>n.tasks.find(q=>q.id===f.value)??null),w=Bn(new Set),x=Bn(new Set),g=Bn(new Set),m=I(null),M=_(()=>n.variant==="todos"?n.tasks:_x(n.tasks,p.value)),h=_(()=>Cx.map(q=>({value:q,label:o(`tasks.${i[q]}`)}))),y=_(()=>n.variant==="todos"?"tasks.emptyTasks":`tasks.${u[p.value]}`);function k(q){return!!(q.output&&q.output.length>0||q.meta)}function T(q){if(k(q)){if(n.variant==="todos"){w.has(q.id)?w.delete(q.id):w.add(q.id);return}f.value=q.id,Ke(()=>m.value?.scrollIntoView({block:"nearest"}))}}function S(q){return q==="run"||q==="done"||q==="fail"?q:"pending"}function O(q){p.value=q}async function D(q,V,b){await un(q)&&(b.add(V),setTimeout(()=>b.delete(V),1500))}async function E(q){q.meta&&await D(q.meta,q.id,x)}async function R(q){const V=q.output?.join(`
+`)??"";V&&await D(V,q.id,g)}return(q,V)=>(a(),c("div",{class:pe(["taskspane",`tp-${e.variant}`])},[r("div",Ix,[r("span",Ax,d(l(o)("tasks.tag")),1),r("span",Tx,d(M.value.length),1)]),e.variant!=="todos"?(a(),c("div",Px,[$(cn,{"model-value":p.value,options:h.value,size:"sm","onUpdate:modelValue":O},null,8,["model-value","options"])])):A("",!0),e.variant!=="subagent"?(a(),c("div",Ex,[r("div",Lx,[M.value.length===0?(a(),c("div",Bx,d(l(o)(y.value)),1)):(a(!0),c(he,{key:1},Pe(M.value,b=>(a(),c("div",{key:b.id,class:pe(["tp-row",{done:b.state==="done",fail:b.state==="fail",expandable:k(b),selected:b.id===f.value}])},[r("div",{class:"tp-main",role:k(b)?"button":void 0,onClick:P=>T(b)},[$(Ai,{status:S(b.state)},null,8,["status"]),r("span",Ox,d(b.name),1),$(Ot,{variant:"neutral",size:"sm"},{default:H(()=>[re(d(b.kind),1)]),_:2},1024),r("span",Dx,d(b.timing),1),b.state==="run"?(a(),c("button",{key:0,class:"tp-stop",onClick:Re(P=>s("cancel",b.id),["stop"])},d(l(o)("tasks.stop")),9,zx)):A("",!0),k(b)?(a(),G(se,{key:1,class:pe(["tp-chevron",{open:e.variant==="todos"&&w.has(b.id)}]),name:"chevron-right",size:"sm"},null,8,["class"])):A("",!0)],8,Rx),e.variant==="todos"&&w.has(b.id)&&k(b)?(a(),c("div",Fx,[b.meta?(a(),c("div",Nx,[r("button",{class:pe(["tp-copy",{copied:x.has(b.id)}]),onClick:Re(P=>E(b),["stop"])},d(x.has(b.id)?"已复制":"复制"),11,qx),r("pre",Wx,[r("code",null,[r("span",Hx,d(b.meta),1)])])])):A("",!0),b.output&&b.output.length>0?(a(),c("div",Ux,[r("button",{class:pe(["tp-copy",{copied:g.has(b.id)}]),onClick:Re(P=>R(b),["stop"])},d(g.has(b.id)?"已复制":"复制"),11,Vx),r("pre",jx,[r("code",null,[V[2]||(V[2]=re(`
+ `,-1)),(a(!0),c(he,null,Pe(b.output,(P,L)=>(a(),c("span",{key:L,class:"tp-line"},d(P),1))),128)),V[3]||(V[3]=re(`
+ `,-1))])])])):A("",!0)])):A("",!0)],2))),128))]),e.variant==="bash"?(a(),c("div",{key:0,ref_key:"detailColRef",ref:m,class:"tp-detail-col"},[v.value?(a(),c(he,{key:0},[r("div",Kx,[$(Ai,{status:S(v.value.state)},null,8,["status"]),r("span",Gx,d(v.value.name),1),$(Ot,{variant:"neutral",size:"sm"},{default:H(()=>[re(d(v.value.kind),1)]),_:1}),r("span",Qx,d(v.value.timing),1)]),v.value.meta?(a(),c("div",Yx,[r("button",{class:pe(["tp-copy",{copied:x.has(v.value.id)}]),onClick:V[0]||(V[0]=Re(b=>E(v.value),["stop"]))},d(x.has(v.value.id)?"已复制":"复制"),3),r("pre",Zx,[r("code",null,[r("span",Xx,d(v.value.meta),1)])])])):A("",!0),v.value.output&&v.value.output.length>0?(a(),c("div",Jx,[r("button",{class:pe(["tp-copy",{copied:g.has(v.value.id)}]),onClick:V[1]||(V[1]=Re(b=>R(v.value),["stop"]))},d(g.has(v.value.id)?"已复制":"复制"),3),r("pre",e7,[r("code",null,[V[4]||(V[4]=re(`
+ `,-1)),(a(!0),c(he,null,Pe(v.value.output,(b,P)=>(a(),c("span",{key:P,class:"tp-line"},d(b),1))),128)),V[5]||(V[5]=re(`
+ `,-1))])])])):A("",!0),!v.value.meta&&!(v.value.output&&v.value.output.length>0)?(a(),c("div",t7,d(l(o)("tasks.noOutput")),1)):A("",!0)],64)):(a(),c("div",n7,d(l(o)("tasks.detailPlaceholder")),1))],512)):A("",!0)])):A("",!0),e.variant==="subagent"?(a(),c("div",s7,[M.value.length===0?(a(),c("div",o7,d(l(o)(y.value)),1)):(a(!0),c(he,{key:1},Pe(M.value,b=>(a(),c("div",{key:b.id,class:pe(["tp-card",{done:b.state==="done",fail:b.state==="fail"}]),role:"button",onClick:P=>s("open",b.id)},[r("span",a7,[$(Ai,{status:S(b.state)},null,8,["status"]),r("span",l7,d(b.name),1)]),r("span",r7,[$(Ot,{variant:"neutral",size:"sm"},{default:H(()=>[re(d(b.kind),1)]),_:2},1024),b.state==="run"?(a(),c("button",{key:0,class:"tp-stop",onClick:Re(P=>s("cancel",b.id),["stop"])},d(l(o)("tasks.stop")),9,u7)):(a(),c("span",c7,d(b.timing),1))])],10,i7))),128))])):A("",!0)],2))}}),su=Ee(d7,[["__scopeId","data-v-30ebee08"]]),p7={class:"todo-card"},f7={key:0,class:"tc-empty"},m7={key:1,class:"tc-progress"},v7={class:"tc-name"},h7=Ie({__name:"TodoCard",props:{todos:{},doneCount:{}},setup(e){const t=e,{t:n}=Ue(),s=_(()=>t.doneCount??t.todos.filter(i=>i.status==="done").length);function o(i){return i==="in_progress"?"run":i}return(i,u)=>(a(),c("div",p7,[t.todos.length===0?(a(),c("div",f7,[$(se,{name:"check-list",size:"md",class:"tc-empty-ico","aria-hidden":"true"}),r("span",null,d(l(n)("tasks.emptyTodo")),1)])):(a(),c("div",m7,[$(se,{name:"check-list",size:"sm",class:"tc-progress-ico","aria-hidden":"true"}),r("span",null,d(l(n)("tasks.todoProgress",{done:s.value,total:t.todos.length})),1)])),(a(!0),c(he,null,Pe(t.todos,(p,f)=>(a(),c("div",{key:f,class:pe(["tc-row",`s-${p.status}`])},[$(Ai,{status:o(p.status)},null,8,["status"]),r("span",v7,d(p.title),1)],2))),128))]))}}),g7=Ee(h7,[["__scopeId","data-v-4f8e45d2"]]),y7={class:"terminal-panel"},k7={key:0,class:"term-state"},b7={key:1,class:"term-state"},w7={class:"term-toolbar"},S7=["aria-label"],C7=["aria-selected","onClick"],_7={class:"term-tab-label"},$7={key:0,class:"term-error",role:"alert"},M7={key:1,class:"term-exit"},x7={class:"term-input-row"},I7=["disabled","placeholder"],A7=Ie({__name:"TerminalPanel",props:{sessionId:{},store:{}},setup(e){const t=e,{t:n}=Ue(),s=Te(),o=I(""),i=I(!1),u=I(new Set),p=I(null),f=I(null),v=_(()=>t.store.terminals.value),w=_(()=>t.store.active.value),x=_(()=>t.store.activeLines.value),g=_(()=>t.store.loading.value),m=_(()=>t.store.error.value),M=_(()=>{const L=w.value?.exitCode;return L==null?"?":String(L)});let h=0;async function y(){const L=++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 ne=await s.listTerminals(t.sessionId);if(L!==h)return;t.store.syncTerminals(ne);const oe=t.store.terminals.value[0];oe&&(t.store.setActive(oe.id),t.store.attach(oe.id))}catch(ne){if(L!==h)return;t.store.setError(O(ne)??n("terminal.listFailed"))}finally{L===h&&t.store.setLoading(!1)}}async function k(){if(!(!t.sessionId||i.value)){i.value=!0,t.store.setError(null);try{const L=await s.createTerminal(t.sessionId,{cols:Yu,rows:Zu});t.store.upsertTerminal(L),t.store.setActive(L.id),t.store.attach(L.id),await Ke(),b()}catch(L){t.store.setError(O(L)??n("terminal.createFailed"))}finally{i.value=!1}}}async function T(L){if(!(!t.sessionId||u.value.has(L))){u.value=new Set(u.value).add(L),t.store.setError(null);try{await s.closeTerminal(t.sessionId,L),t.store.detach(L),t.store.removeTerminal(L)}catch(ne){t.store.setError(O(ne)??n("terminal.closeFailed"))}finally{const ne=new Set(u.value);ne.delete(L),u.value=ne}}}function S(L){t.store.setActive(L),t.store.attach(L),b()}function O(L){return L instanceof Error&&L.message?L.message:null}let D=-1,E="";function R(){const L=w.value;if(!L||L.status==="exited")return;const ne=o.value;ne.trim().length!==0&&(t.store.submitInput(L.id,ne),o.value="",D=-1,b())}function q(){const L=w.value?.history??[];if(L.length===0)return;if(D===-1)E=o.value,D=L.length-1;else if(D>0)D-=1;else return;const ne=L[D];ne!==void 0&&(o.value=ne)}function V(){const L=w.value?.history??[];if(D!==-1)if(D{f.value?.focus()})}function P(){const L=p.value;if(!L)return;L.scrollHeight-L.scrollTop-L.clientHeight<40&&(L.scrollTop=L.scrollHeight)}return Oe(()=>t.store.activeLines.value,P),Oe(()=>t.sessionId,()=>{y()}),ht(()=>{y()}),(L,ne)=>(a(),c("div",y7,[g.value?(a(),c("div",k7,[$(Dt,{size:"sm"}),r("span",null,d(l(n)("terminal.loading")),1)])):v.value.length===0?(a(),c("div",b7,[r("span",null,d(l(n)("terminal.empty")),1),$(qe,{variant:"secondary",size:"sm",loading:i.value,onClick:ne[0]||(ne[0]=oe=>k())},{default:H(()=>[re(d(l(n)("terminal.newTerminal")),1)]),_:1},8,["loading"])])):(a(),c(he,{key:2},[r("div",w7,[v.value.length>1?(a(),c("div",{key:0,class:"term-tabs",role:"tablist","aria-label":l(n)("terminal.dockTerminal")},[(a(!0),c(he,null,Pe(v.value,(oe,ge)=>(a(),c("button",{key:oe.id,class:pe(["term-tab",{active:oe.id===t.store.activeId.value}]),type:"button",role:"tab","aria-selected":oe.id===t.store.activeId.value,onClick:Se=>S(oe.id)},[$(Ro,{status:oe.status},null,8,["status"]),r("span",_7,"#"+d(ge+1),1),$(nt,{size:"sm",label:l(n)("terminal.closeTerminal"),disabled:u.value.has(oe.id),onClick:Re(Se=>T(oe.id),["stop"])},{default:H(()=>[$(se,{name:"close",size:"sm"})]),_:1},8,["label","disabled","onClick"])],10,C7))),128))],8,S7)):A("",!0),$(nt,{class:"term-add",label:l(n)("terminal.newTerminal"),disabled:i.value,onClick:ne[1]||(ne[1]=oe=>k())},{default:H(()=>[$(se,{name:"plus",size:"sm"})]),_:1},8,["label","disabled"])]),m.value?(a(),c("div",$7,d(m.value),1)):A("",!0),w.value?.status==="exited"?(a(),c("div",M7,d(l(n)("terminal.exited",{code:M.value})),1)):A("",!0),w.value?(a(),c("pre",{key:2,ref_key:"preRef",ref:p,class:"term-output"},d(x.value),513)):A("",!0),r("div",x7,[ne[6]||(ne[6]=r("span",{class:"term-prompt"},"$",-1)),gt(r("input",{ref_key:"inputRef",ref:f,"onUpdate:modelValue":ne[2]||(ne[2]=oe=>o.value=oe),class:"term-input",disabled:!w.value||w.value.status==="exited",placeholder:l(n)("terminal.inputPlaceholder"),onKeydown:[ne[3]||(ne[3]=En(Re(oe=>R(),["prevent"]),["enter"])),ne[4]||(ne[4]=En(Re(oe=>q(),["prevent"]),["up"])),ne[5]||(ne[5]=En(Re(oe=>V(),["prevent"]),["down"]))]},null,40,I7),[[qn,o.value]])])],64))]))}}),T7=Ee(A7,[["__scopeId","data-v-4d134005"]]);function P7(e){const t=["cancel"];return e==="active"?t.unshift("pause"):(e==="paused"||e==="blocked")&&t.unshift("resume"),t}function E7(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 L7={class:"ui-empty"},B7={key:0,class:"ui-empty__icon","aria-hidden":"true"},R7={key:1,class:"ui-empty__title"},O7={key:2,class:"ui-empty__hint"},D7=Ie({__name:"EmptyState",props:{title:{},hint:{}},setup(e){return(t,n)=>(a(),c("div",L7,[t.$slots.icon?(a(),c("span",B7,[yt(t.$slots,"icon",{},void 0,!0)])):A("",!0),e.title?(a(),c("div",R7,d(e.title),1)):A("",!0),e.hint?(a(),c("div",O7,d(e.hint),1)):A("",!0),yt(t.$slots,"default",{},void 0,!0)]))}}),Qo=Ee(D7,[["__scopeId","data-v-38e00944"]]),z7={class:"goal-panel"},F7={key:0,class:"gp-head"},N7={class:"gp-title-row"},q7={class:"gp-kicker"},W7=["title"],H7=["title"],U7={class:"gp-actions"},V7={key:0,class:"gp-criterion"},j7={class:"gp-criterion-label"},K7={class:"gp-criterion-text"},G7=Ie({__name:"GoalPanel",props:{goal:{}},emits:["controlGoal"],setup(e,{emit:t}){const n=t,{t:s}=Ue(),{confirm:o}=go();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)=>(a(),c("div",z7,[e.goal?(a(),c("div",F7,[r("div",N7,[$(se,{class:"gp-icon",name:"target",size:"md"}),r("span",q7,d(l(s)("status.goalLabel")),1),r("span",{class:"gp-objective",title:e.goal.objective},d(e.goal.objective),9,W7),$(Ot,{variant:u(e.goal.status),size:"sm",class:"gp-status"},{default:H(()=>[re(d(i(e.goal.status)),1)]),_:1},8,["variant"]),r("span",{class:"gp-elapsed",title:`${e.goal.wallClockMs} ms`},[$(se,{name:"clock",size:"sm"}),re(" "+d(l(E7)(e.goal.wallClockMs)),1)],8,H7),r("div",U7,[(a(!0),c(he,null,Pe(l(P7)(e.goal.status),w=>(a(),G(nt,{key:w,size:"md",label:l(s)(`status.goal${w==="resume"?"Resume":w==="pause"?"Pause":"Cancel"}`),class:"gp-action",onClick:x=>w==="cancel"?p():n("controlGoal",w)},{default:H(()=>[$(se,{name:w==="resume"?"play":w==="pause"?"pause":"close"},null,8,["name"])]),_:2},1032,["label","onClick"]))),128))])]),e.goal.completionCriterion?(a(),c("div",V7,[r("span",j7,d(l(s)("workspace.doneWhen")),1),r("p",K7,d(e.goal.completionCriterion),1)])):A("",!0)])):(a(),G(Qo,{key:1,title:l(s)("status.goalEmptyTitle"),hint:l(s)("status.goalEmptyHint")},{icon:H(()=>[$(se,{name:"target"})]),_:1},8,["title","hint"]))]))}}),Q7=Ee(G7,[["__scopeId","data-v-d3a415b3"]]);function Y7(e){return typeof e=="string"&&e.toLowerCase()==="exitplanmode"}function Z7(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(Y7(n[s]?.name))return n[s].id}}}function X7(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 J7={class:"plan-panel"},eI={key:0,class:"pp-loading",role:"status"},tI={class:"pp-plan-wrap"},nI={key:0,class:"pp-path"},sI={class:"pp-plan"},oI={key:0,class:"pp-review"},iI={class:"pp-state"},aI={key:0,class:"pp-option"},lI={key:1,class:"pp-feedback"},rI=Ie({__name:"PlanPanel",props:{sessionId:{},toolCallId:{},planMode:{type:Boolean,default:!1},planArmed:{type:Boolean,default:!1}},setup(e){const t=e,{t:n}=Ue(),s=I("idle"),o=I(null);let i=0;async function u(){const v=t.sessionId,w=t.toolCallId,x=++i;if(o.value=null,!v||!w){s.value="settled";return}s.value="loading";const g=await Zc(v,w);x===i&&(o.value=g,s.value="settled")}Oe(()=>[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=_(()=>X7(t.toolCallId,s.value,o.value,t.planMode,t.planArmed));return(v,w)=>(a(),c("div",J7,[f.value.kind==="loading"?(a(),c("div",eI,[$(Dt,{size:"sm"}),r("span",null,d(l(n)("tools.plan.loading")),1)])):f.value.kind==="plan"?(a(),c(he,{key:1},[r("div",tI,[f.value.plan.path?(a(),c("p",nI,d(f.value.plan.path),1)):A("",!0),r("pre",sI,d(f.value.plan.plan),1)]),f.value.plan.review?(a(),c("div",oI,[r("span",iI,d(p(f.value.plan.review.state)),1),f.value.plan.review.selectedOption?(a(),c("span",aI,d(f.value.plan.review.selectedOption),1)):A("",!0),f.value.plan.review.feedback?(a(),c("span",lI," “"+d(f.value.plan.review.feedback)+"” ",1)):A("",!0)])):A("",!0)],64)):(a(),G(Qo,{key:2,title:f.value.armed?l(n)("status.planEmptyArmed"):l(n)("status.planEmptyIdle")},{icon:H(()=>[$(se,{name:"file-edit"})]),_:1},8,["title"]))]))}}),uI=Ee(rI,[["__scopeId","data-v-9073f2b6"]]),cI={class:"dock-work-head"},dI={key:0,class:"dock-work-tab static"},pI={key:1,class:"dock-work-tab static"},fI={key:2,class:"dock-work-tab static"},mI={key:3,class:"dock-work-tab static"},vI={key:4,class:"dock-work-tab static"},hI={key:5,class:"dock-work-tab static"},gI={class:"dock-work-body"},yI={class:"dw-count"},kI={class:"dw-count"},bI={class:"dw-count"},wI={key:0,class:"dw-count"},SI=Ie({__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}=Ue(),u=_(()=>s.terminal!==void 0&&s.sessionId!==void 0),p=_(()=>s.terminal?.terminals.value.length??0),f=_(()=>s.goal!==null&&s.goal!==void 0&&s.goal.status!=="complete"||s.goalMode===!0),v=_(()=>s.planMode===!0||s.planArmed===!0),w=_(()=>s.planMode?i("status.planModeOn"):s.planArmed?i("status.planArmed"):""),x=I(null),g=I(null),m=I(null),M=I(null);function h(D){return x.value?(x.value.loadForEdit(D),!0):!1}function y(D){x.value?.loadAttachmentsForEdit(D)}function k(){x.value?.focus()}function T(D){if(!s.dockPanel)return;const E=D.target;E&&(g.value?.contains(E)||m.value?.contains(E)||o("close-dock-panel"))}Oe(()=>s.dockPanel,D=>{typeof document>"u"||(document.removeEventListener("mousedown",T,!0),D&&document.addEventListener("mousedown",T,!0))},{immediate:!0});let S=null;function O(){const D=M.value?.offsetHeight??0;document.documentElement.style.setProperty("--dock-h",`${D}px`)}return ht(()=>{typeof ResizeObserver!="function"||!M.value||(S=new ResizeObserver(O),S.observe(M.value),O())}),kt(()=>{typeof document<"u"&&document.removeEventListener("mousedown",T,!0),S?.disconnect(),S=null}),t({loadForEdit:h,loadAttachmentsForEdit:y,focus:k}),(D,E)=>(a(),c("div",{ref_key:"dockRef",ref:M,class:pe(["chat-dock",[e.mobile?"align-mobile":"align-center",{"has-approval":!!e.pendingApproval,"has-question":!!e.pendingQuestion}]]),onClick:E[30]||(E[30]=Re(()=>{},["stop"]))},[$(Yo,{name:"dock-panel"},{default:H(()=>[e.dockPanel?(a(),c("div",{key:0,ref_key:"workPanelRef",ref:g,class:"dock-work-panel",onClick:E[4]||(E[4]=Re(()=>{},["stop"]))},[r("div",cI,[e.dockPanel==="bash"?(a(),c("span",dI,d(l(i)("tasks.dockBash"))+" · "+d(e.bashRunning)+" "+d(l(i)("tasks.running")),1)):e.dockPanel==="subagent"?(a(),c("span",pI,d(l(i)("tasks.dockSubagent"))+" · "+d(e.subagentRunning)+" "+d(l(i)("tasks.running")),1)):e.dockPanel==="todos"?(a(),c("span",fI,d(l(i)("tasks.dockTodos"))+" · "+d(e.todoDoneCount)+"/"+d(e.todos?.length??0),1)):e.dockPanel==="terminal"?(a(),c("span",mI,d(l(i)("terminal.dockTerminal"))+" · "+d(p.value),1)):e.dockPanel==="goal"?(a(),c("span",vI,[re(d(l(i)("status.goalLabel")),1),e.goal?(a(),c(he,{key:0},[re(" · "+d(e.goal.objective),1)],64)):A("",!0)])):e.dockPanel==="plan"?(a(),c("span",hI,[re(d(l(i)("status.planLabel")),1),w.value?(a(),c(he,{key:0},[re(" · "+d(w.value),1)],64)):A("",!0)])):A("",!0)]),r("div",gI,[e.dockPanel==="bash"?(a(),G(su,{key:0,variant:"bash",tasks:e.bashTasks,onCancel:E[0]||(E[0]=R=>o("cancelTask",R))},null,8,["tasks"])):e.dockPanel==="subagent"?(a(),G(su,{key:1,variant:"subagent",tasks:e.subagentTasks,onCancel:E[1]||(E[1]=R=>o("cancelTask",R)),onOpen:E[2]||(E[2]=R=>o("openAgent",R))},null,8,["tasks"])):e.dockPanel==="todos"?(a(),G(g7,{key:2,todos:e.todos??[],"done-count":e.todoDoneCount},null,8,["todos","done-count"])):e.dockPanel==="terminal"&&e.terminal!==void 0?(a(),G(T7,{key:3,"session-id":e.sessionId??"",store:e.terminal},null,8,["session-id","store"])):e.dockPanel==="goal"?(a(),G(Q7,{key:4,goal:e.goal??null,onControlGoal:E[3]||(E[3]=R=>o("controlGoal",R))},null,8,["goal"])):e.dockPanel==="plan"?(a(),G(uI,{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"])):A("",!0)])],512)):A("",!0)]),_:1}),e.goal?(a(),G(a6,{key:0,goal:e.goal,"force-expanded":e.goalExpandSignal,onControlGoal:E[5]||(E[5]=R=>o("controlGoal",R))},null,8,["goal","force-expanded"])):A("",!0),e.hasDockWork||u.value||f.value||v.value?(a(),c("div",{key:1,ref_key:"workbarRef",ref:m,class:"dock-workbar"},[e.bashTasks.length>0?(a(),G(eo,{key:0,active:e.dockPanel==="bash","aria-pressed":e.dockPanel==="bash",onClick:E[6]||(E[6]=R=>o("toggle-dock-panel","bash"))},{default:H(()=>[$(se,{name:"clock",size:"md"}),r("span",null,d(l(i)("tasks.dockBash")),1),r("span",yI,[E[31]||(E[31]=re("(",-1)),r("b",null,d(e.bashTasks.length),1),E[32]||(E[32]=re(")",-1))])]),_:1},8,["active","aria-pressed"])):A("",!0),e.subagentTasks.length>0?(a(),G(eo,{key:1,active:e.dockPanel==="subagent","aria-pressed":e.dockPanel==="subagent",onClick:E[7]||(E[7]=R=>o("toggle-dock-panel","subagent"))},{default:H(()=>[$(se,{name:"sparkles",size:"md"}),r("span",null,d(l(i)("tasks.dockSubagent")),1),r("span",kI,[E[33]||(E[33]=re("(",-1)),r("b",null,d(e.subagentTasks.length),1),E[34]||(E[34]=re(")",-1))])]),_:1},8,["active","aria-pressed"])):A("",!0),(e.todos?.length??0)>0?(a(),G(eo,{key:2,active:e.dockPanel==="todos","aria-pressed":e.dockPanel==="todos",onClick:E[8]||(E[8]=R=>o("toggle-dock-panel","todos"))},{default:H(()=>[$(se,{name:"check-list",size:"md"}),r("span",null,d(l(i)("tasks.dockTodos")),1),r("span",bI,[E[35]||(E[35]=re("(",-1)),r("b",null,d(e.todoDoneCount)+"/"+d(e.todos?.length??0),1),E[36]||(E[36]=re(")",-1))])]),_:1},8,["active","aria-pressed"])):A("",!0),u.value?(a(),G(eo,{key:3,active:e.dockPanel==="terminal","aria-pressed":e.dockPanel==="terminal",onClick:E[9]||(E[9]=R=>o("toggle-dock-panel","terminal"))},{default:H(()=>[$(se,{name:"terminal",size:"md"}),r("span",null,d(l(i)("terminal.dockTerminal")),1),p.value>0?(a(),c("span",wI,[E[37]||(E[37]=re("(",-1)),r("b",null,d(p.value),1),E[38]||(E[38]=re(")",-1))])):A("",!0)]),_:1},8,["active","aria-pressed"])):A("",!0),f.value?(a(),G(eo,{key:4,active:e.dockPanel==="goal","aria-pressed":e.dockPanel==="goal",onClick:E[10]||(E[10]=R=>o("toggle-dock-panel","goal"))},{default:H(()=>[$(se,{name:"target",size:"md"}),r("span",null,d(l(i)("status.goalLabel")),1)]),_:1},8,["active","aria-pressed"])):A("",!0),v.value?(a(),G(eo,{key:5,active:e.dockPanel==="plan","aria-pressed":e.dockPanel==="plan",onClick:E[11]||(E[11]=R=>o("toggle-dock-panel","plan"))},{default:H(()=>[$(se,{name:"file-edit",size:"md"}),r("span",null,d(l(i)("status.planLabel")),1)]),_:1},8,["active","aria-pressed"])):A("",!0)],512)):A("",!0),e.pendingQuestion?(a(),G(E6,{key:e.pendingQuestion.questionId,question:e.pendingQuestion,"busy-kind":e.questionBusyKind,onAnswer:E[12]||(E[12]=(R,q)=>o("answer",R,q)),onDismiss:E[13]||(E[13]=R=>o("dismiss",R))},null,8,["question","busy-kind"])):e.pendingApproval?(a(),G(Sx,{key:e.pendingApproval.approvalId,class:"dock-approval",block:e.pendingApproval.block,"agent-name":e.pendingApproval.agentName,busy:e.approvalBusy,onDecide:E[14]||(E[14]=R=>o("approval",e.pendingApproval.approvalId,R))},null,8,["block","agent-name","busy"])):(a(),G(gd,{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:E[15]||(E[15]=R=>o("submit",R)),onSteer:E[16]||(E[16]=R=>o("steer",R)),onCommand:E[17]||(E[17]=(R,q)=>o("command",R,q)),onInterrupt:E[18]||(E[18]=R=>o("interrupt")),onSetPermission:E[19]||(E[19]=R=>o("setPermission",R)),onSetThinking:E[20]||(E[20]=R=>o("setThinking",R)),onTogglePlan:E[21]||(E[21]=R=>o("togglePlan")),onToggleSwarm:E[22]||(E[22]=R=>o("toggleSwarm")),onToggleSupermoon:E[23]||(E[23]=R=>o("toggleSupermoon")),onToggleGoal:E[24]||(E[24]=R=>o("toggleGoal")),onDismissPlan:E[25]||(E[25]=R=>o("dismissPlan")),onFocusGoal:E[26]||(E[26]=R=>o("focusGoal")),onCompact:E[27]||(E[27]=R=>o("compact")),onPickModel:E[28]||(E[28]=R=>o("pickModel")),onSelectModel:E[29]||(E[29]=R=>o("selectModel",R))},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))}}),CI=Ee(SI,[["__scopeId","data-v-24d34e66"]]),_I=["type","value","placeholder","disabled","readonly"],$I=Ie({__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=I();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)=>(a(),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]=w=>f.$emit("focus",w)),onBlur:v[1]||(v[1]=w=>f.$emit("blur",w))},null,42,_I))}}),Kn=Ee($I,[["__scopeId","data-v-340f0da2"]]),MI={class:"conv-search",role:"search"},xI={key:0,class:"conv-search-count"},II={key:1,class:"conv-search-count conv-search-none"},AI=Ie({__name:"ConversationSearch",props:{query:{},total:{},activeIndex:{}},emits:["update:query","next","prev","close"],setup(e,{emit:t}){const{t:n}=Ue(),s=t,o=I(null);ht(()=>{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)=>(a(),c("div",MI,[$(se,{class:"conv-search-icon",name:"search",size:"sm"}),$(Kn,{ref_key:"inputRef",ref:o,class:"conv-search-input",size:"sm",type:"text","model-value":e.query,placeholder:l(n)("conversation.searchPlaceholder"),"aria-label":l(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?(a(),c("span",xI,d(l(n)("conversation.searchPosition",{current:Math.max(e.activeIndex,0)+1,total:e.total})),1)):e.query.trim().length>0?(a(),c("span",II,d(l(n)("conversation.searchNoResults")),1)):A("",!0),$(nt,{size:"sm",class:"conv-search-prev",label:l(n)("conversation.searchPrev"),disabled:e.total===0,onClick:p[1]||(p[1]=f=>s("prev"))},{default:H(()=>[$(se,{name:"chevron-up",size:"sm"})]),_:1},8,["label","disabled"]),$(nt,{size:"sm",class:"conv-search-next",label:l(n)("conversation.searchNext"),disabled:e.total===0,onClick:p[2]||(p[2]=f=>s("next"))},{default:H(()=>[$(se,{name:"chevron-down",size:"sm"})]),_:1},8,["label","disabled"]),$(nt,{size:"sm",class:"conv-search-close",label:l(n)("conversation.searchClose"),onClick:p[3]||(p[3]=f=>s("close"))},{default:H(()=>[$(se,{name:"close",size:"sm"})]),_:1},8,["label"])]))}}),TI=Ee(AI,[["__scopeId","data-v-c521ac2e"]]),PI=["aria-label","aria-hidden"],EI={class:"toc-scroll"},LI=["onClick"],BI={class:"toc-label"},RI=240,OI=Ie({__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}=Ue(),i=I(null),u=I(!0);let p=null;function f(){const w=i.value,x=w?.offsetParent;if(!w||!x)return;const g=w.getBoundingClientRect().left,m=x.getBoundingClientRect().right;u.value=m-g>=RI}const v=_(()=>!n.mobile&&!n.sessionLoading&&n.items.length>1);return Oe(v,w=>{p?.disconnect(),p=null,w&&Ke(()=>{const x=i.value,g=x?.offsetParent;!x||!g||(typeof ResizeObserver<"u"&&(p=new ResizeObserver(f),p.observe(g)),f())})},{immediate:!0}),Ln(()=>{p?.disconnect(),p=null}),(w,x)=>v.value?(a(),c("nav",{key:0,ref_key:"navRef",ref:i,class:pe(["conversation-toc",{"toc-clipped":!u.value||e.occluded}]),"aria-label":l(o)("conversation.toc"),"aria-hidden":u.value&&!e.occluded?void 0:!0},[r("div",EI,[(a(!0),c(he,null,Pe(e.items,g=>(a(),c("button",{key:g.id,type:"button",class:pe(["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",BI,d(g.title),1)],10,LI))),128))])],10,PI)):A("",!0)}}),DI=Ee(OI,[["__scopeId","data-v-3f1c1f66"]]),zI=5;function FI(e,t,n,s=zI){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}const Rl={text:"",attachments:[]};Object.freeze(Rl);Object.freeze(Rl.attachments);function NI(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 qI(e,t){const n=t.trim();if(n.length===0)return[];const s=n.toLowerCase(),o=[];return e.forEach((i,u)=>{const p=NI(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 WI(e,t){return t<=0?-1:e<0?0:(e+1)%t}function HI(e,t){return t<=0?-1:e<0?t-1:(e-1+t)%t}const UI={class:"chat-layout"},VI={class:"empty-hint"},jI={key:0,class:"empty-hint-text"},KI={key:1,class:"ws-pick"},GI={class:"ws-pick-name"},QI={key:1,class:"ws-pick-menu"},YI=["onClick"],ZI={class:"ws-pick-item-name"},XI={class:"ws-pick-item-path"},JI=["aria-label"],eA={key:0,class:"abort-toast",role:"status","aria-live":"polite"},tA={class:"abort-toast-text"},Ma=80,ou=1e3,nA=420,sA=3e3,oA=Ie({__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:{},pr:{},conversationToc:{type:Boolean},terminal:{}},emits:["submit","steer","approval","cancelTask","answer","dismiss","command","interrupt","unqueue","editQueued","reorderQueue","steerQueued","setPermission","setThinking","togglePlan","toggleSwarm","toggleSupermoon","toggleGoal","dismissPlan","controlGoal","compact","pickModel","selectModel","openFile","openMedia","openThinking","openCompaction","openAgent","openToolDiff","openChanges","refreshGitStatus","editMessage","selectWorkspace","addWorkspace","openPr","renameSession","forkSession","archiveSession","exportSession","resumeTurn"],setup(e,{expose:t,emit:n}){const{t:s}=Ue(),o=e,i=n,u=I(!1),p=I(!1),f=_(()=>o.workspaces?.find(K=>K.id===o.activeWorkspaceId)?.name??o.workspaceName??""),v=_(()=>(o.workspaces?.length??0)>0),w=_(()=>FI(o.workspaces??[],o.activeWorkspaceId,p.value)),x=_(()=>(o.workspaces?.length??0)-w.value.length);Oe(u,F=>{F||(p.value=!1)});function g(F){u.value=!1,F!==o.activeWorkspaceId&&i("selectWorkspace",F)}ro(We.contentAlign);const m=I(null),M=I(null),h=I(null),y=I(!1),k=I(0);let T=null;function S(F,K){const le=h.value??M.value;return!le||le.loadForEdit(F)===!1?!1:(le.loadAttachmentsForEdit(K??[]),!0)}function O(){y.value=!0,T!==null&&clearTimeout(T),T=setTimeout(()=>{T=null,y.value=!1},2e3)}function D(){k.value++,ne.value="goal"}const E=_(()=>o.tasks.filter(F=>F.kind!=="subagent")),R=_(()=>o.tasks.filter(F=>F.kind==="subagent"&&F.runInBackground)),q=_(()=>E.value.filter(F=>F.state==="run").length),V=_(()=>R.value.filter(F=>F.state==="run").length);function b(F){const K=o.tasks,le=K.find(tt=>tt.id===F)??K.find(tt=>tt.parentToolCallId===F);if(le)return le.id;const je=K.filter(tt=>tt.kind==="subagent"&&!tt.parentToolCallId);if(je.length===1)return je[0].id}Io("resolveAgentTaskId",b),Io("pinScroll",Je),Io("sessionId",()=>o.sessionId);const P=_(()=>(o.todos??[]).filter(F=>F.status==="done").length),L=_(()=>E.value.length>0||R.value.length>0||(o.todos?.length??0)>0||(o.queued?.length??0)>0),ne=I(null),oe=_(()=>o.gitInfo?o.changes?.length??0:0),ge=_(()=>Z7(o.turns));function Se(F){ne.value=ne.value===F?null:F}function Q(){ne.value=null}Oe(L,F=>{!F&&ne.value!=="terminal"&&ne.value!=="goal"&&ne.value!=="plan"&&Q()});function ie(F){if(F.role==="compaction")return s("conversation.compactedPlain");if(F.role==="user"){if(F.skillActivation)return`/${F.skillActivation.name}`;if(F.pluginCommand)return`/${F.pluginCommand.pluginId}:${F.pluginCommand.commandName}`;const le=F.text.trim().replaceAll(/\s+/g," ");return le.length>0?le:"user"}const K=(F.text||F.thinking||"").trim().replaceAll(/\s+/g," ");return K.length>0?K:(F.tools?.length??0)>0?`${F.tools.length} tools`:"kimi"}const X=_(()=>o.turns.filter(F=>F.role==="user").map((F,K)=>({id:F.id,role:F.role,no:K+1,title:ie(F)}))),fe=I(null);function Ce(){const F=Ve.value;if(!F)return;const K=F.querySelectorAll(".turn-anchor[data-turn-id]");if(K.length===0)return;const le=X.value;if(le.length===0)return;const je=new Set(le.map(Yn=>Yn.id));if(In()<=Ma){fe.value=le[le.length-1].id;return}const tt=F.getBoundingClientRect(),wt=tt.height/2;let tn=null;K.forEach(Yn=>{const rs=Yn.dataset.turnId;if(!rs||!je.has(rs))return;Yn.getBoundingClientRect().top-tt.top<=wt&&(tn=rs)}),fe.value=tn??le[0].id}const _e=I(!1),Z=I(""),U=I(0),ye=_(()=>qI(o.turns,Z.value)),ae=_(()=>ye.value.length);function te(){_e.value?ce():_e.value=!0}function ce(){_e.value=!1,Z.value="",U.value=0}function Be(){U.value=WI(U.value,ae.value)}function Y(){U.value=HI(U.value,ae.value)}Oe(Z,()=>{U.value=0,ve()}),Oe(ae,F=>{F===0?U.value=0:U.value>=F&&(U.value=F-1)}),Oe(U,()=>{ve()});async function ve(){if(ae.value===0)return;await Ke();const F=Ve.value;if(!F)return;const K=F.querySelector(".chat-search-hit--active");if(K){K.scrollIntoView({behavior:"smooth",block:"center"});return}const le=Math.min(U.value,ae.value-1),je=ye.value[le];je&&Xt(je.turnId)}const B=I(!1);let J=0;function me(){J||(J=ct(()=>{J=0,He()}))}function He(){const F=Ve.value,K=!o.mobile&&o.conversationToc&&F?F.closest(".con")?.querySelector(".conversation-toc"):null,le=K?.querySelector(".toc-bar");let je=!1;if(F&&K&&le){const tt=le.getBoundingClientRect(),wt=K.getBoundingClientRect(),tn=tt.left+tt.width/2;je=Array.from(F.querySelectorAll(".table-node-wrapper")).some(Yn=>{const rs=Yn.getBoundingClientRect();return rs.left<=tn&&tn<=rs.right&&rs.topwt.top})}B.value!==je&&(B.value=je)}const De=_(()=>o.questions&&o.questions.length>0?o.questions[0]:void 0),an=_(()=>{const F=De.value;if(F)return o.pendingQuestionActions?.[F.questionId]}),Fe=_(()=>o.approvals&&o.approvals.length>0?o.approvals[0]:void 0),Ze=_(()=>{const F=Fe.value;return F?!!o.pendingApprovalActions?.[F.approvalId]:!1}),Ve=I(null),At=I(null),bt=I(0),Ct=I(0),dn=_(()=>({"--panes-scrollbar-width":`${bt.value}px`}));function Kt(F){return F instanceof HTMLElement?F:F&&"$el"in F&&F.$el instanceof HTMLElement?F.$el:null}function zt(){const F=Ve.value;bt.value=F?Math.max(0,F.offsetWidth-F.clientWidth):0,Ct.value=At.value?.offsetHeight??0}function hs(F){const K=Kt(F);Ve.value=K,K&&ee()}function nn(F){const K=Kt(F);At.value=K??null,F&&"loadForEdit"in F&&typeof F.loadForEdit=="function"&&"focus"in F&&typeof F.focus=="function"?h.value={loadForEdit:F.loadForEdit.bind(F),loadAttachmentsForEdit:"loadAttachmentsForEdit"in F&&typeof F.loadAttachmentsForEdit=="function"?F.loadAttachmentsForEdit.bind(F):()=>{},focus:F.focus.bind(F)}:h.value=null,j()}const ut=I(!0),Ft=I(!1);function In(){const F=Ve.value;return F?F.scrollHeight-F.scrollTop-F.clientHeight:0}let _t=0,pn=0,Nt=0,gn=0,Tt=0,fn=0;function mn(){return Date.now()1?(ut.value=!1,Ft.value=!0):le<=Ma&&K>_t+1&&(ut.value=!0,Ft.value=!1),_t=K,Gn()}let yn=0;function Gn(){yn||(yn=ct(()=>{yn=0,Ce()}))}function $t(F=!1){const K=Ve.value;ut.value=!0,Ft.value=!1,K&&(!F&&performance.now()({node:wt,top:Zt(F,wt)})),je=le.findIndex(wt=>wt.top>=K),tt=je<0?Math.max(0,le.length-1):je;return le.slice(tt,tt+2).flatMap(wt=>{const tn=wt.node.dataset.scrollAnchorId,Yn=tn??wt.node.dataset.turnId;return Yn?[{kind:tn?"tool":"turn",id:Yn,top:wt.top}]:[]})}const kn=new Map;function An(F,K){for(const le of K.anchors){const je=le.kind==="tool"?"data-scroll-anchor-id":"data-turn-id",tt=F.querySelector(`[${je}="${qt(le.id)}"]`);if(tt)return Zt(F,tt)-le.top}return F.scrollHeight-K.oldHeight}function Rt(F,K,le=F.scrollTop){return F.scrollTop=le+An(F,K),_t=F.scrollTop,F.scrollTop}async function sn(){if(!o.sessionId||!o.loadOlderMessages||o.loadingMore||zn.value||!o.hasMoreMessages)return;const F=o.sessionId,K=Ve.value,le=K?.scrollTop??0,je={anchors:K?Gt(K,le):[],oldHeight:K?.scrollHeight??0};is(F,!0),Es();try{if(await Ke(),await o.loadOlderMessages(F),await Ke(),o.sessionId!==F){kn.set(F,je);return}const tt=Ve.value;if(!tt)return;Rt(tt,je),kn.delete(F)}finally{is(F,!1)}}function qt(F){return typeof CSS<"u"&&typeof CSS.escape=="function"?CSS.escape(F):F.replaceAll(/["\\]/g,"\\$&")}function Xt(F){const K=Ve.value;if(!K)return;const le=K.querySelector(`.turn-anchor[data-turn-id="${qt(F)}"]`);le&&(ks(),ut.value=!1,Ft.value=In()>Ma,le.scrollIntoView({behavior:"smooth",block:"center"}))}function Wt(){const F=Ve.value;if(!F)return"none";const K=F.firstElementChild,le=K instanceof HTMLElement?K.offsetHeight:0,je=At.value?.offsetHeight??0;return`${F.scrollHeight}:${F.clientHeight}:${le}:${je}`}function ct(F){return typeof requestAnimationFrame=="function"?requestAnimationFrame(F):setTimeout(F,16)}function lt(F){typeof cancelAnimationFrame=="function"?cancelAnimationFrame(F):clearTimeout(F)}let on=0,Jt=0,we=null,be=0;function Ge(){return performance.now(){if(Jt=0,performance.now()>=on||!we){we=null;return}const tt=we.getBoundingClientRect().top-be;tt&&(le.scrollTop+=tt),Jt=ct(je)};Jt=ct(je)}function at(F=36){if(!ut.value&&!mn())return;const K=++fn;let le="",je=0,tt=0;Tt&&(lt(Tt),Tt=0);const wt=()=>{if(Tt=0,K!==fn||!ut.value&&!mn())return;$t(!1);const tn=Wt();je=tn===le?je+1:0,le=tn,tt++,je<3&&tt0&&K.length>=F.length&&F.firstId!==K.firstId&&F.lastId===K.lastId&&F.lastTextLen===K.lastTextLen&&F.lastThinkingLen===K.lastThinkingLen&&F.lastToolsLen===K.lastToolsLen&&F.approvalIds===K.approvalIds}const Qt=_(()=>{const F=(o.approvals??[]).map(wt=>wt.approvalId).join(","),K=o.turns,le=K.at(-1),je=le?.thinking?.length??0,tt=le?.tools?.reduce((wt,tn)=>wt+tn.name.length+(tn.arg?.length??0)+(tn.output?.join("").length??0),0)??0;return{length:K.length,firstId:K[0]?.id??"",lastId:le?.id??"",lastTextLen:le?.text.length??0,lastThinkingLen:je,lastToolsLen:tt,approvalIds:F}});Oe(Qt,async(F,K)=>{if(zn.value&&Ht(K,F)){Ce();return}await Ke(),ut.value||mn()?$t(F.length{j()}),Oe(()=>o.mobile,async()=>{await Ke(),zt()});const Pt=new Map;Oe(()=>o.fileReloadKey,async(F,K)=>{const le=Ve.value;K&&le&&Pt.set(String(K),{top:le.scrollTop,following:ut.value}),ks(),await Ke();const je=Ve.value,tt=F?Pt.get(String(F)):void 0;if(tt&&je){const wt=kn.get(String(F)),tn=wt?Rt(je,wt,tt.top):tt.top;wt&&kn.delete(String(F)),ut.value=tt.following,je.scrollTop=tn,_t=je.scrollTop,Ft.value=!tt.following&&In()>1,tt.following&&at()}else ut.value=!0,_t=0,$t(!1),at();Ce()}),Oe(()=>o.sessionLoading,async(F,K)=>{F||!K||(ut.value=!0,await Ke(),at(),Ce())}),Oe(()=>o.turnActive,async(F,K)=>{F||!K||!ut.value&&!mn()||(await Ke(),at(48),Ce())});function Ut(){ut.value=!0,Ft.value=!1,pn=Date.now()+ou,Ke(()=>{$t(!0),at(16)})}function Vt(F){Ut(),i("submit",F)}function Tn(F){ut.value=!0,Ft.value=!1,pn=Date.now()+ou,i("editMessage",F)}function gs(F){const K=o.queued?.[F],le=K?.text??"";S(le,K?.attachments)&&i("editQueued",F)}function Wn(F){i("reorderQueue",F)}function bn(){i("steer",Rl)}function ns(F,K){Ut(),i("answer",F,K)}function ss(F,K){!F||!K||i("approval",F,K)}let On=null,en=null,Dn=null,Hn=null,Qn=0,ys=0,vn=0;const os=I(new Set),zn=_(()=>!!o.sessionId&&os.value.has(o.sessionId));function is(F,K){const le=new Set(os.value);K?le.add(F):le.delete(F),os.value=le}function as(){zn.value||vn||(vn=ct(()=>{vn=0,!zn.value&&(Ge()||(ut.value||mn())&&$t(!1))}))}function Es(){fn++,Tt&&(lt(Tt),Tt=0),vn&&(lt(vn),vn=0)}function ks(){const F=Ve.value;if(pn=0,Es(),on=0,we=null,F){const K=F.scrollTop;typeof F.scrollTo=="function"?F.scrollTo({top:K,behavior:"auto"}):F.scrollTop=K}gn=0,Nt=Number.NEGATIVE_INFINITY,F&&(_t=F.scrollTop)}function wn(){const F=Ve.value;!F||F.scrollHeight-F.clientHeight<=1&&!o.hasMoreMessages||(ut.value=!1,ks(),F.scrollHeight-F.clientHeight>1&&(Ft.value=!0))}function Ls(F){const K=Ve.value;if(!K)return!1;for(const le of F.composedPath()){if(le===K)return!1;if(le instanceof HTMLElement&&le.scrollHeight>le.clientHeight+1&&le.scrollTop>1)return!0}return!1}function Gs(F){F.defaultPrevented||F.ctrlKey||F.shiftKey||F.deltaY>=0||Ls(F)||wn()}function Bs(F){const K=Ve.value;if(!K||F.defaultPrevented||F.button!==0||F.pointerType==="touch")return;const le=K.getBoundingClientRect(),je=K.offsetWidth-K.clientWidth,tt=je>0?je:12;F.target===K&&F.clientX>=le.right-tt&&wn()}let Fn=null;function bs(F){Fn=F.touches.length===1?F.touches[0].clientY:null}function ws(F){const K=F.touches.length===1?F.touches[0].clientY:null;K!==null&&Fn!==null&&K>Fn+2&&!Ls(F)&&wn(),Fn=K}function Ae(){if(!en)return;const F=Ve.value?.firstElementChild??null;F!==Dn&&(Dn&&en.unobserve(Dn),Dn=F,F&&en.observe(F))}function j(){if(!en)return;const F=At.value;F!==Hn&&(Hn&&en.unobserve(Hn),Hn=F,F&&en.observe(F))}function ee(){const F=Ve.value;zt(),On&&(On.disconnect(),F&&On.observe(F,{childList:!0,subtree:!0,characterData:!0})),en&&(en.disconnect(),Dn=null,Hn=null,F&&en.observe(F),Ae(),j()),Qn=F?.scrollHeight??0,ys=F?.clientHeight??0,me()}function ft(){Ae(),as(),me()}function Nn(){typeof document>"u"||document.visibilityState==="visible"&&ut.value&&at()}const Ss=I(!1);let ls=null;function Qs(){Ss.value=!0,ls!==null&&clearTimeout(ls),ls=setTimeout(()=>{Ss.value=!1},sA)}function Rs(){Qs(),i("interrupt")}function de(F){F.key==="Escape"&&(o.running||o.working)&&(F.preventDefault(),Rs())}function Me(){ut.value&&as()}ht(()=>{Ke(()=>{typeof MutationObserver=="function"&&(On=new MutationObserver(ft)),typeof ResizeObserver=="function"&&(en=new ResizeObserver(()=>{me(),zt();const F=Ve.value;if(!F)return;const{scrollHeight:K,clientHeight:le}=F,je=K>Qn+1,tt=le{On&&On.disconnect(),en&&en.disconnect(),vn&<(vn),Tt&<(Tt),Jt&<(Jt),J&<(J),ls!==null&&clearTimeout(ls),T!==null&&(clearTimeout(T),T=null),typeof document<"u"&&(document.removeEventListener("visibilitychange",Nn),document.removeEventListener("keydown",de)),window.visualViewport?.removeEventListener("resize",Me)});function xe(){(h.value??M.value)?.focus()}return t({loadComposerForEdit:S,focusComposer:xe}),(F,K)=>(a(),c("section",{class:pe(["con",{mobile:e.mobile}])},[!e.mobile&&!(e.turns.length===0&&!e.sessionLoading)?(a(),G(H$,{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":oe.value,"git-diff-stats":e.gitDiffStats,"is-git-repo":!!e.gitInfo,pr:e.pr,copied:y.value,"search-active":_e.value,onOpenChanges:K[0]||(K[0]=le=>i("openChanges")),onCopyAll:K[1]||(K[1]=le=>m.value?.copyConversation()),onCopyFinalSummary:K[2]||(K[2]=le=>m.value?.copyFinalSummary()),onOpenPr:K[3]||(K[3]=le=>e.pr&&i("openPr",e.pr.url)),onRenameSession:K[4]||(K[4]=(le,je)=>i("renameSession",le,je)),onForkSession:K[5]||(K[5]=le=>i("forkSession",le)),onArchiveSession:K[6]||(K[6]=le=>i("archiveSession",le)),onExportSession:K[7]||(K[7]=le=>i("exportSession",le)),onToggleSearch:te},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"])):A("",!0),_e.value?(a(),G(TI,{key:1,query:Z.value,total:ae.value,"active-index":U.value,"onUpdate:query":K[8]||(K[8]=le=>Z.value=le),onNext:Be,onPrev:Y,onClose:ce},null,8,["query","total","active-index"])):A("",!0),e.conversationToc?(a(),G(DI,{key:2,items:X.value,"active-turn-id":fe.value,mobile:e.mobile,"session-loading":e.sessionLoading,occluded:B.value,onSelect:Xt},null,8,["items","active-turn-id","mobile","session-loading","occluded"])):A("",!0),r("div",UI,[r("div",{ref:hs,class:pe(["panes chat-scroll",{"is-following":ut.value,"history-prepending":zn.value}]),onScrollPassive:Rn,onWheelPassive:Gs,onPointerdownPassive:Bs,onTouchstartPassive:bs,onTouchmovePassive:ws},[r("div",{class:pe(["content-wrap",[e.mobile?"align-mobile":"align-center"]])},[e.turns.length===0&&!e.sessionLoading?(a(),c(he,{key:0},[K[56]||(K[56]=r("div",{class:"empty-spacer"},null,-1)),r("div",VI,[r("span",{class:pe(["empty-hint-title",{"is-starting":e.starting}])},[e.starting?(a(),G(Dt,{key:0,size:"sm"})):A("",!0),r("span",null,d(e.starting?l(s)("conversation.starting"):l(s)("composer.emptyConversationTitle")),1)],2),e.starting?A("",!0):(a(),c("span",jI,d(l(s)("composer.emptyConversation")),1)),v.value&&!e.starting?(a(),c("div",KI,[$(ot,{text:l(s)("conversation.switchWorkspace")},{default:H(()=>[r("button",{type:"button",class:"ws-pick-btn",onClick:K[9]||(K[9]=Re(le=>u.value=!u.value,["stop"]))},[$(se,{name:"folder",size:"sm"}),r("span",GI,d(f.value),1),$(se,{class:pe(["ws-pick-chev",{open:u.value}]),name:"chevron-down",size:"sm"},null,8,["class"])])]),_:1},8,["text"]),u.value?(a(),c("div",{key:0,class:"ws-pick-backdrop",onClick:K[10]||(K[10]=le=>u.value=!1)})):A("",!0),u.value?(a(),c("div",QI,[(a(!0),c(he,null,Pe(w.value,le=>(a(),c("button",{key:le.id,type:"button",class:pe(["ws-pick-item",{on:le.id===e.activeWorkspaceId}]),onClick:Re(je=>g(le.id),["stop"])},[r("span",ZI,d(le.name),1),r("span",XI,d(le.shortPath),1)],10,YI))),128)),x.value>0?(a(),c("button",{key:0,type:"button",class:"ws-pick-item ws-pick-more",onClick:K[11]||(K[11]=Re(le=>p.value=!p.value,["stop"]))},[r("span",null,d(l(s)("conversation.moreWorkspaces",{count:x.value})),1)])):A("",!0),K[55]||(K[55]=r("div",{class:"ws-pick-divider"},null,-1)),r("button",{type:"button",class:"ws-pick-action",onClick:K[12]||(K[12]=Re(le=>{u.value=!1,i("addWorkspace")},["stop"]))},[$(se,{name:"plus",size:"sm"}),r("span",null,d(l(s)("conversation.addWorkspace")),1)])])):A("",!0)])):e.starting?A("",!0):(a(),c("button",{key:2,type:"button",class:"empty-add-workspace",onClick:K[13]||(K[13]=le=>i("addWorkspace"))},[$(se,{name:"folder-plus",size:"sm"}),r("span",null,d(l(s)("conversation.addWorkspace")),1)]))]),$(gd,{ref_key:"emptyComposerRef",ref:M,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:Vt,onSteer:K[14]||(K[14]=le=>i("steer",le)),onCommand:K[15]||(K[15]=(le,je)=>i("command",le,je)),onInterrupt:Rs,onUnqueue:K[16]||(K[16]=le=>i("unqueue",le)),onEditQueued:K[17]||(K[17]=le=>i("editQueued",le)),onSetPermission:K[18]||(K[18]=le=>i("setPermission",le)),onSetThinking:K[19]||(K[19]=le=>i("setThinking",le)),onTogglePlan:K[20]||(K[20]=le=>i("togglePlan")),onToggleSwarm:K[21]||(K[21]=le=>i("toggleSwarm")),onToggleSupermoon:K[22]||(K[22]=le=>i("toggleSupermoon")),onToggleGoal:K[23]||(K[23]=le=>i("toggleGoal")),onDismissPlan:K[24]||(K[24]=le=>i("dismissPlan")),onFocusGoal:D,onCompact:K[25]||(K[25]=le=>i("compact")),onPickModel:K[26]||(K[26]=le=>i("pickModel")),onSelectModel:K[27]||(K[27]=le=>i("selectModel",le))},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"]),K[57]||(K[57]=r("div",{class:"empty-spacer"},null,-1))],64)):(a(),G(cd,{ref_key:"chatPaneRef",ref:m,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":ut.value,"tool-diff-panel":!0,queued:e.queued,"search-query":Z.value,"search-active-index":_e.value?U.value:-1,onOpenFile:K[28]||(K[28]=le=>i("openFile",le)),onOpenMedia:K[29]||(K[29]=le=>i("openMedia",le)),onCopyConversationCopied:O,onOpenThinking:K[30]||(K[30]=le=>i("openThinking",le)),onOpenCompaction:K[31]||(K[31]=le=>i("openCompaction",le)),onOpenAgent:K[32]||(K[32]=le=>i("openAgent",le)),onOpenToolDiff:K[33]||(K[33]=le=>i("openToolDiff",le)),onEditMessage:Tn,onLoadOlderMessages:sn,onUnqueue:K[34]||(K[34]=le=>i("unqueue",le)),onEditQueued:gs,onReorderQueue:Wn,onSteerQueued:bn,onResumeTurn:K[35]||(K[35]=le=>i("resumeTurn",le))},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"]))],2)],34),e.turns.length===0&&!e.sessionLoading?A("",!0):(a(),G(CI,{key:0,ref:nn,style:rt(dn.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":k.value,"plan-tool-call-id":ge.value,"dock-panel":ne.value,"bash-tasks":E.value,"subagent-tasks":R.value,"bash-running":q.value,"subagent-running":V.value,"todo-done-count":P.value,"has-dock-work":L.value,todos:e.todos,"pending-question":De.value,"question-busy-kind":an.value,"pending-approval":Fe.value,"approval-busy":Ze.value,terminal:e.terminal,mobile:e.mobile,onToggleDockPanel:K[36]||(K[36]=le=>Se(le)),onCloseDockPanel:K[37]||(K[37]=le=>Q()),onOpenAgent:K[38]||(K[38]=le=>i("openAgent",le)),onAnswer:ns,onDismiss:K[39]||(K[39]=le=>i("dismiss",le)),onApproval:ss,onCancelTask:K[40]||(K[40]=le=>i("cancelTask",le)),onControlGoal:K[41]||(K[41]=le=>i("controlGoal",le)),onSubmit:Vt,onSteer:K[42]||(K[42]=le=>i("steer",le)),onCommand:K[43]||(K[43]=(le,je)=>i("command",le,je)),onInterrupt:Rs,onSetPermission:K[44]||(K[44]=le=>i("setPermission",le)),onSetThinking:K[45]||(K[45]=le=>i("setThinking",le)),onTogglePlan:K[46]||(K[46]=le=>i("togglePlan")),onToggleSwarm:K[47]||(K[47]=le=>i("toggleSwarm")),onToggleSupermoon:K[48]||(K[48]=le=>i("toggleSupermoon")),onToggleGoal:K[49]||(K[49]=le=>i("toggleGoal")),onDismissPlan:K[50]||(K[50]=le=>i("dismissPlan")),onFocusGoal:D,onCompact:K[51]||(K[51]=le=>i("compact")),onPickModel:K[52]||(K[52]=le=>i("pickModel")),onSelectModel:K[53]||(K[53]=le=>i("selectModel",le))},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"]))]),$(Yo,{name:"pill"},{default:H(()=>[Ft.value?(a(),c("button",{key:0,class:"newmsg-pill",style:rt({bottom:`${Ct.value+12}px`}),"aria-label":l(s)("conversation.jumpToLatestAria"),onClick:K[54]||(K[54]=le=>$t(!0))},[$(se,{class:"pill-chevron",name:"chevron-down",size:"md"}),re(" "+d(l(s)("conversation.newMessages")),1)],12,JI)):A("",!0)]),_:1}),$(Yo,{name:"abort-toast"},{default:H(()=>[Ss.value?(a(),c("div",eA,[r("span",tA,d(l(s)("conversation.manuallyAborted")),1)])):A("",!0)]),_:1})],2))}}),iA=Ee(oA,[["__scopeId","data-v-fad3cc77"]]),aA={class:"ui-panel-header__title"},lA={key:0,class:"ui-panel-header__sub"},rA=Ie({__name:"PanelHeader",props:{title:{},subtitle:{},closable:{type:Boolean,default:!0},closeLabel:{default:"Close"},wrap:{type:Boolean}},emits:["close"],setup(e){return(t,n)=>(a(),c("div",{class:pe(["ui-panel-header",{wrap:e.wrap}])},[r("span",aA,d(e.title),1),$(ot,{text:e.subtitle},{default:H(()=>[e.subtitle?(a(),c("span",lA,d(e.subtitle),1)):A("",!0)]),_:1},8,["text"]),yt(t.$slots,"default",{},void 0,!0),e.closable?(a(),G(nt,{key:0,class:"ui-panel-header__close",size:"sm",label:e.closeLabel,onClick:n[0]||(n[0]=s=>t.$emit("close"))},{default:H(()=>[$(se,{name:"close",size:"sm"})]),_:1},8,["label"])):A("",!0)],2))}}),fo=Ee(rA,[["__scopeId","data-v-c47879ad"]]),uA={key:0,class:"fp-empty fp-error"},cA={key:1,class:"fp-empty"},dA={key:2,class:"fp-loading"},pA={class:"fp-path"},fA={class:"fp-meta"},mA={key:0,class:"fp-lines"},vA={class:"fp-size"},hA={key:3,class:"fp-search"},gA=["placeholder"],yA={key:0,class:"fp-search-count"},kA=["href","aria-label"],bA={key:1,class:"fp-code"},wA={class:"fp-line-table"},SA=["data-line"],CA={class:"fp-gutter"},_A=["innerHTML"],$A={key:1,class:"fp-body fp-code"},MA={class:"fp-line-table"},xA=["data-line"],IA={class:"fp-gutter"},AA=["innerHTML"],TA={key:2,class:"fp-body"},PA=["srcdoc","title"],EA={key:1,class:"fp-code"},LA={class:"fp-line-table"},BA=["data-line"],RA={class:"fp-gutter"},OA=["innerHTML"],DA={key:3,class:"fp-body fp-pdf-wrap"},zA=["src","title"],FA={key:1,class:"fp-binary-card"},NA={class:"fp-binary-label"},qA={key:4,class:"fp-body fp-table-wrap"},WA={class:"fp-table"},HA=["data-line"],UA={key:5,class:"fp-body fp-image-wrap"},VA=["src","alt"],jA={key:1,class:"fp-binary-card"},KA={class:"fp-binary-icon"},GA={class:"fp-binary-label"},QA={key:6,class:"fp-body fp-image-wrap"},YA=["src"],ZA={key:1,class:"fp-binary-card"},XA={class:"fp-binary-icon"},JA={class:"fp-binary-label"},eT={key:7,class:"fp-body fp-code"},tT={class:"fp-line-table"},nT=["data-line"],sT={class:"fp-gutter"},oT=["innerHTML"],iT={key:8,class:"fp-body fp-binary-wrap"},aT={class:"fp-binary-card"},lT={class:"fp-binary-icon"},rT={class:"fp-binary-label"},uT=Ie({__name:"FilePreview",props:{file:{},loading:{type:Boolean},error:{},line:{},downloadUrl:{},closable:{type:Boolean},externalActions:{type:Boolean},openFile:{type:Function}},emits:["close","openExternal","reveal"],setup(e,{emit:t}){const{t:n}=Ue();function s(Y,ve){const B=ve?ve.split("/").filter(Boolean):[];for(const J of Y.split("/"))J===""||J==="."||(J===".."?B.pop():B.push(J));return B.join("/")}const o=mo("resolveImage",async Y=>Y),i=_(()=>{const Y=v.file?.path??"",ve=Y.lastIndexOf("/");return ve>0?Y.slice(0,ve):""});function u(Y){if(/^(https?:|data:|blob:)/i.test(Y)||Y.startsWith("/"))return Y;const ve=i.value;return ve?s(Y,ve):Y}async function p(Y){const ve=u(Y);return o?o(ve):ve}Io("resolveImage",p);function f(Y){let ve=Y.path;if(/^(https?:|mailto:|tel:|data:|blob:|#)/i.test(ve)||ve.startsWith("/"))return Y;for(const J of["#","?"]){const me=ve.indexOf(J);me!==-1&&(ve=ve.slice(0,me))}const B=i.value;return{...Y,path:s(ve,B)}}const v=e,w=t;function x(Y){v.openFile?.(f(Y))}const g=I(null),m=_(()=>{const Y=v.file;if(!Y)return"binary";const ve=Y.mime??"",B=Y.languageId??"",J=Y.path.toLowerCase();return ve==="text/markdown"||B==="markdown"||B==="md"||J.endsWith(".mdx")?"markdown":ve==="application/json"||B==="json"?"json":ve==="text/html"||B==="html"||J.endsWith(".html")||J.endsWith(".htm")?"html":ve==="application/pdf"||J.endsWith(".pdf")?"pdf":ve==="text/csv"||B==="csv"||J.endsWith(".csv")?"csv":ve.startsWith("image/")?"image":ve.startsWith("video/")?"video":Y.isBinary?"binary":ve.startsWith("text/")||B!==""?"text":"binary"});function M(Y){const ve=atob(Y),B=Uint8Array.from(ve,J=>J.charCodeAt(0));return new TextDecoder().decode(B)}const h=_(()=>{const Y=v.file;if(!Y)return"";if(Y.encoding==="base64")try{return M(Y.content)}catch{return Y.content}return Y.content}),y=_(()=>{if(m.value!=="json"||!v.file)return"";try{return JSON.stringify(JSON.parse(h.value),null,2)}catch{return h.value}}),k=_(()=>v.file?(m.value==="json"?y.value:h.value).split(`
+`):[]),T=_(()=>v.file?m.value==="json"?y.value:h.value:""),S=I(""),O=I(0),D=_(()=>{const Y=S.value.trim().toLowerCase();if(!Y)return[];const ve=[];return k.value.forEach((B,J)=>{B.toLowerCase().includes(Y)&&ve.push(J+1)}),ve});Oe(S,()=>{O.value=0});function E(Y,ve=!1){Y&&Ke(()=>{const B=g.value?.querySelector(".fp-body"),J=B?.querySelector(`[data-line="${Y}"]`);if(!B||!J)return;ve&&(B.scrollTop=0);const me=B.getBoundingClientRect(),He=J.getBoundingClientRect(),De=He.top-me.top+B.scrollTop;B.scrollTop=De-B.clientHeight/2+He.height/2})}Oe(()=>[v.file?.path,v.line],()=>E(v.line,!0),{immediate:!0});function R(Y){const ve=D.value;ve.length!==0&&(O.value=(O.value+Y+ve.length)%ve.length,E(ve[O.value]))}function q(Y){const ve=D.value;return{target:v.line===Y,hit:ve.includes(Y),active:ve[O.value]===Y}}function V(Y){return Y<1024?`${Y} B`:Y<1024*1024?`${(Y/1024).toFixed(1)} KB`:`${(Y/(1024*1024)).toFixed(1)} MB`}const b=I(!1),P=I(!1);function L(){v.file&&un(T.value).then(Y=>{Y&&(b.value=!0,setTimeout(()=>{b.value=!1},1400))})}function ne(){v.file&&un(v.file.path).then(Y=>{Y&&(P.value=!0,setTimeout(()=>{P.value=!1},1400))})}const oe=I("preview"),ge=I("preview"),Se=I("fit");function Q(Y){oe.value=Y}function ie(Y){ge.value=Y}function X(Y){Se.value=Y}Oe(m,Y=>{oe.value=Y==="html"?"preview":"source",ge.value="preview",Se.value="fit"});const fe=_(()=>{const Y=v.file;return!Y||m.value!=="image"?null:Y.sourceUrl?Y.sourceUrl:Y.encoding==="base64"?`data:${Y.mime};base64,${Y.content}`:Y.mime==="image/svg+xml"?`data:${Y.mime};charset=utf-8,${encodeURIComponent(Y.content)}`:null}),Ce=_(()=>{const Y=v.file;return!Y||m.value!=="video"?null:Y.sourceUrl?Y.sourceUrl:Y.encoding==="base64"?`data:${Y.mime};base64,${Y.content}`:null}),_e=_(()=>{const Y=v.file;return!Y||m.value!=="pdf"?null:v.downloadUrl?v.downloadUrl:Y.encoding==="base64"?`data:${Y.mime};base64,${Y.content}`:null}),Z=_(()=>v.file?["",' ',` `,h.value].join(""):"");function U(Y){const ve=[];let B="",J=!1;for(let me=0;mek.value.slice(0,200).map(U));function ae(Y){return Y.replaceAll("&","&").replaceAll("<","<").replaceAll(">",">").replaceAll('"',""")}function te(){const Y=v.file;if(!Y)return"";const ve=Y.languageId?.toLowerCase();return ve||(Y.path.split(".").pop()?.toLowerCase()??"")}function ce(Y){const ve=te();let B=ae(Y);return m.value==="json"||ve==="json"||ve==="jsonc"?(B=B.replace(/("[^&]*?")(\s*:)/g,'$1 $2'),B=B.replace(/(:\s*)("[^&]*?")/g,'$1$2 '),B=B.replace(/\b(true|false|null)\b/g,'$1 '),B=B.replace(/(:\s*)(-?\d+(?:\.\d+)?)/g,'$1$2 '),B):m.value==="html"||ve==="html"||ve==="xml"||ve==="svg"?(B=B.replace(/\s([A-Za-z_:][-A-Za-z0-9_:.]*)(=)/g,' $1 $2'),B=B.replace(/(".*?")/g,'$1 '),B=B.replace(/(<\/?)([A-Za-z][\w:-]*)/g,'$1$2 '),B):(B=B.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 '),B=B.replace(/(".*?"|'.*?')/g,'$1 '),B=B.replace(/(\/\/.*)$/g,''),B)}function Be(Y,ve=55){return!Y||Y.length<=ve?Y:"…"+Y.slice(Y.length-ve+1)}return(Y,ve)=>(a(),c("div",{ref_key:"rootRef",ref:g,class:"file-preview"},[e.error&&!e.loading?(a(),c("div",uA,[r("span",null,d(e.error),1),e.closable?(a(),G(qe,{key:0,variant:"secondary",size:"sm",onClick:ve[0]||(ve[0]=B=>w("close"))},{default:H(()=>[re(d(l(n)("filePreview.close")),1)]),_:1})):A("",!0)])):!e.file&&!e.loading?(a(),c("div",cA,d(l(n)("filePreview.empty")),1)):e.loading?(a(),c("div",dA,[ve[7]||(ve[7]=r("span",{class:"spinner"},null,-1)),r("span",null,d(l(n)("filePreview.loading")),1)])):e.file?(a(),c(he,{key:3},[$(fo,{wrap:"",title:l(n)("common.preview"),closable:e.closable,"close-label":l(n)("filePreview.close"),onClose:ve[6]||(ve[6]=B=>w("close"))},{default:H(()=>[$(ot,{text:e.file.path},{default:H(()=>[r("span",pA,d(Be(e.file.path)),1)]),_:1},8,["text"]),r("span",fA,[e.file.lineCount?(a(),c("span",mA,d(l(n)("filePreview.lineCount",{count:e.file.lineCount})),1)):A("",!0),r("span",vA,d(V(e.file.size)),1)]),m.value==="html"?(a(),G(cn,{key:0,"model-value":oe.value,size:"sm",options:[{value:"preview",label:l(n)("filePreview.preview")},{value:"source",label:l(n)("filePreview.source")}],"onUpdate:modelValue":Q},null,8,["model-value","options"])):A("",!0),m.value==="markdown"?(a(),G(cn,{key:1,"model-value":ge.value,size:"sm",options:[{value:"preview",label:l(n)("filePreview.preview")},{value:"source",label:l(n)("filePreview.source")}],"onUpdate:modelValue":ie},null,8,["model-value","options"])):A("",!0),m.value==="image"?(a(),G(cn,{key:2,"model-value":Se.value,size:"sm",options:[{value:"fit",label:l(n)("filePreview.fit")},{value:"actual",label:l(n)("filePreview.actual")}],"onUpdate:modelValue":X},null,8,["model-value","options"])):A("",!0),m.value==="text"||m.value==="json"||m.value==="html"||m.value==="csv"?(a(),c("div",hA,[gt(r("input",{"onUpdate:modelValue":ve[1]||(ve[1]=B=>S.value=B),class:"fp-search-input",type:"search",placeholder:l(n)("filePreview.search")},null,8,gA),[[qn,S.value]]),S.value.trim()?(a(),c("span",yA,d(D.value.length),1)):A("",!0),$(nt,{size:"sm",disabled:D.value.length===0,label:l(n)("filePreview.prevMatch"),onClick:ve[2]||(ve[2]=B=>R(-1))},{default:H(()=>[$(se,{name:"arrow-up",size:"md"})]),_:1},8,["disabled","label"]),$(nt,{size:"sm",disabled:D.value.length===0,label:l(n)("filePreview.nextMatch"),onClick:ve[3]||(ve[3]=B=>R(1))},{default:H(()=>[$(se,{name:"arrow-down",size:"md"})]),_:1},8,["disabled","label"])])):A("",!0),$(nt,{size:"sm",class:pe({copied:P.value}),label:P.value?l(n)("filePreview.copied"):l(n)("filePreview.copyPath"),onClick:ne},{default:H(()=>[P.value?(a(),G(se,{key:1,class:"fp-check",name:"check",size:"md"})):(a(),G(se,{key:0,name:"link",size:"md"}))]),_:1},8,["class","label"]),e.externalActions?(a(),G(nt,{key:4,size:"sm",label:l(n)("filePreview.openInEditor"),onClick:ve[4]||(ve[4]=B=>w("openExternal"))},{default:H(()=>[$(se,{name:"external-link",size:"md"})]),_:1},8,["label"])):A("",!0),e.externalActions?(a(),G(nt,{key:5,size:"sm",label:l(n)("filePreview.reveal"),onClick:ve[5]||(ve[5]=B=>w("reveal"))},{default:H(()=>[$(se,{name:"folder",size:"md"})]),_:1},8,["label"])):A("",!0),e.downloadUrl?(a(),c("a",{key:6,class:"fp-download",href:e.downloadUrl,target:"_blank",rel:"noreferrer",download:"","aria-label":l(n)("filePreview.download")},[$(se,{name:"download",size:"md"})],8,kA)):A("",!0),!e.file.isBinary&&m.value!=="image"?(a(),G(nt,{key:7,size:"sm",class:pe({copied:b.value}),label:b.value?l(n)("filePreview.copied"):l(n)("filePreview.copy"),onClick:L},{default:H(()=>[b.value?(a(),G(se,{key:1,class:"fp-check",name:"check",size:"md"})):(a(),G(se,{key:0,name:"copy",size:"md"}))]),_:1},8,["class","label"])):A("",!0)]),_:1},8,["title","closable","close-label"]),m.value==="markdown"?(a(),c("div",{key:0,class:pe(["fp-body",{"fp-markdown":ge.value==="preview"}])},[ge.value==="preview"?(a(),G(ci,{key:0,text:h.value,"open-file":v.openFile?x:void 0},null,8,["text","open-file"])):(a(),c("div",bA,[r("div",wA,[(a(!0),c(he,null,Pe(k.value,(B,J)=>(a(),c("div",{key:J,class:pe(["fp-line-row",q(J+1)]),"data-line":J+1},[r("span",CA,d(J+1),1),r("span",{class:"fp-line-text",innerHTML:ce(B)},null,8,_A)],10,SA))),128))])]))],2)):m.value==="json"?(a(),c("div",$A,[r("div",MA,[(a(!0),c(he,null,Pe(k.value,(B,J)=>(a(),c("div",{key:J,class:pe(["fp-line-row",q(J+1)]),"data-line":J+1},[r("span",IA,d(J+1),1),r("span",{class:"fp-line-text",innerHTML:ce(B)},null,8,AA)],10,xA))),128))])])):m.value==="html"?(a(),c("div",TA,[oe.value==="preview"?(a(),c("iframe",{key:0,class:"fp-html-frame",sandbox:"",srcdoc:Z.value,title:e.file.path},null,8,PA)):(a(),c("div",EA,[r("div",LA,[(a(!0),c(he,null,Pe(k.value,(B,J)=>(a(),c("div",{key:J,class:pe(["fp-line-row",q(J+1)]),"data-line":J+1},[r("span",RA,d(J+1),1),r("span",{class:"fp-line-text",innerHTML:ce(B)},null,8,OA)],10,BA))),128))])]))])):m.value==="pdf"?(a(),c("div",DA,[_e.value?(a(),c("iframe",{key:0,class:"fp-pdf-frame",src:_e.value,title:e.file.path},null,8,zA)):(a(),c("div",FA,[r("span",NA,d(l(n)("filePreview.pdfNoPreview")),1)]))])):m.value==="csv"?(a(),c("div",qA,[r("table",WA,[r("tbody",null,[(a(!0),c(he,null,Pe(ye.value,(B,J)=>(a(),c("tr",{key:J,class:pe(q(J+1)),"data-line":J+1},[r("th",null,d(J+1),1),(a(!0),c(he,null,Pe(B,(me,He)=>(a(),c("td",{key:He},d(me),1))),128))],10,HA))),128))])])])):m.value==="image"?(a(),c("div",UA,[fe.value?(a(),c("img",{key:0,src:fe.value,alt:e.file.path,class:pe(["fp-image",{actual:Se.value==="actual"}])},null,10,VA)):(a(),c("div",jA,[r("span",KA,[$(se,{name:"image-off",size:"lg"})]),r("span",GA,d(l(n)("filePreview.imageNoPreview",{mime:e.file.mime,size:V(e.file.size)})),1)]))])):m.value==="video"?(a(),c("div",QA,[Ce.value?(a(),c("video",{key:0,src:Ce.value,class:"fp-image",controls:"",playsinline:"",preload:"metadata"},null,8,YA)):(a(),c("div",ZA,[r("span",XA,[$(se,{name:"image-off",size:"lg"})]),r("span",JA,d(l(n)("filePreview.videoNoPreview",{mime:e.file.mime,size:V(e.file.size)})),1)]))])):m.value==="text"?(a(),c("div",eT,[r("div",tT,[(a(!0),c(he,null,Pe(k.value,(B,J)=>(a(),c("div",{key:J,class:pe(["fp-line-row",q(J+1)]),"data-line":J+1},[r("span",sT,d(J+1),1),r("span",{class:"fp-line-text",innerHTML:ce(B)},null,8,oT)],10,nT))),128))])])):(a(),c("div",iT,[r("div",aT,[r("span",lT,[$(se,{name:"file-off",size:"lg"})]),r("span",rT,d(l(n)("filePreview.binaryNoPreview",{mime:e.file.mime||l(n)("filePreview.unknownType"),size:V(e.file.size)})),1)])]))],64)):A("",!0)],512))}}),cT=Ee(uT,[["__scopeId","data-v-ded222d2"]]),dT={class:"tp"},pT=Ie({__name:"ThinkingPanel",props:{text:{},subtitle:{}},emits:["close"],setup(e,{emit:t}){const n=e,s=t,{t:o}=Ue(),i=I(null);return Oe(()=>n.text,()=>{const u=i.value;!u||!(u.scrollHeight-u.scrollTop-u.clientHeight<24)||Ke(()=>{i.value&&(i.value.scrollTop=i.value.scrollHeight)})},{immediate:!0}),(u,p)=>(a(),c("div",dT,[$(fo,{title:l(o)("common.preview"),subtitle:e.subtitle??l(o)("thinking.panelTitle"),"close-label":l(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)]))}}),iu=Ee(pT,[["__scopeId","data-v-98c343f3"]]),fT={class:"ap"},mT={key:0,class:"ap-type"},vT={key:1,class:"ap-reason"},hT={key:2,class:"ap-field"},gT={class:"ap-field-label"},yT={class:"ap-field-body"},kT={key:3,class:"ap-field"},bT={class:"ap-field-label"},wT={class:"ap-field-body ap-live"},ST={key:4,class:"ap-field"},CT={class:"ap-field-label"},_T={class:"ap-field-body ap-progress"},$T={key:0,class:"ap-call"},MT={key:1,class:"ap-output"},xT=["onClick"],IT={key:5,class:"ap-field"},AT={class:"ap-field-label"},TT={class:"ap-field-body"},PT=8,au=5,lu=2,ET=Ie({__name:"AgentDetailPanel",props:{member:{}},emits:["close"],setup(e,{emit:t}){const n=e,s=t,{t:o}=Ue(),i=_(()=>(n.member.outputLines??[]).map(h=>h.trimEnd()).filter(h=>h.length>0)),u=_(()=>(n.member.text??"").trimEnd());function p(h){const y=[];let k=null,T=0;for(const S of h)S.startsWith("Calling ")?(k={key:`g${T++}`,call:S,output:[]},y.push(k)):k?k.output.push(S):(k={key:`g${T++}`,call:"",output:[S]},y.push(k));return y}const f=_(()=>p(i.value)),v=I(new Set);function w(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-au-lu}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 M=I(null);return Oe(()=>i.value.length+u.value.length,()=>{const h=M.value;!h||!(h.scrollHeight-h.scrollTop-h.clientHeight<24)||Ke(()=>{M.value&&(M.value.scrollTop=M.value.scrollHeight)})},{immediate:!0}),(h,y)=>(a(),c("div",fT,[$(fo,{title:l(o)("common.preview"),subtitle:e.member.name,"close-label":l(o)("thinking.close"),onClose:y[0]||(y[0]=k=>s("close"))},{default:H(()=>[$(Ot,{variant:"neutral",size:"sm",class:"ap-phase"},{default:H(()=>[re(d(m(e.member.phase)),1)]),_:1})]),_:1},8,["title","subtitle","close-label"]),r("div",{ref_key:"bodyEl",ref:M,class:"ap-body"},[e.member.subagentType?(a(),c("div",mT,d(e.member.subagentType),1)):A("",!0),e.member.suspendedReason?(a(),c("div",vT,d(e.member.suspendedReason),1)):A("",!0),e.member.prompt?(a(),c("div",hT,[r("span",gT,d(l(o)("tasks.fieldTask")),1),r("div",yT,d(e.member.prompt),1)])):A("",!0),u.value?(a(),c("div",kT,[r("span",bT,d(l(o)("tasks.fieldOutput")),1),r("div",wT,d(u.value),1)])):A("",!0),f.value.length>0?(a(),c("div",ST,[r("span",CT,d(l(o)("tasks.fieldProgress")),1),r("div",_T,[(a(!0),c(he,null,Pe(f.value,k=>(a(),c("div",{key:k.key,class:"ap-group"},[k.call?(a(),c("div",$T,[y[1]||(y[1]=r("span",{class:"ap-glyph","aria-hidden":"true"},"▶",-1)),re(" "+d(k.call),1)])):A("",!0),k.output.length>0?(a(),c("div",MT,[k.output.length<=PT||w(k.key)?(a(!0),c(he,{key:0},Pe(k.output,(T,S)=>(a(),c("div",{key:S,class:"ap-out-line"},d(T),1))),128)):(a(),c(he,{key:1},[(a(!0),c(he,null,Pe(k.output.slice(0,au),(T,S)=>(a(),c("div",{key:S,class:"ap-out-line"},d(T),1))),128)),r("button",{type:"button",class:"ap-fold",onClick:T=>x(k.key)}," … ("+d(g(k))+" more) ",9,xT),(a(!0),c(he,null,Pe(k.output.slice(-lu),(T,S)=>(a(),c("div",{key:"t"+S,class:"ap-out-line"},d(T),1))),128))],64))])):A("",!0)]))),128))])])):A("",!0),e.member.summary?(a(),c("div",IT,[r("span",AT,d(l(o)("tasks.fieldResult")),1),r("div",TT,d(e.member.summary),1)])):A("",!0)],512)]))}}),LT=Ee(ET,[["__scopeId","data-v-59df0789"]]),yd=["off","protanopia-deuteranopia","tritanopia"],BT=["pierre-light","pierre-light-protanopia-deuteranopia","pierre-light-tritanopia","pierre-dark","pierre-dark-protanopia-deuteranopia","pierre-dark-tritanopia"];function RT(e){return typeof e=="string"&&yd.includes(e)}function ru(e){return RT(e)?e:"off"}function OT(e,t){const n=e?"pierre-dark":"pierre-light";return t==="off"?n:`${n}-${t}`}function DT(e,t,n=BT){const s=OT(e,t);return n.includes(s)?s:null}const zT={"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"}},FT=["data-theme"],NT={key:0,class:"hunk-text"},qT={class:"dl-gutter old"},WT={class:"dl-gutter new"},HT={class:"dl-sign"},UT={class:"dl-text"},VT=Ie({__name:"DiffLines",props:{lines:{},theme:{default:null}},setup(e){const t=e,n=_(()=>{const u=t.theme?zT[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)=>(a(),c("div",{class:"diff-lines","data-theme":n.value?t.theme:null,style:rt(n.value)},[(a(!0),c(he,null,Pe(e.lines,(f,v)=>(a(),c("div",{key:v,class:pe(["dl",i(f)])},[f.type==="hunk"?(a(),c("span",NT,d(f.text),1)):(a(),c(he,{key:1},[r("span",qT,d(s(f)),1),r("span",WT,d(o(f)),1),r("span",HT,d(f.type==="add"?"+":f.type==="del"?"-":" "),1),r("span",UT,d(f.text),1)],64))],2))),128))],12,FT))}}),kd=Ee(VT,[["__scopeId","data-v-26e24204"]]),jT={class:"tdp"},KT={class:"tdp-body"},GT={key:1,class:"tdp-output"},QT={key:2,class:"tdp-empty"},YT=Ie({__name:"ToolDiffPanel",props:{target:{}},emits:["close"],setup(e,{emit:t}){const n=t,{t:s}=Ue();return(o,i)=>(a(),c("div",jT,[$(fo,{title:e.target.title,subtitle:e.target.path,"close-label":l(s)("thinking.close"),onClose:i[0]||(i[0]=u=>n("close"))},null,8,["title","subtitle","close-label"]),r("div",KT,[e.target.lines&&e.target.lines.length>0?(a(),G(kd,{key:0,lines:e.target.lines},null,8,["lines"])):e.target.output&&e.target.output.length>0?(a(),c("div",GT,[(a(!0),c(he,null,Pe(e.target.output,(u,p)=>(a(),c("div",{key:p},d(u),1))),128))])):(a(),c("div",QT,d(l(s)("diff.noDiff")),1))])]))}}),ZT=Ee(YT,[["__scopeId","data-v-76f2fbca"]]),XT={class:"sc"},JT={key:0,class:"sc-empty"},eP={key:2,class:"sc-loading","aria-hidden":"true"},tP={class:"sc-composer"},nP=["placeholder"],sP=["aria-label","disabled"],oP=Ie({__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}=Ue(),i=_(()=>n.turns.find(T=>T.role==="user")?.text?.trim()??""),u=_(()=>n.title?.trim()||o("sideChat.title")),p=_(()=>n.subtitle?.trim()?n.subtitle.trim():i.value||o("sideChat.subtitle")),f=I(""),v=I(null),w=I(null);function x(){const k=f.value.trim();k&&(s("send",k),f.value="",Ke(()=>{v.value&&(v.value.style.height="auto"),g()}))}function g(){const k=w.value;k&&(k.scrollTop=k.scrollHeight)}const m=_(()=>{const k=n.turns;if(k.length===0)return"0";const T=k.at(-1),S=T.thinking?.length??0,O=T.tools?.reduce((D,E)=>D+E.name.length+(E.arg?.length??0)+(E.output?.join("").length??0),0)??0;return`${k.length}:${T.text.length}:${S}:${O}`});Oe(m,async()=>{!n.running&&!n.sending||(await Ke(),g())});const M=_(()=>n.sending?n.turns.at(-1)?.role==="user":!1);function h(k){k.key==="Enter"&&!k.shiftKey&&!k.isComposing&&(k.preventDefault(),x())}function y(){const k=v.value;k&&(k.style.height="auto",k.style.height=`${Math.min(k.scrollHeight,160)}px`)}return(k,T)=>(a(),c("div",XT,[$(fo,{title:u.value,subtitle:p.value,"close-label":l(o)("thinking.close"),onClose:T[0]||(T[0]=S=>s("close"))},null,8,["title","subtitle","close-label"]),r("div",{ref_key:"bodyRef",ref:w,class:"sc-body"},[e.turns.length===0?(a(),c("div",JT,d(l(o)("sideChat.empty")),1)):(a(),G(cd,{key:1,turns:e.turns,approvals:[],"turn-active":e.running,working:e.sending||e.running},null,8,["turns","turn-active","working"])),M.value?(a(),c("div",eP,[$(id,{label:l(o)("conversation.waitingForResponse")},null,8,["label"])])):A("",!0)],512),r("div",tP,[gt(r("textarea",{ref_key:"inputRef",ref:v,"onUpdate:modelValue":T[1]||(T[1]=S=>f.value=S),class:"sc-input",rows:"1",placeholder:l(o)("sideChat.placeholder"),onInput:y,onKeydown:h},null,40,nP),[[qn,f.value]]),$(ot,{text:l(o)("sideChat.send")},{default:H(()=>[r("button",{type:"button",class:"sc-send","aria-label":l(o)("sideChat.send"),disabled:!f.value.trim(),onClick:x},[$(se,{name:"arrow-right",size:"sm"})],8,sP)]),_:1},8,["text"])])]))}}),iP=Ee(oP,[["__scopeId","data-v-867ab366"]]),aP={class:"changes-pane"},lP={class:"dv-path"},rP={class:"diff-head"},uP={class:"back-label"},cP={class:"dv-cb-label"},dP={key:0,class:"empty-state"},pP={key:1,class:"dv-lines-wrap"},fP={key:2,class:"empty-state"},mP={class:"dv-change-count"},vP={class:"ch-head"},hP={class:"br-label"},gP={class:"br-name"},yP={key:0,class:"sync-info"},kP={key:0,class:"ahead"},bP={key:0,class:"behind"},wP={key:1,class:"empty-head"},SP={key:0,class:"ch-list"},CP=["onClick"],_P={class:"fpath"},$P={key:1,class:"ch-list ch-tree"},MP={class:"tree-list"},xP=["onClick"],IP={class:"tree-name"},AP=["onClick"],TP={class:"tree-name"},PP={key:2,class:"empty-state"},EP={key:3,class:"empty-state"},LP=Ie({__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}=Ue(),s=e,o=t;function i(Q){const ie=Q.toLowerCase();return ie==="modified"?"modified":ie==="added"?"added":ie==="deleted"?"deleted":ie==="renamed"?"renamed":ie==="untracked"?"untracked":ie==="conflicted"?"conflicted":ie==="ignored"?"ignored":ie==="clean"?"clean":"unknown"}const u={modified:"M",added:"A",deleted:"D",renamed:"R",untracked:"U",conflicted:"C",ignored:"I",clean:"·",unknown:"?"};function p(Q){return u[i(Q)]??"?"}function f(Q,ie=60){return Q.length<=ie?Q:"…"+Q.slice(Q.length-ie+1)}const v=_(()=>s.gitInfo!==null),w=_(()=>s.changes.length>0),x=_(()=>(s.selectedDiffPath??null)!==null),g=_(()=>s.mode==="detail"||s.mode==="full"&&x.value),m=_(()=>s.fileDiff??[]),M=_(()=>s.fileDiffLoading===!0),h=ed(),y=I(ru(It(We.diffColorblind))),k=_(()=>y.value==="off"?null:DT(h.value,y.value)),T={off:"colorblindOff","protanopia-deuteranopia":"colorblindRedGreen",tritanopia:"colorblindBlueYellow"},S=_(()=>yd.map(Q=>({value:Q,label:n(`diff.${T[Q]}`)})));function O(Q){const ie=ru(Q);y.value=ie,Bt(We.diffColorblind,ie)}function D(Q){o("open",Q)}function E(){o("back")}function R(){o("close")}const q=I("list");function V(Q){q.value=Q}function b(Q){const ie={children:[]},X=[...Q].sort((fe,Ce)=>fe.path.localeCompare(Ce.path));for(const fe of X){const Ce=fe.path.split("/");let _e=ie;for(let Z=0;Zce.name===U&&ce.kind===(ye?"file":"folder"));te||(te={name:U,path:ae,kind:ye?"file":"folder",status:ye?fe.status:void 0,children:[]},_e.children.push(te)),_e=te}}return ie.children}const P=_(()=>b(s.changes)),L=I(new Set);function ne(Q){return!L.value.has(Q)}const oe=_(()=>{const Q=[];function ie(X,fe){for(const Ce of X)Q.push({node:Ce,depth:fe}),Ce.kind==="folder"&&ne(Ce.path)&&ie(Ce.children,fe+1)}return ie(P.value,0),Q});function ge(Q){const ie=new Set(L.value);ie.has(Q.path)?ie.delete(Q.path):ie.add(Q.path),L.value=ie}function Se(Q){return`${16+Q*16}px`}return(Q,ie)=>(a(),c("div",aP,[g.value?(a(),c(he,{key:0},[$(fo,{title:l(n)("diff.title"),closable:e.closable,"close-label":l(n)("diff.close"),onClose:R},{default:H(()=>[$(ot,{text:e.selectedDiffPath??""},{default:H(()=>[r("span",lP,d(f(e.selectedDiffPath??"",50)),1)]),_:1},8,["text"])]),_:1},8,["title","closable","close-label"]),r("div",rP,[e.hideBack?A("",!0):(a(),G(qe,{key:0,variant:"ghost",size:"sm",onClick:E},{default:H(()=>[ie[0]||(ie[0]=r("span",{"aria-hidden":"true"},"←",-1)),r("span",uP,d(l(n)("diff.back")),1)]),_:1})),m.value.length>0?(a(),c(he,{key:1},[r("span",cP,d(l(n)("diff.colorblind")),1),$(cn,{class:"dv-cb-toggle","model-value":y.value,size:"sm",options:S.value,"onUpdate:modelValue":O},null,8,["model-value","options"])],64)):A("",!0)]),M.value?(a(),c("div",dP,d(l(n)("diff.loading")),1)):m.value.length>0?(a(),c("div",pP,[$(kd,{lines:m.value,theme:k.value},null,8,["lines","theme"])])):(a(),c("div",fP,d(l(n)("diff.noDiff")),1))],64)):(a(),c(he,{key:1},[$(fo,{title:l(n)("diff.title"),closable:e.closable,"close-label":l(n)("diff.close"),onClose:R},{default:H(()=>[r("span",mP,d(l(n)("diff.changeCount",{count:e.changes.length})),1),$(cn,{"model-value":q.value,size:"sm",options:[{value:"list",label:l(n)("diff.list")},{value:"tree",label:l(n)("diff.tree")}],"onUpdate:modelValue":V},null,8,["model-value","options"])]),_:1},8,["title","closable","close-label"]),r("div",vP,[v.value?(a(),c(he,{key:0},[r("span",hP,d(l(n)("diff.branch")),1),r("span",gP,d(e.gitInfo.branch),1),e.gitInfo.ahead>0||e.gitInfo.behind>0?(a(),c("span",yP,[$(ot,{text:l(n)("diff.aheadTitle")},{default:H(()=>[e.gitInfo.ahead>0?(a(),c("span",kP,"↑"+d(e.gitInfo.ahead),1)):A("",!0)]),_:1},8,["text"]),$(ot,{text:l(n)("diff.behindTitle")},{default:H(()=>[e.gitInfo.behind>0?(a(),c("span",bP,"↓"+d(e.gitInfo.behind),1)):A("",!0)]),_:1},8,["text"])])):A("",!0)],64)):(a(),c("span",wP,d(l(n)("diff.empty")),1))]),w.value&&q.value==="list"?(a(),c("div",SP,[(a(!0),c(he,null,Pe(e.changes,X=>(a(),G(ot,{key:X.path,text:X.path},{default:H(()=>[r("button",{type:"button",class:"ch-row",onClick:fe=>D(X.path)},[r("span",{class:pe(["badge",i(X.status)])},d(p(X.status)),3),r("span",_P,d(f(X.path)),1)],8,CP)]),_:2},1032,["text"]))),128))])):w.value&&q.value==="tree"?(a(),c("div",$P,[r("ul",MP,[(a(!0),c(he,null,Pe(oe.value,({node:X,depth:fe})=>(a(),c("li",{key:X.path,class:"tree-node"},[X.kind==="folder"?(a(),c("button",{key:0,type:"button",class:"tree-row tree-folder",style:rt({paddingLeft:Se(fe)}),onClick:Ce=>ge(X)},[$(se,{class:"tree-icon",name:"folder-solid",size:"sm"}),r("span",IP,d(X.name),1)],12,xP)):(a(),G(ot,{key:1,text:X.path},{default:H(()=>[r("button",{type:"button",class:"tree-row tree-file",style:rt({paddingLeft:Se(fe)}),onClick:Ce=>D(X.path)},[r("span",{class:pe(["badge",i(X.status)])},d(p(X.status)),3),r("span",TP,d(X.name),1)],12,AP)]),_:2},1032,["text"]))]))),128))])])):v.value?(a(),c("div",PP,d(l(n)("diff.clean")),1)):(a(),c("div",EP,d(l(n)("diff.empty")),1))],64))]))}}),BP=Ee(LP,[["__scopeId","data-v-6591e558"]]);function Ol(e,t){let n=null;ht(()=>{n=typeof document<"u"&&document.activeElement instanceof HTMLElement?document.activeElement:null,Ke(()=>{const s=t?.value??e.value;try{s?.focus()}catch{}})}),Ln(()=>{const s=n;if(n=null,!(!s||typeof document>"u"||!document.contains(s)))try{s.focus()}catch{}})}const RP={class:"search-wrap"},OP={key:0,class:"tab-strip"},DP={key:1,class:"state-row"},zP={key:2,class:"state-row unavail"},FP={key:3,class:"model-list"},NP=["aria-selected","onClick","onMouseenter"],qP={class:"check"},WP={class:"model-main"},HP={class:"model-name"},UP={class:"model-id"},VP={key:0,class:"caps"},jP={class:"model-provider"},KP={class:"model-ctx"},GP={key:0,class:"empty"},QP={class:"footer-hint"},YP=Ie({__name:"ModelPicker",props:{models:{},current:{},starredIds:{},loading:{type:Boolean},unavailable:{type:Boolean}},emits:["select","toggle-star","close"],setup(e,{emit:t}){const{t:n}=Ue(),s=e,o=t,i=_(()=>new Set(s.starredIds??[]));function u(S){return i.value.has(S)}const p=I(""),f=I(null),v=I(null),w=I("all");Ol(v,f);const x=_(()=>{const S=new Set,O=[{id:"all",label:n("model.allTab")}];for(const D of s.models)S.has(D.provider)||(S.add(D.provider),O.push({id:D.provider,label:D.provider}));return O}),g=_(()=>{const S=p.value.toLowerCase().trim(),O=s.models.filter(D=>{if(w.value!=="all"&&D.provider!==w.value)return!1;const E=(D.displayName??D.model).toLowerCase().includes(S),R=D.provider.toLowerCase().includes(S),q=D.id.toLowerCase().includes(S);return!S||E||R||q});return w.value!=="all"?O:O.sort((D,E)=>{const R=u(D.id)?1:0;return(u(E.id)?1:0)-R})}),m=_(()=>g.value),M=I(0);Oe([p,w],()=>{M.value=0}),Oe(x,S=>{S.some(O=>O.id===w.value)||(w.value="all")}),Oe(m,S=>{M.value=Math.min(M.value,Math.max(S.length-1,0))});function h(S){if(S.key==="Escape"){o("close");return}if(S.key==="ArrowDown")S.preventDefault(),M.value=Math.min(M.value+1,m.value.length-1);else if(S.key==="ArrowUp")S.preventDefault(),M.value=Math.max(M.value-1,0);else if(S.key==="Enter"){const O=m.value[M.value];O&&o("select",O.id)}}ht(()=>{document.addEventListener("keydown",h)}),kt(()=>{document.removeEventListener("keydown",h)});function y(S){o("select",S)}function k(S){return m.value.indexOf(S)}function T(S){w.value=S}return(S,O)=>(a(),G(vs,{open:!0,"close-on-esc":!1,title:l(n)("model.title"),size:"xl",height:"fixed",onClose:O[1]||(O[1]=D=>o("close"))},{default:H(()=>[r("div",{ref_key:"dialogRef",ref:v,class:"mp"},[r("div",RP,[$(Kn,{ref_key:"searchRef",ref:f,modelValue:p.value,"onUpdate:modelValue":O[0]||(O[0]=D=>p.value=D),placeholder:l(n)("model.searchPlaceholder"),autocomplete:"off",spellcheck:"false",autofocus:""},null,8,["modelValue","placeholder"])]),x.value.length>1?(a(),c("div",OP,[(a(!0),c(he,null,Pe(x.value,D=>(a(),G(qe,{key:D.id,variant:D.id===w.value?"secondary":"ghost",size:"sm",onClick:E=>T(D.id)},{default:H(()=>[re(d(D.label),1)]),_:2},1032,["variant","onClick"]))),128))])):A("",!0),e.loading?(a(),c("div",DP,[$(Dt,{size:"sm"}),r("span",null,d(l(n)("model.loading")),1)])):e.unavailable?(a(),c("div",zP,[$(se,{name:"alert-triangle",size:"lg"}),r("span",null,d(l(n)("model.unavailable")),1)])):(a(),c("div",FP,[(a(!0),c(he,null,Pe(m.value,D=>(a(),c("div",{key:D.id,class:pe(["model-row",{"is-current":D.id===e.current,"is-selected":k(D)===M.value}]),role:"option","aria-selected":D.id===e.current,onClick:E=>y(D.id),onMouseenter:E=>M.value=k(D)},[r("span",qP,[D.id===e.current?(a(),G(se,{key:0,name:"check",size:"sm"})):A("",!0)]),r("span",WP,[r("span",HP,d(D.displayName??D.model),1),r("span",UP,d(D.id),1),D.capabilities&&D.capabilities.length>0?(a(),c("span",VP,[(a(!0),c(he,null,Pe(D.capabilities,E=>(a(),G(Ot,{key:E,variant:"info",size:"sm"},{default:H(()=>[re(d(E),1)]),_:2},1024))),128))])):A("",!0)]),r("span",jP,d(D.provider),1),r("span",KP,d(l(n)("model.contextSuffix",{size:l(ms)(D.maxContextSize)})),1),$(nt,{size:"sm",label:u(D.id)?l(n)("model.unstarTitle"):l(n)("model.starTitle"),onClick:Re(E=>o("toggle-star",D.id),["stop"])},{default:H(()=>[u(D.id)?(a(),G(se,{key:0,name:"star",size:"md"})):(a(),G(se,{key:1,name:"star-outline",size:"md"}))]),_:2},1032,["label","onClick"])],42,NP))),128)),m.value.length===0&&!e.loading&&!e.unavailable?(a(),c("div",GP,d(s.models.length===0?l(n)("model.emptyNoModels"):l(n)("model.emptyNoMatch")),1)):A("",!0)])),r("div",QP,d(l(n)("model.footerHint")),1)],512)]),_:1},8,["title"]))}}),ZP=Ee(YP,[["__scopeId","data-v-56cefe51"]]),XP={key:0,class:"ui-field__label"},JP={key:1,class:"ui-field__error"},eE={key:2,class:"ui-field__hint"},tE=Ie({__name:"Field",props:{label:{},hint:{},error:{}},setup(e){return(t,n)=>(a(),c("div",{class:pe(["ui-field",{"has-error":!!e.error}])},[e.label?(a(),c("label",XP,d(e.label),1)):A("",!0),yt(t.$slots,"default",{},void 0,!0),e.error?(a(),c("span",JP,d(e.error),1)):e.hint?(a(),c("span",eE,d(e.hint),1)):A("",!0)],2))}}),$s=Ee(tE,[["__scopeId","data-v-49bce958"]]),nE=["value","disabled"],sE=Ie({__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)=>(a(),c("select",{class:pe(["ui-select",[`ui-select--${e.size}`,{"has-error":e.error}]]),value:e.modelValue,disabled:e.disabled,onChange:s},[yt(o.$slots,"default",{},void 0,!0)],42,nE))}}),Xa=Ee(sE,[["__scopeId","data-v-92a040fd"]]),oE={class:"prov-list"},iE={key:0,class:"state-row"},aE={key:1,class:"state-row unavail"},lE={key:2,class:"empty"},rE={class:"prov-info"},uE={class:"prov-type"},cE={key:0,class:"prov-url"},dE={class:"prov-meta"},pE={key:0},fE={class:"prov-actions"},mE={key:0,class:"add-section"},vE={key:0,class:"add-btns"},hE={key:1,class:"add-form"},gE=["value"],yE={key:0,class:"add-error"},kE={class:"form-btns"},bE={key:2,class:"import-form"},wE={class:"import-head"},SE={class:"import-title"},CE={key:0,class:"state-row"},_E={key:1,class:"import-error"},$E={key:2,class:"empty"},ME={key:3,class:"catalog-list"},xE=["aria-disabled","onClick"],IE={class:"catalog-check"},AE={class:"catalog-main"},TE={class:"catalog-name"},PE={class:"catalog-id"},EE={key:0,class:"catalog-wire"},LE={class:"catalog-meta"},BE={key:2,class:"catalog-count"},RE={key:4,class:"catalog-selected"},OE={class:"form-btns"},DE={key:3,class:"import-form"},zE={class:"import-head"},FE={class:"import-title"},NE={key:0,class:"add-error"},qE={class:"form-btns"},WE={class:"footer-hint"},HE=Ie({__name:"ProviderManager",props:{providers:{},loading:{type:Boolean},unavailable:{type:Boolean}},emits:["add","refresh","delete","openLogin","import-catalog","import-registry","close"],setup(e,{emit:t}){const{t:n}=Ue(),s=I(null);Ol(s);const o=t;function i(_e){o("delete",_e)}const u=I(!1),p=Bn({type:"moonshot",apiKey:"",baseUrl:"",defaultModel:""}),f=I(""),v=["moonshot","anthropic","openai","custom"];function w(){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=I(!1),M=I(""),h=I([]),y=I(!1),k=I(""),T=I(""),S=I("");let O;const D=_(()=>tk(h.value,M.value).map(ur)),E=_(()=>h.value.find(_e=>_e.id===T.value)??null),R=_(()=>E.value===null?null:ur(E.value));async function q(_e){y.value=!0,k.value="";try{h.value=await Te().browseCatalogProviders(_e)}catch{k.value=n("providers.import.catalogLoadError")}finally{y.value=!1}}Oe(M,_e=>{T.value="",S.value="",O!==void 0&&clearTimeout(O),O=setTimeout(()=>void q(_e),250)});function V(){m.value=!0,M.value="",T.value="",S.value="",k.value="",h.value=[],q("")}function b(){m.value=!1,O!==void 0&&(clearTimeout(O),O=void 0)}function P(_e){T.value=_e,S.value=""}function L(){const _e=E.value;_e!==null&&(o("import-catalog",{catalogId:_e.id,baseUrl:_e.needsBaseUrl&&S.value.trim()||void 0}),b())}const ne=I(!1),oe=Bn({url:"",apiKey:""}),ge=I("");function Se(){oe.url="",oe.apiKey="",ge.value="",ne.value=!0}function Q(){ne.value=!1}function ie(){const _e=oe.url.trim();if(_e===""){ge.value=n("providers.import.registryUrlRequired");return}ge.value="",o("import-registry",{url:_e,apiKey:oe.apiKey.trim()||void 0}),Q()}function X(_e){if(_e.key==="Escape"){if(m.value){b();return}if(ne.value){Q();return}if(u.value){x();return}o("close")}}ht(()=>document.addEventListener("keydown",X)),kt(()=>{document.removeEventListener("keydown",X),O!==void 0&&clearTimeout(O)});function fe(_e){return _e==="connected"?"var(--color-success)":_e==="error"?"var(--color-danger)":"var(--color-text-faint)"}function Ce(_e){return n(_e==="connected"?"providers.status.connected":_e==="error"?"providers.status.error":"providers.status.unconfigured")}return(_e,Z)=>(a(),G(vs,{open:!0,"close-on-esc":!1,title:l(n)("providers.title"),size:"xl",height:"fixed",onClose:Z[10]||(Z[10]=U=>o("close"))},{default:H(()=>[r("div",{ref_key:"dialogRef",ref:s,class:"pm"},[r("div",oE,[e.loading?(a(),c("div",iE,[$(Dt,{size:"sm"}),r("span",null,d(l(n)("providers.loading")),1)])):e.unavailable?(a(),c("div",aE,[$(se,{name:"alert-triangle",size:"md"}),r("span",null,d(l(n)("providers.unavailable")),1)])):e.providers.length===0?(a(),c("div",lE,d(l(n)("providers.empty")),1)):(a(!0),c(he,{key:3},Pe(e.providers,U=>(a(),c("div",{key:U.id,class:"prov-row"},[$(ot,{text:Ce(U.status)},{default:H(()=>[r("span",{class:pe(["status-dot",{"status-dot--empty":U.status!=="connected"&&U.status!=="error"}]),style:rt(U.status==="connected"||U.status==="error"?{background:fe(U.status)}:void 0)},null,6)]),_:2},1032,["text"]),r("div",rE,[r("span",uE,d(U.type),1),U.baseUrl?(a(),c("span",cE,d(U.baseUrl),1)):A("",!0),r("span",dE,[$(Ot,{variant:U.hasApiKey?"success":"neutral",size:"sm"},{default:H(()=>[re(d(U.hasApiKey?l(n)("providers.keySet"):l(n)("providers.keyNotSet")),1)]),_:2},1032,["variant"]),U.models&&U.models.length>0?(a(),c("span",pE," · "+d(l(n)("providers.modelCount",{count:U.models.length})),1)):A("",!0)])]),r("div",fE,[$(ot,{text:l(n)("providers.refreshTitle",{type:U.type})},{default:H(()=>[$(qe,{variant:"secondary",size:"sm",onClick:ye=>o("refresh",U.id)},{default:H(()=>[re(d(l(n)("providers.refresh")),1)]),_:1},8,["onClick"])]),_:2},1032,["text"]),$(ot,{text:l(n)("providers.deleteTitle",{type:U.type})},{default:H(()=>[$(qe,{variant:"danger-soft",size:"sm",onClick:ye=>i(U.id)},{default:H(()=>[re(d(l(n)("providers.delete")),1)]),_:1},8,["onClick"])]),_:2},1032,["text"])])]))),128))]),e.unavailable?A("",!0):(a(),c("div",mE,[!u.value&&!m.value&&!ne.value?(a(),c("div",vE,[$(qe,{variant:"secondary",size:"sm",onClick:Z[0]||(Z[0]=U=>o("openLogin","moonshot"))},{default:H(()=>[$(se,{name:"user",size:"sm"}),re(" "+d(l(n)("providers.loginKimi")),1)]),_:1}),$(qe,{variant:"secondary",size:"sm",onClick:Z[1]||(Z[1]=U=>o("openLogin","anthropic"))},{default:H(()=>[$(se,{name:"user",size:"sm"}),re(" "+d(l(n)("providers.loginAnthropic")),1)]),_:1}),$(qe,{variant:"primary",size:"sm",onClick:w},{default:H(()=>[$(se,{name:"plus",size:"sm"}),re(" "+d(l(n)("providers.enterApiKey")),1)]),_:1}),$(qe,{variant:"secondary",size:"sm",onClick:V},{default:H(()=>[$(se,{name:"globe",size:"sm"}),re(" "+d(l(n)("providers.import.fromCatalog")),1)]),_:1}),$(qe,{variant:"secondary",size:"sm",onClick:Se},{default:H(()=>[$(se,{name:"download",size:"sm"}),re(" "+d(l(n)("providers.import.fromRegistry")),1)]),_:1})])):u.value?(a(),c("div",hE,[$($s,{label:l(n)("providers.fieldType")},{default:H(()=>[$(Xa,{modelValue:p.type,"onUpdate:modelValue":Z[2]||(Z[2]=U=>p.type=U)},{default:H(()=>[(a(),c(he,null,Pe(v,U=>r("option",{key:U,value:U},d(U),9,gE)),64))]),_:1},8,["modelValue"])]),_:1},8,["label"]),$($s,{label:l(n)("providers.fieldApiKey")},{default:H(()=>[$(Kn,{modelValue:p.apiKey,"onUpdate:modelValue":Z[3]||(Z[3]=U=>p.apiKey=U),type:"password",placeholder:"sk-…",autocomplete:"off",spellcheck:"false"},null,8,["modelValue"])]),_:1},8,["label"]),$($s,{label:l(n)("providers.fieldBaseUrl")},{default:H(()=>[$(Kn,{modelValue:p.baseUrl,"onUpdate:modelValue":Z[4]||(Z[4]=U=>p.baseUrl=U),placeholder:l(n)("providers.baseUrlPlaceholder"),autocomplete:"off",spellcheck:"false"},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),$($s,{label:l(n)("providers.fieldDefaultModel")},{default:H(()=>[$(Kn,{modelValue:p.defaultModel,"onUpdate:modelValue":Z[5]||(Z[5]=U=>p.defaultModel=U),placeholder:l(n)("providers.optional"),autocomplete:"off",spellcheck:"false"},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),f.value?(a(),c("div",yE,d(f.value),1)):A("",!0),r("div",kE,[$(qe,{variant:"primary",size:"sm",onClick:g},{default:H(()=>[re(d(l(n)("providers.add")),1)]),_:1}),$(qe,{variant:"secondary",size:"sm",onClick:x},{default:H(()=>[re(d(l(n)("common.cancel")),1)]),_:1})])])):m.value?(a(),c("div",bE,[r("div",wE,[$(qe,{variant:"ghost",size:"sm",onClick:b},{default:H(()=>[re(d(l(n)("providers.import.back")),1)]),_:1}),r("span",SE,d(l(n)("providers.import.catalogTitle")),1)]),$($s,{label:l(n)("providers.import.catalogSearchLabel")},{default:H(()=>[$(Kn,{modelValue:M.value,"onUpdate:modelValue":Z[6]||(Z[6]=U=>M.value=U),placeholder:l(n)("providers.import.catalogSearchPlaceholder"),autocomplete:"off",spellcheck:"false"},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),y.value?(a(),c("div",CE,[$(Dt,{size:"sm"}),r("span",null,d(l(n)("providers.import.catalogLoading")),1)])):k.value?(a(),c("div",_E,d(k.value),1)):D.value.length===0?(a(),c("div",$E,d(l(n)("providers.import.catalogEmpty")),1)):(a(),c("div",ME,[(a(!0),c(he,null,Pe(D.value,U=>(a(),c("div",{key:U.id,class:pe(["catalog-row",{"is-selected":U.id===T.value,"is-rejected":U.rejected}]),"aria-disabled":U.rejected?"true":void 0,onClick:ye=>U.rejected?void 0:P(U.id)},[r("span",IE,[U.id===T.value?(a(),G(se,{key:0,name:"check",size:"sm"})):A("",!0)]),r("span",AE,[r("span",TE,d(U.name),1),r("span",PE,d(U.id),1),U.wireType?(a(),c("span",EE,d(U.wireType),1)):A("",!0)]),r("span",LE,[U.rejected?(a(),G(Ot,{key:0,variant:"danger",size:"sm"},{default:H(()=>[re(d(l(n)("providers.import.catalogRejected",{reason:U.rejectReason??""})),1)]),_:2},1024)):U.needsBaseUrl?(a(),G(Ot,{key:1,variant:"warning",size:"sm"},{default:H(()=>[re(d(l(n)("providers.import.catalogNeedsBaseUrl")),1)]),_:1})):(a(),c("span",BE,d(l(n)("providers.modelCount",{count:U.modelCount})),1))])],10,xE))),128))])),R.value?(a(),c("div",RE,[R.value.needsBaseUrl?(a(),G($s,{key:0,label:l(n)("providers.fieldBaseUrl"),hint:l(n)("providers.import.catalogBaseUrlHint")},{default:H(()=>[$(Kn,{modelValue:S.value,"onUpdate:modelValue":Z[7]||(Z[7]=U=>S.value=U),placeholder:l(n)("providers.baseUrlPlaceholder"),autocomplete:"off",spellcheck:"false"},null,8,["modelValue","placeholder"])]),_:1},8,["label","hint"])):A("",!0)])):A("",!0),r("div",OE,[$(qe,{variant:"primary",size:"sm",disabled:E.value===null||R.value?.needsBaseUrl===!0&&S.value.trim()==="",onClick:L},{default:H(()=>[re(d(l(n)("providers.import.importAction")),1)]),_:1},8,["disabled"]),$(qe,{variant:"secondary",size:"sm",onClick:b},{default:H(()=>[re(d(l(n)("common.cancel")),1)]),_:1})])])):ne.value?(a(),c("div",DE,[r("div",zE,[$(qe,{variant:"ghost",size:"sm",onClick:Q},{default:H(()=>[re(d(l(n)("providers.import.back")),1)]),_:1}),r("span",FE,d(l(n)("providers.import.registryTitle")),1)]),$($s,{label:l(n)("providers.import.registryUrlLabel")},{default:H(()=>[$(Kn,{modelValue:oe.url,"onUpdate:modelValue":Z[8]||(Z[8]=U=>oe.url=U),placeholder:l(n)("providers.import.registryUrlPlaceholder"),autocomplete:"off",spellcheck:"false"},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),$($s,{label:l(n)("providers.import.registryApiKeyLabel")},{default:H(()=>[$(Kn,{modelValue:oe.apiKey,"onUpdate:modelValue":Z[9]||(Z[9]=U=>oe.apiKey=U),type:"password",autocomplete:"off",spellcheck:"false"},null,8,["modelValue"])]),_:1},8,["label"]),ge.value?(a(),c("div",NE,d(ge.value),1)):A("",!0),r("div",qE,[$(qe,{variant:"primary",size:"sm",onClick:ie},{default:H(()=>[re(d(l(n)("providers.import.importAction")),1)]),_:1}),$(qe,{variant:"secondary",size:"sm",onClick:Q},{default:H(()=>[re(d(l(n)("common.cancel")),1)]),_:1})])])):A("",!0)])),r("div",WE,d(l(n)("providers.escClose")),1)],512)]),_:1},8,["title"]))}}),UE=Ee(HE,[["__scopeId","data-v-b1859ac1"]]),VE={key:0,width:"36",height:"36",viewBox:"0 0 36 36",fill:"none",stroke:"var(--color-success)","stroke-width":"2","aria-hidden":"true"},jE={key:1,width:"28",height:"28",viewBox:"0 0 28 28",fill:"none",stroke:"var(--color-danger)","stroke-width":"1.5","aria-hidden":"true"},KE={key:2,width:"28",height:"28",viewBox:"0 0 28 28",fill:"none",stroke:"var(--color-warning)","stroke-width":"1.5","aria-hidden":"true"},xa=Ie({__name:"AuthStateIcon",props:{kind:{}},setup(e){return(t,n)=>e.kind==="success"?(a(),c("svg",VE,[...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"?(a(),c("svg",jE,[...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)])])):(a(),c("svg",KE,[...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)])]))}}),GE={key:0,class:"center-body"},QE={class:"center-text"},YE={key:1,class:"nb"},ZE={class:"nb-lead"},XE=["href"],JE={class:"nb-or"},eL={class:"nb-fallback"},tL={class:"nb-fb-text"},nL=["href"],sL={class:"nb-code-row"},oL={class:"nb-code"},iL={class:"nb-status"},aL={class:"nb-status-text"},lL={class:"nb-countdown"},rL={key:2,class:"center-body"},uL={class:"center-text success-text"},cL={class:"center-hint"},dL={class:"center-body"},pL={class:"center-text err-text"},fL={class:"center-hint"},mL={class:"actions"},vL={class:"center-body"},hL={class:"center-text warn-text"},gL={class:"center-hint"},yL={class:"actions"},kL=3,bL=Ie({__name:"LoginDialog",props:{onStartOAuthLogin:{type:Function},onPollOAuthLogin:{type:Function},onCancelOAuthLogin:{type:Function}},emits:["success","close"],setup(e,{emit:t}){const{t:n}=Ue(),s=I(!0),o=t,i=e,u=I("starting"),p=I(!1),f=I(null),v=I(0),w=I(!1);let x=null,g=null,m=0;ht(async()=>{await M()}),kt(()=>{k()});async function M(){k(),f.value=null,p.value=!1,m=0,u.value="starting";const E=await i.onStartOAuthLogin();if(!E){u.value="error";return}if(E.status==="authenticated"){k(),u.value="success",setTimeout(()=>{o("success"),o("close")},800);return}f.value={flowId:E.flowId,verificationUri:E.verificationUri,verificationUriComplete:E.verificationUriComplete,userCode:E.userCode,expiresIn:E.expiresIn,interval:E.interval},v.value=E.expiresIn,u.value="device-code",h(),y(E.interval)}function h(){g&&clearInterval(g),g=setInterval(()=>{v.value>0?v.value--:(g&&clearInterval(g),g=null)},1e3)}function y(E){x&&clearTimeout(x),x=setTimeout(async()=>{const R=await i.onPollOAuthLogin();if(R===null){if(m+=1,m>=kL){k(),p.value=!0,u.value="error";return}y(E);return}m=0,R.status==="authenticated"?(k(),u.value="success",setTimeout(()=>{o("success"),o("close")},1200)):R.status==="expired"||R.status==="cancelled"?(k(),u.value="expired"):y(E)},E*1e3)}function k(){x&&(clearTimeout(x),x=null),g&&(clearInterval(g),g=null)}async function T(){await M()}async function S(){!f.value||!await un(f.value.userCode)||(w.value=!0,setTimeout(()=>{w.value=!1},2e3))}async function O(){k(),u.value==="device-code"&&i.onCancelOAuthLogin(),o("close")}function D(E){const R=Math.floor(E/60),q=E%60;return`${R}:${String(q).padStart(2,"0")}`}return(E,R)=>(a(),G(vs,{open:s.value,"onUpdate:open":R[0]||(R[0]=q=>s.value=q),title:l(n)("login.title"),"close-on-overlay":!1,onClose:O},{default:H(()=>[u.value==="starting"?(a(),c("div",GE,[$(Dt,{size:"md"}),r("span",QE,d(l(n)("login.starting")),1)])):u.value==="device-code"&&f.value?(a(),c("div",YE,[r("div",ZE,d(l(n)("login.lead")),1),r("a",{class:"nb-primary",href:f.value.verificationUriComplete,target:"_blank",rel:"noopener noreferrer"},[re(d(l(n)("login.authorizeInBrowser"))+" ",1),$(se,{name:"external-link",size:"sm"})],8,XE),r("div",JE,d(l(n)("login.orDivider")),1),r("div",eL,[r("div",tL,[re(d(l(n)("login.fallbackPrefix")),1),r("a",{class:"nb-fb-link",href:f.value.verificationUri,target:"_blank",rel:"noopener noreferrer"},d(f.value.verificationUri),9,nL),re(d(l(n)("login.fallbackSuffix")),1)]),r("div",sL,[r("span",oL,d(f.value.userCode),1),$(qe,{class:pe(["nb-copy",{"is-copied":w.value}]),variant:"secondary",size:"sm",onClick:S},{default:H(()=>[w.value?(a(),c(he,{key:0},[$(se,{name:"check",size:"sm"}),re(" "+d(l(n)("login.copied")),1)],64)):(a(),c(he,{key:1},[$(se,{name:"copy",size:"sm"}),re(" "+d(l(n)("login.copy")),1)],64))]),_:1},8,["class"])])]),r("div",iL,[$(Dt,{size:"sm",label:l(n)("login.waitingAuth")},null,8,["label"]),r("span",aL,d(l(n)("login.waitingAutoClose")),1),r("span",lL,d(D(v.value)),1)])])):u.value==="success"?(a(),c("div",rL,[$(xa,{kind:"success"}),r("span",uL,d(l(n)("login.success")),1),r("span",cL,d(l(n)("login.successHint")),1)])):u.value==="expired"?(a(),c(he,{key:3},[r("div",dL,[$(xa,{kind:"expired"}),r("span",pL,d(l(n)("login.expiredTitle")),1),r("span",fL,d(l(n)("login.expiredHint")),1)]),r("div",mL,[$(qe,{variant:"primary",onClick:T},{default:H(()=>[re(d(l(n)("login.retry")),1)]),_:1}),$(qe,{variant:"secondary",onClick:O},{default:H(()=>[re(d(l(n)("login.closeBtn")),1)]),_:1})])],64)):u.value==="error"?(a(),c(he,{key:4},[r("div",vL,[$(xa,{kind:"error"}),r("span",hL,d(p.value?l(n)("login.pollErrorTitle"):l(n)("login.errorTitle")),1),r("span",gL,d(p.value?l(n)("login.pollErrorHint"):l(n)("login.errorHint")),1)]),r("div",yL,[$(qe,{variant:"primary",onClick:T},{default:H(()=>[re(d(l(n)("login.retry")),1)]),_:1}),$(qe,{variant:"secondary",onClick:O},{default:H(()=>[re(d(l(n)("login.closeBtn")),1)]),_:1})])],64)):A("",!0)]),_:1},8,["open","title"]))}}),wL=Ee(bL,[["__scopeId","data-v-8308a28f"]]),uu=1,SL=6,CL=.25;function bd(e){return Number.isFinite(e)?Math.min(SL,Math.max(uu,e)):uu}function _L(e){return Math.round(e*100)/100}function wd(e,t){return bd(_L(e+t*CL))}function $L(e){return wd(e,1)}function ML(e){return wd(e,-1)}function cu(e,t,n){const s=Math.max(0,(t-n)/2);return Math.min(s,Math.max(-s,e))}const xL=["aria-label"],IL={key:0,class:"ml-loading"},AL=["src","alt"],TL={key:0,class:"ml-zoom-hint"},PL=["src"],EL={key:3,class:"ml-error"},LL={key:4,class:"ml-toolbar"},BL=["aria-label"],RL={class:"ml-zoom-label"},OL=["aria-label"],DL=["disabled","aria-label"],zL=Ie({__name:"MediaLightbox",props:{state:{}},emits:["close"],setup(e,{emit:t}){const n=e,s=t,{t:o}=Ue(),i=I(1),u=I(0),p=I(0);Oe(()=>n.state?.media,()=>{i.value=1,u.value=0,p.value=0});const f=_(()=>n.state?.media.kind==="image"),v=_(()=>{const R=i.value;return R<=1?"":`scale(${R}) translate(${u.value}px, ${p.value}px)`});function w(R){if(!f.value)return;R.preventDefault();const q=bd(i.value+(R.deltaY<0?.25:-.25));i.value=q,g()}const x=I(null);function g(){const R=x.value;R&&(u.value=cu(u.value,R.clientWidth*i.value,R.clientWidth),p.value=cu(p.value,R.clientHeight*i.value,R.clientHeight))}function m(){i.value=$L(i.value),g()}function M(){i.value=ML(i.value),g()}function h(){i.value=1,u.value=0,p.value=0}const y=I(!1);let k=0,T=0;function S(R){!f.value||i.value<=1||(y.value=!0,k=R.clientX,T=R.clientY,R.target.setPointerCapture?.(R.pointerId))}function O(R){y.value&&(u.value+=R.clientX-k,p.value+=R.clientY-T,k=R.clientX,T=R.clientY,g())}function D(R){y.value=!1,R.target.releasePointerCapture?.(R.pointerId)}function E(R){R.key==="Escape"?s("close"):R.key==="+"||R.key==="="?m():R.key==="-"?M():R.key==="0"&&h()}return(R,q)=>(a(),G(lo,{to:"body"},[e.state?(a(),c("div",{key:0,class:"media-lightbox",role:"dialog","aria-modal":"true",tabindex:"-1",onKeydown:E},[r("div",{class:"ml-backdrop",onClick:q[0]||(q[0]=V=>s("close"))}),r("button",{type:"button",class:"ml-close","aria-label":l(o)("common.close"),onClick:q[1]||(q[1]=V=>s("close"))},[$(se,{name:"close"})],8,xL),e.state.loading?(a(),c("div",IL,[$(Dt)])):e.state.sourceUrl&&f.value?(a(),c("div",{key:1,ref_key:"viewportRef",ref:x,class:"ml-viewport",onWheel:w,onPointerdown:S,onPointermove:O,onPointerup:D,onPointercancel:D},[r("img",{class:"ml-image",src:e.state.sourceUrl,alt:e.state.media.path??"",style:rt({transform:v.value}),draggable:"false"},null,12,AL),i.value>1?(a(),c("div",TL,d(l(o)("media.dragHint")),1)):A("",!0)],544)):e.state.sourceUrl&&!f.value?(a(),c("video",{key:2,class:"ml-video",src:e.state.sourceUrl,controls:"",autoplay:"",playsinline:""},null,8,PL)):(a(),c("div",EL,[r("p",null,d(e.state.error??l(o)("media.noPreview")),1)])),e.state.sourceUrl&&f.value?(a(),c("div",LL,[r("button",{type:"button",class:"ml-btn","aria-label":l(o)("media.zoomOut"),onClick:M},[$(se,{name:"minus"})],8,BL),r("span",RL,d(Math.round(i.value*100))+"%",1),r("button",{type:"button",class:"ml-btn","aria-label":l(o)("media.zoomIn"),onClick:m},[$(se,{name:"plus"})],8,OL),r("button",{type:"button",class:"ml-btn",disabled:i.value<=1,"aria-label":l(o)("media.resetZoom"),onClick:h},[$(se,{name:"expand"})],8,DL)])):A("",!0)],32)):A("",!0)]))}}),FL=Ee(zL,[["__scopeId","data-v-0ff39638"]]);function Ja(e){return/^(?:https?:|blob:|data:)/i.test(e)}function NL({client:e,detailTarget:t}){const{t:n}=Ue(),s=I(null),o=I(null),i=I(!1),u=I(null),p=I(null);let f=0,v=null;function w(){v!==null&&(URL.revokeObjectURL(v),v=null)}const x=_(()=>{const R=p.value;return R?e.getFileDownloadUrl(R):null}),g=_(()=>s.value!==null);function m(R){return R.length>1?R.replace(/\/+$/,""):R}function M(R){const q=[];for(const V of R.split(/[\\/]+/))if(!(!V||V===".")){if(V===".."){q.pop();continue}q.push(V)}return q.join("/")}function h(R){const q=R.trim();if(!q)return{error:n("filePreview.errors.emptyPath")};if(/^[a-z][a-z0-9+.-]*:\/\//i.test(q))return{error:n("filePreview.errors.unsupportedPath")};if(q.startsWith("~"))return{error:n("filePreview.errors.outsideWorkspace")};const V=m(e.status.value.cwd);if(q.startsWith("/")){if(!V||q!==V&&!q.startsWith(`${V}/`))return{error:n("filePreview.errors.outsideWorkspace")};const P=q===V?"":q.slice(V.length+1);if(P.split(/[\\/]+/).includes(".."))return{error:n("filePreview.errors.outsideWorkspace")};const L=M(P);return L?{path:L}:{error:n("filePreview.errors.isDirectory")}}if(q.split(/[\\/]+/).includes(".."))return{error:n("filePreview.errors.outsideWorkspace")};const b=M(q);return b?{path:b}:{error:n("filePreview.errors.emptyPath")}}async function y(R){const q=s.value;if(t.value==="file"&&q&&q.path===R.path&&q.line===R.line){O();return}const V=++f;w(),t.value="file",o.value=null,u.value=null,i.value=!0,s.value=R,p.value=null;const b=h(R.path);if("error"in b){i.value=!1,u.value=b.error;return}p.value=b.path;try{const P=await e.readFileContent(b.path);if(V!==f)return;P?o.value={...P,path:P.path||b.path}:u.value=n("filePreview.errors.loadFailed")}catch(P){if(V!==f)return;u.value=P instanceof Error?P.message:n("filePreview.errors.loadFailed")}finally{V===f&&(i.value=!1)}}function k(R){return/^data:([^;,]+)/i.exec(R)?.[1]}function T(R){if(R.kind!=="image"&&R.kind!=="video")return;const q=++f;w(),t.value="file",s.value=null,p.value=null,u.value=null;const V=R.kind==="video",b={path:R.path??n(V?"filePreview.videoFallback":"filePreview.imageFallback"),content:"",encoding:"utf-8",mime:R.mimeType??k(R.url)??(V?"video/*":"image/*"),isBinary:!0,size:R.bytes??0};R.fileId?(i.value=!0,o.value=b,Te().getFileBlob(R.fileId).then(P=>{if(q===f){if(t.value!=="file"||!o.value){i.value=!1;return}v=URL.createObjectURL(P),o.value={...o.value,sourceUrl:v},i.value=!1}}).catch(()=>{q===f&&(o.value&&(o.value={...o.value,sourceUrl:R.url}),i.value=!1)})):(i.value=!1,o.value=Ja(R.url)?{...b,sourceUrl:R.url}:b)}function S(){f+=1,s.value=null,p.value=null,o.value=null,u.value=null,i.value=!1,w()}function O(){S(),t.value==="file"&&(t.value=null)}Oe(t,(R,q)=>{q==="file"&&R!=="file"&&S()});function D(){const R=o.value?.path??s.value?.path;R&&e.openWorkspaceFile(R,s.value?.line)}function E(){const R=o.value?.path??s.value?.path;R&&e.revealWorkspaceFile(R)}return{previewTarget:s,previewFile:o,previewLoading:i,previewError:u,previewDownloadUrl:x,previewExternalActions:g,openFilePreview:y,openMediaPreview:T,closeFilePreview:O,openPreviewInEditor:D,revealPreviewFile:E}}function qL(e=Te()){const{t}=Ue(),n=I(null),s=_(()=>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:Ja(p.url)?p.url:null,loading:!1,error:null};return}e.getFileBlob(p.fileId).then(w=>{if(f!==o||!n.value)return;const x=URL.createObjectURL(w);n.value={media:p,sourceUrl:x,loading:!1,error:null}}).catch(()=>{f!==o||!n.value||(n.value={media:p,sourceUrl:Ja(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 WL(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 HL(e,t){const n=new Set(e.map(o=>o.id)),s=t.filter(o=>!n.has(o.id));return[...e,...s]}const Sd=Ie({__name:"LanguageSwitcher",setup(e){const{locale:t}=Ue(),n=Tu.map(o=>({value:o.code,label:o.label}));function s(o){t.value!==o&&Pu(o)}return(o,i)=>(a(),G(cn,{"model-value":l(t),options:l(n),"onUpdate:modelValue":s},null,8,["model-value","options"]))}}),UL=["href","target","rel"],VL=Ie({__name:"Link",props:{href:{},variant:{default:"default"},external:{type:Boolean}},setup(e){return(t,n)=>e.href?(a(),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},[yt(t.$slots,"default",{},void 0,!0)],10,UL)):(a(),c("span",{key:1,class:pe(["ui-link",`ui-link--${e.variant}`])},[yt(t.$slots,"default",{},void 0,!0)],2))}}),du=Ee(VL,[["__scopeId","data-v-645e7d4e"]]),jL=["aria-checked","aria-label","disabled"],KL=Ie({__name:"Switch",props:{modelValue:{type:Boolean},disabled:{type:Boolean},label:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=t;return(s,o)=>(a(),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,jL))}}),ds=Ee(KL,[["__scopeId","data-v-e5aecc8e"]]),GL={class:"ps"},QL={class:"ext-hint-title"},YL={key:1,class:"action-error"},ZL={class:"plug-sec"},XL={class:"plug-title"},JL={key:0,class:"plug-state"},eB={key:1,class:"plug-state is-error"},tB={key:3,class:"plug-list"},nB={class:"plug-info"},sB={class:"plug-name"},oB={class:"plug-display"},iB={key:0,class:"plug-version"},aB={key:0,class:"plug-counts"},lB={class:"plug-actions"},rB={class:"plug-sec"},uB={class:"plug-sec-head"},cB={class:"plug-title"},dB={key:0,class:"plug-state"},pB={key:1,class:"plug-state is-error"},fB={key:3,class:"plug-list"},mB={class:"plug-info"},vB={class:"plug-name"},hB={class:"plug-display"},gB={key:0,class:"plug-desc"},yB={key:1,class:"plug-home"},kB={class:"plug-actions"},bB={class:"plug-sec"},wB={class:"plug-title"},SB={key:0,class:"plug-state"},CB={key:1,class:"plug-state is-error"},_B={key:3,class:"plug-list"},$B={class:"plug-info"},MB={class:"plug-name"},xB={class:"plug-display"},IB={key:0,class:"plug-desc"},AB={key:1,class:"cap-progress"},TB={class:"cap-progress-text"},PB={class:"cap-progress-track","aria-hidden":"true"},EB={key:2,class:"cap-error"},LB={key:3,class:"cap-steps"},BB={key:2,class:"cap-step-missing","aria-hidden":"true"},RB={class:"cap-step-label"},OB={class:"plug-actions"},Ia="kimi-webbridge",DB=Ie({__name:"PluginSettingsPanel",props:{active:{type:Boolean}},setup(e){const{t}=Ue(),{confirm:n}=go(),s=e,o=I([]),i=I(!1),u=I(""),p=I([]),f=I("idle"),v=I([]),w=I(!1),x=I(""),g=I(!1),m=I(""),M=Bn({}),h=Bn({});async function y(){if(!i.value){i.value=!0,u.value="";try{o.value=await Te().listPlugins()}catch(Y){u.value=O(Y)}finally{i.value=!1}}}async function k(){if(f.value!=="loading"){f.value="loading";try{p.value=await Te().listPluginMarketplace(),f.value="ok"}catch{p.value.length===0?f.value="error":f.value="ok"}}}async function T(){if(!w.value){w.value=!0,x.value="";try{v.value=await Te().listCapabilities()}catch(Y){x.value=O(Y)}finally{w.value=!1}}}function S(){y(),k(),T()}function O(Y){return Mn(Y)&&Y.message?Y.message:t("settings.plugins.loadFailed")}Oe(()=>s.active,Y=>{Y&&!g.value&&(g.value=!0,S())},{immediate:!0});let D;ht(()=>{D=Bk(Y=>{if(Y.type==="pluginsChanged"){S();return}_e(Y.capabilityId,Y.install),Y.install.running||(T(),y())})}),Ln(()=>{D?.()});function E(Y){return t(`settings.plugins.source.${Y}`)}function R(Y){const ve=(J,me)=>t(`settings.plugins.counts.${J}`,{n:me}),B=[];return Y.skillCount>0&&B.push(ve("skill",Y.skillCount)),Y.mcpServerCount>0&&B.push(ve("mcp",Y.mcpServerCount)),Y.enabledMcpServerCount>0&&B.push(ve("mcpEnabled",Y.enabledMcpServerCount)),Y.hookCount>0&&B.push(ve("hook",Y.hookCount)),Y.commandCount>0&&B.push(ve("command",Y.commandCount)),B.join(" · ")}async function q(Y,ve){if(!M[Y.id]){M[Y.id]=!0,m.value="";try{await Te().setPluginEnabled(Y.id,ve),await y()}catch(B){m.value=O(B)}finally{delete M[Y.id]}}}async function V(Y){m.value="";try{await n({title:t("settings.plugins.remove"),message:t("settings.plugins.confirmRemove"),variant:"danger",action:()=>Te().removePlugin(Y.id)})&&await y()}catch(ve){m.value=O(ve)}}function b(Y){return Y==="official"?t("settings.plugins.official"):Y==="third-party"?t("settings.plugins.thirdParty"):null}async function P(Y){if(!M[Y.id]){M[Y.id]=!0,m.value="";try{const ve=Y.capabilityId;ve!==void 0?(await Te().installCapability(ve,B=>{_e(ve,B.install)}),await T()):await Te().installPlugin(Y.source),await y(),await k()}catch(ve){m.value=O(ve)}finally{delete M[Y.id]}}}const L=I(!1),ne=I(""),oe=I(!1),ge=I("");function Se(){ne.value="",ge.value="",L.value=!0}function Q(){oe.value||(L.value=!1)}async function ie(){const Y=ne.value.trim();if(!ty(Y)){ge.value=t("settings.plugins.customInstallHint");return}ge.value="",oe.value=!0;try{await Te().installPlugin(Y),L.value=!1,await y()}catch(ve){ge.value=O(ve)}finally{oe.value=!1}}function X(Y){return t(`settings.plugins.capabilityStates.${Y}`)}function fe(Y){return Y==="ready"?"success":Y==="partial"?"warning":"neutral"}function Ce(Y){return ny(Y.install,Y.state)}function _e(Y,ve){v.value=v.value.map(B=>B.id===Y?{...B,install:Nu(B.install,ve)}:B)}async function Z(Y){if(!h[Y.id]){h[Y.id]=!0,m.value="";try{await Te().installCapability(Y.id,ve=>{_e(Y.id,ve.install)}),await T(),await y()}catch(ve){Mn(ve)&&ve.code===Ak?m.value=t("settings.plugins.capabilityStates.unsupported"):m.value=O(ve),await T()}finally{delete h[Y.id]}}}function U(Y){const ve=Y.install.percent;if(!(typeof ve!="number"||Number.isNaN(ve)))return Math.min(100,Math.max(0,Math.round(ve)))}const ye=I(It(We.pluginExtensionHintDismissed)==="1"),ae=_(()=>v.value.find(Y=>Y.id===Ia)),te=_(()=>p.value.find(ve=>ve.capabilityId===Ia||ve.id===Ia)?.homepage),ce=_(()=>{if(ye.value)return!1;const Y=ae.value;return Y!==void 0&&Y.supported&&Y.state!=="ready"});function Be(){ye.value=!0,Bt(We.pluginExtensionHintDismissed,"1")}return(Y,ve)=>(a(),c("div",GL,[ce.value?(a(),G(ad,{key:0,variant:"info",class:"ext-hint"},{default:H(()=>[r("span",QL,d(l(t)("settings.plugins.extensionHintTitle")),1),te.value?(a(),G(du,{key:0,href:te.value,external:"",class:"ext-hint-guide"},{default:H(()=>[re(d(l(t)("settings.plugins.extensionGuide")),1)]),_:1},8,["href"])):A("",!0),$(nt,{size:"sm",class:"ext-hint-dismiss",label:l(t)("settings.plugins.dismissHint"),onClick:Be},{default:H(()=>[$(se,{name:"close",size:"sm"})]),_:1},8,["label"])]),_:1})):A("",!0),m.value?(a(),c("div",YL,[$(se,{name:"alert-triangle",size:"sm"}),r("span",null,d(m.value),1)])):A("",!0),r("section",ZL,[r("h3",XL,d(l(t)("settings.plugins.sections.installed")),1),i.value?(a(),c("div",JL,[$(Dt,{size:"sm"}),r("span",null,d(l(t)("settings.plugins.loading")),1)])):u.value?(a(),c("div",eB,[r("span",null,d(u.value),1),$(qe,{variant:"secondary",size:"sm",onClick:y},{default:H(()=>[re(d(l(t)("settings.plugins.retry")),1)]),_:1})])):o.value.length===0?(a(),G(Qo,{key:2,title:l(t)("settings.plugins.empty")},null,8,["title"])):(a(),c("div",tB,[(a(!0),c(he,null,Pe(o.value,B=>(a(),c("div",{key:B.id,class:"plug-row"},[r("div",nB,[r("div",sB,[r("span",oB,d(B.displayName||B.id),1),B.version?(a(),c("span",iB,d(B.version),1)):A("",!0),$(Ot,{variant:"neutral",size:"sm"},{default:H(()=>[re(d(E(B.source)),1)]),_:2},1024),B.hasErrors?(a(),G(Ot,{key:1,variant:"danger",size:"sm"},{default:H(()=>[re(d(l(t)("settings.plugins.hasErrors")),1)]),_:1})):A("",!0)]),R(B)?(a(),c("div",aB,d(R(B)),1)):A("",!0)]),r("div",lB,[$(ds,{"model-value":B.enabled,disabled:M[B.id]===!0,label:l(t)("settings.plugins.enabled"),"onUpdate:modelValue":J=>q(B,J)},null,8,["model-value","disabled","label","onUpdate:modelValue"]),$(qe,{variant:"danger-soft",size:"sm",disabled:M[B.id]===!0,onClick:J=>V(B)},{default:H(()=>[re(d(l(t)("settings.plugins.remove")),1)]),_:1},8,["disabled","onClick"])])]))),128))]))]),r("section",rB,[r("div",uB,[r("h3",cB,d(l(t)("settings.plugins.sections.marketplace")),1),$(qe,{variant:"secondary",size:"sm",onClick:Se},{default:H(()=>[$(se,{name:"plus",size:"sm"}),re(" "+d(l(t)("settings.plugins.customInstall")),1)]),_:1})]),f.value==="loading"?(a(),c("div",dB,[$(Dt,{size:"sm"}),r("span",null,d(l(t)("settings.plugins.loading")),1)])):f.value==="error"?(a(),c("div",pB,[r("span",null,d(l(t)("settings.plugins.catalogUnavailable")),1),$(qe,{variant:"secondary",size:"sm",onClick:k},{default:H(()=>[re(d(l(t)("settings.plugins.retry")),1)]),_:1})])):p.value.length===0?(a(),G(Qo,{key:2,title:l(t)("settings.plugins.empty")},null,8,["title"])):(a(),c("div",fB,[(a(!0),c(he,null,Pe(p.value,B=>(a(),c("div",{key:B.id,class:"plug-row"},[r("div",mB,[r("div",vB,[r("span",hB,d(B.displayName||B.id),1),b(B.tier)?(a(),G(Ot,{key:0,variant:"info",size:"sm"},{default:H(()=>[re(d(b(B.tier)),1)]),_:2},1024)):A("",!0),B.installed?(a(),G(Ot,{key:1,variant:"success",size:"sm"},{default:H(()=>[re(d(l(t)("settings.plugins.installed")),1)]),_:1})):A("",!0),B.updateAvailable?(a(),G(Ot,{key:2,variant:"warning",size:"sm"},{default:H(()=>[re(d(l(t)("settings.plugins.update")),1)]),_:1})):A("",!0)]),B.description?(a(),c("p",gB,d(B.description),1)):A("",!0),B.homepage?(a(),c("div",yB,[$(du,{href:B.homepage,external:""},{default:H(()=>[re(d(l(t)("settings.plugins.homepage")),1)]),_:1},8,["href"])])):A("",!0)]),r("div",kB,[B.updateAvailable?(a(),G(qe,{key:0,variant:"primary",size:"sm",loading:M[B.id]===!0,disabled:M[B.id]===!0,onClick:J=>P(B)},{default:H(()=>[re(d(l(t)("settings.plugins.update")),1)]),_:1},8,["loading","disabled","onClick"])):B.installed?(a(),G(qe,{key:1,variant:"secondary",size:"sm",disabled:""},{default:H(()=>[re(d(l(t)("settings.plugins.installed")),1)]),_:1})):(a(),G(qe,{key:2,variant:"primary",size:"sm",loading:M[B.id]===!0,disabled:M[B.id]===!0,onClick:J=>P(B)},{default:H(()=>[re(d(l(t)("settings.plugins.install")),1)]),_:1},8,["loading","disabled","onClick"]))])]))),128))]))]),r("section",bB,[r("h3",wB,d(l(t)("settings.plugins.sections.capabilities")),1),w.value?(a(),c("div",SB,[$(Dt,{size:"sm"}),r("span",null,d(l(t)("settings.plugins.loading")),1)])):x.value?(a(),c("div",CB,[r("span",null,d(x.value),1),$(qe,{variant:"secondary",size:"sm",onClick:T},{default:H(()=>[re(d(l(t)("settings.plugins.retry")),1)]),_:1})])):v.value.length===0?(a(),G(Qo,{key:2,title:l(t)("settings.plugins.capabilitiesUnavailable")},null,8,["title"])):(a(),c("div",_B,[(a(!0),c(he,null,Pe(v.value,B=>(a(),c("div",{key:B.id,class:"plug-row"},[r("div",$B,[r("div",MB,[r("span",xB,d(B.displayName||B.id),1),$(Ot,{variant:fe(B.state),size:"sm"},{default:H(()=>[re(d(X(B.state)),1)]),_:2},1032,["variant"])]),B.description?(a(),c("p",IB,d(B.description),1)):A("",!0),Ce(B).phase==="installing"?(a(),c("div",AB,[r("span",TB,[re(d(l(t)("settings.plugins.installing"))+" ",1),Ce(B).step?(a(),c(he,{key:0},[re(" · "+d(Ce(B).step),1)],64)):A("",!0),U(B)!==void 0?(a(),c(he,{key:1},[re(" · "+d(U(B))+"% ",1)],64)):A("",!0)]),r("span",PB,[r("span",{class:"cap-progress-fill",style:rt({width:`${U(B)??0}%`})},null,4)])])):Ce(B).phase==="error"?(a(),c("div",EB,[$(se,{name:"alert-triangle",size:"sm"}),r("span",null,d(Ce(B).error),1)])):A("",!0),B.steps.length>0?(a(),c("ul",LB,[(a(!0),c(he,null,Pe(B.steps,J=>(a(),c("li",{key:J.id,class:"cap-step"},[J.state==="ok"?(a(),G(se,{key:0,name:"check",size:"sm",class:"cap-step-ok"})):J.state==="failed"?(a(),G(se,{key:1,name:"alert-triangle",size:"sm",class:"cap-step-bad"})):(a(),c("span",BB)),r("span",RB,d(J.id),1)]))),128))])):A("",!0)]),r("div",OB,[B.state!=="ready"&&B.state!=="unsupported"&&B.supported?(a(),G(qe,{key:0,variant:"primary",size:"sm",loading:h[B.id]===!0,disabled:h[B.id]===!0,onClick:J=>Z(B)},{default:H(()=>[re(d(l(t)("settings.plugins.install")),1)]),_:1},8,["loading","disabled","onClick"])):A("",!0)])]))),128))]))]),$(vs,{open:L.value,title:l(t)("settings.plugins.customInstall"),size:"md",onClose:Q},{foot:H(()=>[$(qe,{variant:"primary",size:"sm",loading:oe.value,disabled:oe.value,onClick:ie},{default:H(()=>[re(d(l(t)("settings.plugins.install")),1)]),_:1},8,["loading","disabled"]),$(qe,{variant:"secondary",size:"sm",disabled:oe.value,onClick:Q},{default:H(()=>[re(d(l(t)("common.cancel")),1)]),_:1},8,["disabled"])]),default:H(()=>[$($s,{label:l(t)("settings.plugins.customInstall"),hint:l(t)("settings.plugins.customInstallHint"),error:ge.value},{default:H(()=>[$(Kn,{modelValue:ne.value,"onUpdate:modelValue":ve[0]||(ve[0]=B=>ne.value=B),placeholder:l(t)("settings.plugins.customInstallPlaceholder"),disabled:oe.value,spellcheck:"false",autocomplete:"off",onKeyup:En(ie,["enter"])},null,8,["modelValue","placeholder","disabled"])]),_:1},8,["label","hint","error"])]),_:1},8,["open","title"])]))}}),zB=Ee(DB,[["__scopeId","data-v-8c64da0f"]]),FB=["aria-label"],NB=["aria-selected","onClick"],qB={class:"body"},WB={class:"panel"},HB={class:"sec"},UB={class:"sec-title"},VB={class:"row"},jB={class:"rlabel"},KB={class:"row"},GB={class:"rlabel"},QB={class:"row"},YB={class:"rlabel"},ZB={class:"num-field"},XB=["value","aria-label"],JB={class:"row"},eR={class:"rlabel"},tR={class:"row"},nR={class:"rlabel"},sR={class:"hint"},oR={class:"sec"},iR={class:"sec-title"},aR={class:"row"},lR={class:"rlabel"},rR={key:0,class:"hint"},uR={class:"row"},cR={class:"rlabel"},dR={key:0,class:"hint"},pR={class:"row"},fR={class:"rlabel"},mR={key:0,class:"hint"},vR={class:"row"},hR={class:"rlabel"},gR={class:"panel"},yR={class:"sec"},kR={class:"sec-title"},bR={class:"row"},wR={class:"rlabel"},SR={key:0,class:"rvalue"},CR={class:"actions"},_R={class:"panel"},$R={class:"sec"},MR={class:"sec-head"},xR={class:"sec-title"},IR={key:0,class:"saving"},AR={class:"row"},TR={class:"rlabel"},PR={class:"hint"},ER={key:0,class:"select-wrap"},LR={key:0,value:"",disabled:""},BR=["label"],RR=["value"],OR={key:1,class:"rvalue mono"},DR={class:"row"},zR={class:"rlabel"},FR={class:"hint"},NR={class:"row"},qR={class:"rlabel"},WR={class:"hint"},HR={class:"row"},UR={class:"rlabel"},VR={class:"hint"},jR={class:"row"},KR={class:"rlabel"},GR={class:"hint"},QR={key:1,class:"empty-config"},YR={class:"panel plugins-panel"},ZR={class:"panel"},XR={class:"sec"},JR={class:"sec-title"},eO={class:"row"},tO={class:"rlabel"},nO={class:"rvalue mono"},sO={class:"row"},oO={class:"rlabel"},iO={class:"rvalue mono"},aO={class:"row"},lO={class:"rlabel"},rO={class:"rvalue mono"},uO={key:0,class:"row"},cO={class:"rlabel"},dO={class:"hint"},pO={class:"hint"},fO={class:"row"},mO={class:"rlabel"},vO={key:0,class:"hint"},hO={class:"panel"},gO={class:"panel-head"},yO={class:"panel-kicker"},kO={class:"panel-title"},bO={class:"panel-desc"},wO={class:"archive-toolbar"},SO={class:"archive-search"},CO=["placeholder"],_O={value:"all"},$O=["value"],MO={key:0,class:"archive-empty"},xO={key:0,class:"archive-list"},IO={class:"archive-workspace"},AO={class:"path"},TO={class:"count"},PO={class:"setting-card"},EO={class:"archive-meta"},LO={class:"archive-name"},BO={class:"archive-time"},RO=["disabled"],OO={key:1,class:"archive-empty"},DO=50,zO=Ie({__name:"SettingsDialog",props:{colorScheme:{},accent:{},uiFontSize:{},authReady:{type:Boolean},accountModel:{},notify:{type:Boolean},notifyQuestion:{type:Boolean},notifyApproval:{type:Boolean},notifyPermission:{},sound:{type:Boolean},conversationToc:{type:Boolean},config:{},models:{},configSaving:{type:Boolean},serverVersion:{},backend:{}},emits:["setColorScheme","setAccent","setUiFontSize","setNotify","setNotifyQuestion","setNotifyApproval","setSound","setConversationToc","login","logout","openOnboarding","openProviders","updateConfig","close"],setup(e,{emit:t}){const{t:n}=Ue(),s=e,o=t,i=I("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"}],p=ep(),f=_(()=>s.backend==="v2"?"v2 (kap-server)":"v1 (server)"),v=["manual","yolo","auto"],w={manual:"status.permissionManual",auto:"status.permissionAuto",yolo:"status.permissionYolo"},x=I(null);Ol(x);function g(ae){ae.key==="Escape"&&o("close")}ht(()=>document.addEventListener("keydown",g)),kt(()=>document.removeEventListener("keydown",g));function m(){Bu()}const M=_(()=>{const ae=new Map;for(const te of s.models??[])ae.set(te.id,{id:te.id,label:te.displayName??te.model??te.id,provider:te.provider});for(const[te,ce]of Object.entries(s.config?.models??{})){if(ae.has(te))continue;const Be=k(ce);ae.set(te,{id:te,label:T(te,ce,Be),provider:Be??te})}return Array.from(ae.values())}),h=_(()=>{const ae=new Map;for(const te of M.value){const ce=ae.get(te.provider)??[];ce.push(te),ae.set(te.provider,ce)}for(const te of ae.values())te.sort((ce,Be)=>ce.label.localeCompare(Be.label));return Array.from(ae.entries()).toSorted(([te],[ce])=>te.localeCompare(ce)).map(([te,ce])=>({provider:te,options:ce}))}),y=_(()=>{const ae=s.config?.defaultPermissionMode;return ae==="auto"||ae==="yolo"||ae==="manual"?ae:"manual"});function k(ae){if(!ae||typeof ae!="object")return;const te=ae;return typeof te.provider=="string"?te.provider:void 0}function T(ae,te,ce){if(!te||typeof te!="object")return ae;const Be=te,Y=typeof Be.model=="string"?Be.model:void 0,ve=ce??k(te);return Y&&ve?`${ae} (${ve}/${Y})`:Y?`${ae} (${Y})`:ae}function S(ae){return ae===!0}function O(ae){!ae||ae===s.config?.defaultModel||o("updateConfig",{defaultModel:ae})}function D(ae){ae!==y.value&&o("updateConfig",{defaultPermissionMode:ae})}function E(ae){const te=s.config?.[ae];o("updateConfig",{[ae]:!S(te)})}function R(){const ae=s.config?.thinking;return!ae||typeof ae!="object"?!0:ae.enabled!==!1}function q(){o("updateConfig",{thinking:{enabled:!R()}})}function V(){const ae=s.config?.telemetry!==!1;o("updateConfig",{telemetry:!ae})}function b(ae){i.value=ae}const P=Ji(),L=I([]),ne=I(!1),oe=I(!1),ge=I(!1),Se=I(""),Q=I("all"),ie=I("archived-desc");let X;async function fe(ae){if(!ne.value){ne.value=!0;try{const te=await P.loadArchivedSessions({beforeId:ae?void 0:X,pageSize:DO});L.value=ae?te.items:HL(L.value,te.items),X=te.items.at(-1)?.id,ge.value=te.hasMore&&te.items.length>0,oe.value=!0}catch(te){console.warn("fetchArchivedPage failed",te)}finally{ne.value=!1}}}Oe(i,ae=>{ae==="archived"&&!oe.value&&fe(!0)});const Ce=_(()=>{const ae=new Set;for(const te of L.value)ae.add(te.cwd);return Array.from(ae).sort((te,ce)=>te.localeCompare(ce))}),_e=_(()=>{let ae=L.value.filter(ce=>ce.archived===!0);Q.value!=="all"&&(ae=ae.filter(ce=>ce.cwd===Q.value));const te=Se.value.trim().toLowerCase();return te&&(ae=ae.filter(ce=>ce.title.toLowerCase().includes(te))),WL(ae,ie.value)}),Z=_(()=>{const ae=new Map;for(const te of _e.value){const ce=ae.get(te.cwd)??[];ce.push(te),ae.set(te.cwd,ce)}return Array.from(ae.entries()).map(([te,ce])=>({cwd:te,items:ce}))});async function U(ae){await P.restoreSession(ae)&&(L.value=L.value.filter(ce=>ce.id!==ae))}function ye(ae){const te=new Date(ae);if(Number.isNaN(te.getTime()))return ae;const ce=Be=>String(Be).padStart(2,"0");return`${te.getFullYear()}-${ce(te.getMonth()+1)}-${ce(te.getDate())} ${ce(te.getHours())}:${ce(te.getMinutes())}`}return(ae,te)=>(a(),G(vs,{open:!0,"close-on-esc":!1,title:l(n)("settings.title"),size:"xl",height:"fixed",padded:!1,onClose:te[20]||(te[20]=ce=>o("close"))},{default:H(()=>[r("div",{ref_key:"dialogRef",ref:x,class:"sd"},[r("nav",{class:"settings-tabs",role:"tablist","aria-label":l(n)("settings.title")},[(a(),c(he,null,Pe(u,ce=>r("button",{key:ce.id,type:"button",class:pe(["tab",{on:i.value===ce.id}]),role:"tab","aria-selected":i.value===ce.id,onClick:Be=>b(ce.id)},d(l(n)(ce.labelKey)),11,NB)),64))],8,FB),r("div",qB,[gt(r("section",WB,[r("section",HB,[r("h3",UB,d(l(n)("settings.appearance")),1),r("div",VB,[r("span",jB,d(l(n)("theme.colorSchemeLabel")),1),$(cn,{"model-value":e.colorScheme,options:[{value:"light",label:l(n)("theme.light")},{value:"dark",label:l(n)("theme.dark")},{value:"system",label:l(n)("theme.system")}],"onUpdate:modelValue":te[0]||(te[0]=ce=>o("setColorScheme",ce))},null,8,["model-value","options"])]),r("div",KB,[r("span",GB,d(l(n)("theme.accentLabel")),1),$(cn,{"model-value":e.accent,options:[{value:"blue",label:l(n)("theme.accentBlue")},{value:"mono",label:l(n)("theme.accentBlack")}],"onUpdate:modelValue":te[1]||(te[1]=ce=>o("setAccent",ce))},null,8,["model-value","options"])]),r("div",QB,[r("span",YB,d(l(n)("settings.uiFontSize")),1),r("label",ZB,[r("input",{class:"num-input",type:"number",min:"12",max:"20",step:"1",value:e.uiFontSize,"aria-label":l(n)("settings.uiFontSize"),onInput:te[2]||(te[2]=ce=>o("setUiFontSize",Number(ce.target.value)))},null,40,XB),te[21]||(te[21]=r("span",{class:"num-unit"},"px",-1))])]),r("div",JB,[r("span",eR,d(l(n)("sidebar.language")),1),$(Sd)]),r("div",tR,[r("span",nR,[re(d(l(n)("settings.conversationToc"))+" ",1),r("span",sR,d(l(n)("settings.conversationTocHint")),1)]),$(ds,{"model-value":e.conversationToc??!0,label:l(n)("settings.conversationToc"),"onUpdate:modelValue":te[3]||(te[3]=ce=>o("setConversationToc",ce))},null,8,["model-value","label"])])]),r("section",oR,[r("h3",iR,d(l(n)("settings.notifications")),1),r("div",aR,[r("span",lR,[re(d(l(n)("settings.notifyOnComplete"))+" ",1),e.notifyPermission==="denied"?(a(),c("span",rR,d(l(n)("settings.notifyDenied")),1)):A("",!0)]),$(ds,{"model-value":e.notify,disabled:e.notifyPermission==="denied",label:l(n)("settings.notifyOnComplete"),"onUpdate:modelValue":te[4]||(te[4]=ce=>o("setNotify",ce))},null,8,["model-value","disabled","label"])]),r("div",uR,[r("span",cR,[re(d(l(n)("settings.notifyOnQuestion"))+" ",1),e.notifyPermission==="denied"?(a(),c("span",dR,d(l(n)("settings.notifyDenied")),1)):A("",!0)]),$(ds,{"model-value":e.notifyQuestion,disabled:e.notifyPermission==="denied",label:l(n)("settings.notifyOnQuestion"),"onUpdate:modelValue":te[5]||(te[5]=ce=>o("setNotifyQuestion",ce))},null,8,["model-value","disabled","label"])]),r("div",pR,[r("span",fR,[re(d(l(n)("settings.notifyOnApproval"))+" ",1),e.notifyPermission==="denied"?(a(),c("span",mR,d(l(n)("settings.notifyDenied")),1)):A("",!0)]),$(ds,{"model-value":e.notifyApproval,disabled:e.notifyPermission==="denied",label:l(n)("settings.notifyOnApproval"),"onUpdate:modelValue":te[6]||(te[6]=ce=>o("setNotifyApproval",ce))},null,8,["model-value","disabled","label"])]),r("div",vR,[r("span",hR,d(l(n)("settings.soundOnComplete")),1),$(ds,{"model-value":e.sound,label:l(n)("settings.soundOnComplete"),"onUpdate:modelValue":te[7]||(te[7]=ce=>o("setSound",ce))},null,8,["model-value","label"])])])],512),[[Jn,i.value==="general"]]),gt(r("section",gR,[r("section",yR,[r("h3",kR,d(l(n)("settings.account")),1),r("div",bR,[r("span",wR,d(e.authReady?"managed:kimi-code":l(n)("sidebar.notSignedIn")),1),$(ot,{text:e.accountModel},{default:H(()=>[e.authReady&&e.accountModel?(a(),c("span",SR,d(e.accountModel),1)):A("",!0)]),_:1},8,["text"])]),r("div",CR,[$(qe,{variant:"secondary",size:"sm",onClick:te[8]||(te[8]=ce=>{o("openOnboarding"),o("close")})},{default:H(()=>[re(d(l(n)("onboarding.reopen")),1)]),_:1}),e.authReady?(a(),G(qe,{key:0,variant:"danger-soft",size:"sm",onClick:te[9]||(te[9]=ce=>o("logout"))},{default:H(()=>[re(d(l(n)("sidebar.signOut")),1)]),_:1})):(a(),G(qe,{key:1,variant:"primary",size:"sm",onClick:te[10]||(te[10]=ce=>o("login"))},{default:H(()=>[re(d(l(n)("sidebar.signIn")),1)]),_:1}))])])],512),[[Jn,i.value==="account"]]),gt(r("section",_R,[r("section",$R,[r("div",MR,[r("h3",xR,d(l(n)("settings.agentDefaults")),1),e.configSaving?(a(),c("span",IR,d(l(n)("settings.saving")),1)):A("",!0)]),e.config?(a(),c(he,{key:0},[r("div",AR,[r("span",TR,[re(d(l(n)("settings.defaultModel"))+" ",1),r("span",PR,d(l(n)("settings.defaultModelHint")),1)]),h.value.length>0?(a(),c("div",ER,[$(Xa,{"model-value":e.config.defaultModel??"",disabled:e.configSaving,"aria-label":l(n)("settings.defaultModel"),"onUpdate:modelValue":O},{default:H(()=>[e.config.defaultModel?A("",!0):(a(),c("option",LR,d(l(n)("settings.noDefaultModel")),1)),(a(!0),c(he,null,Pe(h.value,ce=>(a(),c("optgroup",{key:ce.provider,label:ce.provider},[(a(!0),c(he,null,Pe(ce.options,Be=>(a(),c("option",{key:Be.id,value:Be.id},d(Be.label),9,RR))),128))],8,BR))),128))]),_:1},8,["model-value","disabled","aria-label"])])):(a(),c("span",OR,d(e.config.defaultModel??l(n)("settings.noDefaultModel")),1))]),r("div",DR,[r("span",zR,[re(d(l(n)("settings.defaultPermission"))+" ",1),r("span",FR,d(l(n)("settings.defaultPermissionHint")),1)]),$(cn,{"model-value":y.value,options:v.map(ce=>({value:ce,label:l(n)(w[ce])})),"onUpdate:modelValue":te[11]||(te[11]=ce=>D(ce))},null,8,["model-value","options"])]),r("div",NR,[r("span",qR,[re(d(l(n)("settings.defaultThinking"))+" ",1),r("span",WR,d(l(n)("settings.defaultThinkingHint")),1)]),$(ds,{"model-value":R(),disabled:e.configSaving,label:l(n)("settings.defaultThinking"),"onUpdate:modelValue":te[12]||(te[12]=ce=>q())},null,8,["model-value","disabled","label"])]),r("div",HR,[r("span",UR,[re(d(l(n)("settings.defaultPlanMode"))+" ",1),r("span",VR,d(l(n)("settings.defaultPlanModeHint")),1)]),$(ds,{"model-value":S(e.config.defaultPlanMode),disabled:e.configSaving,label:l(n)("settings.defaultPlanMode"),"onUpdate:modelValue":te[13]||(te[13]=ce=>E("defaultPlanMode"))},null,8,["model-value","disabled","label"])]),r("div",jR,[r("span",KR,[re(d(l(n)("settings.mergeSkills"))+" ",1),r("span",GR,d(l(n)("settings.mergeSkillsHint")),1)]),$(ds,{"model-value":S(e.config.mergeAllAvailableSkills),disabled:e.configSaving,label:l(n)("settings.mergeSkills"),"onUpdate:modelValue":te[14]||(te[14]=ce=>E("mergeAllAvailableSkills"))},null,8,["model-value","disabled","label"])])],64)):(a(),c("div",QR,d(l(n)("settings.configUnavailable")),1))])],512),[[Jn,i.value==="agent"]]),gt(r("section",YR,[$(zB,{active:i.value==="plugins"},null,8,["active"])],512),[[Jn,i.value==="plugins"]]),gt(r("section",ZR,[r("section",XR,[r("h3",JR,d(l(n)("settings.advanced")),1),r("div",eO,[r("span",tO,d(l(n)("sidebar.daemon")),1),r("span",nO,d(l(p)),1)]),r("div",sO,[r("span",oO,d(l(n)("settings.backend")),1),r("span",iO,d(f.value),1)]),r("div",aO,[r("span",lO,d(l(n)("settings.serverVersion")),1),r("span",rO,d(e.serverVersion||"-"),1)]),e.config?(a(),c("div",uO,[r("span",cO,[re(d(l(n)("settings.telemetry"))+" ",1),r("span",dO,d(l(n)("settings.telemetryHint")),1),r("span",pO,d(l(n)("settings.telemetryRestartHint")),1)]),$(ds,{"model-value":e.config.telemetry!==!1,disabled:e.configSaving,label:l(n)("settings.telemetry"),"onUpdate:modelValue":te[15]||(te[15]=ce=>V())},null,8,["model-value","disabled","label"])])):A("",!0),r("div",fO,[r("span",mO,[re(d(l(n)("settings.exportLog"))+" ",1),l(ts)()?A("",!0):(a(),c("span",vO,d(l(n)("settings.logHint")),1))]),$(qe,{variant:"secondary",size:"sm",onClick:m},{default:H(()=>[re(d(l(n)("settings.exportLogBtn")),1)]),_:1})])])],512),[[Jn,i.value==="advanced"]]),gt(r("section",hO,[r("div",gO,[r("div",yO,d(l(n)("settings.archivedTitle")),1),r("h4",kO,d(l(n)("settings.archivedTitle")),1),r("p",bO,d(l(n)("settings.archivedDesc")),1)]),r("div",wO,[r("label",SO,[$(se,{name:"search",size:"sm"}),gt(r("input",{"onUpdate:modelValue":te[16]||(te[16]=ce=>Se.value=ce),placeholder:l(n)("settings.archivedSearch")},null,8,CO),[[qn,Se.value]])]),$(Xa,{"model-value":Q.value,size:"sm","aria-label":l(n)("settings.archivedAllWorkspaces"),"onUpdate:modelValue":te[17]||(te[17]=ce=>Q.value=ce)},{default:H(()=>[r("option",_O,d(l(n)("settings.archivedAllWorkspaces")),1),(a(!0),c(he,null,Pe(Ce.value,ce=>(a(),c("option",{key:ce,value:ce},d(ce),9,$O))),128))]),_:1},8,["model-value","aria-label"]),$(cn,{size:"sm","model-value":ie.value,options:[{value:"archived-desc",label:l(n)("settings.archivedSortArchived")},{value:"created-desc",label:l(n)("settings.archivedSortCreated")},{value:"name-asc",label:l(n)("settings.archivedSortName")}],"onUpdate:modelValue":te[18]||(te[18]=ce=>ie.value=ce)},null,8,["model-value","options"])]),ne.value&&!oe.value?(a(),c("div",MO,d(l(n)("settings.archivedLoadingAll")),1)):(a(),c(he,{key:1},[Z.value.length>0?(a(),c("div",xO,[(a(!0),c(he,null,Pe(Z.value,ce=>(a(),c("section",{key:ce.cwd,class:"archive-card"},[r("div",IO,[$(se,{name:"folder-closed",size:"sm"}),r("span",AO,d(ce.cwd),1),r("span",TO,d(l(n)("settings.archivedSessionsCount",{count:ce.items.length})),1)]),r("div",PO,[(a(!0),c(he,null,Pe(ce.items,Be=>(a(),c("div",{key:Be.id,class:"archive-row"},[r("div",EO,[r("div",LO,d(Be.title),1),r("div",BO,d(l(n)("settings.archivedAt",{time:ye(Be.updatedAt)})),1)]),$(qe,{variant:"secondary",size:"sm",onClick:Y=>U(Be.id)},{default:H(()=>[re(d(l(n)("settings.archivedRestore")),1)]),_:1},8,["onClick"])]))),128))])]))),128)),ge.value?(a(),c("button",{key:0,class:"archive-load-more",disabled:ne.value,onClick:te[19]||(te[19]=ce=>fe(!1))},d(ne.value?l(n)("settings.archivedLoading"):l(n)("settings.archivedLoadMore")),9,RO)):A("",!0)])):(a(),c("div",OO,d(L.value.length===0?l(n)("settings.archivedEmpty"):l(n)("settings.archivedNoMatch")),1))],64))],512),[[Jn,i.value==="archived"]])])],512)]),_:1},8,["title"]))}}),FO=Ee(zO,[["__scopeId","data-v-ace56012"]]),NO=/^(?:\/|~(?:\/|$)|[A-Za-z]:[\\/]|\\\\)/,Cd=/^[A-Za-z]:[\\/]/,qO=/^\/\/(?!\/)/;function Aa(e){return NO.test(e.trim())}function WO(e,t){return e==="~"?t||e:e.startsWith("~/")?(t||"~")+e.slice(1):e}function HO(e){return qO.test(e)?`//${e.slice(2).replaceAll(/\/{2,}/g,"/")}`:e.replaceAll(/\/{2,}/g,"/")}function UO(e){return Cd.test(e)||e.startsWith("\\\\")||e.startsWith("//")}function VO(e){return Cd.test(e)?3:e.startsWith("\\\\")||e.startsWith("//")?2:e.startsWith("/")?1:0}function el(e,t){let n=HO(WO(e.trim(),t));const s=UO(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?"\\":"/",w=VO(n),x=fx.value.trim().length>0);let h=0,y=null;const k=_(()=>Aa(x.value)),T=I("idle"),S=I(""),O=I("/"),D=I([]),E=I(""),R=I(null),q=I(null),V=_(()=>T.value!=="valid"?null:KO(x.value,E.value,q.value));let b=0,P=null;function L(ye,ae){const te=ye.toLowerCase(),ce=ae.toLowerCase();let Be=0;for(let Y=0;Y0&&ve=pu))break;B.depth+1{y&&clearTimeout(y),P&&clearTimeout(P),b++,T.value="idle",D.value=[],q.value=null;const ae=ye.trim();if(ae===""){h++,m.value=[],g.value=!1;return}if(Aa(ae)){if(h++,m.value=[],g.value=!1,p.value)return;T.value="checking",P=setTimeout(()=>void oe(ae),150);return}y=setTimeout(()=>void ne(ye),220)});async function oe(ye){const ae=++b;T.value="checking",q.value=null;const te=el(ye,E.value),{target:ce}=te;try{const Y=await s.browseFs(ce);if(ae!==b)return;if(Y.path){T.value="valid",D.value=[],q.value=ce,f.value=Y.path,v.value=Y.parent,w.value=Y.entries,p.value=!1;return}}catch{}if(ae!==b)return;const Be=te.base.toLowerCase();S.value=te.parent,O.value=te.separator;try{const Y=await s.browseFs(te.parent);if(ae!==b)return;if(Y.path){D.value=Y.entries.filter(ve=>ve.isDir&&ve.name.toLowerCase().startsWith(Be)),T.value="not-found";return}}catch{}ae===b&&(D.value=[],T.value="bad-parent")}function ge(ye){x.value=jO(S.value,ye,O.value),R.value?.focus()}const Se=_(()=>p.value?n("workspace.degradedPlaceholder"):n("workspace.searchPlaceholder")),Q=_(()=>p.value?n("workspace.degradedHint"):k.value&&T.value==="valid"?n("workspace.pathFollowHint"):n("workspace.browseHint"));function ie(ye){if(ye.key==="Escape"){x.value?x.value="":o("close");return}if(ye.key!=="Enter")return;const ae=x.value.trim();if(Aa(ae)){if(ye.preventDefault(),p.value){const{target:te}=el(ae,E.value);te&&o("add",te);return}T.value==="valid"?U():T.value==="not-found"&&D.value[0]&&ge(D.value[0].name)}}const X=_(()=>{const ye=f.value;if(!ye)return[];const ae=ye.split("/").filter(Boolean),te=[{label:"/",path:"/"}];let ce="";for(const Be of ae)ce+=`/${Be}`,te.push({label:Be,path:ce});return te}),fe=_(()=>!(f.value.length===0||k.value&&V.value===null));async function Ce(ye){u.value=!0;try{const ae=await s.browseFs(ye);if(!ae.path){p.value=!0;return}f.value=ae.path,v.value=ae.parent,w.value=ae.entries,x.value="",p.value=!1}catch{p.value=!0}finally{u.value=!1}}function _e(ye){ye.isDir&&Ce(ye.path)}function Z(){v.value&&Ce(v.value)}function U(){fe.value&&o("add",V.value??f.value)}return ht(async()=>{u.value=!0;try{const ye=await s.getFsHome().catch(()=>({home:"",recentRoots:[]}));if(ye.home&&(E.value=ye.home),s.defaultPath&&(await Ce(s.defaultPath),!p.value))return;E.value?await Ce(E.value):p.value=!0}catch{p.value=!0}finally{u.value=!1}}),kt(()=>{y&&clearTimeout(y),P&&clearTimeout(P)}),(ye,ae)=>(a(),G(vs,{open:i.value,"onUpdate:open":ae[2]||(ae[2]=te=>i.value=te),title:l(n)("workspace.addTitle"),size:"lg",height:"fixed",onClose:ae[3]||(ae[3]=te=>o("close"))},{default:H(()=>[r("div",GO,[p.value?A("",!0):(a(),c("div",QO,[$(nt,{size:"sm",disabled:!v.value,label:l(n)("workspace.up"),onClick:Z},{default:H(()=>[$(se,{name:"arrow-up",size:"md"})]),_:1},8,["disabled","label"]),r("div",YO,[(a(!0),c(he,null,Pe(X.value,(te,ce)=>(a(),c(he,{key:te.path},[ce>1?(a(),c("span",ZO,"/")):A("",!0),r("button",{class:pe(["crumb",{last:ce===X.value.length-1}]),onClick:Be=>Ce(te.path)},d(te.label),11,XO)],64))),128))])])),!u.value||p.value?(a(),c("div",{key:1,class:pe(["filterbar",{"has-error":T.value==="not-found"||T.value==="bad-parent"}])},[$(se,{class:"filter-icon",name:"search",size:"md"}),gt(r("input",{ref_key:"filterEl",ref:R,"onUpdate:modelValue":ae[0]||(ae[0]=te=>x.value=te),class:"filter-input",type:"text",placeholder:Se.value,autocomplete:"off",spellcheck:"false",onKeydown:Re(ie,["stop"])},null,40,JO),[[qn,x.value]]),g.value||T.value==="checking"?(a(),G(Dt,{key:0,size:"sm"})):A("",!0)],2)):A("",!0),p.value?(a(),c("div",vD,d(l(n)("workspace.degradedHint")),1)):(a(),c("div",eD,[u.value?(a(),c("div",tD,d(l(n)("workspace.browsing")),1)):k.value&&T.value!=="valid"?(a(),c(he,{key:1},[T.value==="checking"?(a(),c("div",nD,d(l(n)("workspace.checkingPath")),1)):T.value==="not-found"?(a(),c(he,{key:1},[D.value.length>0?(a(),c("div",sD,d(l(n)("workspace.pathPickHint")),1)):A("",!0),(a(!0),c(he,null,Pe(D.value,te=>(a(),c("button",{key:te.path,class:"folder-row",onClick:ce=>ge(te.name)},[$(se,{class:"dir-icon",name:"folder-closed",size:"sm"}),r("span",iD,d(te.name),1)],8,oD))),128)),D.value.length===0?(a(),c("div",aD,d(l(n)("workspace.noPathMatch",{parent:S.value})),1)):A("",!0)],64)):T.value==="bad-parent"?(a(),c("div",lD,d(l(n)("workspace.badParent",{parent:S.value})),1)):A("",!0)],64)):M.value&&!k.value?(a(),c(he,{key:2},[(a(!0),c(he,null,Pe(m.value,te=>(a(),c("button",{key:te.path,class:"folder-row",onClick:ce=>Ce(te.path)},[$(se,{class:"dir-icon",name:"folder-closed",size:"sm"}),r("span",uD,d(te.rel),1)],8,rD))),128)),!g.value&&m.value.length===0?(a(),c("div",cD,d(l(n)("workspace.noFilterMatch",{q:x.value.trim()})),1)):g.value&&m.value.length===0?(a(),c("div",dD,d(l(n)("workspace.searching")),1)):A("",!0)],64)):(a(),c(he,{key:3},[(a(!0),c(he,null,Pe(w.value,te=>(a(),c("button",{key:te.path,class:"folder-row",onClick:ce=>_e(te)},[$(se,{class:"dir-icon",name:"folder-closed",size:"sm"}),r("span",fD,d(te.name),1)],8,pD))),128)),w.value.length===0?(a(),c("div",mD,d(l(n)("workspace.noSubfolders")),1)):A("",!0)],64))])),e.error?(a(),c("div",hD,d(e.error),1)):A("",!0),r("div",gD,[$(ot,{text:f.value},{default:H(()=>[p.value?A("",!0):(a(),G(qe,{key:0,variant:"primary",disabled:!fe.value,onClick:U},{default:H(()=>[re(d(l(n)("workspace.openThisFolder")),1)]),_:1},8,["disabled"]))]),_:1},8,["text"]),$(qe,{variant:"secondary",onClick:ae[1]||(ae[1]=te=>o("close"))},{default:H(()=>[re(d(l(n)("workspace.cancel")),1)]),_:1})]),r("div",yD,d(Q.value),1)])]),_:1},8,["open","title"]))}}),SD=Ee(wD,[["__scopeId","data-v-a2c2e0eb"]]),CD={key:0,class:"confirm-dialog__message"},_D=Ie({__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}=Ue();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),Ln(()=>{typeof window<"u"&&window.removeEventListener("keydown",u)}),(p,f)=>(a(),G(vs,{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:H(()=>[$(qe,{variant:"secondary",disabled:e.loading,onClick:i},{default:H(()=>[re(d(e.cancelLabel??l(o)("common.cancel")),1)]),_:1},8,["disabled"]),$(qe,{class:"confirm-dialog__confirm",variant:e.variant,loading:e.loading,onClick:f[0]||(f[0]=v=>s("confirm"))},{default:H(()=>[re(d(e.confirmLabel??l(o)("common.confirm")),1)]),_:1},8,["variant","loading"])]),default:H(()=>[e.message?(a(),c("p",CD,d(e.message),1)):A("",!0)]),_:1},8,["open","title","close-on-esc","close-on-overlay"]))}}),$D=Ee(_D,[["__scopeId","data-v-2e719024"]]),MD=Ie({__name:"ConfirmDialogHost",setup(e){const{current:t,busy:n,settle:s,runAction:o}=go();function i(){o()}return(u,p)=>(a(),G($D,{open:l(t)!==null,title:l(t)?.title??"",message:l(t)?.message,"confirm-label":l(t)?.confirmLabel,"cancel-label":l(t)?.cancelLabel,variant:l(t)?.variant,loading:l(n),onConfirm:i,onCancel:p[0]||(p[0]=f=>l(s)(!1))},null,8,["open","title","message","confirm-label","cancel-label","variant","loading"]))}}),xD={class:"rows"},ID={class:"row"},AD={class:"row"},TD={class:"row"},PD={class:"row"},ED={class:"row"},LD={class:"row"},BD={class:"row"},RD={class:"ctx-text"},OD={key:0,class:"bar"},DD={class:"row"},zD=Ie({__name:"StatusPanel",props:{status:{},thinking:{},planMode:{type:Boolean},swarmMode:{type:Boolean},supermoonMode:{type:Boolean},costUsd:{}},emits:["close"],setup(e,{emit:t}){const{t:n}=Ue(),s=e,o=t,i=I(!0),u=_(()=>s.status.ctxMax<=0?0:Math.min(100,Math.max(0,Math.ceil(s.status.ctxUsed/s.status.ctxMax*100)))),p=_(()=>s.status.ctxMax>0?n("status.statusContextValue",{used:ms(s.status.ctxUsed),max:ms(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=_(()=>{const h=s.status.permission;return h==="yolo"?"var(--color-warning)":h==="auto"?"var(--color-danger)":"var(--color-text)"}),w=_(()=>s.planMode?n("status.planOn"):n("status.planOff")),x=_(()=>s.swarmMode?n("status.swarmOn"):n("status.swarmOff")),g=_(()=>s.supermoonMode?n("status.supermoonOn"):n("status.supermoonOff")),m=_(()=>typeof s.costUsd=="number"&&s.costUsd>0),M=_(()=>m.value?`$${s.costUsd.toFixed(4)}`:n("status.statusNone"));return(h,y)=>(a(),G(vs,{open:i.value,"onUpdate:open":y[0]||(y[0]=k=>i.value=k),title:l(n)("status.statusPanelTitle"),onClose:y[1]||(y[1]=k=>o("close"))},{default:H(()=>[r("dl",xD,[r("div",ID,[r("dt",null,d(l(n)("status.statusModel")),1),r("dd",null,d(e.status.model),1)]),r("div",AD,[r("dt",null,d(l(n)("status.statusThinking")),1),r("dd",null,d(e.thinking),1)]),r("div",TD,[r("dt",null,d(l(n)("status.statusPermission")),1),r("dd",{style:rt({color:v.value})},d(f(e.status.permission)),5)]),r("div",PD,[r("dt",null,d(l(n)("status.statusPlanMode")),1),r("dd",{class:pe({"plan-on":e.planMode})},d(w.value),3)]),r("div",ED,[r("dt",null,d(l(n)("status.statusSwarmMode")),1),r("dd",{class:pe({"swarm-on":e.swarmMode})},d(x.value),3)]),r("div",LD,[r("dt",null,d(l(n)("status.statusSupermoonMode")),1),r("dd",{class:pe({"supermoon-on":e.supermoonMode})},d(g.value),3)]),r("div",BD,[r("dt",null,d(l(n)("status.statusContext")),1),r("dd",null,[r("span",RD,d(p.value),1),e.status.ctxMax>0?(a(),c("span",OD,[r("i",{style:rt({width:u.value+"%"})},null,4)])):A("",!0)])]),r("div",DD,[r("dt",null,d(l(n)("status.statusCost")),1),r("dd",null,d(M.value),1)])])]),_:1},8,["open","title"]))}}),FD=Ee(zD,[["__scopeId","data-v-5ba9ba29"]]),ND={class:"ui-toast__icon","aria-hidden":"true"},qD={class:"ui-toast__body"},WD={class:"ui-toast__title"},HD={key:0,class:"ui-toast__msg"},UD=Ie({__name:"Toast",props:{variant:{default:"info"},title:{},message:{},dismissLabel:{default:"Dismiss"}},emits:["dismiss"],setup(e){return(t,n)=>(a(),c("div",{class:pe(["ui-toast",`ui-toast--${e.variant}`])},[r("span",ND,[yt(t.$slots,"icon",{},()=>[e.variant==="success"?(a(),G(se,{key:0,name:"check"})):e.variant==="danger"?(a(),G(se,{key:1,name:"close"})):e.variant==="warning"?(a(),G(se,{key:2,name:"alert-triangle"})):(a(),G(se,{key:3,name:"info"}))],!0)]),r("div",qD,[r("div",WD,d(e.title),1),e.message?(a(),c("div",HD,d(e.message),1)):A("",!0),yt(t.$slots,"default",{},void 0,!0)]),$(nt,{class:"ui-toast__close",size:"sm",label:e.dismissLabel,onClick:n[0]||(n[0]=s=>t.$emit("dismiss"))},{default:H(()=>[$(se,{name:"close",size:"sm"})]),_:1},8,["label"])],2))}}),VD=Ee(UD,[["__scopeId","data-v-adc6f346"]]),jD={key:0,class:"actions"},KD=["onClick"],GD=["onClick"],QD={key:1,class:"details"},YD=Ie({__name:"WarningToasts",props:{warnings:{}},emits:["dismiss"],setup(e,{emit:t}){const n=e,s=t,{t:o}=Ue();function i(b){return typeof b=="object"&&b!==null}function u(b){return i(b)?b.title:b}function p(b){return i(b)?b.message??"":""}function f(b){return i(b)?b.details:void 0}function v(b){return i(b)?b.severity==="error":b.startsWith(`${o("warnings.errorLabel")}:`)||/\b4\d\d\b|error|失败|failed/i.test(b)}function w(b){if(!i(b))return v(b)?"danger":"warning";switch(b.severity){case"error":return"danger";case"success":return"success";case"info":return"info";default:return"warning"}}function x(b){return i(b)&&b.sticky===!0}function g(b){return i(b)?`notice:${b.severity}:${b.title}:${b.message??""}:${JSON.stringify(b.details??[])}`:`text:${b}`}function m(b){if(!i(b))return b;const P=[b.title];b.message&&P.push(b.message);const L=b.details??[];if(L.length>0){P.push("",`${o("warnings.diagnostics")}:`);for(const ne of L)P.push(`${ne.label}: ${ne.value}`)}return P.join(`
+`)}let M=1;const h=I([]),y=new Map,k=new Map;function T(b){const P=v(b)?12e3:6e3;return typeof window<"u"&&window.matchMedia?.("(hover: none)").matches===!0?P+5e3:P}function S(b,P){const L=y.get(b)??{handle:null,deadline:0,remaining:0};L.handle=setTimeout(()=>V(b),P),L.deadline=Date.now()+P,y.set(b,L)}function O(b){const P=y.get(b);P&&P.handle!==null&&clearTimeout(P.handle),y.delete(b)}function D(b){const P=y.get(b);!P||P.handle===null||(clearTimeout(P.handle),P.handle=null,P.remaining=Math.max(0,P.deadline-Date.now()))}function E(b){if(h.value.find(ne=>ne.id===b)?.detailsOpen)return;const L=y.get(b);!L||L.handle!==null||S(b,L.remaining)}function R(b){b.detailsOpen=!b.detailsOpen,b.detailsOpen?D(b.id):E(b.id)}async function q(b){if(!await un(m(b.warning)))return;b.copied=!0;const L=k.get(b.id);L&&clearTimeout(L),k.set(b.id,setTimeout(()=>{b.copied=!1,k.delete(b.id)},1400))}function V(b){O(b);const P=k.get(b);P&&clearTimeout(P),k.delete(b);const L=h.value.findIndex(ne=>ne.id===b);L!==-1&&(h.value=h.value.filter(ne=>ne.id!==b),s("dismiss",L))}return Oe(()=>n.warnings,b=>{const P=[...h.value];h.value=b.map(L=>{const ne=g(L),oe=P.findIndex(Q=>Q.key===ne),ge=oe===-1?void 0:P.splice(oe,1)[0];if(ge)return ge.warning=L,ge;const Se={id:M++,key:ne,warning:L,detailsOpen:!1,copied:!1};return x(L)||S(Se.id,T(L)),Se});for(const L of P){O(L.id);const ne=k.get(L.id);ne&&clearTimeout(ne),k.delete(L.id)}},{immediate:!0,flush:"post"}),kt(()=>{y.forEach(b=>{b.handle!==null&&clearTimeout(b.handle)}),y.clear(),k.forEach(b=>clearTimeout(b)),k.clear()}),(b,P)=>(a(),G(Ed,{name:"toast",tag:"div",class:"toasts",role:"status","aria-live":"polite"},{default:H(()=>[(a(!0),c(he,null,Pe(h.value,L=>(a(),G(VD,{key:L.id,variant:w(L.warning),title:u(L.warning),message:p(L.warning),"dismiss-label":l(o)("warnings.dismiss"),onDismiss:ne=>V(L.id),onPointerenter:ne=>D(L.id),onPointerleave:ne=>E(L.id)},{default:H(()=>[f(L.warning)?.length?(a(),c("div",jD,[r("button",{class:"link",type:"button",onClick:ne=>R(L)},d(L.detailsOpen?l(o)("warnings.hideDetails"):l(o)("warnings.showDetails")),9,KD),r("button",{class:"link",type:"button",onClick:ne=>q(L)},d(L.copied?l(o)("warnings.copied"):l(o)("warnings.copyDetails")),9,GD)])):A("",!0),L.detailsOpen&&f(L.warning)?.length?(a(),c("dl",QD,[(a(!0),c(he,null,Pe(f(L.warning),ne=>(a(),c("div",{key:`${ne.label}:${ne.value}`,class:"detail-row"},[r("dt",null,d(ne.label),1),r("dd",null,d(ne.value),1)]))),128))])):A("",!0)]),_:2},1032,["variant","title","message","dismiss-label","onDismiss","onPointerenter","onPointerleave"]))),128))]),_:1}))}}),ZD=Ee(YD,[["__scopeId","data-v-c92be17a"]]),XD={class:"topbar"},JD={class:"wsq"},ez=["aria-label"],tz={class:"tb-path"},nz={class:"ws"},sz={class:"se"},oz={class:"tb-sub"},iz=Ie({__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}=Ue(),s=e,o=t,i=_(()=>{const f=s.workspace,w=(f?.name||f?.root||"").trim().charAt(0);return w?w.toUpperCase():"K"}),u=_(()=>s.workspace?.name??n("workspace.noWorkspace")),p=_(()=>s.running?n("mobile.running"):n("mobile.idle"));return(f,v)=>(a(),c("div",XD,[r("span",JD,d(i.value),1),r("button",{type:"button",class:"tb-mid","aria-label":l(n)("mobile.openSwitcher"),onClick:v[0]||(v[0]=w=>o("openSwitcher"))},[r("span",tz,[r("span",nz,d(u.value),1),e.sessionTitle?(a(),c(he,{key:0},[v[2]||(v[2]=r("span",{class:"sl"},"/",-1)),r("span",sz,d(e.sessionTitle),1)],64)):A("",!0),v[3]||(v[3]=r("span",{class:"cv"},"⌄",-1))]),r("span",oz,[r("span",{class:pe(["rd",{on:e.running}])},null,2),r("span",null,d(p.value),1),e.branch?(a(),c(he,{key:0},[re(" · "+d(e.branch),1)],64)):A("",!0),e.sessionCount>0?(a(),c(he,{key:1},[re(" · "+d(l(n)("mobile.sessionCount",{n:e.sessionCount})),1)],64)):A("",!0)])],8,ez),$(nt,{size:"lg",label:l(n)("mobile.openSettings"),onClick:v[1]||(v[1]=w=>o("openSettings"))},{default:H(()=>[$(se,{name:"sliders",size:"lg"})]),_:1},8,["label"])]))}}),az=Ee(iz,[["__scopeId","data-v-6b4b901f"]]),lz={key:0,class:"sheet-root"},rz=["aria-label"],uz=["aria-label"],cz={key:0,class:"sheet-head"},dz={class:"sheet-title"},pz={class:"sheet-body"},fz=Ie({__name:"BottomSheet",props:{modelValue:{type:Boolean},title:{default:""}},emits:["update:modelValue","close"],setup(e,{emit:t}){const{t:n}=Ue(),s=e,o=t;function i(){o("update:modelValue",!1),o("close")}function u(p){p.key==="Escape"&&i()}return Oe(()=>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)=>(a(),G(Yo,{name:"sheet"},{default:H(()=>[e.modelValue?(a(),c("div",lz,[r("div",{class:"sheet-scrim",onClick:i}),r("div",{class:"sheet-panel",role:"dialog","aria-label":e.title||l(n)("mobile.sheetLabel")},[r("button",{type:"button",class:"sheet-grab","aria-label":l(n)("mobile.closeSheet"),onClick:i},null,8,uz),e.title?(a(),c("div",cz,[r("span",dz,d(e.title),1)])):A("",!0),r("div",pz,[yt(p.$slots,"default",{},void 0,!0)])],8,rz)])):A("",!0)]),_:3}))}}),_d=Ee(fz,[["__scopeId","data-v-745ee5a2"]]),mz={class:"mlist"},vz={key:0,class:"mempty"},hz=["onClick"],gz={class:"mgh-main"},yz={class:"mgh-name"},kz={class:"mgh-path"},bz={key:2,class:"att"},wz={key:0,class:"mempty small"},Sz=["onClick"],Cz={class:"m"},_z={class:"s"},$z={key:0,class:"att"},Mz=["disabled","onClick"],xz=["onClick"],Iz=Ie({__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}=Ue(),s=e,o=t;function i(){o("update:modelValue",!1)}function u(P){o("select",P),i()}function p(P){o("createInWorkspace",P),i()}function f(){o("create"),i()}function v(){o("addWorkspace"),i()}const w=I(new Set);function x(P){return w.value.has(P)}function g(P){const L=new Set(w.value);L.has(P)?L.delete(P):L.add(P),w.value=L,S.value=null,R.value=null}const m=I(new Set);function M(P){return m.value.has(P)}function h(P){const L=new Set(m.value);L.has(P)?L.delete(P):L.add(P),m.value=L}function y(P){if(M(P.workspace.id))return P.sessions;const L=P.sessions.slice(0,P.initialCount);if(s.activeId&&!L.some(ne=>ne.id===s.activeId)){const ne=P.sessions.find(oe=>oe.id===s.activeId);if(ne)return[...L,ne]}return L}function k(P){if(!m.value.has(P)){const L=new Set(m.value);L.add(P),m.value=L}o("loadMore",P)}function T(P){return s.attentionByWorkspace[P]??0}const S=I(null);function O(P){S.value=S.value===P?null:P,R.value=null}function D(P){S.value=null;const ne=(typeof window<"u"?window.prompt(n("sidebar.rename"),P.title):null)?.trim();ne&&o("rename",P.id,ne)}function E(P){S.value=null,o("archive",P)}const R=I(null);function q(P){R.value=R.value===P?null:P,S.value=null}function V(P){un(P.root),R.value=null}function b(P){R.value=null,o("deleteWorkspace",P.id)}return(P,L)=>(a(),G(_d,{"model-value":e.modelValue,"onUpdate:modelValue":L[2]||(L[2]=ne=>o("update:modelValue",ne))},{default:H(()=>[r("button",{type:"button",class:"newrow",onClick:f},[$(se,{name:"message",size:"sm"}),re(" "+d(l(n)("sidebar.newChat")),1)]),r("button",{type:"button",class:"newrow secondary",onClick:v},[$(se,{name:"folder",size:"sm"}),re(" "+d(l(n)("sidebar.newWorkspace")),1)]),r("div",mz,[e.groups.length===0?(a(),c("div",vz,d(l(n)("workspace.noWorkspace")),1)):A("",!0),(a(!0),c(he,null,Pe(e.groups,ne=>(a(),c("div",{key:ne.workspace.id,class:"mgroup"},[r("div",{class:pe(["mgh",{on:ne.workspace.id===e.activeWorkspaceId}]),onClick:oe=>g(ne.workspace.id)},[x(ne.workspace.id)?(a(),G(se,{key:0,class:"mgh-folder",name:"folder-closed",size:"sm"})):(a(),G(se,{key:1,class:"mgh-folder",name:"folder",size:"sm"})),r("div",gz,[r("span",yz,d(ne.workspace.name),1),$(ot,{text:ne.workspace.root},{default:H(()=>[r("span",kz,d(ne.workspace.shortPath),1)]),_:2},1032,["text"])]),x(ne.workspace.id)&&T(ne.workspace.id)>0?(a(),c("span",bz,d(T(ne.workspace.id)),1)):A("",!0),$(nt,{size:"lg",class:"mgh-more",label:l(n)("sidebar.options"),onClick:Re(oe=>q(ne.workspace.id),["stop"])},{default:H(()=>[$(se,{name:"dots-horizontal",size:"md"})]),_:1},8,["label","onClick"]),$(nt,{size:"lg",class:"mgh-add",label:l(n)("workspace.newInGroup"),onClick:Re(oe=>p(ne.workspace.id),["stop"])},{default:H(()=>[$(se,{name:"plus",size:"md"})]),_:1},8,["label","onClick"]),R.value===ne.workspace.id?(a(),G(Hs,{key:3,class:"kmenu wsmenu",onClick:L[0]||(L[0]=Re(()=>{},["stop"]))},{default:H(()=>[$(dt,{size:"lg",onClick:oe=>V(ne.workspace)},{default:H(()=>[re(d(l(n)("sidebar.copyPath")),1)]),_:1},8,["onClick"]),$(dt,{size:"lg",danger:"",onClick:oe=>b(ne.workspace)},{default:H(()=>[re(d(l(n)("sidebar.delete")),1)]),_:1},8,["onClick"])]),_:2},1024)):A("",!0)],10,hz),gt(r("div",null,[ne.sessions.length===0?(a(),c("div",wz,d(l(n)("sidebar.noSessions")),1)):A("",!0),(a(!0),c(he,null,Pe(y(ne),oe=>(a(),c("div",{key:oe.id,class:pe(["srow",{cur:oe.id===e.activeId}]),onClick:ge=>u(oe.id)},[r("div",Cz,[r("div",{class:pe(["t",{run:oe.busy,aborted:!oe.busy&&(e.attentionBySession[oe.id]??0)===0&&l(Iu)(oe)}])},d(oe.title),3),r("div",_z,d(oe.time),1)]),(e.attentionBySession[oe.id]??0)>0?(a(),c("span",$z,d(e.attentionBySession[oe.id]),1)):A("",!0),$(nt,{size:"lg",class:"kb",label:l(n)("sidebar.options"),onClick:Re(ge=>O(oe.id),["stop"])},{default:H(()=>[$(se,{name:"dots-horizontal",size:"md"})]),_:1},8,["label","onClick"]),S.value===oe.id?(a(),G(Hs,{key:1,class:"kmenu",onClick:L[1]||(L[1]=Re(()=>{},["stop"]))},{default:H(()=>[$(dt,{size:"lg",onClick:ge=>D(oe)},{default:H(()=>[re(d(l(n)("sidebar.rename")),1)]),_:1},8,["onClick"]),$(dt,{size:"lg",danger:"",onClick:ge=>E(oe.id)},{default:H(()=>[re(d(l(n)("sidebar.archive")),1)]),_:1},8,["onClick"])]),_:2},1024)):A("",!0)],10,Sz))),128)),ne.hasMore||ne.loadingMore?(a(),c("button",{key:1,type:"button",class:"mshow-more",disabled:ne.loadingMore,onClick:Re(oe=>k(ne.workspace.id),["stop"])},d(ne.loadingMore?l(n)("sidebar.loadingMore"):l(n)("sidebar.showMore",{count:Math.max(0,ne.workspace.sessionCount-ne.sessions.length)})),9,Mz)):A("",!0),ne.sessions.length>ne.initialCount?(a(),c("button",{key:2,type:"button",class:"mshow-more",onClick:Re(oe=>h(ne.workspace.id),["stop"])},d(M(ne.workspace.id)?l(n)("sidebar.showLess"):l(n)("sidebar.showAll",{count:ne.sessions.length-ne.initialCount})),9,xz)):A("",!0)],512),[[Jn,!x(ne.workspace.id)]])]))),128))])]),_:1},8,["model-value"]))}}),Az=Ee(Iz,[["__scopeId","data-v-53fda211"]]),Tz={class:"group-title"},Pz={class:"srow-main"},Ez={class:"srow-label"},Lz={class:"srow-sub"},Bz={class:"srow read-only"},Rz={class:"srow-main"},Oz={class:"srow-label"},Dz={key:0,class:"srow-sub"},zz={class:"cache-note"},Fz={class:"srow-main"},Nz={class:"srow-label"},qz={class:"srow-sub"},Wz=["aria-checked"],Hz={class:"srow-main"},Uz={class:"srow-label"},Vz={class:"srow-sub"},jz=["aria-checked"],Kz={class:"srow-main"},Gz={class:"srow-label"},Qz={class:"srow-sub"},Yz=["aria-checked"],Zz={class:"srow-main"},Xz={class:"srow-label"},Jz={class:"srow-sub"},eF=["aria-checked"],tF={class:"srow-main"},nF={class:"srow-label"},sF={class:"srow read-only"},oF={class:"srow-main"},iF={class:"srow-label"},aF={class:"srow-sub"},lF=["aria-label"],rF={class:"group-title"},uF={class:"srow-main"},cF={class:"srow-label"},dF={class:"srow-sub"},pF={class:"srow read-only pref"},fF={class:"srow-main"},mF={class:"srow-label"},vF={class:"srow read-only pref"},hF={class:"srow-main"},gF={class:"srow-label"},yF={class:"srow read-only pref"},kF={class:"srow-main"},bF={class:"srow-label"},wF={class:"num-field"},SF=["value","aria-label"],CF={class:"srow-main"},_F={class:"srow-label"},$F={class:"srow-sub"},MF=["aria-checked"],xF={class:"srow-main"},IF={class:"srow-label"},AF={class:"srow-main"},TF={class:"srow-label"},PF={key:2,class:"srow read-only"},EF={class:"srow-main"},LF={class:"srow-label"},BF={class:"srow-val dim"},RF={class:"arch-subhead"},OF={class:"arch-count"},DF={class:"arch-tools"},zF={key:0,class:"arch-empty"},FF={class:"arch-meta"},NF={class:"arch-name"},qF={class:"arch-time"},WF={key:2,class:"arch-empty"},HF=100,UF=Ie({__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},conversationToc:{type:Boolean},serverVersion:{default:""},models:{default:()=>[]}},emits:["update:modelValue","pickModel","setThinking","togglePlan","toggleGoal","toggleSwarm","toggleSupermoon","setPermission","setColorScheme","setUiFontSize","setConversationToc","login","logout"],setup(e,{emit:t}){const{t:n}=Ue(),s=e,o=t;function i(Z){o("setColorScheme",Z)}const u=["manual","yolo","auto"],p=_(()=>s.models?.find(Z=>Z.id===s.status?.modelId)),f=_(()=>Ki(p.value)),v=_(()=>Gi(p.value)),w=_(()=>Xo(p.value,s.thinking)),x=_(()=>v.value.includes(w.value)?w.value:""),g=_(()=>v.value.map(Z=>({value:Z,label:qa(Z)}))),m=_(()=>s.planMode===!0),M=_(()=>s.goalMode===!0),h=_(()=>s.swarmMode===!0),y=_(()=>s.supermoonMode===!0),k=_(()=>{const Z=s.status.permission;return Z==="yolo"?"var(--color-warning)":Z==="auto"?"var(--color-danger)":"var(--color-text-muted)"}),T=_(()=>{const Z=s.status.permission,U=n(Z==="yolo"?"mobile.permYoloSub":Z==="auto"?"mobile.permAutoSub":"mobile.permManualSub");return`${Z} · ${U}`}),S=_(()=>s.status.ctxMax>0?Math.min(100,Math.max(0,Math.ceil(s.status.ctxUsed/s.status.ctxMax*100))):0),O=_(()=>s.status.ctxMax>0?`${ms(s.status.ctxUsed)}/${ms(s.status.ctxMax)}`:n("status.statusNone"));function D(Z){o("setThinking",Cl(p.value,Z))}function E(){const Z=u.indexOf(s.status.permission),U=u[(Z+1)%u.length];o("setPermission",U)}function R(){o("pickModel"),o("update:modelValue",!1)}function q(){o("login"),o("update:modelValue",!1)}function V(){o("logout"),o("update:modelValue",!1)}const b=Ji(),P=I("main"),L=I([]),ne=I(!1),oe=I(!1),ge=I(""),Se=I("archived-desc");async function Q(){if(!ne.value){ne.value=!0,oe.value=!1;try{const Z=[];let U;for(;;){const ye=await b.loadArchivedSessions({beforeId:U,pageSize:HF});if(Z.push(...ye.items),!ye.hasMore||ye.items.length===0)break;const ae=ye.items.at(-1)?.id;if(ae===void 0)break;U=ae}L.value=Z,oe.value=!0}catch(Z){console.warn("loadAllArchived failed",Z)}finally{ne.value=!1}}}function ie(){P.value="archived",ge.value="",Q()}function X(){P.value="main"}const fe=_(()=>{const Z=ge.value.trim().toLowerCase();let U=L.value.filter(ye=>ye.archived===!0);return Z&&(U=U.filter(ye=>ye.title.toLowerCase().includes(Z))),U=U.slice(),Se.value==="archived-desc"?U.sort((ye,ae)=>ae.updatedAt.localeCompare(ye.updatedAt)):Se.value==="created-desc"?U.sort((ye,ae)=>ae.createdAt.localeCompare(ye.createdAt)):U.sort((ye,ae)=>ye.title.localeCompare(ae.title,"zh")),U});async function Ce(Z){await b.restoreSession(Z)&&(L.value=L.value.filter(ye=>ye.id!==Z))}function _e(Z){const U=new Date(Z);if(Number.isNaN(U.getTime()))return Z;const ye=ae=>String(ae).padStart(2,"0");return`${U.getFullYear()}-${ye(U.getMonth()+1)}-${ye(U.getDate())} ${ye(U.getHours())}:${ye(U.getMinutes())}`}return Oe(()=>s.modelValue,Z=>{Z||(P.value="main")}),(Z,U)=>(a(),G(_d,{"model-value":e.modelValue,title:l(n)("mobile.settingsTitle"),"onUpdate:modelValue":U[8]||(U[8]=ye=>o("update:modelValue",ye))},{default:H(()=>[P.value==="main"?(a(),c(he,{key:0},[r("div",Tz,d(l(n)("mobile.groupSession")),1),r("button",{type:"button",class:"srow",onClick:R},[r("span",Pz,[r("span",Ez,d(l(n)("status.statusModel")),1),r("span",Lz,d(e.status.model),1)]),U[9]||(U[9]=r("span",{class:"chev"},"›",-1))]),r("div",Bz,[r("span",Rz,[r("span",Oz,d(l(n)("status.statusThinking")),1),f.value==="unsupported"?(a(),c("span",Dz,d(l(n)("status.modeNotSupported")),1)):A("",!0)]),v.value.length>1?(a(),G(cn,{key:0,"model-value":x.value,options:g.value,size:"sm","onUpdate:modelValue":D},null,8,["model-value","options"])):(a(),c("span",{key:1,class:pe(["srow-val",{dim:w.value==="off"}])},d(w.value==="off"?l(n)("status.planOff"):l(qa)(w.value)),3))]),r("div",zz,d(l(n)("status.cacheNote")),1),r("button",{type:"button",class:"srow",onClick:U[0]||(U[0]=ye=>o("togglePlan"))},[r("span",Fz,[r("span",Nz,d(l(n)("status.statusPlanMode")),1),r("span",qz,d(l(n)("mobile.planModeSub")),1)]),r("span",{class:pe(["toggle",{on:m.value}]),role:"switch","aria-checked":m.value},null,10,Wz)]),r("button",{type:"button",class:"srow",onClick:U[1]||(U[1]=ye=>o("toggleSwarm"))},[r("span",Hz,[r("span",Uz,d(l(n)("status.statusSwarmMode")),1),r("span",Vz,d(l(n)("mobile.swarmModeSub")),1)]),r("span",{class:pe(["toggle",{on:h.value}]),role:"switch","aria-checked":h.value},null,10,jz)]),r("button",{type:"button",class:"srow",onClick:U[2]||(U[2]=ye=>o("toggleSupermoon"))},[r("span",Kz,[r("span",Gz,d(l(n)("status.statusSupermoonMode")),1),r("span",Qz,d(l(n)("mobile.supermoonModeSub")),1)]),r("span",{class:pe(["toggle",{on:y.value}]),role:"switch","aria-checked":y.value},null,10,Yz)]),r("button",{type:"button",class:"srow",onClick:U[3]||(U[3]=ye=>o("toggleGoal"))},[r("span",Zz,[r("span",Xz,d(l(n)("status.statusGoalMode")),1),r("span",Jz,d(l(n)("mobile.goalModeSub")),1)]),r("span",{class:pe(["toggle",{on:M.value}]),role:"switch","aria-checked":M.value},null,10,eF)]),r("button",{type:"button",class:"srow",onClick:E},[r("span",tF,[r("span",nF,d(l(n)("status.statusPermission")),1),r("span",{class:"srow-sub",style:rt({color:k.value})},d(T.value),5)]),U[10]||(U[10]=r("span",{class:"chev"},"›",-1))]),r("div",sF,[r("span",oF,[r("span",iF,d(l(n)("status.statusContext")),1),r("span",aF,d(O.value),1)]),r("span",{class:"ctx-meter","aria-label":O.value},[r("i",{style:rt({width:S.value+"%"})},null,4)],8,lF)]),r("div",rF,d(l(n)("mobile.groupApp")),1),r("button",{type:"button",class:"srow",onClick:ie},[r("span",uF,[r("span",cF,d(l(n)("mobile.archivedSessions")),1),r("span",dF,d(l(n)("mobile.archivedSessionsSub")),1)]),U[11]||(U[11]=r("span",{class:"chev"},"›",-1))]),r("div",pF,[r("span",fF,[r("span",mF,d(l(n)("theme.colorSchemeLabel")),1)]),$(cn,{"model-value":e.colorScheme??"system",options:[{value:"light",label:l(n)("theme.light")},{value:"dark",label:l(n)("theme.dark")},{value:"system",label:l(n)("theme.system")}],"onUpdate:modelValue":i},null,8,["model-value","options"])]),r("div",vF,[r("span",hF,[r("span",gF,d(l(n)("sidebar.language")),1)]),$(Sd)]),r("div",yF,[r("span",kF,[r("span",bF,d(l(n)("settings.uiFontSize")),1)]),r("label",wF,[r("input",{class:"num-input",type:"number",min:"12",max:"20",step:"1",value:e.uiFontSize,"aria-label":l(n)("settings.uiFontSize"),onInput:U[4]||(U[4]=ye=>o("setUiFontSize",Number(ye.target.value)))},null,40,SF),U[12]||(U[12]=r("span",{class:"num-unit"},"px",-1))])]),r("button",{type:"button",class:"srow",onClick:U[5]||(U[5]=ye=>o("setConversationToc",!e.conversationToc))},[r("span",CF,[r("span",_F,d(l(n)("settings.conversationToc")),1),r("span",$F,d(l(n)("settings.conversationTocHint")),1)]),r("span",{class:pe(["toggle",{on:e.conversationToc}]),role:"switch","aria-checked":e.conversationToc},null,10,MF)]),e.authReady?(a(),c("button",{key:0,type:"button",class:"srow acct out",onClick:V},[r("span",xF,[r("span",IF,d(l(n)("sidebar.signOut")),1)])])):(a(),c("button",{key:1,type:"button",class:"srow acct in",onClick:q},[r("span",AF,[r("span",TF,d(l(n)("sidebar.signIn")),1)])])),e.serverVersion?(a(),c("div",PF,[r("span",EF,[r("span",LF,d(l(n)("settings.serverVersion")),1)]),r("span",BF,d(e.serverVersion),1)])):A("",!0)],64)):(a(),c(he,{key:1},[r("div",RF,[r("button",{type:"button",class:"arch-back",onClick:X},[U[13]||(U[13]=r("span",{class:"chev back"},"‹",-1)),re(" "+d(l(n)("mobile.archivedBack")),1)]),r("span",OF,d(l(n)("mobile.sessionCount",{n:fe.value.length})),1)]),r("div",DF,[$(Kn,{class:"arch-search-input","model-value":ge.value,size:"sm",placeholder:l(n)("settings.archivedSearch"),"onUpdate:modelValue":U[6]||(U[6]=ye=>ge.value=ye)},null,8,["model-value","placeholder"]),$(cn,{size:"sm","model-value":Se.value,options:[{value:"archived-desc",label:l(n)("settings.archivedSortArchived")},{value:"created-desc",label:l(n)("settings.archivedSortCreated")},{value:"name-asc",label:l(n)("settings.archivedSortName")}],"onUpdate:modelValue":U[7]||(U[7]=ye=>Se.value=ye)},null,8,["model-value","options"])]),ne.value?(a(),c("div",zF,d(l(n)("settings.archivedLoadingAll")),1)):fe.value.length>0?(a(!0),c(he,{key:1},Pe(fe.value,ye=>(a(),c("div",{key:ye.id,class:"arch-row"},[r("div",FF,[r("div",NF,d(ye.title),1),r("div",qF,d(l(n)("settings.archivedAt",{time:_e(ye.updatedAt)})),1)]),$(qe,{variant:"secondary",size:"sm",onClick:ae=>Ce(ye.id)},{default:H(()=>[re(d(l(n)("settings.archivedRestore")),1)]),_:1},8,["onClick"])]))),128)):(a(),c("div",WF,d(L.value.length===0?l(n)("settings.archivedEmpty"):l(n)("settings.archivedNoMatch")),1))],64))]),_:1},8,["model-value","title"]))}}),VF=Ee(UF,[["__scopeId","data-v-2ff34053"]]),jF={class:"ob-brand"},KF={class:"ob-brand-text"},GF={class:"ob-title"},QF={class:"ob-sub"},YF={class:"ob-sec"},ZF={class:"ob-label"},XF={class:"ob-sec"},JF={class:"ob-label"},eN={class:"ob-sec"},tN={class:"ob-label"},nN=Ie({__name:"Onboarding",emits:["complete","skip"],setup(e,{emit:t}){const n=t,{t:s,locale:o}=Ue(),{colorScheme:i,accent:u,setColorScheme:p,setAccent:f}=tc();function v(x){o.value!==x&&Pu(x)}function w(){n("complete")}return(x,g)=>(a(),G(vs,{open:!0,size:"md","close-on-overlay":!1,"close-on-esc":!1,onClose:g[3]||(g[3]=m=>n("skip"))},{head:H(()=>[r("div",jF,[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",KF,[r("div",GF,d(l(s)("onboarding.title")),1),r("div",QF,d(l(s)("onboarding.subtitle")),1)])])]),default:H(()=>[r("section",YF,[r("div",ZF,d(l(s)("onboarding.languageLabel")),1),$(cn,{"model-value":l(o),options:l(Tu).map(m=>({value:m.code,label:m.label})),"onUpdate:modelValue":g[0]||(g[0]=m=>v(m))},null,8,["model-value","options"])]),r("section",XF,[r("div",JF,d(l(s)("theme.colorSchemeLabel")),1),$(cn,{"model-value":l(i),options:[{value:"light",label:l(s)("theme.light")},{value:"dark",label:l(s)("theme.dark")},{value:"system",label:l(s)("theme.system")}],"onUpdate:modelValue":g[1]||(g[1]=m=>l(p)(m))},null,8,["model-value","options"])]),r("section",eN,[r("div",tN,d(l(s)("theme.accentLabel")),1),$(cn,{"model-value":l(u),options:[{value:"blue",label:l(s)("theme.accentBlue")},{value:"mono",label:l(s)("theme.accentBlack")}],"onUpdate:modelValue":g[2]||(g[2]=m=>l(f)(m))},null,8,["model-value","options"])]),$(qe,{variant:"primary",size:"lg",class:"ob-start",onClick:w},{default:H(()=>[re(d(l(s)("onboarding.start")),1)]),_:1})]),_:1}))}}),sN=Ee(nN,[["__scopeId","data-v-fbdd3eab"]]),oN=["aria-label"],iN={class:"gload-box"},aN={class:"gload-text"},lN={key:0,class:"gload-issue"},rN={class:"gload-issue-detail"},uN=Ie({__name:"GlobalLoading",props:{issue:{}},setup(e){const{t}=Ue();return(n,s)=>(a(),c("div",{class:"gload",role:"status","aria-label":l(t)("app.connecting")},[r("div",iN,[s[0]||(s[0]=sl(' ',1)),$(Dt,{size:"md",label:l(t)("app.connecting")},null,8,["label"]),r("div",aN,d(l(t)("app.connecting")),1),e.issue?(a(),c("div",lN,[r("div",null,d(l(t)("app.connectRetrying")),1),r("div",rN,d(e.issue),1)])):A("",!0)])],8,oN))}}),cN=Ee(uN,[["__scopeId","data-v-0b6dec6a"]]),dN={class:"kap-root"},pN={class:"kap-head"},fN={class:"kap-count"},mN={class:"kap-head-actions"},vN={class:"kap-filters"},hN=["value"],gN={class:"kap-check"},yN={class:"kap-check"},kN={class:"kap-view-toggle",role:"group"},bN={key:0,class:"kap-empty"},wN=["onClick"],SN={class:"kap-ts"},CN={class:"kap-label"},_N={key:0,class:"kap-detail"},$N={class:"kap-detail-actions"},MN=["onClick"],xN={key:1,class:"kap-agg"},IN={class:"mono"},AN={class:"mono"},TN={class:"num"},PN={class:"num"},EN={key:0},LN={class:"mono"},BN={class:"num"},RN={class:"num"},ON={key:0},DN=Ie({__name:"KapDebugView",emits:["close"],setup(e,{emit:t}){const n=t,s=I("all"),o=I(""),i=I(""),u=I(!1),p=I("timeline"),f=_(()=>(al.value,[...M0()])),v=_(()=>{const V=new Set;for(const b of f.value)b.sessionId&&V.add(b.sessionId);return[...V].sort()});function w(V){return V.kind==="rest:error"||V.code!==void 0&&V.code!==0||V.eventType==="error"||V.eventType==="parse-error"}const x=_(()=>{const V=o.value.trim().toLowerCase();return f.value.filter(b=>!(s.value!=="all"&&b.source!==s.value||i.value&&b.sessionId!==i.value||u.value&&!w(b)||V&&!`${b.label} ${b.kind} ${b.eventType??""} ${b.sessionId??""} ${b.requestId??""}`.toLowerCase().includes(V)))}),g=_(()=>{const V=new Map;for(const b of x.value){if(b.kind!=="ws:in"&&b.kind!=="ws:out")continue;const P=b.kind==="ws:in"?"←":"→",L=`${P} ${b.eventType??"?"} @ ${b.sessionId??"-"}`,ne=V.get(L)??{key:L,sessionId:b.sessionId??"-",eventType:b.eventType??"?",dir:P,count:0};ne.count++,b.seq!==void 0&&(ne.lastSeq=b.seq),V.set(L,ne)}return[...V.values()].sort((b,P)=>P.count-b.count)}),m=_(()=>{const V=new Map;for(const b of x.value){if(b.source!=="rest"||b.kind==="rest:request")continue;const P=`${b.method??"?"} ${b.path??"?"}`,L=V.get(P)??{count:0,errors:0,totalMs:0,timed:0};L.count++,w(b)&&L.errors++,b.durationMs!==void 0&&(L.totalMs+=b.durationMs,L.timed++),V.set(P,L)}return[...V.entries()].map(([b,P])=>({key:b,count:P.count,errors:P.errors,avgMs:P.timed>0?Math.round(P.totalMs/P.timed):0})).sort((b,P)=>P.count-b.count)}),M=I(null),h=I(!0),y=I(null),k=I(null);Oe(()=>x.value.length,async()=>{if(!h.value||p.value!=="timeline")return;await Ke();const V=y.value;V&&(V.scrollTop=V.scrollHeight)});function T(V){M.value=M.value===V?null:V}function S(V){const b=new Date(V),P=(L,ne=2)=>String(L).padStart(ne,"0");return`${P(b.getHours())}:${P(b.getMinutes())}:${P(b.getSeconds())}.${P(b.getMilliseconds(),3)}`}function O(V){return JSON.stringify(V,null,2)}async function D(V){await un(O(V))&&(k.value=V.id,setTimeout(()=>{k.value===V.id&&(k.value=null)},1500))}function E(){Bu(x.value)}function R(V){return w(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,b)=>(a(),c("section",dN,[r("header",pN,[b[11]||(b[11]=r("strong",null,"KAP debug",-1)),r("span",fN,d(x.value.length)+"/"+d(f.value.length),1),r("div",mN,[r("button",{type:"button",class:pe({on:l(Vo)}),onClick:b[0]||(b[0]=P=>Vo.value=!l(Vo))},d(l(Vo)?"resume":"pause"),3),r("button",{type:"button",onClick:b[1]||(b[1]=P=>l(x0)())},"clear"),r("button",{type:"button",onClick:b[2]||(b[2]=P=>E())},"export jsonl"),$(ot,{text:"Close window"},{default:H(()=>[r("button",{type:"button",onClick:b[3]||(b[3]=P=>n("close"))},"✕")]),_:1})])]),r("div",vN,[gt(r("select",{"onUpdate:modelValue":b[4]||(b[4]=P=>s.value=P),"aria-label":"Source filter"},[...b[12]||(b[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),[[Dl,s.value]]),gt(r("select",{"onUpdate:modelValue":b[5]||(b[5]=P=>i.value=P),"aria-label":"Session filter"},[b[13]||(b[13]=r("option",{value:""},"all sessions",-1)),(a(!0),c(he,null,Pe(v.value,P=>(a(),c("option",{key:P,value:P},d(P),9,hN))),128))],512),[[Dl,i.value]]),gt(r("input",{"onUpdate:modelValue":b[6]||(b[6]=P=>o.value=P),type:"text",placeholder:"filter (type / path / id)","aria-label":"Text filter"},null,512),[[qn,o.value]]),r("label",gN,[gt(r("input",{"onUpdate:modelValue":b[7]||(b[7]=P=>u.value=P),type:"checkbox"},null,512),[[zl,u.value]]),b[14]||(b[14]=re(" errors",-1))]),r("label",yN,[gt(r("input",{"onUpdate:modelValue":b[8]||(b[8]=P=>h.value=P),type:"checkbox"},null,512),[[zl,h.value]]),b[15]||(b[15]=re(" follow",-1))]),r("div",kN,[r("button",{type:"button",class:pe({on:p.value==="timeline"}),onClick:b[9]||(b[9]=P=>p.value="timeline")},"timeline",2),r("button",{type:"button",class:pe({on:p.value==="aggregate"}),onClick:b[10]||(b[10]=P=>p.value="aggregate")},"aggregate",2)])]),p.value==="timeline"?(a(),c("div",{key:0,ref_key:"listRef",ref:y,class:"kap-list"},[x.value.length===0?(a(),c("div",bN," No trace entries yet. REST calls and WS frames will appear here. ")):A("",!0),(a(!0),c(he,null,Pe(x.value,P=>(a(),c("div",{key:P.id,class:"kap-row-wrap"},[r("button",{type:"button",class:pe(["kap-row",{expanded:M.value===P.id}]),onClick:L=>T(P.id)},[r("span",SN,d(S(P.ts)),1),r("span",{class:pe(["kap-badge",R(P)])},d(q(P)),3),r("span",CN,d(P.label),1)],10,wN),M.value===P.id?(a(),c("div",_N,[r("div",$N,[r("button",{type:"button",onClick:L=>D(P)},d(k.value===P.id?"copied ✓":"copy json"),9,MN)]),r("pre",null,d(O(P)),1)])):A("",!0)]))),128))],512)):(a(),c("div",xN,[b[20]||(b[20]=r("h4",null,"WS frames by session / type",-1)),r("table",null,[b[17]||(b[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,[(a(!0),c(he,null,Pe(g.value,P=>(a(),c("tr",{key:P.key},[r("td",null,d(P.dir),1),r("td",IN,d(P.eventType),1),r("td",AN,d(P.sessionId),1),r("td",TN,d(P.count),1),r("td",PN,d(P.lastSeq??"—"),1)]))),128)),g.value.length===0?(a(),c("tr",EN,[...b[16]||(b[16]=[r("td",{colspan:"5",class:"kap-empty"},"no ws frames",-1)])])):A("",!0)])]),b[21]||(b[21]=r("h4",null,"REST by endpoint",-1)),r("table",null,[b[19]||(b[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,[(a(!0),c(he,null,Pe(m.value,P=>(a(),c("tr",{key:P.key},[r("td",LN,d(P.key),1),r("td",BN,d(P.count),1),r("td",{class:pe(["num",{err:P.errors>0}])},d(P.errors),3),r("td",RN,d(P.avgMs),1)]))),128)),m.value.length===0?(a(),c("tr",ON,[...b[18]||(b[18]=[r("td",{colspan:"4",class:"kap-empty"},"no rest calls",-1)])])):A("",!0)])])]))]))}}),zN=Ee(DN,[["__scopeId","data-v-3cda6fe3"]]),FN=Ie({__name:"DebugPanel",setup(e){const t=I(!1);let n=null,s=null,o=null;const i=["data-color-scheme","data-accent"];function u(w){const x=document.documentElement,g=w.documentElement;for(const m of i){const M=x.getAttribute(m);M!==null?g.setAttribute(m,M):g.removeAttribute(m)}}function p(w){const x=w.document;x.title="KAP debug";const g=x.createElement("base");g.href=location.href,x.head.appendChild(g);for(const M of Array.from(document.querySelectorAll('style, link[rel="stylesheet"]')))x.head.appendChild(M.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 w=window.open("","kap-debug","popup=yes,width=1040,height=760");if(!w)return;n=w;const x=p(w),g=yu(zN,{onClose:()=>w.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]}),w.addEventListener("pagehide",f),w.addEventListener("beforeunload",f)}return ht(()=>{v()}),Ln(()=>{n&&!n.closed&&n.close(),f()}),(w,x)=>(a(),G(ot,{text:t.value?"Focus KAP debug window":"Open KAP debug window"},{default:H(()=>[r("button",{class:"kap-fab",type:"button",onClick:v}," KAP ")]),_:1},8,["text"]))}}),NN=Ee(FN,[["__scopeId","data-v-21346738"]]);function qN({client:e,authLogoRef:t}){const n=_(()=>e.authReady.value),s=_(()=>e.initialized.value&&!n.value),o="/login",i=I(null);let u=null;function p(){return typeof window>"u"?"/":`${window.location.pathname}${window.location.search}${window.location.hash}`}function f(w){typeof window>"u"||window.history.replaceState(window.history.state,"",w)}Oe(s,w=>{if(!(typeof window>"u")){if(w){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 w=t.value;w&&(w.classList.remove("blink-now"),w.getBoundingClientRect(),w.classList.add("blink-now"),u!==null&&clearTimeout(u),u=setTimeout(()=>{u=null,w.classList.remove("blink-now")},300))}return kt(()=>{u!==null&&clearTimeout(u)}),{showAuthGate:s,blinkAuthLogo:v}}function WN({running:e,showAuthGate:t}){const{t:n}=Ue(),s=["◐","◓","◑","◒"],o=I(0);let i=null;function u(){i===null&&(o.value=0,i=setInterval(()=>{o.value=(o.value+1)%s.length},250))}function p(){i!==null&&(clearInterval(i),i=null),o.value=0}Oe(e,v=>{v?u():p()},{immediate:!0});const f=_(()=>{const v=e.value?`${s[o.value]} `:"";return t.value?`${v}${n("app.authPageTitle")} - Kimi Code Web`:`${v}Kimi Code Web`});Ld(()=>{typeof document<"u"&&(document.title=f.value)}),kt(()=>{p()})}const $d=I(typeof window>"u"?0:window.innerWidth);let Ci=0,Vi=!1;function tl(){$d.value=window.innerWidth}function HN(){Vi||typeof window>"u"||(window.addEventListener("resize",tl),Vi=!0,tl())}function UN(){!Vi||typeof window>"u"||(window.removeEventListener("resize",tl),Vi=!1)}function Md(e,t,n){return Math.max(t,e-n)}function nl(e,t,n){return Math.min(n,Math.max(t,e))}function xd(){return ht(()=>{Ci+=1,HN()}),Ln(()=>{Ci=Math.max(0,Ci-1),Ci===0&&UN()}),{viewportWidth:$d}}const VN="kimi-web.file-preview-width",Mo=320;function jN({client:e,sideWidth:t,detailTarget:n,closeFilePreview:s}){const{viewportWidth:o}=xd(),i=_(()=>Math.max(0,o.value-t.value)),u=_(()=>Md(i.value,Mo,Mo));function p(B){return nl(Math.round(B),Mo,u.value)}function f(){return p(i.value/2)}const v=_(()=>f()),w=I(v.value),x=_(()=>nl(w.value,Mo,u.value)),g=I(null),m=_(()=>{const B=g.value;if(!B)return null;const me=e.turns.value.find(He=>He.id===B.turnId)?.blocks?.[B.blockIndex];return me?.kind==="thinking"?me.thinking:null}),M=_(()=>m.value!==null);function h(B){const J=g.value;if(J&&J.turnId===B.turnId&&J.blockIndex===B.blockIndex){g.value=null,n.value==="thinking"&&(n.value=null);return}n.value="thinking",g.value=B}function y(){g.value=null,n.value==="thinking"&&(n.value=null)}const k=I(null),T=_(()=>{const B=k.value;if(!B)return null;const J=e.turns.value.find(me=>me.id===B.turnId);return J?.role==="compaction"&&J.text?J.text:null}),S=_(()=>T.value!==null);function O(B){if(k.value?.turnId===B.turnId){k.value=null,n.value==="compaction"&&(n.value=null);return}n.value="compaction",k.value=B}function D(){k.value=null,n.value==="compaction"&&(n.value=null)}const E=I(null);function R(B){const J=e.activeAppTasks.value,me=J.find(De=>De.id===B)??J.find(De=>De.parentToolCallId===B);if(me)return me.id;const He=J.filter(De=>De.kind==="subagent"&&!De.parentToolCallId);if(He.length===1)return He[0].id}const q=_(()=>{const B=E.value;if(!B)return null;const J=e.activeAppTasks.value.find(me=>me.id===B.subagentId);return J?Vb(J):null}),V=_(()=>q.value!==null);function b(B){const J=R(B);if(J){if(E.value?.subagentId===J){E.value=null,n.value==="agent"&&(n.value=null);return}E.value={subagentId:J},n.value="agent"}}function P(){E.value=null,n.value==="agent"&&(n.value=null)}const L=I(null),ne=_(()=>{const B=L.value;if(!B)return null;const J=RC(e.turns.value,B);return J?{id:B,title:Ks(J.name),path:BC(J.arg),lines:J.status==="error"?null:Yc(J),output:J.output}:null}),oe=_(()=>ne.value!==null);function ge(B){if(n.value==="toolDiff"&&L.value===B){Se();return}n.value="toolDiff",L.value=B}function Se(){L.value=null,n.value==="toolDiff"&&(n.value=null)}const Q=I("list"),ie=I(null);function X(){if(n.value==="diff"){fe();return}n.value="diff",Q.value="list",ie.value=null;const B=e.activeSessionId.value;B&&e.loadGitStatus(B)}function fe(){n.value==="diff"&&(n.value=null),Q.value="list",ie.value=null,e.clearFileDiff()}async function Ce(B){Q.value="detail",ie.value=B,await e.loadFileDiff(B)}async function _e(B){!e.activeSessionId.value&&e.activeWorkspaceId.value?await e.startSessionAndOpenSideChat(e.activeWorkspaceId.value,B):await e.openSideChat(B),n.value="btw"}function Z(){e.closeSideChat(),n.value==="btw"&&(n.value=null)}function U(){n.value==="btw"&&(n.value=null)}const ye=_(()=>e.sideChatVisible.value),ae=_(()=>n.value!==null&&(n.value!=="thinking"||M.value)&&(n.value!=="compaction"||S.value)&&(n.value!=="agent"||V.value)&&(n.value!=="toolDiff"||oe.value)&&(n.value!=="btw"||ye.value)),te=I(!1),ce=I({});function Be(){switch(n.value){case"thinking":return g.value?{kind:"thinking",...g.value}:null;case"compaction":return k.value?{kind:"compaction",...k.value}:null;case"agent":return E.value?{kind:"agent",...E.value}:null;case"toolDiff":return L.value?{kind:"toolDiff",toolId:L.value}:null;case"btw":return{kind:"btw"};default:return null}}function Y(B){if(B)switch(B.kind){case"thinking":g.value={turnId:B.turnId,blockIndex:B.blockIndex},n.value="thinking";break;case"compaction":k.value={turnId:B.turnId},n.value="compaction";break;case"agent":E.value={subagentId:B.subagentId},n.value="agent";break;case"toolDiff":L.value=B.toolId,n.value="toolDiff";break;case"btw":e.sideChatVisible.value&&(n.value="btw");break}}function ve(){return n.value==="thinking"&&M.value?(y(),!0):n.value==="compaction"&&S.value?(D(),!0):n.value==="agent"&&V.value?(P(),!0):n.value==="toolDiff"&&oe.value?(Se(),!0):n.value==="file"?(s(),!0):n.value==="diff"?(fe(),!0):n.value==="btw"?(Z(),!0):!1}return Oe(e.activeSessionId,(B,J)=>{if(J){const me=Be();me?ce.value[J]=me:delete ce.value[J]}s(),y(),D(),P(),Se(),fe(),U(),B&&Y(ce.value[B])}),{PREVIEW_WIDTH_KEY:VN,PREVIEW_MIN:Mo,previewDefaultWidth:v,previewMax:u,previewWidth:w,previewPanelWidth:x,thinkingPanelText:m,thinkingVisible:M,openThinkingPanel:h,closeThinkingPanel:y,compactionPanelText:T,compactionPanelVisible:S,openCompactionPanel:O,closeCompactionPanel:D,agentPanelMember:q,agentPanelVisible:V,openAgentPanel:b,closeAgentPanel:P,toolDiffTarget:ne,toolDiffVisible:oe,openToolDiff:ge,closeToolDiff:Se,detailDiffMode:Q,detailDiffPath:ie,openDiffDetail:X,closeDiffDetail:fe,selectDiffFile:Ce,btwVisible:ye,openSideChatTab:_e,closeSideChat:Z,hideSideChatPanel:U,sidePanelVisible:ae,panelDragging:te,closeOpenSidePanel:ve}}const KN=We.sidebarWidth,fu=We.sidebarCollapsed,mu=270,Ta=220,GN=480,QN=320;function YN(e={}){const{viewportWidth:t}=xd(),n=I(mu),s=I(!1),o=I(null),i=I(!1),u=_(()=>{const g=QN+(Wo(e.previewOpen)?Mo:0);return Math.min(GN,Md(t.value,Ta,g))}),p=_(()=>nl(n.value,Ta,u.value)),f=_(()=>Wo(e.isNarrow)?o.value??!0:s.value);function v(){try{s.value=It(fu)==="true"}catch{s.value=!1}}function w(){try{Bt(fu,String(s.value))}catch{}}Oe(()=>Wo(e.isNarrow),g=>{g||(o.value=null)},{flush:"sync"});function x(){if(Wo(e.isNarrow)){o.value=!f.value;return}s.value=!s.value,w()}return{SIDEBAR_WIDTH_KEY:KN,SIDEBAR_DEFAULT:mu,SIDEBAR_MIN:Ta,sidebarMax:u,sessionColWidth:n,effectiveSidebarCollapsed:f,sidebarCollapsed:s,sidebarDragging:i,sideWidth:p,loadSidebarCollapsed:v,toggleSidebarCollapse:x}}const ZN=640,XN=`(max-width: ${ZN}px)`;function JN(){const e=I(!1);if(typeof window>"u"||typeof window.matchMedia!="function")return e;const t=window.matchMedia(XN);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 eq(){const e=I(!1),t=ud(z8,n=>{e.value=n});return kt(t),e}const tq={class:"server-auth-overlay",role:"dialog","aria-modal":"true","aria-labelledby":"server-auth-title"},nq={class:"server-auth-card"},sq={class:"server-auth-head"},oq={id:"server-auth-title",class:"server-auth-title"},iq={class:"server-auth-hint"},aq={class:"server-auth-body"},lq={class:"server-auth-foot"},rq=Ie({__name:"ServerAuthDialog",setup(e){const{t}=Ue(),n=I(""),s=I(null),o=I(!1);ht(()=>{Ke(()=>s.value?.focus())});function i(){const p=n.value;!p||o.value||(o.value=!0,Vu(p),window.location.reload())}function u(p){p.key==="Enter"&&(p.preventDefault(),i())}return(p,f)=>(a(),c("div",tq,[r("div",nq,[r("div",sq,[r("h1",oq,d(l(t)("serverAuth.title")),1),r("p",iq,d(l(t)("serverAuth.hint",{password:"KIMI_CODE_PASSWORD"})),1)]),r("div",aq,[$(Kn,{ref_key:"inputRef",ref:s,modelValue:n.value,"onUpdate:modelValue":f[0]||(f[0]=v=>n.value=v),type:"password",autocomplete:"current-password",placeholder:l(t)("serverAuth.placeholder"),disabled:o.value,onKeydown:u},null,8,["modelValue","placeholder","disabled"])]),r("div",lq,[$(qe,{variant:"primary",disabled:!n.value||o.value,loading:o.value,onClick:i},{default:H(()=>[re(d(o.value?l(t)("serverAuth.connecting"):l(t)("serverAuth.connect")),1)]),_:1},8,["disabled","loading"])])])]))}}),uq=Ee(rq,[["__scopeId","data-v-469e14bc"]]),cq=["aria-label"],dq=Ie({__name:"InternalBuildBanner",setup(e){const{t}=Ue(),n=r3;return(s,o)=>l(n)?(a(),c("span",{key:0,class:"internal-build-tag",role:"note","aria-label":l(t)("app.internalBuildBanner")},[$(se,{name:"alert-triangle",size:"sm","aria-hidden":"true"}),r("span",null,d(l(t)("app.internalBuildBanner")),1)],8,cq)):A("",!0)}}),pq=Ee(dq,[["__scopeId","data-v-086c00dc"]]),fq={class:"app-shell"},mq={key:1,class:"auth-page"},vq={class:"auth-page-inner"},hq={class:"auth-page-copy"},gq=["aria-label","aria-hidden"],yq=Ie({__name:"App",setup(e){Wy();const t=I(!1);let n=null;const s=Ji(),o=_(()=>!s.dangerousBypassAuth.value&&t.value);Io("resolveImage",s.resolveImageUrl),Io("resolveSwarmMembers",Ae=>s.swarmMembersByToolCallId.value.get(Ae)??[]);const{t:i}=Ue(),{confirm:u}=go(),p=ts(),f=JN(),v=eq(),w=I(!1),x=I(!1),g=_(()=>{const Ae=s.activeSessionId.value;return s.sessions.value.find(j=>j.id===Ae)?.title??""}),m=_(()=>s.visibleWorkspace.value?.sessionCount??0),M=_(()=>s.activity.value!=="idle"),h=I(null),{showAuthGate:y,blinkAuthLogo:k}=qN({client:s,authLogoRef:h});WN({running:M,showAuthGate:y});function T(Ae){const j=s.models.value.find(Ss=>Ss.id===s.status.value.modelId),ee=Gi(j),ft=ee.indexOf(Xo(j,Ae)),Nn=ee[(ft+1)%ee.length]??ee[0]??"off";return Cl(j,Nn)}const S=_(()=>{const Ae=s.models.value.find(j=>j.id===s.status.value.modelId);return Xo(Ae,s.thinking.value)}),O=I(!s.onboarded.value);function D(){s.setOnboarded(!0),O.value=!1}function E(){O.value=!0}let R=0;function q(){const Ae=window.visualViewport,j=document.documentElement.style;j.setProperty("--app-height",`${Ae?.height??window.innerHeight}px`),j.setProperty("--app-top",`${Ae?.offsetTop??0}px`)}function V(){R||(R=requestAnimationFrame(()=>{R=0,q()}))}ht(()=>{n=Vy(()=>{t.value=!0,s.clearDangerousBypassAuth()}),s.load(),me(),q(),window.visualViewport?.addEventListener("resize",V),window.visualViewport?.addEventListener("scroll",V),window.addEventListener("resize",V),document.addEventListener("keydown",b,!0)}),kt(()=>{document.removeEventListener("keydown",b,!0),window.visualViewport?.removeEventListener("resize",V),window.visualViewport?.removeEventListener("scroll",V),window.removeEventListener("resize",V),R&&(cancelAnimationFrame(R),R=0),document.documentElement.style.removeProperty("--app-height"),document.documentElement.style.removeProperty("--app-top"),n!==null&&(n(),n=null)});function b(Ae){Ae.key==="Escape"&&(we.value||An()&&(Ae.stopPropagation(),Ae.preventDefault()))}const P=I(null),L=I(!1);Oe(s.activeSessionId,()=>{L.value=!0,Ke(()=>{L.value=!1})});const{previewTarget:ne,previewFile:oe,previewLoading:ge,previewError:Se,previewDownloadUrl:Q,previewExternalActions:ie,openFilePreview:X,closeFilePreview:fe,openPreviewInEditor:Ce,revealPreviewFile:_e}=NL({client:s,detailTarget:P}),Z=qL(),U=_(()=>f.value||v.value),ye=_(()=>P.value!==null&&!U.value),{SIDEBAR_WIDTH_KEY:ae,SIDEBAR_DEFAULT:te,SIDEBAR_MIN:ce,sidebarMax:Be,sessionColWidth:Y,effectiveSidebarCollapsed:ve,sidebarDragging:B,sideWidth:J,loadSidebarCollapsed:me,toggleSidebarCollapse:He}=YN({previewOpen:ye,isNarrow:v}),{PREVIEW_WIDTH_KEY:De,PREVIEW_MIN:an,previewDefaultWidth:Fe,previewMax:Ze,previewWidth:Ve,previewPanelWidth:At,thinkingPanelText:bt,thinkingVisible:Ct,openThinkingPanel:dn,closeThinkingPanel:Kt,compactionPanelText:zt,compactionPanelVisible:hs,openCompactionPanel:nn,closeCompactionPanel:ut,agentPanelMember:Ft,openAgentPanel:In,closeAgentPanel:_t,toolDiffTarget:pn,openToolDiff:Nt,closeToolDiff:gn,detailDiffMode:Tt,detailDiffPath:fn,openDiffDetail:mn,closeDiffDetail:Rn,selectDiffFile:yn,btwVisible:Gn,openSideChatTab:$t,closeSideChat:Zt,sidePanelVisible:Gt,panelDragging:kn,closeOpenSidePanel:An}=jN({client:s,sideWidth:J,detailTarget:P,closeFilePreview:fe}),Rt=I(null),sn=I(!1),qt=I(!1),Xt=I(!1),Wt=I(!1),ct=I(!1),lt=I(!1),on=I(null),Jt=I(null),we=_(()=>Co.value>0||sn.value||qt.value||Xt.value||Wt.value||ct.value||lt.value||O.value||w.value||x.value),be=I(!1),Ge=I(!1),Je=I(!1),at=I(!1),Ht=I(!1);async function Qt(){be.value=!0,Ge.value=!1,sn.value=!0;try{await s.refreshAllProviders()}catch{Ge.value=!0}finally{be.value=!1}}async function Pt(){Je.value=!0,at.value=!1,qt.value=!0;try{await s.loadProviders()}catch{at.value=!0}finally{Je.value=!1}}function Ut(){Xt.value=!0}async function Vt(Ae){sn.value=!1,await Tn(Ae)}async function Tn(Ae){await s.setModel(Ae)&&Ae!==s.defaultModel.value&&s.updateConfig({defaultModel:Ae})}async function gs(Ae){await s.addProvider(Ae)}async function Wn(Ae){await s.refreshProvider(Ae)}async function bn(Ae){await s.importCatalogProvider(Ae)}async function ns(Ae){await s.importRegistry(Ae)}async function ss(Ae){await u({title:i("sidebar.archive"),message:i("sidebar.archiveConfirm"),variant:"danger",action:()=>s.archiveSession(Ae)})}async function On(Ae){const j=s.workspacesView.value.find(ee=>ee.id===Ae)?.name??Ae;await u({title:i("sidebar.removeWorkspace"),message:i("workspace.removeWorkspaceConfirm",{name:j}),variant:"danger",action:()=>s.deleteWorkspace(Ae)})}async function en(Ae){await u({title:i("providers.delete"),message:i("providers.confirmDelete"),variant:"danger",action:()=>s.deleteProvider(Ae)})}async function Dn(Ae){Ht.value=!0;try{await s.updateConfig(Ae)&&await s.checkAuth()}finally{Ht.value=!1}}async function Hn(){return s.startOAuthLogin()}async function Qn(){return s.pollOAuthLogin()}async function ys(){return s.cancelOAuthLogin()}async function vn(){Xt.value=!1,await s.checkAuth(),await s.load()}async function os(Ae){await s.undo(1),await Ke(),Rt.value?.loadComposerForEdit(Ae.text,Ae.attachments)}function zn(Ae){if(Ae.skillActivation?.name){s.activateSkill(Ae.skillActivation.name,Ae.skillActivation.args);return}const j=(Ae.attachments??[]).filter(ee=>ee.fileId!==void 0).map(ee=>({fileId:ee.fileId,kind:ee.kind,name:ee.name,mediaType:ee.mediaType,size:ee.size}));s.sendPrompt(Ae.text,j)}function is(Ae,j){if(Ae==="/compact"||Ae.startsWith("/compact ")){s.compact(Ae.slice(8).trim()||void 0);return}if(Ae==="/swarm"||Ae.startsWith("/swarm ")){const ee=Ae.slice(6).trim();ee==="on"?s.setSwarmMode(!0):ee==="off"?s.setSwarmMode(!1):ee?(s.setSwarmMode(!0),s.sendPrompt(ee)):s.toggleSwarmMode();return}if(Ae==="/goal"||Ae.startsWith("/goal ")){const ee=Ae.slice(5).trim();ee==="pause"||ee==="resume"||ee==="cancel"?s.controlGoal(ee):ee?s.createGoal(ee):s.setGoalMode(!0);return}if(Ae==="/btw"||Ae.startsWith("/btw ")){const ee=Ae.slice(4).trim();!ee&&s.sideChatVisible.value?Zt():$t(ee||void 0);return}switch(Ae){case"/new":case"/clear":Fn();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(T(s.thinking.value));break;case"/status":ct.value=!0;break;case"/login":Ut();break;default:{const ee=Ae.indexOf(" "),ft=h9((ee===-1?Ae:Ae.slice(0,ee)).slice(1)),Nn=ee===-1?void 0:Ae.slice(ee+1).trim()||void 0;if(!ft)break;!s.activeSessionId.value&&s.activeWorkspaceId.value?s.startSessionAndActivateSkill(s.activeWorkspaceId.value,ft,Nn,j):s.activateSkill(ft,Nn,void 0,j);break}}}function as(Ae){s.unqueue(Ae)}function Es(Ae){s.unqueue(Ae)}function ks(Ae){s.reorderQueue(Ae.from,Ae.to)}async function wn(Ae){const j=s.activeWorkspaceId.value;if(!s.activeSessionId.value&&j){await s.startSessionAndSendPrompt(j,Ae.text,Ae.attachments);return}if(!s.activeSessionId.value&&!j){on.value=Ae,Wt.value=!0;return}s.sendPrompt(Ae.text,Ae.attachments)}async function Ls(Ae){if(Jt.value=null,!await s.addWorkspaceByPath(Ae)){Jt.value=i("workspace.addFailed");return}Wt.value=!1;const ee=on.value;on.value=null;const ft=s.activeWorkspaceId.value;ee&&ft&&await s.startSessionAndSendPrompt(ft,ee.text,ee.attachments)}function Gs(){on.value=null,Jt.value=null,Wt.value=!1}function Bs(){Ke(()=>{Rt.value?.focusComposer()})}function Fn(){const Ae=s.activeWorkspaceId.value;Ae?s.openWorkspaceDraft(Ae):s.clearActiveSession(),Bs()}function bs(Ae){s.openWorkspaceDraft(Ae),Bs()}function ws(Ae){Ae&&window.open(Ae,"_blank","noopener")}return(Ae,j)=>(a(),c("div",fq,[o.value?(a(),G(uq,{key:0})):A("",!0),l(y)?(a(),c("section",mq,[r("div",vq,[(a(),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:j[0]||(j[0]=Re(()=>{},["prevent"])),onClick:j[1]||(j[1]=(...ee)=>l(k)&&l(k)(...ee))},[...j[104]||(j[104]=[sl(' ',2)])],544)),r("div",hq,[r("h1",null,d(l(i)("app.authPageTitle")),1),r("p",null,d(l(i)("app.authPageMessage")),1)]),$(qe,{class:"auth-page-btn",variant:"primary",onClick:Ut},{default:H(()=>[$(se,{name:"log-in",size:"md"}),r("span",null,d(l(i)("app.authPageLogin")),1)]),_:1})])])):(a(),c("div",{key:2,class:pe(["app",{mobile:l(f),"sidebar-collapsed":l(ve)&&!l(f),"macos-desktop":l(Eo)}]),style:rt({"--preview-w":l(At)+"px"})},[l(f)?(a(),G(az,{key:1,workspace:l(s).visibleWorkspace.value,"session-title":g.value,running:M.value,branch:l(s).status.value.branch,"session-count":m.value,onOpenSwitcher:j[19]||(j[19]=ee=>w.value=!0),onOpenSettings:j[20]||(j[20]=ee=>x.value=!0)},null,8,["workspace","session-title","running","branch","session-count"])):(a(),c(he,{key:0},[$(z3,{collapsed:l(ve),dragging:l(B),"col-width":l(J),"active-workspace":l(s).visibleWorkspace.value,"active-workspace-id":l(s).activeWorkspaceId.value,sessions:l(s).sessionsForView.value,groups:l(s).workspaceGroups.value,"pinned-session-ids":l(s).pinnedSessionIds.value,"active-id":l(s).activeSessionId.value,"attention-by-session":l(s).attentionBySession.value,"pending-by-session":l(s).pendingBySession.value,"unread-by-session":l(s).unreadBySession.value,"workspace-sort-mode":l(s).workspaceSortMode.value,backend:l(s).backend.value,onSelect:j[2]||(j[2]=ee=>l(s).selectSession(ee)),onCreate:Fn,onCreateInWorkspace:j[3]||(j[3]=ee=>bs(ee)),onSelectWorkspace:j[4]||(j[4]=ee=>l(s).openWorkspace(ee)),onAddWorkspace:j[5]||(j[5]=ee=>Wt.value=!0),onRename:j[6]||(j[6]=(ee,ft)=>l(s).renameSession(ee,ft)),onArchive:j[7]||(j[7]=ee=>ss(ee)),onFork:j[8]||(j[8]=ee=>l(s).forkSession(ee)),onExport:j[9]||(j[9]=ee=>l(s).exportSession(ee)),onRenameWorkspace:j[10]||(j[10]=(ee,ft)=>l(s).renameWorkspace(ee,ft)),onDeleteWorkspace:j[11]||(j[11]=ee=>On(ee)),onReorderWorkspaces:j[12]||(j[12]=ee=>l(s).reorderWorkspaces(ee)),onSetWorkspaceSortMode:j[13]||(j[13]=ee=>l(s).setWorkspaceSortMode(ee)),onLoadMoreSessions:j[14]||(j[14]=ee=>void l(s).loadMoreSessions(ee)),onLoadAllSessions:j[15]||(j[15]=ee=>void l(s).loadAllSessions()),onOpenSettings:j[16]||(j[16]=ee=>lt.value=!0),onCollapse:l(He)},null,8,["collapsed","dragging","col-width","active-workspace","active-workspace-id","sessions","groups","pinned-session-ids","active-id","attention-by-session","pending-by-session","unread-by-session","workspace-sort-mode","backend","onCollapse"]),gt($(Dr,{class:"side-handle","storage-key":l(ae),"default-width":l(te),min:l(ce),max:l(Be),"onUpdate:width":j[17]||(j[17]=ee=>Y.value=ee),"onUpdate:dragging":j[18]||(j[18]=ee=>B.value=ee)},null,8,["storage-key","default-width","min","max"]),[[Jn,!l(ve)]])],64)),$(iA,{ref_key:"conversationPaneRef",ref:Rt,mobile:l(f),turns:l(s).turns.value,"session-id":l(s).activeSessionId.value,approvals:l(s).pendingApprovals.value,changes:l(s).changes.value,"git-info":l(s).gitInfo.value,tasks:l(s).tasks.value,todos:l(s).todos.value,goal:l(s).goal.value,"activation-badges":l(s).activationBadges.value,status:l(s).status.value,thinking:l(s).thinking.value,"plan-mode":l(s).planMode.value,"plan-armed":l(s).planArmed.value,"swarm-mode":l(s).swarmMode.value,"supermoon-mode":l(s).supermoonMode.value,"goal-mode":l(s).goalMode.value,models:l(s).models.value,"starred-ids":l(s).starredModelIds.value,skills:l(s).skills.value,questions:l(s).questions.value,"pending-question-actions":l(s).pendingQuestionActions,"pending-approval-actions":l(s).pendingApprovalActions,running:M.value,"turn-active":l(s).turnActive.value,queued:l(s).queued.value,"search-files":l(s).searchFiles,"upload-image":l(s).uploadImage,working:l(s).working.value,"model-retry":l(s).modelRetry.value,starting:l(s).isStartingFirstPrompt.value,"fast-moon":l(s).fastMoon.value,"file-reload-key":l(s).activeSessionId.value,"session-loading":l(s).sessionLoading.value,compaction:l(s).compaction.value,"has-more-messages":l(s).hasMoreMessages.value,"loading-more":l(s).loadingMoreMessages.value,"loading-more-error":l(s).loadMoreMessagesError.value,"load-older-messages":l(s).loadOlderMessages,"workspace-name":l(s).visibleWorkspace.value?.name,"workspace-root":l(s).visibleWorkspace.value?.root??l(s).status.value.cwd,"git-diff-stats":l(s).gitDiffStats.value,workspaces:l(s).workspacesView.value,"active-workspace-id":l(s).activeWorkspaceId.value,"session-title":g.value,terminal:l(s).terminal,pr:l(s).activePullRequest.value,"conversation-toc":l(s).conversationToc.value,onOpenChanges:j[21]||(j[21]=ee=>l(mn)()),onSelectWorkspace:j[22]||(j[22]=ee=>bs(ee)),onAddWorkspace:j[23]||(j[23]=ee=>Wt.value=!0),onOpenPr:ws,onSubmit:j[24]||(j[24]=ee=>wn(ee)),onSteer:j[25]||(j[25]=ee=>l(s).steerPrompt(ee.text,ee.attachments)),onApproval:j[26]||(j[26]=(ee,ft)=>l(s).respondApproval(ee,ft)),onCancelTask:j[27]||(j[27]=ee=>l(s).cancelTask(ee)),onAnswer:j[28]||(j[28]=(ee,ft)=>l(s).respondQuestion(ee,ft)),onDismiss:j[29]||(j[29]=ee=>l(s).dismissQuestion(ee)),onCommand:is,onInterrupt:j[30]||(j[30]=ee=>l(s).abortCurrentPrompt()),onUnqueue:as,onEditQueued:Es,onReorderQueue:ks,onSetPermission:j[31]||(j[31]=ee=>l(s).setPermission(ee)),onSetThinking:j[32]||(j[32]=ee=>l(s).setThinking(ee)),onTogglePlan:j[33]||(j[33]=ee=>l(s).togglePlanArm()),onToggleSwarm:j[34]||(j[34]=ee=>l(s).toggleSwarmMode()),onToggleSupermoon:j[35]||(j[35]=ee=>l(s).toggleSupermoonMode()),onToggleGoal:j[36]||(j[36]=ee=>l(s).toggleGoalMode()),onDismissPlan:j[37]||(j[37]=ee=>l(s).dismissPlanMode()),onControlGoal:j[38]||(j[38]=ee=>l(s).controlGoal(ee)),onRefreshGitStatus:j[39]||(j[39]=ee=>l(s).activeSessionId.value&&l(s).loadGitStatus(l(s).activeSessionId.value)),onRenameSession:j[40]||(j[40]=(ee,ft)=>l(s).renameSession(ee,ft)),onForkSession:j[41]||(j[41]=ee=>l(s).forkSession(ee)),onArchiveSession:j[42]||(j[42]=ee=>ss(ee)),onExportSession:j[43]||(j[43]=ee=>l(s).exportSession(ee)),onCompact:j[44]||(j[44]=ee=>l(s).compact()),onPickModel:j[45]||(j[45]=ee=>Qt()),onSelectModel:j[46]||(j[46]=ee=>Tn(ee)),onOpenFile:j[47]||(j[47]=ee=>l(X)(ee)),onOpenMedia:j[48]||(j[48]=ee=>l(Z).open(ee)),onOpenThinking:j[49]||(j[49]=ee=>l(dn)(ee)),onOpenCompaction:j[50]||(j[50]=ee=>l(nn)(ee)),onOpenAgent:j[51]||(j[51]=ee=>l(In)(ee)),onOpenToolDiff:j[52]||(j[52]=ee=>l(Nt)(ee)),onEditMessage:os,onResumeTurn:zn},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","terminal","pr","conversation-toc"]),!l(f)&&(l(Eo)||l(ve))?(a(),G(nt,{key:2,class:"sidebar-toggle-btn",size:"sm",label:l(ve)?l(i)("sidebar.expandSidebar"):l(i)("sidebar.collapseSidebar"),onClick:l(He)},{default:H(()=>[$(se,{name:l(ve)?"panel-expand":"panel-collapse"},null,8,["name"])]),_:1},8,["label","onClick"])):A("",!0),l(Gt)&&!U.value?(a(),G(Dr,{key:3,class:"preview-handle","storage-key":l(De),"default-width":l(Fe),min:l(an),max:l(Ze),reverse:"","aria-label":l(i)("layout.resizePreviewAria"),"onUpdate:width":j[53]||(j[53]=ee=>Ve.value=ee),"onUpdate:dragging":j[54]||(j[54]=ee=>kn.value=ee)},null,8,["storage-key","default-width","min","max","aria-label"])):A("",!0),!U.value||l(Gt)?(a(),c("aside",{key:4,class:pe(["global-preview",{open:l(Gt),overlay:U.value,"no-anim":l(kn)||L.value}]),role:"complementary","aria-label":l(i)("layout.detailPanelAria"),"aria-hidden":!l(Gt)},[P.value==="thinking"&&l(Ct)?(a(),G(iu,{key:0,text:l(bt)??"",onClose:l(Kt)},null,8,["text","onClose"])):P.value==="compaction"&&l(hs)?(a(),G(iu,{key:1,text:l(zt)??"",subtitle:l(i)("conversation.summaryTitle"),onClose:l(ut)},null,8,["text","subtitle","onClose"])):P.value==="agent"&&l(Ft)?(a(),G(LT,{key:2,member:l(Ft),onClose:l(_t)},null,8,["member","onClose"])):P.value==="btw"&&l(Gn)?(a(),G(iP,{key:3,turns:l(s).sideChatTurns.value,running:l(s).sideChatRunning.value,sending:l(s).sideChatSending.value,onSend:j[55]||(j[55]=ee=>l(s).sendSideChatPrompt(ee)),onClose:l(Zt)},null,8,["turns","running","sending","onClose"])):P.value==="diff"?(a(),G(BP,{key:4,mode:l(Tt),changes:l(s).changes.value,"git-info":l(s).gitInfo.value,"file-diff":l(s).fileDiff.value,"selected-diff-path":l(s).selectedDiffPath.value,"file-diff-loading":l(s).fileDiffLoading.value,closable:"",onOpen:l(yn),onBack:j[56]||(j[56]=ee=>{Tt.value="list",fn.value=null,l(s).clearFileDiff()}),onClose:l(Rn)},null,8,["mode","changes","git-info","file-diff","selected-diff-path","file-diff-loading","onOpen","onClose"])):P.value==="toolDiff"&&l(pn)?(a(),G(ZT,{key:5,target:l(pn),onClose:l(gn)},null,8,["target","onClose"])):P.value==="file"?(a(),G(cT,{key:6,file:l(oe),loading:l(ge),error:l(Se),line:l(ne)?.line,"download-url":l(Q),closable:"","external-actions":l(ie),"open-file":l(X),onClose:l(fe),onOpenExternal:l(Ce),onReveal:l(_e)},null,8,["file","loading","error","line","download-url","external-actions","open-file","onClose","onOpenExternal","onReveal"])):A("",!0)],10,gq)):A("",!0),$(pq,{class:"internal-build-fab"}),sn.value?(a(),G(ZP,{key:5,models:l(s).models.value,current:l(s).status.value.modelId,"starred-ids":l(s).starredModelIds.value,loading:be.value,unavailable:Ge.value,onSelect:j[57]||(j[57]=ee=>Vt(ee)),onToggleStar:j[58]||(j[58]=ee=>l(s).toggleStarModel(ee)),onClose:j[59]||(j[59]=ee=>sn.value=!1)},null,8,["models","current","starred-ids","loading","unavailable"])):A("",!0),lt.value?(a(),G(FO,{key:6,"color-scheme":l(s).colorScheme.value,accent:l(s).accent.value,"ui-font-size":l(s).uiFontSize.value,"auth-ready":l(s).authReady.value,"account-model":l(s).defaultModel.value,notify:l(s).notifyOnComplete.value,"notify-question":l(s).notifyOnQuestion.value,"notify-approval":l(s).notifyOnApproval.value,"notify-permission":l(s).notifyPermission.value,sound:l(s).soundOnComplete.value,"conversation-toc":l(s).conversationToc.value,config:l(s).config.value,models:l(s).models.value,"config-saving":Ht.value,"server-version":l(s).serverVersion.value,backend:l(s).backend.value,onSetColorScheme:j[60]||(j[60]=ee=>l(s).setColorScheme(ee)),onSetAccent:j[61]||(j[61]=ee=>l(s).setAccent(ee)),onSetUiFontSize:j[62]||(j[62]=ee=>l(s).setUiFontSize(ee)),onSetNotify:j[63]||(j[63]=ee=>l(s).setNotifyOnComplete(ee)),onSetNotifyQuestion:j[64]||(j[64]=ee=>l(s).setNotifyOnQuestion(ee)),onSetNotifyApproval:j[65]||(j[65]=ee=>l(s).setNotifyOnApproval(ee)),onSetSound:j[66]||(j[66]=ee=>l(s).setSoundOnComplete(ee)),onSetConversationToc:j[67]||(j[67]=ee=>l(s).setConversationToc(ee)),onUpdateConfig:j[68]||(j[68]=ee=>Dn(ee)),onLogin:j[69]||(j[69]=()=>{lt.value=!1,Ut()}),onLogout:l(s).logout,onOpenOnboarding:j[70]||(j[70]=()=>{lt.value=!1,E()}),onOpenProviders:j[71]||(j[71]=()=>{lt.value=!1,Pt()}),onClose:j[72]||(j[72]=ee=>lt.value=!1)},null,8,["color-scheme","accent","ui-font-size","auth-ready","account-model","notify","notify-question","notify-approval","notify-permission","sound","conversation-toc","config","models","config-saving","server-version","backend","onLogout"])):A("",!0),qt.value?(a(),G(UE,{key:7,providers:l(s).providers.value,loading:Je.value,unavailable:at.value,onAdd:j[73]||(j[73]=ee=>gs(ee)),onRefresh:j[74]||(j[74]=ee=>Wn(ee)),onDelete:j[75]||(j[75]=ee=>en(ee)),onImportCatalog:j[76]||(j[76]=ee=>bn(ee)),onImportRegistry:j[77]||(j[77]=ee=>ns(ee)),onOpenLogin:j[78]||(j[78]=()=>{qt.value=!1,Ut()}),onClose:j[79]||(j[79]=ee=>qt.value=!1)},null,8,["providers","loading","unavailable"])):A("",!0),ct.value?(a(),G(FD,{key:8,status:l(s).status.value,thinking:S.value,"plan-mode":l(s).planMode.value,"swarm-mode":l(s).swarmMode.value,"supermoon-mode":l(s).supermoonMode.value,"cost-usd":l(s).sessionCost.value,onClose:j[80]||(j[80]=ee=>ct.value=!1)},null,8,["status","thinking","plan-mode","swarm-mode","supermoon-mode","cost-usd"])):A("",!0),Wt.value?(a(),G(SD,{key:9,"browse-fs":l(s).browseFs,"get-fs-home":l(s).getFsHome,"default-path":l(s).visibleWorkspace.value?.root??l(s).status.value.cwd,error:Jt.value,onAdd:j[81]||(j[81]=ee=>Ls(ee)),onClose:Gs},null,8,["browse-fs","get-fs-home","default-path","error"])):A("",!0),$(Yo,{name:"gload-fade"},{default:H(()=>[l(s).initialized.value?A("",!0):(a(),G(cN,{key:0,issue:l(s).connectIssue.value},null,8,["issue"]))]),_:1}),l(s).initialized.value&&O.value&&!l(y)?(a(),G(sN,{key:10,onComplete:D,onSkip:D})):A("",!0),$(ZD,{warnings:l(s).warnings.value,onDismiss:l(s).dismissWarning},null,8,["warnings","onDismiss"]),l(p)?(a(),G(NN,{key:11})):A("",!0),$(MD),l(f)?(a(),G(Az,{key:12,modelValue:w.value,"onUpdate:modelValue":j[82]||(j[82]=ee=>w.value=ee),groups:l(s).workspaceGroups.value,"active-workspace-id":l(s).activeWorkspaceId.value,"active-id":l(s).activeSessionId.value,"attention-by-session":l(s).attentionBySession.value,"attention-by-workspace":l(s).attentionByWorkspace.value,onSelect:j[83]||(j[83]=ee=>l(s).selectSession(ee)),onCreate:Fn,onCreateInWorkspace:j[84]||(j[84]=ee=>bs(ee)),onAddWorkspace:j[85]||(j[85]=ee=>Wt.value=!0),onRename:j[86]||(j[86]=(ee,ft)=>l(s).renameSession(ee,ft)),onArchive:j[87]||(j[87]=ee=>ss(ee)),onDeleteWorkspace:j[88]||(j[88]=ee=>On(ee)),onLoadMore:j[89]||(j[89]=ee=>void l(s).loadMoreSessions(ee))},null,8,["modelValue","groups","active-workspace-id","active-id","attention-by-session","attention-by-workspace"])):A("",!0),l(f)?(a(),G(VF,{key:13,modelValue:x.value,"onUpdate:modelValue":j[90]||(j[90]=ee=>x.value=ee),status:l(s).status.value,thinking:l(s).thinking.value,models:l(s).models.value,"plan-mode":l(s).planMode.value,"goal-mode":l(s).goalMode.value,"swarm-mode":l(s).swarmMode.value,"supermoon-mode":l(s).supermoonMode.value,"color-scheme":l(s).colorScheme.value,"ui-font-size":l(s).uiFontSize.value,"auth-ready":l(s).authReady.value,"conversation-toc":l(s).conversationToc.value,"server-version":l(s).serverVersion.value,onPickModel:j[91]||(j[91]=ee=>Qt()),onSetThinking:j[92]||(j[92]=ee=>l(s).setThinking(ee)),onTogglePlan:j[93]||(j[93]=ee=>l(s).togglePlanMode()),onToggleGoal:j[94]||(j[94]=ee=>l(s).toggleGoalMode()),onToggleSwarm:j[95]||(j[95]=ee=>l(s).toggleSwarmMode()),onToggleSupermoon:j[96]||(j[96]=ee=>l(s).toggleSupermoonMode()),onSetPermission:j[97]||(j[97]=ee=>l(s).setPermission(ee)),onSetColorScheme:j[98]||(j[98]=ee=>l(s).setColorScheme(ee)),onSetUiFontSize:j[99]||(j[99]=ee=>l(s).setUiFontSize(ee)),onSetConversationToc:j[100]||(j[100]=ee=>l(s).setConversationToc(ee)),onLogin:j[101]||(j[101]=()=>{x.value=!1,Ut()}),onLogout:l(s).logout},null,8,["modelValue","status","thinking","models","plan-mode","goal-mode","swarm-mode","supermoon-mode","color-scheme","ui-font-size","auth-ready","conversation-toc","server-version","onLogout"])):A("",!0)],6)),Xt.value?(a(),G(wL,{key:3,"on-start-o-auth-login":Hn,"on-poll-o-auth-login":Qn,"on-cancel-o-auth-login":ys,onSuccess:vn,onClose:j[102]||(j[102]=ee=>Xt.value=!1)})):A("",!0),$(FL,{state:l(Z).state.value,onClose:j[103]||(j[103]=ee=>l(Z).close())},null,8,["state"])]))}}),kq=Ee(yq,[["__scopeId","data-v-59580251"]]);L0();yu(kq).use(pt).mount("#app");export{Cq as I,se as _,Ee as a};
diff --git a/apps/kimi-code/dist-web/assets/index-bE2IzaLg.js b/apps/kimi-code/dist-web/assets/index-bE2IzaLg.js
deleted file mode 100644
index 23ff96a1d7b..00000000000
--- a/apps/kimi-code/dist-web/assets/index-bE2IzaLg.js
+++ /dev/null
@@ -1,100 +0,0 @@
-const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/DesignSystemView-UYw_7SpS.js","assets/vendor-ucnN-Sh8.js","assets/vendor-4gi77x_E.css","assets/vendor-markstream-D6yjq9lL.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 I,d as Ie,o as a,c,n as fe,K as yt,m as Ne,a as r,v as G,A as vu,z as A,B as $,bD as Ue,w as Oe,k as Ke,l as Ln,Q as lo,b as M,u as l,x as H,E as d,h as ht,F as he,r as Pe,G as gt,bE as qn,bF as Ad,s as Td,C as Bn,H as Jn,e as rt,R as kt,bG as En,U as Re,J as re,V as sl,N as hu,bH as Wo,i as mo,bI as Pd,S as gu,T as Yo,p as Io,bJ as Ed,bK as Dl,bL as zl,bM as yu,j as Ld}from"./vendor-ucnN-Sh8.js";import{_ as ku,O as Bd,P as Rd,W as Od,x as Dd,a as zd,b as Fd,y as Nd,h as qd,g as Wd,p as Hd,m as Ud}from"./vendor-markstream-D6yjq9lL.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 We={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",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",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",codeFont:"kimi-web.code-font",contentAlign:"kimi-web.content-align",theme:"kimi-web.theme",thinking:"kimi-web.thinking"};function Fl(e){return`kimi-web.draft.${e&&e.length>0?e:"__new__"}`}function It(e){try{return globalThis.localStorage.getItem(e)}catch{return null}}function Bt(e,t){try{globalThis.localStorage.setItem(e,t)}catch{}}function ro(e){try{globalThis.localStorage.removeItem(e)}catch{}}function vo(e){const t=It(e);if(t===null)return null;try{return JSON.parse(t)}catch{return null}}function Vs(e,t){try{globalThis.localStorage.setItem(e,JSON.stringify(t))}catch{}}function ol(){const e=It(We.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 il(e){const n={...ol()};for(const[s,o]of Object.entries(e))o?n[s]=!0:delete n[s];Bt(We.unread,JSON.stringify(n))}function Vd(){const e=vo(We.collapsedWorkspaces);return Array.isArray(e)?e.filter(t=>typeof t=="string"):[]}function ta(e){Vs(We.collapsedWorkspaces,Array.from(e))}function jd(){const e=vo(We.workspaceOrder);return Array.isArray(e)?e.filter(t=>typeof t=="string"):[]}function bu(e){Vs(We.workspaceOrder,Array.from(e))}function pi(){const e=vo(We.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 Nl(e){Vs(We.workspaceNameOverrides,e)}function Kd(){return It(We.workspaceSort)}function wu(e){Bt(We.workspaceSort,e)}function Gd(){const e=vo(We.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 Su(e){Vs(We.workspaceRecencyFloor,e)}const ql=We.clientId,Qd="kimi-code-web",Yd="web";function Cu(){return{serverHttpUrl:Xd(),clientId:np(),clientName:Qd,clientVersion:sp(),clientUiMode:Yd}}function Zd(){return typeof window<"u"&&window.location?.origin?window.location.origin:"http://127.0.0.1:58627"}function Xd(e){const t=Zd(),n=new URL(t);return n.pathname=n.pathname.replace(/\/v1\/?$/,"").replace(/\/$/,""),n.search="",n.hash="",n.toString().replace(/\/$/,"")}function Jd(e){return e.replace(/^https?:\/\//,"").replace(/\/$/,"")}function ep(){const e=typeof window<"u"&&window.location?.origin?window.location.origin:"";return Jd(e)}function oo(e,t){return`${e}/api/v1${t.startsWith("/")?t:`/${t}`}`}function tp(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 np(){const e=It(ql);if(e)return e;const t=`web_${globalThis.crypto?.randomUUID?.()||Math.random().toString(36).slice(2)}`;return Bt(ql,t),t}function sp(){return"0.1.2".trim()?"0.1.2":"0.0.0-dev"}async function op(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 ip(e){return e.replace(/^https?:\/\//,"").replace(/\/$/,"")}async function un(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 lp(e)}function ap(e){if(typeof e!="string")return;const t=typeof navigator<"u"?navigator.clipboard:void 0;t&&typeof t.writeText=="function"||un(e)}function lp(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 rp(){const e=vo(We.pinnedSessions);return Array.isArray(e)?e.filter(t=>typeof t=="string"):[]}function up(e){Vs(We.pinnedSessions,Array.from(e))}function cp(e,t){return e.includes(t)?e.filter(n=>n!==t):[...e,t]}function _u(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 dp(e){return e==="grouped"||e==="flat"}function pp(){const e=It(We.sidebarViewMode);return dp(e)?e:"grouped"}function fp(e){Bt(We.sidebarViewMode,e)}function mp(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 _u(o,t)}function vp(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 hp(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 gp(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 kp(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 bp(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 wp(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 Sp(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 $u(e,t){const n=new Map;for(const s of e)n.set(s.id,Sp(t[s.id],s.lastOpenedAt));return n}const Cp={"&":"&","<":"<",">":">",'"':""","'":"'"};function Wl(e){return e.replace(/[&<>"']/g,t=>Cp[t]??t)}function _p(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function $p(e,t,n=40){const s=e.replace(/\s+/g," ").trim();if(s.length===0)return"";const o=t.trim();if(o.length===0)return Hl(s,n*2);const i=s.toLowerCase().indexOf(o.toLowerCase());if(i<0)return Hl(s,n*2);const u=Math.max(0,i-n),p=Math.min(s.length,i+o.length+n),f=u>0,v=p`${i} `)}const Co=I(0),Mp=["type","disabled","aria-label"],xp=Ie({__name:"IconButton",props:{size:{default:"md"},disabled:{type:Boolean},label:{},type:{default:"button"}},setup(e,{expose:t}){const n=I();return t({el:n}),(s,o)=>(a(),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},[yt(s.$slots,"default",{},void 0,!0)],10,Mp))}}),Ee=(e,t)=>{const n=e.__vccOpts||e;for(const[s,o]of t)n[s]=o;return n},nt=Ee(xp,[["__scopeId","data-v-c9e67023"]]),Ip={width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function Ap(e,t){return a(),c("svg",Ip,[...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 Tp=Ne({name:"kimi-add-conversation",render:Ap}),Pp={width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function Ep(e,t){return a(),c("svg",Pp,[...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 Lp=Ne({name:"kimi-folder",render:Ep}),Bp={width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Rp=["clip-path"],Op=["id"];function Dp(e,t){return a(),c("svg",Bp,[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,Rp),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,Op)])])}const zp=Ne({name:"kimi-folder-open",render:Dp,setup(){return{idMap:{clip0_4626_2033:"uicons-"+Math.random().toString(36).substr(2,10)}}}}),Fp={width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function Np(e,t){return a(),c("svg",Fp,[...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 qp=Ne({name:"kimi-more",render:Np}),Wp={width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function Hp(e,t){return a(),c("svg",Wp,[...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 Up=Ne({name:"kimi-search",render:Hp}),Vp={width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function jp(e,t){return a(),c("svg",Vp,[...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 Kp=Ne({name:"kimi-setting",render:jp}),Gp={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Qp(e,t){return a(),c("svg",Gp,[...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 Yp=Ne({name:"tabler-layout-sidebar-left-collapse",render:Qp}),Zp={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Xp(e,t){return a(),c("svg",Zp,[...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 Jp=Ne({name:"tabler-layout-sidebar-left-expand",render:Xp}),ef={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function tf(e,t){return a(),c("svg",ef,[...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 nf=Ne({name:"tabler-paperclip",render:tf}),sf={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function of(e,t){return a(),c("svg",sf,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M11 11V5h2v6h6v2h-6v6h-2v-6H5v-2z"},null,-1)])])}const af=Ne({name:"ri-add-line",render:of}),lf={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function rf(e,t){return a(),c("svg",lf,[...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 uf=Ne({name:"ri-alert-line",render:rf}),cf={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function df(e,t){return a(),c("svg",cf,[...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 pf=Ne({name:"ri-archive-line",render:df}),ff={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function mf(e,t){return a(),c("svg",ff,[...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 vf=Ne({name:"ri-arrow-down-line",render:mf}),hf={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function gf(e,t){return a(),c("svg",hf,[...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 yf=Ne({name:"ri-arrow-down-s-line",render:gf}),kf={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function bf(e,t){return a(),c("svg",kf,[...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 wf=Ne({name:"ri-arrow-go-back-line",render:bf}),Sf={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Cf(e,t){return a(),c("svg",Sf,[...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 _f=Ne({name:"ri-arrow-right-line",render:Cf}),$f={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Mf(e,t){return a(),c("svg",$f,[...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 xf=Ne({name:"ri-arrow-right-s-line",render:Mf}),If={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Af(e,t){return a(),c("svg",If,[...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 Ul=Ne({name:"ri-arrow-up-line",render:Af}),Tf={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Pf(e,t){return a(),c("svg",Tf,[...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 Ef=Ne({name:"ri-arrow-up-s-line",render:Pf}),Lf={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Bf(e,t){return a(),c("svg",Lf,[...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 Rf=Ne({name:"ri-braces-line",render:Bf}),Of={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Df(e,t){return a(),c("svg",Of,[...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 zf=Ne({name:"ri-calendar-close-line",render:Df}),Ff={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Nf(e,t){return a(),c("svg",Ff,[...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 qf=Ne({name:"ri-calendar-schedule-line",render:Nf}),Wf={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Hf(e,t){return a(),c("svg",Wf,[...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 Uf=Ne({name:"ri-calendar-todo-line",render:Hf}),Vf={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function jf(e,t){return a(),c("svg",Vf,[...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 Kf=Ne({name:"ri-check-line",render:jf}),Gf={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Qf(e,t){return a(),c("svg",Gf,[...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 Yf=Ne({name:"ri-close-line",render:Qf}),Zf={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Xf(e,t){return a(),c("svg",Zf,[...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 Jf=Ne({name:"ri-code-line",render:Xf}),em={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function tm(e,t){return a(),c("svg",em,[...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 nm=Ne({name:"ri-collapse-diagonal-line",render:tm}),sm={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function om(e,t){return a(),c("svg",sm,[...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 im=Ne({name:"ri-download-line",render:om}),am={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function lm(e,t){return a(),c("svg",am,[...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 rm=Ne({name:"ri-draggable",render:lm}),um={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function cm(e,t){return a(),c("svg",um,[...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 dm=Ne({name:"ri-equalizer-line",render:cm}),pm={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function fm(e,t){return a(),c("svg",pm,[...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 mm=Ne({name:"ri-expand-diagonal-line",render:fm}),vm={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function hm(e,t){return a(),c("svg",vm,[...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 gm=Ne({name:"ri-external-link-line",render:hm}),ym={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function km(e,t){return a(),c("svg",ym,[...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 bm=Ne({name:"ri-file-add-line",render:km}),wm={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Sm(e,t){return a(),c("svg",wm,[...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 Cm=Ne({name:"ri-file-copy-line",render:Sm}),_m={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function $m(e,t){return a(),c("svg",_m,[...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 Mm=Ne({name:"ri-file-edit-line",render:$m}),xm={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Im(e,t){return a(),c("svg",xm,[...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 Vl=Ne({name:"ri-file-line",render:Im}),Am={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Tm(e,t){return a(),c("svg",Am,[...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 Pm=Ne({name:"ri-file-text-line",render:Tm}),Em={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Lm(e,t){return a(),c("svg",Em,[...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 Bm=Ne({name:"ri-flashlight-line",render:Lm}),Rm={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Om(e,t){return a(),c("svg",Rm,[...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 Dm=Ne({name:"ri-folder-add-line",render:Om}),zm={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Fm(e,t){return a(),c("svg",zm,[...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 Nm=Ne({name:"ri-folder-fill",render:Fm}),qm={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Wm(e,t){return a(),c("svg",qm,[...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 Hm=Ne({name:"ri-git-fork-line",render:Wm}),Um={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Vm(e,t){return a(),c("svg",Um,[...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 jm=Ne({name:"ri-git-pull-request-line",render:Vm}),Km={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Gm(e,t){return a(),c("svg",Km,[...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 Qm=Ne({name:"ri-global-line",render:Gm}),Ym={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Zm(e,t){return a(),c("svg",Ym,[...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 jl=Ne({name:"ri-image-line",render:Zm}),Xm={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Jm(e,t){return a(),c("svg",Xm,[...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 ev=Ne({name:"ri-information-line",render:Jm}),tv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function nv(e,t){return a(),c("svg",tv,[...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 sv=Ne({name:"ri-links-line",render:nv}),ov={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function iv(e,t){return a(),c("svg",ov,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M8 4h13v2H8zm-5-.5h3v3H3zm0 7h3v3H3zm0 7h3v3H3zM8 11h13v2H8zm0 7h13v2H8z"},null,-1)])])}const av=Ne({name:"ri-list-check",render:iv}),lv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function rv(e,t){return a(),c("svg",lv,[...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 uv=Ne({name:"ri-list-unordered",render:rv}),cv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function dv(e,t){return a(),c("svg",cv,[...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 pv=Ne({name:"ri-login-box-line",render:dv}),fv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function mv(e,t){return a(),c("svg",fv,[...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 vv=Ne({name:"ri-mail-line",render:mv}),hv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function gv(e,t){return a(),c("svg",hv,[...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 yv=Ne({name:"ri-message-line",render:gv}),kv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function bv(e,t){return a(),c("svg",kv,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M6 5h2v14H6zm10 0h2v14h-2z"},null,-1)])])}const wv=Ne({name:"ri-pause-fill",render:bv}),Sv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Cv(e,t){return a(),c("svg",Sv,[...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 _v=Ne({name:"ri-pencil-line",render:Cv}),$v={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Mv(e,t){return a(),c("svg",$v,[...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 xv=Ne({name:"ri-play-fill",render:Mv}),Iv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Av(e,t){return a(),c("svg",Iv,[...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 Tv=Ne({name:"ri-pushpin-fill",render:Av}),Pv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Ev(e,t){return a(),c("svg",Pv,[...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 Lv=Ne({name:"ri-pushpin-line",render:Ev}),Bv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Rv(e,t){return a(),c("svg",Bv,[...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 Ov=Ne({name:"ri-question-line",render:Rv}),Dv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function zv(e,t){return a(),c("svg",Dv,[...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 Fv=Ne({name:"ri-emotion-line",render:zv}),Nv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function qv(e,t){return a(),c("svg",Nv,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M20 4v12h3l-4 5l-4-5h3V4zm-8 14v2H3v-2zm2-7v2H3v-2zm0-7v2H3V4z"},null,-1)])])}const Wv=Ne({name:"ri-sort-desc",render:qv}),Hv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Uv(e,t){return a(),c("svg",Hv,[...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 Vv=Ne({name:"ri-sparkling-line",render:Uv}),jv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Kv(e,t){return a(),c("svg",jv,[...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 Gv=Ne({name:"ri-star-fill",render:Kv}),Qv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Yv(e,t){return a(),c("svg",Qv,[...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 Zv=Ne({name:"ri-star-line",render:Yv}),Xv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Jv(e,t){return a(),c("svg",Xv,[...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 e1=Ne({name:"ri-stop-fill",render:Jv}),t1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function n1(e,t){return a(),c("svg",t1,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M5 11v2h14v-2z"},null,-1)])])}const s1=Ne({name:"ri-subtract-line",render:n1}),o1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function i1(e,t){return a(),c("svg",o1,[...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 a1=Ne({name:"ri-target-line",render:i1}),l1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function r1(e,t){return a(),c("svg",l1,[...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 u1=Ne({name:"ri-terminal-box-line",render:r1}),c1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function d1(e,t){return a(),c("svg",c1,[...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 p1=Ne({name:"ri-time-line",render:d1}),f1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function m1(e,t){return a(),c("svg",f1,[...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 v1=Ne({name:"ri-tools-line",render:m1}),h1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function g1(e,t){return a(),c("svg",h1,[...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 y1=Ne({name:"ri-user-line",render:g1}),k1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function b1(e,t){return a(),c("svg",k1,[...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 w1=Ne({name:"tabler-moon-stars",render:b1}),S1=`
-
-
-
-`,C1=`
-
-
-`,_1=`
-
-
-
-
-
-
-
-
-
-`,$1=`
-
-
-
-
-`,M1=`
-
-
-`,x1=`
-
-
-
-`,I1=' ',A1=' ',T1=' ',P1=' ',E1=' ',L1=' ',B1=' ',R1=' ',O1=' ',D1=' ',z1=' ',F1=' ',Kl=' ',N1=' ',q1=' ',W1=' ',H1=' ',U1=' ',V1=' ',j1=' ',K1=' ',G1=' ',Q1=' ',Y1=' ',Z1=' ',X1=' ',J1=' ',eh=' ',th=' ',nh=' ',Gl=' ',sh=' ',oh=' ',ih=' ',ah=' ',lh=' ',rh=' ',uh=' ',Ql=' ',ch=' ',dh=' ',ph=' ',fh=' ',mh=' ',vh=' ',hh=' ',gh=' ',yh=' ',kh=' ',bh=' ',wh=' ',Sh=' ',Ch=' ',_h=' ',$h=' ',Mh=' ',xh=' ',Ih=' ',Ah=' ',Th=' ',Ph=' ',Eh=' ',Lh=' ',Bh=' ',Mu={sm:14,md:16,lg:20};function ze(e,t){return{component:e,svg:t}}const xu={plus:ze(af,E1),"chat-new":ze(Tp,S1),"calendar-close":ze(zf,W1),"calendar-schedule":ze(qf,H1),"calendar-todo":ze(Uf,U1),close:ze(Yf,j1),check:ze(Kf,V1),archive:ze(pf,B1),search:ze(Up,M1),copy:ze(Cm,th),link:ze(sv,dh),"external-link":ze(gm,J1),download:ze(im,Q1),undo:ze(wf,D1),send:ze(Ul,Kl),image:ze(jl,Ql),settings:ze(Kp,x1),sliders:ze(dm,Z1),"log-in":ze(pv,mh),"chevron-down":ze(yf,O1),"chevron-right":ze(xf,F1),"chevron-up":ze(Ef,N1),"arrow-up":ze(Ul,Kl),"arrow-down":ze(vf,R1),"arrow-right":ze(_f,z1),minus:ze(s1,Ah),"panel-collapse":ze(Yp,I1),"panel-expand":ze(Jp,A1),expand:ze(mm,X1),collapse:ze(nm,G1),list:ze(uv,fh),sort:ze(Wv,_h),grip:ze(rm,Y1),folder:ze(zp,_1),"folder-closed":ze(Lp,C1),"folder-plus":ze(Dm,ih),"folder-solid":ze(Nm,ah),file:ze(Vl,Gl),"file-text":ze(Pm,sh),"file-edit":ze(Mm,nh),"file-plus":ze(bm,eh),"file-off":ze(Vl,Gl),attachment:ze(nf,T1),"image-off":ze(jl,Ql),code:ze(Jf,K1),terminal:ze(u1,Ph),pencil:ze(_v,yh),tool:ze(v1,Lh),glob:ze(Rf,q1),globe:ze(Qm,uh),"check-list":ze(av,ph),bolt:ze(Bm,oh),"git-fork":ze(Hm,lh),"git-pull-request":ze(jm,rh),message:ze(yv,hh),mail:ze(vv,vh),user:ze(y1,Bh),info:ze(ev,ch),"help-circle":ze(Ov,Sh),"alert-triangle":ze(uf,L1),clock:ze(p1,Eh),sparkles:ze(Vv,$h),"moon-stars":ze(w1,P1),target:ze(a1,Th),pause:ze(wv,gh),play:ze(xv,kh),stop:ze(e1,Ih),star:ze(Gv,Mh),"star-outline":ze(Zv,xh),pin:ze(Lv,wh),"pin-fill":ze(Tv,bh),emotion:ze(Fv,Ch),"dots-horizontal":ze(qp,$1)};function Rh(e){return xu[e]}function Oh(e,t){return e.replace(/\s(?:width|height)="[^"]*"/g,"").replace(/^Rh(t.name)),s=$(()=>Mu[t.size]);return(o,i)=>n.value?(a(),G(vu(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"])):A("",!0)}}),Dh={key:0,class:"ui-dialog__head"},zh={class:"ui-dialog__titles"},Fh={key:0,class:"ui-dialog__title"},Nh={key:1,class:"ui-dialog__desc"},qh={class:"ui-dialog__body"},Wh={key:1,class:"ui-dialog__foot"},Hh='a[href], button:not([disabled]), textarea:not([disabled]), input:not([disabled]), select:not([disabled]), [tabindex]:not([tabindex="-1"])',Uh=Ie({__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}=Ue(),s=e,o=t,i=I(null);let u=null;function p(){o("update:open",!1),o("close")}function f(){return i.value?Array.from(i.value.querySelectorAll(Hh)):[]}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 w(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],y=m[m.length-1];if(!_||!y){h.preventDefault(),i.value?.focus();return}const g=document.activeElement;h.shiftKey&&g===_?(h.preventDefault(),y.focus()):!h.shiftKey&&g===y&&(h.preventDefault(),_.focus())}function x(h){s.closeOnOverlay&&h.target===h.currentTarget&&p()}return Oe(()=>s.open,async h=>{if(h){Co.value+=1,u=document.activeElement,await Ke();const m=v(),_=f();(m??_[0]??i.value)?.focus()}else Co.value=Math.max(0,Co.value-1),u instanceof HTMLElement&&(u.focus(),u=null)},{immediate:!0}),typeof window<"u"&&window.addEventListener("keydown",w),Ln(()=>{typeof window<"u"&&window.removeEventListener("keydown",w),s.open&&(Co.value=Math.max(0,Co.value-1))}),(h,m)=>(a(),G(lo,{to:"body"},[e.open?(a(),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||h.$slots.head?(a(),c("div",Dh,[yt(h.$slots,"head",{},()=>[r("div",zh,[e.title?(a(),c("div",Fh,d(e.title),1)):A("",!0),e.description?(a(),c("div",Nh,d(e.description),1)):A("",!0)])],!0),M(nt,{class:"ui-dialog__close",size:"sm",label:l(n)("common.close"),onClick:p},{default:H(()=>[M(se,{name:"close",size:"md"})]),_:1},8,["label"])])):A("",!0),r("div",qh,[yt(h.$slots,"default",{},void 0,!0)]),h.$slots.foot?(a(),c("div",Wh,[yt(h.$slots,"foot",{},void 0,!0)])):A("",!0)],2)],32)):A("",!0)]))}}),vs=Ee(Uh,[["__scopeId","data-v-ee025dcb"]]),Vh={class:"sd-head"},jh=["placeholder","aria-label"],Kh=["aria-selected","onClick","onMousemove"],Gh={class:"sd-meta"},Qh=["innerHTML"],Yh={class:"sd-time"},Zh=["innerHTML"],Xh=["innerHTML"],Jh={key:1,class:"sd-empty"},eg={class:"sd-hint"},tg=200,ng=Ie({__name:"SearchSessionsDialog",props:{sessions:{},activeId:{}},emits:["select","close"],setup(e,{emit:t}){const{t:n}=Ue(),s=e,o=t,i=I(!0),u=I(""),p=I(null),f=I(null),v=$(()=>{const k=u.value.trim().toLowerCase(),T=[];for(const S of s.sessions){const O=S.title??"",D=S.lastPrompt??"",E=S.workspaceName??"",B=k.length>0&&O.toLowerCase().includes(k),q=k.length>0&&D.toLowerCase().includes(k),V=k.length>0&&E.toLowerCase().includes(k);if(!(k.length>0&&!B&&!q&&!V)&&(T.push({session:S,inTitle:B,inWorkspace:V,snippetText:D?$p(D,u.value):""}),T.length>=tg))break}return T}),w=I(0);Oe(u,()=>{w.value=0});function x(k){const T=v.value.length;return T===0?0:Math.max(0,Math.min(T-1,k))}async function h(){await Ke(),f.value?.querySelector('[aria-selected="true"]')?.scrollIntoView({block:"nearest"})}function m(k){w.value=x(w.value+k),h()}function _(k){o("select",k),o("close")}function y(){const k=v.value[w.value];k&&_(k.session.id)}function g(k){k.key==="ArrowDown"?(k.preventDefault(),m(1)):k.key==="ArrowUp"?(k.preventDefault(),m(-1)):k.key==="Enter"&&(k.preventDefault(),y())}return ht(()=>{p.value?.focus()}),(k,T)=>(a(),G(vs,{open:i.value,"onUpdate:open":T[1]||(T[1]=S=>i.value=S),size:"lg",height:"fixed",padded:!1,onClose:T[2]||(T[2]=S=>o("close"))},{head:H(()=>[r("div",Vh,[M(se,{class:"sd-search-icon",name:"search",size:"md"}),gt(r("input",{ref_key:"inputRef",ref:p,"onUpdate:modelValue":T[0]||(T[0]=S=>u.value=S),class:"sd-input",type:"text",placeholder:l(n)("sidebar.searchPlaceholder"),"aria-label":l(n)("sidebar.searchPlaceholder"),autocomplete:"off",spellcheck:"false",onKeydown:g},null,40,jh),[[qn,u.value]])])]),foot:H(()=>[r("span",eg,d(l(n)("sidebar.searchHint")),1)]),default:H(()=>[r("div",{ref_key:"listRef",ref:f,class:"sd-list",role:"listbox"},[v.value.length>0?(a(!0),c(he,{key:0},Pe(v.value,(S,O)=>(a(),c("button",{key:S.session.id,class:fe(["sd-row",{on:O===w.value,active:S.session.id===e.activeId}]),role:"option","aria-selected":O===w.value,onClick:D=>_(S.session.id),onMousemove:D=>w.value=O},[r("span",Gh,[M(se,{class:"sd-folder",name:"folder-closed",size:"sm"}),r("span",{class:"sd-ws",innerHTML:l(na)(S.session.workspaceName??S.session.workspaceId??"",S.inWorkspace?u.value:"")},null,8,Qh),r("span",Yh,d(S.session.time),1)]),r("span",{class:"sd-title",innerHTML:l(na)(S.session.title,S.inTitle?u.value:"")},null,8,Zh),S.snippetText?(a(),c("span",{key:0,class:"sd-snippet",innerHTML:l(na)(S.snippetText,u.value)},null,8,Xh)):A("",!0)],42,Kh))),128)):(a(),c("div",Jh,d(l(n)("sidebar.searchNoResults")),1))],512)]),_:1},8,["open"]))}}),sg=Ee(ng,[["__scopeId","data-v-ac47909f"]]);function Ti(e){return e.isComposing===!0||e.keyCode===229}function Iu(e){return e.lastTurnReason==="failed"}const Au=["⚡","🔥","✅","❌","📌","⭐","🚀","💡","📝","🎯","🧠","🤖","🔧","📦","🌱","🎨","🔍","📈","🕐","🎉"];function og(e){return Au.includes(e)}function ig(){const e=vo(We.sessionEmoji);if(!e||typeof e!="object"||Array.isArray(e))return{};const t={};for(const[n,s]of Object.entries(e))typeof s=="string"&&og(s)&&(t[n]=s);return t}function ag(e){Vs(We.sessionEmoji,e)}function lg(e,t,n){const s={...e};return n===null||n===""?delete s[t]:s[t]=n,s}const rg={preview:"Preview",confirm:"Confirm",cancel:"Cancel",close:"Close",copy:"Copy"},ug={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"},cg={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",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",search:"Search",searchHint:"↑↓ navigate · ↵ open · Esc close",searchNoResults:"No matching sessions"},dg={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"},pg={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",activatedSkill:"Activated skill: {name}",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})…"},fg={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"},mg={placeholder:"Type a message…",send:"Send ↵",queueLabel:"Queue",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"},vg={title:"Sign in to Kimi Code",close:"Close (Esc)",starting:"Starting authorization flow…",lead:"Click the button below to authorize in a new browser tab.",authorizeInBrowser:"Authorize in browser",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."},hg={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"}},gg={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"},yg={justNow:"just now"},kg={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"},bg={title:"Question",step:"Q{current}/{total}",back:"‹ Back",nextQuestion:"Next question ›",otherDefault:"Other…",submit:"Submit",dismiss:"Dismiss",minimize:"Minimize",expand:"Expand"},wg={tag:"tasks",summary:"{run} running · {done} done",stop:"stop",defaultDescription:"Background task",dockTasks:"Background tasks",dockBash:"Bash",dockSubagent:"Sub Agent",dockTodos:"Todos",thinkingEffort:"thinking {effort}",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"},Sg={panelTitle:"Thinking",close:"Close"},Cg={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"},_g={},$g={empty:"Select a file on the left to preview",loading:"Loading…",lineCount:"{count} lines",copy:"Copy",copied:"Copied",copyPath:"Copy path",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"}},Mg={searching:"Searching…",noMatch:"No matches"},xg={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."}},Ig={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"}},Ag={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"},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"}},Tg={resizeHandleAria:"Resize sidebar width",resizePreviewAria:"Resize preview panel width",detailPanelAria:"Detail panel"},Pg={zoomIn:"Zoom in",zoomOut:"Zoom out",resetZoom:"Reset zoom",dragHint:"Drag to pan",noPreview:"No preview available"},Eg={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"},Lg={colorSchemeLabel:"Light/Dark",light:"Moon Bright",dark:"Moon Dark",system:"System",accentLabel:"Accent",accentBlue:"Blue",accentBlack:"Black"},Bg={preview:"预览",confirm:"确认",cancel:"取消",close:"关闭",copy:"复制"},Rg={authBannerMessage:"未登录 · 需要登录 Kimi Code 才能开始对话",authBannerLogin:"登录",authPageTitle:"登录 Kimi Code",authPageMessage:"先连接 Kimi Code 账号,然后再开始或继续对话。",authPageLogin:"登录",connecting:"连接中…",connectRetrying:"无法连接服务器,正在重试…",internalBuildBanner:"仅供内部测试"},Og={workspaceMeta:"workspace · {branch}",sessionsHeader:"sessions",workspaces:"工作区",sortWorkspaces:"工作区排序",sortManual:"手动排序",sortRecent:"按最近活动",collapseAll:"折叠全部工作区",expandAll:"展开全部工作区",newSession:"新建会话",newChat:"新建对话",newWorkspace:"新建工作区",emptyState:"还没有会话 · 点击 新建会话 开始",archiveConfirm:"确认归档会话?归档后可以从「设置」中恢复",options:"选项",pin:"置顶会话",unpin:"取消置顶",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:"没有匹配的会话"},Dg={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:"此会话在完成前被中断"},zg={jumpToLatestAria:"跳到最新消息",toc:"对话目录",newMessages:"最新消息",loading:"加载中…",starting:"正在创建对话…",emptyWorkspaceHint:"在 {name} 中发送",switchWorkspace:"切换工作区",addWorkspace:"添加工作区",moreWorkspaces:"更多工作区 ({count})",compacting:"正在压缩上下文…",compactedPlain:"上下文已压缩",compactedAuto:"已自动压缩上下文",compactedTokens:"({before} → {after} tokens)",viewSummary:"查看摘要",summaryTitle:"压缩摘要",manuallyAborted:"您已手动终止",activatedSkill:"已激活技能: {name}",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})…"},Fg={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:"进行中"},Ng={placeholder:"输入消息…",send:"发送 ↵",queueLabel:"队列",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:"立即发送"},qg={title:"登录 Kimi Code",close:"关闭 (Esc)",starting:"正在启动授权流程…",lead:"点击下方按钮,在新标签页中完成授权。",authorizeInBrowser:"在浏览器中授权",orDivider:"或者",fallbackPrefix:"换个设备?在浏览器打开 ",fallbackSuffix:" 输入设备码:",copy:"复制",copied:"已复制",waitingAuth:"等待授权",waitingAutoClose:"等待授权,完成后自动登录…",success:"已授权",successHint:"正在加载,稍后自动关闭…",expiredTitle:"授权码已过期",expiredHint:"请重新开始授权流程",retry:"重试",closeBtn:"关闭",errorTitle:"当前 daemon 暂不支持登录",errorHint:"请升级 kimi-code 后重试",pollErrorTitle:"与 daemon 的连接已断开",pollErrorHint:"授权轮询连续失败,请检查 kimi-code 进程后重试"},Wg={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 不能为空"}},Hg={dialogLabel:"切换模型",title:"切换模型",close:"关闭 (Esc)",allTab:"全部",providerTabs:"模型提供商",searchPlaceholder:"搜索模型或提供商…",loading:"加载模型中…",unavailable:"daemon 暂不支持模型列表",contextSuffix:"{size} ctx",emptyNoModels:"daemon 未提供可选模型",emptyNoMatch:"无匹配模型",starTitle:"添加到收藏",unstarTitle:"取消收藏",footerHint:"↑↓ 导航 · Enter 选择 · Esc 关闭"},Ug={justNow:"刚刚"},Vg={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:"拒绝并退出"},jg={title:"提问",step:"Q{current}/{total}",back:"‹ 返回",nextQuestion:"下一题 ›",otherDefault:"其他…",submit:"提交",dismiss:"放弃",minimize:"最小化",expand:"展开"},Kg={tag:"任务",summary:"{run} 运行中 · {done} 完成",stop:"stop",defaultDescription:"后台任务",dockTasks:"后台任务",dockBash:"后台 Bash",dockSubagent:"子 Agent",dockTodos:"待办",thinkingEffort:"思考 {effort}",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:"结果"},Gg={panelTitle:"思考过程",close:"关闭"},Qg={title:"改动",branch:"分支",aheadTitle:"领先远程",behindTitle:"落后远程",changeCount:"{count} 改动",empty:"无 git 改动 / daemon 未提供",clean:"工作区干净,无改动",back:"返回",loading:"正在加载 diff…",noDiff:"该文件没有行级改动",list:"列表",tree:"树形",close:"关闭",colorblind:"色盲配色",colorblindOff:"默认",colorblindRedGreen:"红绿色盲",colorblindBlueYellow:"蓝黄色盲"},Yg={},Zg={empty:"选择左侧文件预览",loading:"加载中…",lineCount:"{count} 行",copy:"复制",copied:"已复制",copyPath:"复制路径",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:"无法读取这个文件"}},Xg={searching:"搜索中…",noMatch:"无匹配"},Jg={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:"目标描述太长了,请精简后重试。"}},e0={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:"撤销上一条消息"}},t0={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:"更新目标"},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:"已取消"}},n0={resizeHandleAria:"调整侧栏宽度",resizePreviewAria:"调整预览面板宽度",detailPanelAria:"详情面板"},s0={zoomIn:"放大",zoomOut:"缩小",resetZoom:"重置缩放",dragHint:"拖拽平移",noPreview:"无预览"},o0={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:"返回"},i0={colorSchemeLabel:"明暗",light:"月之亮面",dark:"月之暗面",system:"跟随系统",accentLabel:"主题色",accentBlue:"蓝色",accentBlack:"黑色"},a0={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"},l0={title:"欢迎来使用 Kimi Web",subtitle:"来选择一些你的偏好 —— 之后也可以在设置里随时修改。",languageLabel:"语言",start:"开始使用",skip:"跳过",reopen:"偏好 / 引导"},r0={title:"Settings",close:"Close (Esc)",tabs:{general:"General",agent:"Agent",account:"Account",advanced:"Advanced",archived:"Archived",plugins:"Plugins"},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",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",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",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"}}},u0={title:"设置",close:"关闭 (Esc)",tabs:{general:"通用",agent:"Agent",account:"账户",advanced:"高级",archived:"已归档",plugins:"插件"},appearance:"外观",notifications:"通知",notifyOnComplete:"会话完成时通知",notifyOnQuestion:"待回答时通知",notifyOnApproval:"待审批时通知",soundOnComplete:"会话完成、待回答或待审批时播放提示音",notifyDenied:"已在浏览器设置中被阻止",notifyTitle:"Kimi Code · 回合完成",notifyQuestionTitle:"Kimi Code · 待回答",notifyApprovalTitle:"Kimi Code · 等待审批",notifyFallback:"点击查看结果",notifyQuestionFallback:"有提问等待你回答",notifyApprovalFallback:"有工具等待你审批",account:"账户",uiFontSize:"字体大小",agentDefaults:"Agent 默认值",providers:"提供商",providersHint:"添加、删除或刷新提供商",manageProviders:"管理",saving:"保存中",defaultModel:"默认模型",defaultModelHint:"新会话会优先使用这个模型",noDefaultModel:"未设置默认模型",defaultPermission:"默认权限",defaultPermissionHint:"只影响之后新建的会话",defaultThinking:"默认开启思考",defaultThinkingHint:"新会话默认是否开启 thinking",defaultPlanMode:"默认计划模式",defaultPlanModeHint:"新会话默认进入 plan mode",mergeSkills:"合并所有可用 Skills",mergeSkillsHint:"让项目、插件和用户 Skills 一起出现在可用列表中",telemetry:"使用数据改进产品",telemetryHint:"开启后,我们会收集您的匿名交互数据(如点击、打断、功能使用等),用于改进产品体验。您可以随时关闭。",telemetryRestartHint:"更改后需重启服务生效。",credentialReady:"凭据已配置",credentialMissing:"缺少凭据",configUnavailable:"当前服务端没有返回 config,设置项暂不可用。",advanced:"高级",build:"构建",serverVersion:"服务端版本",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:"失败"}}},c0={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"},d0={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:"导出会话"},p0={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"},f0={title:"侧边聊天",subtitle:"从当前会话 fork",empty:"在侧边随手问一句 —— 它共享当前会话的上下文。",placeholder:"问问侧边聊天…",send:"发送"},m0={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…"},v0={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}"},h0={title:"需要服务器令牌",hint:"此服务器受保护。请输入服务器启动时打印的 bearer token(或通过 {password} 设置的密码)。",placeholder:"令牌",connect:"连接",connecting:"连接中…"},g0={dockTerminal:"终端",newTerminal:"新建终端",inputPlaceholder:"输入命令后按回车",loading:"正在加载终端…",empty:"暂无终端 — 创建一个即可在此会话中使用 shell",listFailed:"加载终端失败",createFailed:"创建终端失败",closeFailed:"关闭终端失败",closeTerminal:"关闭终端",exited:"进程已退出,退出码 {code}"},y0={en:{common:rg,app:ug,sidebar:cg,workspace:dg,conversation:pg,status:fg,composer:mg,login:vg,providers:hg,model:gg,sessions:yg,approval:kg,question:bg,tasks:wg,thinking:Sg,diff:Cg,fileTree:_g,filePreview:$g,mention:Mg,warnings:xg,commands:Ig,tools:Ag,layout:Tg,mobile:Eg,theme:Lg,onboarding:a0,settings:r0,header:c0,sideChat:p0,serverAuth:m0,terminal:v0,media:Pg},zh:{common:Bg,app:Rg,sidebar:Og,workspace:Dg,conversation:zg,status:Fg,composer:Ng,login:qg,providers:Wg,model:Hg,sessions:Ug,approval:Vg,question:jg,tasks:Kg,thinking:Gg,diff:Qg,fileTree:Yg,filePreview:Zg,mention:Xg,warnings:Jg,commands:e0,tools:t0,layout:n0,mobile:o0,theme:i0,onboarding:l0,settings:u0,header:d0,sideChat:f0,serverAuth:h0,terminal:g0,media:s0}},Tu=[{code:"en",label:"English"},{code:"zh",label:"中文"}];function k0(){const e=It(We.locale);return e==="en"||e==="zh"?e:globalThis.navigator?.language?.toLowerCase().startsWith("zh")?"zh":"en"}const pt=Ad({legacy:!1,locale:k0(),fallbackLocale:"en",messages:y0});function Pu(e){pt.global.locale.value=e,Bt(We.locale,e)}const b0=["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"],Eu=500,Pi=256*1024,Yl=200,sa=16384,oa=500,ia=50,aa=50,w0=6,S0=/api[_-]?key|authorization|token|secret|password|cookie|credential/i,C0=/^[A-Za-z0-9+/=_-]{200,}$/;let la=null;function ts(){if(la!==null)return la;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=It(We.debug)==="1"),la=e,e}const Us=[],xo=[];let Ho=0;const to=[];let Uo=0,_0=1;const Ei=new TextEncoder,$0=new Set(b0),al=I(0),Vo=Td(!1);function M0(){return Us}function x0(){Us.length=0,xo.length=0,Ho=0,to.length=0,Uo=0,al.value++}function Ps(e){if(!Vo.value){try{const t={id:_0++,ts:Date.now(),source:e.source,kind:String(Ao(e.kind)),label:String(Ao(e.label)),sessionId:e.sessionId===void 0?void 0:String(Ao(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:js(e.detail)},n=JSON.stringify(t),s=Ei.encode(n).byteLength;if(s>Pi)return;for(Us.push(t),xo.push(n),Ho+=s+(xo.length>1?1:0);Us.length>Eu||Ho>Pi;){const o=xo.shift();Us.shift(),o!==void 0&&(Ho-=Ei.encode(o).byteLength,xo.length>0&&(Ho-=1))}}catch{return}al.value++}}function Ys(e){if(typeof e=="string")return e.length<=Yl?e:e.slice(0,Yl)}function Un(e){return typeof e=="number"&&Number.isFinite(e)?e:void 0}function I0(e,t){if($0.has(e))try{const n={ts:Date.now(),event:e,sessionId:Ys(t?.sessionId),status:Ys(t?.status),operation:Ys(t?.operation),seq:Un(t?.seq),durationMs:Un(t?.durationMs),messageCount:Un(t?.messageCount),contentCount:Un(t?.contentCount),mediaCount:Un(t?.mediaCount),sessionCount:Un(t?.sessionCount),workspaceCount:Un(t?.workspaceCount),promptId:Ys(t?.promptId),zipBytes:Un(t?.zipBytes),errorName:Ys(t?.errorName),errorCode:Un(t?.errorCode),requestId:Ys(t?.requestId),phase:Ys(t?.phase),httpStatus:Un(t?.httpStatus),fatal:typeof t?.fatal=="boolean"?t.fatal:void 0,line:Un(t?.line),col:Un(t?.col)},s=JSON.stringify(n),o=Ei.encode(s).byteLength;if(o>Pi)return;for(to.push(s),Uo+=o+(to.length>1?1:0);to.length>Eu||Uo>Pi;){const i=to.shift();i!==void 0&&(Uo-=Ei.encode(i).byteLength,to.length>0&&(Uo-=1))}}catch{return}}function Ao(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 C0.test(i)?`[base64-like, ${i.length} chars omitted]`:i.length>oa?`${i.slice(0,oa)}… [+${i.length-oa} chars]`:i}if(n!=="object")return String(e);if(t>=w0)return"[max depth]";if(Array.isArray(e)){const i=e.slice(0,ia).map(u=>Ao(u,t+1));return e.length>ia&&i.push(`[+${e.length-ia} more items]`),i}const s={},o=Object.entries(e);for(const[i,u]of o.slice(0,aa))s[i]=S0.test(i)?"[redacted]":Ao(u,t+1);return o.length>aa&&(s._truncatedKeys=o.length-aa),s}function js(e){if(e===void 0)return;const t=Ao(e);try{const n=JSON.stringify(t);if(n!==void 0&&n.length>sa)return{_truncated:`detail JSON was ${n.length} chars; first ${sa} kept`,preview:n.slice(0,sa)}}catch{return"[unserializable detail]"}return t}const Lu=/^\/(oauth\/login|auth|providers|config|files)(\/|$)/i;function fi(e){ts()&&Ps({source:"rest",kind:"rest:request",label:`→ ${e.method} ${e.path}`,method:e.method,path:e.path,requestId:e.requestId,detail:{url:e.url,body:Lu.test(e.path)?void 0:js(e.body)}})}function ko(e){if(!ts())return;const t=e.code!==0;Ps({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:Lu.test(e.path)?void 0:js(e.data)}})}function Os(e){ts()&&Ps({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 bo(e,t){ts()&&Ps({source:"ws",kind:"ws:lifecycle",eventType:e,label:`ws ${e}`,detail:js(t)})}function A0(e){if(!ts())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;Ps({source:"ws",kind:"ws:out",eventType:n,sessionId:o,label:`→ ${n}`,detail:js(e)})}function T0(e){if(!ts())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);Ps({source:"ws",kind:"ws:in",eventType:n,sessionId:s,seq:o,offset:i,label:`← ${n}${u.length>0?` (${u.join(" ")})`:""}`,detail:js(t.payload)})}const P0={error:"✕",warn:"⚠",info:"ℹ",debug:"·",log:"·"};function E0(e,t,n){ts()&&Ps({source:"client",kind:`client:${e}`,label:`${P0[e]} ${t}`,detail:js(n)})}function As(e,t){ts()&&Ps({source:"client",kind:"client:event",label:`· ${e}`,detail:js(t)})}function Yt(e,t){I0(e,t),Ps({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 ra=!1,mi=null;function L0(){if(ra)return()=>mi?.();ra=!0;const e=[];try{if(typeof window<"u"){const n=o=>{Yt("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;Yt("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(ts())for(const n of["error","warn","log","info","debug"]){const s=console[n];if(typeof s!="function")continue;const o=(...i)=>{try{E0(n,i.map(B0).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,ra=!1}};return mi=t,t}function B0(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 Bu(e=Us){if(typeof document>"u")return;const t=new Blob([R0(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 R0(e=Us){return e===Us?xo.join(`
-`):e.map(t=>JSON.stringify(t)).join(`
-`)}function O0(){return to.join(`
-`)}const Ru="kimiWeb.compaction",Ou="kimiWeb.turnError",hn=pt.global.t,D0={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"},z0={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"};function ho(e){const t=(e??"").trim().toLowerCase().replace(/[\s-]+/g,"_");return z0[t]??t}function Ks(e){const t=D0[ho(e)];return t?hn(t):e}const F0={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",croncreate:"calendar-schedule",cronlist:"calendar-todo",crondelete:"calendar-close"};function ni(e){const t=ho(e);let n=F0[t];return!n&&(e??"").trim().toLowerCase().includes("skill")&&(n="bolt"),n||(n="tool"),_o(n,"sm")}const Du=80;function N0(e,t=Du){const n=e.trim();return n.length>t?n.slice(0,t-1)+"…":n}function q0(e,t){const n=e.trim();return!!(n===""||n==="{}"||n==="[]"||n==="null"||t&&Object.keys(t).length===0)}function W0(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 st(e){return typeof e=="string"&&e.length>0?e:void 0}function Ns(e){return typeof e=="number"&&Number.isFinite(e)?e:void 0}function H0(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 ua(e){return st(e.path)??st(e.file_path)??st(e.filePath)??st(e.filename)}const U0={active:"status.goalStatusActive",blocked:"status.goalStatusBlocked",complete:"status.goalStatusComplete"};function V0(e){const t=st(e);if(!t)return;const n=U0[t];return n?hn(n):t}function j0(e){const t=Ns(e.value),n=st(e.unit);if(!(t===void 0||!n))switch(n){case"turns":return hn("tools.goal.turns",{value:t});case"tokens":return hn("tools.goal.tokens",{value:t});case"milliseconds":return hn("tools.goal.milliseconds",{value:t});case"seconds":return hn("tools.goal.seconds",{value:t});case"minutes":return hn("tools.goal.minutes",{value:t});case"hours":return hn("tools.goal.hours",{value:t});default:return hn("tools.goal.budget",{value:t,unit:n})}}const K0=64;function uo(e,t,n=!1){const s=(o,i=Du)=>n?o.trim():N0(o,i);try{const o=W0(t);if(!n&&q0(t,o))return"";const i=()=>s(t.replace(/^·\s*/,""));if(!o)return i();switch(ho(e)){case"read":{const u=ua(o);if(!u)return i();const p=Ns(o.offset)??Ns(o.line_start)??Ns(o.start_line),f=Ns(o.limit)??Ns(o.length),v=Ns(o.line_end)??Ns(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=ua(o);return u?s(`${u} ${hn("tools.chip.created")}`):i()}case"edit":case"multi_edit":{const u=ua(o);return u?s(u):i()}case"bash":{const u=st(o.command)??st(o.cmd)??st(o.script);return u?s(u,K0):i()}case"grep":case"search":{const u=st(o.pattern)??st(o.query)??st(o.regex),p=st(o.path)??st(o.glob)??st(o.include);return u&&p?s(`${u} in ${p}`):u?s(u):i()}case"glob":{const u=st(o.pattern)??st(o.glob)??st(o.query),p=st(o.path)??st(o.cwd);return u&&p?s(`${u} in ${p}`):u?s(u):st(o.path)?s(st(o.path)):i()}case"ls":{const u=st(o.path)??st(o.dir)??st(o.directory)??st(o.cwd);return u?s(u):i()}case"web_fetch":{const u=st(o.url)??st(o.uri);return u?s(H0(u)):i()}case"todo":case"task":{const u=st(o.description)??st(o.title)??st(o.prompt)??st(o.name)??st(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(hn("tools.chip.todos",{count:p.length})):i()}case"creategoal":{if(n)return i();const u=st(o.objective),p=st(o.completionCriterion);return u&&p?s(hn("tools.goal.objectiveWithCriterion",{objective:u,criterion:p})):u?s(u):i()}case"getgoal":return n?i():"";case"setgoalbudget":{if(n)return i();const u=j0(o);return u?s(u):i()}case"updategoal":{if(n)return i();const u=V0(o.status);return u?s(hn("tools.goal.status",{status:u})):i()}default:return i()}}catch{return t}}function zu(e){try{switch(ho(e.name)){case"bash":return e.timing?e.timing:"";case"read":{if(e.output&&e.output.length>0){const t=e.output.length;return hn("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 hn("tools.chip.edited")}return""}case"grep":case"search":return e.output&&e.output.length>0?hn("tools.chip.results",{count:e.output.length}):"";default:return""}}catch{return""}}const G0=["local-path","zip-url","github"];function Lt(e,t){const n=e[t];return typeof n=="string"&&n.length>0?n:void 0}function qs(e,t,n){return Lt(e,t)??Lt(e,n)}function zo(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 Fu(e,t,n){return e[t]===!0||e[n]===!0}function Q0(e){const t=e!==null&&typeof e=="object"?e:{},n=Lt(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?Lt(i,"kind"):void 0;return{id:Lt(t,"id")??"",displayName:qs(t,"display_name","displayName")??"",version:qs(t,"version","version"),enabled:t.enabled===!0,state:t.state==="error"?"error":"ok",skillCount:zo(t,"skill_count","skillCount"),mcpServerCount:zo(t,"mcp_server_count","mcpServerCount"),enabledMcpServerCount:zo(t,"enabled_mcp_server_count","enabledMcpServerCount"),hookCount:zo(t,"hook_count","hookCount"),commandCount:zo(t,"command_count","commandCount"),hasErrors:Fu(t,"has_errors","hasErrors"),source:G0.includes(n??"")?n:"local-path",originalSource:qs(t,"original_source","originalSource"),github:o!==void 0&&i!==void 0&&(u==="branch"||u==="tag"||u==="sha")?{owner:Lt(o,"owner")??"",repo:Lt(o,"repo")??"",ref:{kind:u,value:Lt(i,"value")??""},installedSha:qs(o,"installed_sha","installedSha")}:void 0}}const Y0=["official","curated","third-party"],Z0=["not_installed","partial","ready","unsupported"],X0=["ok","missing","failed"];function J0(e){const t=e!==null&&typeof e=="object"?e:{},n=Lt(t,"tier"),s=t.installed,o=s!==null&&typeof s=="object"?s:void 0;return{id:Lt(t,"id")??"",tier:Y0.includes(n??"")?n:"third-party",displayName:qs(t,"display_name","displayName")??"",description:Lt(t,"description"),homepage:Lt(t,"homepage"),keywords:Array.isArray(t.keywords)?t.keywords.filter(i=>typeof i=="string"):void 0,version:Lt(t,"version"),source:Lt(t,"source")??"",installed:o===void 0?void 0:{version:Lt(o,"version"),enabled:o.enabled===!0},updateAvailable:Fu(t,"update_available","updateAvailable"),capabilityId:qs(t,"capability_id","capabilityId")}}function ey(e){const t=e!==null&&typeof e=="object"?e:{},n=Lt(t,"state"),o=(Array.isArray(t.steps)?t.steps:[]).filter(u=>u!==null&&typeof u=="object").map(u=>({id:Lt(u,"id")??"",state:X0.includes(Lt(u,"state")??"")?Lt(u,"state"):"missing",detail:Lt(u,"detail"),optional:u.optional===!0})),i=t.install;return{id:Lt(t,"id")??"",pluginId:qs(t,"plugin_id","pluginId"),displayName:qs(t,"display_name","displayName")??"",description:Lt(t,"description")??"",supported:t.supported===!0,state:Z0.includes(n??"")?n:"unsupported",version:Lt(t,"version"),steps:o,install:Nu(void 0,i!==null&&typeof i=="object"?i:{running:!1})}}function ty(e){const t=e.trim();return t.length===0?!1:/^https:\/\/\S+$/i.test(t)?!0:/^(\/|~\/|\.{1,2}\/|[A-Za-z]:[\\/])/.test(t)}function ny(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 Nu(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 qu(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 Pa(e){return e.contextTokens===0&&e.contextLimit===0&&e.inputTokens===0&&e.outputTokens===0&&e.turnCount===0}function Zn(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:qu(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 Go(e){return{id:e.id,root:e.root,name:e.name,lastOpenedAt:e.last_opened_at,sessionCount:e.session_count}}function Zl(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 ll(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:Zl(e.source)};case"video":return{type:"video",source:Zl(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 Ea(e){return{id:e.id,sessionId:e.session_id,role:e.role,content:e.content.map(ll),createdAt:e.created_at,promptId:e.prompt_id,parentMessageId:e.parent_message_id,metadata:e.metadata}}function sy(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 oy(e){return{content:e.content.map(sy),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 iy(e){return{decision:e.decision,scope:e.scope,feedback:e.feedback,selected_label:e.selectedLabel}}function Wu(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 ay(e){return{id:e.id,label:e.label,description:e.description,recommended:e.recommended===!0||e.is_recommended===!0}}function ly(e){return{id:e.id,question:e.question,header:e.header,body:e.body,options:e.options.map(ay),multiSelect:e.multi_select,allowOther:e.allow_other,otherLabel:e.other_label,otherDescription:e.other_description}}function Hu(e){return{questionId:e.question_id,sessionId:e.session_id,turnId:e.turn_id,toolCallId:e.tool_call_id,questions:e.questions.map(ly),createdAt:e.created_at}}function ry(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 uy(e){const t={};for(const[n,s]of Object.entries(e.answers))t[n]=ry(s);return{answers:t,method:e.method,note:e.note}}function _i(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 Xl(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 Ds(e,t){const n=e[t];return typeof n=="string"?n:void 0}function wo(e,t){const n=e[t];return typeof n=="number"&&Number.isFinite(n)?n:void 0}function Vn(e,t){const n=e[t];return typeof n=="number"&&Number.isFinite(n)?n:null}function Uu(e){if(!e||typeof e!="object")return null;const t=e,n=Ds(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:Ds(t,"goalId")??Ds(t,"goal_id")??"goal",objective:Ds(t,"objective")??"",completionCriterion:Ds(t,"completionCriterion")??Ds(t,"completion_criterion"),status:n,turnsUsed:wo(t,"turnsUsed")??wo(t,"turns_used")??0,tokensUsed:wo(t,"tokensUsed")??wo(t,"tokens_used")??0,wallClockMs:wo(t,"wallClockMs")??wo(t,"wall_clock_ms")??0,terminalReason:Ds(t,"terminalReason")??Ds(t,"terminal_reason"),budget:{tokenBudget:Vn(o,"tokenBudget")??Vn(o,"token_budget"),remainingTokens:Vn(o,"remainingTokens")??Vn(o,"remaining_tokens"),turnBudget:Vn(o,"turnBudget")??Vn(o,"turn_budget"),remainingTurns:Vn(o,"remainingTurns")??Vn(o,"remaining_turns"),wallClockBudgetMs:Vn(o,"wallClockBudgetMs")??Vn(o,"wall_clock_budget_ms"),remainingWallClockMs:Vn(o,"remainingWallClockMs")??Vn(o,"remaining_wall_clock_ms"),overBudget:o.overBudget===!0||o.over_budget===!0}}}function cy(e){const t=e;switch(e.type){case"event.session.created":return{type:"sessionCreated",session:Zn(t.payload.session)};case"event.session.updated":return{type:"sessionUpdated",session:Zn(t.payload.session),changedFields:t.payload.changed_fields};case"event.session.deleted":return{type:"sessionDeleted",sessionId:t.session_id};case"event.workspace.created":return{type:"workspaceCreated",workspace:Go(t.payload.workspace)};case"event.workspace.updated":return{type:"workspaceUpdated",workspace:Go(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:qu(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=Uu(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:Ea(t.payload.message)};case"event.message.updated":return{type:"messageUpdated",sessionId:t.session_id,messageId:t.payload.message_id,content:t.payload.content.map(ll),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:Wu(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:Hu(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:_i(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:La(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:vy(t.payload.install)};default:return{type:"unknown",raw:e}}}function dy(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 vi(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 py(e){return{id:e.id,name:e.name,maxContextSize:e.max_context_size,capabilities:e.capabilities,reasoning:e.reasoning}}function fy(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(py)}}function La(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,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 Jl(e){return Q0(e)}function my(e){return J0(e)}function vy(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 er(e){return ey(e)}function hy(e){return e.session_id}function gy(e){return e.seq}const yy="main",ky=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 Ms(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 by(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 _n(e,t){const n=e[t];return typeof n=="string"?n:void 0}function Xs(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 wy(e){if(!e||typeof e!="object")return null;const t=e,n=t.budget,s=n&&typeof n=="object"?n:{},o=_n(t,"status");if(o!=="active"&&o!=="paused"&&o!=="blocked"&&o!=="complete")return null;const i=_n(t,"goalId")??_n(t,"goal_id")??"goal",u=_n(t,"objective")??"";return{goalId:i,objective:u,completionCriterion:_n(t,"completionCriterion")??_n(t,"completion_criterion"),status:o,turnsUsed:Xs(t,"turnsUsed")??Xs(t,"turns_used")??0,tokensUsed:Xs(t,"tokensUsed")??Xs(t,"tokens_used")??0,wallClockMs:Xs(t,"wallClockMs")??Xs(t,"wall_clock_ms")??0,terminalReason:_n(t,"terminalReason")??_n(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 no(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 Sy(e,t){if(e==="turn.step.started")return null;if(e==="tool.use"||e==="tool.call.started"){const n=_n(t,"name")??_n(t,"toolName")??"tool",s=Ks(Cy(n)),o=_y(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=_n(n,"text");if(o)return ca(o);const i=_n(n,"message");if(i)return ca(i)}const s=_n(t,"message");if(s)return ca(s)}return null}function Cy(e){return e.replace(/_\d+$/,"")}const nr=2e3;function ca(e){return e.length>nr?`${e.slice(0,nr)}…`:e}function _y(e,t){if(t==null)return"";const n=typeof t=="string"?t:JSON.stringify(t);return uo(e,n)}function $y(e,t,n,s,o,i){if(i.has(n)&&s==="turn.step.started")return[];if(s==="assistant.delta"){const w=_n(o,"delta");if(!w)return[];const x=e.subagentMeta.get(n),h=no(e,t,n,{status:"running",subagentPhase:"working",startedAt:x?.startedAt??new Date().toISOString()}),m=[];return h&&m.push({type:"taskCreated",sessionId:t,task:h}),m.push({type:"taskProgress",sessionId:t,taskId:n,outputChunk:w,stream:"stdout",kind:"text"}),m}const u=Sy(s,o);if(u===null||u.length===0)return[];const p=e.subagentMeta.get(n),f=no(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 Fo(e){return{...e,content:e.content.map(t=>({...t}))}}function sr(e,t,n){const s={id:Ms("msg_"),sessionId:t,role:"assistant",content:[],createdAt:new Date().toISOString(),promptId:n};return e.messages.push(s),s}function My(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 xy(e){return Array.isArray(e)?e.map(t=>ll(t)):[]}function or(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 Iy(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 Ay(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 ir(e,t){e.messages.find(n=>n.id===t)}function Ty(e,t,n,s,o,i){const u={id:Ms("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 No(e,t){return e.messages.find(n=>n.id===t)}function ar(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 Py(){const e=new Map,t=new Set;function n(x){let h=e.get(x);return h||(h=tr(),e.set(x,h)),h}function s(x){e.set(x,tr())}function o(x){e.delete(x)}function i(x){t.add(x)}function u(x,h){const m=n(x);m.currentPromptId=h}function p(x,h){s(x);const m=n(x),_=h.promptId??Ms("pr_");m.currentPromptId=_,m.turnPromptId.set(h.turnId,_);const y=sr(m,x,_);h.thinkingText.length>0&&y.content.push({type:"thinking",thinking:h.thinkingText}),h.assistantText.length>0&&y.content.push({type:"text",text:h.assistantText});for(const g of h.runningTools){const k=typeof g.lastProgress?.text=="string"&&g.lastProgress.text.length>0?[g.lastProgress.text]:void 0;y.content.push({type:"toolUse",toolCallId:g.toolCallId,toolName:g.name,input:g.args??{},outputLines:k}),m.toolStartTimes.set(g.toolCallId,Date.now())}return m.currentAssistantMsgId=y.id,m.turnTextLen=h.assistantText.length,m.turnThinkLen=h.thinkingText.length,[{type:"messageCreated",message:Fo(y)}]}function f(x,h,m,_){try{return w(x,h,m,_)}catch(y){return console.error("[agentProjector] Error projecting event:",x,y instanceof Error?y.message:y),[]}}function v(x,h){return h===void 0?"append":hx?"gap":"append"}function w(x,h,m,_){const y=n(m),g=h,k=[],T=g?.agentId;if(typeof T=="string"&&T!==yy){const S=t.has(T);if(S&&(x==="thinking.delta"||x==="assistant.delta")){const O=g?.delta??"";return O?[{type:"agentDelta",sessionId:m,agentId:T,delta:{[x==="thinking.delta"?"thinking":"text"]:O}}]:[]}if(S&&x==="turn.ended")return[{type:"agentTurnEnded",sessionId:m,agentId:T,reason:g?.reason}];if(ky.has(x))return $y(y,m,T,x,g??{},t)}switch(x){case"session.meta.updated":{const S=g?.patch?.title??g?.title,O=g?.patch?.lastPrompt,D={};typeof S=="string"&&S.length>0&&(D.title=S),typeof O=="string"&&(D.lastPrompt=O),(D.title!==void 0||D.lastPrompt!==void 0)&&k.push({type:"sessionMetaUpdated",sessionId:m,...D});break}case"prompt.submitted":{const S=g?.promptId,O=g?.userMessageId;if(!S||!O)break;const D=xy(g?.content);if(D.length===0)break;y.currentPromptId=S;const E=My(y,m,S,O,D,typeof g?.createdAt=="string"?g.createdAt:new Date().toISOString());k.push({type:"messageCreated",message:Fo(E)});break}case"turn.started":{const S=g?.turnId,O=y.currentPromptId??Ms("pr_");y.currentPromptId=O,S!==void 0&&y.turnPromptId.set(S,O),y.turnTextLen=0,y.turnThinkLen=0,k.push({type:"turnActiveChanged",sessionId:m,active:!0});break}case"turn.step.started":{const S=g?.turnId;let O=y.turnPromptId.get(S)??y.currentPromptId;if(O||(O=Ms("pr_"),y.currentPromptId=O,S!==void 0&&y.turnPromptId.set(S,O)),y.turnTextLen=0,y.turnThinkLen=0,y.retryReuseMsgId!==void 0){const E=y.retryReuseMsgId;if(y.retryReuseMsgId=void 0,No(y,E)!==void 0){y.currentAssistantMsgId=E;break}}const D=sr(y,m,O);y.currentAssistantMsgId=D.id,k.push({type:"messageCreated",message:Fo(D)});break}case"thinking.delta":{const S=y.currentAssistantMsgId;if(!S)break;const O=g?.delta??"";if(!O)break;_?.offset===0&&y.turnThinkLen>0&&(y.turnThinkLen=0);const D=v(y.turnThinkLen,_?.offset);if(D==="skip")break;if(D==="gap"){k.push({type:"historyCompacted",sessionId:m,beforeSeq:0,reason:"delta_gap"});break}const E=or(y,S,"thinking",O);if(E<0)break;y.turnThinkLen+=O.length,k.push({type:"assistantDelta",sessionId:m,messageId:S,contentIndex:E,delta:{thinking:O}});break}case"assistant.delta":{const S=y.currentAssistantMsgId;if(!S)break;const O=g?.delta??"";if(!O)break;_?.offset===0&&y.turnTextLen>0&&(y.turnTextLen=0);const D=v(y.turnTextLen,_?.offset);if(D==="skip")break;if(D==="gap"){k.push({type:"historyCompacted",sessionId:m,beforeSeq:0,reason:"delta_gap"});break}const E=or(y,S,"text",O);if(E<0)break;y.turnTextLen+=O.length,k.push({type:"assistantDelta",sessionId:m,messageId:S,contentIndex:E,delta:{text:O}});break}case"tool.use":case"tool.call.started":{const S=y.currentAssistantMsgId,O=g?.turnId,D=y.turnPromptId.get(O)??y.currentPromptId;if(!S||!D)break;const E=g?.toolCallId,B=g?.name??g?.toolName??"",q=g?.args??g?.input??{};Iy(y,S,E,B,q);const V=No(y,S);V&&V.content.length-1,y.toolStartTimes.set(E,Date.now()),V&&k.push({type:"messageUpdated",sessionId:m,messageId:S,content:V.content.map(b=>({...b})),status:"pending"});break}case"tool.call.delta":break;case"tool.progress":{const S=g?.toolCallId,O=Ay(g??{});S&&O&&k.push({type:"toolOutput",sessionId:m,toolCallId:S,outputChunk:O.outputChunk,stream:O.stream});break}case"tool.result":{const S=g?.turnId;let O=y.turnPromptId.get(S)??y.currentPromptId;O||(O=Ms("pr_"),y.currentPromptId=O,S!==void 0&&y.turnPromptId.set(S,O));const D=g?.toolCallId,E=g?.output,B=g?.isError??!1;y.toolStartTimes.get(D)??Date.now(),y.toolStartTimes.delete(D);const q=Ty(y,m,D,E,B,O);k.push({type:"messageCreated",message:Fo(q)}),y.currentAssistantMsgId=void 0;break}case"turn.step.completed":{const S=y.currentAssistantMsgId,O=by(g?.usage);if(y.totalInput+=O.input,y.totalOutput+=O.output,y.totalCacheRead+=O.cacheRead,y.totalCacheCreate+=O.cacheCreate,S){ir(y,S);const D=No(y,S);D&&k.push({type:"messageUpdated",sessionId:m,messageId:S,content:D.content.map(E=>({...E})),status:"completed"})}break}case"agent.status.updated":{g?.model&&(y.model=g.model),g?.contextTokens!==void 0&&(y.contextTokens=g.contextTokens),g?.maxContextTokens!==void 0&&(y.contextLimit=g.maxContextTokens),k.push({type:"sessionUsageUpdated",sessionId:m,usage:ar(y),model:y.model||void 0,swarmMode:g?.swarmMode===!0?!0:g?.swarmMode===!1?!1:void 0,planMode:g?.planMode===!0?!0:g?.planMode===!1?!1:void 0,supermoonMode:g?.supermoonMode===!0?!0:g?.supermoonMode===!1?!1:void 0,thinking:typeof g?.thinkingEffort=="string"&&g.thinkingEffort.length>0?g.thinkingEffort:void 0});break}case"turn.ended":{const S=y.currentAssistantMsgId,O=g?.reason??"completed",D=Xs(g??{},"durationMs");if(k.push({type:"turnActiveChanged",sessionId:m,active:!1,reason:g?.reason}),S){ir(y,S);const q=No(y,S);q&&k.push({type:"messageUpdated",sessionId:m,messageId:S,content:q.content.map(V=>({...V})),status:O==="failed"||O==="blocked"?"error":"completed",durationMs:D})}y.turnCount++;const E=ar(y);k.push({type:"sessionUsageUpdated",sessionId:m,usage:E});const B=g?.error;if(O==="failed"&&B!==void 0&&typeof B.message=="string"&&B.message.length>0){const q=typeof g?.turnId=="number"?g.turnId:void 0,V=(q!==void 0?y.turnPromptId.get(q):void 0)??y.currentPromptId;k.push({type:"messageCreated",message:{id:`turnerror_${m}_${q??"unknown"}`,sessionId:m,role:"assistant",content:[{type:"text",text:B.message}],createdAt:new Date().toISOString(),promptId:V,metadata:{[Ou]:{code:typeof B.code=="string"?B.code:void 0,message:B.message}}}})}y.currentAssistantMsgId=void 0,y.currentPromptId=void 0,y.turnTextLen=0,y.turnThinkLen=0,y.retryReuseMsgId=void 0;break}case"prompt.completed":{const S=g?.promptId;typeof S=="string"&&S.length>0&&k.push({type:"promptCompleted",sessionId:m,promptId:S,reason:g?.reason??"completed"});break}case"prompt.aborted":{const S=g?.promptId;typeof S=="string"&&S.length>0&&k.push({type:"promptAborted",sessionId:m,promptId:S});break}case"turn.step.retrying":{const S=y.currentAssistantMsgId;if(S!==void 0){const O=No(y,S);O!==void 0&&(O.content=O.content.filter(D=>D.type!=="text"&&D.type!=="thinking"&&D.type!=="toolUse"),k.push({type:"messageUpdated",sessionId:m,messageId:S,content:O.content.map(D=>({...D})),status:"pending"}),y.retryReuseMsgId=S)}y.turnTextLen=0,y.turnThinkLen=0,y.toolStartTimes.clear();break}case"turn.step.interrupted":{y.currentAssistantMsgId=void 0,y.retryReuseMsgId=void 0;break}case"subagent.spawned":{const O={id:typeof g?.subagentId=="string"&&g.subagentId.length>0?g.subagentId:Ms("task_"),sessionId:m,kind:"subagent",description:typeof g?.description=="string"?g.description:g?.subagentName??"Sub Agent",status:"running",createdAt:new Date().toISOString(),subagentPhase:"queued",subagentType:typeof g?.subagentName=="string"?g.subagentName:void 0,parentToolCallId:typeof g?.parentToolCallId=="string"?g.parentToolCallId:void 0,swarmIndex:typeof g?.swarmIndex=="number"?g.swarmIndex:void 0,runInBackground:g?.runInBackground===!0};y.subagentMeta.set(O.id,O),k.push({type:"taskCreated",sessionId:m,task:O});break}case"subagent.started":{const S=no(y,m,g?.subagentId,{subagentPhase:"working",status:"running",startedAt:new Date().toISOString()});S&&k.push({type:"taskCreated",sessionId:m,task:S});break}case"subagent.suspended":{const S=no(y,m,g?.subagentId,{subagentPhase:"suspended",status:"running",suspendedReason:typeof g?.reason=="string"?g.reason:void 0});S&&k.push({type:"taskCreated",sessionId:m,task:S});break}case"subagent.completed":{const S=typeof g?.resultSummary=="string"?g.resultSummary:void 0,O=no(y,m,g?.subagentId,{subagentPhase:"completed",status:"completed",completedAt:new Date().toISOString(),outputPreview:S});O&&k.push({type:"taskCreated",sessionId:m,task:O}),k.push({type:"taskCompleted",sessionId:m,taskId:g?.subagentId??"",status:"completed",outputPreview:S});break}case"subagent.failed":{const S=typeof g?.error=="string"?g.error:void 0,O=no(y,m,g?.subagentId,{subagentPhase:"failed",status:"failed",completedAt:new Date().toISOString(),outputPreview:S});O&&k.push({type:"taskCreated",sessionId:m,task:O}),k.push({type:"taskCompleted",sessionId:m,taskId:g?.subagentId??"",status:"failed",outputPreview:S});break}case"error":{k.push({type:"unknown",raw:{_agentError:!0,code:g?.code,message:g?.message,name:g?.name,details:g?.details,retryable:g?.retryable}});break}case"warning":{k.push({type:"unknown",raw:{_agentWarning:!0,message:g?.message}});break}case"task.started":{const S=g?.info??{},O=typeof S.startedAt=="number"?new Date(S.startedAt).toISOString():void 0,D=typeof S.taskId=="string"?S.taskId:typeof S.taskId=="number"?String(S.taskId):Ms("task_"),E=typeof S.description=="string"?S.description:typeof S.command=="string"?S.command:pt.global.t("tasks.defaultDescription");if(S.kind==="agent"){const q=typeof S.agentId=="string"&&S.agentId.length>0?S.agentId:void 0;if(q!==void 0){const V=no(y,m,q,{description:E,backgroundTaskId:D,runInBackground:!0});V&&k.push({type:"taskCreated",sessionId:m,task:V})}else k.push({type:"taskCreated",sessionId:m,task:{id:D,sessionId:m,kind:"subagent",description:E,status:"running",createdAt:O??new Date().toISOString(),startedAt:O,subagentPhase:"queued",runInBackground:!0}});break}const B=typeof S.command=="string"?S.command:void 0;k.push({type:"taskCreated",sessionId:m,task:{id:D,sessionId:m,kind:"bash",description:E,command:B,status:"running",createdAt:O??new Date().toISOString(),startedAt:O,outputPreview:B!==void 0?`$ ${B}`:void 0}});break}case"task.terminated":{const S=g?.info??{},O=S.status==="failed"||typeof S.exitCode=="number"&&S.exitCode!==0;k.push({type:"taskCompleted",sessionId:m,taskId:typeof S.taskId=="string"?S.taskId:typeof S.taskId=="number"?String(S.taskId):"",status:O?"failed":"completed"});break}case"compaction.completed":{const S=g?.result??{};k.push({type:"compactionCompleted",sessionId:m,tokensBefore:typeof S.tokensBefore=="number"?S.tokensBefore:void 0,tokensAfter:typeof S.tokensAfter=="number"?S.tokensAfter:void 0,summary:typeof S.summary=="string"?S.summary:void 0}),k.push({type:"historyCompacted",sessionId:m,beforeSeq:0,reason:"auto_compact"});break}case"compaction.started":{k.push({type:"compactionStarted",sessionId:m,trigger:g?.trigger==="manual"?"manual":"auto",instruction:typeof g?.instruction=="string"?g.instruction:void 0});break}case"compaction.cancelled":{k.push({type:"compactionCancelled",sessionId:m});break}case"goal.updated":{const S=wy(g?.snapshot??null);k.push({type:"goalUpdated",sessionId:m,goal:S?.status==="complete"?null:S});break}case"cron.fired":{const S=g?.origin,O=_n(g??{},"prompt");if(S&&typeof S=="object"&&S.kind==="cron_job"&&O){const D={id:Ms("cron_"),sessionId:m,role:"user",content:[{type:"text",text:O}],createdAt:new Date().toISOString(),metadata:{origin:S}};y.messages.push(D),k.push({type:"messageCreated",message:Fo(D)})}break}}return k}return{project:f,bindNextPromptId:u,seedInFlight:p,reset:s,disposeSession:o,markSideChannelAgent:i}}const Ey=new Set(["server_hello","ack","ping","resync_required","error","pong"]),lr=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"]),Ly=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"]),By=new Set(["assistant.delta","thinking.delta"]);function Ry(e,t){if(Ey.has(e))return{route:"ignore"};const n=e.startsWith("event."),s=n?e.slice(6):e;return By.has(s)?Oy(t)?{route:"agent",agentType:s}:{route:"protocol"}:n?Ly.has(s)?{route:"protocol"}:lr.has(s)?{route:"agent",agentType:s}:{route:"protocol"}:lr.has(s)?{route:"agent",agentType:s}:{route:"agent",agentType:s}}function Oy(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 jo 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 Cs 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 Mn(e){return e instanceof jo||typeof e=="object"&&e!==null&&e.name==="DaemonApiError"&&typeof e.code=="number"}function rl(e){return e instanceof Cs||typeof e=="object"&&e!==null&&e.name==="DaemonNetworkError"&&typeof e.method=="string"&&typeof e.path=="string"}const rn="kimi-web.server-credential",Dy="token",zy=10080*60*1e3;let Ts;const Ba=new Set;function Fy(){if(typeof window>"u")return;const e=window.location.hash??"";if(!e.startsWith("#"))return;const n=new URLSearchParams(e.slice(1)).get(Dy);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 Ra(e){return{version:1,credential:e,expiresAt:Date.now()+zy}}function Ny(e){return JSON.stringify(e)}function ul(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 Oa(e){globalThis.localStorage?.setItem(rn,Ny(e))}function qy(){try{const e=globalThis.localStorage?.getItem(rn);if(e){const n=ul(e);if(n===void 0){const s=Ra(e);let o=!1;try{Oa(s),o=!0}catch{}if(!o)try{globalThis.localStorage?.getItem(rn)===e&&globalThis.localStorage?.removeItem(rn),o=!0}catch{}try{globalThis.sessionStorage?.removeItem(rn)}catch{}return o?s:void 0}if(n.expiresAt>Date.now())return n;globalThis.sessionStorage?.removeItem(rn),globalThis.localStorage?.getItem(rn)===e&&globalThis.localStorage?.removeItem(rn);return}const t=globalThis.sessionStorage?.getItem(rn);if(t){const n=Ra(t);let s=!1;try{Oa(n),s=!0}catch{}try{globalThis.sessionStorage?.removeItem(rn),s=!0}catch{}return s?n:void 0}return}catch{return}}function Wy(){if(Ts=qy(),si()!==void 0)return!0;const e=Fy();return e?(Vu(e),!0):!1}function si(){if(Ts!==void 0){if(Ts.expiresAt<=Date.now()){Hy(Ts);return}return Ts.credential}}function Hy(e){Ts=void 0;try{globalThis.sessionStorage?.removeItem(rn);const t=globalThis.localStorage?.getItem(rn),n=t==null?void 0:ul(t);(n===void 0?t===e.credential:n.credential===e.credential&&n.expiresAt===e.expiresAt)&&globalThis.localStorage?.removeItem(rn)}catch{}}function Vu(e){const t=Ra(e);Ts=t;try{Oa(t)}catch{}try{globalThis.sessionStorage?.removeItem(rn)}catch{}}function Uy(){const e=Ts;Ts=void 0;try{const t=globalThis.localStorage?.getItem(rn),s=(t==null?void 0:ul(t))?.credential??t;e!==void 0&&s===e.credential&&globalThis.localStorage?.removeItem(rn),globalThis.sessionStorage?.removeItem(rn)}catch{}}function Vy(e){return Ba.add(e),()=>{Ba.delete(e)}}function jy(){Uy();for(const e of Ba)try{e()}catch{}}const Ko=3e4,hi=5*6e4,Ky=5*6e4,ju="0123456789ABCDEFGHJKMNPQRSTVWXYZ",rr=500,Ku=40101;function gi(e=Ko){try{return AbortSignal.timeout(e)}catch{return}}function Gy(e,t){let n="",s=e;for(let o=0;oju[n%32]).join("")}function yi(){return`${Gy(Date.now(),10)}${Qy(16)}`}function Yy(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 da(e){try{const t=await e.text();return t?t.length>rr?`${t.slice(0,rr)}...`:t:void 0}catch{return}}class Zy{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=oo(this.origin,t),s=yi(),o={"X-Request-Id":s};this.addClientHeaders(o);const i=Date.now();fi({method:"GET",path:t,url:n,requestId:s});let u;try{u=await fetch(n,{method:"GET",headers:o,signal:gi()})}catch(f){throw Os({method:"GET",path:t,requestId:s,phase:"fetch",durationMs:Date.now()-i,error:f}),new Cs({message:`Network error calling GET ${t}`,cause:f,method:"GET",path:t,url:n,requestId:s,phase:"fetch",timeoutMs:Ko,timestamp:Date.now(),durationMs:Date.now()-i})}if(u.ok)return ko({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),ko({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 jo({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=oo(this.origin,t),u=yi(),p={"X-Request-Id":u,"Content-Type":"application/json; charset=utf-8"};this.addClientHeaders(p);const f=Date.now();fi({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:gi(hi)})}catch(m){throw Os({method:o,path:t,requestId:u,phase:"fetch",durationMs:Date.now()-f,error:m}),new Cs({message:`Network error calling ${o} ${t}`,cause:m,method:o,path:t,url:i,requestId:u,phase:"fetch",timeoutMs:hi,timestamp:Date.now(),durationMs:Date.now()-f})}const w=v.headers.get("content-type")??void 0,x=w?.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 g=m?.code??v.status,k=m?.msg??v.statusText;throw ko({method:o,path:t,requestId:u,status:v.status,durationMs:Date.now()-f,code:g,msg:k,envelopeRequestId:m?.request_id}),new jo({code:g,msg:k,requestId:m?.request_id??u,details:m?.details,timestamp:Date.now(),durationMs:Date.now()-f})}const _=v.clone(),y=new TypeError(`Expected application/zip, received ${w??"no content type"}`);throw Os({method:o,path:t,requestId:u,phase:"parse",durationMs:Date.now()-f,status:v.status,error:y}),new Cs({message:`Invalid ZIP response from ${o} ${t}`,cause:y,method:o,path:t,url:i,requestId:u,phase:"parse",timeoutMs:hi,status:v.status,statusText:v.statusText,contentType:w,bodyPreview:await da(_),timestamp:Date.now(),durationMs:Date.now()-f})}let h;try{h=await v.blob()}catch(m){throw Os({method:o,path:t,requestId:u,phase:"parse",durationMs:Date.now()-f,status:v.status,error:m}),new Cs({message:`Failed to read ZIP response from ${o} ${t}`,cause:m,method:o,path:t,url:i,requestId:u,phase:"parse",timeoutMs:hi,status:v.status,statusText:v.statusText,contentType:w,timestamp:Date.now(),durationMs:Date.now()-f})}return ko({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=oo(this.origin,t),o=yi(),i={"X-Request-Id":o};this.addClientHeaders(i);const u=Date.now();fi({method:"POST",path:t,url:s,requestId:o,body:Yy(n)});let p;try{p=await fetch(s,{method:"POST",headers:i,body:n,signal:gi()})}catch(w){throw Os({method:"POST",path:t,requestId:o,phase:"fetch",durationMs:Date.now()-u,error:w}),new Cs({message:`Network error calling POST ${t}`,cause:w,method:"POST",path:t,url:s,requestId:o,phase:"fetch",timeoutMs:Ko,timestamp:Date.now(),durationMs:Date.now()-u})}let f;const v=p.clone();try{f=await p.json()}catch(w){throw Os({method:"POST",path:t,requestId:o,phase:"parse",durationMs:Date.now()-u,status:p.status,error:w}),new Cs({message:`Failed to parse JSON response from POST ${t}`,cause:w,method:"POST",path:t,url:s,requestId:o,phase:"parse",timeoutMs:Ko,status:p.status,statusText:p.statusText,contentType:p.headers.get("content-type")??void 0,bodyPreview:await da(v),timestamp:Date.now(),durationMs:Date.now()-u})}if(ko({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 jo({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=oo(this.origin,n);if(o){const y=new URLSearchParams;for(const[k,T]of Object.entries(o))T!==void 0&&y.set(k,String(T));const g=y.toString();g&&(p=`${p}?${g}`)}const f=yi(),v={"X-Request-Id":f};this.addClientHeaders(v),s!==void 0&&(v["Content-Type"]="application/json; charset=utf-8");const w=Date.now();fi({method:t,path:n,url:p,requestId:f,body:s});const x=u??Ko;let h;try{h=await fetch(p,{method:t,headers:v,body:s!==void 0?JSON.stringify(s):void 0,signal:gi(x)})}catch(y){throw Os({method:t,path:n,requestId:f,phase:"fetch",durationMs:Date.now()-w,error:y}),new Cs({message:`Network error calling ${t} ${n}`,cause:y,method:t,path:n,url:p,requestId:f,phase:"fetch",timeoutMs:x,timestamp:Date.now(),durationMs:Date.now()-w})}let m;const _=h.clone();try{m=await h.json()}catch(y){throw Os({method:t,path:n,requestId:f,phase:"parse",durationMs:Date.now()-w,status:h.status,error:y}),new Cs({message:`Failed to parse JSON response from ${t} ${n}`,cause:y,method:t,path:n,url:p,requestId:f,phase:"parse",timeoutMs:x,status:h.status,statusText:h.statusText,contentType:h.headers.get("content-type")??void 0,bodyPreview:await da(_),timestamp:Date.now(),durationMs:Date.now()-w})}if(ko({method:t,path:n,requestId:f,status:h.status,durationMs:Date.now()-w,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 jo({code:m.code,msg:m.msg,requestId:m.request_id,details:m.details,timestamp:Date.now(),durationMs:Date.now()-w});return m.data}addClientHeaders(t){const n=si();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===Ku)&&jy()}}function Xy(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 Jy(e){const t={url:e.url};return e.apiKey!==void 0&&(t.api_key=e.apiKey),t}function ur(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 ek(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 tk(e,t){return e.filter(n=>ek(n,t))}function nk(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 sk(e,t){return{type:"subscribe_v2",id:t,payload:{session_id:e.sessionId,transcript:e.grades,transcript_since:e.sinceSeq??void 0}}}function ok(e,t,n){return{type:"unsubscribe_v2",id:t,payload:{session_id:e,...n?{agent_ids:n}:{}}}}class ik{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 ak(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 lk(e){let t=new Map;function n(h){const m=t.get(h);if(m!==void 0)return m;const _=rk();return t.set(h,_),_}function s(h){if(!Array.isArray(h))return[];const m=[];for(const _ of h)try{m.push(...i(_))}catch(y){console.error("[transcriptProjector] error projecting op:",y instanceof Error?y.message:y)}return m}function o(){t=new Map}function i(h){const m=So(h);switch(xt(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=So(h.turn),_=xt(m,"turnId"),y=xt(m,"state");if(_===void 0||!pk(y))return[];const g=n(_);g.state=y;const k=xt(m,"prompt");k!==void 0&&(g.prompt=k);const T=dk(m,"startedAt");T!==void 0&&(g.startedAt=T);const S=ck(m,"durationMs");S!==void 0&&(g.durationMs=S);const O=[];return y==="queued"?O:y==="running"?(g.prompt!==void 0&&g.prompt.length>0&&!g.userEmitted&&(O.push({type:"messageCreated",message:{id:`usr_${_}`,sessionId:e,role:"user",content:[{type:"text",text:g.prompt}],createdAt:g.startedAt??new Date().toISOString()}}),g.userEmitted=!0),O):(g.endEmitted||(g.assistantEmitted&&O.push({type:"messageUpdated",sessionId:e,messageId:`asst_${_}`,content:cr(g.content),status:"completed",...g.durationMs!==void 0?{durationMs:g.durationMs}:{}}),O.push({type:"sessionWorkChanged",sessionId:e,busy:!1,mainTurnActive:!1,lastTurnReason:y}),g.endEmitted=!0),O)}function p(h){const m=So(h.step),_=xt(h,"turnId")??xt(m,"turnId"),y=m.frames;if(_===void 0||!Array.isArray(y))return[];const g=n(_),k=[];for(const T of y){const S=So(T),O=xt(S,"frameId");O!==void 0&&(g.seenFrames.has(O)||k.push(...w(g,_,S)))}return k}function f(h){const m=xt(h,"turnId"),_=So(h.frame),y=xt(_,"frameId");if(m===void 0||y===void 0)return[];const g=n(m),k=xt(_,"kind");return(k==="text"||k==="thinking")&&g.seenFrames.has(y)?[]:w(g,m,_)}function v(h){const m=So(h.target),_=xt(h,"text");if(_===void 0)return[];const y=xt(m,"type");if(y==="task"){const B=xt(m,"taskId");return B===void 0?[]:[{type:"taskProgress",sessionId:e,taskId:B,outputChunk:_,stream:"stdout"}]}if(y!=="frame")return[];const g=xt(m,"turnId"),k=xt(m,"frameId");if(g===void 0||k===void 0)return[];const T=n(g),S=[];x(T,g,S);const O=Da(T,k),D=T.content[O];(D===void 0||D.type!=="text"&&D.type!=="thinking")&&(T.content[O]={type:"text",text:""});const E=T.content[O];return E!==void 0&&(E.type==="text"?(E.text+=_,S.push({type:"assistantDelta",sessionId:e,messageId:`asst_${g}`,contentIndex:O,delta:{text:_}})):E.type==="thinking"&&(E.thinking+=_,S.push({type:"assistantDelta",sessionId:e,messageId:`asst_${g}`,contentIndex:O,delta:{thinking:_}}))),T.seenFrames.add(k),S}function w(h,m,_){const y=xt(_,"frameId");if(y===void 0)return[];const g=[];switch(h.seenFrames.add(y),xt(_,"kind")){case"text":{if(xt(_,"role")!=="assistant")break;const S=xt(_,"text");if(S===void 0)break;x(h,m,g);const{index:O,part:D}=dr(h,y,"text");D.type==="text"&&(D.text+=S),g.push({type:"assistantDelta",sessionId:e,messageId:`asst_${m}`,contentIndex:O,delta:{text:S}});break}case"thinking":{const T=xt(_,"text");if(T===void 0)break;x(h,m,g);const{index:S,part:O}=dr(h,y,"thinking");O.type==="thinking"&&(O.thinking+=T),g.push({type:"assistantDelta",sessionId:e,messageId:`asst_${m}`,contentIndex:S,delta:{thinking:T}});break}case"tool":{const T=xt(_,"toolCallId");if(T===void 0)break;if(x(h,m,g),!h.content.some(D=>D.type==="toolUse"&&D.toolCallId===T)){const D=Da(h,y);h.content[D]={type:"toolUse",toolCallId:T,toolName:xt(_,"name")??"",input:_.input??{},outputLines:[]}}g.push({type:"messageUpdated",sessionId:e,messageId:`asst_${m}`,content:cr(h.content),status:"pending"});const S=_.progress;uk(S)&&g.push({type:"toolOutput",sessionId:e,toolCallId:T,outputChunk:xt(S,"text")??"",stream:S.kind==="stderr"?"stderr":"stdout"});const O=xt(_,"state");(O==="done"||O==="error")&&!h.emittedToolResults.has(T)&&(h.emittedToolResults.add(T),g.push({type:"messageCreated",message:{id:`tool_${T}`,sessionId:e,role:"tool",content:[{type:"toolResult",toolCallId:T,output:_.output??_.display??{},isError:O==="error"}],createdAt:new Date().toISOString()}}));break}}return g}function x(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 rk(){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 So(e){return e===null||typeof e!="object"||Array.isArray(e)?{}:e}function uk(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function xt(e,t){const n=e[t];return typeof n=="string"?n:void 0}function ck(e,t){const n=e[t];return typeof n=="number"&&Number.isFinite(n)?n:void 0}function dk(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 pk(e){return e==="queued"||e==="running"||e==="completed"||e==="failed"||e==="cancelled"}function cr(e){return e.map(t=>t.type==="toolUse"&&t.outputLines!==void 0?{...t,outputLines:[...t.outputLines]}:{...t})}function Da(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=Da(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 fk=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 mk(e){return fk.has(e)}function vk(e,t){if(!Array.isArray(e))return[];const n=[];for(const s of e)try{n.push(...hk(s,t))}catch(o){console.error("[transcriptOpsToAppEvents] error mapping op:",o instanceof Error?o.message:o)}return n}function Ws(e){return e===null||typeof e!="object"||Array.isArray(e)?{}:e}function Xn(e,t){const n=e[t];return typeof n=="string"?n:void 0}function pr(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 Gu(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 hk(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 gk(n.prompt,t);case"task.upsert":return bk(n.task,t);case"meta.merge":return Ck(n.meta,t);default:return[]}}function gk(e,t){const n=Ws(e),s=Xn(n,"prompt");if(s===void 0||s.trim().length===0)return[];const o=Xn(n,"createdAt")??new Date().toISOString();return[{type:"messageCreated",message:{id:Xn(n,"promptId")??`pr_${t}-${o}`,sessionId:t,role:"user",content:[{type:"text",text:s}],createdAt:o}}]}const yk={shell:"bash",subagent:"subagent",tool:"tool"};function kk(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 bk(e,t){const n=Ws(e),s=Xn(n,"taskId");if(s===void 0||s.length===0)return[];const o=n.kind,i=typeof o=="string"?yk[o]:void 0;if(i===void 0)return[];const u=Xn(n,"state");if(u===void 0)return[];const p=kk(u);if(p===void 0)return[];const f=pr(n,"startedAt"),v=pr(n,"endedAt"),w=Xn(n,"description")??Xn(n,"name")??Xn(n,"title")??"",x={id:s,sessionId:t,kind:i,description:w,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:Xn(n,"outputTail")??"",stream:"stdout"}];case"taskCompleted":{const h=Xn(n,"error")??Xn(n,"stateReason");return[{type:"taskCompleted",sessionId:t,taskId:s,status:p.status,...p.status==="failed"&&h!==void 0?{outputPreview:h}:{}}]}}}function wk(e){if(e.usage!==void 0&&e.usage!==null||Object.keys(e).some(n=>n.startsWith("tokens_")))return!0;const t=Ws(e.agent);return t.usage!==void 0&&t.usage!==null?!0:Gu([t],["contextTokens","maxContextTokens"])!==void 0}function Sk(e){const t=Ws(e.usage),n=Ws(e.agent),s=Ws(Ws(n.usage).total),o=(i,u)=>Gu(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 Ck(e,t){const n=Ws(e);return wk(n)?[{type:"sessionUsageUpdated",sessionId:t,usage:Sk(n)}]:[]}const _k="kimi-code.bearer.",$k=3e4;class Mk{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(),bo("connect",{url:this.wsUrl,attempt:this.reconnectAttempts});const t=si(),n=t!==void 0?[`${_k}${t}`]:void 0,s=new WebSocket(this.wsUrl,n);this.ws=s,s.onopen=()=>{bo("open")},s.onmessage=o=>{this.lastActivityAt=Date.now();try{const i=JSON.parse(String(o.data));T0(i),this.handleFrame(i)}catch(i){bo("parse-error",{error:String(i)}),this.handlers.onError(0,`Failed to parse WS frame: ${String(i)}`,!1)}},s.onerror=()=>{bo("error"),this.handlers.onError(0,"WebSocket error",!1)},s.onclose=o=>{bo("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,bo("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(ok(t,this.nextId(),n))}transcriptSubscribedSessionIds(){return Array.from(this.transcriptSubscriptions.keys())}sendTranscriptSubscribe(t){const n=this.transcriptSubscriptions.get(t);n&&this.send(sk({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=ki(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(ki(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(ki(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,$k),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=ki(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=Ry(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)),A0(t)}catch{}}nextId(){return`c_${++this.msgSeq}`}}function ki(e,t){return`${e}\0${t}`}function xk(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 Ik=40924,Ak=40925,Tk=600,Pk=2*6e4;function Ek(e){return new Promise(t=>setTimeout(t,e))}function pa(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 mr(e){return e==="auto_compact"||e==="manual_compact"}class Lk{http;config;constructor(t){this.config=t,this.http=new Zy(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,backend:t.backend==="v2"?"v2":"v1"}}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(Zn),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 Zn(s)}async getSession(t){const n=await this.http.get(`/sessions/${encodeURIComponent(t)}`);return Zn(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 Zn(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 Uu(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 Zn(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(Ea),hasMore:o.has_more}}async getSessionSnapshot(t){const n=Date.now();Yt("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:Zn(s.session),messages:s.messages.items.map(Ea),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(Wu),pendingQuestions:s.pending_questions.map(Hu),subagents:(s.subagents??[]).map(_i)};return Yt("session:snapshot:accepted",{sessionId:t,busy:o.session.busy,seq:o.asOfSeq,messageCount:o.messages.length,durationMs:Date.now()-n}),o}catch(s){throw Yt("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:xk(i.contentDisposition,u)}}async submitPrompt(t,n){const s=Date.now();Yt("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`,oy(n));return Yt("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 Yt("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:Ky});return Zn(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 Zn(o)}async listChildSessions(t){return(await this.http.get(`/sessions/${encodeURIComponent(t)}/children`)).items.map(Zn)}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)}`,iy(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)}`,uy(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(_i)}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 _i(i)}async cancelTask(t,n){return await this.http.post(`/sessions/${encodeURIComponent(t)}/tasks/${encodeURIComponent(n)}:cancel`)}async listTerminals(t){return(await this.http.get(`/sessions/${encodeURIComponent(t)}/terminals`)).items.map(pa)}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 pa(o)}async getTerminal(t,n){const s=await this.http.get(`/sessions/${encodeURIComponent(t)}/terminals/${encodeURIComponent(n)}`);return pa(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=nk(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(Jl)}async listPluginMarketplace(){return((await this.http.get("/plugins/marketplace")).entries??[]).map(my)}async installPlugin(t){const n=await this.http.post("/plugins",{source:t});return Jl(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(er)}async getCapability(t){const n=await this.http.get(`/capabilities/${encodeURIComponent(t)}`);return er(n)}async installCapability(t,n){await this.http.post(`/capabilities/${encodeURIComponent(t)}:install`,{},{allowCodes:[Ik]});const s=Date.now()+Pk;let o=await this.getCapability(t);for(n?.(o);o.install.running&&Date.now()[u,p.map(Xl)])):void 0;return{items:o.items.map(Xl),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 oo(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(Go)}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 Go(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 Go(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(dy)}async listProviders(){return(await this.http.get("/providers")).items.map(vi)}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 vi(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 fa(n)}async refreshAllProviders(){const t=await this.http.post("/providers:refresh");return fa(t)}async refreshOAuthProviderModels(){const t=await this.http.post("/providers:refresh_oauth");return fa(t)}async browseCatalogProviders(t){return(await this.http.get("/catalog/providers",{query:t})).items.map(fy)}async importCatalogProvider(t){const n=await this.http.post("/providers:import_catalog",Xy(t));return{provider:vi(n.provider),modelsImported:n.models_imported}}async importRegistry(t){const n=await this.http.post("/providers:import_registry",Jy(t));return{providers:n.providers.map(vi),modelsImported:n.models_imported}}async getConfig(){const t=await this.http.get("/config");return La(t)}async setConfig(t){const n={},s={providers:"providers",defaultProvider:"default_provider",defaultModel:"default_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 La(o)}async getAuth(){const t=await this.http.get("/auth");return{ready:t.ready,providersCount:t.providers_count,defaultModel:t.default_model,managedProvider:t.managed_provider?{status:t.managed_provider.status}:null}}async startOAuthLogin(){const t=await this.http.post("/oauth/login",{});return t.status==="authenticated"?{flowId:t.flow_id,provider:t.provider,status:"authenticated"}:{flowId:t.flow_id,provider:t.provider,status:"pending",verificationUri:t.verification_uri,verificationUriComplete:t.verification_uri_complete,userCode:t.user_code,expiresIn:t.expires_in,interval:t.interval,expiresAt:t.expires_at}}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 oo(this.config.serverHttpUrl,`/files/${encodeURIComponent(t)}`)}async getFileBlob(t){return this.http.getBlob(`/files/${encodeURIComponent(t)}`)}connectEvents(t){const n=tp(this.config.serverHttpUrl,this.config.clientId),s=Py();let o=!1;const i=new Map;function u(h){let m=i.get(h);return m||(m={projector:lk(h),watermarks:new ik,armed:!1},i.set(h,m)),m}function p(h,m){const _=u(h),y=[];for(const g of m)y.push(...vk([g],h)),y.push(..._.projector.project([g]));return y}const f=(h,m,_)=>{(async()=>{try{const y=await ak({baseUrl:this.config.serverHttpUrl,sessionId:h,agentId:m,sinceSeq:_.watermarks.get(h,m),token:si()});for(const g of y.batches){_.watermarks.set(h,m,g.seq);for(const k of p(h,g.ops))t.onEvent(k,{sessionId:h,seq:g.seq})}y.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 y=_.agent_id,g=u(m);g.armed=!0;const k=typeof _.seq=="number"?_.seq:void 0;if(k!==void 0&&g.watermarks.advance(m,y,k)){f(m,y,g);return}for(const T of p(m,_.ops))t.onEvent(T,{sessionId:m,seq:k??0});k!==void 0&&(g.watermarks.set(m,y,k),x.updateTranscriptSince(m,y,k))}function w(h,m){const _=u(m);_.armed=!0,_.projector.reset(),_.watermarks.clear(m),t.onResync(m,0)}const x=new Mk(n,this.config.clientId,{onWireEvent:h=>{const m=hy(h),_=gy(h),y=cy(h);y.type==="historyCompacted"&&!mr(y.reason)&&t.onResync(y.sessionId,y.beforeSeq),t.onEvent(y,{sessionId:m,seq:_})},onRawAgentEvent:h=>{if(o&&i.get(h.session_id)?.armed===!0&&mk(h.type))return;const{type:m,seq:_,session_id:y,payload:g,offset:k}=h,T=s.project(m,g,y,{offset:k});for(const S of T){const O=g?.turnId,D=S.type==="assistantDelta"&&typeof O=="number"&&typeof k=="number"&&(m==="assistant.delta"||m==="thinking.delta")?{turnId:O,offset:k,kind:m==="assistant.delta"?"text":"thinking"}:void 0;S.type==="historyCompacted"&&!mr(S.reason)&&t.onResync(y,_),t.onEvent(S,{sessionId:y,seq:_,stream:D})}},onResync:(h,m,_)=>{s.reset(h),t.onResync(h,m,_)},onTranscriptOps:(h,m)=>{v(h,m)},onTranscriptReset:(h,m)=>{w(h,m)},onConnectionState:h=>{t.onConnectionChange(h)},onError:(h,m,_)=>{t.onError(h,m,_)},onTerminalOutput:(h,m,_,y)=>{t.onTerminalOutput?.(h,m,_,y)},onTerminalExit:(h,m,_)=>{t.onTerminalExit?.(h,m,_)}});return x.connect(),{subscribe(h,m){if(x.subscribe(h,m??{seq:0}),o){const _=u(h);x.subscribeTranscript(h,{main:"delta"},{main:_.watermarks.get(h,"main")})}},unsubscribe(h){x.unsubscribe(h),x.unsubscribeTranscript(h),s.disposeSession(h),i.delete(h)},setTranscriptMode(h){if(o!==h&&(o=h,!!h))for(const m of x.transcriptSubscribedSessionIds()){const _=u(m);x.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 y of _)t.onEvent(y,{sessionId:h,seq:m.asOfSeq})},bindNextPromptId(h,m){s.bindNextPromptId(h,m)},abort(h,m){x.abort(h,m)},terminalAttach(h,m,_){x.terminalAttach(h,m,_)},terminalInput(h,m,_){x.terminalInput(h,m,_)},terminalResize(h,m,_,y){x.terminalResize(h,m,_,y)},terminalDetach(h,m){x.terminalDetach(h,m)},terminalClose(h,m){x.terminalClose(h,m)},markSideChannelAgent(h){s.markSideChannelAgent(h)},health(){return x.health()},reconnect(){x.reconnect()},close(){x.close()}}}}function fa(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 vr;function Te(){return vr??=new Lk(Cu()),vr}function hr(e){if(typeof e!="object"||e===null)return!1;const t=e.name;return t==="TimeoutError"||t==="AbortError"}function Qu(e){return hr(e)?!0:typeof e!="object"||e===null?!1:hr(e.cause)}const za=new Set;function Bk(e){return za.add(e),()=>{za.delete(e)}}function Rk(e){for(const t of za)try{t(e)}catch(n){console.warn("pluginEvent listener failed",n)}}const Ok=3;function Dk(e){return e===void 0||!e.done&&e.attempts0?t[t.length-1]:e}const qk=/^(?:[A-Za-z]:[\\/]|\\\\|\/\/)/;function es(e){const t=e.replaceAll("\\","/"),n=qk.test(t),s=t.replace(/\/+$/,"");return n?s.toLowerCase():s}function Wk(e,t){const n=es(t.cwd);return e.find(s=>es(s.root)===n)?.id??t.workspaceId??t.cwd}function Hk(e){const{workspaces:t,sessions:n,hiddenWorkspaceRoots:s,sessionsHasMoreByWorkspace:o}=e,i=new Set(s.map(es)),u=new Map;for(const x of t){const h=es(x.root);i.has(h)||u.has(h)||u.set(h,{...x})}for(const x of n){const h=x.cwd;if(!h)continue;const m=es(h);i.has(m)||u.has(m)||u.set(m,{id:x.workspaceId??h,root:h,name:Nk(h),sessionCount:0})}const p=new Map;for(const x of n){const h=Wk(t,x);p.set(h,(p.get(h)??0)+1)}const f=[];for(const x of t){const h=es(x.root);!i.has(h)&&!f.includes(h)&&f.push(h)}const v=[...u.keys()].filter(x=>!f.includes(x));v.sort((x,h)=>u.get(x).root.localeCompare(u.get(h).root));const w=[];for(const x of[...f,...v]){const h=u.get(x),m=p.get(h.id)??p.get(h.root)??0,_=o[h.id]===!1?m:Math.max(h.sessionCount,m);w.push({...h,sessionCount:_})}return w}function cs(e,t){e.modeVersionBySession={...e.modeVersionBySession??{},[t]:(e.modeVersionBySession?.[t]??0)+1}}function Uk(e,t,n){return(e.modeVersionBySession?.[t]??0)===n}function Vk(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 gr(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 w=f.status==="running"&&v.status!=="running";return{...f,status:f.status==="running"?v.status:f.status,subagentPhase:w?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 jk(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 Kk(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 yr=2e3,kr=100,Yu=80,Zu=24;function br(e){return{...e,lines:[],history:[],attached:!1,pendingTail:"",lastSeq:0}}function Gk(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 Qk(){const e=I(void 0),t=I([]),n=I({}),s=I(null),o=I(!1),i=I(null);let u=null;const p=$(()=>{const E=s.value;return E===null?null:n.value[E]??null}),f=$(()=>p.value?.lines.join(`
-`)??"");function v(E){const B=n.value[E];if(B!==void 0)return B;const q=t.value.find(b=>b.id===E),V=br(q??{id:E,sessionId:e.value??"",cwd:"",shell:"",cols:Yu,rows:Zu,status:"running",createdAt:""});return n.value[E]=V,V}function w(E){if(e.value===E)return;const B=e.value;if(B!==void 0&&u!==null)for(const q of Object.values(n.value))q.attached&&u.terminalDetach(B,q.id);e.value=E,t.value=[],n.value={},s.value=null,o.value=!1,i.value=null}function x(E){t.value=E;const B=new Set(E.map(q=>q.id));for(const[q,V]of Object.entries(n.value)){if(!B.has(q)){delete n.value[q];continue}const b=E.find(P=>P.id===q);b&&Object.assign(V,b)}s.value!==null&&!B.has(s.value)&&(s.value=E[0]?.id??null)}function h(E){const B=t.value.findIndex(V=>V.id===E.id);B===-1?t.value.push(E):t.value.splice(B,1,E);const q=n.value[E.id];q!==void 0?Object.assign(q,E):n.value[E.id]=br(E)}function m(E){n.value[E]?.attached&&e.value!==void 0&&u!==null&&u.terminalDetach(e.value,E),delete n.value[E];const q=t.value.findIndex(V=>V.id===E);if(q!==-1&&t.value.splice(q,1),s.value===E){const V=t.value[q]??t.value[t.value.length-1];s.value=V?.id??null}}function _(E){const B=v(E);if(B.attached)return;B.attached=!0;const q=e.value;q!==void 0&&u!==null&&u.terminalAttach(q,E,B.lastSeq)}function y(E){const B=n.value[E];if(B===void 0||!B.attached)return;B.attached=!1;const q=e.value;q!==void 0&&u!==null&&u.terminalDetach(q,E)}function g(E,B){const q=Gk(B).split(`
-`),V=q[0]??"";E.pendingTail+=V;for(let b=1;byr&&E.lines.splice(0,E.lines.length-yr)}function k(E,B,q,V){if(e.value===void 0||e.value!==E)return;const b=v(B);V<=b.lastSeq||(b.lastSeq=V,g(b,q))}function T(E,B,q){if(e.value===void 0||e.value!==E)return;const V=v(B);V.status!=="exited"&&(V.status="exited",V.exitCode=q)}function S(E,B){const q=B.trim();if(q.length===0)return"";const V=v(E);V.history.at(-1)!==q&&(V.history.push(q),V.history.length>kr&&V.history.splice(0,V.history.length-kr));const b=e.value;return b!==void 0&&u!==null&&V.status!=="exited"&&u.terminalInput(b,E,`${q}
-`),q}function O(E,B,q){const V=v(E);V.cols=B,V.rows=q;const b=e.value;b!==void 0&&u!==null&&u.terminalResize(b,E,B,q)}function D(E){u=E;const B=e.value;if(B!==void 0)for(const q of Object.values(n.value))q.attached&&E.terminalAttach(B,q.id,q.lastSeq)}return{sessionId:e,terminals:t,activeId:s,loading:o,error:i,active:p,activeLines:f,entryOf:v,setSession:w,setLoading:E=>{o.value=E},setError:E=>{i.value=E},syncTerminals:x,upsertTerminal:h,removeTerminal:m,setActive:E=>{s.value=E},attach:_,detach:y,handleOutput:k,handleExit:T,submitInput:S,resize:O,bindTransport:D}}const Yk=new Set(["assistantDelta","agentDelta","toolOutput","taskProgress"]);function Zk(e){return Yk.has(e.type)}const Xk=50,Jk=100,Fa=32*1024,e2={requestFrame(e){return typeof requestAnimationFrame=="function"?requestAnimationFrame(e):null},cancelFrame(e){typeof cancelAnimationFrame=="function"&&cancelAnimationFrame(e)},requestTask(e){return setTimeout(e,Xk)},cancelTask(e){clearTimeout(e)}};function t2(e,t,n={}){const s=n.scheduler??e2,o=Math.max(1,Math.floor(n.maxItemsPerSlice??Jk)),i=[];let u=0,p=null,f=null,v=0,w=!1;const x=()=>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 y=()=>{if(w||p!==null||f!==null||x()===0)return;const k=++v,T=()=>{k===v&&_()};p=s.requestFrame(T),f=s.requestTask(T)};_=()=>{h();let k=0;for(;!w&&k{if(!w){if(t(k)){const T=i.length>u?i.at(-1):void 0,S=T===void 0?void 0:n.coalesce?.(T,k);S===void 0?i.push(k):i[i.length-1]=S,y();return}if(x()===0){e(k);return}i.push(k),_()}});return g.flush=()=>{if(!w){for(h();!w&&u{if(w||x()===0)return;let T=u;for(let S=u;S{w||(w=!0,h(),i.length=0,u=0)},g}function Na(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 n2(e){if(e.appEvent.type!=="assistantDelta")return[e];const t=e.appEvent,n=e.meta.stream,s=Na(t);if(n===void 0||s===void 0||n.kind!==s.kind||s.value.length<=Fa)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 s2(e,t){if(e.appEvent.type!=="assistantDelta"||t.appEvent.type!=="assistantDelta")return;const n=e.meta.stream,s=t.meta.stream,o=Na(e.appEvent),i=Na(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>Fa)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 Xu=["blue","mono"],Ju=["light","dark","system"],ec=14,o2=12,i2=20;function a2(){const e=It(We.accent);return e&&Xu.includes(e)?e:"blue"}function l2(e){typeof document>"u"||!document.documentElement||(document.documentElement.dataset.accent=e)}function r2(){const e=It(We.colorScheme);return e&&Ju.includes(e)?e:"system"}function u2(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 cl(e){return Number.isFinite(e)?Math.min(i2,Math.max(o2,Math.round(e))):ec}function c2(){const e=It(We.uiFontSize);return e===null?ec:cl(Number(e))}function d2(e){typeof document>"u"||!document.documentElement||document.documentElement.style.setProperty("--base-ui-font-size",`${cl(e)}px`)}const dl=I(r2()),pl=I(a2()),fl=I(c2());Oe(dl,u2,{immediate:!0});Oe(pl,l2,{immediate:!0});Oe(fl,d2,{immediate:!0});function p2(e){Ju.includes(e)&&(dl.value=e,Bt(We.colorScheme,e))}function f2(e){Xu.includes(e)&&(pl.value=e,Bt(We.accent,e))}function m2(e){const t=cl(e);fl.value=t,Bt(We.uiFontSize,String(t))}const v2=600,h2=250,ji=250,g2=1e3,y2=160,Li=I(!1);let so=[],io=null,Bi=-ji;function k2(){so=[],Bi=-ji,Li.value=!1,io!==null&&(clearTimeout(io),io=null)}function b2(){Li.value=!0,io!==null&&clearTimeout(io),io=setTimeout(()=>{io=null,so=[],Bi=-ji,Li.value=!1},g2)}function w2(e){if(e<=0)return;const t=Date.now();so.push({time:t,chars:e});const n=t-v2;if(so=so.filter(p=>p.time>=n),t-Bip+f.chars,0)/o*1e3>=y2&&b2()}function tc(){return{colorScheme:dl,accent:pl,uiFontSize:fl,fastMoon:Li,setColorScheme:p2,setAccent:f2,setUiFontSize:m2,resetFastMoon:k2,recordMoonDelta:w2}}function S2(e,t,n){return e==="idle"&&!t&&!n}function ml(e,t){const n=It(e);return n===null?t:n==="1"}const vl=I(ml(We.notifyOnComplete,!0)),hl=I(ml(We.notifyOnQuestion,!1)),gl=I(ml(We.notifyOnApproval,!1)),yl=I(typeof Notification<"u"?Notification.permission:"denied"),C2="/favicon.ico";async function kl(e,t,n){if(!n){e.value=!1,Bt(t,"0");return}if(typeof Notification>"u")return;let s=Notification.permission;if(s==="default")try{s=await Notification.requestPermission()}catch{}yl.value=s,s==="granted"&&(e.value=!0,Bt(t,"1"))}function _2(e){return kl(vl,We.notifyOnComplete,e)}function $2(e){return kl(hl,We.notifyOnQuestion,e)}function M2(e){return kl(gl,We.notifyOnApproval,e)}function bl(...e){for(const t of e){const n=t?.trim();if(n)return n}return""}function x2(e){return{title:pt.global.t("settings.notifyTitle"),body:bl(e,pt.global.t("settings.notifyFallback"))}}function I2(e,t){return{title:pt.global.t("settings.notifyQuestionTitle"),body:bl(t,e,pt.global.t("settings.notifyQuestionFallback"))}}function A2(e,t){return{title:pt.global.t("settings.notifyApprovalTitle"),body:bl(t,e,pt.global.t("settings.notifyApprovalFallback"))}}function wl(e,t,n,s){if(!e||typeof Notification>"u")return;const o=Notification.permission;if(o!=="denied"){if(o==="default"){Notification.requestPermission().then(i=>{yl.value=i,i==="granted"&&wr(t,n,s)});return}wr(t,n,s)}}function wr(e,t,n){if(!e.isUserWatching)try{const s=new Notification(t.title,{body:t.body,tag:n,icon:C2});s.onclick=()=>{try{window.focus()}catch{}e.onClick(),s.close()}}catch{}}function T2(e,t){wl(vl.value,t,x2(t.sessionTitle),`kimi-complete-${e}-${t.promptId??Date.now()}`)}function P2(e){wl(hl.value,e,I2(e.sessionTitle,e.questionPreview),`kimi-question-${e.questionId}`)}function E2(e){wl(gl.value,e,A2(e.sessionTitle,e.toolName),`kimi-approval-${e.approvalId}`)}function L2(){return{notifyOnComplete:vl,notifyOnQuestion:hl,notifyOnApproval:gl,notifyPermission:yl,setNotifyOnComplete:_2,setNotifyOnQuestion:$2,setNotifyOnApproval:M2,maybeNotifyCompletion:T2,maybeNotifyQuestion:P2,maybeNotifyApproval:E2}}function B2(){return It(We.soundOnComplete)==="1"}const Oo=I(B2());function R2(){if(typeof window>"u")return;const e=window;return window.AudioContext??e.webkitAudioContext}let ma=null;function nc(){const e=R2();if(!e)return null;if(ma===null)try{ma=new e}catch{return null}return ma}function sc(){if(!Oo.value)return;const e=nc();e!==null&&e.state==="suspended"&&e.resume().then(()=>{As("sound: audio context resumed",{state:e.state})},t=>{As("sound: audio context resume rejected",{error:String(t)})})}let Sr=!1;function O2(){if(Sr||typeof window>"u")return;Sr=!0;const e=()=>{sc()};window.addEventListener("pointerdown",e,{capture:!0}),window.addEventListener("keydown",e,{capture:!0})}O2();function D2(e){Oo.value=e,Bt(We.soundOnComplete,e?"1":"0"),e&&sc()}function Cr(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 Sl(){const e=nc();if(e===null){As("sound: skipped, AudioContext unavailable");return}if(e.state!=="running"){As("sound: skipped, context not running",{state:e.state}),e.state==="suspended"&&e.resume().then(()=>{As("sound: context resumed for next time",{state:e.state})},t=>{As("sound: resume rejected",{error:String(t)})});return}try{Cr(e,880,0,.16,.18),Cr(e,1320,.1,.22,.16),As("sound: chime scheduled",{state:e.state})}catch(t){As("sound: failed to play",{error:String(t)})}}function z2(){Oo.value&&Sl()}function F2(){Oo.value&&Sl()}function N2(){Oo.value&&Sl()}function q2(){return{soundOnComplete:Oo,setSoundOnComplete:D2,maybePlayCompletionSound:z2,maybePlayQuestionSound:F2,maybePlayApprovalSound:N2}}const W2=1e3,H2=4096,_r=32*1024;function U2(e,t){let n=null,s;const o=new Set;async function i(h){try{const _=await Te().listTasks(h);e.tasksBySession={...e.tasksBySession,[h]:gr(_,e.tasksBySession[h]??[])},await u(h,_)}catch{}}async function u(h,m){if(e.activeSessionId!==h)return;const _=m??e.tasksBySession[h]??[],y=Te(),g=new Map;if(await Promise.all(_.map(async T=>{if((T.status==="completed"||T.status==="failed"||T.status==="cancelled")&&!o.has(T.id)&&!((T.outputLines?.length??0)>0))try{const O=await y.getTask(h,T.id,{withOutput:!0,outputBytes:_r});O.outputPreview!==void 0&&g.set(T.id,{preview:O.outputPreview,bytes:O.outputBytes}),o.add(T.id)}catch{}})),g.size===0)return;const k=e.tasksBySession[h]??[];e.tasksBySession={...e.tasksBySession,[h]:k.map(T=>{const S=g.get(T.id)??(T.backgroundTaskId!==void 0?g.get(T.backgroundTaskId):void 0);return S?{...T,outputPreview:S.preview,outputBytes:S.bytes}:T})}}async function p(h){if(e.activeSessionId!==h)return;const m=Te();let _;try{_=await m.listTasks(h)}catch{return}const y=new Map;await Promise.all(_.map(async S=>{const O=S.status==="running",D=S.status==="completed"||S.status==="failed"||S.status==="cancelled";if(!(!O&&!D)&&!(D&&(o.has(S.id)||(S.outputLines?.length??0)>0)))try{const E=await m.getTask(h,S.id,{withOutput:!0,outputBytes:O?H2:_r});E.outputPreview!==void 0&&y.set(S.id,{preview:E.outputPreview,bytes:E.outputBytes}),D&&o.add(S.id)}catch{}}));const g=e.tasksBySession[h]??[],k=new Map(g.map(S=>[S.id,S])),T=_.map(S=>{const O=k.get(S.id),D=y.get(S.id);return{...S,outputLines:O?.outputLines,text:O?.text,outputPreview:D?.preview??O?.outputPreview,outputBytes:D?.bytes??O?.outputBytes}});e.tasksBySession={...e.tasksBySession,[h]:gr(T,g)}}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())},W2))}function v(){n!==null&&(clearInterval(n),n=null),s=void 0,o.clear()}const w=I(0);let x=null;return Oe(()=>t.value.some(h=>h.status==="running"),h=>{h&&x===null?x=setInterval(()=>{w.value=(w.value+1)%Number.MAX_SAFE_INTEGER},1e3):!h&&x!==null&&(clearInterval(x),x=null)},{immediate:!0}),Oe(()=>{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},_,y)=>{let g;m&&h!==void 0?f(h):h!==void 0?g=setTimeout(()=>{(e.tasksBySession[h]??[]).some(T=>T.status==="running")||v()},1500):v(),y(()=>{g!==void 0&&clearTimeout(g)})},{deep:!0,immediate:!0}),{taskClock:$(()=>w.value),loadTasksForSession:i}}function Ki(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 oc(e){return e?.supportEfforts??[]}function V2(e){return e[Math.floor(e.length/2)]}function Zo(e){if(Ki(e)==="unsupported")return"off";const t=oc(e);return t.length>0?e?.defaultEffort??V2(t):"on"}function Gi(e){const t=oc(e),n=Ki(e);return t.length>0?n==="always-on"?[...t]:["off",...t]:n==="always-on"?["on"]:n==="unsupported"?["off"]:["on","off"]}function qa(e){return e.length===0?e:e.charAt(0).toUpperCase()+e.slice(1)}function j2(e){return e!=="off"}function K2(e,t){return Gi(e).includes(t)}function Cl(e,t){return t==="off"?"off":t==="on"?Zo(e):t}function Xo(e,t){return t??Zo(e)}function G2(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 Q2(e,t,n){return!n||e===void 0?t:Zo(e)}const fs=I(null),To=I(!1);function _l(e){const t=fs.value;!t||To.value||(fs.value=null,t.resolve(e))}async function Y2(){const e=fs.value;if(!(!e||To.value)){if(!e.action){_l(!0);return}To.value=!0;try{await e.action(),fs.value===e&&(fs.value=null),e.resolve(!0)}catch(t){fs.value===e&&(fs.value=null),e.reject(t)}finally{To.value=!1}}}function Z2(e){return To.value?Promise.resolve(!1):(fs.value&&_l(!1),new Promise((t,n)=>{fs.value={...e,resolve:t,reject:n}}))}function go(){return{current:fs,busy:To,confirm:Z2,settle:_l,runAction:Y2}}function X2(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 J2(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&&X2(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 ic(e){return e.planArmed||e.planMode}function eb(e){return{planMode:e.planMode||e.planArmed,planArmed:!1}}function tb(e){return{planMode:!1,planArmed:!1}}const Wa="/sessions/";function $r(e){const{pathname:t}=e;if(!t.startsWith(Wa))return;const n=t.slice(Wa.length);if(!(!n||n.includes("/")))try{const s=decodeURIComponent(n);return s.length>0?s:void 0}catch{return}}function nb(e){return e===void 0||e.length===0?"/":`${Wa}${encodeURIComponent(e)}`}const sb=50,Ha=5,ob=40402,ib=40410,ab=40902,lb=2e3;function va(e){return Mn(e)&&e.code===ab}const rb=40904;function ub(e){return Mn(e)&&e.code===rb}const cb=41301,db=413;function pb(e){return Mn(e)?e.code===cb||e.code===db:!1}const Zs=Bn({}),bi=Bn({}),ha=Bn({}),us=Bn(new Set),Qi=new Map,co=new Map,Ri=new Map;let fb=0;const Js=new Map,mb=3;let Mr=0;function vb(){return Mr+=1,`${Date.now().toString(36)}-${Mr}`}function hb(e){return{generation:Qi.get(e)??0,pending:(co.get(e)?.size??0)>0}}function Ua(e){const t=++fb;Qi.set(e,t);const n=co.get(e)??new Set;return n.add(t),co.set(e,n),t}function Va(e,t){const n=co.get(e);if(n===void 0||(n.delete(t),n.size>0))return;co.delete(e);const s=Ri.get(e);Ri.delete(e),s?.()}function gb(e){Qi.delete(e),co.delete(e),Ri.delete(e),Js.delete(e)}function yb(e,t){return!t.pending&&t.generation===(Qi.get(e)??0)}function kb(e,t){if((co.get(e)?.size??0)===0){t();return}Ri.set(e,t)}function bb(e,t){const{t:n}=pt.global,{confirm:s}=go(),{taskPoller:o,sideChat:i,modelProvider:u,pushOperationFailure:p,activity:f,sessionsKnownEmpty:v,setSessions:w,updateSession:x,upsertSessionFront:h,appendSession:m,forgetSession:_,setActiveSessionId:y,updateSessionMessages:g,nextOptimisticMsgId:k,getEventConn:T,syncSessionFromSnapshot:S,reopenSession:O,hasLoadedMessages:D,refreshSessionStatus:E,refreshSessionGoal:B,persistSessionProfile:q,mergedWorkspaces:V,workspacesView:b,status:P,workspaceIdForSession:L,savePermissionToStorage:ne,savePlanModeToStorage:oe,savePlanArmedToStorage:ge,saveSwarmModeToStorage:ce,saveSupermoonModeToStorage:Q,saveGoalModeToStorage:ie,draftModes:te,saveUnread:ye,saveActiveWorkspaceToStorage:_e,saveHiddenWorkspacesToStorage:Ce,goalErrorMessage:Z,resetFastMoon:U,initialized:ke,connectIssue:ae,selectedDiffPath:ee,fileDiffLines:de,fileDiffLoading:Be}=t;let Y=!1;async function ve(C){if(e.messagesLoadingMoreBySession[C])return;const z=e.messagesBySession[C];if(!z||z.length===0)return;const W=z[0].id;e.messagesLoadingMoreBySession={...e.messagesLoadingMoreBySession,[C]:!0},e.messagesLoadMoreErrorBySession={...e.messagesLoadMoreErrorBySession,[C]:!1};try{const ue=await Te().listMessages(C,{beforeId:W,pageSize:sb}),be=[...ue.items].reverse();g(C,$e=>[...be,...$e]),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 R(C){o.loadTasksForSession(C),He(C),E(C),B(C),Object.prototype.hasOwnProperty.call(u.skillsBySession.value,C)||u.loadSkillsForSession(C)}async function X(C){const z=e.activeSessionId;if(z){ee.value=C,de.value=[],Be.value=!0;try{const ue=await Te().getFileDiff(z,C);if(ee.value!==C)return;de.value=J2(ue.diff)}catch(W){ee.value===C&&(de.value=[]),console.warn("[loadFileDiff] diff unavailable for",C,W)}finally{ee.value===C&&(Be.value=!1)}}}function me(){ee.value=null,de.value=[],Be.value=!1}async function He(C){try{const W=await Te().getGitStatus(C);e.gitStatusBySession={...e.gitStatusBySession,[C]:W}}catch{}}async function De(){try{const z=await Te().getAuth();return e.authReady=z.ready,e.defaultModel=z.defaultModel,e.managedProviderStatus=z.managedProvider?.status??null,ae.value=null,"proceed"}catch(C){return Mn(C)&&(C.code===401||C.code===Ku)?(ae.value=null,"server-auth-required"):(ae.value=(C instanceof Error?C.message:String(C)).slice(0,140),"retry")}}async function an(){let C=!0;for(;;){const z=await De();if(z!=="retry")return z;C&&(ae.value=null,C=!1),await new Promise(W=>{setTimeout(W,lb)})}}async function Fe(){try{const C=Te();e.config=await C.getConfig()}catch{}}async function Ze(C){try{const W=await Te().setConfig(C);return e.config=W,e.defaultModel=W.defaultModel??null,!0}catch(z){return p("setConfig",z),!1}}const Ve=100,At=30,bt=720*60*1e3;async function Ct(){const C=Te(),z=[];let W,ue;for(;;){let be;try{be=await C.listSessions({pageSize:Ve,beforeId:W,excludeEmpty:!0})}catch($e){if(z.length===0)throw $e;ue=$e;break}if(z.push(...be.items),!be.hasMore||be.items.length===0)break;W=be.items[be.items.length-1].id}return{sessions:z,error:ue}}function dn(C){const z=new Map(e.sessions.map(W=>[W.id,W.usage]));w(C.map(W=>{const ue=z.get(W.id);return ue!==void 0&&Pa(W.usage)&&!Pa(ue)?{...W,usage:ue}:W}))}function Kt(C){const z=[...C],W=new Set(z.map(ue=>ue.id));for(const ue of e.sessions)W.has(ue.id)||(z.push(ue),W.add(ue.id));return z.sort((ue,be)=>new Date(be.updatedAt).getTime()-new Date(ue.updatedAt).getTime()),z}async function zt(C){const z=Te(),W=[],ue=Date.now(),be=et=>ue-new Date(et.updatedAt).getTime();let $e,Ye=!1,it=!0,mt;for(;;){let et;try{et=await z.listSessions({workspaceId:C,pageSize:Ha,beforeId:$e,excludeEmpty:!0})}catch(Qe){if(it)throw Qe;mt=Qe,Ye=!0;break}if(Ye=et.hasMore,et.items.length===0)break;const Mt=et.items[et.items.length-1],Sn=be(Mt)>=bt;if(!it&&Sn){const Qe=et.items.findIndex(jt=>be(jt)>=bt),Xe=Qe>=0?Qe+1:et.items.length;W.push(...et.items.slice(0,Xe)),Ye=et.hasMore||Xezt(Qe.id))),W=[],ue=new Set,be=new Map,$e=new Set;let Ye;for(let Qe=0;Qe$e.has(Qe.id)).map(Qe=>Qe.root)),mt=new Set(C.map(Qe=>Qe.id));for(const Qe of e.sessions)!(Qe.workspaceId!==void 0&&mt.has(Qe.workspaceId)?$e.has(Qe.workspaceId):it.has(Qe.cwd)||$e.has(L(Qe)))||ue.has(Qe.id)||(W.push(Qe),ue.add(Qe.id));const et={},Mt={},Sn={};for(const{id:Qe}of C){const Xe=be.get(Qe);if(Xe===void 0){const jt=e.sessionsHasMoreByWorkspace[Qe],St=e.sessionsCursorByWorkspace[Qe],ln=e.sessionsInitialCountByWorkspace[Qe];jt!==void 0&&(et[Qe]=jt),St!==void 0&&(Mt[Qe]=St),ln!==void 0&&(Sn[Qe]=ln);continue}et[Qe]=Xe.hasMore,Mt[Qe]=Xe.items.length>0?Xe.items[Xe.items.length-1].id:void 0,Sn[Qe]=Math.max(Xe.items.length,Ha)}return e.sessionsHasMoreByWorkspace=et,e.sessionsCursorByWorkspace=Mt,e.sessionsInitialCountByWorkspace=Sn,e.sessionsFullyLoaded=!1,W.sort((Qe,Xe)=>new Date(Xe.updatedAt).getTime()-new Date(Qe.updatedAt).getTime()),$e.size>0&&p("load",Ye),W}async function nn(C){if(e.sessionsLoadingMoreByWorkspace[C]||e.sessionsHasMoreByWorkspace[C]===!1)return;const z=e.sessionsCursorByWorkspace[C];if(z!==void 0){e.sessionsLoadingMoreByWorkspace={...e.sessionsLoadingMoreByWorkspace,[C]:!0};try{const W=await Te().listSessions({workspaceId:C,pageSize:At,beforeId:z,excludeEmpty:!0}),ue=new Set(e.sessions.map($e=>$e.id)),be=W.items.filter($e=>!ue.has($e.id));be.length>0&&w([...e.sessions,...be]),e.sessionsCursorByWorkspace={...e.sessionsCursorByWorkspace,[C]:W.items.length>0?W.items[W.items.length-1].id:z},e.sessionsHasMoreByWorkspace={...e.sessionsHasMoreByWorkspace,[C]:W.hasMore}}catch(W){p("loadMoreSessions",W)}finally{e.sessionsLoadingMoreByWorkspace={...e.sessionsLoadingMoreByWorkspace,[C]:!1}}}}async function ut(){if(e.sessionsFullyLoaded)return;const C=await Ct().catch(ue=>(console.warn("[kimi-web] loadAllSessions failed; search covers only loaded sessions",ue),null));if(C===null)return;const z=C.error===void 0?C.sessions:Kt(C.sessions);if(dn(z),e.sessionsFullyLoaded=C.error===void 0,C.error!==void 0)return;const W={};for(const ue of e.workspaces)W[ue.id]=!1;e.sessionsHasMoreByWorkspace=W}async function Ft(){const C=await Te().getMeta().catch(()=>null);C!==null&&(e.serverVersion=C.serverVersion,e.availableOpenInApps=C.openInApps,e.dangerousBypassAuth=C.dangerousBypassAuth,e.backend=C.backend)}async function In(){const C=Date.now();let z="accepted";Yt("app:load:start"),e.loading=!0;const W=!ke.value;let ue=!0;try{if(W&&await an()==="server-auth-required"){ue=!1,z="auth-required";return}const be=Te();await Promise.all([be.getHealth().catch(()=>null),Ft(),u.loadModels()]),W||await De(),await Fe(),await _t();const $e=await hs(),Ye=$e??e.sessions;$e!==void 0&&dn($e);const it=Ye[0],mt=e.activeWorkspaceId;!(mt!==null&&V.value.some(Sn=>Sn.id===mt))&&it&&Nt(L(it)),Wt();const Mt=typeof window<"u"?$r(window.location):void 0;!e.activeSessionId&&Mt!==void 0&&(e.sessions.some(Qe=>Qe.id===Mt)||await sn(Mt))&&await ct(Mt,{urlMode:"replace"}),!e.activeSessionId&&Ye.length>0&&await ct(Ye[0].id,{urlMode:"replace"})}catch(be){z="failed",p("load",be)}finally{e.loading=!1,ue&&(ke.value=!0),Yt("app:load:complete",{status:z,sessionId:e.activeSessionId,sessionCount:e.sessions.length,workspaceCount:e.workspaces.length,durationMs:Date.now()-C})}}async function _t(){try{const C=Te(),[z,W]=await Promise.all([C.listWorkspaces().catch(()=>[]),C.getFsHome().catch(()=>({home:"",recentRoots:[]}))]);e.workspaces=pn(z),e.fsHome=W.home||null,e.recentRoots=W.recentRoots}catch{}}function pn(C){const z=pi();return Object.keys(z).length===0?C:C.map(W=>{const ue=z[W.root];return ue!==void 0?{...W,name:ue}:W})}function Nt(C){e.activeWorkspaceId=C,_e(C)}function gn(C){Nt(C);const z=e.sessions.filter(W=>L(W)===C);if(z.length>0){const W=z[0];W&&W.id!==e.activeSessionId&&ct(W.id)}else y(void 0),Rt(void 0,"push")}function Tt(C){const z=pi()[C.root],W=z!==void 0?{...C,name:z}:C,ue=es(W.root);e.hiddenWorkspaceRoots.some(Ye=>es(Ye)===ue)&&(e.hiddenWorkspaceRoots=e.hiddenWorkspaceRoots.filter(Ye=>es(Ye)!==ue),Ce(e.hiddenWorkspaceRoots));const be=e.workspaces.findIndex(Ye=>Ye.id===W.id||Ye.root===W.root);if(be===-1){e.workspaces=[W,...e.workspaces];return}const $e=[...e.workspaces];$e[be]=W,e.workspaces=$e}function fn(C){if(C.type==="workspaceCreated"||C.type==="workspaceUpdated"){Tt(C.workspace);return}const z=e.workspaces.find(ue=>ue.id===C.workspaceId)?.root??C.root;if(z&&!e.hiddenWorkspaceRoots.includes(z)&&(e.hiddenWorkspaceRoots=[...e.hiddenWorkspaceRoots,z],Ce(e.hiddenWorkspaceRoots)),e.workspaces=e.workspaces.filter(ue=>ue.id!==C.workspaceId&&ue.root!==z),e.activeWorkspaceId===C.workspaceId||e.activeWorkspaceId===z){const ue=b.value[0]?.id??null;if(e.activeWorkspaceId=ue,ue)_e(ue);else try{ro(We.activeWorkspace)}catch{}y(void 0),e.sessionLoading=!1,me(),Rt(void 0,"replace")}}function mn(){y(void 0),Rt(void 0,"push")}function Rn(C){Nt(C),mn(),me()}async function yn(C){const z=V.value.find(Mt=>Mt.id===C);if(!z)return null;const W=e.thinking,ue=Te();let be,$e=z.root;try{const Mt=await ue.addWorkspace({root:z.root});be=Mt.id,$e=Mt.root,Tt(Mt)}catch{}const Ye=u.draftModel.value??void 0,it=await ue.createSession({workspaceId:be,cwd:$e,model:Ye});u.draftModel.value=null;const mt=Ye!==void 0&&(!it.model||it.model.length===0)?{...it,model:Ye}:it;h(mt),Nt(it.workspaceId??be??C),await ct(it.id);const et=it.id;return W!==void 0&&(e.thinkingBySession={...e.thinkingBySession,[et]:W}),te.planMode?(e.planModeBySession={...e.planModeBySession,[et]:!0},oe(),cs(e,et)):e.config?.defaultPlanMode===!0&&!te.planModeTouched&&(e.planModeBySession={...e.planModeBySession,[et]:!0},oe(),cs(e,et)),te.swarmMode&&(e.swarmModeBySession={...e.swarmModeBySession,[et]:!0},ce(),cs(e,et)),te.supermoonMode&&(e.supermoonModeBySession={...e.supermoonModeBySession,[et]:!0},Q(),cs(e,et)),te.goalMode&&(e.goalModeBySession={...e.goalModeBySession,[et]:!0},ie()),te.planArmed&&(e.planArmedBySession={...e.planArmedBySession,[et]:!0},ge()),te.planMode=!1,te.planArmed=!1,te.swarmMode=!1,te.supermoonMode=!1,te.goalMode=!1,te.planModeTouched=!1,et}async function Gn(C,z,W){if(!us.has(C)){us.add(C);try{const ue=await yn(C);if(!ue)return;await lt(ue,z,W)}catch(ue){p("startSessionAndSendPrompt",ue)}finally{us.delete(C)}}}async function $t(C,z,W,ue){if(!us.has(C)){us.add(C);try{const be=await yn(C);if(!be)return;const $e=e.planModeBySession[be]??!1,Ye=e.swarmModeBySession[be]??!1,it=e.supermoonModeBySession[be]??!1,mt=e.sessions.find(Sn=>Sn.id===be),et=(mt?.model&&mt.model.length>0?mt.model:e.defaultModel)??void 0;if(!await q({model:et,planMode:$e,swarmMode:Ye,supermoonMode:it,permissionMode:e.permission},be))return;await u.activateSkill(z,W,be,ue)}catch(be){p("startSessionAndActivateSkill",be)}finally{us.delete(C)}}}async function Zt(C,z){if(!us.has(C)){us.add(C);try{const W=await yn(C);if(!W)return;await i.openSideChatOn(W,z)}catch(W){p("startSessionAndOpenSideChat",W)}finally{us.delete(C)}}}async function Gt(C){const z=C.trim();if(!z)return!1;const W=Te();try{const ue=await W.addWorkspace({root:z});return Tt(ue),Rn(ue.id),!0}catch(ue){return console.warn("[kimi-web] addWorkspaceByPath failed for",z,ue),!1}}async function kn(C){try{return await Te().browseFs(C)}catch{return{path:"",parent:null,entries:[]}}}async function An(){try{return await Te().getFsHome()}catch{return{home:"",recentRoots:[]}}}function Rt(C,z){if(z==="none"||typeof window>"u"||!window.history)return;const W=nb(C);if(window.location.pathname!==W)try{z==="push"?window.history.pushState(null,"",W):window.history.replaceState(null,"",W)}catch{}}async function sn(C){try{const z=await Te().getSession(C);return e.sessions.some(W=>W.id===z.id)||m(z),!0}catch{return!1}}function qt(){const C=$r(window.location);if(C===void 0){y(void 0);return}if(C!==e.activeSessionId){if(e.sessions.some(z=>z.id===C)){ct(C,{urlMode:"none"});return}(async()=>{if(await sn(C)){await ct(C,{urlMode:"none"});return}const z=e.sessions[0];z?await ct(z.id,{urlMode:"replace"}):(y(void 0),Rt(void 0,"replace"))})()}}let Xt=!1;function Wt(){Xt||typeof window>"u"||(Xt=!0,window.addEventListener("popstate",qt))}async function ct(C,z){const W=D(C),ue=!W&&v.has(C);v.delete(C);try{Rt(C,z?.urlMode??"push"),e.sessionLoading=!W&&!ue,y(C),U(),e.unreadBySession[C]&&(e.unreadBySession={...e.unreadBySession,[C]:!1},ye({[C]:!1})),me();const be=e.sessions.find($e=>$e.id===C);if(be){const $e=L(be);e.activeWorkspaceId!==$e&&Nt($e)}if(W){if(await O(C)==="not-found")return}else if(await S(C)==="not-found")return;R(C)}catch(be){p("selectSession",be,{sessionId:C})}finally{e.activeSessionId===C&&(e.sessionLoading=!1)}}async function lt(C,z,W){const ue=Ua(C);e.inFlightBySession={...e.inFlightBySession,[C]:!0};const be=k();try{const $e=Te(),Ye=[];z&&Ye.push({type:"text",text:z});for(const St of W??[])St.kind==="video"?Ye.push({type:"video",source:{kind:"file",fileId:St.fileId}}):St.kind==="file"?Ye.push({type:"file",fileId:St.fileId,name:St.name??"",mediaType:St.mediaType||"application/octet-stream",size:St.size??0}):Ye.push({type:"image",source:{kind:"file",fileId:St.fileId}});if(Ye.length===0)return e.inFlightBySession={...e.inFlightBySession,[C]:!1},"rejected";const it={id:be,sessionId:C,role:"user",content:Ye,createdAt:new Date().toISOString(),metadata:{"kimiWeb.optimisticUserMessage":!0}};g(C,St=>[...St,it]);const mt=e.sessions.find(St=>St.id===C),et=(mt?.model&&mt.model.length>0?mt.model:e.defaultModel)??void 0,Mt=e.swarmModeBySession[C]??!1,Sn=e.supermoonModeBySession[C]??!1,Qe=e.goalModeBySession[C]??!1;if(Qe&&z){Dn(C);try{await $e.updateSession(C,{goalObjective:z.trim()})}catch(St){return p("createGoal",St,{sessionId:C}),e.inFlightBySession={...e.inFlightBySession,[C]:!1},g(C,ln=>ln.some(Pn=>Pn.id===be)?ln.filter(Pn=>Pn.id!==be):ln),"rejected"}}const Xe=en(C),jt=await $e.submitPrompt(C,{content:Ye,model:et,thinking:await u.resolveThinkingForPrompt(C,et)??e.thinking,permissionMode:e.permission,planMode:Xe,swarmMode:Mt,supermoonMode:Sn});return Qe&&(e.goalModeBySession={...e.goalModeBySession,[C]:!1},ie()),e.promptIdBySession={...e.promptIdBySession,[C]:jt.promptId},g(C,St=>{const ln=St.findIndex(yo=>yo.id===be);if(ln===-1)return St;const Pn=[...St];return Pn[ln]={...Pn[ln],promptId:Pn[ln].promptId??jt.promptId},Pn}),T()?.bindNextPromptId(C,jt.promptId),"ok"}catch($e){return e.inFlightBySession={...e.inFlightBySession,[C]:!1},g(C,Ye=>Ye.some(it=>it.id===be)?Ye.filter(it=>it.id!==be):Ye),p("sendPrompt",$e,{sessionId:C}),Mn($e)?"rejected":"uncertain"}finally{Va(C,ue)}}async function on(C,z){const W=e.activeSessionId;if(W){if(f.value!=="idle"||e.inFlightBySession[W]){we(C,z);return}if((e.queuedBySession[W]?.length??0)>0){we(C,z),Ge(W);return}await lt(W,C,z)}}async function Jt(C,z){const W=e.activeSessionId;if(!W)return;const ue=e.queuedBySession[W]??[],be=[],$e=[];for(const Xe of ue){const jt=Xe.text.trim();jt&&be.push(jt),Xe.attachments?.length&&$e.push(...Xe.attachments)}const Ye=C.trim();if(Ye&&be.push(Ye),z?.length&&$e.push(...z),be.length===0&&$e.length===0)return;ue.length>0&&(e.queuedBySession={...e.queuedBySession,[W]:[]});const it=be.join(`
-
-`),mt=()=>{if(ue.length===0)return;const Xe=e.queuedBySession[W]??[];e.queuedBySession={...e.queuedBySession,[W]:[...ue,...Xe]}};if(f.value==="idle"&&!e.inFlightBySession[W]){await lt(W,it,$e)==="rejected"&&mt();return}const et=[];it&&et.push({type:"text",text:it});for(const Xe of $e)Xe.kind==="video"?et.push({type:"video",source:{kind:"file",fileId:Xe.fileId}}):Xe.kind==="file"?et.push({type:"file",fileId:Xe.fileId,name:Xe.name??"",mediaType:Xe.mediaType||"application/octet-stream",size:Xe.size??0}):et.push({type:"image",source:{kind:"file",fileId:Xe.fileId}});const Mt=k(),Sn={id:Mt,sessionId:W,role:"user",content:et,createdAt:new Date().toISOString(),metadata:{"kimiWeb.optimisticUserMessage":!0}};g(W,Xe=>[...Xe,Sn]);const Qe=Ua(W);try{const Xe=Te(),jt=e.sessions.find(Pn=>Pn.id===W),St=(jt?.model&&jt.model.length>0?jt.model:e.defaultModel)??void 0,ln=await Xe.submitPrompt(W,{content:et,model:St,thinking:await u.resolveThinkingForPrompt(W,St)??e.thinking,permissionMode:e.permission,planMode:en(W),swarmMode:e.swarmModeBySession[W]??!1,supermoonMode:e.supermoonModeBySession[W]??!1});if(g(W,Pn=>{const yo=Pn.findIndex(Id=>Id.id===Mt);if(yo===-1)return Pn;const di=[...Pn];return di[yo]={...di[yo],promptId:di[yo].promptId??ln.promptId},di}),ln.status!=="queued"){e.promptIdBySession={...e.promptIdBySession,[W]:ln.promptId},T()?.bindNextPromptId(W,ln.promptId);return}try{await Xe.steerPrompts(W,[ln.promptId])}catch{}}catch(Xe){g(W,jt=>jt.filter(St=>St.id!==Mt)),Mn(Xe)&&mt(),p("steer",Xe,{sessionId:W})}finally{Va(W,Qe)}}async function Se(C,z){try{const ue=await Te().uploadFile({file:C,name:z});return{fileId:ue.id,name:ue.name,mediaType:ue.mediaType}}catch(W){return p("uploadImage",W),null}}function we(C,z){const W=e.activeSessionId;if(!W)return;const ue=e.queuedBySession[W]??[],be={text:C,attachments:z,id:vb()};e.queuedBySession={...e.queuedBySession,[W]:[...ue,be]}}function Ge(C){const[z,...W]=e.queuedBySession[C]??[];z!==void 0&&(e.queuedBySession={...e.queuedBySession,[C]:W},lt(C,z.text,z.attachments).then(ue=>{if(ue==="ok"){Js.delete(C);return}if(ue==="uncertain"){Js.delete(C);return}if(!e.sessions.some(mt=>mt.id===C)){Js.delete(C);return}const be=z.id??z.text,$e=Js.get(C),Ye=$e!==void 0&&$e.key===be?$e.count+1:1;if(Ye>=mb){Js.delete(C),(e.queuedBySession[C]?.length??0)>0&&Ge(C);return}Js.set(C,{key:be,count:Ye});const it=e.queuedBySession[C]??[];e.queuedBySession={...e.queuedBySession,[C]:[z,...it]}}))}function Je(C,z){const W=e.inFlightBySession[C]===!0;if(e.inFlightBySession={...e.inFlightBySession,[C]:!1},e.promptIdBySession[C]!==void 0){const be={...e.promptIdBySession};delete be[C],e.promptIdBySession=be}return C===e.activeSessionId&&U(),(W||z?.turnWasActive===!0||(e.turnActiveBySession[C]??!1))&&Ge(C),W}function at(C,z){z.inFlightTurn!==null&&z.busy||Je(C)}async function Ht(){const C=e.activeSessionId;if(!C)return;const z=e.sessions.find(be=>be.id===C);let W=e.promptIdBySession[C];if(W===void 0){const be=z?.currentPromptId;be!==void 0&&be.length>0&&!be.startsWith("pr_")&&(W=be)}const ue=Te();if(W!==void 0)try{if((await ue.abortPrompt(C,W)).aborted)return;const $e={...e.promptIdBySession};delete $e[C],e.promptIdBySession=$e}catch(be){if(Mn(be)&&be.code===ob){const $e={...e.promptIdBySession};delete $e[C],e.promptIdBySession=$e}else{p("abortCurrentPrompt",be,{sessionId:C});return}}try{await ue.abortSession(C)}catch(be){p("abortCurrentPrompt",be,{sessionId:C})}}function Qt(C,z){const W=e.approvalsBySession[C]??[];e.approvalsBySession={...e.approvalsBySession,[C]:W.filter(ue=>ue.approvalId!==z)}}function Pt(C,z){const W=e.questionsBySession[C]??[];e.questionsBySession={...e.questionsBySession,[C]:W.filter(ue=>ue.questionId!==z)}}async function Ut(C,z){const W=e.activeSessionId;if(W&&!bi[C]){bi[C]=!0;try{const ue=Te(),be={decision:z.decision,scope:z.scope,feedback:z.feedback,selectedLabel:z.selectedLabel};await ue.respondApproval(W,C,be),Qt(W,C)}catch(ue){va(ue)?Qt(W,C):p("respondApproval",ue,{sessionId:W})}finally{delete bi[C]}}}async function Vt(C,z){const W=e.activeSessionId;if(W&&!Zs[C]){Zs[C]="answer";try{await Te().respondQuestion(W,C,z),Pt(W,C)}catch(ue){va(ue)?Pt(W,C):p("respondQuestion",ue,{sessionId:W})}finally{delete Zs[C]}}}async function Tn(C){const z=e.activeSessionId;if(z&&!Zs[C]){Zs[C]="dismiss";try{await Te().dismissQuestion(z,C),Pt(z,C)}catch(W){va(W)?Pt(z,C):p("dismissQuestion",W,{sessionId:z})}finally{delete Zs[C]}}}async function gs(C){const z=e.activeSessionId;if(z&&!ha[C]){ha[C]=!0;try{const W=Te(),ue=(e.tasksBySession[z]??[]).find($e=>$e.id===C)?.backgroundTaskId;await W.cancelTask(z,ue??C);const be=e.tasksBySession[z]??[];e.tasksBySession={...e.tasksBySession,[z]:be.map($e=>$e.id===C?{...$e,status:"cancelled"}:$e)}}catch(W){ub(W)||p("cancelTask",W,{sessionId:z})}finally{delete ha[C]}}}function Wn(C){const z=e.activeSessionId;z?(e.planModeBySession={...e.planModeBySession,[z]:C},cs(e,z),oe(),q({planMode:C})):(te.planMode=C,te.planModeTouched=!0)}function bn(){const C=e.activeSessionId,z=C?e.planModeBySession[C]??!1:te.planMode;Wn(!z)}function ns(){const C=e.activeSessionId;C?(e.planArmedBySession={...e.planArmedBySession,[C]:!0},ge(),e.goalModeBySession[C]&&(e.goalModeBySession={...e.goalModeBySession,[C]:!1},ie())):(te.planArmed=!0,te.goalMode=!1)}function ss(){const C=e.activeSessionId,z=C?{planMode:e.planModeBySession[C]??!1,planArmed:e.planArmedBySession[C]??!1}:{planMode:te.planMode,planArmed:te.planArmed},W=tb();C?(z.planMode&&Wn(!1),z.planArmed&&(e.planArmedBySession={...e.planArmedBySession,[C]:!1},ge())):(z.planMode&&(te.planModeTouched=!0),te.planMode=W.planMode,te.planArmed=W.planArmed)}function On(){const C=e.activeSessionId,z=C?{planMode:e.planModeBySession[C]??!1,planArmed:e.planArmedBySession[C]??!1}:{planMode:te.planMode,planArmed:te.planArmed};ic(z)?ss():ns()}function en(C){const z={planMode:e.planModeBySession[C]??!1,planArmed:e.planArmedBySession[C]??!1},W=eb(z);return(W.planMode!==z.planMode||W.planArmed!==z.planArmed)&&(e.planModeBySession={...e.planModeBySession,[C]:W.planMode},e.planArmedBySession={...e.planArmedBySession,[C]:W.planArmed},cs(e,C),oe(),ge(),W.planMode!==z.planMode&&q({planMode:W.planMode},C)),W.planMode}function Dn(C){e.planModeBySession[C]&&(e.planModeBySession={...e.planModeBySession,[C]:!1},cs(e,C),oe(),q({planMode:!1},C)),e.planArmedBySession[C]&&(e.planArmedBySession={...e.planArmedBySession,[C]:!1},ge())}function Hn(C){const z=e.activeSessionId;z?(e.swarmModeBySession={...e.swarmModeBySession,[z]:C},cs(e,z),ce(),q({swarmMode:C})):te.swarmMode=C}async function Qn(){const C=e.activeSessionId,W=!(C?e.swarmModeBySession[C]??!1:te.swarmMode);W&&e.permission==="manual"&&!await s({title:n("workspace.swarmEnableConfirm"),variant:"primary"})||Hn(W)}function ys(C,z){e.supermoonModeBySession={...e.supermoonModeBySession,[z]:C},cs(e,z),Q(),C?zn(z):is(z),q({supermoonMode:C},z)}function vn(C){const z=e.activeSessionId;z?ys(C,z):te.supermoonMode=C}function os(){const C=e.activeSessionId,z=C?e.supermoonModeBySession[C]??!1:te.supermoonMode;vn(!z)}function zn(C){const z=u.models.value.find($e=>$e.id===P.value.modelId),W=z?.supportEfforts??[];if(W.length===0)return;const ue=W[W.length-1],be=Xo(z,e.thinking);u.setThinking(ue),e.supermoonPreviousEffortBySession={...e.supermoonPreviousEffortBySession,[C]:be}}function is(C){const z=e.supermoonPreviousEffortBySession[C];if(z===void 0)return;const W={...e.supermoonPreviousEffortBySession};delete W[C],e.supermoonPreviousEffortBySession=W;try{u.setThinking(z)}catch(ue){p("setSupermoonMode",ue,{sessionId:C})}}function as(C){const z=e.activeSessionId;z?(e.goalModeBySession={...e.goalModeBySession,[z]:C},ie(),C&&Dn(z)):(te.goalMode=C,C&&(te.planMode=!1,te.planModeTouched=!0,te.planArmed=!1))}function Es(){const C=e.activeSessionId,z=C?e.goalModeBySession[C]??!1:te.goalMode;as(!z)}async function ks(C){const z=C.trim();if(!z||e.permission==="manual"&&!await s({title:n("workspace.goalStartConfirm",{objective:z}),variant:"primary"}))return;let W=e.activeSessionId;if(!W){const ue=e.activeWorkspaceId,be=ue&&b.value.some($e=>$e.id===ue)?ue:b.value[0]?.id??null;if(!be)return;try{W=await yn(be)??void 0}catch($e){p("createGoal",$e);return}if(!W)return}Dn(W);try{await Te().updateSession(W,{goalObjective:z})}catch(ue){p("createGoal",ue,{sessionId:W,message:Z(ue)});return}e.goalModeBySession[W]&&(e.goalModeBySession={...e.goalModeBySession,[W]:!1},ie()),e.activeSessionId===W?await on(z):await lt(W,z)}function wn(C){const z=e.activeSessionId;z&&Promise.resolve(Te().updateSession(z,{goalControl:C})).catch(W=>{p("controlGoal",W,{sessionId:z,message:Z(W)})})}function Ls(C){e.permission=C,ne(C),q({permissionMode:C})}function Gs(C){const z=[...e.warnings];z.splice(C,1),e.warnings=z}async function Bs(C,z){try{await Te().updateSession(C,{title:z}),x(C,ue=>({...ue,title:z}))}catch(W){p("renameSession",W,{sessionId:C})}}async function Fn(C){const z=await Te().generateSessionTitle(C,{force:!0,source:"digest"});return z!==null&&x(C,W=>({...W,title:z})),z}async function bs(C,z){const W=e.workspaces.find(be=>be.id===C)?.root,ue=()=>{e.workspaces=e.workspaces.map(be=>be.id===C?{...be,name:z}:be)};try{if(await Te().updateWorkspace(C,{name:z}),W!==void 0){const be=pi();W in be&&(delete be[W],Nl(be))}ue()}catch(be){if(W!==void 0&&Mn(be)&&be.code===ib){Nl({...pi(),[W]:z}),ue();return}p("renameWorkspace",be)}}async function ws(C){const z=e.workspaces.find($e=>$e.id===C)?.root??V.value.find($e=>$e.id===C)?.root??C,W=e.activeSessionId?e.sessions.find($e=>$e.id===e.activeSessionId):void 0,ue=e.activeWorkspaceId===C||e.activeWorkspaceId===z,be=!!(W&&(W.cwd===z||W.workspaceId===C||L(W)===C));z&&!e.hiddenWorkspaceRoots.includes(z)&&(e.hiddenWorkspaceRoots=[...e.hiddenWorkspaceRoots,z],Ce(e.hiddenWorkspaceRoots));try{await Te().deleteWorkspace(C)}catch($e){console.warn("[kimi-web] deleteWorkspace registry cleanup failed for",C,$e)}if(e.workspaces=e.workspaces.filter($e=>$e.id!==C&&$e.root!==z),ue||be){const $e=b.value[0]?.id??null;if(e.activeWorkspaceId=$e,$e)_e($e);else try{ro(We.activeWorkspace)}catch{}}(ue||be)&&(y(void 0),e.sessionLoading=!1,me(),Rt(void 0,"replace"))}async function Ae(C){try{await Te().archiveSession(C),_(C),i.clearSideChatForSession(C);const{[C]:W,...ue}=e.sideChatUserMessageIdsBySession;if(e.sideChatUserMessageIdsBySession=ue,e.activeSessionId===C){const be=e.sessions[0];be?await ct(be.id,{urlMode:"replace"}):(y(void 0),Rt(void 0,"replace"))}}catch(z){p("archiveSession",z,{sessionId:C})}}function j(C){e.warnings=[...e.warnings,C]}function J(C,z){e.warnings=[...e.warnings.filter(W=>W!==C),...z===void 0?[]:[z]]}async function ft(C){if(Y)return;const z=C??e.activeSessionId;if(!z){const be=n("commands.export.noSession");Yt("export:failed",{status:"no-session"}),p("exportSession",new Error(be),{message:be});return}Y=!0;const W=Date.now();Yt("export:start",{sessionId:z});const ue={severity:"info",title:n("commands.export.started"),sticky:!0};j(ue);try{const be=O0(),{blob:$e,fileName:Ye}=await Te().exportSession(z,be);if(typeof document>"u")throw new Error("Document is unavailable");const it=URL.createObjectURL($e);let mt;try{mt=document.createElement("a"),mt.href=it,mt.download=Ye,document.body.append(mt),mt.click()}finally{mt?.remove(),setTimeout(()=>{try{URL.revokeObjectURL(it)}catch{}},0)}J(ue,{severity:"success",title:n("commands.export.done")}),Yt("export:accepted",{sessionId:z,status:"accepted",zipBytes:$e.size,durationMs:Date.now()-W})}catch(be){const $e=typeof be=="object"&&be!==null?be:void 0;Yt("export:failed",{sessionId:z,status:"failed",durationMs:Date.now()-W,errorName:typeof $e?.name=="string"?$e.name:typeof be,errorCode:typeof $e?.code=="number"?$e.code:void 0,requestId:typeof $e?.requestId=="string"?$e.requestId:void 0,phase:typeof $e?.phase=="string"?$e.phase:void 0,httpStatus:typeof $e?.status=="number"?$e.status:void 0}),J(ue,void 0),pb(be)?p("exportSession",be,{sessionId:z,title:n("commands.export.tooLarge")}):p("exportSession",be,{sessionId:z})}finally{Y=!1}}async function Nn(C){try{const z=await Te().restoreSession(C);return h(z),!0}catch(z){return p("restoreSession",z,{sessionId:C}),!1}}function Ss(C){return Te().listSessions({archivedOnly:!0,beforeId:C?.beforeId,pageSize:C?.pageSize??50})}async function ls(){try{await Te().logout(),await De(),await In()}catch(C){p("logout",C)}}function Qs(C){const z=e.activeSessionId;z&&Te().compactSession(z,C).catch(W=>{p("compact",W,{sessionId:z})})}async function Rs(C){const z=C??e.activeSessionId;if(z)try{const W=await Te().forkSession(z);h(W),await ct(W.id)}catch(W){p("fork",W,{sessionId:z})}}async function pe(C=1){const z=e.activeSessionId;if(!z)return null;const W=(()=>{const ue=e.messagesBySession[z]??[];for(let be=ue.length-1;be>=0;be--){const $e=ue[be];if($e.role==="user"&&!($e.metadata?.origin&&$e.metadata.origin.kind!=="user"))return $e.content.filter(Ye=>Ye.type==="text").map(Ye=>Ye.text).join(`
-`)}return null})();try{return await Te().undoSession(z,C),await S(z),W}catch(ue){return p("undo",ue,{sessionId:z}),null}}function Me(C){const z=e.activeSessionId;if(!z)return;const W=e.queuedBySession[z]??[];if(C<0||C>=W.length)return;const ue=[...W];ue.splice(C,1),e.queuedBySession={...e.queuedBySession,[z]:ue}}function xe(C,z){const W=e.activeSessionId;if(!W)return;const ue=e.queuedBySession[W]??[];if(C===z||C<0||C>=ue.length||z<0||z>=ue.length)return;const be=[...ue],[$e]=be.splice(C,1);$e!==void 0&&(be.splice(z,0,$e),e.queuedBySession={...e.queuedBySession,[W]:be})}async function F(C){const z=e.activeSessionId;if(!z)return[];try{return(await Te().listDirectory(z,{path:C,includeGitStatus:!0})).items}catch{return[]}}async function K(C){const z=e.activeSessionId;if(!z)return null;try{const ue=await Te().readFile(z,{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(W){return console.warn("[kimi-web] readFileContent failed for",C,W),null}}const le=10485760;function je(C){const z=e.activeSessionId;return z?Te().getFileDownloadUrl(z,C):null}async function tt(C,z){const W=e.activeSessionId;if(!W)return!1;try{return await Te().openFile(W,{path:C,line:z}),!0}catch(ue){return p("openFile",ue,{sessionId:W}),!1}}async function wt(C){const z=e.activeSessionId;if(!z)return;const W=P.value.cwd||".";try{await Te().openInApp(z,C,W)}catch(ue){p("openInApp",ue,{sessionId:z})}}async function tn(C){const z=e.activeSessionId;if(!z)return!1;try{return await Te().revealFile(z,{path:C}),!0}catch(W){return p("revealFile",W,{sessionId:z}),!1}}async function Yn(C){if(/^(https?:|data:|blob:)/i.test(C))return C;const z=e.activeSessionId;if(!z)return C;let W=C;if(W.startsWith("/")){const ue=e.sessions.find(be=>be.id===z)?.cwd;if(ue&&(W===ue||W.startsWith(ue.endsWith("/")?ue:`${ue}/`))){if(W=W.slice(ue.length).replace(/^\//,""),!W)return C}else return C}if(W.startsWith("/")||W.startsWith("~")||W.includes(".."))return C;try{const be=await Te().readFile(z,{path:W,length:le});return!be.isBinary||be.encoding!=="base64"||be.truncated?C:`data:${be.mime};base64,${be.content}`}catch{return C}}async function rs(C){const z=e.sessions.find(ue=>ue.id===e.activeSessionId),W=z===void 0?e.activeWorkspaceId:L(z);if(!W)return[];try{return(await Te().searchFiles(W,{query:C,limit:20})).items.map($e=>({path:$e.path,name:$e.name}))}catch{return[]}}return{loadFileDiff:X,clearFileDiff:me,loadGitStatus:He,checkAuth:De,loadConfig:Fe,updateConfig:Ze,listAllSessionsGlobal:Ct,load:In,refreshServerMeta:Ft,loadWorkspaces:_t,loadMoreSessions:nn,loadAllSessions:ut,selectWorkspace:Nt,openWorkspace:gn,upsertWorkspacePreserveOrder:Tt,applyWorkspaceEvent:fn,clearActiveSession:mn,openWorkspaceDraft:Rn,startSessionAndSendPrompt:Gn,startSessionAndActivateSkill:$t,startSessionAndOpenSideChat:Zt,addWorkspaceByPath:Gt,browseFs:kn,getFsHome:An,writeSessionUrl:Rt,fetchSessionIntoList:sn,onSessionRoutePopState:qt,bindSessionRoute:Wt,selectSession:ct,submitPromptInternal:lt,finishPromptLocal:Je,localTurnStartState:hb,isLocalTurnSnapshotCurrent:yb,afterLocalTurnStartsSettle:kb,handleSessionSnapshot:at,sendPrompt:on,steerPrompt:Jt,uploadImage:Se,enqueue:we,unqueue:Me,reorderQueue:xe,abortCurrentPrompt:Ht,respondApproval:Ut,respondQuestion:Vt,dismissQuestion:Tn,pendingQuestionActions:Zs,pendingApprovalActions:bi,cancelTask:gs,setPlanMode:Wn,togglePlanMode:bn,armPlanMode:ns,dismissPlanMode:ss,togglePlanArm:On,setSwarmMode:Hn,toggleSwarmMode:Qn,setSupermoonMode:vn,toggleSupermoonMode:os,pinSupermoonEffort:zn,restoreSupermoonEffort:is,setGoalMode:as,toggleGoalMode:Es,createGoal:ks,controlGoal:wn,setPermission:Ls,dismissWarning:Gs,renameSession:Bs,regenerateSessionTitle:Fn,renameWorkspace:bs,deleteWorkspace:ws,archiveSession:Ae,exportSession:ft,restoreSession:Nn,loadArchivedSessions:Ss,logout:ls,compact:Qs,forkSession:Rs,undo:pe,listDir:F,readFileContent:K,getFileDownloadUrl:je,openWorkspaceFile:tt,openInApp:wt,revealWorkspaceFile:tn,resolveImageUrl:Yn,searchFiles:rs,loadOlderMessages:ve,refreshSessionSidecars:R,isStartingFirstPrompt:()=>us.size>0}}const ac=We.starredModels,xr=new Error("profile persist failed");function wb(){try{const e=It(ac);if(!e)return[];const t=JSON.parse(e);if(Array.isArray(t)&&t.every(n=>typeof n=="string"))return t}catch{}return[]}function Sb(e){try{Bt(ac,JSON.stringify(e))}catch{}}function Cb(e,t){const{pushOperationFailure:n,refreshSessionStatus:s,persistSessionProfile:o,activity:i,updateSession:u,updateSessionMessages:p}=t,f=I([]),v=I(wb()),w=I({}),x=I({}),h=I([]),m=I(null);function _(Z){if(!(Z==null||Z.length===0))return f.value.find(U=>U.id===Z)??f.value.find(U=>U.model===Z)}function y(){const Z=e.activeSessionId?e.sessions.find(ke=>ke.id===e.activeSessionId):void 0,U=Z===void 0?m.value??e.defaultModel:Z.model||e.defaultModel;return _(U)?.id??U??void 0}function g(Z){if(Z===void 0)return;const U=_(Z);return U===void 0?void 0:Zo(U)}function k(Z,U){const ke=Z==null?void 0:e.thinkingBySession[Z];return ke!==void 0&&K2(U,ke)?ke:Zo(U)}function T(Z,U){if(U===void 0)return;const ke=_(U);return ke===void 0?void 0:k(Z,ke)}async function S(Z,U){return Z!=null&&e.thinkingBySession[Z]===void 0&&await s(Z),T(Z,U)}function O(Z){e.thinking=Z;const U=e.activeSessionId;return Z!==void 0&&U!==null&&U!==void 0&&(e.thinkingBySession={...e.thinkingBySession,[U]:Z}),Z}Oe([()=>e.activeSessionId,()=>y(),()=>{const Z=e.activeSessionId;return Z==null?void 0:e.thinkingBySession[Z]}],()=>{const Z=_(y());Z!==void 0&&(e.thinking=k(e.activeSessionId,Z))});function D(Z){Te().setConfig({thinking:G2(Z,_(y())?.supportEfforts)}).catch(U=>n("setConfig",U))}async function E(Z){try{const ke=await Te().listSkills(Z);w.value={...w.value,[Z]:ke}}catch{}}async function B(Z){try{const ke=await Te().listSkillsForWorkspace(Z);x.value={...x.value,[Z]:ke}}catch{}}async function q(){try{const Z=Te();f.value=await Z.listModels();const U=_(y());U!==void 0&&(e.thinking=k(e.activeSessionId,U))}catch(Z){n("loadModels",Z)}}async function V(){try{const Z=Te();h.value=await Z.listProviders()}catch(Z){n("loadProviders",Z)}}async function b(Z){const U=e.activeSessionId,ke=_(Z),ae=e.thinking,ee=U?e.sessions.find(Y=>Y.id===U)?.model:void 0,de=y()!==(ke?.id??Z),Be=Q2(ke,ae,de);if(!U)return m.value=Z,e.thinking=Be,Be!==ae&&Be!==void 0&&D(Be),!0;u(U,Y=>({...Y,model:Z})),Be!==ae&&(e.thinking=Be,Be!==void 0&&(e.thinkingBySession={...e.thinkingBySession,[U]:Be}));try{await Te().updateSession(U,{model:Z,thinking:Be!==ae?Be:void 0})}catch(Y){return u(U,ve=>({...ve,model:ee??ve.model})),Be!==ae&&(e.thinking=ae,ae!==void 0&&(e.thinkingBySession={...e.thinkingBySession,[U]:ae})),n("setModel",Y,{sessionId:U}),!1}return Be!==ae&&Be!==void 0&&D(Be),await s(U),!0}function P(Z){const U=new Set(v.value);U.has(Z)?U.delete(Z):U.add(Z),v.value=Array.from(U),Sb(v.value)}async function L(Z,U,ke,ae){const ee=ke??e.activeSessionId;if(!ee)return;const de=i.value==="idle"&&!e.inFlightBySession[ee],Be=`msg_skill_opt_${Date.now().toString(36)}`,Y=de?Ua(ee):void 0;if(de){e.inFlightBySession={...e.inFlightBySession,[ee]:!0};const ve={id:Be,sessionId:ee,role:"user",content:[{type:"text",text:`/${Z}${U?` ${U}`:""}`}],createdAt:new Date().toISOString(),metadata:{"kimiWeb.optimisticUserMessage":!0,origin:{kind:"skill_activation",trigger:"user-slash",skillName:Z,skillArgs:U}}};p(ee,R=>[...R,ve])}try{const ve=e.sessions.find(me=>me.id===ee)?.model,R=(ve&&ve.length>0?ve:e.defaultModel)??void 0;if(!await o({thinking:await S(ee,R)??e.thinking},ee))throw xr;await Te().activateSkill(ee,Z,U,ae)}catch(ve){de&&(e.inFlightBySession={...e.inFlightBySession,[ee]:!1},p(ee,R=>R.filter(X=>X.id!==Be))),ve!==xr&&n("activateSkill",ve,{sessionId:ee})}finally{Y!==void 0&&Va(ee,Y)}}async function ne(Z){try{await Te().addProvider(Z),await Promise.all([V(),q()])}catch(U){n("addProvider",U)}}async function oe(Z){try{await Te().deleteProvider(Z),await Promise.all([V(),q()])}catch(U){n("deleteProvider",U)}}async function ge(Z){try{const U=await Te().refreshProvider(Z);for(const ke of U.failed)n("refreshProvider",new Error(ke.reason),{message:ke.provider});await Promise.all([V(),q()])}catch(U){n("refreshProvider",U)}}async function ce(){try{const Z=await Te().refreshAllProviders();for(const U of Z.failed)n("refreshAllProviders",new Error(U.reason),{message:U.provider});await Promise.all([V(),q()])}catch(Z){n("refreshAllProviders",Z)}}async function Q(Z){try{await Te().importCatalogProvider(Z),await Promise.all([V(),q()])}catch(U){n("importCatalogProvider",U)}}async function ie(Z){try{await Te().importRegistry(Z),await Promise.all([V(),q()])}catch(U){n("importRegistry",U)}}async function te(){try{return await Te().startOAuthLogin()}catch{return null}}async function ye(){try{return await Te().pollOAuthLogin()}catch(Z){return console.warn("[kimi-web] pollOAuthLogin failed",Z),null}}async function _e(){try{await Te().cancelOAuthLogin()}catch{}}function Ce(Z){const U=O(Z);o({thinking:U}),U!==void 0&&D(U)}return{models:f,starredModelIds:v,providers:h,draftModel:m,skillsBySession:w,skillsByWorkspace:x,loadSkillsForSession:E,loadSkillsForWorkspace:B,loadModels:q,loadProviders:V,setModel:b,thinkingLevelForModelId:g,thinkingLevelForSessionId:T,resolveThinkingForPrompt:S,toggleStarModel:P,activateSkill:L,addProvider:ne,deleteProvider:oe,refreshProvider:ge,refreshAllProviders:ce,importCatalogProvider:Q,importRegistry:ie,startOAuthLogin:te,pollOAuthLogin:ye,cancelOAuthLogin:_e,setThinking:Ce}}const _b=/^read[_-]?media(?:file)?$/i,$b=/^data:([^;]+);base64,(.*)$/s,Mb=/^<(image|video|audio)\s+path="([^"]+)">$/,xb=/^<(image|video|audio)\s+path="([^"]+)">(?:<\/\1>)?$/,Ib=/Mime type:\s*([^.\s]+)/i,Ab=/Size:\s*(\d+)\s*bytes/i,Tb=/Original dimensions:\s*(\d+)x(\d+)\s*pixels/i,Pb="Image compressed to fit model limits:",Eb=/Image compressed to fit model limits:[\s\S]*?<\/system>/g;function Lb(e){return e.includes(Pb)?e.replace(Eb,""):e}function Bb(e){return e.replaceAll(""",'"').replaceAll("<","<").replaceAll(">",">").replaceAll("&","&")}function Rb(e){const t=xb.exec(e.trim());return t?{kind:t[1],path:Bb(t[2])}:null}const lc=/^f_(?:[0-9A-Za-z]{26}|[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12})$/,Ob=/^f_(?:[0-9A-Za-z]{26}|[0-9a-fA-F]{8}(?:-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12})(?=-)/;function Db(e){const t=e.split(/[\\/]/).at(-1)??"",n=t.lastIndexOf("."),s=n>0?t.slice(0,n):t;return lc.test(s)?s:void 0}const zb=/^Attached file "(.+)" \(([^,]+), (\d+) bytes\): (.+) — open it with the Read tool$/;function Fb(e){const t=zb.exec(e.trim());if(!t)return null;const n=(t[4]??"").split(/[\\/]/).at(-1)??"",s=Ob.exec(n)?.[0];return{name:t[1],mediaType:t[2],size:Number(t[3]),fileId:s!==void 0&&lc.test(s)?s:void 0}}function Nb(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 qb(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 Wb(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 Hb(e,t){if(!_b.test(e))return;const n=qb(t);if(n===null)return;let s,o,i,u,p,f=null;for(const w of n){if(typeof w!="object"||w===null)continue;const x=w;if(x.type==="text"&&typeof x.text=="string"){const m=x.text,_=Mb.exec(m);_&&(o=_[1],s=_[2]);const y=Ib.exec(m);y?.[1]&&(i=y[1]);const g=Ab.exec(m);g?.[1]&&(u=Number(g[1]));const k=Tb.exec(m);k?.[1]&&k[2]&&(p=`${k[1]}x${k[2]}`);continue}const h=Wb(x);h&&(f=h)}if(f===null)return;const v=$b.exec(f.url);return v?.[1]&&(i=v[1]),v?.[2]&&(u=Nb(v[2])),{kind:f.kind??o??"image",url:f.url,path:s,mimeType:i,bytes:Number.isFinite(u)?u:void 0,dimensions:p}}function Ub(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 Vb(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 jb(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 Kb(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:jb(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 w=typeof f.description=="string"?f.description:void 0;return{label:v,description:w}}).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 Gb(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):Qb(e)}function Qb(e){const t=e.split(`
-`);return t.length>=2&&t[0]?.startsWith(""?t.slice(1,-1).join(`
-`):e}function Yb(e){const t=e.metadata?.origin;if(t?.kind==="cron_job"||t?.kind==="cron_missed")return t.kind}function Zb(e){const t=e.content.filter(n=>n.type==="text").map(n=>n.text).join(`
-`);return Gb(t)}function Xb(e,t){const n=e.metadata?.origin??{},s=Zb(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 Jb(e,t,n){const{text:s,cron:o}=Xb(e,n);return{id:e.id,role:"cron",no:t,text:s,createdAt:e.createdAt,cron:o}}function ew(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 tw(e){return e.metadata?.origin?.kind==="compaction_summary"}function Ir(e,t){return e===null?!1:e.promptId===void 0||t===void 0||e.promptId===t}function nw(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 sw(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 ow(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 rc(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 y=0;y<_.tools.length;y++){const g=_.tools[y];if(g.status!=="running")continue;const k={...g,status:"ok"};_.tools[y]=k;const T=_.blocks.find(S=>S.kind==="tool"&&S.tool.id===k.id);T&&T.kind==="tool"&&(T.tool=k)}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 w(m,_){for(const y of _)if(y.type==="text"){if(y.text){m.textParts.push(y.text);const g=m.blocks.at(-1);g&&g.kind==="text"?g.text+=`
-`+y.text:m.blocks.push({kind:"text",text:y.text})}}else if(y.type==="thinking"){if(y.thinking){m.thinkingParts.push(y.thinking);const g=m.blocks.at(-1);g&&g.kind==="thinking"?g.thinking+=`
-`+y.thinking:m.blocks.push({kind:"thinking",thinking:y.thinking})}}else if(y.type==="toolUse"){const g=p.get(y.toolCallId),k={id:y.toolCallId,name:y.toolName,arg:typeof y.input=="string"?y.input:JSON.stringify(y.input),status:"running",output:y.outputLines,planPath:y.toolName==="ExitPlanMode"?o[y.toolCallId]?.path:void 0};m.tools.push(k),m.blocks.push({kind:"tool",tool:k}),g&&(m.approval=Kb(g),m.approvalId=g.approvalId)}else if(y.type==="toolResult"){const g=m.tools.findIndex(k=>k.id===y.toolCallId);if(g!==-1){const k=m.tools[g],T={...k,status:y.isError?"error":"ok",output:Ub(y.output),media:y.isError?void 0:Hb(k.name,y.output)};T.name==="ExitPlanMode"&&!T.planPath&&(T.planPath=nw(T.output)),m.tools[g]=T;const S=m.blocks.find(O=>O.kind==="tool"&&O.tool.id===y.toolCallId);S&&S.kind==="tool"&&(S.tool=T)}}}function x(m,_){for(const y of _){if(y.type!=="toolUse"||!y.outputLines?.length)continue;const g=m.tools.findIndex(O=>O.id===y.toolCallId);if(g===-1)continue;const k=m.tools[g];if(k.output!==void 0)continue;const T={...k,output:y.outputLines};m.tools[g]=T;const S=m.blocks.find(O=>O.kind==="tool"&&O.tool.id===y.toolCallId);S&&S.kind==="tool"&&(S.tool=T)}}function h(m){if(m.type==="image"||m.type==="video"){const _=m.type,y=m.source;if(y.kind==="url")return{url:y.url,kind:_};if(y.kind==="base64")return{url:`data:${y.mediaType};base64,${y.data}`,kind:_};if(y.kind==="file"&&n)return{url:n(y.fileId),kind:_,fileId:y.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?.[Ou];if(_!==void 0){Ir(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(tw(m)){v();const S=m.metadata?.[Ru];i.push({id:m.id,role:"compaction",no:u,text:m.content.filter(O=>O.type==="text").map(O=>O.text).join(`
-`),compaction:{trigger:S?.trigger,tokensBefore:S?.tokensBefore,tokensAfter:S?.tokensAfter}});continue}if(m.role==="user"){const S=Yb(m);if(v(),S!==void 0){i.push(Jb(m,u++,S));continue}if(!ew(m))continue;const O=m.metadata?.origin,D=O?.kind==="skill_activation"&&O?.trigger==="user-slash",E=O?.kind==="plugin_command"&&O?.trigger==="user-slash",B=[],q=[];for(const V of m.content){if(V.type==="text")if(D)B.push(O.skillArgs??"");else if(E)B.push(O.commandArgs??"");else{const P=Rb(V.text);if(P&&(P.kind==="video"||P.kind==="image")&&n){const oe=Db(P.path);if(oe){q.push({url:n(oe),kind:P.kind,fileId:oe});continue}}const L=Fb(V.text);if(L){q.push({kind:"file",url:L.fileId&&n?n(L.fileId):"",fileId:L.fileId,name:L.name,mediaType:L.mediaType,size:L.size});continue}const ne=Lb(V.text);if(ne!==V.text&&ne.trim().length===0)continue;B.push(ne)}const b=h(V);if(b){q.push({url:b.url,kind:b.kind,name:V.type==="file"?V.name:void 0,fileId:b.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:B.join(`
-`),attachments:q.length>0?q:void 0,skillActivation:D?{name:O.skillName??"",args:O.skillArgs}:void 0,pluginCommand:E?{pluginId:O.pluginId??"",commandName:O.commandName??"",args:O.commandArgs}:void 0,createdAt:m.createdAt});continue}if(m.role==="tool"){f&&w(f,m.content);continue}const y=m.promptId;Ir(f,y)?f!==null&&f.promptId===void 0&&y!==void 0&&(f.promptId=y):(v(),f={id:m.id,promptId:y,textParts:[],thinkingParts:[],tools:[],blocks:[],approval:void 0,approvalId:void 0,foldedSigs:[],durationMs:m.durationMs,createdAt:m.createdAt});const k=f;if(k===null)continue;const T=sw(m.content);if(k.promptId!==void 0&&k.foldedSigs.some(S=>ow(S,T))){x(k,m.content);continue}k.foldedSigs.push(T),w(k,m.content)}return v(!0),i}function iw(e,t){const{pushOperationFailure:n,nextOptimisticMsgId:s,connectEventsIfNeeded:o,getEventConn:i,resolveThinkingForPrompt:u}=t,p=I({}),f=$(()=>{const b=e.activeSessionId;if(!b)return null;const P=p.value[b];return P?{parentId:b,agentId:P.agentId}:null}),v=$(()=>f.value?.parentId??null),w=$(()=>f.value!==null),x=$(()=>{const b=f.value;return b?!!e.sideChatSendingByAgent[b.agentId]:!1}),h=$(()=>{const b=f.value;return b?e.sideChatSendingByAgent[b.agentId]?!0:(e.tasksBySession[b.parentId]??[]).some(P=>P.id===b.agentId&&P.status==="running"):!1}),m=$(()=>{const b=f.value;if(!b)return[];const P=e.sideChatMessagesByAgent[b.agentId]??[];return rc(P,[],L=>Te().getFileUrl(L),h.value)});function _(b,P){e.sideChatMessagesByAgent={...e.sideChatMessagesByAgent,[b]:P(e.sideChatMessagesByAgent[b]??[])}}function y(b,P){_(b,L=>[...L,P])}function g(b){_(b,P=>{const L=[...P].reverse().findIndex(oe=>oe.role==="user");if(L===-1)return P;const ne=P.length-1-L;return P.filter((oe,ge)=>ge!==ne)})}function k(b,P){_(b,L=>{const ne=[...L];for(let oe=ne.length-1;oe>=0;oe-=1){const ge=ne[oe];if(ge.role==="user")return ne[oe]={...ge,promptId:ge.promptId??P},ne}return L})}function T(b,P,L){L&&_(b,ne=>{const oe=ne.at(-1);if(oe?.role==="assistant"){const ge=oe.content[0],ce=ge?.type==="text"?ge.text:"";return[...ne.slice(0,-1),{...oe,content:[{type:"text",text:`${ce}${L}`}]}]}return[...ne,{id:s(),sessionId:P,role:"assistant",content:[{type:"text",text:L}],createdAt:new Date().toISOString()}]})}function S(b,P,L){if(e.sideChatSendingByAgent={...e.sideChatSendingByAgent,[b]:!1},!L)return;const oe=(e.sideChatMessagesByAgent[b]??[]).at(-1);(oe?.role==="assistant"&&oe.content[0]?.type==="text"?oe.content[0].text:"").trim().length>0||T(b,P,L)}async function O(b){const P=e.activeSessionId;P&&await D(P,b)}async function D(b,P){if(!p.value[b]){let L;try{({agentId:L}=await Te().startBtw(b))}catch(ne){n("openSideChat",ne,{sessionId:b});return}e.sideChatMessagesByAgent={...e.sideChatMessagesByAgent,[L]:e.sideChatMessagesByAgent[L]??[]},p.value={...p.value,[b]:{agentId:L}},o(),i()?.markSideChannelAgent(L)}P&&P.trim()&&await E(b,P.trim())}async function E(b,P){const L=p.value[b],ne=P.trim();if(!L||!ne)return;const oe=b,ge=L.agentId;e.sideChatSendingByAgent={...e.sideChatSendingByAgent,[ge]:!0};const ce={id:s(),sessionId:oe,role:"user",content:[{type:"text",text:ne}],createdAt:new Date().toISOString(),metadata:{"kimiWeb.optimisticUserMessage":!0}};y(ge,ce);try{const Q=e.sessions.find(ye=>ye.id===oe),ie=(Q?.model&&Q.model.length>0?Q.model:e.defaultModel)??void 0,te=await Te().submitPrompt(oe,{content:[{type:"text",text:ne}],agentId:ge,model:ie,thinking:await u(oe,ie)??e.thinking,permissionMode:e.permission,planMode:e.planModeBySession[oe]??!1,swarmMode:e.swarmModeBySession[oe]??!1,supermoonMode:e.supermoonModeBySession[oe]??!1});k(ge,te.promptId),e.sideChatUserMessageIdsBySession={...e.sideChatUserMessageIdsBySession,[oe]:[...e.sideChatUserMessageIdsBySession[oe]??[],te.userMessageId]}}catch(Q){n("sendSideChatPrompt",Q,{sessionId:oe}),g(ge),e.sideChatSendingByAgent={...e.sideChatSendingByAgent,[ge]:!1}}}function B(){const b=e.activeSessionId;if(!b)return;const{[b]:P,...L}=p.value;p.value=L}async function q(b){const P=f.value;P&&await E(P.parentId,b)}function V(b){if(!p.value[b])return;const{[b]:P,...L}=p.value;p.value=L}return{sideChatTargetBySession:p,sideChatSessionId:v,sideChatVisible:w,sideChatSending:x,sideChatRunning:h,sideChatTurns:m,appendSideChatAssistantText:T,finishSideChatAgent:S,openSideChat:O,openSideChatOn:D,closeSideChat:B,sendSideChatPrompt:q,clearSideChatForSession:V}}const aw="kimiWeb.optimisticUserMessage",lw=1e6,Ar="Sub Agent";function rw(){return{sessions:[],activeSessionId:void 0,messagesBySession:{},approvalsBySession:{},planReviewByToolCallId:{},questionsBySession:{},tasksBySession:{},goalBySession:{},goalVersionBySession:{},lastSeqBySession:{},turnActiveBySession:{},compactionBySession:{},warnings:[]}}function uw(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 cw(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 ga(e){return e.role==="user"&&e.metadata?.[aw]===!0}function dw(e){const t=e.metadata?.origin;return t?.kind==="cron_job"||t?.kind==="cron_missed"}function pw(e,t){return JSON.stringify(e.content)===JSON.stringify(t.content)}const fw=/^<(image|video|audio)\s+path="[^"]+"><\/\1>$/;function Tr(e){let t="",n=0;for(const s of e.content)s.type==="text"?fw.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 mw(e,t){const n=Tr(e),s=Tr(t);return n.text===s.text&&n.media===s.media}function vw(e,t){const n=t.promptId;if(n!==void 0)for(let s=e.length-1;s>=0;s--){const o=e[s];if(ga(o)&&o.promptId===n)return s}for(let s=e.length-1;s>=0;s--){const o=e[s];if(ga(o)&&pw(o,t))return s}for(let s=e.length-1;s>=0;s--){const o=e[s];if(ga(o)&&mw(o,t))return s}return-1}function hw(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 gw={"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"},yw=new Set(["provider.usage_limit"]);function kw(e){const t=pt.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?gw[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&&yw.has(e.code)?!0:void 0}}function bw(e,t,n){const s=uw(e);switch(cw(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"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(w=>w.id===v)){const w={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"},[Ru]:w}}]}}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"&&!dw(t.message)){const f=vw(u,t.message);if(f!==-1){const v=[...u],w=v[f];v[f]={...t.message,id:w.id,promptId:t.message.promptId??w.promptId,metadata:{...t.message.metadata,...w.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 w;return t.delta.text!==void 0?v.type==="text"?w={type:"text",text:v.text+t.delta.text}:w={type:"text",text:t.delta.text}:t.delta.thinking!==void 0?v.type==="thinking"?w={type:"thinking",thinking:v.thinking+t.delta.thinking,signature:v.signature}:w={type:"thinking",thinking:t.delta.thinking}:w=v,p[f]=w,{...u,content:p}});break}case"toolOutput":{const o=t.sessionId,i=s.messagesBySession[o]??[];s.messagesBySession[o]=hw(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===Ar&&f.description!==Ar?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,lw)};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,kw(o)];else if(o&&o._agentWarning){const i=o.message??o.code??"agent warning";s.warnings=[...s.warnings,`${pt.global.t("warnings.noteLabel")}: ${i}`]}else{const i=o?.type??"(unknown)";s.warnings=[...s.warnings,`Unhandled event: ${i}`]}break}}return s}function ww(e){return e==="in_progress"?"in_progress":e==="done"||e==="completed"?"done":"pending"}function Sw(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"||ho(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:ww(f.status)}]:[]})}}return[]}const Cw=["queued","working","suspended","completed","failed"];function uc(e){return e.status==="completed"?"completed":e.status==="failed"||e.status==="cancelled"?"failed":e.subagentPhase?e.subagentPhase:"working"}function _w(){return{queued:0,working:0,suspended:0,completed:0,failed:0}}function $w(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:uc(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=_w();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 Mw(e){let t=0,n=0;for(const s of e){n+=s.members.length;for(const o of Cw)(o==="completed"||o==="failed")&&(t+=s.counts[o])}return{done:t,total:n}}function xw(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:uc(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 xs=tc(),ps=L2(),Jo=q2(),$i=Qk(),cc=We.permission,dc=We.activeWorkspace,pc=We.planMode,fc=We.planArmed,mc=We.swarmMode,vc=We.supermoonMode,hc=We.goalMode,Pr=40401,gc=We.onboarded;ro(We.codeFont);ro(We.theme);ro(We.thinking);function Iw(){try{const e=It(cc);if(e==="auto"||e==="yolo"||e==="manual")return e}catch{}return"manual"}function Aw(e){try{Bt(cc,e)}catch{}}function qo(e){const t=It(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 oi(e,t){try{const n={};for(const[s,o]of Object.entries(t))o&&(n[s]=!0);Bt(e,JSON.stringify(n))}catch{}}function yc(){oi(pc,N.planModeBySession)}function kc(){oi(fc,N.planArmedBySession)}function bc(){oi(mc,N.swarmModeBySession)}function wc(){oi(vc,N.supermoonModeBySession)}function Sc(){oi(hc,N.goalModeBySession)}function Tw(){try{return It(dc)}catch{return null}}const Cc=We.hiddenWorkspaces;function Pw(){try{const e=It(Cc);if(!e)return[];const t=JSON.parse(e);return Array.isArray(t)?t.filter(n=>typeof n=="string"):[]}catch{return[]}}function Ew(e){try{Bt(Cc,JSON.stringify(e))}catch{}}function Lw(e){try{Bt(dc,e)}catch{}}function Bw(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 N=Bn({...rw(),connected:!1,serverVersion:"",dangerousBypassAuth:!1,backend:"v1",workspaceName:"kimi-web",connection:"disconnected",permission:Iw(),thinking:void 0,thinkingBySession:{},planModeBySession:qo(pc),planArmedBySession:qo(fc),swarmModeBySession:qo(mc),supermoonModeBySession:qo(vc),modeVersionBySession:{},supermoonPreviousEffortBySession:{},goalModeBySession:qo(hc),loading:!1,sessionLoading:!1,queuedBySession:{},gitStatusBySession:{},promptIdBySession:{},inFlightBySession:{},unreadBySession:ol(),authReady:!1,defaultModel:null,managedProviderStatus:null,workspaces:[],activeWorkspaceId:Tw(),fsHome:null,recentRoots:[],hiddenWorkspaceRoots:Pw(),availableOpenInApps:[],config:null,sideChatMessagesByAgent:{},sideChatSendingByAgent:{},sideChatUserMessageIdsBySession:{},messagesLoadingMoreBySession:{},messagesHasMoreBySession:{},messagesLoadMoreErrorBySession:{},sessionsHasMoreByWorkspace:{},sessionsLoadingMoreByWorkspace:{},sessionsCursorByWorkspace:{},sessionsInitialCountByWorkspace:{},sessionsFullyLoaded:!1}),Do=Bn({planMode:!1,planArmed:!1,swarmMode:!1,supermoonMode:!1,goalMode:!1,planModeTouched:!1});function _c(e){N.sessions=e}function Yi(e,t){N.sessions=N.sessions.map(n=>n.id===e?t(n):n)}function Rw(e){N.sessions=[e,...N.sessions.filter(t=>t.id!==e.id)]}function Ow(e){N.sessions=[...N.sessions,e]}function Dw(e){N.sessions=N.sessions.filter(t=>t.id!==e)}function $c(){const e=N.activeSessionId;e&&N.unreadBySession[e]&&typeof document<"u"&&document.visibilityState==="visible"&&(N.unreadBySession={...N.unreadBySession,[e]:!1},il({[e]:!1}))}typeof window<"u"&&window.addEventListener("storage",e=>{e.key===We.unread&&(N.unreadBySession=ol(),$c())});function ja(){if(xn===null||!xn.health().stale)return;Yt("ws:stale-reconnect",{sessionId:N.activeSessionId,status:"stale"}),As("ws: stale socket on focus, reconnecting",{activeSessionId:N.activeSessionId}),xn.reconnect();const e=N.activeSessionId;e&&zi.request(e)}typeof document<"u"&&document.addEventListener("visibilitychange",()=>{document.visibilityState==="visible"&&($c(),ja())});typeof window<"u"&&(window.addEventListener("focus",ja),window.addEventListener("online",ja));function $l(e){N.activeSessionId=e}function zw(e){N.messagesBySession=e}function Fw(e,t){N.messagesBySession={...N.messagesBySession,[e]:t}}function Mc(e,t){N.messagesBySession={...N.messagesBySession,[e]:t(N.messagesBySession[e]??[])}}function Nw(e){const{[e]:t,...n}=N.messagesBySession;N.messagesBySession=n}function xc(e){xn?.unsubscribe(e),c4(e),Oi.discard(({meta:t})=>t.sessionId===e),Dw(e),Nw(e),delete N.approvalsBySession[e],delete N.questionsBySession[e],delete N.tasksBySession[e],delete N.goalBySession[e],delete N.gitStatusBySession[e],delete N.lastSeqBySession[e],delete N.compactionBySession[e],delete N.messagesLoadingMoreBySession[e],delete N.messagesHasMoreBySession[e],delete N.messagesLoadMoreErrorBySession[e],delete Ka[e],Di.delete(e),Mi.delete(e),Fc.delete(e),gb(e),delete N.queuedBySession[e],delete N.promptIdBySession[e],delete N.inFlightBySession[e],delete N.turnActiveBySession[e],delete N.planModeBySession[e],delete N.planArmedBySession[e],delete N.swarmModeBySession[e],delete N.supermoonModeBySession[e],delete N.modeVersionBySession[e],delete N.supermoonPreviousEffortBySession[e],delete N.goalModeBySession[e],delete N.thinkingBySession[e],yc(),kc(),bc(),wc(),Sc()}const Ic=I(null),Ac=I([]),Tc=I(!1),Pc=I(!1),Ec=I(null);async function ii(e){const t=N.modeVersionBySession[e]??0;let n;try{n=await Te().getSessionStatus(e)}catch{return}Yi(e,s=>({...s,model:n.model||s.model,usage:{...s.usage,contextTokens:n.contextTokens,contextLimit:n.maxContextTokens}})),Uk(N,e,t)&&(N.swarmModeBySession={...N.swarmModeBySession,[e]:n.swarmMode},N.planModeBySession={...N.planModeBySession,[e]:n.planMode},N.supermoonModeBySession={...N.supermoonModeBySession,[e]:n.supermoonMode}),n.thinkingEffort.length>0&&(N.thinkingBySession={...N.thinkingBySession,[e]:n.thinkingEffort})}async function qw(e){const t=N.goalVersionBySession[e]??0;let n;try{n=await Te().getSessionGoal(e)}catch{return}if((N.goalVersionBySession[e]??0)!==t)return;const s={...N.goalBySession};n===null||n.status==="complete"?delete s[e]:s[e]=n,N.goalBySession=s}function Lc(e,t){const n=t??N.activeSessionId;return n?Promise.resolve(Te().updateSession(n,e)).then(()=>ii(n)).then(()=>!0).catch(s=>(ai("persistSessionProfile",s,{sessionId:n}),!1)):Promise.resolve(!1)}const Bc=We.conversationToc;function Ww(){try{const e=It(Bc);return e===null?!0:e==="true"}catch{return!0}}function Hw(e){try{Bt(Bc,e?"true":"false")}catch{}}const Rc=I(Ww());function Uw(e){Rc.value=e,Hw(e)}function Vw(e){try{return It(e)??""}catch{return""}}const Oc=I(Vw(gc)==="1");function jw(e){Oc.value=e;try{Bt(gc,e?"1":"0")}catch{}}let xn=null,Er=0;function Dc(){return Er+=1,`msg_opt_${Date.now().toString(36)}_${Er}`}function Kw(e,t,n){const s={sessions:N.sessions,activeSessionId:N.activeSessionId,messagesBySession:N.messagesBySession,approvalsBySession:N.approvalsBySession,planReviewByToolCallId:N.planReviewByToolCallId,questionsBySession:N.questionsBySession,tasksBySession:N.tasksBySession,goalBySession:N.goalBySession,goalVersionBySession:N.goalVersionBySession,lastSeqBySession:N.lastSeqBySession,turnActiveBySession:N.turnActiveBySession,compactionBySession:N.compactionBySession,config:N.config,warnings:N.warnings},o=bw(s,e,{sessionId:t,seq:n});if(_c(o.sessions),$l(o.activeSessionId),zw(o.messagesBySession),N.approvalsBySession=o.approvalsBySession,N.planReviewByToolCallId=o.planReviewByToolCallId,N.questionsBySession=o.questionsBySession,N.tasksBySession=o.tasksBySession,N.goalBySession=o.goalBySession,N.goalVersionBySession=o.goalVersionBySession,N.lastSeqBySession=o.lastSeqBySession,N.turnActiveBySession=o.turnActiveBySession,N.compactionBySession=o.compactionBySession,N.config=o.config??null,N.warnings=o.warnings,e.type==="configChanged"&&(N.defaultModel=e.config.defaultModel??null),e.type==="modelCatalogChanged"&&(vt.loadModels(),vt.loadProviders()),e.type==="sessionUsageUpdated"){if(e.swarmMode!==void 0&&(N.swarmModeBySession={...N.swarmModeBySession,[e.sessionId]:e.swarmMode}),e.planMode!==void 0&&(N.planModeBySession={...N.planModeBySession,[e.sessionId]:e.planMode}),e.supermoonMode!==void 0){const i=N.supermoonModeBySession[e.sessionId]??!1;N.supermoonModeBySession={...N.supermoonModeBySession,[e.sessionId]:e.supermoonMode},e.supermoonMode&&!i?Le.pinSupermoonEffort(e.sessionId):!e.supermoonMode&&i&&Le.restoreSupermoonEffort(e.sessionId)}e.thinking!==void 0&&(N.thinkingBySession={...N.thinkingBySession,[e.sessionId]:e.thinking}),(e.planMode!==void 0||e.swarmMode!==void 0||e.supermoonMode!==void 0)&&cs(N,e.sessionId)}}function Gw(e,t){const n=N.lastSeqBySession[t.sessionId]??0,s=N.turnActiveBySession[t.sessionId]??!1;Kw(e,t.sessionId,t.seq);const o=$n.sideChatTargetBySession.value[t.sessionId];if(o){const{agentId:i}=o,u=t.sessionId;e.type==="agentDelta"&&e.agentId===i?e.delta.text&&$n.appendSideChatAssistantText(i,u,e.delta.text):e.type==="agentTurnEnded"&&e.agentId===i?$n.finishSideChatAgent(i,u):e.type==="taskProgress"&&e.taskId===i?$n.appendSideChatAssistantText(i,u,e.outputChunk):e.type==="taskCompleted"&&e.taskId===i&&$n.finishSideChatAgent(i,u,e.outputPreview)}if(e.type==="messageCreated"&&e.message.role==="user"&&e.message.promptId!==void 0){const i=e.message.sessionId;N.promptIdBySession[i]!==e.message.promptId&&(N.promptIdBySession={...N.promptIdBySession,[i]:e.message.promptId})}if(e.type==="assistantDelta"&&t.sessionId===N.activeSessionId&&xs.recordMoonDelta((e.delta.text?.length??0)+(e.delta.thinking?.length??0)),e.type==="turnActiveChanged"&&!e.active&&t.seq>n){const i=e.reason;wS(e.sessionId,i==="cancelled"||i==="failed"||i==="blocked"?"aborted":"idle",s)}e.type==="sessionWorkChanged"&&(e.mainTurnActive===!1&&s||e.mainTurnActive===void 0&&!e.busy)&&t.seq>n&&bS(e.sessionId),(e.type==="promptAborted"||e.type==="promptCompleted"&&e.reason==="blocked")&&t.seq>n&&N.promptIdBySession[e.sessionId]===e.promptId&&Le.finishPromptLocal(e.sessionId),e.type==="questionRequested"&&SS(e.sessionId,e.question),e.type==="approvalRequested"&&CS(e.sessionId,e.approval)}const Oi=t2(({appEvent:e,meta:t})=>Gw(e,t),({appEvent:e})=>Zk(e),{coalesce:s2});function zc(){if(xn!==null||typeof WebSocket>"u")return;Yt("ws:connection",{status:"connecting"}),N.connection="connecting",xn=Te().connectEvents({onEvent(t,n){if(t.type==="workspaceCreated"||t.type==="workspaceUpdated"||t.type==="workspaceDeleted"){Le.applyWorkspaceEvent(t);return}if(t.type==="pluginsChanged"||t.type==="capabilityChanged"){Rk(t);return}for(const s of n2({appEvent:t,meta:n}))Oi(s)},onResync(t,n,s){Yt("ws:resync",{sessionId:t,status:"required",seq:n}),Oi.flush(),Di.add(t),zi.request(t)},onError(t,n,s){Yt("ws:error",{status:"failed",errorCode:t,fatal:s}),Ml({severity:"error",title:pt.global.t("warnings.wsTitle"),message:n,details:[Et("message",n)].filter(o=>o!==void 0)})},onConnectionChange(t){Yt("ws:connection",{status:t?"connected":"disconnected"}),N.connected=t,N.connection=t?"connected":"disconnected",t&&(n4(),Le.refreshServerMeta())},onTerminalOutput(t,n,s,o){$i.handleOutput(t,n,s,o)},onTerminalExit(t,n,s){$i.handleExit(t,n,s)}}),$i.bindTransport(xn)}const Ka={},Di=new Set,Mi=new Set,Fc=new Set;function Qw(e){return Mn(e)&&e.code===Pr?!0:typeof e=="object"&&e!==null&&e.code===Pr}function Et(e,t){if(!(t==null||t===""))return{label:pt.global.t(`warnings.details.${e}`),value:Nc(t)}}function Nc(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 Yw(e){return e instanceof Error||typeof e=="object"&&e!==null&&typeof e.name=="string"?e.name:void 0}function Zw(e){return e instanceof Error||typeof e=="object"&&e!==null&&typeof e.message=="string"?e.message:void 0}function Xw(e){return e instanceof Error&&typeof e.stack=="string"&&e.stack?e.stack:void 0}function Jw(e){if(!(typeof e!="number"||!Number.isFinite(e)))return new Date(e).toISOString()}function Lr(e){if(!(typeof e!="number"||!Number.isFinite(e)))return`${Math.round(e)}ms`}function e4(e,t,n){const s=rl(t),o=Mn(t),i=s||o?t.timestamp:void 0,u=s||o?t.durationMs:void 0,p=[Et("operation",e),Et("sessionId",n??N.activeSessionId),Et("connection",N.connection),Et("timestamp",Jw(i??Date.now()))];return s?p.push(Et("duration",Lr(u)),Et("request",`${t.method} ${t.path}`),Et("endpoint",t.url),Et("requestId",t.requestId),Et("phase",t.phase),Et("timeout",`${t.timeoutMs}ms`),Et("status",t.status===void 0?void 0:`${t.status} ${t.statusText??""}`.trim()),Et("contentType",t.contentType),Et("responsePreview",t.bodyPreview),Et("cause",t.cause)):o?p.push(Et("duration",Lr(u)),Et("code",t.code),Et("requestId",t.requestId),Et("message",t.message),Et("details",t.details)):p.push(Et("errorName",Yw(t)),Et("message",Zw(t)??Nc(t)),Et("stack",Xw(t))),p.filter(f=>f!==void 0)}function t4(e,t,n={}){const s=rl(t),o=Mn(t),i=Qu(t),u=n.title??(i?pt.global.t("warnings.daemonTimeoutTitle"):s?pt.global.t("warnings.daemonNetworkTitle"):o?pt.global.t("warnings.daemonApiTitle"):pt.global.t("warnings.operationFailedTitle")),p=n.message??(i?pt.global.t("warnings.daemonTimeoutMessage"):s?pt.global.t("warnings.daemonNetworkMessage"):o?t.message:pt.global.t("warnings.operationFailedMessage"));return{severity:"error",title:u,message:p,details:e4(e,t,n.sessionId)}}function Ml(e){N.warnings=[...N.warnings,e].slice(-50)}function n4(){const e=pt.global.t("warnings.wsTitle"),t=N.warnings.filter(n=>!(typeof n=="object"&&n!==null&&n.severity==="error"&&n.title===e));t.length!==N.warnings.length&&(N.warnings=t)}function ai(e,t,n){console.error(`[kimi-web] operation failed: ${e}`,t);const s=Mn(t),o=rl(t);Yt("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:Qu(t)}),Ml(t4(e,t,n))}const s4={40913:"warnings.goal.alreadyExists",40914:"warnings.goal.notFound",40915:"warnings.goal.statusInvalid",40916:"warnings.goal.notResumable",40918:"warnings.goal.objectiveTooLong"};function o4(e){if(!Mn(e))return;const t=s4[e.code];return t?pt.global.t(t):void 0}async function i4(e){if(xc(e),N.activeSessionId!==e)return;const t=N.sessions[0];t?await Le.selectSession(t.id,{urlMode:"replace"}):($l(void 0),N.sessionLoading=!1,Le.writeSessionUrl(void 0,"replace"))}const Br=new Set;async function a4(e){if(!Br.has(e)){Br.add(e);try{const t=await Te().getSessionWarnings(e),n=pt.global.t("warnings.noteLabel");for(const s of t)Ml(`${n}: ${s.message}`)}catch{}}}async function xl(e){const t=Le.localTurnStartState(e);try{const s=await Te().getSessionSnapshot(e);if(!N.sessions.some(f=>f.id===e))return"ok";Oi.flush();const o=N.lastSeqBySession[e]??0,i=Ka[e];if(!(Di.has(e)||Fi.has(e))&&i!==void 0&&i===s.epoch&&o>s.asOfSeq)return Mi.delete(e)||(Mi.add(e),zi.request(e)),"ok";if(!Le.isLocalTurnSnapshotCurrent(e,t))return Le.afterLocalTurnStartsSettle(e,()=>{zi.request(e)}),"ok";const p=Pa(s.session.usage);Yi(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})),Fw(e,Vk(N.messagesBySession[e]??[],s.messages)),N.tasksBySession={...N.tasksBySession,[e]:jk(s.subagents,N.tasksBySession[e]??[])},N.messagesHasMoreBySession={...N.messagesHasMoreBySession,[e]:s.hasMoreMessages},N.approvalsBySession={...N.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&&(N.planReviewByToolCallId={...N.planReviewByToolCallId,[f.toolCallId]:{plan:v.plan,path:typeof v.path=="string"?v.path:void 0}})}N.questionsBySession={...N.questionsBySession,[e]:s.pendingQuestions},N.lastSeqBySession={...N.lastSeqBySession,[e]:s.asOfSeq},Ka[e]=s.epoch,Di.delete(e),Mi.delete(e),Le.handleSessionSnapshot(e,{inFlightTurn:s.inFlightTurn,busy:s.session.busy});{const f={...N.turnActiveBySession};s.session.mainTurnActive??(s.inFlightTurn!==null&&s.session.busy)?f[e]=!0:delete f[e],N.turnActiveBySession=f}return zc(),xn&&(xn.seedSnapshot(e,s),xn.subscribe(e,{seq:s.asOfSeq,epoch:s.epoch}),u4(e)),Fi.delete(e),p&&ii(e),a4(e),"ok"}catch(n){return Qw(n)?(await i4(e),"not-found"):(ai("getSessionSnapshot",n,{title:pt.global.t("warnings.sessionSnapshotTitle"),message:pt.global.t("warnings.sessionSnapshotMessage"),sessionId:e}),"failed")}}const zi=Kk(xl);function l4(e){return Object.prototype.hasOwnProperty.call(N.messagesBySession,e)}const r4=4,Is=[],Fi=new Set;function u4(e){const t=Is.indexOf(e);for(t!==-1&&Is.splice(t,1),Is.unshift(e);Is.length>r4;){let n=-1;for(let o=Is.length-1;o>=0;o--)if(Is[o]!==N.activeSessionId){n=o;break}if(n===-1)break;const[s]=Is.splice(n,1);if(s===void 0)break;xn?.unsubscribe(s),Fi.add(s)}}function c4(e){const t=Is.indexOf(e);t!==-1&&Is.splice(t,1),Fi.delete(e)}async function d4(e){return xl(e)}function Il(e,t){return(N.inFlightBySession[e]??!1)||(N.turnActiveBySession[e]??!1)||(t??N.sessions.find(n=>n.id===e)?.mainTurnActive??!1)}function Al(e){try{const t=new Date(e),s=Date.now()-t.getTime(),o=s/36e5;if(s<6e4)return pt.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 p4=3e4,ei=I(0);let ya=null;function f4(){ya===null&&(ya=setInterval(()=>{ei.value=(ei.value+1)%Number.MAX_SAFE_INTEGER},p4),ya.unref?.())}function m4(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 v4(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:m4(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 w=typeof f.description=="string"?f.description:void 0;return{label:v,description:w}}).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 h4(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 g4(e){const t=N.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 y4(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=pt.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=pt.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??g4(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 k4=$(()=>{const e=N.sessions.find(n=>n.id===N.activeSessionId),t=e?e.cwd.split("/").pop()??e.cwd:"main";return{name:N.workspaceName,branch:t}}),b4=$(()=>(ei.value,N.sessions.toSorted((e,t)=>new Date(t.updatedAt).getTime()-new Date(e.updatedAt).getTime()).map(e=>({id:e.id,title:e.title,time:Al(e.updatedAt),busy:Il(e.id,e.mainTurnActive),pendingInteraction:e.pendingInteraction,lastTurnReason:e.lastTurnReason})))),w4=$(()=>N.activeSessionId??""),S4=$(()=>{const e=N.activeSessionId;if(e)return vt.skillsBySession.value[e]??[];const t=Xi.value;return t?vt.skillsByWorkspace.value[t]??[]:[]}),Tl=$(()=>{const e=N.activeSessionId;return e?N.inFlightBySession[e]??!1:!1}),C4=$(()=>Le.isStartingFirstPrompt()),$n=iw(N,{pushOperationFailure:ai,nextOptimisticMsgId:Dc,connectEventsIfNeeded:zc,getEventConn:()=>xn,resolveThinkingForPrompt:(e,t)=>vt.resolveThinkingForPrompt(e,t)}),li=$(()=>{const e=N.activeSessionId;if(!e)return[];const t=$n.sideChatTargetBySession.value[e]?.agentId;return(N.tasksBySession[e]??[]).filter(n=>n.id!==t)}),qc=U2(N,li),_4=$(()=>{const e=N.activeSessionId;if(!e)return[];const t=new Set(N.sideChatUserMessageIdsBySession[e]??[]),n=(N.messagesBySession[e]??[]).filter(o=>!t.has(o.id)),s=N.approvalsBySession[e]??[];return rc(n,s,o=>Te().getFileUrl(o),Zi.value,N.planReviewByToolCallId)}),Zi=$(()=>{const e=N.activeSessionId;return e?(N.turnActiveBySession[e]??!1)||(N.sessions.find(t=>t.id===e)?.mainTurnActive??!1):!1}),$4=$(()=>Tl.value||Zi.value),M4=I(null),x4=$(()=>(qc.taskClock.value,li.value.map(y4))),Wc=$(()=>$w(li.value)),I4=$(()=>xw(li.value)),$o=$(()=>{const e=N.activeSessionId;return e?N.goalBySession[e]??null:null}),A4=$(()=>{const e=N.activeSessionId;return e?Sw(N.messagesBySession[e]??[]):[]}),T4=$(()=>{const e=N.activeSessionId;return e?N.compactionBySession[e]??null:null}),P4=$(()=>N.connection),E4=$(()=>N.loading),L4=$(()=>N.sessionLoading),B4=$(()=>{const e=N.activeSessionId;return e?N.messagesLoadingMoreBySession[e]??!1:!1}),R4=$(()=>{const e=N.activeSessionId;return e?N.messagesHasMoreBySession[e]??!1:!1}),O4=$(()=>{const e=N.activeSessionId;return e?N.messagesLoadMoreErrorBySession[e]??!1:!1}),D4=$(()=>N.serverVersion),Hc=$(()=>N.backend),z4=$(()=>N.dangerousBypassAuth);Oe(Hc,e=>{xn!==null&&xn.setTranscriptMode(e==="v2")},{immediate:!0});function F4(){N.dangerousBypassAuth=!1}const N4=$(()=>N.permission),q4=$(()=>N.thinking),Uc=$(()=>{const e=N.activeSessionId;return e?N.planModeBySession[e]??!1:Do.planMode}),W4=$(()=>{const e=N.activeSessionId;return e?N.planArmedBySession[e]??!1:Do.planArmed}),H4=$(()=>{const e=N.activeSessionId;return e?N.swarmModeBySession[e]??!1:Do.swarmMode}),U4=$(()=>{const e=N.activeSessionId;return e?N.supermoonModeBySession[e]??!1:Do.supermoonMode}),V4=$(()=>{const e=N.activeSessionId;return e?N.goalModeBySession[e]??!1:Do.goalMode}),j4=$(()=>{const e=Mw(Wc.value);return{plan:Uc.value,goal:$o.value&&$o.value.status!=="complete"?{status:$o.value.status,turnsUsed:$o.value.turnsUsed,elapsedMs:$o.value.wallClockMs}:null,swarm:e.total>0?e:null}}),K4=$(()=>{const e=N.activeSessionId;if(!e)return[];const t=Te();return(N.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}))}))}),G4=$(()=>N.warnings),Q4=$(()=>{const e=N.activeSessionId;return e?(N.questionsBySession[e]??[]).map(h4):[]}),Y4=$(()=>{const e=N.activeSessionId;return e?(N.approvalsBySession[e]??[]).map(t=>({approvalId:t.approvalId,block:v4(t),agentName:t.agentName})):[]}),Pl=$(()=>{const e=N.activeSessionId;return e?(N.approvalsBySession[e]??[]).length>0?"awaiting-approval":(N.questionsBySession[e]??[]).length>0?"awaiting-question":Tl.value||Zi.value?"running":"idle":"idle"}),vt=Cb(N,{pushOperationFailure:ai,refreshSessionStatus:ii,persistSessionProfile:Lc,activity:Pl,updateSession:Yi,updateSessionMessages:Mc}),Ga=$(()=>{const e=N.activeSessionId;if(!e)return null;const t=N.gitStatusBySession[e];return t?{branch:t.branch,ahead:t.ahead,behind:t.behind}:null}),Z4=$(()=>{const e=N.activeSessionId;return e?N.gitStatusBySession[e]?.pullRequest??null:null}),X4=$(()=>{const e=N.activeSessionId;if(!e)return[];const t=N.gitStatusBySession[e];return t?Object.entries(t.entries).map(([n,s])=>({path:n,status:s})).sort((n,s)=>n.path.localeCompare(s.path)):[]}),J4=$(()=>{const e=N.activeSessionId;if(!e)return null;const t=N.gitStatusBySession[e];return t?{totalAdditions:t.additions,totalDeletions:t.deletions}:null}),Vc=$(()=>{const e=N.sessions.find(u=>u.id===N.activeSessionId),t=Ga.value?.branch??(e?e.cwd.split("/").pop()??e.cwd:"main"),n=e===void 0?vt.draftModel.value:null,s=(e?.model&&e.model.length>0?e.model:n??N.defaultModel)??"—",o=vt.models.value.find(u=>u.id===s)??vt.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:N.permission,branch:t,cwd:e?.cwd??"",isGitRepo:Ga.value!==null}}),eS=$(()=>Ac.value),tS=$(()=>N.sessions.find(t=>t.id===N.activeSessionId)?.usage.totalCostUsd??0),nS=$(()=>N.authReady),sS=$(()=>N.defaultModel),oS=$(()=>N.managedProviderStatus),iS=$(()=>N.config),aS=$(()=>{const e=N.activeSessionId;if(!e)return{};const t=N.gitStatusBySession[e];return t?{...t.entries}:{}});function Lo(e){const t=es(e.cwd);return N.workspaces.find(n=>es(n.root)===t)?.id??e.workspaceId??e.cwd}const ti=$(()=>Hk({workspaces:N.workspaces,sessions:N.sessions,hiddenWorkspaceRoots:N.hiddenWorkspaceRoots,sessionsHasMoreByWorkspace:N.sessionsHasMoreByWorkspace})),Ni=I(jd()),Bo=I(Kd()==="manual"?"manual":"recent"),Po=I(Gd());Oe(()=>N.sessions,e=>{const t=kp(e,Lo),{next:n,changed:s}=bp(Po.value,t);s&&(Po.value=n,Su(n))});const qi=I(rp()),Qa=I(ig());function lS(e){const t=cp(qi.value,e);qi.value=t,up(t)}function rS(e,t){const n=lg(Qa.value,e,t);Qa.value=n,ag(n)}Oe(()=>[ti.value.map(e=>e.id).join("\0"),N.loading],([e,t])=>{if(t)return;const n=e?e.split("\0"):[],s=$u(ti.value,Po.value),o=vp(n,Ni.value,s);o!==null&&(Ni.value=o,bu(o));const{next:i,changed:u}=wp(Po.value,new Set(n));u&&(Po.value=i,Su(i))});const po=$(()=>{const e=ti.value.map(t=>({id:t.id,name:t.name,root:t.root,shortPath:Bw(t.root,N.fsHome),sessionCount:t.sessionCount}));if(Bo.value==="recent"){const t=$u(ti.value,Po.value);return yp(e,t)}return hp(e,Ni.value)}),Xi=$(()=>{const e=N.activeWorkspaceId,t=po.value;return e&&t.some(n=>n.id===e)?e:t[0]?.id??null});Oe(Xi,e=>{e&&(Object.prototype.hasOwnProperty.call(vt.skillsByWorkspace.value,e)||vt.loadSkillsForWorkspace(e))},{immediate:!0});const uS=$(()=>{const e=Xi.value;return e?po.value.find(t=>t.id===e)??null:null});function jc(e){return!e||e.state!=="open"&&e.state!=="closed"&&e.state!=="merged"?null:{number:e.number,state:e.state,url:e.url}}const cS=$(()=>{ei.value;const e=new Set(po.value.map(n=>n.id)),t=new Map(po.value.map(n=>[n.id,n.name]));return N.sessions.filter(n=>!n.parentSessionId&&e.has(Lo(n))).map(n=>{const s=Lo(n);return{id:n.id,title:n.title,time:Al(n.updatedAt),busy:Il(n.id,n.mainTurnActive),pendingInteraction:n.pendingInteraction,lastTurnReason:n.lastTurnReason,lastPrompt:n.lastPrompt,workspaceId:s,workspaceName:t.get(s),pullRequest:jc(N.gitStatusBySession[n.id]?.pullRequest)}})}),dS=$(()=>{ei.value;const e=new Map;for(const t of N.sessions.toSorted((n,s)=>new Date(s.updatedAt).getTime()-new Date(n.updatedAt).getTime())){if(t.parentSessionId)continue;const n=Lo(t),s={id:t.id,title:t.title,time:Al(t.updatedAt),busy:Il(t.id,t.mainTurnActive),pendingInteraction:t.pendingInteraction,lastTurnReason:t.lastTurnReason,updatedAt:t.updatedAt,pullRequest:jc(N.gitStatusBySession[t.id]?.pullRequest)},o=e.get(n)??[];o.push(s),e.set(n,o)}return po.value.map(t=>({workspace:t,sessions:_u(e.get(t.id)??[],qi.value),hasMore:N.sessionsHasMoreByWorkspace[t.id]??!1,loadingMore:N.sessionsLoadingMoreByWorkspace[t.id]??!1,initialCount:N.sessionsInitialCountByWorkspace[t.id]??Ha}))});function pS(e){Ni.value=e,bu(e),Bo.value!=="manual"&&(Bo.value="manual",wu("manual"))}function fS(e){Bo.value!==e&&(Bo.value=e,wu(e))}const Kc=$(()=>{const e={};for(const[t,n]of Object.entries(N.approvalsBySession))n.length>0&&(e[t]=(e[t]??0)+n.length);for(const[t,n]of Object.entries(N.questionsBySession))n.length>0&&(e[t]=(e[t]??0)+n.length);return e}),mS=$(()=>{const e={};for(const[t,n]of Object.entries(N.approvalsBySession))n.length>0&&((e[t]??={approvals:0,questions:0}).approvals=n.length);for(const[t,n]of Object.entries(N.questionsBySession))n.length>0&&((e[t]??={approvals:0,questions:0}).questions=n.length);return e}),vS=$(()=>{const e={};for(const[t,n]of Object.entries(N.unreadBySession))n&&(e[t]=!0);return e}),hS=$(()=>{const e={},t=Kc.value;for(const n of N.sessions){const s=t[n.id]??0;if(s<=0)continue;const o=Lo(n);e[o]=(e[o]??0)+s}return e}),gS=$(()=>N.recentRoots),yS=$(()=>N.availableOpenInApps),Le=bb(N,{taskPoller:qc,sideChat:$n,modelProvider:vt,pushOperationFailure:ai,activity:Pl,sessionsKnownEmpty:Fc,setSessions:_c,updateSession:Yi,upsertSessionFront:Rw,appendSession:Ow,forgetSession:xc,setActiveSessionId:$l,updateSessionMessages:Mc,nextOptimisticMsgId:Dc,getEventConn:()=>xn,syncSessionFromSnapshot:xl,reopenSession:d4,hasLoadedMessages:l4,refreshSessionStatus:ii,refreshSessionGoal:qw,persistSessionProfile:Lc,mergedWorkspaces:ti,workspacesView:po,status:Vc,workspaceIdForSession:Lo,savePermissionToStorage:Aw,savePlanModeToStorage:yc,savePlanArmedToStorage:kc,saveSwarmModeToStorage:bc,saveSupermoonModeToStorage:wc,saveGoalModeToStorage:Sc,draftModes:Do,saveUnread:il,saveActiveWorkspaceToStorage:Lw,saveHiddenWorkspacesToStorage:Ew,goalErrorMessage:o4,resetFastMoon:xs.resetFastMoon,initialized:Pc,connectIssue:Ec,selectedDiffPath:Ic,fileDiffLines:Ac,fileDiffLoading:Tc});function El(e){return e===N.activeSessionId&&typeof document<"u"&&document.visibilityState==="visible"&&document.hasFocus()}const ka=new Map;function kS(e){const t=ka.get(e);Dk(t)&&(ka.set(e,zk(t)),Te().generateSessionTitle(e,{source:"first_turn"}).then(n=>{n!==null&&ka.set(e,Fk())}).catch(()=>{}))}function bS(e){if(N.turnActiveBySession[e]){const t={...N.turnActiveBySession};delete t[e],N.turnActiveBySession=t}N.inFlightBySession[e]&&(N.inFlightBySession={...N.inFlightBySession,[e]:!1})}function wS(e,t,n){const s=N.promptIdBySession[e];Le.finishPromptLocal(e,{turnWasActive:n}),N.config?.experimental?.auto_session_title===!0&&kS(e),Le.loadGitStatus(e),e===N.activeSessionId?ii(e):t==="idle"&&(N.unreadBySession={...N.unreadBySession,[e]:!0},il({[e]:!0}));const o=(N.approvalsBySession[e]??[]).length>0,i=(N.questionsBySession[e]??[]).length>0;S2(t,o,i)&&ps.maybeNotifyCompletion(e,{isUserWatching:El(e),sessionTitle:N.sessions.find(u=>u.id===e)?.title??"",promptId:s,onClick:()=>{Le.selectSession(e)}}),t==="idle"&&Jo.maybePlayCompletionSound()}function SS(e,t){const n=t.questions[0],s=n?.header?.trim()??"",o=n?.question?.trim()??"",i=s&&o?`${s}: ${o}`:o||s;ps.maybeNotifyQuestion({isUserWatching:El(e),sessionTitle:N.sessions.find(u=>u.id===e)?.title??"",questionPreview:i,questionId:t.questionId,onClick:()=>{Le.selectSession(e)}}),Jo.maybePlayQuestionSound()}function CS(e,t){ps.maybeNotifyApproval({isUserWatching:El(e),sessionTitle:N.sessions.find(n=>n.id===e)?.title??"",toolName:t.toolName,approvalId:t.approvalId,onClick:()=>{Le.selectSession(e)}}),Jo.maybePlayApprovalSound()}function Ji(){return f4(),{workspace:k4,sessions:b4,activeSessionId:w4,workspacesView:po,workspaceSortMode:Bo,visibleWorkspace:uS,activeWorkspaceId:Xi,sessionsForView:cS,workspaceGroups:dS,attentionBySession:Kc,pendingBySession:mS,attentionByWorkspace:hS,unreadBySession:vS,pinnedSessionIds:qi,sessionEmojiBySession:Qa,recentRoots:gS,turns:_4,tasks:x4,activeAppTasks:li,todos:A4,goal:$o,swarms:Wc,swarmMembersByToolCallId:I4,activationBadges:j4,compaction:T4,status:Vc,sessionCost:tS,fileDiff:eS,selectedDiffPath:Ic,fileDiffLoading:Tc,changes:X4,gitInfo:Ga,gitDiffStats:J4,activePullRequest:Z4,changesByPath:aS,pendingApprovals:Y4,availableOpenInApps:yS,connection:P4,loading:E4,sessionLoading:L4,loadingMoreMessages:B4,hasMoreMessages:R4,loadMoreMessagesError:O4,serverVersion:D4,backend:Hc,dangerousBypassAuth:z4,clearDangerousBypassAuth:F4,initialized:Pc,connectIssue:Ec,permission:N4,thinking:q4,planMode:Uc,planArmed:W4,swarmMode:H4,supermoonMode:U4,goalMode:V4,queued:K4,warnings:G4,questions:Q4,activity:Pl,turnActive:Zi,inFlight:Tl,working:$4,modelRetry:M4,isStartingFirstPrompt:C4,fastMoon:xs.fastMoon,models:vt.models,starredModelIds:vt.starredModelIds,providers:vt.providers,uiFontSize:xs.uiFontSize,setUiFontSize:xs.setUiFontSize,conversationToc:Rc,setConversationToc:Uw,colorScheme:xs.colorScheme,setColorScheme:xs.setColorScheme,accent:xs.accent,setAccent:xs.setAccent,notifyOnComplete:ps.notifyOnComplete,notifyOnQuestion:ps.notifyOnQuestion,notifyOnApproval:ps.notifyOnApproval,notifyPermission:ps.notifyPermission,setNotifyOnComplete:ps.setNotifyOnComplete,setNotifyOnQuestion:ps.setNotifyOnQuestion,setNotifyOnApproval:ps.setNotifyOnApproval,soundOnComplete:Jo.soundOnComplete,setSoundOnComplete:Jo.setSoundOnComplete,onboarded:Oc,setOnboarded:jw,load:Le.load,selectSession:Le.selectSession,clearActiveSession:Le.clearActiveSession,loadOlderMessages:Le.loadOlderMessages,loadWorkspaces:Le.loadWorkspaces,loadMoreSessions:Le.loadMoreSessions,loadAllSessions:Le.loadAllSessions,selectWorkspace:Le.selectWorkspace,openWorkspace:Le.openWorkspace,openWorkspaceDraft:Le.openWorkspaceDraft,startSessionAndSendPrompt:Le.startSessionAndSendPrompt,startSessionAndActivateSkill:Le.startSessionAndActivateSkill,startSessionAndOpenSideChat:Le.startSessionAndOpenSideChat,addWorkspaceByPath:Le.addWorkspaceByPath,browseFs:Le.browseFs,getFsHome:Le.getFsHome,sendPrompt:Le.sendPrompt,steerPrompt:Le.steerPrompt,sideChatVisible:$n.sideChatVisible,sideChatSessionId:$n.sideChatSessionId,sideChatTurns:$n.sideChatTurns,sideChatRunning:$n.sideChatRunning,sideChatSending:$n.sideChatSending,openSideChat:$n.openSideChat,closeSideChat:$n.closeSideChat,sendSideChatPrompt:$n.sendSideChatPrompt,terminal:$i,uploadImage:Le.uploadImage,abortCurrentPrompt:Le.abortCurrentPrompt,respondApproval:Le.respondApproval,respondQuestion:Le.respondQuestion,dismissQuestion:Le.dismissQuestion,pendingQuestionActions:Le.pendingQuestionActions,pendingApprovalActions:Le.pendingApprovalActions,cancelTask:Le.cancelTask,setPermission:Le.setPermission,setThinking:vt.setThinking,setPlanMode:Le.setPlanMode,togglePlanMode:Le.togglePlanMode,armPlanMode:Le.armPlanMode,dismissPlanMode:Le.dismissPlanMode,togglePlanArm:Le.togglePlanArm,setSwarmMode:Le.setSwarmMode,toggleSwarmMode:Le.toggleSwarmMode,setSupermoonMode:Le.setSupermoonMode,toggleSupermoonMode:Le.toggleSupermoonMode,setGoalMode:Le.setGoalMode,toggleGoalMode:Le.toggleGoalMode,createGoal:Le.createGoal,controlGoal:Le.controlGoal,enqueue:Le.enqueue,dismissWarning:Le.dismissWarning,renameSession:Le.renameSession,regenerateSessionTitle:Le.regenerateSessionTitle,renameWorkspace:Le.renameWorkspace,deleteWorkspace:Le.deleteWorkspace,reorderWorkspaces:pS,setWorkspaceSortMode:fS,togglePinnedSession:lS,setSessionEmoji:rS,archiveSession:Le.archiveSession,exportSession:Le.exportSession,restoreSession:Le.restoreSession,loadArchivedSessions:Le.loadArchivedSessions,compact:Le.compact,forkSession:Le.forkSession,undo:Le.undo,unqueue:Le.unqueue,reorderQueue:Le.reorderQueue,searchFiles:Le.searchFiles,loadGitStatus:Le.loadGitStatus,loadFileDiff:Le.loadFileDiff,clearFileDiff:Le.clearFileDiff,listDir:Le.listDir,readFileContent:Le.readFileContent,getFileDownloadUrl:Le.getFileDownloadUrl,openWorkspaceFile:Le.openWorkspaceFile,openInApp:Le.openInApp,revealWorkspaceFile:Le.revealWorkspaceFile,resolveImageUrl:Le.resolveImageUrl,loadModels:vt.loadModels,loadProviders:vt.loadProviders,skills:S4,activateSkill:vt.activateSkill,setModel:vt.setModel,toggleStarModel:vt.toggleStarModel,addProvider:vt.addProvider,deleteProvider:vt.deleteProvider,refreshProvider:vt.refreshProvider,refreshAllProviders:vt.refreshAllProviders,importCatalogProvider:vt.importCatalogProvider,importRegistry:vt.importRegistry,authReady:nS,defaultModel:sS,managedProviderStatus:oS,config:iS,updateConfig:Le.updateConfig,checkAuth:Le.checkAuth,startOAuthLogin:vt.startOAuthLogin,pollOAuthLogin:vt.pollOAuthLogin,cancelOAuthLogin:vt.cancelOAuthLogin,logout:Le.logout}}const _S=["aria-label"],$S=Ie({__name:"Spinner",props:{size:{default:"md"},label:{default:"Loading"}},setup(e){return(t,n)=>(a(),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,_S))}}),Dt=Ee($S,[["__scopeId","data-v-e5c5b17d"]]),MS={key:0,class:"ui-badge__dot","aria-hidden":"true"},xS=Ie({__name:"Badge",props:{variant:{default:"neutral"},size:{default:"md"},dot:{type:Boolean}},setup(e){return(t,n)=>(a(),c("span",{class:fe(["ui-badge",[`ui-badge--${e.variant}`,`ui-badge--${e.size}`]])},[e.dot?(a(),c("span",MS)):A("",!0),yt(t.$slots,"default",{},void 0,!0)],2))}}),Ot=Ee(xS,[["__scopeId","data-v-5bc5cd6d"]]),IS=Ie({__name:"Menu",setup(e,{expose:t}){const n=I();return t({el:n}),(s,o)=>(a(),c("div",{ref_key:"el",ref:n,class:"ui-menu",role:"menu"},[yt(s.$slots,"default",{},void 0,!0)],512))}}),Hs=Ee(IS,[["__scopeId","data-v-60e6cd8d"]]),AS={key:0,class:"ui-menu-sep",role:"separator"},TS=["disabled"],PS=Ie({__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?(a(),c("div",AS)):(a(),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))},[yt(t.$slots,"default",{},void 0,!0)],10,TS))}}),dt=Ee(PS,[["__scopeId","data-v-f940771a"]]),zs=6,Fs=8,ES=150,LS=Ie({__name:"Tooltip",props:{text:{},placement:{default:"top"},maxWidth:{default:280},maxLines:{default:6}},setup(e){const t=e,n=I(),s=I(),o=I(!1),i=I(!1),u=I({maxWidth:`${t.maxWidth}px`});let p,f=null,v;function w(){const y=s.value;if(!f||!y)return;const g=f.getBoundingClientRect(),k=y.offsetWidth,T=y.offsetHeight,S=window.innerWidth,O=window.innerHeight;let D=t.placement;D==="top"&&g.top-zs-TO-Fs?D="top":D==="left"&&g.left-zs-kS-Fs&&(D="left");let E=0,B=0;D==="top"?(E=g.top-zs-T,B=g.left+g.width/2-k/2):D==="bottom"?(E=g.bottom+zs,B=g.left+g.width/2-k/2):D==="left"?(E=g.top+g.height/2-T/2,B=g.left-zs-k):(E=g.top+g.height/2-T/2,B=g.right+zs),B=Math.min(Math.max(B,Fs),S-Fs-k),E=Math.min(Math.max(E,Fs),O-Fs-T),u.value={maxWidth:`${t.maxWidth}px`,top:`${Math.round(E)}px`,left:`${Math.round(B)}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}),Ke(()=>{w(),i.value=!0})},ES))}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 _(y){y!==f&&(f&&(f.removeEventListener("mouseenter",x),f.removeEventListener("mouseleave",h),f.removeEventListener("focusin",x),f.removeEventListener("focusout",h)),f=y,f&&(f.addEventListener("mouseenter",x),f.addEventListener("mouseleave",h),f.addEventListener("focusin",x),f.addEventListener("focusout",h)))}return ht(()=>{const y=n.value??null;_(y?.firstElementChild??y),y&&(v=new MutationObserver(()=>{const g=y.firstElementChild??null;g!==f&&(h(),_(g??y))}),v.observe(y,{childList:!0}))}),Ln(()=>{window.clearTimeout(p),window.removeEventListener("scroll",m,{capture:!0}),window.removeEventListener("resize",m),v?.disconnect(),_(null)}),(y,g)=>(a(),c(he,null,[r("span",{ref_key:"trigger",ref:n,class:"ui-tip"},[yt(y.$slots,"default",{},void 0,!0)],512),(a(),G(lo,{to:"body"},[gt(r("div",{ref_key:"bubble",ref:s,class:fe(["ui-tip__bubble",{positioned:i.value}]),style:rt([u.value,{"--tip-lines":e.maxLines}]),role:"tooltip"},d(e.text),7),[[Jn,o.value]])]))],64))}}),ot=Ee(LS,[["__scopeId","data-v-98697f45"]]),BS={class:"row"},RS={class:"lead","aria-hidden":"true"},OS={key:1,class:"unread-dot"},DS={class:"left"},zS=["onKeydown"],FS={key:0,class:"t-emoji","aria-hidden":"true"},NS=["aria-label"],qS={class:"act"},WS={class:"ts"},HS={key:0,class:"emoji-glyph"},US={class:"menu-time"},VS=["aria-label"],jS={class:"emoji-grid"},KS=["aria-label","onClick"],GS=Ie({__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}=Ue(),{pinnedSessionIds:o,sessionEmojiBySession:i,togglePinnedSession:u,setSessionEmoji:p,config:f,regenerateSessionTitle:v}=Ji(),w=e,x=n,h=$(()=>o.value.includes(w.session.id)),m=$(()=>i.value[w.session.id]??null),_=$(()=>f.value?.experimental?.auto_session_title===!0),y=$(()=>w.session.pullRequest??null),g=I(!1);async function k(){if(!g.value){g.value=!0;try{await v(w.session.id)}finally{g.value=!1}}}function T(){const Fe=y.value?.url;Fe&&window.open(Fe,"_blank","noopener")}function S(){u(w.session.id)}function O(Fe){p(w.session.id,Fe),Ce()}function D(Fe){const Ze=new Date(Fe);if(Number.isNaN(Ze.getTime()))return Fe;const Ve=At=>String(At).padStart(2,"0");return`${Ze.getFullYear()}-${Ve(Ze.getMonth()+1)}-${Ve(Ze.getDate())} ${Ve(Ze.getHours())}:${Ve(Ze.getMinutes())}`}const E=$(()=>w.session.updatedAt?D(w.session.updatedAt):w.session.time),B=I(!1),q=I(null),V=I(null),b=I({});function P(Fe){const Ze=Fe.target;V.value?.el?.contains(Ze)||q.value?.el?.contains(Ze)||oe()}function L(){const Fe=q.value?.el;if(!Fe)return;const Ze=V.value?.el,Ve=Fe.getBoundingClientRect(),At=4,bt=8,Ct=Ze?.offsetHeight??0,dn=Ze?.offsetWidth??0;let Kt=Ve.bottom+At;Kt+Ct>window.innerHeight-bt&&(Kt=Math.max(bt,Ve.top-Ct-At));let zt=Ve.right-dn;ztdocument.addEventListener("mousedown",P),0),window.addEventListener("resize",oe),await Ke(),L()}function oe(){B.value=!1,document.removeEventListener("mousedown",P),window.removeEventListener("resize",oe)}kt(()=>{document.removeEventListener("mousedown",P),window.removeEventListener("resize",oe),document.removeEventListener("mousedown",ye),window.removeEventListener("resize",Ce)});const ge=I(!1),ce=I(null),Q=I(null),ie=I({});function te(){const Fe=ce.value?.el;if(!Fe)return;const Ze=Q.value,Ve=Fe.getBoundingClientRect(),At=4,bt=8,Ct=Ze?.offsetHeight??0,dn=Ze?.offsetWidth??0;let Kt=Ve.bottom+At;Kt+Ct>window.innerHeight-bt&&(Kt=Math.max(bt,Ve.top-Ct-At));let zt=Ve.right-dn;ztdocument.addEventListener("mousedown",ye),0),window.addEventListener("resize",Ce),await Ke(),te()}function Ce(){ge.value=!1,document.removeEventListener("mousedown",ye),window.removeEventListener("resize",Ce)}const Z=I(!1),U=I(""),ke=I(null),ae=I(!1);async function ee(){oe(),Z.value=!0,ae.value=!1,U.value=w.session.title,await Ke();try{ke.value?.focus(),ke.value?.select()}catch{}}function de(){const Fe=U.value.trim();Fe&&x("rename",w.session.id,Fe),Z.value=!1}function Be(){Z.value=!1}function Y(Fe){ae.value||Ti(Fe)||de()}function ve(Fe){ae.value||Ti(Fe)||Be()}const R=I(!1),X=I(!1);async function me(){const Fe=await un(w.session.id);R.value=Fe,X.value=!Fe,setTimeout(()=>{R.value=!1,X.value=!1,oe()},1500)}function He(){oe(),x("fork",w.session.id)}function De(){oe(),x("export",w.session.id)}function an(){oe(),x("archive",w.session.id)}return t({closeMenu:oe}),(Fe,Ze)=>(a(),c("div",{class:fe(["se",{on:e.active,"has-gen":_.value}]),onClick:Ze[9]||(Ze[9]=Ve=>x("select",e.session.id))},[r("div",BS,[r("span",RS,[e.session.busy?(a(),G(Dt,{key:0,size:"sm"})):e.unread?(a(),c("span",OS)):A("",!0)]),r("div",DS,[Z.value?gt((a(),c("input",{key:0,ref_key:"renameInputRef",ref:ke,"onUpdate:modelValue":Ze[0]||(Ze[0]=Ve=>U.value=Ve),class:"rename-input",onClick:Ze[1]||(Ze[1]=Re(()=>{},["stop"])),onCompositionstart:Ze[2]||(Ze[2]=Ve=>ae.value=!0),onCompositionend:Ze[3]||(Ze[3]=Ve=>ae.value=!1),onKeydown:[En(Re(Y,["stop"]),["enter"]),En(Re(ve,["stop"]),["esc"])],onBlur:de},null,40,zS)),[[qn,U.value]]):(a(),c("span",{key:1,class:"t",onDblclick:Re(ee,["stop"])},[m.value?(a(),c("span",FS,d(m.value),1)):A("",!0),re(d(e.session.title),1)],32))]),M(ot,{text:l(s)("workspace.awaitingAnswerTitle")},{default:H(()=>[!Z.value&&(e.questionCount>0||e.session.pendingInteraction==="question")?(a(),G(Ot,{key:0,variant:"info",size:"sm"},{default:H(()=>[re(d(l(s)("workspace.awaitingAnswer")),1)]),_:1})):A("",!0)]),_:1},8,["text"]),M(ot,{text:l(s)("workspace.awaitingPermissionTitle")},{default:H(()=>[!Z.value&&(e.approvalCount>0||e.session.pendingInteraction==="approval")?(a(),G(Ot,{key:0,variant:"warning",size:"sm"},{default:H(()=>[re(d(l(s)("workspace.awaitingPermission")),1)]),_:1})):A("",!0)]),_:1},8,["text"]),M(ot,{text:l(s)("workspace.abortedTitle")},{default:H(()=>[!Z.value&&!e.session.busy&&e.session.pendingInteraction!=="question"&&e.session.pendingInteraction!=="approval"&&e.questionCount===0&&e.approvalCount===0&&l(Iu)(e.session)?(a(),G(Ot,{key:0,variant:"danger",size:"sm"},{default:H(()=>[re(d(l(s)("workspace.aborted")),1)]),_:1})):A("",!0)]),_:1},8,["text"]),!Z.value&&y.value?(a(),c("button",{key:0,type:"button",class:fe(["pr",`pr--${y.value.state}`]),"aria-label":l(s)("sidebar.prTag",{number:y.value.number}),onClick:Re(T,["stop"])},[M(se,{name:"git-pull-request",size:"sm"}),r("span",null,"#"+d(y.value.number),1)],10,NS)):A("",!0),r("span",qS,[r("span",WS,d(e.session.time),1),Z.value?A("",!0):(a(),G(nt,{key:0,class:fe(["btn pin",{on:h.value}]),size:"sm",label:h.value?l(s)("sidebar.unpin"):l(s)("sidebar.pin"),onClick:Re(S,["stop"])},{default:H(()=>[M(se,{name:h.value?"pin-fill":"pin"},null,8,["name"])]),_:1},8,["class","label"])),Z.value?A("",!0):(a(),G(nt,{key:1,ref_key:"emojiBtnRef",ref:ce,class:fe(["btn emoji-btn",{open:ge.value}]),size:"sm",label:l(s)("sidebar.emoji"),onClick:Ze[4]||(Ze[4]=Re(Ve=>_e(Ve),["stop"]))},{default:H(()=>[m.value?(a(),c("span",HS,d(m.value),1)):(a(),G(se,{key:1,name:"emotion"}))]),_:1},8,["class","label"])),!Z.value&&_.value?(a(),G(nt,{key:2,class:fe(["btn gen-title",{open:g.value}]),size:"sm",label:l(s)("sidebar.genTitle"),disabled:g.value,onClick:Re(k,["stop"])},{default:H(()=>[g.value?(a(),G(Dt,{key:0,size:"sm"})):(a(),G(se,{key:1,name:"sparkles"}))]),_:1},8,["class","label","disabled"])):A("",!0),Z.value?A("",!0):(a(),G(nt,{key:3,ref_key:"kebabRef",ref:q,class:fe(["btn kebab",{open:B.value}]),size:"sm",label:l(s)("sidebar.options"),onClick:Ze[5]||(Ze[5]=Re(Ve=>ne(Ve),["stop"]))},{default:H(()=>[M(se,{name:"dots-horizontal"})]),_:1},8,["class","label"]))])]),(a(),G(lo,{to:"body"},[B.value?(a(),G(Hs,{key:0,ref_key:"menuRef",ref:V,class:"menu",style:rt(b.value),onClick:Ze[6]||(Ze[6]=Re(()=>{},["stop"]))},{default:H(()=>[M(dt,{danger:X.value,onClick:me},{default:H(()=>[M(se,{name:R.value?"check":"copy",size:"sm"},null,8,["name"]),re(" "+d(X.value?l(s)("sidebar.copyFailed"):R.value?l(s)("sidebar.copied"):l(s)("sidebar.copySessionId")),1)]),_:1},8,["danger"]),M(dt,{separator:""}),M(dt,{onClick:ee},{default:H(()=>[M(se,{name:"pencil",size:"sm"}),re(" "+d(l(s)("sidebar.rename")),1)]),_:1}),M(dt,{onClick:He},{default:H(()=>[M(se,{name:"git-fork",size:"sm"}),re(" "+d(l(s)("sidebar.fork")),1)]),_:1}),M(dt,{onClick:De},{default:H(()=>[M(se,{name:"download",size:"sm"}),re(" "+d(l(s)("sidebar.export")),1)]),_:1}),M(dt,{danger:"",onClick:an},{default:H(()=>[M(se,{name:"archive",size:"sm"}),re(" "+d(l(s)("sidebar.archive")),1)]),_:1}),M(dt,{separator:""}),r("div",US,d(E.value),1)]),_:1},8,["style"])):A("",!0)])),(a(),G(lo,{to:"body"},[ge.value?(a(),c("div",{key:0,ref_key:"emojiPickerRef",ref:Q,class:"emoji-picker",role:"menu","aria-label":l(s)("sidebar.emoji"),style:rt(ie.value),onClick:Ze[8]||(Ze[8]=Re(()=>{},["stop"]))},[r("div",jS,[(a(!0),c(he,null,Pe(l(Au),Ve=>(a(),c("button",{key:Ve,type:"button",class:fe(["emoji-cell",{on:Ve===m.value}]),"aria-label":Ve,role:"menuitem",onClick:Re(At=>O(Ve),["stop"])},d(Ve),11,KS))),128))]),m.value?(a(),c("button",{key:0,type:"button",class:"emoji-clear",role:"menuitem",onClick:Ze[7]||(Ze[7]=Re(Ve=>O(null),["stop"]))},d(l(s)("sidebar.emojiRemove")),1)):A("",!0)],12,VS)):A("",!0)]))],2))}}),Gc=Ee(GS,[["__scopeId","data-v-1c24e83d"]]),QS=["draggable"],YS={class:"gh-top"},ZS={class:"gh-name"},XS=["inert"],JS=["disabled"],e3={class:"show-more-label"},t3={class:"show-more-label"},n3={key:2,class:"group-empty"},s3=Ie({__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}=Ue(),s=e,o=t,i=$({get:()=>s.renameValue,set:g=>o("updateRenameValue",g)}),u=$(()=>s.renamingId===s.group.workspace.id),p=$(()=>{if(s.isExpanded(s.group.workspace.id))return s.group.sessions;const g=s.group.sessions.slice(0,s.group.initialCount);if(s.activeId&&!g.some(k=>k.id===s.activeId)){const k=s.group.sessions.find(T=>T.id===s.activeId);if(k)return[...g,k]}return g}),f=$(()=>s.group.sessions.length>s.group.initialCount);function v(){return Math.max(0,s.group.workspace.sessionCount-s.group.sessions.length)}function w(){return s.group.sessions.length-s.group.initialCount}function x(g){s.renameInputRef.value=g instanceof HTMLInputElement?g:null}function h(g){g.dataTransfer&&(g.dataTransfer.effectAllowed="move",g.dataTransfer.setData("text/plain",s.group.workspace.id),o("wsDragstart",s.group.workspace.id))}const m=I(!1);function _(g){m.value||Ti(g)||o("confirmRename")}function y(g){m.value||Ti(g)||o("cancelRename")}return(g,k)=>(a(),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:k[7]||(k[7]=Re(T=>o("groupClick",e.group.workspace.id,T),["stop"])),onContextmenu:k[8]||(k[8]=T=>o("groupContextmenu",e.group.workspace,T)),onDragstart:h,onDragend:k[9]||(k[9]=T=>o("wsDragend"))},[r("div",YS,[e.isCollapsed(e.group.workspace.id)?(a(),G(se,{key:0,class:"gh-folder",name:"folder-closed"})):(a(),G(se,{key:1,class:"gh-folder",name:"folder"})),e.renamingId!==e.group.workspace.id?(a(),G(ot,{key:2,text:e.group.workspace.root},{default:H(()=>[r("span",ZS,d(e.group.workspace.name),1)]),_:1},8,["text"])):gt((a(),c("input",{key:3,ref:x,"onUpdate:modelValue":k[0]||(k[0]=T=>i.value=T),class:"gh-rename",type:"text",onCompositionstart:k[1]||(k[1]=T=>m.value=!0),onCompositionend:k[2]||(k[2]=T=>m.value=!1),onKeydown:[En(_,["enter"]),En(y,["esc"])],onBlur:k[3]||(k[3]=T=>o("cancelRename")),onClick:k[4]||(k[4]=Re(()=>{},["stop"]))},null,544)),[[qn,i.value]]),e.renamingId!==e.group.workspace.id?(a(),c("div",{key:4,class:fe(["gh-actions",{open:e.wsMenuOpenId===e.group.workspace.id}])},[M(nt,{class:fe(["gh-more",{open:e.wsMenuOpenId===e.group.workspace.id}]),size:"sm",label:l(n)("sidebar.options"),"aria-haspopup":"menu","aria-expanded":e.wsMenuOpenId===e.group.workspace.id,onClick:k[5]||(k[5]=Re(T=>o("toggleWsMenu",e.group.workspace,T),["stop"]))},{default:H(()=>[M(se,{name:"dots-horizontal"})]),_:1},8,["class","label","aria-expanded"]),M(nt,{class:"gh-add",size:"sm",label:l(n)("workspace.newInGroup"),onClick:k[6]||(k[6]=Re(T=>o("createInWorkspace",e.group.workspace.id),["stop"]))},{default:H(()=>[M(se,{name:"chat-new"})]),_:1},8,["label"])],2)):A("",!0)])],42,QS),r("div",{class:fe(["group-sessions",{collapsed:e.isCollapsed(e.group.workspace.id)}]),inert:e.isCollapsed(e.group.workspace.id)},[(a(!0),c(he,null,Pe(p.value,T=>(a(),G(Gc,{key:T.id,session:T,active:T.id===e.activeId,"approval-count":e.pendingBySession[T.id]?.approvals??0,"question-count":e.pendingBySession[T.id]?.questions??0,unread:e.unreadBySession[T.id]??!1,onSelect:k[10]||(k[10]=S=>o("selectSession",S)),onRename:k[11]||(k[11]=(S,O)=>o("renameSession",S,O)),onArchive:k[12]||(k[12]=S=>o("archiveSession",S)),onFork:k[13]||(k[13]=S=>o("forkSession",S)),onExport:k[14]||(k[14]=S=>o("exportSession",S))},null,8,["session","active","approval-count","question-count","unread"]))),128)),e.group.hasMore||e.group.loadingMore?(a(),c("button",{key:0,class:"show-more",disabled:e.group.loadingMore,onClick:k[15]||(k[15]=Re(T=>o("loadMore",e.group.workspace.id),["stop"]))},[k[17]||(k[17]=r("span",{class:"show-more-lead","aria-hidden":"true"},null,-1)),r("span",e3,d(e.group.loadingMore?l(n)("sidebar.loadingMore"):l(n)("sidebar.showMore",{count:v()})),1)],8,JS)):A("",!0),f.value?(a(),c("button",{key:1,class:"show-more",onClick:k[16]||(k[16]=Re(T=>o("toggleExpand",e.group.workspace.id),["stop"]))},[k[18]||(k[18]=r("span",{class:"show-more-lead","aria-hidden":"true"},null,-1)),r("span",t3,d(e.isExpanded(e.group.workspace.id)?l(n)("sidebar.showLess"):l(n)("sidebar.showAll",{count:w()})),1)])):A("",!0),e.group.sessions.length===0?(a(),c("div",n3,d(l(n)("sidebar.noSessions")),1)):A("",!0)],10,XS)],2))}}),o3=Ee(s3,[["__scopeId","data-v-ec29996e"]]),i3="kimi_desktop",a3="platform",Rr="kimi-desktop",Or="kimi-desktop-platform";function l3(){let e=!1,t=null;try{const n=new URLSearchParams(window.location.search);n.has(i3)?(sessionStorage.setItem(Rr,"1"),e=!0):e=e||sessionStorage.getItem(Rr)==="1";const s=n.get(a3);s?(sessionStorage.setItem(Or,s),t=s):t=sessionStorage.getItem(Or)}catch{}return{isDesktop:e,platform:t}}const Ya=l3(),r3=Ya.isDesktop,Eo=Ya.isDesktop&&Ya.platform==="darwin",u3={class:"ui-kbd"},c3=Ie({__name:"Kbd",props:{keys:{}},setup(e){return(t,n)=>(a(),c("span",u3,[(a(!0),c(he,null,Pe(e.keys,s=>(a(),c("kbd",{key:s,class:"ui-kbd__key"},d(s),1))),128))]))}}),_s=Ee(c3,[["__scopeId","data-v-32292ed8"]]),d3="(prefers-reduced-motion: reduce)";function p3(){if(!(typeof window>"u"||typeof window.matchMedia!="function"))return window.matchMedia(d3)}function f3(e,t=p3){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 m3=["aria-label"],v3=Ie({__name:"KimiMascot",props:{label:{}},setup(e){const t=I(!1);let n;return ht(()=>{n=f3(s=>{t.value=!s})}),Ln(()=>n?.()),(s,o)=>(a(),c("span",{class:fe(["kimi-mascot",{"kimi-mascot--pulse":t.value}]),role:"img","aria-label":e.label},[M(se,{name:"sparkles",size:"sm"})],10,m3))}}),h3=Ee(v3,[["__scopeId","data-v-6634dad2"]]),g3=["disabled","aria-pressed"],y3=Ie({__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?(a(),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))},[yt(t.$slots,"default",{},void 0,!0)],10,g3)):(a(),c("span",{key:1,class:fe(["ui-pill",{"is-active":e.active}])},[yt(t.$slots,"default",{},void 0,!0)],2))}}),eo=Ee(y3,[["__scopeId","data-v-317ace1a"]]),k3={class:"ch"},b3={class:"ch-brand"},w3={class:"ch-backend-ep"},S3={class:"btn-wrap"},C3={class:"search-input"},_3={key:0,class:"empty"},$3={class:"side-section-label"},M3={class:"side-section-title"},x3={class:"side-section-actions"},I3={key:0,class:"empty"},A3=["onDragover","onDrop"],T3={class:"side-footer"},P3={class:"section-menu-check"},E3={class:"section-menu-check"},L3={class:"section-menu-check"},B3={class:"backend-menu-name"},R3={class:"backend-menu-url"},O3=1e3,D3=Ie({__name:"Sidebar",props:{activeWorkspace:{default:null},activeWorkspaceId:{default:null},sessions:{},groups:{},pinnedSessionIds:{default:()=>[]},activeId:{},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","collapse"],setup(e,{emit:t}){const{t:n}=Ue(),s=!1,o=I(null),i=$(()=>""),u=["default","multi"];function p(Se){const we=o.value?.presets[Se]??"";return we?ip(we):""}function f(Se){const we=o.value;return we!==null&&we.current===we.presets[Se]}const v=e,w=t,x=I(!1),h=y()?["⌘","K"]:["Ctrl","K"];function m(){w("loadAllSessions"),x.value=!0}function _(Se){(Se.metaKey||Se.ctrlKey)&&Se.key.toLowerCase()==="k"&&(Se.preventDefault(),m())}ht(()=>window.addEventListener("keydown",_)),Ln(()=>window.removeEventListener("keydown",_));function y(){if(typeof navigator>"u")return!1;if(/Mac|iPod|iPhone|iPad/.test(navigator.platform))return!0;const Se=navigator.userAgentData;return Se?.platform==="macOS"||Se?.platform==="iOS"}const g=I(!1);function k(Se){g.value=Se.target.scrollTop>0}const T=I(pp());function S(){T.value=T.value==="flat"?"grouped":"flat",fp(T.value)}const O=$(()=>mp(v.groups,v.pinnedSessionIds)),D=I(new Set(Vd()));function E(Se){return D.value.has(Se)}function B(Se){const we=new Set(D.value);we.has(Se)?we.delete(Se):we.add(Se),D.value=we,ta(we)}function q(){const Se=new Set(v.groups.map(we=>we.workspace.id));D.value=Se,ta(Se)}function V(){const Se=new Set;D.value=Se,ta(Se)}const b=$(()=>v.groups.length>0&&v.groups.every(Se=>D.value.has(Se.workspace.id))),P=I(new Set);function L(Se){return P.value.has(Se)}function ne(Se){const we=new Set(P.value);we.has(Se)?we.delete(Se):we.add(Se),P.value=we}function oe(Se){if(!P.value.has(Se)){const we=new Set(P.value);we.add(Se),P.value=we}w("loadMoreSessions",Se)}const ge=I(null),ce=I(null);function Q(Se){ge.value=Se}function ie(){ge.value=null,ce.value=null}function te(Se){const we=Se.currentTarget.getBoundingClientRect();return Se.clientYat.workspace.id),we,Se,Ge);w("reorderWorkspaces",Je)}function Ce(Se,we){we.target.closest(".gh-more, .gh-add")||B(Se)}function Z(Se){w("select",Se)}const U=I(null),ke=I(""),ae=I(null);function ee(){return ae}function de(Se,we){U.value=Se,ke.value=we,Ke().then(()=>ae.value?.focus())}function Be(){const Se=U.value,we=ke.value.trim();Se&&we&&w("renameWorkspace",Se,we),U.value=null}function Y(){U.value=null}function ve(Se){ke.value=Se}const R=I(!1),X=I(null),me=I({}),He=I(null);function De(Se){He.value?.el&&!He.value.el.contains(Se.target)&&Fe()}function an(Se,we){we.preventDefault(),we.stopPropagation(),X.value=Se,me.value={top:`${we.clientY}px`,left:`${we.clientX}px`},R.value=!0,document.addEventListener("mousedown",De,!0)}function Fe(){R.value=!1,document.removeEventListener("mousedown",De,!0),X.value=null}function Ze(){X.value&&un(X.value.root),Fe()}function Ve(){X.value&&de(X.value.id,X.value.name),Fe()}function At(){const Se=X.value;Se&&(Fe(),w("deleteWorkspace",Se.id))}const bt=I(null),Ct=I(null),dn=I({}),Kt=I(null);function zt(Se){const we=Se.target;we.closest(".gh-more")||we.closest(".ws-menu")||nn()}async function hs(Se,we){if(bt.value===Se.id){nn();return}const Ge=we.currentTarget;Ct.value=Se,bt.value=Se.id,document.addEventListener("mousedown",zt),window.addEventListener("resize",nn),await Ke();const Je=Kt.value?.el,at=Ge.getBoundingClientRect(),Ht=4,Qt=8,Pt=Je?.offsetHeight??0,Ut=Je?.offsetWidth??0;let Vt=at.bottom+Ht;Vt+Pt>window.innerHeight-Qt&&(Vt=Math.max(Qt,at.top-Pt-Ht));let Tn=at.right-Ut;Tnwindow.innerHeight-Ht&&(Ut=Math.max(Ht,Je.top-Qt-at));let Vt=Je.right-Pt;Vtwindow.innerHeight-Ht&&(Pt=Math.max(Ht,Je.top-Qt-at)),yn.value={top:`${Math.round(Pt)}px`,left:`${Math.round(Math.max(Ht,Je.left))}px`}}function Gt(){Rn.value=!1,document.removeEventListener("mousedown",$t),window.removeEventListener("resize",Gt)}async function kn(Se){if(f(Se)){Gt();return}if(await op(Se)===null){console.warn("[kimi-web] dev backend switch failed:",Se),Gt();return}window.location.reload()}Ln(()=>{document.removeEventListener("mousedown",De,!0),document.removeEventListener("mousedown",zt),document.removeEventListener("mousedown",gn),document.removeEventListener("mousedown",$t),window.removeEventListener("resize",nn),window.removeEventListener("resize",fn),window.removeEventListener("resize",Gt)});const An=I(null);let Rt;function sn(){const Se=An.value;Se&&(Se.classList.remove("blink-now"),Se.getBoundingClientRect(),Se.classList.add("blink-now"),clearTimeout(Rt),Rt=setTimeout(()=>Se.classList.remove("blink-now"),300))}const qt=hu(()=>ku(()=>import("./DesignSystemView-UYw_7SpS.js"),__vite__mapDeps([0,1,2,3,4,5,6,7]))),Xt=I(!1);let Wt,ct=!1;function lt(Se){ct=!1,clearTimeout(Wt),Se.currentTarget.setPointerCapture?.(Se.pointerId),Wt=setTimeout(()=>{ct=!0,Xt.value=!0},O3)}function on(Se){clearTimeout(Wt);const we=Se.currentTarget;we.hasPointerCapture?.(Se.pointerId)&&we.releasePointerCapture(Se.pointerId)}function Jt(){if(ct){ct=!1;return}sn()}return Ln(()=>{clearTimeout(Wt)}),(Se,we)=>(a(),c("aside",{class:fe(["side",{"macos-desktop":l(Eo),collapsed:e.collapsed,"no-anim":e.dragging}]),style:rt({width:e.collapsed?"0px":e.colWidth+"px"})},[r("div",{class:"col",style:rt({width:e.colWidth+"px"})},[r("div",k3,[r("div",b3,[l(Eo)?A("",!0):(a(),c(he,{key:0},[(a(),c("svg",{ref_key:"logoRef",ref:An,class:fe(["ch-logo",{"is-dev":l(s)}]),viewBox:"0 0 32 22",fill:"none",xmlns:"http://www.w3.org/2000/svg",role:"img","aria-label":"Kimi Code",onClick:Jt,onPointerdown:lt,onPointerup:on,onPointercancel:on},[...we[26]||(we[26]=[sl(' ',2)])],34)),we[27]||(we[27]=r("span",{class:"ch-name"},"Kimi Code",-1)),l(s)?(a(),G(eo,{key:0,class:"ch-backend",clickable:o.value!==null,title:l(n)("sidebar.backendTitle",{backend:e.backend,endpoint:i.value}),onClick:Zt},{default:H(()=>[r("span",{class:fe(["ch-backend-kind",`is-${e.backend}`])},d(e.backend),3),r("span",w3," · "+d(i.value),1),o.value!==null?(a(),G(se,{key:0,name:"chevron-down",size:"sm"})):A("",!0)]),_:1},8,["clickable","title"])):A("",!0)],64))]),l(Eo)?A("",!0):(a(),G(nt,{key:0,class:"ch-collapse",size:"sm",label:l(n)("sidebar.collapseSidebar"),onClick:we[0]||(we[0]=Re(Ge=>w("collapse"),["stop"]))},{default:H(()=>[M(se,{name:"panel-collapse"})]),_:1},8,["label"]))]),r("div",S3,[r("button",{class:"btn-new-chat",type:"button",onClick:we[1]||(we[1]=Re(Ge=>w("create"),["stop"]))},[M(se,{name:"chat-new"}),r("span",null,d(l(n)("sidebar.newChat")),1)]),A("",!0)]),r("div",{class:fe(["search-wrap",{"search-wrap--scrolled":g.value}])},[r("button",{class:"search",type:"button",onClick:m},[M(se,{class:"search-icon",name:"search"}),r("span",C3,d(l(n)("sidebar.search")),1),M(_s,{keys:l(h)},null,8,["keys"])])],2),r("div",{class:"sessions",onScroll:k},[e.groups.length===0?(a(),c("div",_3,d(l(n)("workspace.noWorkspace")),1)):(a(),c(he,{key:1},[r("div",$3,[r("span",M3,d(T.value==="flat"?l(n)("sidebar.sessionsHeader"):l(n)("sidebar.workspaces")),1),r("div",x3,[T.value!=="flat"?(a(),c(he,{key:0},[M(nt,{class:"side-section-toggle",size:"sm",label:b.value?l(n)("sidebar.expandAll"):l(n)("sidebar.collapseAll"),onClick:we[3]||(we[3]=Re(Ge=>b.value?V():q(),["stop"]))},{default:H(()=>[b.value?(a(),G(se,{key:0,name:"expand"})):(a(),G(se,{key:1,name:"collapse"}))]),_:1},8,["label"]),M(nt,{class:"side-section-toggle side-section-kebab",size:"sm",label:l(n)("sidebar.options"),"aria-haspopup":"menu","aria-expanded":_t.value,onClick:we[4]||(we[4]=Re(Ge=>Tt(Ge),["stop"]))},{default:H(()=>[M(se,{name:"dots-horizontal"})]),_:1},8,["label","aria-expanded"])],64)):A("",!0),M(nt,{class:"side-section-toggle side-section-view",size:"sm",label:T.value==="flat"?l(n)("sidebar.viewModeGrouped"):l(n)("sidebar.viewModeFlat"),"aria-pressed":T.value==="flat",onClick:Re(S,["stop"])},{default:H(()=>[M(se,{name:T.value==="flat"?"folder":"list"},null,8,["name"])]),_:1},8,["label","aria-pressed"])])]),T.value==="flat"?(a(),c(he,{key:0},[(a(!0),c(he,null,Pe(O.value,Ge=>(a(),G(Gc,{key:Ge.id,session:Ge,active:Ge.id===e.activeId,"approval-count":e.pendingBySession[Ge.id]?.approvals??0,"question-count":e.pendingBySession[Ge.id]?.questions??0,unread:e.unreadBySession[Ge.id]??!1,onSelect:Z,onRename:we[5]||(we[5]=(Je,at)=>w("rename",Je,at)),onArchive:we[6]||(we[6]=Je=>w("archive",Je)),onFork:we[7]||(we[7]=Je=>w("fork",Je)),onExport:we[8]||(we[8]=Je=>w("export",Je))},null,8,["session","active","approval-count","question-count","unread"]))),128)),O.value.length===0?(a(),c("div",I3,d(l(n)("sidebar.noSessions")),1)):A("",!0)],64)):(a(!0),c(he,{key:1},Pe(e.groups,Ge=>(a(),c("div",{key:Ge.workspace.id,class:fe(["ws-drop-target",{"drop-before":ce.value?.id===Ge.workspace.id&&ce.value.position==="before","drop-after":ce.value?.id===Ge.workspace.id&&ce.value.position==="after"}]),onDragover:Je=>ye(Je,Ge.workspace.id),onDrop:Je=>_e(Ge.workspace.id)},[M(o3,{group:Ge,"active-workspace-id":e.activeWorkspaceId,"active-id":e.activeId,"renaming-id":U.value,"rename-value":ke.value,"rename-input-ref":ee(),"pending-by-session":e.pendingBySession,"unread-by-session":e.unreadBySession,"ws-menu-open-id":bt.value,dragging:ge.value===Ge.workspace.id,"is-collapsed":E,"is-expanded":L,onGroupClick:Ce,onGroupContextmenu:an,onToggleWsMenu:hs,onCreateInWorkspace:we[9]||(we[9]=Je=>w("createInWorkspace",Je)),onSelectSession:Z,onRenameSession:we[10]||(we[10]=(Je,at)=>w("rename",Je,at)),onArchiveSession:we[11]||(we[11]=Je=>w("archive",Je)),onForkSession:we[12]||(we[12]=Je=>w("fork",Je)),onExportSession:we[13]||(we[13]=Je=>w("export",Je)),onLoadMore:oe,onToggleExpand:ne,onConfirmRename:Be,onCancelRename:Y,onUpdateRenameValue:ve,onWsDragstart:Q,onWsDragend:ie},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,A3))),128))],64))],32),r("div",T3,[r("button",{class:"btn-settings",type:"button",onClick:we[14]||(we[14]=Re(Ge=>w("openSettings"),["stop"]))},[M(se,{name:"settings"}),r("span",null,d(l(n)("settings.title")),1)]),M(h3,{class:"side-mascot",label:l(n)("sidebar.mascot")},null,8,["label"])])],4),R.value?(a(),G(Hs,{key:0,ref_key:"ghMenuRef",ref:He,class:"gh-menu",style:rt(me.value),onClick:we[15]||(we[15]=Re(()=>{},["stop"]))},{default:H(()=>[M(dt,{onClick:Ze},{default:H(()=>[re(d(l(n)("sidebar.copyPath")),1)]),_:1}),M(dt,{onClick:Ve},{default:H(()=>[re(d(l(n)("sidebar.rename")),1)]),_:1}),M(dt,{danger:"",onClick:At},{default:H(()=>[re(d(l(n)("sidebar.removeWorkspace")),1)]),_:1})]),_:1},8,["style"])):A("",!0),bt.value!==null&&Ct.value?(a(),G(Hs,{key:1,ref_key:"wsMenuRef",ref:Kt,class:"ws-menu",style:rt(dn.value),onClick:we[19]||(we[19]=Re(()=>{},["stop"]))},{default:H(()=>[M(dt,{onClick:we[16]||(we[16]=Ge=>ut(Ct.value))},{default:H(()=>[re(d(l(n)("sidebar.copyPath")),1)]),_:1}),M(dt,{separator:""}),M(dt,{onClick:we[17]||(we[17]=Ge=>Ft(Ct.value))},{default:H(()=>[re(d(l(n)("sidebar.rename")),1)]),_:1}),M(dt,{separator:""}),M(dt,{danger:"",onClick:we[18]||(we[18]=Ge=>In(Ct.value))},{default:H(()=>[re(d(l(n)("sidebar.removeWorkspace")),1)]),_:1})]),_:1},8,["style"])):A("",!0),_t.value?(a(),G(Hs,{key:2,ref_key:"sectionMenuRef",ref:Nt,class:"section-menu",style:rt(pn.value),onClick:we[22]||(we[22]=Re(()=>{},["stop"]))},{default:H(()=>[M(dt,{onClick:we[20]||(we[20]=Ge=>mn("manual"))},{default:H(()=>[r("span",P3,[e.workspaceSortMode==="manual"?(a(),G(se,{key:0,name:"check",size:"sm"})):A("",!0)]),re(" "+d(l(n)("sidebar.sortManual")),1)]),_:1}),M(dt,{onClick:we[21]||(we[21]=Ge=>mn("recent"))},{default:H(()=>[r("span",E3,[e.workspaceSortMode==="recent"?(a(),G(se,{key:0,name:"check",size:"sm"})):A("",!0)]),re(" "+d(l(n)("sidebar.sortRecent")),1)]),_:1})]),_:1},8,["style"])):A("",!0),Rn.value?(a(),G(Hs,{key:3,ref_key:"backendMenuRef",ref:Gn,class:"backend-menu",style:rt(yn.value),onClick:we[23]||(we[23]=Re(()=>{},["stop"]))},{default:H(()=>[(a(),c(he,null,Pe(u,Ge=>M(dt,{key:Ge,onClick:Je=>kn(Ge)},{default:H(()=>[r("span",L3,[f(Ge)?(a(),G(se,{key:0,name:"check",size:"sm"})):A("",!0)]),r("span",B3,d(Ge),1),r("span",R3,d(p(Ge)),1)]),_:2},1032,["onClick"])),64))]),_:1},8,["style"])):A("",!0),x.value?(a(),G(sg,{key:4,sessions:e.sessions,"active-id":e.activeId,onSelect:Z,onClose:we[24]||(we[24]=Ge=>x.value=!1)},null,8,["sessions","active-id"])):A("",!0),(a(),G(lo,{to:"body"},[Xt.value?(a(),G(l(qt),{key:0,onClose:we[25]||(we[25]=Ge=>Xt.value=!1)})):A("",!0)]))],6))}}),z3=Ee(D3,[["__scopeId","data-v-7e5a3931"]]);function F3(e){try{const t=It(e);if(t===null)return null;const n=Number(t);return Number.isFinite(n)?n:null}catch{return null}}function N3(e,t){try{Bt(e,String(t))}catch{}}function q3(e){const{storageKey:t,defaultWidth:n,min:s,max:o,reverse:i=!1}=e;function u(k){return Number.isFinite(k)?Math.min(Wo(o),Math.max(s,Math.round(k))):n}const p=I(u(F3(t)??n)),f=I(!1);function v(k){const T=u(k);p.value=T,N3(t,T)}let w=0,x=0,h=null,m=-1;function _(k){if(!f.value)return;const T=k.clientX-w;v(x+(i?-T:T))}function y(){if(f.value){if(f.value=!1,typeof document<"u"&&(document.body.style.userSelect="",document.body.style.cursor=""),h){try{h.releasePointerCapture(m)}catch{}h.removeEventListener("pointermove",_),h.removeEventListener("pointerup",y),h.removeEventListener("pointercancel",y)}h=null,m=-1}}function g(k){k.preventDefault(),f.value=!0,w=k.clientX,x=u(p.value),h=k.currentTarget,m=k.pointerId,typeof document<"u"&&(document.body.style.userSelect="none",document.body.style.cursor="col-resize");try{h.setPointerCapture(m)}catch{}h.addEventListener("pointermove",_),h.addEventListener("pointerup",y),h.addEventListener("pointercancel",y)}return Ln(y),{width:p,dragging:f,clamp:u,setWidth:v,onPointerDown:g}}const W3=["aria-label"],H3=Ie({__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}=Ue(),{width:i,dragging:u,onPointerDown:p}=q3({storageKey:n.storageKey,defaultWidth:n.defaultWidth,min:n.min,max:()=>n.max,reverse:n.reverse});return s("update:width",i.value),Oe(i,f=>s("update:width",f)),Oe(u,f=>s("update:dragging",f)),(f,v)=>(a(),c("div",{class:fe(["rh",{dragging:l(u)}]),role:"separator","aria-orientation":"vertical","aria-label":e.ariaLabel??l(o)("layout.resizeHandleAria"),onPointerdown:v[0]||(v[0]=(...w)=>l(p)&&l(p)(...w))},[...v[1]||(v[1]=[r("span",{class:"rh-bar","aria-hidden":"true"},null,-1)])],42,W3))}}),Dr=Ee(H3,[["__scopeId","data-v-48fd0a6d"]]),U3=Ie({__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=$(()=>n(t.status));return(o,i)=>(a(),c("span",{class:fe(["kw-dot",`kw-dot--${s.value}`]),"aria-hidden":"true"},null,2))}}),Ro=Ee(U3,[["__scopeId","data-v-e36198e5"]]),V3=["innerHTML"],j3={class:"bh-text"},K3={class:"a"},G3={key:0,class:"p"},Q3={class:"rt"},Y3=["aria-label"],Z3={key:0,class:"tm"},X3=["inert"],J3={class:"bb-pad"},eC=Ie({__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=mo("pinScroll",()=>{}),o=I(null);function i(){n("toggle");const u=o.value;u&&Ke(()=>s(u))}return(u,p)=>(a(),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?(a(),c("span",{key:0,class:"gl",innerHTML:e.icon,"aria-hidden":"true"},null,8,V3)):A("",!0),r("span",j3,[r("span",K3,d(e.name),1),M(ot,{text:e.arg},{default:H(()=>[e.arg?(a(),c("span",G3,d(e.arg),1)):A("",!0)]),_:1},8,["text"])]),r("span",Q3,[r("span",{class:fe(["status",e.status]),role:"status","aria-label":e.status},[e.status==="ok"?(a(),G(se,{key:0,name:"check",size:"sm"})):e.status==="error"?(a(),G(se,{key:1,name:"close",size:"sm"})):e.status==="suspended"?(a(),G(Ro,{key:2,status:"suspended"})):(a(),G(Ro,{key:3,status:"running"}))],10,Y3),yt(u.$slots,"trailing"),e.time?(a(),c("span",Z3,d(e.time),1)):A("",!0)]),e.expandable?(a(),G(se,{key:1,class:"car",name:e.open?"chevron-down":"chevron-right",size:"sm"},null,8,["name"])):A("",!0)],512),r("div",{class:fe(["bb",{open:e.open}]),inert:!e.open},[r("div",J3,[yt(u.$slots,"default")])],10,X3)],2))}}),ri=Ee(eC,[["__scopeId","data-v-fef8aad2"]]),tC={key:0,class:"at-type"},nC={key:0,class:"at-type-sep"},sC={key:1,class:"at-task"},oC={key:2,class:"bb-code"},iC=Ie({__name:"AgentTool",props:{tool:{},mobile:{type:Boolean,default:!1},stackPosition:{default:"single"},toolDiffPanel:{type:Boolean,default:!1}},emits:["openMedia","openFile","openToolDiff","openAgent"],setup(e,{emit:t}){const{t:n}=Ue(),s=e,o=t;function i(k){if(!k)return{};try{const T=JSON.parse(k);return{description:typeof T.description=="string"?T.description:void 0,subagentType:typeof T.subagent_type=="string"?T.subagent_type:void 0,prompt:typeof T.prompt=="string"?T.prompt:void 0,model:typeof T.model=="string"?T.model:void 0,thinkingEffort:typeof T.thinking_effort=="string"?T.thinking_effort:void 0}}catch{return{}}}const u=$(()=>i(s.tool.arg)),p=$(()=>!!s.tool.output&&s.tool.output.length>0),f=$(()=>!!u.value.prompt||!!u.value.subagentType||p.value),v=I(s.tool.defaultExpanded===!0&&f.value),w=$(()=>s.tool.status),x=$(()=>Ks(s.tool.name)),h=$(()=>ni(s.tool.name)),m=$(()=>u.value.description||u.value.subagentType||""),_=mo("resolveAgentTaskId"),y=$(()=>_?_(s.tool.id)!==void 0:!0);function g(){f.value&&(v.value=!v.value)}return Oe(()=>[s.tool.defaultExpanded,s.tool.output?.length,s.tool.status],()=>{s.tool.defaultExpanded===!0&&f.value&&(v.value=!0)}),(k,T)=>(a(),G(ri,{status:w.value,icon:h.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:g},{trailing:H(()=>[y.value?(a(),c("button",{key:0,type:"button",class:"at-open",onClick:T[0]||(T[0]=Re(S=>o("openAgent",e.tool.id),["stop"]))},d(l(n)("tasks.openDetail")),1)):A("",!0)]),default:H(()=>[u.value.subagentType||u.value.model||u.value.thinkingEffort?(a(),c("div",tC,[u.value.subagentType?(a(),c(he,{key:0},[re(d(u.value.subagentType),1)],64)):A("",!0),u.value.model?(a(),c(he,{key:1},[u.value.subagentType?(a(),c("span",nC,"·")):A("",!0),re(d(u.value.model),1)],64)):A("",!0),u.value.thinkingEffort?(a(),c(he,{key:2},[T[1]||(T[1]=r("span",{class:"at-type-sep"},"·",-1)),re(d(l(n)("tasks.thinkingEffort",{effort:u.value.thinkingEffort})),1)],64)):A("",!0)])):A("",!0),u.value.prompt?(a(),c("div",sC,d(u.value.prompt),1)):A("",!0),p.value?(a(),c("div",oC,[(a(!0),c(he,null,Pe(e.tool.output??[],(S,O)=>(a(),c("div",{key:O},d(S),1))),128))])):A("",!0)]),_:1},8,["status","icon","name","arg","time","open","expandable","stacked","stack-position"]))}}),aC=Ee(iC,[["__scopeId","data-v-72115ae1"]]);function lC(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 wi={recognized:!1,answers:{},note:""};function rC(e){const t=e?.[0];if(!t)return wi;let n;try{n=JSON.parse(t)}catch{return wi}if(!n||typeof n!="object"||Array.isArray(n))return wi;const s=n.answers;if(!s||typeof s!="object"||Array.isArray(s))return wi;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 uC(e,t,n){return e[t]??e[`q_${n}`]}const cC=/^opt_\d+_(\d+)$/;function dC(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=cC.exec(p);v?o.add(Number(v[1])):p.length>0&&i.push(p)}return{selected:o,otherText:i.join(", "),indeterminate:!1}}const pC={key:0,class:"chip"},fC={key:0,class:"au-dismissed"},mC={key:1,class:"au-list"},vC={class:"au-q"},hC={key:0,class:"au-hdr"},gC={class:"au-qtext"},yC={class:"au-opts"},kC={class:"au-glyph"},bC={class:"au-label"},wC={key:0,class:"au-desc"},SC={key:0,class:"au-opt sel"},CC={class:"au-glyph"},_C={class:"au-label"},$C={key:1,class:"au-opt sel"},MC={class:"au-label"},xC={key:2,class:"au-raw"},IC=80,AC=Ie({__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}=Ue();function s(B,q=IC){const V=B.trim();return V.length>q?V.slice(0,q-1)+"…":V}const o=$(()=>lC(t.tool.arg)),i=$(()=>rC(t.tool.output)),u=$(()=>i.value.recognized),p=$(()=>u.value&&Object.keys(i.value.answers).length===0&&i.value.note.length>0),f=$(()=>o.value.map((B,q)=>dC(uC(i.value.answers,B.question,q),B.options))),v=$(()=>Object.keys(i.value.answers).length);function w(B,q){return f.value[B]?.selected.has(q)??!1}function x(B){return f.value[B]?.otherText??""}function h(B){return f.value[B]?.indeterminate??!1}function m(B,q){return B?q?"■":"□":q?"●":"○"}const _=$(()=>{if(!u.value)return s(t.tool.output?.[0]??"");if(p.value)return n("tools.ask.dismissed");const B=o.value[0]?.question??"",q=s(B);return o.value.length<=1?q:`${q} ${n("tools.ask.more",{count:o.value.length-1})}`}),y=$(()=>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}):""),g=$(()=>!!t.tool.output&&t.tool.output.length>0),k=$(()=>u.value&&(o.value.length>0||p.value)||g.value),T=I(t.tool.defaultExpanded===!0&&k.value),S=$(()=>t.tool.status),O=$(()=>Ks(t.tool.name)),D=$(()=>ni(t.tool.name));function E(){k.value&&(T.value=!T.value)}return Oe(()=>[t.tool.defaultExpanded,t.tool.output?.length,t.tool.status],()=>{t.tool.defaultExpanded===!0&&k.value&&(T.value=!0)}),(B,q)=>(a(),G(ri,{status:S.value,icon:D.value,name:O.value,arg:T.value?"":_.value,time:e.tool.timing,open:T.value,expandable:k.value,stacked:e.stackPosition!=="single","stack-position":e.stackPosition,onToggle:E},{trailing:H(()=>[y.value?(a(),c("span",pC,d(y.value),1)):A("",!0)]),default:H(()=>[p.value?(a(),c("div",fC,d(i.value.note),1)):u.value?(a(),c("div",mC,[(a(!0),c(he,null,Pe(o.value,(V,b)=>(a(),c("div",{key:b,class:"au-block"},[r("div",vC,[V.header?(a(),c("span",hC,d(V.header),1)):A("",!0),r("span",gC,d(V.question),1)]),r("div",yC,[(a(!0),c(he,null,Pe(V.options,(P,L)=>(a(),c("div",{key:L,class:fe(["au-opt",{sel:w(b,L)}])},[r("span",kC,d(m(V.multiSelect,w(b,L))),1),r("span",bC,d(P.label),1),P.description?(a(),c("span",wC,d(P.description),1)):A("",!0)],2))),128)),x(b)?(a(),c("div",SC,[r("span",CC,d(m(V.multiSelect,!0)),1),r("span",_C,d(x(b)),1)])):A("",!0),h(b)?(a(),c("div",$C,[q[0]||(q[0]=r("span",{class:"au-glyph"},"●",-1)),r("span",MC,d(l(n)("tools.ask.answered")),1)])):A("",!0)])]))),128))])):(a(),c("div",xC,[(a(!0),c(he,null,Pe(e.tool.output??[],(V,b)=>(a(),c("div",{key:b},d(V),1))),128))]))]),_:1},8,["status","icon","name","arg","time","open","expandable","stacked","stack-position"]))}}),TC=Ee(AC,[["__scopeId","data-v-a9a0f259"]]),PC=1e6,zr=5e3;function Fr(e){if(e==="")return[];const t=e.split(`
-`);return t.at(-1)===""&&t.pop(),t}function EC(e,t){const n=Fr(e),s=Fr(t),o=n.length,i=s.length;if(o===0&&i===0)return[];if(o>zr||i>zr||(o+1)*(i+1)>PC)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 w=[];let x=1,h=1;for(const m of p)m.type==="context"?(w.push({type:"context",text:m.text,oldNo:x,newNo:h}),x++,h++):m.type==="add"?(w.push({type:"add",text:m.text,newNo:h}),h++):(w.push({type:"del",text:m.text,oldNo:x}),x++);return w}function LC(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 Qc(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 Yc(e){const t=ho(e.name);if(t!=="edit"&&t!=="write")return null;const n=Qc(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:EC(s,o)}return null}function BC(e){const t=Qc(e);return t&&typeof t.path=="string"?t.path:void 0}function RC(e,t){for(const n of e){const s=n.tools?.find(o=>o.id===t);if(s)return s}}const OC={key:0,class:"bb-empty"},Nr=50,DC=Ie({__name:"ToolOutputBlock",props:{lines:{},emptyText:{}},setup(e){const t=e,n=$(()=>t.lines??[]),s=$(()=>n.value.length>Nr),o={"--tool-output-visible-lines":String(Nr)};return(i,u)=>(a(),c("div",{class:fe(["bb-code tool-output-block",{scroll:s.value}]),style:o},[n.value.length===0&&e.emptyText?(a(),c("div",OC,d(e.emptyText),1)):A("",!0),(a(!0),c(he,null,Pe(n.value,(p,f)=>(a(),c("div",{key:f},d(p),1))),128))],2))}}),Ll=Ee(DC,[["__scopeId","data-v-262bbea0"]]),zC={key:0,class:"chip"},FC={key:0,class:"bb-summary"},NC=Ie({__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=$(()=>n.tool.status),i=$(()=>Ks(n.tool.name)),u=$(()=>ni(n.tool.name)),p=$(()=>uo(n.tool.name,n.tool.arg)),f=$(()=>uo(n.tool.name,n.tool.arg,!0)),v=$(()=>Yc(n.tool)),w=$(()=>{const y=v.value;if(y&&n.tool.status!=="error"){const{added:g,removed:k}=LC(y);if(g||k)return`+${g} −${k}`}return""}),x=$(()=>!!n.tool.output&&n.tool.output.length>0),h=I(!1),m=$(()=>x.value&&!n.toolDiffPanel);function _(){if(n.toolDiffPanel){s("openToolDiff",n.tool.id);return}x.value&&(h.value=!h.value)}return(y,g)=>(a(),G(ri,{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:H(()=>[w.value?(a(),c("span",zC,d(w.value),1)):A("",!0)]),default:H(()=>[f.value?(a(),c("div",FC,d(f.value),1)):A("",!0),M(Ll,{lines:e.tool.output,"empty-text":"Waiting for output…"},null,8,["lines"])]),_:1},8,["status","icon","name","arg","time","open","expandable","stacked","stack-position"]))}}),qC=Ee(NC,[["__scopeId","data-v-74e1da99"]]),WC={key:0,class:"chip"},HC={key:0,class:"bb-summary"},UC=Ie({__name:"GenericTool",props:{tool:{},mobile:{type:Boolean,default:!1},stackPosition:{default:"single"},toolDiffPanel:{type:Boolean,default:!1}},emits:["openMedia","openFile","openToolDiff"],setup(e){const t=e,n=$(()=>t.tool.status==="running"&&/^bash$/i.test(t.tool.name)),s=$(()=>!!t.tool.output&&t.tool.output.length>0),o=$(()=>s.value||n.value),i=I(t.tool.defaultExpanded===!0&&o.value),u=$(()=>t.tool.status),p=$(()=>Ks(t.tool.name)),f=$(()=>ni(t.tool.name)),v=$(()=>uo(t.tool.name,t.tool.arg)),w=$(()=>uo(t.tool.name,t.tool.arg,!0)),x=$(()=>zu({name:t.tool.name,arg:t.tool.arg,output:t.tool.output,timing:t.tool.timing,status:t.tool.status}));function h(){o.value&&(i.value=!i.value)}return Oe(()=>[t.tool.defaultExpanded,t.tool.output?.length,t.tool.status,t.tool.name],()=>{t.tool.defaultExpanded===!0&&o.value&&(i.value=!0)}),(m,_)=>(a(),G(ri,{status:u.value,icon:f.value,name:p.value,arg:i.value?"":v.value,time:e.tool.name!=="bash"?e.tool.timing:"",open:i.value,expandable:o.value,stacked:e.stackPosition!=="single","stack-position":e.stackPosition,onToggle:h},{trailing:H(()=>[x.value?(a(),c("span",WC,d(x.value),1)):A("",!0)]),default:H(()=>[w.value?(a(),c("div",HC,d(w.value),1)):A("",!0),M(Ll,{lines:e.tool.output,"empty-text":"Waiting for output…"},null,8,["lines"])]),_:1},8,["status","icon","name","arg","time","open","expandable","stacked","stack-position"]))}}),VC=Ee(UC,[["__scopeId","data-v-aa4edcb0"]]),jC={class:"media-title"},KC=["src","alt"],GC=["aria-label"],QC=["src"],YC={class:"media-play-badge"},ZC=["src"],XC=Ie({__name:"MediaTool",props:{tool:{},mobile:{type:Boolean,default:!1}},emits:["openMedia"],setup(e,{emit:t}){const n=e,s=t,o=$(()=>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=$(()=>{const v=o.value;if(!v)return"";const w=[v.path?i(v.path):n.tool.name];return v.mimeType&&w.push(v.mimeType),v.bytes!==void 0&&w.push(u(v.bytes)),v.dimensions&&w.push(v.dimensions),w.join(" · ")});function f(){const v=o.value;v&&(v.kind==="image"||v.kind==="video")&&s("openMedia",v)}return(v,w)=>o.value?(a(),c("div",{key:0,class:fe(["media-tool",{mob:e.mobile}])},[M(ot,{text:o.value.path||p.value},{default:H(()=>[r("div",jC,d(p.value),1)]),_:1},8,["text"]),o.value.kind==="image"?(a(),G(ot,{key:0,text:o.value.path||p.value},{default:H(()=>[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,KC)])]),_:1},8,["text"])):o.value.kind==="video"?(a(),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,QC),r("span",YC,[M(se,{name:"play",size:"md"})])],8,GC)):(a(),c("audio",{key:2,class:"media-audio",src:o.value.url,controls:""},null,8,ZC))],2)):A("",!0)}}),JC=Ee(XC,[["__scopeId","data-v-04192531"]]),e5="main",t5=1e4;function ui(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function ao(e){return typeof e=="string"&&e.length>0}function n5(e){try{return AbortSignal.timeout(e)}catch{return}}function s5(e){return!ui(e)||!ao(e.label)?null:{label:e.label,description:ao(e.description)?e.description:void 0}}function o5(e){if(!ui(e))return;const t=e.state;if(t!=="pending"&&t!=="approved"&&t!=="rejected"&&t!=="cancelled")return;const n=ao(e.selected_option)?e.selected_option:void 0,s=ao(e.feedback)?e.feedback:void 0;return{state:t,selectedOption:n,feedback:s}}function i5(e){if(!ui(e)||!ao(e.tool_call_id)||!ao(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(s5).filter(s=>s!==null):void 0;return{toolCallId:e.tool_call_id,plan:e.plan,path:ao(e.path)?e.path:void 0,options:n!==void 0&&n.length>0?n:void 0,source:t,review:o5(e.review)}}function a5(e){if(!ui(e)||!Array.isArray(e.plans))return[];const t=[];for(const n of e.plans){const s=i5(n);s!==null&&t.push(s)}return t}function l5(e){return!ui(e)||e.code!==0?[]:a5(e.data)}async function Zc(e,t,n=fetch){const s=Cu().serverHttpUrl,o=`/sessions/${encodeURIComponent(e)}/transcript/plan`,i=new URLSearchParams({agent_id:e5,tool_call_id:t}),u=si();try{const p=await n(`${oo(s,o)}?${i.toString()}`,{headers:u!==void 0?{Authorization:`Bearer ${u}`}:void 0,signal:n5(t5)});if(!p.ok)return null;const f=await p.json(),v=l5(f);return v.find(w=>w.toolCallId===t)??v[0]??null}catch{return null}}const r5={key:0,class:"chip"},u5={key:0,class:"bb-summary"},c5={key:1,class:"plan-wrap"},d5=["title"],p5={class:"plan-body"},f5={key:1,class:"plan-review"},m5={key:0,class:"plan-state"},v5={key:1,class:"plan-option"},h5={key:2,class:"plan-feedback"},g5={key:2,class:"plan-loading"},y5={key:3,class:"plan-empty"},k5=Ie({__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=hu(()=>ku(()=>Promise.resolve().then(()=>F_),void 0)),s=e,o=t,{t:i}=Ue(),u=mo("sessionId",()=>{}),p=$(()=>s.tool.status),f=$(()=>Ks(s.tool.name)),v=$(()=>ni(s.tool.name)),w=$(()=>zu({name:s.tool.name,arg:s.tool.arg,output:s.tool.output,timing:s.tool.timing,status:s.tool.status})),x=$(()=>!!s.tool.output&&s.tool.output.length>0),h=$(()=>s.tool.status==="running"&&/^bash$/i.test(s.tool.name)),m=I(null),_=I("idle"),y=$(()=>m.value?.path?m.value.path:uo(s.tool.name,s.tool.arg)),g=$(()=>m.value!==null?"":uo(s.tool.name,s.tool.arg,!0)),k=I(!1),T=$(()=>m.value!==null||x.value||h.value);Oe(m,B=>{B!==null&&(k.value=!0)});function S(){T.value&&(k.value=!k.value)}function O(){const B=m.value?.path;B&&o("openFile",{path:B})}const D=$(()=>{const B=m.value?.review?.state;if(B===void 0)return null;switch(B){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 E(){if(_.value!=="idle")return;if(s.tool.status==="running"){_.value="settled";return}const B=u();if(!B){_.value="settled";return}_.value="loading",m.value=await Zc(B,s.tool.id),_.value="settled"}return ht(()=>{E()}),(B,q)=>(a(),G(ri,{status:p.value,icon:v.value,name:f.value,arg:k.value?"":y.value,time:e.tool.timing,open:k.value,expandable:T.value,stacked:e.stackPosition!=="single","stack-position":e.stackPosition,onToggle:S},{trailing:H(()=>[w.value?(a(),c("span",r5,d(w.value),1)):A("",!0)]),default:H(()=>[g.value?(a(),c("div",u5,d(g.value),1)):A("",!0),m.value?(a(),c("div",c5,[m.value.path?(a(),c("button",{key:0,class:"plan-path",type:"button",title:m.value.path,onClick:O},d(m.value.path),9,d5)):A("",!0),r("div",p5,[M(l(n),{text:m.value.plan,"open-file":V=>o("openFile",V)},null,8,["text","open-file"])]),m.value.review?(a(),c("div",f5,[D.value?(a(),c("span",m5,d(D.value),1)):A("",!0),m.value.review.selectedOption?(a(),c("span",v5,d(m.value.review.selectedOption),1)):A("",!0),m.value.review.feedback?(a(),c("span",h5,"“"+d(m.value.review.feedback)+"”",1)):A("",!0)])):A("",!0)])):_.value==="loading"?(a(),c("div",g5,d(l(i)("tools.plan.loading")),1)):_.value==="settled"&&m.value===null&&!x.value?(a(),c("div",y5,d(l(i)("tools.plan.unavailable")),1)):(a(),G(Ll,{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"]))}}),b5=Ee(k5,[["__scopeId","data-v-c851b016"]]),w5=/([\s\S]*?)<\/summary>/,S5=/([\s\S]*?)<\/resume_hint>/,ba=/]*)>|<\/subagent>/g,C5=" ",qr=/(completed|failed|aborted):\s*(\d+)/g,Wr=/([a-z_]+)="([^"]*)"/g;function _5(e){return e.replaceAll(""",'"').replaceAll("<","<").replaceAll(">",">").replaceAll("&","&")}function $5(e){const t={};Wr.lastIndex=0;let n;for(;(n=Wr.exec(e))!==null;)t[n[1]]=_5(n[2]);return t}function M5(e){const t={completed:0,failed:0,aborted:0};qr.lastIndex=0;let n;for(;(n=qr.exec(e))!==null;){const s=n[1];t[s]=Number(n[2])}return t}function x5(e,t){const n=$5(e);return{outcome:n.outcome??"completed",item:n.item,agentId:n.agent_id,mode:n.mode,state:n.state,body:t.trim()}}function I5(e){const t=[],n=[];ba.lastIndex=0;let s;for(;(s=ba.exec(e))!==null;)if(s[0]===C5){if(n.length===0)continue;const o=n.pop();o&&n.length===0&&t.push(x5(o.attrs,e.slice(o.bodyStart,s.index)))}else n.length===0?n.push({attrs:s[1]??"",bodyStart:ba.lastIndex}):n.push(null);return t}function A5(e){if(e==null)return null;const t=Array.isArray(e)?e.join(`
-`):e;if(!t.includes(""))return null;const n=w5.exec(t)?.[1]?.trim()??"",{completed:s,failed:o,aborted:i}=M5(n),u=S5.exec(t)?.[1]?.trim(),p=I5(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 Hr(e){return e?e.split(`
-`).map(t=>t.trimEnd()).filter(Boolean).at(-1)??"":""}function T5(e){return e.suspendedReason||Hr(e.text)||Hr(e.outputLines?.join(`
-`))||e.summary||""}function P5(e){return e.suspendedReason?e.suspendedReason:e.text?e.text:e.outputLines&&e.outputLines.length>0?e.outputLines.join(`
-`):e.summary??""}function E5(e){return e==="completed"?"completed":e==="failed"||e==="aborted"?"failed":"working"}function Ur(e,t){return{id:e.agentId??e.item??`result-${t}`,name:e.item??`subagent ${t+1}`,activity:e.body.split(`
-`)[0]??"",phase:E5(e.outcome),body:e.body}}function L5(e,t){return!!(t.agentId&&e.id===t.agentId||t.item&&e.name.includes(t.item))}function B5(e,t){const n=e.map(o=>({id:o.id,name:o.name,activity:T5(o),phase:o.phase,body:P5(o)}));if(!t)return n;const s=t.subagents.filter(o=>(o.outcome==="aborted"||o.state==="not_started")&&!e.some(i=>L5(i,o))).map((o,i)=>Ur(o,i));return n.length>0?[...n,...s]:t.subagents.map((o,i)=>Ur(o,i))}const R5=["aria-expanded"],O5={class:"title"},D5={key:0,class:"meta"},z5={key:1,class:"sum-txt"},F5={class:"rt"},N5={class:"status"},q5={key:0,class:"chip"},W5={key:1,class:"tm"},H5={class:"body"},U5={class:"overview"},V5={class:"overview-line"},j5={class:"big"},K5={key:0,class:"lbl"},G5={key:1,class:"lbl"},Q5={key:2,class:"lbl"},Y5={key:0,class:"seg","aria-hidden":"true"},Z5={key:1,class:"legend"},X5=["aria-expanded","onClick"],J5={class:"mname"},e_={class:"mact"},t_={class:"mphase"},n_={key:1,class:"fallback-output"},s_={key:2,class:"waiting"},o_=Ie({__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}=Ue(),n=e;function s(b){if(!b)return{};try{const P=JSON.parse(b),L=Array.isArray(P.items)?P.items:void 0;return{description:typeof P.description=="string"?P.description:void 0,itemCount:L?.length}}catch{return{}}}const o=mo("resolveSwarmMembers"),i=$(()=>s(n.tool.arg)),u=$(()=>Ks(n.tool.name)),p=$(()=>i.value.description??""),f=$(()=>o?.(n.tool.id)??[]),v=$(()=>A5(n.tool.output)),w=$(()=>n.tool.status),x=$(()=>w.value==="running"?"running":w.value==="error"||(v.value?.failed??0)>0||(v.value?.aborted??0)>0?"error":"ok"),h=$(()=>B5(f.value,v.value)),m=$(()=>{const b={completed:0,working:0,suspended:0,queued:0,failed:0};for(const P of h.value)b[P.phase]++;return b}),_=$(()=>h.value.length||i.value.itemCount||0),y=$(()=>m.value.completed+m.value.failed),g=$(()=>m.value.working+m.value.suspended+m.value.queued),k=[{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"}],T=$(()=>k.map(({phase:b,cls:P})=>({phase:b,count:m.value[b],cls:P})).filter(b=>b.count>0)),S=I(w.value==="running"||g.value>0);function O(){S.value=!S.value}const D=$(()=>h.value.length>0||v.value||w.value==="running"?"":(n.tool.output??[]).join(`
-`).trim()),E=I(new Set);function B(b){const P=new Set(E.value);P.has(b)?P.delete(b):P.add(b),E.value=P}function q(b){return E.value.has(b)}function V(b){return t(`tools.swarm.phase${b[0].toUpperCase()}${b.slice(1)}`)}return(b,P)=>(a(),c("div",{class:fe(["swarm-card",{open:S.value,err:x.value==="error",stacked:e.stackPosition!=="single"}])},[r("button",{class:"head",type:"button","aria-expanded":S.value,onClick:O},[M(se,{class:"ic",name:"git-pull-request",size:"sm"}),r("span",O5,d(u.value),1),p.value?(a(),c("span",D5,"·")):A("",!0),p.value?(a(),c("span",z5,d(p.value),1)):A("",!0),r("span",F5,[r("span",N5,[x.value==="ok"?(a(),G(se,{key:0,name:"check",size:"sm"})):x.value==="error"?(a(),G(se,{key:1,name:"close",size:"sm"})):(a(),G(Ro,{key:2,status:"running"}))]),y.value>0||_.value>0?(a(),c("span",q5,d(y.value)+" / "+d(_.value),1)):A("",!0),e.tool.timing?(a(),c("span",W5,d(e.tool.timing),1)):A("",!0)]),M(se,{class:"car",name:S.value?"chevron-down":"chevron-right",size:"sm"},null,8,["name"])],8,R5),gt(r("div",H5,[r("div",U5,[r("div",V5,[r("span",j5,d(l(t)("tools.swarm.progress",{done:y.value,total:_.value})),1),x.value==="running"&&_.value>0?(a(),c("span",K5,d(l(t)("tools.swarm.runningSub",{count:g.value})),1)):v.value?(a(),c("span",G5,d(l(t)("tools.swarm.doneSub",{completed:v.value.completed,failed:v.value.failed+v.value.aborted})),1)):(a(),c("span",Q5,d(l(t)("tools.swarm.waiting")),1))]),_.value>0&&T.value.length>0?(a(),c("div",Y5,[(a(!0),c(he,null,Pe(T.value,L=>(a(),c("span",{key:L.phase,class:fe(L.cls),style:rt({flex:L.count})},null,6))),128))])):A("",!0),T.value.length>1?(a(),c("div",Z5,[(a(!0),c(he,null,Pe(T.value,L=>(a(),c("span",{key:L.phase},[r("i",{class:fe(["lg-dot",L.cls])},null,2),re(d(V(L.phase))+" "+d(L.count),1)]))),128))])):A("",!0)]),h.value.length>0?(a(!0),c(he,{key:0},Pe(h.value,L=>(a(),c("div",{key:L.id,class:fe(["member",[`phase-${L.phase}`,{open:q(L.id)}]])},[r("button",{class:"member-head",type:"button","aria-expanded":q(L.id),onClick:ne=>B(L.id)},[M(Ro,{class:"row-dot",status:L.phase},null,8,["status"]),M(ot,{text:L.name},{default:H(()=>[r("span",J5,d(L.name),1)]),_:2},1032,["text"]),L.activity?(a(),G(ot,{key:0,text:L.activity},{default:H(()=>[r("span",e_,d(L.activity),1)]),_:2},1032,["text"])):A("",!0),r("span",t_,d(V(L.phase)),1),M(se,{class:"mcar",name:q(L.id)?"chevron-down":"chevron-right",size:"sm"},null,8,["name"])],8,X5),gt(r("div",{class:"member-body"},d(L.body),513),[[Jn,q(L.id)]])],2))),128)):D.value?(a(),c("div",n_,d(D.value),1)):(a(),c("div",s_,d(l(t)("tools.swarm.waiting")),1))],512),[[Jn,S.value]])],2))}}),i_=Ee(o_,[["__scopeId","data-v-4b58e128"]]);function a_(e){if(e.media&&e.status==="ok")return JC;const t=ho(e.name);return t==="edit"||t==="write"||t==="multi_edit"?qC:t==="exitplanmode"?b5:t==="task"?aC:t==="agentswarm"?i_:t==="askuserquestion"?TC:VC}const Xc=Ie({__name:"ToolCall",props:{tool:{},mobile:{type:Boolean,default:!1},stackPosition:{default:"single"},toolDiffPanel:{type:Boolean,default:!1}},emits:["openMedia","openFile","openToolDiff","openAgent"],setup(e,{emit:t}){const n=e,s=t,o=$(()=>a_(n.tool));return(i,u)=>(a(),G(vu(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))},null,40,["tool","mobile","stack-position","tool-diff-panel","data-scroll-anchor-id"]))}});function ms(e){if(e>=1024*1024)return`${Vr(e/(1024*1024))}M`;if(e>=1024){const t=e/1024;return`${t>=100?Math.round(t):Vr(t)}k`}return String(e)}function Vr(e){const t=e.toFixed(1);return t.endsWith(".0")?t.slice(0,-2):t}function ea(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 l_(e){return!(e.tool.status==="ok"&&e.tool.media)}function r_(e,t){return t<=1?"single":e===0?"first":e===t-1?"last":"middle"}const jr=new WeakMap;function u_(e){const t=jr.get(e);if(t)return t;const n=c_(e);return jr.set(e,n),n}function c_(e){const t=ea(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(l_(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 d_(e){return ea(e).flatMap(t=>t.kind==="text"&&t.text?[t.text]:[]).join(`
-
-`)}function p_(e){const t=[];for(const n of ea(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 Jc(e){return e.tool.id||`tool-${e.sourceIndex}`}function f_(e,t){return e.kind==="tool-stack"?`tool-stack-${e.tools[0]?.sourceIndex??t}`:e.kind==="tool"?Jc({tool:e.tool,sourceIndex:e.sourceIndex}):`${e.kind}-${e.sourceIndex}`}const m_=["aria-expanded"],v_={class:"tg-title"},h_={class:"tg-meta"},g_=["inert"],y_={class:"tool-group-body-inner"},k_=Ie({__name:"ToolGroup",props:{tools:{},mobile:{type:Boolean,default:!1},toolDiffPanel:{type:Boolean,default:!1}},emits:["openMedia","openFile","openToolDiff","openAgent"],setup(e,{emit:t}){const n=e,s=t,o=I(!0),i=$(()=>n.tools.length),u=$(()=>n.tools.some(m=>m.tool.status==="running")?"running":n.tools.some(m=>m.tool.status==="error")?"error":"done"),{t:p}=Ue(),f=$(()=>{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 w=mo("pinScroll",()=>{}),x=I(null);function h(){v();const m=x.value;m&&Ke(()=>w(m))}return(m,_)=>(a(),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:h},[M(Ro,{status:u.value},null,8,["status"]),M(se,{class:"tg-ic",name:"list",size:"sm"}),r("span",v_,d(l(p)("tools.group.title",i.value)),1),r("span",h_,"· "+d(f.value),1),M(se,{class:"tg-car",name:"chevron-right",size:"sm"})],8,m_),r("div",{class:fe(["tool-group-body",{open:o.value}]),inert:!o.value},[r("div",y_,[(a(!0),c(he,null,Pe(e.tools,(y,g)=>(a(),G(Xc,{key:l(Jc)(y),tool:y.tool,mobile:e.mobile,"stack-position":l(r_)(g,e.tools.length),"tool-diff-panel":e.toolDiffPanel,onOpenMedia:_[0]||(_[0]=k=>s("openMedia",k)),onOpenFile:_[1]||(_[1]=k=>s("openFile",k)),onOpenToolDiff:_[2]||(_[2]=k=>s("openToolDiff",k)),onOpenAgent:_[3]||(_[3]=k=>s("openAgent",k))},null,8,["tool","mobile","stack-position","tool-diff-panel"]))),128))])],10,g_)],2))}}),b_=Ee(k_,[["__scopeId","data-v-37eb334f"]]),Si=I(!1);let Kr=!1;function wa(){const e=document.documentElement.dataset.colorScheme;return e==="dark"?!0:e==="light"?!1:window.matchMedia("(prefers-color-scheme: dark)").matches}function ed(){return!Kr&&typeof window<"u"&&typeof document<"u"&&(Kr=!0,Si.value=wa(),new MutationObserver(()=>{Si.value=wa()}).observe(document.documentElement,{attributes:!0,attributeFilter:["data-color-scheme"]}),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",()=>{Si.value=wa()})),Si}const td=["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"],w_=new Set(["AGENTS.md","CHANGELOG.md","Dockerfile","LICENSE","Makefile","README.md","package.json","pnpm-lock.yaml","pnpm-workspace.yaml","tsconfig.json","vite.config.ts"]),Za=[...td].sort((e,t)=>t.length-e.length).join("|"),Sa=new RegExp([String.raw`(?:^|[\s([{"'`+"`"+String.raw`])`,String.raw`(`,String.raw`(?:~|\.{1,2}|/)?(?:[A-Za-z0-9_.@+()[\]-]+/)+[A-Za-z0-9_.@+()[\]-]+(?:\.(?:${Za}))?`,String.raw`|`,String.raw`[A-Za-z0-9_.@+()[\]-]+\.(?:${Za})`,String.raw`)`,String.raw`(?:#L?(\d+)|:(\d+))?`,String.raw`(?=$|[\s)"'\]}>.,;!?,。;!?)])`].join(""),"gi"),nd=/[),.;!?,。;!?)]+$/;function S_(e){const t=e.toLowerCase();return td.some(n=>t.endsWith(`.${n}`))}function C_(e){const t=new Map,n=new RegExp(String.raw`\b(?:path|src)=["'](\/[^"']+\.(?:${Za}))["']`,"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 __(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(nd,"");if(!o)return null;const i=o.split("/").pop()??o,u=o.includes("/"),p=w_.has(i),f=S_(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],w=v?Number(v):void 0;return{path:o,line:w!==void 0&&Number.isFinite(w)&&w>0?w:void 0}}function $_(e,t={}){const n=[];Sa.lastIndex=0;let s;for(;(s=Sa.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(nd,""),w=f.length-v.length;f=v;const x=__(f,t);if(!x)continue;const h=s.index+u,m=h+f.length;n.push({...x,start:h,end:m,text:f}),w>0&&(Sa.lastIndex-=w)}return n}const M_=12e4,x_=6e4,I_=32,A_=3e4,Gr=/(^|\n)(`{3,}|~{3,})[^\n]*\n([\s\S]*?)(?:\n)?\2(?=\n|$)/g;function T_(e){let t=0,n=0,s=0;Gr.lastIndex=0;let o;for(;(o=Gr.exec(e))!==null;){const u=o[3]??"";t+=1,n+=u.length,s=Math.max(s,u.length)}return{codeRenderer:e.length>=M_||n>=x_||t>=I_||s>=A_?"pre":"shiki",codeFenceCount:t,codeChars:n}}const P_={key:1,class:"diff-wrap"},E_={class:"diff-bar"},L_=["aria-label","onClick"],B_={class:"diff-pre"},R_={key:0,class:"diff-sign"},O_={class:"diff-text"},D_="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",Qr="github-light",Yr="github-dark",z_=Ie({__name:"Markdown",props:{text:{},openFile:{},streaming:{type:Boolean,default:!1}},setup(e){qd(),Wd(),Bd(),Fd(),Rd(new Od),Dd(new zd);function t(oe){return oe.inline.ruler.disable("math"),oe}const{t:n}=Ue(),s=mo("resolveImage"),o=I(null),i=e,u=$(()=>!i.streaming),p=$(()=>C_(i.text??"")),f=$(()=>i.streaming?{codeRenderer:"shiki",codeFenceCount:0,codeChars:0}:T_(i.text??"")),v=ed(),w=$(()=>!i.streaming),x=Bn(new Map),h=new Set,m=/(!\[[^\]]*\]\()\s*([^)\s]+)([^)]*\))/g,_=/( ]*?\bsrc=")([^"]+)(")/gi;function y(oe){return!/^(https?:|data:|blob:)/i.test(oe)}function g(oe){if(!s)return;const ge=[];for(const ce of[m,_]){ce.lastIndex=0;let Q;for(;(Q=ce.exec(oe))!==null;)ge.push(Q[2]??"")}for(const ce of ge)!ce||!y(ce)||x.has(ce)||h.has(ce)||(h.add(ce),s(ce).then(Q=>{x.set(ce,Q!==ce?Q:"")}).catch(()=>{x.set(ce,"")}).finally(()=>{h.delete(ce)}))}function k(oe){if(!s)return oe;const ge=ce=>{if(!y(ce))return null;const Q=x.get(ce);return Q===void 0?D_:Q===""?null:Q};return oe.replace(m,(ce,Q,ie,te)=>{const ye=ge(ie);return ye===null?ce:`${Q}${ye}${te}`}).replace(_,(ce,Q,ie,te)=>{const ye=ge(ie);return ye===null?ce:`${Q}${ye}${te}`})}Oe(()=>i.text,oe=>g(oe??""),{immediate:!0});function T(){if(!o.value||!i.openFile||i.streaming)return;const oe=document.createTreeWalker(o.value,NodeFilter.SHOW_TEXT),ge=[];let ce=oe.nextNode();for(;ce;){const Q=ce,ie=Q.parentElement;ie&&!ie.closest("a, pre, .md-file-link, svg")&&Q.data.trim().length>0&&ge.push(Q),ce=oe.nextNode()}for(const Q of ge){const ie=$_(Q.data,{aliases:p.value});if(ie.length===0||!Q.parentNode)continue;const te=document.createDocumentFragment();let ye=0;for(const _e of ie){_e.start>ye&&te.append(document.createTextNode(Q.data.slice(ye,_e.start)));const Ce=document.createElement("button");Ce.type="button",Ce.className="md-file-link",Ce.textContent=_e.text,Ce.title=_e.line?`${_e.path}:${_e.line}`:_e.path,Ce.addEventListener("click",Z=>{Z.preventDefault(),Z.stopPropagation(),i.openFile?.({path:_e.path,line:_e.line})}),te.append(Ce),ye=_e.end}ye{Q.preventDefault(),Q.stopPropagation(),i.openFile?.({path:O(ce)})}))}}function E(){Ke().then(()=>{T(),D()})}Oe(()=>i.text,E),Oe(()=>i.streaming,E);let B=null;ht(()=>{E(),o.value&&(B=new MutationObserver(E),B.observe(o.value,{childList:!0,subtree:!0}))}),kt(()=>{B?.disconnect()});const q={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}}},V=/(^|\n)(?:```|~~~)diff\b[^\n]*\n([\s\S]*?)(?:\n)?(?:```|~~~)(?=\n|$)/g,b=$(()=>{const oe=k(i.text??""),ge=[];let ce=0;V.lastIndex=0;let Q;for(;(Q=V.exec(oe))!==null;){const te=Q[1]??"",ye=oe.slice(ce,Q.index)+(te||"");ye.trim()&&ge.push({kind:"md",text:ye}),ge.push({kind:"diff",code:Q[2]??""}),ce=V.lastIndex}const ie=oe.slice(ce);return(ie.trim()||ge.length===0)&&ge.push({kind:"md",text:ie}),ge});function P(oe){return oe.split(`
-`).map(ge=>ge.startsWith("@@")?{type:"hunk",sign:"",text:ge}:/^\+(?!\+\+)/.test(ge)?{type:"add",sign:"+",text:ge.slice(1)}:/^-(?!--)/.test(ge)?{type:"del",sign:"-",text:ge.slice(1)}:ge.startsWith(" ")?{type:"ctx",sign:"",text:ge.slice(1)}:{type:"ctx",sign:"",text:ge})}const L=I(null);function ne(oe,ge){un(oe).then(ce=>{ce&&(L.value=ge,setTimeout(()=>{L.value=null},1400))})}return(oe,ge)=>(a(),c("div",{ref_key:"mdRef",ref:o,class:"md"},[(a(!0),c(he,null,Pe(b.value,(ce,Q)=>(a(),c(he,{key:Q},[ce.kind==="md"?(a(),G(l(Nd),{key:0,content:ce.text,"custom-markdown-it":t,mode:"chat","code-renderer":f.value.codeRenderer,"is-dark":l(v),"code-block-light-theme":Qr,"code-block-dark-theme":Yr,themes:[Qr,Yr],"code-block-props":q,final:u.value,"smooth-streaming":e.streaming,"batch-rendering":w.value,"defer-nodes-until-visible":!1,onCopy:l(ap)},null,8,["content","code-renderer","is-dark","themes","final","smooth-streaming","batch-rendering","onCopy"])):(a(),c("div",P_,[r("div",E_,[ge[0]||(ge[0]=r("span",{class:"diff-lang"},"diff",-1)),M(ot,{text:l(n)("filePreview.copyCode")},{default:H(()=>[r("button",{class:"diff-copy","aria-label":l(n)("filePreview.copyCode"),onClick:ie=>ne(ce.code,Q)},[M(se,{name:L.value===Q?"check":"copy",size:"sm"},null,8,["name"])],8,L_)]),_:2},1032,["text"])]),r("pre",B_,[r("code",null,[(a(!0),c(he,null,Pe(P(ce.code),(ie,te)=>(a(),c("span",{key:te,class:fe(["diff-line",`diff-${ie.type}`])},[ie.type!=="hunk"?(a(),c("span",R_,d(ie.sign),1)):A("",!0),r("span",O_,d(ie.text),1)],2))),128))])])]))],64))),128))],512))}}),ci=Ee(z_,[["__scopeId","data-v-9ccdd7fa"]]),F_=Object.freeze(Object.defineProperty({__proto__:null,default:ci},Symbol.toStringTag,{value:"Module"})),N_={class:"tc-anim"},q_={class:"prev-anim"},W_={class:"prev"},H_=Ie({__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=$(()=>n.text.split(/\n{2,}/).filter(v=>v.trim().length>0)),i=$(()=>n.foldable&&o.value.length>1),u=$(()=>n.streaming||!i.value),p=$(()=>o.value.at(-1)??""),f=I(null);return ht(()=>{if(!n.streaming)return;const v=f.value;v&&(v.scrollTop=v.scrollHeight)}),Oe(()=>n.text,()=>{const v=f.value;!v||!(v.scrollHeight-v.scrollTop-v.clientHeight<24)||Ke(()=>{f.value&&(f.value.scrollTop=f.value.scrollHeight)})},{immediate:!0}),(v,w)=>(a(),c("div",{class:fe(["think",{mob:e.mobile}])},[i.value?(a(),c("div",{key:0,class:fe(["tc-wrap",{"is-collapsed":!u.value}]),onClick:w[0]||(w[0]=x=>s("open"))},[r("div",N_,[r("pre",{ref_key:"bodyEl",ref:f,class:"tc"},d(e.text),513)]),r("div",q_,[r("span",W_,d(p.value),1)])],2)):(a(),c("pre",{key:1,ref_key:"bodyEl",ref:f,class:"tc"},d(e.text),513))],2))}}),U_=Ee(H_,[["__scopeId","data-v-0b3b873f"]]),V_={class:"activity-notice",role:"status"},j_={"aria-hidden":"true"},K_={class:"an-label"},G_=Ie({__name:"ActivityNotice",props:{label:{}},setup(e){return(t,n)=>(a(),c("div",V_,[r("span",j_,[M(Dt,{size:"sm"})]),r("span",K_,d(e.label),1)]))}}),Q_=Ee(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=w=>String(w).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 Z_=Ie({__name:"MessageTime",props:{time:{}},setup(e){const t=e,{t:n}=Ue(),s=I(!1),o=$(()=>{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=$(()=>s.value?o.value:Y_(t.time,n("conversation.yesterday")));function u(){s.value=!s.value}return(p,f)=>(a(),c("button",{type:"button",class:"msg-time",onClick:Re(u,["stop"])},d(i.value),1))}}),xi=Ee(Z_,[["__scopeId","data-v-9672fbd5"]]);function X_(e){return e.length===1?`0${e}`:e}function J_(e,t){return`${String(Number(e))}:${X_(t)}`}const Zr=e=>/^\d+$/.test(e);function e8(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 w=/^\*\/(\d+)$/.exec(s);if(w&&o==="*"&&f)return w[1]==="1"?t("conversation.cron.everyMinute"):t("conversation.cron.everyNMinutes",{n:w[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(Zr(s)&&Zr(o)&&v){const h=J_(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 t8=["data-turn-id"],n8={class:"cn-bubble"},s8={class:"cn-title"},o8={key:0,class:"cn-prompt"},i8={class:"cn-meta"},a8={key:0,class:"cn-meta-item"},l8={key:1,class:"cn-meta-item"},r8=["aria-label"],u8=["title"],c8=Ie({__name:"CronNotice",props:{text:{},cron:{},turnId:{},createdAt:{}},setup(e){const t=e,{t:n}=Ue(),s=$(()=>t.cron),o=$(()=>s.value?.missedCount!==void 0),i=$(()=>o.value?n("conversation.cron.missed"):n("conversation.cron.fired")),u=$(()=>{const w=s.value?.cron;return w?e8(w,n):""}),p=$(()=>o.value?"error":"ok"),f=$(()=>{const w=s.value;if(!w)return"";const x=[];return w.recurring===!1&&x.push(n("conversation.cron.oneShot")),typeof w.coalescedCount=="number"&&w.coalescedCount>1&&x.push(n("conversation.cron.coalesced",{n:w.coalescedCount})),w.missedCount!==void 0&&x.push(n("conversation.cron.missedCount",{n:w.missedCount})),w.stale===!0&&x.push(n("conversation.cron.finalDelivery")),x.join(" · ")}),v=$(()=>t.text??"");return(w,x)=>(a(),c("div",{class:fe(["cn cron-notice",{"turn-anchor":!!e.turnId}]),"data-turn-id":e.turnId,role:"status"},[r("div",n8,[r("span",s8,d(i.value),1),v.value?(a(),c("span",o8,d(v.value),1)):A("",!0)]),r("div",i8,[M(se,{name:"clock",size:"sm",class:"cn-meta-ico","aria-hidden":"true"}),u.value?(a(),c("span",a8,d(u.value),1)):A("",!0),f.value?(a(),c("span",l8,d(f.value),1)):A("",!0),r("span",{class:fe(["cn-status",p.value]),"aria-label":p.value},[p.value==="ok"?(a(),G(se,{key:0,name:"check",size:"sm"})):(a(),G(se,{key:1,name:"close",size:"sm"}))],10,r8),s.value?.jobId?(a(),c("span",{key:2,class:"cn-meta-item cn-id",title:l(n)("conversation.cron.job",{id:s.value.jobId})},d(s.value.jobId),9,u8)):A("",!0),e.createdAt?(a(),G(xi,{key:3,time:e.createdAt},null,8,["time"])):A("",!0)])],10,t8))}}),d8=Ee(c8,[["__scopeId","data-v-a62a6587"]]),p8=["src","controls","muted"],f8=["src","alt"],sd=Ie({__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=I(t.fileId?"":t.url),s=I(null),o=I(!t.fileId);let i=null,u=0,p=!1,f=null;function v(){i!==null&&(URL.revokeObjectURL(i),i=null)}async function w(){const x=++u;if(v(),!t.fileId){n.value=t.url;return}if(o.value)try{const h=await Te().getFileBlob(t.fileId),m=URL.createObjectURL(h);if(p||x!==u){URL.revokeObjectURL(m);return}i=m,n.value=i}catch{if(p||x!==u)return;n.value=t.url}}return Oe(()=>[t.fileId,t.url,o.value],w,{immediate:!0}),ht(()=>{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}),Ln(()=>{p=!0,f?.disconnect(),f=null,v()}),(x,h)=>e.kind==="video"?(a(),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,p8)):(a(),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,f8))}}),m8=["title","data-kind"],v8=["aria-label"],h8={class:"att-tile"},g8={class:"att-name"},y8={key:1,class:"att-err"},k8=["aria-label"],b8=Ie({__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}=Ue(),i=$(()=>{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=$(()=>{const w=i.value??"";return/^(txt|md|doc|docx|rtf|log)$/i.test(w)?"file-text":"file"}),p=$(()=>n.name?n.name:n.kind==="image"?o("composer.attachmentImage"):n.kind==="video"?o("composer.attachmentVideo"):o("composer.attachmentFile"));function f(w){return w<1024?`${w} B`:w<1024*1024?`${Math.round(w/1024)} KB`:`${(w/(1024*1024)).toFixed(1)} MB`}const v=$(()=>{const w=[p.value];return n.size!==void 0&&w.push(f(n.size)),w.join(" · ")});return(w,x)=>(a(),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]=h=>s("activate"))},[r("span",h8,[e.kind==="image"&&e.url?(a(),G(sd,{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"?(a(),G(se,{key:1,name:"play",size:"sm"})):e.kind==="image"?(a(),G(se,{key:2,name:"image",size:"sm"})):(a(),G(se,{key:3,name:u.value,size:"sm"},null,8,["name"]))]),r("span",g8,d(p.value),1),e.uploading?(a(),G(Dt,{key:0,size:"sm",label:l(o)("composer.uploading")},null,8,["label"])):e.error?(a(),c("span",y8,[M(se,{name:"info",size:"sm"})])):A("",!0)],8,v8),e.removable?(a(),G(ot,{key:0,text:e.removeLabel??l(o)("composer.remove")},{default:H(()=>[r("button",{type:"button",class:"att-rm","aria-label":e.removeLabel??l(o)("composer.remove"),onClick:x[1]||(x[1]=h=>s("remove"))},[M(se,{name:"close",size:"sm"})],8,k8)]),_:1},8,["text"])):A("",!0)],10,m8))}}),od=Ee(b8,[["__scopeId","data-v-12ec975b"]]),w8=["aria-label"],S8=120,C8=60,_8=Ie({__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*S8}ms`,"--moon-frame-fast-delay":`${s*C8}ms`}}return(s,o)=>(a(),c("span",{class:fe(["ui-moon",[`ui-moon--${e.size}`,{"ui-moon--fast":e.fast}]]),"aria-label":e.label,role:"img"},[(a(),c(he,null,Pe(t,(i,u)=>r("span",{key:i,class:"ui-moon__frame",style:rt(n(u)),"aria-hidden":"true"},d(i),5)),64))],10,w8))}}),id=Ee(_8,[["__scopeId","data-v-a6b7ec07"]]),$8={class:"ui-banner__icon","aria-hidden":"true"},M8={class:"ui-banner__text"},x8=Ie({__name:"Banner",props:{variant:{default:"info"}},setup(e){return(t,n)=>(a(),c("div",{class:fe(["ui-banner",`ui-banner--${e.variant}`]),role:"status"},[r("span",$8,[yt(t.$slots,"icon",{},()=>[e.variant==="info"?(a(),G(se,{key:0,name:"info",size:"md"})):(a(),G(se,{key:1,name:"alert-triangle",size:"md"}))],!0)]),r("span",M8,[yt(t.$slots,"default",{},void 0,!0)])],2))}}),ad=Ee(x8,[["__scopeId","data-v-b0afda1c"]]),I8=["type","disabled"],A8={class:"ui-button__content"},T8=Ie({__name:"Button",props:{variant:{default:"primary"},size:{default:"md"},disabled:{type:Boolean},loading:{type:Boolean},type:{default:"button"}},setup(e){return(t,n)=>(a(),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?(a(),G(Dt,{key:0,size:"sm",class:"ui-button__spinner"})):A("",!0),r("span",A8,[yt(t.$slots,"default",{},void 0,!0)])],10,I8))}}),qe=Ee(T8,[["__scopeId","data-v-556ea0b6"]]),Ca="chat-search-hit",P8="chat-search-hit--active",Xr={childList:!0,subtree:!0,characterData:!0};function E8(e){const{root:t,query:n,activeIndex:s}=e;let o=null,i=0;function u(v){const w=v.querySelectorAll(`.${Ca}`);for(const x of w)x.replaceWith(...Array.from(x.childNodes))}function p(){i=0;const v=t.value,w=n.value.trim();if(v){if(o?.disconnect(),u(v),w.length>0){const x=w.toLowerCase(),h=s.value,m=document.createTreeWalker(v,NodeFilter.SHOW_TEXT),_=[];let y=m.nextNode();for(;y;)_.push(y),y=m.nextNode();let g=0;for(const k of _){const T=k.data.toLowerCase();let S=T.indexOf(x);if(S===-1)continue;const O=k.parentNode;if(!O)continue;const D=document.createDocumentFragment();let E=0;for(;S!==-1;){S>E&&D.append(document.createTextNode(k.data.slice(E,S)));const B=document.createElement("span");B.className=g===h?`${Ca} ${P8}`:Ca,B.textContent=k.data.slice(S,S+w.length),D.append(B),g+=1,E=S+w.length,S=T.indexOf(x,E)}E{o?.disconnect(),o=null;const v=t.value;v&&(o=new MutationObserver(f),o.observe(v,Xr),p())}),Oe([n,s],()=>{Ke(p)},{flush:"post"}),kt(()=>{o?.disconnect(),o=null,i!==0&&cancelAnimationFrame(i)})}const L8=/^(application\/pdf|image\/(png|jpe?g|gif|webp|avif|bmp|x-icon|vnd\.microsoft\.icon)|video\/[\w.+-]+|audio\/[\w.+-]+)$/i,B8=/^(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,R8=/^(png|jpe?g|gif|webp|avif|bmp|ico)$/i,Jr="text/plain;charset=utf-8";function O8(e,t){const n=(t??"").toLowerCase();if(L8.test(n))return n;if(n.startsWith("text/"))return n==="text/html"?null:Jr;const s=e?.match(/\.([A-Za-z0-9]{1,8})$/)?.[1]?.toLowerCase();return s===void 0?null:B8.test(s)?Jr:R8.test(s)?`image/${s==="jpg"?"jpeg":s==="ico"?"x-icon":s}`:s==="pdf"?"application/pdf":null}async function ld(e,t,n){const s=O8(t,n);if(s===null)return"unsupported";const o=window.open("","_blank");o!==null&&(o.opener=null);const i=await Te().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 Ii="(pointer: coarse)",D8="(any-pointer: fine)",z8="(max-width: 980px)";function rd(e){if(!(typeof window>"u"||typeof window.matchMedia!="function"))return window.matchMedia(e)}function Wi(e,t=rd){return t(e)?.matches??!1}function ud(e,t,n=rd){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}const F8={key:0,class:"chat-loading"},N8={class:"chat-loading-text"},q8={key:1,class:"chat-empty"},W8={key:1,class:"top-sentinel-text"},H8={key:0,class:"u-turn"},U8=["data-turn-id"],V8={key:0,class:"u-atts"},j8={key:1,class:"skill-act"},K8={class:"skill-act-head"},G8={key:0,class:"skill-act-args"},Q8={key:2,class:"skill-act"},Y8={class:"skill-act-head"},Z8={key:0,class:"skill-act-args"},X8={key:3,class:"u-text"},J8={key:0,class:"u-meta"},e$=["aria-label","onClick"],t$=["aria-label","onClick"],n$=["data-turn-id"],s$=["onClick"],o$={class:"cd-view"},i$={key:1,class:"cd-label"},a$=["data-turn-id"],l$={key:1,class:"msg"},r$={class:"turn-error-text"},u$={key:0,class:"a-msg-ft"},c$=["aria-label","onClick"],d$={key:4,class:"sending-placeholder"},p$={key:5,class:"q-stack"},f$={class:"q-head"},m$={class:"q-title"},v$={class:"q-hint"},h$=["onDragover","onDrop"],g$={class:"u-bub q-bub"},y$=["title","onDragstart"],k$=["title","onClick"],b$={key:0,class:"u-text q-text"},w$={key:1,class:"q-text q-text-placeholder"},S$={key:0,class:"q-imgs"},C$={key:0,class:"q-file"},_$={key:1,class:"q-tag q-tag-next"},$$={key:2,class:"q-tag q-tag-idx"},M$=["aria-label"],x$=["aria-label","onClick"],I$={key:0,class:"open-unsupported",role:"status"},A$=2500,T$=Ie({__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}},emits:["openFile","openMedia","copyConversationCopied","openThinking","openCompaction","openAgent","openToolDiff","editMessage","loadOlderMessages","unqueue","editQueued","reorderQueue","steerQueued","resumeTurn"],setup(e,{expose:t,emit:n}){const{t:s}=Ue(),{confirm:o}=go();kt(()=>{U!==null&&(clearTimeout(U),U=null),ce!==null&&(clearTimeout(ce),ce=null),L!==null&&(clearTimeout(L),L=null),Be!==null&&(clearTimeout(Be),Be=null)});const i=e,u=I(null);let p=null;function f(){!u.value||typeof IntersectionObserver>"u"||(p?.disconnect(),p=new IntersectionObserver(R=>{R[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))}ht(f),kt(()=>{p?.disconnect(),p=null}),Oe(()=>[i.hasMoreMessages,i.loadingMore,i.loadingMoreError],()=>{Ke().then(f)});const v=$(()=>{if(!i.turnActive||i.turns.length===0)return null;const R=i.turns.at(-1);return R.role==="assistant"?R.id:null}),w=$(()=>i.working),x=$(()=>Wi(Ii)?s("composer.queueSteerTouch"):s("composer.queueSteer"));function h(R){const X=eu(i.turns,R.id);X&&m("resumeTurn",X)}const m=n,_=I(null);E8({root:_,query:$(()=>i.searchQuery??""),activeIndex:$(()=>i.searchActiveIndex??-1)});const y=I(null),g=I(null);function k(R){return(R.attachments?.length??0)>0}function T(R){m("editQueued",R)}function S(R,X){if(y.value=R,!X.dataTransfer)return;X.dataTransfer.effectAllowed="move",X.dataTransfer.setData("text/plain",String(R));const me=X.currentTarget?.closest(".q-turn");me&&X.dataTransfer.setDragImage(me,24,24)}function O(R,X){if(y.value===null)return;X.preventDefault(),X.dataTransfer&&(X.dataTransfer.dropEffect="move");const me=X.currentTarget.getBoundingClientRect(),He=X.clientY{for(let R=i.turns.length-1;R>=0;R--)if(i.turns[R].role==="user")return i.turns[R].id;return null});function q(R){return R.role==="user"&&R.id===B.value&&!i.working&&!R.skillActivation&&!R.pluginCommand}function V(R){const X=R.compaction,me=X?.trigger==="auto"?s("conversation.compactedAuto"):s("conversation.compactedPlain");return typeof X?.tokensBefore=="number"&&typeof X?.tokensAfter=="number"?me+s("conversation.compactedTokens",{before:ms(X.tokensBefore),after:ms(X.tokensAfter)}):me}const b=I(null),P=I(null);let L=null;async function ne(R){await o({title:s("conversation.undo"),message:s("conversation.undoConfirm"),variant:"primary"})&&oe(R)}function oe(R){P.value===null&&(P.value=R.id,m("editMessage",{text:R.text,attachments:R.attachments}),L=setTimeout(()=>{L=null,P.value=null},A$))}Oe(()=>i.turns,R=>{P.value!==null&&(R.some(X=>X.id===P.value)||(P.value=null,L!==null&&(clearTimeout(L),L=null)))},{flush:"post"});const ge=I(!1);let ce=null;function Q(){if(i.turns.length===0)return;const R=[];for(const me of i.turns){if(me.role==="compaction"||me.role==="cron")continue;const He=me.role==="user"?"User":"Assistant",De=p_(me);De.trim()&&R.push(`**${He}**
-
-${De}`)}const X=R.join(`
-
----
-
-`);un(X).then(me=>{me&&(ge.value=!0,m("copyConversationCopied"),ce!==null&&clearTimeout(ce),ce=setTimeout(()=>{ce=null,ge.value=!1},2e3))}).catch(()=>{})}function ie(R){const X=[];for(let me=R;me>=0;me--){const He=i.turns[me];if(!He||He.role!=="assistant")break;X.unshift(He)}return X}function te(R){return ie(R).map(X=>d_(X)).filter(Boolean).join(`
-
-`)}const ye=$(()=>{const R=new Map;for(let X=i.turns.length-1;X>=0;X-=1){const me=i.turns[X];me&&me.role==="assistant"&&Z(X)&&R.set(me.id,te(X))}return R});function _e(){for(let R=i.turns.length-1;R>=0;R-=1)if(i.turns[R]?.role==="assistant")return te(R);return""}function Ce(){const R=_e();R.trim()&&un(R).then(X=>{X&&(ge.value=!0,m("copyConversationCopied"),ce!==null&&clearTimeout(ce),ce=setTimeout(()=>{ce=null,ge.value=!1},2e3))}).catch(()=>{})}t({copyConversation:Q,copyFinalSummary:Ce});function Z(R){const X=i.turns[R];if(!X||X.role!=="assistant")return!1;const me=i.turns[R+1];return!me||me.role!=="assistant"}let U=null;function ke(R){const X=i.turns[R];if(!X)return;const me=te(R);me.trim()&&un(me).then(He=>{He&&(b.value=X.id,U!==null&&clearTimeout(U),U=setTimeout(()=>{U=null,b.value=null},1400))}).catch(()=>{})}function ae(R){const X=R.text;X.trim()&&un(X).then(me=>{me&&(b.value=R.id,U!==null&&clearTimeout(U),U=setTimeout(()=>{U=null,b.value=null},1400))}).catch(()=>{})}function ee(R){return{kind:R.kind==="video"?"video":"image",url:R.url,path:R.name,fileId:R.fileId}}const de=I(null);let Be=null;function Y(R){if(R.kind==="image"||R.kind==="video"){m("openMedia",ee(R));return}R.fileId!==void 0&&ld(R.fileId,R.name,R.mediaType).then(X=>{X==="unsupported"&&(de.value=R.name??R.fileId??"",Be!==null&&clearTimeout(Be),Be=setTimeout(()=>{Be=null,de.value=null},2400))})}function ve(R,X){return R.id!==v.value?!1:X.sourceIndex===ea(R).length-1}return(R,X)=>(a(),c(he,null,[r("div",{ref_key:"chatRootRef",ref:_,class:"chat"},[e.sessionLoading?(a(),c("div",F8,[M(Dt,{size:"sm"}),r("span",N8,d(l(s)("conversation.loading")),1)])):e.turns.length===0&&(!e.approvals||e.approvals.length===0)?(a(),c("div",q8)):A("",!0),e.hasMoreMessages||e.loadingMore?(a(),c("div",{key:2,ref_key:"topSentinelRef",ref:u,class:fe(["top-sentinel",{"top-sentinel-loading":e.loadingMore}])},[e.loadingMore?(a(),c("span",W8,[M(Dt,{size:"sm"}),re(" "+d(l(s)("conversation.loadingOlder")),1)])):(a(),c("button",{key:0,type:"button",class:"top-sentinel-btn",onClick:X[0]||(X[0]=me=>m("loadOlderMessages"))},d(l(s)("conversation.loadOlder")),1))],2)):A("",!0),(a(!0),c(he,null,Pe(e.turns,(me,He)=>(a(),c(he,{key:me.id},[me.role==="user"?(a(),c("div",H8,[r("div",{class:fe(["u-bub turn-anchor",{undoing:P.value===me.id}]),"data-turn-id":me.id},[me.attachments&&me.attachments.length>0?(a(),c("div",V8,[(a(!0),c(he,null,Pe(me.attachments,(De,an)=>(a(),G(od,{key:an,kind:De.kind,name:De.name,url:De.url,"file-id":De.fileId,"media-type":De.mediaType,size:De.size,onActivate:Fe=>Y(De)},null,8,["kind","name","url","file-id","media-type","size","onActivate"]))),128))])):A("",!0),me.skillActivation?(a(),c("div",j8,[r("div",K8,[X[10]||(X[10]=r("span",{class:"skill-act-arrow"},"▶",-1)),r("span",null,d(l(s)("conversation.activatedSkill",{name:me.skillActivation.name})),1)]),me.skillActivation.args?(a(),c("div",G8,d(me.skillActivation.args),1)):A("",!0)])):me.pluginCommand?(a(),c("div",Q8,[r("div",Y8,[X[11]||(X[11]=r("span",{class:"skill-act-arrow"},"▶",-1)),r("span",null,"/"+d(me.pluginCommand.pluginId)+":"+d(me.pluginCommand.commandName),1)]),me.pluginCommand.args?(a(),c("div",Z8,d(me.pluginCommand.args),1)):A("",!0)])):(a(),c("div",X8,d(me.text),1))],10,U8),me.createdAt||q(me)?(a(),c("div",J8,[q(me)?(a(),c("div",{key:0,class:fe(["u-edit-wrap",{undoing:P.value===me.id}])},[r("button",{type:"button",class:"u-edit","aria-label":l(s)("conversation.undoTooltip"),onClick:De=>ne(me)},[M(se,{name:"undo",size:"sm"})],8,e$)],2)):A("",!0),me.text.trim().length>0?(a(),c("button",{key:1,type:"button",class:"u-copy","aria-label":l(s)("filePreview.copy"),onClick:Re(De=>ae(me),["stop"])},[b.value!==me.id?(a(),G(se,{key:0,name:"copy",size:"sm"})):(a(),G(se,{key:1,name:"check",size:"sm"}))],8,t$)):A("",!0),me.createdAt?(a(),G(xi,{key:2,time:me.createdAt},null,8,["time"])):A("",!0)])):A("",!0)])):me.role==="compaction"?(a(),c("div",{key:1,class:"compact-divider turn-anchor","data-turn-id":me.id,role:"separator"},[X[12]||(X[12]=r("span",{class:"cd-line","aria-hidden":"true"},null,-1)),me.text?(a(),c("button",{key:0,type:"button",class:"cd-label cd-btn",onClick:De=>m("openCompaction",{turnId:me.id})},[r("span",null,d(V(me)),1),r("span",o$,d(l(s)("conversation.viewSummary")),1)],8,s$)):(a(),c("span",i$,d(V(me)),1)),X[13]||(X[13]=r("span",{class:"cd-line","aria-hidden":"true"},null,-1))],8,n$)):me.role==="cron"?(a(),G(d8,{key:2,text:me.text,cron:me.cron,"turn-id":me.id,"created-at":me.createdAt},null,8,["text","cron","turn-id","created-at"])):(a(),c("div",{key:3,class:"a-msg turn-anchor","data-turn-id":me.id},[(a(!0),c(he,null,Pe(l(u_)(me),(De,an)=>(a(),c(he,{key:l(f_)(De,an)},[De.kind==="thinking"?(a(),G(U_,{key:0,text:De.thinking,mobile:"",streaming:ve(me,De),onOpen:Fe=>m("openThinking",{turnId:me.id,blockIndex:De.sourceIndex})},null,8,["text","streaming","onOpen"])):De.kind==="text"&&De.text?(a(),c("div",l$,[M(ci,{text:De.text,streaming:ve(me,De),"open-file":Fe=>m("openFile",Fe)},null,8,["text","streaming","open-file"])])):De.kind==="error"?(a(),G(ad,{key:2,variant:"danger",class:"turn-error"},{default:H(()=>[r("span",r$,d(De.text),1),l(eu)(e.turns,me.id)!==null?(a(),G(qe,{key:0,class:"turn-error-resume",size:"sm",variant:"secondary",onClick:Re(Fe=>h(me),["stop"])},{default:H(()=>[re(d(l(s)("conversation.turnFailedResume")),1)]),_:1},8,["onClick"])):A("",!0)]),_:2},1024)):De.kind==="tool-stack"?(a(),G(b_,{key:3,tools:De.tools,mobile:"","tool-diff-panel":e.toolDiffPanel,onOpenMedia:X[1]||(X[1]=Fe=>m("openMedia",Fe)),onOpenFile:X[2]||(X[2]=Fe=>m("openFile",Fe)),onOpenToolDiff:X[3]||(X[3]=Fe=>m("openToolDiff",Fe)),onOpenAgent:X[4]||(X[4]=Fe=>m("openAgent",Fe))},null,8,["tools","tool-diff-panel"])):De.kind==="tool"?(a(),G(Xc,{key:4,tool:De.tool,mobile:"","tool-diff-panel":e.toolDiffPanel,onOpenMedia:X[5]||(X[5]=Fe=>m("openMedia",Fe)),onOpenFile:X[6]||(X[6]=Fe=>m("openFile",Fe)),onOpenToolDiff:X[7]||(X[7]=Fe=>m("openToolDiff",Fe)),onOpenAgent:X[8]||(X[8]=Fe=>m("openAgent",Fe))},null,8,["tool","tool-diff-panel"])):A("",!0)],64))),128)),me.id!==v.value&&Z(He)&&((ye.value.get(me.id)??"").trim().length>0||me.durationMs!==void 0)?(a(),c("div",u$,[me.createdAt&&me.durationMs!==void 0?(a(),G(ot,{key:0,text:`${me.durationMs} ms`},{default:H(()=>[M(xi,{time:me.createdAt},null,8,["time"])]),_:2},1032,["text"])):me.createdAt?(a(),G(xi,{key:1,time:me.createdAt},null,8,["time"])):A("",!0),(ye.value.get(me.id)??"").trim().length>0?(a(),c("button",{key:2,class:"a-cpbtn","aria-label":l(s)("filePreview.copy"),onClick:De=>ke(He)},[b.value!==me.id?(a(),G(se,{key:0,name:"copy",size:"sm"})):(a(),G(se,{key:1,name:"check",size:"sm"}))],8,c$)):A("",!0)])):A("",!0)],8,a$))],64))),128)),e.compaction?(a(),G(Q_,{key:3,label:l(s)("conversation.compacting")},null,8,["label"])):A("",!0),w.value?(a(),c("div",d$,[M(id,{fast:e.fastMoon,label:e.retry?l(s)("conversation.workingRetry",{n:e.retry.attempt,max:e.retry.max}):l(s)("conversation.waitingForResponse")},null,8,["fast","label"])])):A("",!0),e.queued.length>0?(a(),c("div",p$,[r("div",f$,[r("span",m$,[M(se,{name:"mail",size:"sm"}),re(" "+d(l(s)("composer.queueLabel"))+" · ",1),r("b",null,d(e.queued.length),1)]),r("span",v$,d(l(s)("composer.queueAutoDrain")),1)]),(a(!0),c(he,null,Pe(e.queued,(me,He)=>(a(),c("div",{key:He,class:fe(["u-turn q-turn",{"q-dragging":y.value===He,"drop-before":g.value?.index===He&&g.value.position==="before","drop-after":g.value?.index===He&&g.value.position==="after"}]),onDragover:De=>O(He,De),onDrop:De=>D(He,De)},[r("div",g$,[r("span",{class:"q-grip",title:l(s)("composer.queueDragTitle"),draggable:"true",onDragstart:De=>S(He,De),onDragend:E},[M(se,{name:"grip",size:"sm"})],40,y$),r("button",{type:"button",class:"q-body",title:l(s)("composer.editQueued"),onClick:De=>T(He)},[me.text?(a(),c("span",b$,d(me.text),1)):(a(),c("span",w$,[M(se,{name:"file",size:"sm"}),re(" "+d(l(s)("composer.queuedAttachments",{n:me.attachments?.length??0})),1)]))],8,k$),k(me)?(a(),c("div",S$,[(a(!0),c(he,null,Pe(me.attachments,(De,an)=>(a(),c(he,{key:an},[De.kind==="file"?(a(),c("span",C$,[M(se,{name:"file",size:"sm"}),re(" "+d(De.name??De.fileId),1)])):(a(),G(sd,{key:1,url:De.url,kind:De.kind,"file-id":De.fileId,"media-class":"q-img",controls:!1,muted:""},null,8,["url","kind","file-id"]))],64))),128))])):A("",!0),He===0?(a(),c("span",_$,d(l(s)("composer.queueNext")),1)):(a(),c("span",$$,"#"+d(He+1),1)),r("button",{type:"button",class:"q-steer","aria-label":x.value,onClick:X[9]||(X[9]=Re(De=>m("steerQueued"),["stop"]))},[M(se,{name:"send",size:"sm"})],8,M$),r("button",{type:"button",class:"q-rm","aria-label":l(s)("composer.remove"),onClick:Re(De=>m("unqueue",He),["stop"])},[M(se,{name:"close",size:"sm"})],8,x$)])],42,h$))),128))])):A("",!0)],512),de.value!==null?(a(),c("div",I$,d(l(s)("composer.attachmentOpenUnsupported",{name:de.value})),1)):A("",!0)],64))}}),cd=Ee(T$,[["__scopeId","data-v-3ca41c3a"]]),P$={class:"ch-id"},E$={key:0,class:"ch-ws"},L$={key:1,class:"ch-sep"},B$=["onKeydown"],R$={class:"ch-ses"},O$={key:0,class:"ch-pill ch-sync-pill"},D$={key:0,class:"ch-ahead"},z$={key:1,class:"ch-behind"},F$={key:1,class:"ch-pill ch-diff-pill"},N$={key:0,class:"ch-add"},q$={key:1,class:"ch-del"},W$=Ie({__name:"ChatHeader",props:{sessionId:{},workspaceName:{},workspaceRoot:{},sessionTitle:{},branch:{},ahead:{},behind:{},changesCount:{},gitDiffStats:{},isGitRepo:{type:Boolean},pr:{},copied:{type:Boolean},searchActive:{type:Boolean}},emits:["copyAll","copyFinalSummary","openChanges","openPr","renameSession","forkSession","archiveSession","exportSession","toggleSearch"],setup(e,{emit:t}){const{t:n}=Ue(),s=e,o=t,i=$(()=>s.ahead??0),u=$(()=>s.behind??0),p=$(()=>s.gitDiffStats?.totalAdditions??0),f=$(()=>s.gitDiffStats?.totalDeletions??0),v=$(()=>p.value>0||f.value>0),w={open:"header.prStatusOpen",closed:"header.prStatusClosed",merged:"header.prStatusMerged",draft:"header.prStatusDraft"};function x(te){return te.trim().toLowerCase().replaceAll("_","-")}function h(te){const ye=x(te);return w[ye]?`pr-${ye}`:"pr-unknown"}function m(te){return n(w[x(te)]??"header.prStatusUnknown")}const _=I(!1),y=I(null),g=I(null),k=I({});function T(te){const ye=te.target;g.value?.el?.contains(ye)||y.value?.el?.contains(ye)||D()}function S(){D()}async function O(te){if(te.stopPropagation(),_.value){D();return}_.value=!0,document.addEventListener("mousedown",T),window.addEventListener("resize",S),await Ke();const ye=y.value?.el,_e=g.value?.el;if(!ye||!_e)return;const Ce=ye.getBoundingClientRect(),Z=4,U=8,ke=_e.offsetWidth,ae=_e.offsetHeight;let ee=Ce.bottom+Z;ee+ae>window.innerHeight-U&&(ee=Math.max(U,Ce.top-ae-Z));let de=Ce.left;de+ke>window.innerWidth-U&&(de=Math.max(U,Ce.right-ke)),k.value={top:`${Math.round(ee)}px`,left:`${Math.round(de)}px`}}function D(){_.value=!1,document.removeEventListener("mousedown",T),window.removeEventListener("resize",S)}kt(()=>{document.removeEventListener("mousedown",T),window.removeEventListener("resize",S)});function E(){o("copyAll"),D()}function B(){o("copyFinalSummary"),D()}const q=I(!1);function V(){s.sessionId&&un(s.sessionId).then(te=>{te&&(q.value=!0,setTimeout(()=>{q.value=!1},1200))})}const b=I(!1),P=I(""),L=I(null);async function ne(){if(D(),!!s.sessionId){b.value=!0,P.value=s.sessionTitle??"",await Ke();try{L.value?.focus(),L.value?.select()}catch{}}}function oe(){const te=P.value.trim();te&&s.sessionId&&te!==(s.sessionTitle??"").trim()&&o("renameSession",s.sessionId,te),b.value=!1}function ge(){b.value=!1}function ce(){s.sessionId&&(D(),o("forkSession",s.sessionId))}function Q(){s.sessionId&&(D(),o("exportSession",s.sessionId))}function ie(){s.sessionId&&(D(),o("archiveSession",s.sessionId))}return(te,ye)=>(a(),c("header",{class:fe(["chat-header",{"macos-desktop":l(Eo)}])},[r("div",P$,[e.workspaceName?(a(),c("span",E$,d(e.workspaceName),1)):A("",!0),e.workspaceName&&e.sessionTitle?(a(),c("span",L$,"/")):A("",!0),b.value?gt((a(),c("input",{key:2,ref_key:"renameInputRef",ref:L,"onUpdate:modelValue":ye[0]||(ye[0]=_e=>P.value=_e),class:"ch-rename",type:"text",onKeydown:[En(Re(oe,["stop"]),["enter"]),En(Re(ge,["stop"]),["esc"])],onBlur:oe,onClick:ye[1]||(ye[1]=Re(()=>{},["stop"]))},null,40,B$)),[[qn,P.value]]):e.sessionTitle?(a(),G(ot,{key:3,text:e.sessionTitle},{default:H(()=>[r("span",R$,d(e.sessionTitle),1)]),_:1},8,["text"])):A("",!0)]),M(nt,{class:fe(["ch-act-search",{active:e.searchActive}]),label:l(n)("header.search"),"aria-expanded":e.searchActive,onClick:ye[2]||(ye[2]=Re(_e=>o("toggleSearch"),["stop"]))},{default:H(()=>[M(se,{name:"search",size:"md"})]),_:1},8,["class","label","aria-expanded"]),M(nt,{ref_key:"kebabRef",ref:y,class:fe(["ch-act-more",{open:_.value}]),label:l(n)("header.options"),"aria-expanded":_.value,"aria-haspopup":"menu",onClick:ye[3]||(ye[3]=Re(_e=>O(_e),["stop"]))},{default:H(()=>[M(se,{name:"dots-horizontal",size:"md"})]),_:1},8,["class","label","aria-expanded"]),_.value?(a(),G(Hs,{key:0,ref_key:"menuRef",ref:g,class:"ch-menu",style:rt(k.value),onClick:ye[4]||(ye[4]=Re(()=>{},["stop"]))},{default:H(()=>[M(dt,{onClick:E},{default:H(()=>[M(se,{name:e.copied?"check":"copy",size:"sm"},null,8,["name"]),re(" "+d(e.copied?l(n)("header.copied"):l(n)("header.copyAll")),1)]),_:1}),M(dt,{onClick:B},{default:H(()=>[M(se,{name:"file-text",size:"sm"}),re(" "+d(l(n)("header.copyFinalSummary")),1)]),_:1}),e.sessionId?(a(),c(he,{key:0},[M(dt,{separator:""}),M(dt,{onClick:V},{default:H(()=>[M(se,{name:q.value?"check":"copy",size:"sm"},null,8,["name"]),re(" "+d(q.value?l(n)("header.copied"):l(n)("header.copySessionId")),1)]),_:1}),M(dt,{onClick:ne},{default:H(()=>[M(se,{name:"pencil",size:"sm"}),re(" "+d(l(n)("header.renameSession")),1)]),_:1}),M(dt,{onClick:ce},{default:H(()=>[M(se,{name:"git-fork",size:"sm"}),re(" "+d(l(n)("header.forkSession")),1)]),_:1}),M(dt,{onClick:Q},{default:H(()=>[M(se,{name:"download",size:"sm"}),re(" "+d(l(n)("header.exportSession")),1)]),_:1}),M(dt,{danger:"",onClick:ie},{default:H(()=>[M(se,{name:"archive",size:"sm"}),re(" "+d(l(n)("header.archiveSession")),1)]),_:1})],64)):A("",!0)]),_:1},8,["style"])):A("",!0),ye[7]||(ye[7]=r("div",{class:"ch-spacer"},null,-1)),e.isGitRepo?(a(),c("button",{key:1,type:"button",class:"ch-git",onClick:ye[5]||(ye[5]=_e=>o("openChanges"))},[r("span",{class:fe(["ch-branch",{"ch-detached":!e.branch}])},d(e.branch||l(n)("header.detached")),3),i.value>0||u.value>0?(a(),c("span",O$,[i.value>0?(a(),c("span",D$,"↑"+d(i.value),1)):A("",!0),u.value>0?(a(),c("span",z$,"↓"+d(u.value),1)):A("",!0)])):A("",!0),v.value?(a(),c("span",F$,[p.value>0?(a(),c("span",N$,"+"+d(p.value),1)):A("",!0),f.value>0?(a(),c("span",q$,"-"+d(f.value),1)):A("",!0)])):A("",!0)])):A("",!0),e.pr?(a(),c("button",{key:2,type:"button",class:fe(["ch-pill ch-pr",h(e.pr.state)]),onClick:ye[6]||(ye[6]=_e=>e.pr&&o("openPr",e.pr.url))},[M(se,{name:"git-pull-request",size:"sm"}),r("span",null,"PR #"+d(e.pr.number)+" · "+d(m(e.pr.state)),1)],2)):A("",!0)],2))}}),H$=Ee(W$,[["__scopeId","data-v-a3848f6a"]]);function dd(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 U$(e,t,n=4,s=24){const o=dd(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 pd(){const e=I(null),t=I(!1),n=I(!1),s=I(!1),o=I({});let i=null,u=!1,p=0,f=0,v=1;function w(){const y=e.value;if(!y)return;const{clientHeight:g,scrollHeight:k,scrollTop:T}=y;t.value=k>g+1,n.value=T>1,s.value=T{i?.disconnect(),i=null,y&&typeof ResizeObserver<"u"&&(i=new ResizeObserver(w),i.observe(y),Ke(w))}),kt(()=>{i?.disconnect(),i=null}),{listRef:e,scrollable:t,fadeTop:n,fadeBottom:s,thumbStyle:o,onScroll:x,onThumbPointerDown:h,onThumbPointerMove:m,onThumbPointerUp:_}}const V$=["data-query"],j$={class:"slash-scroller"},K$=["aria-selected","onMouseenter","onMousedown"],G$={class:"slash-name"},Q$={key:0,class:"slash-match"},Y$={class:"slash-desc"},Z$={key:0,class:"slash-desc-match"},X$={key:0,class:"slash-empty",role:"status"},J$={key:1,class:"menu-scroll-fade menu-scroll-fade-top"},e9={key:2,class:"menu-scroll-fade menu-scroll-fade-bottom"},t9=Ie({__name:"SlashMenu",props:{matches:{},activeIndex:{},query:{}},emits:["select","hover"],setup(e,{emit:t}){const{t:n}=Ue(),s=e,o=t,i=I([]);Oe(()=>s.activeIndex,k=>{i.value[k]?.scrollIntoView({block:"nearest"})});const{listRef:u,scrollable:p,fadeTop:f,fadeBottom:v,thumbStyle:w,onScroll:x,onThumbPointerDown:h,onThumbPointerMove:m,onThumbPointerUp:_}=pd();function y(k){return k.isSkill?k.desc:n(k.desc)}function g(k,T){if(T.length===0||k.length===0)return[{text:k,matched:!1}];const S=[];let O=0;for(const D of T){if(D.end<=O||D.start>k.length)continue;const E=Math.max(D.start,O);E>O&&S.push({text:k.slice(O,E),matched:!1}),S.push({text:k.slice(E,D.end),matched:!0}),O=D.end}return O(a(),c("div",{class:"slash-menu","data-query":e.query??""},[r("div",j$,[r("div",{ref_key:"listRef",ref:u,class:"slash-list",role:"listbox",onScroll:T[0]||(T[0]=(...S)=>l(x)&&l(x)(...S))},[(a(!0),c(he,null,Pe(s.matches,(S,O)=>(a(),c("div",{ref_for:!0,ref:D=>{D&&(i.value[O]=D)},key:`${S.item.name}-${S.index}`,class:fe(["slash-item",{active:O===s.activeIndex}]),role:"option","aria-selected":O===s.activeIndex,onMouseenter:D=>o("hover",O),onMousedown:Re(D=>o("select",S.item),["prevent"])},[r("span",G$,[(a(!0),c(he,null,Pe(g(S.item.name,S.nameRanges),(D,E)=>(a(),c(he,{key:E},[D.matched?(a(),c("span",Q$,d(D.text),1)):(a(),c(he,{key:1},[re(d(D.text),1)],64))],64))),128))]),r("span",Y$,[(a(!0),c(he,null,Pe(g(y(S.item),S.descRanges),(D,E)=>(a(),c(he,{key:E},[D.matched?(a(),c("span",Z$,d(D.text),1)):(a(),c(he,{key:1},[re(d(D.text),1)],64))],64))),128))])],42,K$))),128)),s.matches.length===0?(a(),c("div",X$,d(l(n)("composer.slashEmpty")),1)):A("",!0)],544),l(p)?(a(),c("div",{key:0,class:"menu-scroll-thumb",style:rt(l(w)),onPointerdown:T[1]||(T[1]=(...S)=>l(h)&&l(h)(...S)),onPointermove:T[2]||(T[2]=(...S)=>l(m)&&l(m)(...S)),onPointerup:T[3]||(T[3]=(...S)=>l(_)&&l(_)(...S)),onPointercancel:T[4]||(T[4]=(...S)=>l(_)&&l(_)(...S))},null,36)):A("",!0),l(p)&&l(f)?(a(),c("div",J$)):A("",!0),l(p)&&l(v)?(a(),c("div",e9)):A("",!0)])],8,V$))}}),n9=Ee(t9,[["__scopeId","data-v-3f12a9ed"]]),s9={class:"mention-menu"},o9={class:"mention-scroller"},i9={key:0,class:"mention-state dim"},a9={key:1,class:"mention-state dim"},l9=["aria-selected","onMouseenter","onMousedown"],r9=["innerHTML"],u9={class:"mention-name"},c9={class:"mention-path"},d9={key:1,class:"menu-scroll-fade menu-scroll-fade-top"},p9={key:2,class:"menu-scroll-fade menu-scroll-fade-bottom"},f9=Ie({__name:"MentionMenu",props:{items:{},activeIndex:{},loading:{type:Boolean}},emits:["select","hover"],setup(e,{emit:t}){const n=e,s=t,{t:o}=Ue(),{listRef:i,scrollable:u,fadeTop:p,fadeBottom:f,thumbStyle:v,onScroll:w,onThumbPointerDown:x,onThumbPointerMove:h,onThumbPointerUp:m}=pd(),_=_o("folder","sm"),y=_o("code","sm"),g=_o("file-text","sm"),k=_o("image","sm"),T=_o("file","sm"),S=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"]),O=new Set(["md","markdown","mdx","txt","rst","adoc","pdf","doc","docx"]),D=new Set(["png","jpg","jpeg","gif","svg","webp","bmp","ico","avif"]);function E(B){const q=B.path;if(q.endsWith("/"))return _;const V=B.name||q.split("/").pop()||q,b=V.lastIndexOf("."),P=b>0?V.slice(b+1).toLowerCase():"";return P?S.has(P)?y:O.has(P)?g:D.has(P)?k:T:T}return(B,q)=>(a(),c("div",s9,[r("div",o9,[r("div",{ref_key:"listRef",ref:i,class:"mention-list",role:"listbox",onScroll:q[0]||(q[0]=(...V)=>l(w)&&l(w)(...V))},[n.loading?(a(),c("div",i9,d(l(o)("mention.searching")),1)):n.items.length===0?(a(),c("div",a9,d(l(o)("mention.noMatch")),1)):(a(!0),c(he,{key:2},Pe(n.items,(V,b)=>(a(),c("div",{key:V.path,class:fe(["mention-item",{active:b===n.activeIndex}]),role:"option","aria-selected":b===n.activeIndex,onMouseenter:P=>s("hover",b),onMousedown:Re(P=>s("select",V),["prevent"])},[r("span",{class:"mention-icon",innerHTML:E(V),"aria-hidden":"true"},null,8,r9),r("span",u9,d(V.name),1),r("span",c9,d(V.path),1)],42,l9))),128))],544),l(u)?(a(),c("div",{key:0,class:"menu-scroll-thumb",style:rt(l(v)),onPointerdown:q[1]||(q[1]=(...V)=>l(x)&&l(x)(...V)),onPointermove:q[2]||(q[2]=(...V)=>l(h)&&l(h)(...V)),onPointerup:q[3]||(q[3]=(...V)=>l(m)&&l(m)(...V)),onPointercancel:q[4]||(q[4]=(...V)=>l(m)&&l(m)(...V))},null,36)):A("",!0),l(u)&&l(p)?(a(),c("div",d9)):A("",!0),l(u)&&l(f)?(a(),c("div",p9)):A("",!0)])]))}}),m9=Ee(f9,[["__scopeId","data-v-b8578b17"]]),Cn={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"},fd=[{name:"/new",desc:"commands.new.desc",pinyinFirst:Cn.new},{name:"/clear",desc:"commands.clear.desc",pinyinFirst:Cn.clear},{name:"/login",desc:"commands.login.desc",pinyinFirst:Cn.login},{name:"/plan",desc:"commands.plan.desc",pinyinFirst:Cn.plan},{name:"/swarm",desc:"commands.swarm.desc",pinyinFirst:Cn.swarm,acceptsInput:!0},{name:"/goal",desc:"commands.goal.desc",pinyinFirst:Cn.goal,acceptsInput:!0},{name:"/btw",desc:"commands.btw.desc",pinyinFirst:Cn.btw,acceptsInput:!0},{name:"/auto",desc:"commands.auto.desc",pinyinFirst:Cn.auto},{name:"/yolo",desc:"commands.yolo.desc",pinyinFirst:Cn.yolo},{name:"/thinking",desc:"commands.thinking.desc",pinyinFirst:Cn.thinking},{name:"/compact",desc:"commands.compact.desc",pinyinFirst:Cn.compact,acceptsInput:!0},{name:"/undo",desc:"commands.undo.desc",pinyinFirst:Cn.undo},{name:"/fork",desc:"commands.fork.desc",pinyinFirst:Cn.fork},{name:"/export",desc:"commands.export.desc",pinyinFirst:Cn.export},{name:"/status",desc:"commands.status.desc",pinyinFirst:Cn.status}];function v9(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 Hi="skill:";function h9(e){return e.startsWith(Hi)?e.slice(Hi.length):e}function md(e=[]){const t=e.map(n=>({name:n.source==="builtin"?`/${n.name}`:`/${Hi}${n.name}`,desc:n.description,isSkill:!0,acceptsInput:!0}));return[...fd,...t]}const g9=3,y9=1,k9=1;function vd(e){return e.toLowerCase().trim().replace(/^\//,"")}function _a(e,t){return e===t?4:e.startsWith(t)?3:e.includes(t)?2:b9(e,t)?1:0}function b9(e,t){let n=0;for(const s of t){if(n=e.indexOf(s,n),n===-1)return!1;n++}return!0}function tu(e,t){const n=vd(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 w9(e,t=fd,n=s=>s.desc){const s=vd(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=_a(u,s)*g9+_a(p.toLowerCase(),s)*y9+(o.pinyinFirst?_a(o.pinyinFirst,s)*k9:0);return f===0?null:{match:{item:o,index:i,nameRanges:tu(o.name,s),descRanges:tu(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 Ui=100;function S9(e){const t=vo(We.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>Ui?n.slice(-Ui):n,o={[e]:s};return Vs(We.inputHistory,o),o}return t&&typeof t=="object"?t:{}}function C9(e){const{text:t,textareaRef:n,autosize:s,sessionId:o}=e,i=I(S9(o())),u=$(()=>i.value[o()??""]??[]);let p=-1,f="";function v(k){const T=o();if(p=-1,!T)return;const S=k.trim();if(!S)return;const O=i.value[T]??[];if(O.at(-1)===S)return;const D=[...O,S],E=D.length>Ui?D.slice(-Ui):D;i.value={...i.value,[T]:E},Vs(We.inputHistory,i.value)}function w(){const k=n.value;return k?(k.selectionStart??0)===0:!1}function x(k){t.value=k,Ke(()=>{const T=n.value;if(!T)return;s();const S=k.length;T.setSelectionRange(S,S)})}function h(){const k=u.value;if(k.length!==0){if(p===-1)f=t.value,p=k.length-1;else if(p>0)p-=1;else return;x(k[p])}}function m(){if(p===-1)return;const k=u.value;p0}return Oe(o,()=>{p=-1}),{push:v,caretAtTextStart:w,recallOlder:h,recallNewer:m,resetBrowsing:_,isBrowsing:y,hasHistory:g}}function _9(e){const{text:t,textareaRef:n,autosize:s,skills:o,emitCommand:i,historyPush:u,clearDraft:p}=e,f=e.resolveDesc??(g=>g.desc),v=I(!1),w=I([]),x=$(()=>w.value.map(g=>g.item)),h=I(0),m=I("");function _(){const g=t.value;g.startsWith("/")&&!g.includes(" ")?(m.value=g,w.value=w9(g,md(o()),f),h.value=0,v.value=!0):v.value=!1}function y(g){if(v.value=!1,g.acceptsInput){t.value=`${g.name} `,Ke(()=>{const k=n.value;if(!k)return;const T=t.value.length;k.setSelectionRange(T,T),k.focus(),s()});return}t.value="",p?.(),u(g.name),i(g.name)}return{open:v,matches:w,items:x,active:h,query:m,update:_,select:y}}function $9(e){const{text:t,textareaRef:n,autosize:s,searchFiles:o}=e,i=I(!1),u=I([]),p=I(0),f=I(!1);let v=null;function w(){const m=t.value,_=n.value?.selectionStart??m.length;let y=_-1;for(;y>=0&&!/\s/.test(m[y]);)y--;y++;const g=m.slice(y,_);return g.startsWith("@")?{token:g.slice(1),start:y,end:_}:null}function x(){const m=w(),_=o();if(!m||!_){i.value=!1;return}const y=m.token;v!==null&&clearTimeout(v),v=setTimeout(async()=>{f.value=!0,i.value=!0,p.value=0;try{u.value=await _(y)}catch{u.value=[]}finally{f.value=!1}},200)}function h(m){const _=w();if(!_)return;const y=t.value;t.value=y.slice(0,_.start)+m.path+y.slice(_.end),i.value=!1,Ke(()=>{const g=n.value;if(!g)return;const k=_.start+m.path.length;g.setSelectionRange(k,k),g.focus(),s()})}return{open:i,items:u,active:p,loading:f,update:x,select:h}}function M9(e){const{sessionId:t}=e;function n(v){return It(Fl(v))??""}function s(v,w){const x=Fl(v);w?Bt(x,w):ro(x)}const o=I(n(t())),i=I(null);function u(){const v=i.value;v&&(v.style.height="auto",v.style.height=`${v.scrollHeight}px`)}Oe(o,v=>{Ke(u),s(t(),v)}),Oe(t,(v,w)=>{v!==w&&(s(w,o.value),o.value=n(v),Ke(u))});function p(v){o.value=v,Ke(()=>{const w=i.value;if(!w)return;w.focus();const x=v.length;w.setSelectionRange(x,x),u()})}function f(){s(t(),"")}return{text:o,textareaRef:i,autosize:u,loadForEdit:p,clearDraft:f}}function x9(e){const{uploadImage:t,sessionId:n}=e,s=I({}),o=$(()=>s.value[n()??""]??[]),i=I(null),u=I(null),p=I(!1);let f=0;function v(){return`att_${++f}`}function w(Q,ie){s.value={...s.value,[Q]:ie}}function x(Q){if(Q.previewUrl!==void 0)try{URL.revokeObjectURL(Q.previewUrl)}catch{}}function h(Q){return Q.startsWith("image/")?"image":Q.startsWith("video/")?"video":"file"}async function m(Q){const ie=t();if(!ie)return;const te=n()??"";if(Q.length!==0)for(const ye of Q){const _e=h(ye.type),Ce=v(),Z=_e==="file"?void 0:URL.createObjectURL(ye),U={localId:Ce,name:ye.name,kind:_e,previewUrl:Z,mediaType:ye.type||"application/octet-stream",size:ye.size,uploading:!0};w(te,[...s.value[te]??[],U]),ie(ye,ye.name).then(ke=>{const ae=s.value[te]??[];w(te,ae.map(ee=>ee.localId===Ce?{...ee,uploading:!1,fileId:ke?.fileId,mediaType:ke?.mediaType??ee.mediaType,error:ke===null}:ee))}).catch(()=>{const ke=s.value[te]??[];w(te,ke.map(ae=>ae.localId===Ce?{...ae,uploading:!1,error:!0}:ae))})}}function _(Q){const ie=n()??"",te=s.value[ie]??[],ye=te.find(_e=>_e.localId===Q);i.value?.localId===Q&&(i.value=null),ye&&x(ye),w(ie,te.filter(_e=>_e.localId!==Q))}function y(Q){i.value=Q}function g(){i.value=null}function k(){u.value?.click()}function T(Q){const ie=Q.target,te=Array.from(ie.files??[]);m(te),ie.value=""}function S(Q){if(!t())return;const ie=Q.clipboardData;if(!ie)return;const te=[],ye=new Set,_e=(Ce,Z)=>{const U=`${Ce.size}:${Ce.type}:${Z}`;if(ye.has(U))return;ye.add(U);const ke=Ce.type.split("/")[1]??"png",ae=Z.includes(".")?Z:`paste-${Date.now()}.${ke}`;te.push(Ce instanceof File?Ce:new File([Ce],ae,{type:Ce.type}))};for(const Ce of Array.from(ie.items))if(Ce.kind==="file"){const Z=Ce.getAsFile();Z&&_e(Z,Z.name||`paste-${Date.now()}.${Ce.type.split("/")[1]??"png"}`)}for(const Ce of Array.from(ie.files))_e(Ce,Ce.name);te.length!==0&&(Q.preventDefault(),m(te))}let O=0;function D(Q){!t()||!Array.from(Q.dataTransfer?.items??[]).some(te=>te.kind==="file")||(Q.preventDefault(),Q.stopPropagation(),p.value=!0)}function E(){p.value=!1}function B(Q){if(O=0,p.value=!1,!t())return;Q.preventDefault(),Q.stopPropagation();const ie=Array.from(Q.dataTransfer?.files??[]);m(ie)}function q(Q){return Array.from(Q.dataTransfer?.items??[]).some(ie=>ie.kind==="file")}function V(Q){!t()||!q(Q)||(Q.preventDefault(),O+=1,p.value=!0)}function b(Q){!t()||!q(Q)||Q.preventDefault()}function P(Q){!t()||!q(Q)||(O=Math.max(0,O-1),O===0&&(p.value=!1))}function L(Q){if(O=0,p.value=!1,!t())return;Q.preventDefault();const ie=Array.from(Q.dataTransfer?.files??[]);m(ie)}function ne(){const Q=n()??"";for(const ie of s.value[Q]??[])x(ie);w(Q,[])}function oe(Q,ie,te){const ye=s.value[Q]??[];ye.some(_e=>_e.localId===ie)&&w(Q,ye.map(_e=>_e.localId===ie?{..._e,...te}:_e))}function ge(Q){return fetch(Q).then(ie=>{if(!ie.ok)throw new Error(`fetch failed: ${ie.status}`);return ie.blob()})}function ce(Q){const ie=n()??"";for(const te of s.value[ie]??[])x(te);w(ie,[]);for(const te of Q){const ye=v(),_e=/^data:/i.test(te.url),Ce=/^blob:/i.test(te.url),Z=te.name??te.kind;if(te.fileId){const U={localId:ye,name:Z,kind:te.kind,previewUrl:te.kind==="file"?void 0:te.url,uploading:!1,fileId:te.fileId};w(ie,[...s.value[ie]??[],U]),te.kind!=="file"&&!_e&&!Ce&&Te().getFileBlob(te.fileId).then(ke=>{const ae=URL.createObjectURL(ke);if(!(s.value[ie]??[]).some(de=>de.localId===ye)){URL.revokeObjectURL(ae);return}oe(ie,ye,{previewUrl:ae})}).catch(()=>{})}else{if(!te.url)continue;const U=t();if(!U)continue;const ke={localId:ye,name:Z,kind:te.kind,previewUrl:te.url,uploading:!0};w(ie,[...s.value[ie]??[],ke]),ge(te.url).then(ae=>{const ee=Z.includes(".")?Z:`${Z}.${ae.type.split("/")[1]??"bin"}`;return U(ae,ee)}).then(ae=>{if(ae===null){const ee=s.value[ie]??[];w(ie,ee.filter(de=>de.localId!==ye));return}oe(ie,ye,{uploading:!1,fileId:ae.fileId})}).catch(()=>{const ae=s.value[ie]??[];w(ie,ae.filter(ee=>ee.localId!==ye))})}}}return Oe(n,()=>{i.value=null}),ht(()=>{document.addEventListener("paste",S),document.addEventListener("dragenter",V),document.addEventListener("dragover",b),document.addEventListener("dragleave",P),document.addEventListener("drop",L)}),kt(()=>{document.removeEventListener("paste",S),document.removeEventListener("dragenter",V),document.removeEventListener("dragover",b),document.removeEventListener("dragleave",P),document.removeEventListener("drop",L);for(const Q of Object.values(s.value))for(const ie of Q)x(ie);i.value=null}),{attachments:o,previewAttachment:i,fileInputRef:u,isDragOver:p,removeAttachment:_,openAttachmentPreview:y,closeAttachmentPreview:g,openFilePicker:k,handleFileInputChange:T,handleDragOver:D,handleDragLeave:E,handleDrop:B,clearAfterSubmit:ne,loadAttachments:ce}}const I9=new Set(["F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","Escape","Home","End","PageUp","PageDown","Insert"]);function A9(e){return e.ctrlKey||e.metaKey||e.altKey?!0:I9.has(e.key)}let hd=!1;function T9(e){A9(e)&&(hd=!0)}function P9(e){return hd||Wi(D8,e)}const E9={class:"ctx-ring",viewBox:"0 0 20 20","aria-hidden":"true"},L9=["stroke-dasharray","stroke-dashoffset"],$a=7,B9=Ie({__name:"ContextRing",props:{pct:{}},setup(e){const t=e,n=2*Math.PI*$a;return(s,o)=>(a(),c("svg",E9,[r("circle",{class:"ctx-ring-track",cx:"10",cy:"10",r:$a,fill:"none","stroke-width":"2.5"}),r("circle",{class:"ctx-ring-fill",cx:"10",cy:"10",r:$a,fill:"none","stroke-width":"2.5","stroke-linecap":"round","stroke-dasharray":`${n}`,"stroke-dashoffset":`${n*(1-t.pct/100)}`},null,8,L9)]))}}),R9=Ee(B9,[["__scopeId","data-v-a364f1f1"]]),O9={key:0,class:"att-strip"},D9={class:"att-lightbox-card"},z9=["src"],F9=["src","alt"],N9={class:"att-lightbox-name"},q9={class:"composer-card"},W9={class:"cin-wrap"},H9={class:"input-row"},U9=["placeholder","disabled"],V9=["aria-label"],j9={class:"toolbar-left"},K9=["onKeydown"],G9=["onClick"],Q9={class:"pd-check"},Y9={class:"pd-info"},Z9={class:"pd-desc"},X9={class:"pd-check"},J9={class:"pd-info"},eM={class:"pd-name"},tM={class:"pd-desc"},nM={class:"pd-check"},sM={class:"pd-info"},oM={class:"pd-name"},iM={class:"pd-desc"},aM={class:"pd-check"},lM={class:"pd-info"},rM={class:"pd-name"},uM={class:"pd-desc"},cM={class:"pd-check"},dM={class:"pd-info"},pM={class:"pd-name"},fM={class:"pd-desc"},mM=["aria-pressed"],vM=["aria-label"],hM=["aria-pressed"],gM=["aria-label"],yM=["aria-pressed"],kM=["aria-label"],bM=["aria-pressed"],wM=["aria-label"],SM={class:"toolbar-right"},CM=["aria-label"],_M=["onKeydown"],$M={key:0,class:"think-suffix"},MM=["aria-label"],xM=["aria-label","disabled"],IM={key:0,class:"md-section"},AM=["onClick"],TM={class:"md-check"},PM={class:"md-name"},EM={class:"md-provider"},LM={key:1,class:"md-divider"},BM={key:2,class:"md-section"},RM=["onClick"],OM={class:"md-check"},DM={class:"md-name"},zM={key:3,class:"md-divider"},FM={class:"md-name"},NM={key:0,class:"md-note"},qM=["aria-label"],WM=["disabled","onClick"],HM={class:"md-cache-note"},UM={class:"md-name"},VM={class:"drop-card"},nu=36,jM=Ie({__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=I(Wi(Ii));let i=null;const u=$(()=>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}=Ue(),w=$(()=>s.planMode===!0),x=$(()=>ic({planMode:w.value,planArmed:s.planArmed===!0})),h=$(()=>s.goal?.status??s.activationBadges?.goal?.status??null),m=$(()=>h.value!==null&&h.value!=="complete"),_=$(()=>m.value||s.goalMode===!0);function y(pe){const Me=f(pe==="swarm"?"status.swarmLabel":"status.supermoonLabel");return f("status.workModeDismiss",{mode:Me})}const{text:g,textareaRef:k,autosize:T,loadForEdit:S,clearDraft:O}=M9({sessionId:()=>s.sessionId}),D=I(!1);function E(){D.value=!D.value,Ke(()=>{T(),b(),k.value?.focus()})}function B(){D.value&&(D.value=!1,Ke(T))}function q(pe){if(typeof getComputedStyle>"u")return nu;const Me=Number.parseFloat(getComputedStyle(pe).minHeight);return Number.isFinite(Me)&&Me>0?Me:nu}const V=I(!1);function b(){const pe=k.value;V.value=!!pe&&pe.scrollHeight>q(pe)}Oe(g,()=>{Ke(b)}),Oe(()=>s.sessionId,()=>{D.value=!1,L.value=!1,te.value=!1});const P=C9({text:g,textareaRef:k,autosize:T,sessionId:()=>s.sessionId}),{open:L,matches:ne,items:oe,active:ge,query:ce,update:Q,select:ie}=_9({text:g,textareaRef:k,autosize:T,skills:()=>s.skills,emitCommand:pe=>p("command",pe),historyPush:pe=>P.push(pe),clearDraft:O,resolveDesc:pe=>pe.isSkill?pe.desc:f(pe.desc)}),{open:te,items:ye,active:_e,loading:Ce,update:Z,select:U}=$9({text:g,textareaRef:k,autosize:T,searchFiles:()=>s.searchFiles});function ke(){P.resetBrowsing(),Q(),Z()}const ae=I(null),ee=I(null);let de=null;function Be(){de!==null&&(clearTimeout(de),de=null)}function Y(pe){if(!pe)return!1;const Me=ae.value?.$el,xe=ee.value?.$el;return!!(L.value&&Me instanceof HTMLElement&&Me.contains(pe)||te.value&&xe instanceof HTMLElement&&xe.contains(pe))}function ve(pe){Y(pe.relatedTarget)||(Be(),de=setTimeout(()=>{de=null,L.value=!1,te.value=!1},0))}const{attachments:R,previewAttachment:X,fileInputRef:me,isDragOver:He,removeAttachment:De,openAttachmentPreview:an,closeAttachmentPreview:Fe,openFilePicker:Ze,handleFileInputChange:Ve,handleDragOver:At,handleDragLeave:bt,handleDrop:Ct,clearAfterSubmit:dn,loadAttachments:Kt}=x9({uploadImage:()=>s.uploadImage,sessionId:()=>s.sessionId});ht(()=>{i=ud(Ii,pe=>{o.value=pe}),g.value&&Ke(()=>{T(),b()})}),kt(()=>{i?.(),i=null,document.removeEventListener("mousedown",ns),gn(),Be()});function zt(){k.value?.focus({preventScroll:!0})}function hs(pe){Kt(pe)}t({loadForEdit:S,loadAttachmentsForEdit:hs,focus:zt});function nn(pe){return{fileId:pe.fileId,kind:pe.kind,name:pe.name,mediaType:pe.mediaType,size:pe.size}}function ut(){return R.value.filter(pe=>!pe.uploading&&!pe.error&&pe.fileId!==void 0)}function Ft(pe){if(pe.kind==="file"){pe.fileId!==void 0&&ld(pe.fileId,pe.name,pe.mediaType);return}an(pe)}function In(){const pe=g.value.trim();if(R.value.some(F=>F.uploading))return;const Me=ut();if(!pe&&Me.length===0)return;if(P.push(pe),pe){const F=v9(pe),K=F?md(s.skills).some(le=>le.name===F.cmd||le.name===`/${Hi}${F.cmd.slice(1)}`):!1;if(F&&K){g.value="",O(),L.value=!1,B(),p("command",F.arg?`${F.cmd} ${F.arg}`:F.cmd,Me.length>0?Me.map(le=>nn(le)):void 0);return}}const xe={text:pe,attachments:Me.map(F=>nn(F))};X.value=null,dn(),g.value="",O(),L.value=!1,te.value=!1,B(),p("submit",xe)}function _t(){if(!s.running||R.value.some(F=>F.uploading))return;const pe=g.value.trim(),Me=ut();if(!pe&&Me.length===0&&s.queued.length===0)return;const xe={text:pe,attachments:Me.map(F=>nn(F))};dn(),P.push(pe),g.value="",O(),L.value=!1,te.value=!1,B(),p("steer",xe)}let pn=!1,Nt=null;function gn(){Nt!==null&&(clearTimeout(Nt),Nt=null)}function Tt(){gn(),pn=!0}function fn(){gn(),Nt=setTimeout(()=>{Nt=null,pn=!1},0)}function mn(pe){return pn||pe.isComposing||pe.keyCode===229}function Rn(pe){if(mn(pe))return;T9(pe);const Me=Wi(Ii)&&!P9();if(pe.key==="Escape"){if($t.value){pe.preventDefault(),An();return}if(Zt.value){pe.preventDefault(),sn();return}if(Vt.value){pe.preventDefault(),bn();return}}if(L.value){if(pe.key==="ArrowDown"){pe.preventDefault(),ge.value=(ge.value+1)%oe.value.length;return}if(pe.key==="ArrowUp"){pe.preventDefault(),ge.value=(ge.value-1+oe.value.length)%oe.value.length;return}if(pe.key==="Enter"||pe.key==="Tab"){pe.preventDefault();const xe=oe.value[ge.value];xe&&ie(xe);return}if(pe.key==="Escape"){pe.preventDefault(),L.value=!1;return}}if(te.value&&!Ce.value){if(pe.key==="ArrowDown"){pe.preventDefault(),_e.value=(_e.value+1)%Math.max(1,ye.value.length);return}if(pe.key==="ArrowUp"){pe.preventDefault(),_e.value=(_e.value-1+Math.max(1,ye.value.length))%Math.max(1,ye.value.length);return}if(pe.key==="Enter"||pe.key==="Tab"){pe.preventDefault();const xe=ye.value[_e.value];xe&&U(xe);return}if(pe.key==="Escape"){pe.preventDefault(),te.value=!1;return}}if(!Me&&pe.key==="s"&&(pe.ctrlKey||pe.metaKey)&&!pe.shiftKey&&!pe.altKey){s.running&&(pe.preventDefault(),_t());return}if(!D.value&&!L.value&&!te.value&&!pe.shiftKey&&!pe.altKey&&!pe.metaKey&&!pe.ctrlKey){const xe=P.isBrowsing();if(pe.key==="ArrowUp"&&P.hasHistory()&&(xe||P.caretAtTextStart())){pe.preventDefault(),P.recallOlder();return}if(pe.key==="ArrowDown"&&xe){pe.preventDefault(),P.recallNewer();return}}if(pe.key==="Enter"&&!pe.shiftKey){if(D.value&&!(pe.metaKey||pe.ctrlKey)||Me)return;pe.preventDefault(),In()}}const yn=$(()=>f("composer.send")),Gn=$(()=>!!s.uploadImage),$t=I(!1),Zt=I(!1),Gt=I(null);function kn(){$t.value=!$t.value,$t.value?(Zt.value=!1,bn(),document.addEventListener("click",qt,!0)):document.removeEventListener("click",qt,!0)}function An(){$t.value=!1,Zt.value||document.removeEventListener("click",qt,!0)}function Rt(){Zt.value=!Zt.value,Zt.value?($t.value=!1,bn(),document.addEventListener("click",qt,!0)):document.removeEventListener("click",qt,!0)}function sn(){Zt.value=!1,$t.value||document.removeEventListener("click",qt,!0)}function qt(pe){Gt.value&&!Gt.value.contains(pe.target)&&(An(),sn())}kt(()=>{document.removeEventListener("click",qt,!0)});const Xt=$(()=>{const pe=s.status?.ctxMax??0;return pe<=0?0:Math.min(100,Math.max(0,Math.ceil((s.status?.ctxUsed??0)/pe*100)))}),Wt=$(()=>{const pe=ms(s.status?.ctxUsed??0),Me=ms(s.status?.ctxMax??0);return f("status.ctxTooltip",{used:pe,max:Me,pct:Xt.value})}),ct=$(()=>Xt.value>=80),lt=$(()=>s.models?.find(pe=>pe.id===s.status?.modelId)),on=$(()=>Ki(lt.value)),Jt=$(()=>Gi(lt.value)),Se=$(()=>Xo(lt.value,s.thinking)),we=$(()=>Jt.value.includes(Se.value)?Se.value:""),Ge=$(()=>j2(Se.value)),Je=$(()=>on.value==="unsupported"||Jt.value.length<=1),at=$(()=>{if(!Ge.value)return"";const pe=(lt.value?.supportEfforts?.length??0)>0,Me=Se.value;return pe&&Me!=="on"?f("composer.thinkingSuffixEffort",{level:Me}):f("composer.thinkingSuffix")});function Ht(pe){Je.value||p("setThinking",Cl(lt.value,pe))}function Qt(pe){return pe==="on"?f("status.thinkingOn"):pe==="off"?f("status.thinkingOff"):qa(pe)}const Pt=$(()=>s.swarmMode===!0),Ut=$(()=>s.supermoonMode===!0),Vt=I(!1),Tn=I(null),gs=I(null),Wn=I({});function bn(){Vt.value=!1,document.removeEventListener("mousedown",ns)}function ns(pe){const Me=pe.target;Tn.value?.contains(Me)||gs.value?.contains(Me)||bn()}function ss(){if(Vt.value){bn();return}An(),sn();const pe=Tn.value?.getBoundingClientRect();pe&&(Wn.value={left:`${Math.round(pe.left)}px`,bottom:`${Math.round(window.innerHeight-pe.top+8)}px`}),Vt.value=!0,pe&&Ke(()=>{const Me=gs.value;if(!Me)return;const xe=Math.max(8,Math.min(pe.left,window.innerWidth-Me.offsetWidth-8));Wn.value={...Wn.value,left:`${Math.round(xe)}px`}}),setTimeout(()=>document.addEventListener("mousedown",ns),0)}function On(){bn(),p("togglePlan")}function en(){bn(),m.value?p("focusGoal"):p("toggleGoal")}function Dn(){bn(),p("toggleSwarm")}function Hn(){bn(),p("toggleSupermoon")}const Qn=[{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"}],ys=["composer.addPlanDesc","composer.addGoalDesc","composer.addSwarmDesc","composer.addSupermoonDesc"],vn=I(null),os=I(""),zn=I("");function is(pe){const Me={};return pe&&(Me["--composer-menu-desc-width"]=pe),Me}const as=$(()=>is(os.value)),Es=$(()=>is(zn.value)),ks=$(()=>({...Wn.value,...Es.value}));let wn=null;function Ls(pe){const Me=Number.parseFloat(pe);return Number.isFinite(Me)?Me:0}function Gs(pe){return`${pe.fontStyle||"normal"} ${pe.fontWeight||"400"} ${pe.fontSize} ${pe.fontFamily}`}function Bs(pe){return pe.letterSpacing==="normal"?0:Ls(pe.letterSpacing)}function Fn(pe,Me){if(!pe)return 0;const xe=Hd(pe,Gs(Me),{letterSpacing:Bs(Me)});return Ud(xe)}function bs(){const pe=vn.value?.querySelector(".pd-desc");if(!pe)return;const Me=getComputedStyle(pe),xe=Math.max(0,...Qn.map(je=>Fn(f(je.descKey),Me))),F=Math.max(0,...ys.map(je=>Fn(f(je),Me))),K=window.innerWidth-96,le=je=>K>0?Math.min(je,K):je;os.value=xe>0?`${Math.ceil(le(xe))}px`:"",zn.value=F>0?`${Math.ceil(le(F))}px`:""}function ws(){typeof window>"u"||(wn!==null&&window.cancelAnimationFrame(wn),Ke(()=>{wn=window.requestAnimationFrame(()=>{wn=null,bs()})}))}Oe(v,ws,{immediate:!0}),ht(()=>{ws(),document.fonts?.ready.then(ws)}),kt(()=>{wn!==null&&(window.cancelAnimationFrame(wn),wn=null)});function Ae(pe){p("setPermission",pe),sn()}const j=$(()=>Qn.find(pe=>pe.mode===s.status?.permission)),J=$(()=>j.value?f(j.value.labelKey):""),ft=$(()=>lt.value?.provider??""),Nn=$(()=>!ft.value||!s.models?.length?[]:s.models.filter(pe=>pe.provider===ft.value)),Ss=$(()=>new Set(s.starredIds??[]));function ls(pe){return Ss.value.has(pe)}const Qs=$(()=>s.models?.length?s.models.filter(pe=>ls(pe.id)&&pe.provider!==ft.value):[]);function Rs(pe){p("selectModel",pe),An()}return(pe,Me)=>(a(),c("div",{class:fe(["composer",{"drag-over":l(He),expanded:D.value}]),onDragover:Me[20]||(Me[20]=(...xe)=>l(At)&&l(At)(...xe)),onDragleave:Me[21]||(Me[21]=(...xe)=>l(bt)&&l(bt)(...xe)),onDrop:Me[22]||(Me[22]=(...xe)=>l(Ct)&&l(Ct)(...xe))},[l(R).length>0?(a(),c("div",O9,[(a(!0),c(he,null,Pe(l(R),xe=>(a(),G(od,{key:xe.localId,kind:xe.kind,name:xe.name,url:xe.previewUrl,"file-id":xe.fileId,"media-type":xe.mediaType,size:xe.size,uploading:xe.uploading,error:xe.error,removable:"","remove-label":l(f)("composer.removeNamed",{name:xe.name}),onActivate:F=>Ft(xe),onRemove:F=>l(De)(xe.localId)},null,8,["kind","name","url","file-id","media-type","size","uploading","error","remove-label","onActivate","onRemove"]))),128))])):A("",!0),l(X)?(a(),c("div",{key:1,class:"att-lightbox",onClick:Me[1]||(Me[1]=Re((...xe)=>l(Fe)&&l(Fe)(...xe),["self"]))},[r("div",D9,[M(ot,{text:l(f)("model.close")},{default:H(()=>[r("button",{type:"button",class:"att-lightbox-close",onClick:Me[0]||(Me[0]=(...xe)=>l(Fe)&&l(Fe)(...xe))},"✕")]),_:1},8,["text"]),l(X).kind==="video"?(a(),c("video",{key:0,class:"att-lightbox-media",src:l(X).previewUrl,controls:"",playsinline:""},null,8,z9)):(a(),c("img",{key:1,class:"att-lightbox-media",src:l(X).previewUrl,alt:l(X).name},null,8,F9)),r("div",N9,d(l(X).name),1)])])):A("",!0),r("div",q9,[r("div",W9,[l(L)?(a(),G(n9,{key:0,ref_key:"slashMenuRef",ref:ae,matches:l(ne),query:l(ce),"active-index":l(ge),onSelect:l(ie),onHover:Me[2]||(Me[2]=xe=>ge.value=xe)},null,8,["matches","query","active-index","onSelect"])):A("",!0),l(te)?(a(),G(m9,{key:1,ref_key:"mentionMenuRef",ref:ee,items:l(ye),"active-index":l(_e),loading:l(Ce),onSelect:l(U),onHover:Me[3]||(Me[3]=xe=>_e.value=xe)},null,8,["items","active-index","loading","onSelect"])):A("",!0),r("div",H9,[gt(r("textarea",{ref_key:"textareaRef",ref:k,"onUpdate:modelValue":Me[4]||(Me[4]=xe=>Pd(g)?g.value=xe:null),class:"ph",placeholder:u.value,disabled:e.starting,rows:"1",onKeydown:Rn,onCompositionstart:Tt,onCompositionend:fn,onInput:ke,onBlur:ve},null,40,U9),[[qn,l(g)]]),D.value||V.value?(a(),c("button",{key:0,class:"expand-btn",type:"button","aria-label":D.value?l(f)("composer.collapseTitle"):l(f)("composer.expandTitle"),onClick:E},[D.value?(a(),G(se,{key:0,name:"collapse",size:"sm"})):(a(),G(se,{key:1,name:"expand",size:"sm"}))],8,V9)):A("",!0)])]),Gn.value?(a(),c("input",{key:0,ref_key:"fileInputRef",ref:me,type:"file",multiple:"",class:"file-input-hidden",onChange:Me[5]||(Me[5]=(...xe)=>l(Ve)&&l(Ve)(...xe))},null,544)):A("",!0),r("div",{ref_key:"toolbarRef",ref:Gt,class:"toolbar"},[r("div",{ref_key:"menuMeasureRef",ref:vn,class:"menu-measure","aria-hidden":"true"},[...Me[23]||(Me[23]=[r("span",{class:"pd-desc"},null,-1)])],512),r("div",j9,[Gn.value?(a(),G(nt,{key:0,size:"md",label:l(f)("composer.attachFile"),onClick:l(Ze)},{default:H(()=>[M(se,{name:"attachment"})]),_:1},8,["label","onClick"])):A("",!0),e.status?(a(),c("span",{key:1,class:fe(["perm-pill",["perm-"+e.status.permission,{open:Zt.value}]]),role:"button",tabindex:"0",onClick:Re(Rt,["stop"]),onKeydown:[En(Rt,["enter"]),En(Re(Rt,["prevent"]),["space"])]},d(J.value),43,K9)):A("",!0),Zt.value&&e.status?(a(),c("div",{key:2,class:"perm-dropdown",style:rt(as.value),role:"menu",onClick:Me[6]||(Me[6]=Re(()=>{},["stop"]))},[(a(),c(he,null,Pe(Qn,xe=>r("button",{key:xe.mode,class:fe(["pd-row",{"is-current":xe.mode===e.status.permission}]),role:"menuitem",onClick:F=>Ae(xe.mode)},[r("span",Q9,[xe.mode===e.status.permission?(a(),G(se,{key:0,name:"check",size:"sm"})):A("",!0)]),r("span",Y9,[r("span",{class:"pd-name",style:rt({color:xe.color})},d(l(f)(xe.labelKey)),5),r("span",Z9,d(l(f)(xe.descKey)),1)])],10,G9)),64))],4)):A("",!0),e.status?(a(),c("span",{key:3,ref_key:"addMenuRef",ref:Tn,class:"add-menu-anchor"},[M(nt,{size:"md",label:l(f)("composer.addMenu"),class:fe({"is-open":Vt.value}),onClick:ss},{default:H(()=>[M(se,{name:"plus"})]),_:1},8,["label","class"])],512)):A("",!0),(a(),G(lo,{to:"body"},[Vt.value?(a(),c("div",{key:0,ref_key:"addMenuPopupRef",ref:gs,class:"add-menu",style:rt(ks.value),role:"menu"},[r("button",{type:"button",class:fe(["pd-row",{"is-current":x.value}]),role:"menuitem",onClick:On},[r("span",X9,[M(se,{name:"file-edit",size:"sm"})]),r("span",J9,[r("span",eM,d(l(f)("status.planLabel")),1),r("span",tM,d(l(f)("composer.addPlanDesc")),1)])],2),r("button",{type:"button",class:fe(["pd-row",{"is-current":_.value}]),role:"menuitem",onClick:en},[r("span",nM,[M(se,{name:"target",size:"sm"})]),r("span",sM,[r("span",oM,d(l(f)("status.goalLabel")),1),r("span",iM,d(l(f)("composer.addGoalDesc")),1)])],2),r("button",{type:"button",class:fe(["pd-row",{"is-current":Pt.value}]),role:"menuitem",onClick:Dn},[r("span",aM,[M(se,{name:"sparkles",size:"sm"})]),r("span",lM,[r("span",rM,d(l(f)("status.swarmLabel")),1),r("span",uM,d(l(f)("composer.addSwarmDesc")),1)])],2),r("button",{type:"button",class:fe(["pd-row",{"is-current":Ut.value}]),role:"menuitem",onClick:Hn},[r("span",cM,[M(se,{name:"moon-stars",size:"sm"})]),r("span",dM,[r("span",pM,d(l(f)("status.supermoonLabel")),1),r("span",fM,d(l(f)("composer.addSupermoonDesc")),1)])],2)],4)):A("",!0)])),e.status?(a(),c("span",{key:4,class:fe(["mode-chip",{on:x.value}])},[r("button",{type:"button",class:"mode-chip-main","aria-pressed":x.value,onClick:Me[7]||(Me[7]=xe=>p("togglePlan"))},[M(se,{name:"file-edit",size:"sm"}),r("span",null,d(l(f)("status.planLabel")),1)],8,mM),x.value?(a(),c("button",{key:0,type:"button",class:"mode-chip-x","aria-label":l(f)("status.workModeDismiss",{mode:l(f)("status.planLabel")}),onClick:Me[8]||(Me[8]=xe=>p("dismissPlan"))},[M(se,{name:"close",size:"sm"})],8,vM)):A("",!0)],2)):A("",!0),e.status?(a(),c("span",{key:5,class:fe(["mode-chip",{on:_.value}])},[r("button",{type:"button",class:"mode-chip-main","aria-pressed":_.value,onClick:Me[9]||(Me[9]=xe=>m.value?p("focusGoal"):p("toggleGoal"))},[M(se,{name:"target",size:"sm"}),r("span",null,d(l(f)("status.goalLabel")),1)],8,hM),e.goalMode?(a(),c("button",{key:0,type:"button",class:"mode-chip-x","aria-label":l(f)("status.workModeDismiss",{mode:l(f)("status.goalLabel")}),onClick:Me[10]||(Me[10]=xe=>p("toggleGoal"))},[M(se,{name:"close",size:"sm"})],8,gM)):A("",!0)],2)):A("",!0),e.status?(a(),c("span",{key:6,class:fe(["mode-chip",{on:Pt.value}])},[r("button",{type:"button",class:"mode-chip-main","aria-pressed":Pt.value,onClick:Me[11]||(Me[11]=xe=>p("toggleSwarm"))},[M(se,{name:"sparkles",size:"sm"}),r("span",null,d(l(f)("status.swarmLabel")),1)],8,yM),Pt.value?(a(),c("button",{key:0,type:"button",class:"mode-chip-x","aria-label":y("swarm"),onClick:Me[12]||(Me[12]=xe=>p("toggleSwarm"))},[M(se,{name:"close",size:"sm"})],8,kM)):A("",!0)],2)):A("",!0),e.status?(a(),c("span",{key:7,class:fe(["mode-chip",{on:Ut.value}])},[r("button",{type:"button",class:"mode-chip-main","aria-pressed":Ut.value,onClick:Me[13]||(Me[13]=xe=>p("toggleSupermoon"))},[M(se,{name:"moon-stars",size:"sm"}),r("span",null,d(l(f)("status.supermoonLabel")),1)],8,bM),Ut.value?(a(),c("button",{key:0,type:"button",class:"mode-chip-x","aria-label":y("supermoon"),onClick:Me[14]||(Me[14]=xe=>p("toggleSupermoon"))},[M(se,{name:"close",size:"sm"})],8,wM)):A("",!0)],2)):A("",!0)]),r("div",SM,[ct.value?(a(),c("button",{key:0,class:"compact-chip",onClick:Me[15]||(Me[15]=Re(xe=>p("compact"),["stop"]))},"/compact")):A("",!0),M(ot,{text:Wt.value},{default:H(()=>[e.status&&!e.hideContext?(a(),c("span",{key:0,class:"ctx-group",role:"img",tabindex:"0","aria-label":Wt.value},[M(R9,{pct:Xt.value},null,8,["pct"])],8,CM)):A("",!0)]),_:1},8,["text"]),e.status?(a(),c("span",{key:1,class:fe(["model-pill",{open:$t.value}]),role:"button",tabindex:"0",onClick:Re(kn,["stop"]),onKeydown:[En(kn,["enter"]),En(Re(kn,["prevent"]),["space"])]},[r("b",null,d(e.status.model),1),at.value?(a(),c("span",$M,d(at.value),1)):A("",!0),M(se,{class:"cv",name:"chevron-down",size:"sm"})],42,_M)):A("",!0),e.running?(a(),G(ot,{key:2,text:l(f)("composer.interruptTitle")},{default:H(()=>[r("button",{class:"stop","aria-label":l(f)("composer.interrupt"),onClick:Me[16]||(Me[16]=xe=>p("interrupt"))},[M(se,{name:"stop",size:"sm"})],8,MM)]),_:1},8,["text"])):A("",!0),r("button",{class:fe(["send",{"is-starting":e.starting}]),"aria-label":yn.value,disabled:e.starting,onClick:Me[17]||(Me[17]=xe=>In())},[e.starting?(a(),G(Dt,{key:0,size:"sm"})):(a(),G(se,{key:1,name:"send",size:"sm"}))],10,xM)]),$t.value&&e.status?(a(),c("div",{key:0,class:"model-dropdown",role:"menu",onClick:Me[19]||(Me[19]=Re(()=>{},["stop"]))},[Qs.value.length>0?(a(),c("div",IM,d(l(f)("status.starredModels")),1)):A("",!0),(a(!0),c(he,null,Pe(Qs.value,xe=>(a(),c("button",{key:xe.id,class:fe(["md-row",{"is-current":xe.id===e.status.modelId}]),role:"menuitem",onClick:F=>Rs(xe.id)},[r("span",TM,[xe.id===e.status.modelId?(a(),G(se,{key:0,name:"check",size:"sm"})):A("",!0)]),r("span",PM,d(xe.displayName??xe.model),1),r("span",EM,d(xe.provider),1),M(se,{class:"md-star",name:"star",size:"sm"})],10,AM))),128)),Qs.value.length>0?(a(),c("div",LM)):A("",!0),Nn.value.length>0?(a(),c("div",BM,d(ft.value),1)):A("",!0),(a(!0),c(he,null,Pe(Nn.value,xe=>(a(),c("button",{key:xe.id,class:fe(["md-row",{"is-current":xe.id===e.status.modelId}]),role:"menuitem",onClick:F=>Rs(xe.id)},[r("span",OM,[xe.id===e.status.modelId?(a(),G(se,{key:0,name:"check",size:"sm"})):A("",!0)]),r("span",DM,d(xe.displayName??xe.model),1),ls(xe.id)?(a(),G(se,{key:0,class:"md-star",name:"star",size:"sm"})):A("",!0)],10,RM))),128)),Nn.value.length>0?(a(),c("div",zM)):A("",!0),r("div",{class:fe(["md-thinking",{"is-readonly":Je.value}])},[r("span",FM,d(l(f)("status.thinkingLabel")),1),on.value==="unsupported"?(a(),c("span",NM,d(l(f)("status.modeNotSupported")),1)):(a(),c("div",{key:1,class:"effort-segments",role:"group","aria-label":l(f)("status.thinkingLabel")},[(a(!0),c(he,null,Pe(Jt.value,xe=>(a(),c("button",{key:xe,type:"button",class:fe(["effort-seg",{"is-active":xe===we.value}]),disabled:Je.value,onClick:F=>Ht(xe)},d(Qt(xe)),11,WM))),128))],8,qM))],2),Me[24]||(Me[24]=r("div",{class:"md-divider"},null,-1)),r("div",HM,d(l(f)("status.cacheNote")),1),Me[25]||(Me[25]=r("div",{class:"md-divider"},null,-1)),r("button",{class:"md-row md-row-more",role:"menuitem",onClick:Me[18]||(Me[18]=xe=>{An(),p("pickModel")})},[r("span",UM,d(l(f)("status.moreModels")),1)])])):A("",!0)],512)]),r("div",{class:fe(["drop-overlay",{show:l(He)}]),"aria-hidden":"true"},[r("div",VM,[M(se,{name:"file-plus",size:"lg"}),r("span",null,d(l(f)("composer.dropToAttach")),1)])],2)],34))}}),gd=Ee(jM,[["__scopeId","data-v-e7022649"]]),KM={key:0,class:"ui-card__head"},GM={class:"ui-card__body"},QM={key:1,class:"ui-card__foot"},YM=Ie({__name:"Card",props:{elevated:{type:Boolean,default:!1}},setup(e){return(t,n)=>(a(),c("div",{class:fe(["ui-card",{"is-elevated":e.elevated}])},[t.$slots.head?(a(),c("div",KM,[yt(t.$slots,"head",{},void 0,!0)])):A("",!0),r("div",GM,[yt(t.$slots,"default",{},void 0,!0)]),t.$slots.foot?(a(),c("div",QM,[yt(t.$slots,"foot",{},void 0,!0)])):A("",!0)],2))}}),Bl=Ee(YM,[["__scopeId","data-v-9c9f9a9a"]]),ZM={class:"goal-kicker"},XM={key:0,class:"goal-progress","aria-hidden":"true"},JM={class:"goal-full"},e6={key:0,class:"goal-criterion"},t6=["inert","aria-hidden"],n6={class:"goal-meta"},s6={key:0},o6={class:"goal-actions"},i6=Ie({__name:"GoalStrip",props:{goal:{},forceExpanded:{}},emits:["controlGoal"],setup(e,{emit:t}){const n=e,s=t,{t:o}=Ue(),{confirm:i}=go(),u=I(!1);Oe(()=>n.forceExpanded,()=>{n.forceExpanded!==void 0&&(u.value=!0)});const p=$(()=>{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 h=Math.max(0,Math.round(x/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 w(){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,h)=>(a(),G(Bl,{class:fe(["goal-strip",{expanded:u.value}])},{head:H(()=>[r("button",{class:"goal-row",type:"button",onClick:h[0]||(h[0]=m=>u.value=!u.value)},[M(se,{class:"goal-icon",name:"target",size:"md"}),r("span",ZM,d(l(o)("status.goalLabel")),1),r("span",{class:fe(["goal-objective",{"expanded-hidden":u.value}])},d(e.goal.objective),3),M(Ot,{variant:e.goal.status==="active"?"success":e.goal.status==="blocked"?"danger":e.goal.status==="paused"?"warning":"neutral",size:"sm",class:"goal-status"},{default:H(()=>[re(d(f(e.goal.status)),1)]),_:1},8,["variant"]),e.goal.budget.tokenBudget!==null?(a(),c("span",XM,[r("span",{class:"goal-progress-fill",style:rt({width:`${p.value}%`})},null,4)])):A("",!0),M(se,{class:fe(["goal-chevron",{open:u.value}]),name:"chevron-right",size:"md"},null,8,["class"])])]),default:H(()=>[r("div",JM,d(e.goal.objective),1),e.goal.completionCriterion?(a(),c("div",e6,[r("span",null,d(l(o)("workspace.doneWhen")),1),r("p",null,d(e.goal.completionCriterion),1)])):A("",!0)]),foot:H(()=>[r("div",{class:"goal-footer",inert:!u.value,"aria-hidden":!u.value},[r("div",n6,[r("span",null,d(e.goal.turnsUsed)+" turns",1),r("span",null,d(l(ms)(e.goal.tokensUsed))+" tokens",1),r("span",null,d(v(e.goal.wallClockMs)),1),e.goal.budget.tokenBudget!==null?(a(),c("span",s6,d(p.value)+"% token budget",1)):A("",!0)]),r("div",o6,[e.goal.status==="active"?(a(),G(qe,{key:0,size:"sm",variant:"secondary",class:"goal-action",onClick:h[1]||(h[1]=Re(m=>s("controlGoal","pause"),["stop"]))},{default:H(()=>[M(se,{name:"pause",size:"md"}),r("span",null,d(l(o)("status.goalPause")),1)]),_:1})):A("",!0),e.goal.status==="paused"||e.goal.status==="blocked"?(a(),G(qe,{key:1,size:"sm",variant:"primary",class:"goal-action",onClick:h[2]||(h[2]=Re(m=>s("controlGoal","resume"),["stop"]))},{default:H(()=>[M(se,{name:"play",size:"md"}),r("span",null,d(l(o)("status.goalResume")),1)]),_:1})):A("",!0),M(qe,{size:"sm",variant:"danger-soft",class:"goal-action",onClick:Re(w,["stop"])},{default:H(()=>[M(se,{name:"close",size:"md"}),r("span",null,d(l(o)("status.goalCancel")),1)]),_:1})])],8,t6)]),_:1},8,["class"]))}}),a6=Ee(i6,[["__scopeId","data-v-9e444f61"]]),l6={class:"qh"},r6={class:"qtitle"},u6={key:0,class:"qstep"},c6={key:1,class:"qmin-peek"},d6={class:"qbody"},p6=["aria-label"],f6=["aria-selected","aria-label","onClick"],m6={class:"qstep-num"},v6={key:1,class:"qheader-chip"},h6={class:"qtext"},g6={class:"qopts"},y6=["onClick"],k6={class:"qopt-key"},b6={class:"qopt-glyph"},w6={key:0,class:"chk"},S6={key:1,class:"rad"},C6={class:"qopt-text"},_6={class:"qopt-label"},$6={key:0,class:"qopt-desc"},M6={class:"qopt-glyph"},x6={key:0,class:"chk"},I6={key:1,class:"rad"},A6={class:"qopt-label"},T6=["placeholder"],P6={class:"qfoot"},E6=Ie({__name:"QuestionCard",props:{question:{},busyKind:{}},emits:["answer","dismiss"],setup(e,{emit:t}){const n=e,{t:s}=Ue(),o=t,i=I(0),u=I(!1),p=$(()=>n.question.questions[i.value]),f=$(()=>n.question.questions.length);function v(){i.value>0&&i.value--}function w(){i.value=0&&ce0:Q.kind==="multiWithOther"?Q.optionIds.length>0||Q.otherText.trim().length>0:Q.kind==="other"?Q.text.trim().length>0:!0:!1}function m(){return h(p.value.id)}const _=I({});function y(ce){return ce.recommended===!0?!0:/\b(?:recommended|recommend)\b|推荐/.test(`${ce.label} ${ce.description??""}`.toLowerCase())}function g(){const ce={..._.value};let Q=!1;for(const ie of n.question.questions){if(ce[ie.id])continue;const te=ie.options.filter(y);te.length!==0&&(ce[ie.id]=ie.multiSelect?{kind:"multi",optionIds:te.map(ye=>ye.id)}:{kind:"single",optionId:te[0].id},Q=!0)}Q&&(_.value=ce)}Oe(()=>n.question.questionId,()=>{i.value=0,u.value=!1,_.value={},S.value={}}),Oe(()=>n.question,()=>{i.value>=n.question.questions.length&&(i.value=0),g()},{immediate:!0,deep:!0});function k(ce,Q){const ie=_.value[ce];if(ie&&ie.kind==="single"&&ie.optionId===Q){const te={..._.value};delete te[ce],_.value=te}else _.value={..._.value,[ce]:{kind:"single",optionId:Q}}}function T(ce,Q){const ie=_.value[ce],te=ie&&(ie.kind==="multi"||ie.kind==="multiWithOther")?ie.kind==="multi"?[...ie.optionIds]:[...ie.optionIds]:[],ye=te.indexOf(Q);ye>=0?te.splice(ye,1):te.push(Q);const _e=_.value[ce],Ce=_e&&_e.kind==="multiWithOther"?_e.otherText:"";Ce?_.value={..._.value,[ce]:{kind:"multiWithOther",optionIds:te,otherText:Ce}}:_.value={..._.value,[ce]:{kind:"multi",optionIds:te}}}const S=I({}),O=I(null);function D(ce){const Q=n.question.questions.find(te=>te.id===ce);if(!Q)return;const ie=S.value[ce]??"";if(Q.multiSelect){const te=_.value[ce],ye=te&&(te.kind==="multi"||te.kind==="multiWithOther")?te.kind==="multi"?[...te.optionIds]:[...te.optionIds]:[];_.value={..._.value,[ce]:{kind:"multiWithOther",optionIds:ye,otherText:ie}}}else _.value={..._.value,[ce]:{kind:"other",text:ie}}}function E(ce){D(ce),Ke(()=>O.value?.focus())}function B(ce,Q){const ie=_.value[ce];return ie?ie.kind==="single"?ie.optionId===Q:ie.kind==="multi"||ie.kind==="multiWithOther"?ie.optionIds.includes(Q):!1:!1}function q(ce){const Q=_.value[ce];return!!(Q&&(Q.kind==="other"||Q.kind==="multiWithOther"))}function V(){return n.question.questions.every(ce=>h(ce.id))}const b=$(()=>n.busyKind==="answer"),P=$(()=>n.busyKind==="dismiss"),L=$(()=>!!n.busyKind);function ne(){if(L.value||!V())return;const ce={answers:_.value,method:"click"};o("answer",n.question.questionId,ce)}function oe(){L.value||o("dismiss",n.question.questionId)}function ge(ce){const Q=(document.activeElement?.tagName??"").toLowerCase(),ie=Q==="input"||Q==="textarea";if(L.value)return;if(ce.key==="Enter"){if(ce.preventDefault(),u.value)return;i.value=1&&te<=9){ce.preventDefault();const ye=p.value,_e=te-1,Ce=ye.options[_e];Ce&&(ye.multiSelect?T(ye.id,Ce.id):k(ye.id,Ce.id))}}return ht(()=>document.addEventListener("keydown",ge)),kt(()=>document.removeEventListener("keydown",ge)),(ce,Q)=>(a(),G(Bl,{class:fe(["qcard",{minimized:u.value}])},gu({head:H(()=>[r("div",l6,[Q[5]||(Q[5]=r("span",{class:"qh-ic"},"?",-1)),r("span",r6,d(l(s)("question.title")),1),f.value>1&&!u.value?(a(),c("span",u6,d(l(s)("question.step",{current:i.value+1,total:f.value})),1)):A("",!0),u.value?(a(),c("span",c6,d(p.value.question),1)):A("",!0),M(nt,{class:"qmin",size:"sm",label:u.value?l(s)("question.expand"):l(s)("question.minimize"),onClick:Q[0]||(Q[0]=ie=>u.value=!u.value)},{default:H(()=>[u.value?(a(),G(se,{key:0,name:"chevron-up",size:"md"})):(a(),G(se,{key:1,name:"minus",size:"md"}))]),_:1},8,["label"])])]),_:2},[u.value?void 0:{name:"default",fn:H(()=>[r("div",d6,[f.value>1?(a(),c("div",{key:0,class:"qsteps",role:"tablist","aria-label":l(s)("question.step",{current:i.value+1,total:f.value})},[(a(!0),c(he,null,Pe(n.question.questions,(ie,te)=>(a(),c("button",{key:ie.id,type:"button",class:fe(["qstep-dot",{active:te===i.value,answered:h(ie.id)}]),"aria-selected":te===i.value,"aria-label":l(s)("question.step",{current:te+1,total:f.value}),onClick:ye=>x(te)},[r("span",m6,d(te+1),1)],10,f6))),128))],8,p6)):A("",!0),p.value.header?(a(),c("div",v6,[M(Ot,{variant:"neutral",size:"sm"},{default:H(()=>[re(d(p.value.header),1)]),_:1})])):A("",!0),r("div",h6,d(p.value.question),1),p.value.body?(a(),G(ci,{key:2,text:p.value.body,class:"qmdbody"},null,8,["text"])):A("",!0),r("div",g6,[(a(!0),c(he,null,Pe(p.value.options,(ie,te)=>(a(),c("label",{key:ie.id,class:fe(["qopt",{selected:B(p.value.id,ie.id)}]),onClick:Re(ye=>p.value.multiSelect?T(p.value.id,ie.id):k(p.value.id,ie.id),["prevent"])},[r("span",k6,d(te+1),1),r("span",b6,[p.value.multiSelect?(a(),c("span",w6,d(B(p.value.id,ie.id)?"■":"□"),1)):(a(),c("span",S6,d(B(p.value.id,ie.id)?"●":"○"),1))]),r("span",C6,[r("span",_6,d(ie.label),1),ie.description?(a(),c("span",$6,d(ie.description),1)):A("",!0)])],10,y6))),128)),p.value.allowOther?(a(),c("label",{key:0,class:fe(["qopt",{selected:q(p.value.id)}]),onClick:Q[4]||(Q[4]=Re(ie=>E(p.value.id),["prevent"]))},[Q[6]||(Q[6]=r("span",{class:"qopt-key"},null,-1)),r("span",M6,[p.value.multiSelect?(a(),c("span",x6,d(q(p.value.id)?"■":"□"),1)):(a(),c("span",I6,d(q(p.value.id)?"●":"○"),1))]),r("span",A6,d(p.value.otherLabel??l(s)("question.otherDefault")),1),gt(r("input",{ref_key:"otherInputEl",ref:O,"onUpdate:modelValue":Q[1]||(Q[1]=ie=>S.value[p.value.id]=ie),class:"other-input",type:"text",placeholder:p.value.otherLabel??l(s)("question.otherDefault"),onInput:Q[2]||(Q[2]=ie=>D(p.value.id)),onFocus:Q[3]||(Q[3]=ie=>D(p.value.id))},null,40,T6),[[qn,S.value[p.value.id]]])],2)):A("",!0)])])]),key:"0"},u.value?void 0:{name:"foot",fn:H(()=>[r("div",P6,[i.value[re(d(l(s)("question.nextQuestion")),1)]),_:1},8,["disabled"])):(a(),G(qe,{key:1,class:"qfoot-btn qfoot-main",size:"sm",variant:"primary",disabled:!V(),loading:b.value,onClick:ne},{default:H(()=>[re(d(l(s)("question.submit")),1)]),_:1},8,["disabled","loading"])),f.value>1?(a(),G(qe,{key:2,class:"qfoot-btn",size:"sm",variant:"secondary",disabled:i.value===0||L.value,onClick:v},{default:H(()=>[re(d(l(s)("question.back")),1)]),_:1},8,["disabled"])):A("",!0),M(qe,{class:"qfoot-btn",size:"sm",variant:"ghost",loading:P.value,disabled:L.value,onClick:oe},{default:H(()=>[re(d(l(s)("question.dismiss")),1)]),_:1},8,["loading","disabled"])])]),key:"1"}]),1032,["class"]))}}),L6=Ee(E6,[["__scopeId","data-v-2af45fec"]]),B6={class:"ah"},R6={class:"akind"},O6={class:"apath"},D6={class:"ah-path"},z6={key:1,class:"diff"},F6={class:"dg"},N6={class:"dc"},q6={key:2,class:"body-shell"},W6={class:"shell-cmd"},H6={key:0,class:"shell-cwd"},U6={key:1,class:"shell-danger"},V6={key:3,class:"body-file"},j6={class:"file-bar"},K6={class:"file-lang"},G6={class:"file-content"},Q6={class:"file-ln"},Y6={class:"file-text"},Z6={key:4,class:"body-chip"},X6={class:"chip-label"},J6={class:"chip-value"},ex={key:0,class:"chip-detail"},tx={key:5,class:"body-chip"},nx={key:0,class:"chip-label"},sx={class:"chip-value"},ox={key:6,class:"body-chip"},ix={class:"chip-label"},ax={class:"chip-value"},lx={key:0,class:"chip-detail"},rx={key:7,class:"body-chip"},ux={class:"chip-label"},cx={class:"chip-value"},dx={key:0,class:"chip-detail"},px={key:8,class:"body-todo"},fx={class:"todo-glyph"},mx={key:9,class:"body-plan"},vx={key:10,class:"body-generic"},hx={class:"gen-text"},gx={key:11,class:"feedback-wrap"},yx=["placeholder"],kx={class:"feedback-hint"},bx={key:0,class:"plan-actions"},wx={key:1,class:"abtn"},Sx=Ie({__name:"ApprovalCard",props:{block:{},agentName:{},busy:{type:Boolean}},emits:["decide"],setup(e,{emit:t}){const n=e,s=t,{t:o}=Ue(),i=$(()=>{const b=n.block;return b.kind!=="plan_review"?null:{plan:b.plan,path:b.path,options:b.options??[]}}),u=I(!1),p=["shell","diff","file","fileop","url","search","invocation","todo","plan_review","generic"];function f(){const b=p.includes(n.block.kind)?n.block.kind:"generic";return o(`approval.title.${b}`)}const v=I(!1),w=I(""),x=I(null);function h(){n.busy||(v.value=!0,w.value="",setTimeout(()=>x.value?.focus(),0))}function m(){if(n.busy)return;const b=w.value.trim();i.value?k("feedback",{decision:"rejected",selectedLabel:"Revise",feedback:b||void 0}):k("feedback",{decision:"rejected",feedback:b||void 0}),v.value=!1,w.value=""}function _(){v.value=!1,w.value=""}function y(b){b.key==="Enter"&&!b.shiftKey?(b.preventDefault(),m()):b.key==="Escape"&&(b.preventDefault(),_())}const g=I(null);Oe(()=>n.busy,b=>{b||(g.value=null)});function k(b,P){n.busy||(g.value=b,s("decide",P))}function T(){k("approve",{decision:"approved"})}function S(){k("approveSession",{decision:"approved",scope:"session"})}function O(){k("reject",{decision:"rejected"})}function D(){k("approvePlan",{decision:"approved"})}function E(b){k(`option:${b}`,{decision:"approved",selectedLabel:b})}function B(){n.busy||h()}function q(){k("rejectAndExit",{decision:"rejected",selectedLabel:"Reject and Exit"})}function V(b){const P=(document.activeElement?.tagName??"").toLowerCase();if(P==="input"||P==="textarea"||n.busy||u.value)return;const L=i.value;if(L){if(L.options.length===0){b.key==="1"?(b.preventDefault(),D()):b.key==="2"?(b.preventDefault(),B()):b.key==="3"&&(b.preventDefault(),q());return}b.key==="1"&&L.options[0]?(b.preventDefault(),E(L.options[0].label)):b.key==="2"&&L.options[1]?(b.preventDefault(),E(L.options[1].label)):b.key==="3"&&L.options[2]&&(b.preventDefault(),E(L.options[2].label));return}b.key==="1"?(b.preventDefault(),T()):b.key==="2"?(b.preventDefault(),S()):b.key==="3"?(b.preventDefault(),O()):b.key==="4"&&(b.preventDefault(),h())}return ht(()=>document.addEventListener("keydown",V)),kt(()=>document.removeEventListener("keydown",V)),(b,P)=>(a(),G(Bl,{class:fe(["appr",{minimized:u.value}])},gu({head:H(()=>[r("div",B6,[P[2]||(P[2]=r("span",{class:"ah-ic"},"!",-1)),r("span",R6,d(f()),1),r("span",O6,[e.block.kind==="diff"||e.block.kind==="file"||e.block.kind==="fileop"?(a(),c(he,{key:0},[re(d(e.block.path),1)],64)):e.block.kind==="shell"?(a(),c(he,{key:1},[re(d(e.block.command),1)],64)):e.block.kind==="url"?(a(),c(he,{key:2},[re(d(e.block.url),1)],64)):e.block.kind==="search"?(a(),c(he,{key:3},[re(d(e.block.query),1)],64)):e.block.kind==="invocation"?(a(),c(he,{key:4},[re(d(e.block.name),1)],64)):e.block.kind==="generic"?(a(),c(he,{key:5},[re(d(e.block.summary),1)],64)):A("",!0)]),e.agentName&&!u.value?(a(),G(Ot,{key:0,variant:"neutral",size:"sm"},{default:H(()=>[re(d(l(o)("approval.subagentBadge",{name:e.agentName})),1)]),_:1})):A("",!0),u.value?A("",!0):(a(),G(Ot,{key:1,variant:"warning",size:"sm",class:"aw"},{default:H(()=>[re(d(l(o)("approval.required")),1)]),_:1})),M(nt,{class:"amin",size:"sm",label:u.value?l(o)("question.expand"):l(o)("question.minimize"),onClick:P[0]||(P[0]=L=>u.value=!u.value)},{default:H(()=>[u.value?(a(),G(se,{key:0,name:"chevron-up",size:"md"})):(a(),G(se,{key:1,name:"minus",size:"md"}))]),_:1},8,["label"])])]),_:2},[u.value?void 0:{name:"default",fn:H(()=>[e.block.kind==="plan_review"&&e.block.path?(a(),G(ot,{key:0,text:e.block.path},{default:H(()=>[r("div",D6,d(e.block.path),1)]),_:1},8,["text"])):A("",!0),e.block.kind==="diff"?(a(),c("div",z6,[(a(!0),c(he,null,Pe(e.block.diff,(L,ne)=>(a(),c("div",{key:ne,class:fe(["dl",L.kind==="add"?"add":L.kind==="rem"?"del":""])},[r("span",F6,d(L.gutter),1),r("span",N6,d(L.text),1)],2))),128))])):e.block.kind==="shell"?(a(),c("div",q6,[r("div",W6,[P[3]||(P[3]=r("span",{class:"shell-dollar"},"$",-1)),re(" "+d(e.block.command),1)]),e.block.cwd?(a(),c("div",H6,"cwd: "+d(e.block.cwd),1)):A("",!0),e.block.danger?(a(),c("div",U6,d(l(o)("approval.danger",{detail:e.block.danger})),1)):A("",!0)])):e.block.kind==="file"?(a(),c("div",V6,[r("div",j6,[r("span",K6,d(e.block.language??""),1)]),r("div",G6,[(a(!0),c(he,null,Pe(e.block.content.split(`
-`),(L,ne)=>(a(),c("div",{key:ne,class:"file-line"},[r("span",Q6,d(ne+1),1),r("span",Y6,d(L),1)]))),128))])])):e.block.kind==="fileop"?(a(),c("div",Z6,[r("span",X6,d(e.block.op),1),r("span",J6,d(e.block.path),1),e.block.detail?(a(),c("span",ex,d(e.block.detail),1)):A("",!0)])):e.block.kind==="url"?(a(),c("div",tx,[e.block.method?(a(),c("span",nx,d(e.block.method),1)):A("",!0),r("span",sx,d(e.block.url),1)])):e.block.kind==="search"?(a(),c("div",ox,[r("span",ix,d(l(o)("approval.searchQueryLabel")),1),r("span",ax,d(e.block.query),1),e.block.scope?(a(),c("span",lx,d(l(o)("approval.searchScope",{scope:e.block.scope})),1)):A("",!0)])):e.block.kind==="invocation"?(a(),c("div",rx,[r("span",ux,d(e.block.kind2),1),r("span",cx,d(e.block.name),1),e.block.description?(a(),c("span",dx,d(e.block.description),1)):A("",!0)])):e.block.kind==="todo"?(a(),c("div",px,[(a(!0),c(he,null,Pe(e.block.items,(L,ne)=>(a(),c("div",{key:ne,class:"todo-item"},[r("span",fx,d(L.status==="done"||L.status==="completed"?"✓":"○"),1),r("span",{class:fe(["todo-title",{"todo-done":L.status==="done"||L.status==="completed"}])},d(L.title),3)]))),128))])):e.block.kind==="plan_review"?(a(),c("div",mx,[M(ci,{text:e.block.plan},null,8,["text"])])):(a(),c("div",vx,[r("span",hx,d(e.block.summary),1)])),v.value?(a(),c("div",gx,[gt(r("textarea",{ref_key:"feedbackRef",ref:x,"onUpdate:modelValue":P[1]||(P[1]=L=>w.value=L),class:"feedback-ta",placeholder:l(o)("approval.feedbackPlaceholder"),rows:"2",onKeydown:y},null,40,yx),[[qn,w.value]]),r("div",kx,d(l(o)("approval.feedbackHint")),1)])):A("",!0)]),key:"0"},u.value?void 0:{name:"foot",fn:H(()=>[i.value?(a(),c("div",bx,[i.value.options.length>0?(a(!0),c(he,{key:0},Pe(i.value.options,(L,ne)=>(a(),G(ot,{key:ne,text:L.description},{default:H(()=>[M(qe,{class:"kbtn",size:"sm",variant:"primary",loading:g.value===`option:${L.label}`,disabled:e.busy,onClick:oe=>E(L.label)},{default:H(()=>[re(d(L.label),1),M(_s,{class:"k",keys:[String(ne+1)]},null,8,["keys"])]),_:2},1032,["loading","disabled","onClick"])]),_:2},1032,["text"]))),128)):(a(),G(qe,{key:1,class:"kbtn",size:"sm",variant:"primary",loading:g.value==="approvePlan",disabled:e.busy,onClick:D},{default:H(()=>[re(d(l(o)("approval.approvePlan")),1),M(_s,{class:"k",keys:["1"]})]),_:1},8,["loading","disabled"])),M(qe,{class:"kbtn",size:"sm",variant:"secondary",disabled:e.busy,onClick:B},{default:H(()=>[re(d(l(o)("approval.revise")),1),i.value.options.length===0?(a(),G(_s,{key:0,class:"k",keys:["2"]})):A("",!0)]),_:1},8,["disabled"]),M(qe,{class:"kbtn",size:"sm",variant:"danger-soft",loading:g.value==="rejectAndExit",disabled:e.busy,onClick:q},{default:H(()=>[re(d(l(o)("approval.rejectAndExit")),1),i.value.options.length===0?(a(),G(_s,{key:0,class:"k",keys:["3"]})):A("",!0)]),_:1},8,["loading","disabled"])])):(a(),c("div",wx,[M(qe,{class:"kbtn",size:"sm",variant:"primary",loading:g.value==="approve",disabled:e.busy,onClick:T},{default:H(()=>[re(d(l(o)("approval.approve")),1),M(_s,{class:"k",keys:["1"]})]),_:1},8,["loading","disabled"]),M(qe,{class:"kbtn",size:"sm",variant:"secondary",loading:g.value==="approveSession",disabled:e.busy,onClick:S},{default:H(()=>[re(d(l(o)("approval.approveSession")),1),M(_s,{class:"k",keys:["2"]})]),_:1},8,["loading","disabled"]),M(qe,{class:"kbtn",size:"sm",variant:"secondary",loading:g.value==="reject",disabled:e.busy,onClick:O},{default:H(()=>[re(d(l(o)("approval.reject")),1),M(_s,{class:"k",keys:["3"]})]),_:1},8,["loading","disabled"]),M(qe,{class:"kbtn",size:"sm",variant:"secondary",disabled:e.busy,onClick:h},{default:H(()=>[re(d(l(o)("approval.feedback")),1),M(_s,{class:"k",keys:["4"]})]),_:1},8,["disabled"])]))]),key:"1"}]),1032,["class"]))}}),Cx=Ee(Sx,[["__scopeId","data-v-458a9d7d"]]),_x=["recent","running","done","all"];function $x(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 Mx=["aria-selected","onClick"],xx=Ie({__name:"SegmentedControl",props:{modelValue:{},options:{},size:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=t;return(s,o)=>(a(),c("div",{class:fe(["ui-seg",`ui-seg--${e.size??"md"}`]),role:"tablist"},[(a(!0),c(he,null,Pe(e.options,i=>(a(),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,Mx))),128))],2))}}),cn=Ee(xx,[["__scopeId","data-v-d1aaccd7"]]),Ix=Ie({__name:"StatusGlyph",props:{status:{}},setup(e){const t=e,n={pending:"○",run:"●",done:"✓",fail:"✗"};return(s,o)=>(a(),c("span",{class:fe(["status-glyph",`s-${t.status}`]),"aria-hidden":"true"},d(n[t.status]),3))}}),Ai=Ee(Ix,[["__scopeId","data-v-f595d935"]]),Ax={class:"tp-head"},Tx={class:"tp-title"},Px={class:"tp-count"},Ex={key:0,class:"tp-filter"},Lx={key:1,class:"tp-body"},Bx={class:"tp-list-col"},Rx={key:0,class:"tp-empty"},Ox=["role","onClick"],Dx={class:"tp-name"},zx={class:"tp-time"},Fx=["onClick"],Nx={key:0,class:"tp-detail"},qx={key:0,class:"tp-codebox"},Wx=["onClick"],Hx={class:"tp-pre"},Ux={class:"tp-cmd"},Vx={key:1,class:"tp-codebox"},jx=["onClick"],Kx={class:"tp-pre"},Gx={class:"tp-main tp-detail-head"},Qx={class:"tp-name"},Yx={class:"tp-time"},Zx={key:0,class:"tp-codebox"},Xx={class:"tp-pre"},Jx={class:"tp-cmd"},e7={key:1,class:"tp-codebox"},t7={class:"tp-pre"},n7={key:2,class:"tp-detail-empty"},s7={key:1,class:"tp-detail-empty"},o7={key:2,class:"tp-body tp-grid"},i7={key:0,class:"tp-empty"},a7=["onClick"],l7={class:"tp-card-line"},r7={class:"tp-card-name"},u7={class:"tp-card-line tp-card-meta"},c7=["onClick"],d7={key:1,class:"tp-time"},p7=Ie({__name:"TasksPane",props:{tasks:{},variant:{}},emits:["cancel","open"],setup(e,{emit:t}){const n=e,s=t,{t:o}=Ue(),i={recent:"filterRecent",running:"filterRunning",done:"filterDone",all:"filterAll"},u={recent:"emptyRecent",running:"emptyRunning",done:"emptyDone",all:"emptyTasks"},p=I("recent"),f=I(null),v=$(()=>n.tasks.find(q=>q.id===f.value)??null),w=Bn(new Set),x=Bn(new Set),h=Bn(new Set),m=I(null),_=$(()=>n.variant==="todos"?n.tasks:$x(n.tasks,p.value)),y=$(()=>_x.map(q=>({value:q,label:o(`tasks.${i[q]}`)}))),g=$(()=>n.variant==="todos"?"tasks.emptyTasks":`tasks.${u[p.value]}`);function k(q){return!!(q.output&&q.output.length>0||q.meta)}function T(q){if(k(q)){if(n.variant==="todos"){w.has(q.id)?w.delete(q.id):w.add(q.id);return}f.value=q.id,Ke(()=>m.value?.scrollIntoView({block:"nearest"}))}}function S(q){return q==="run"||q==="done"||q==="fail"?q:"pending"}function O(q){p.value=q}async function D(q,V,b){await un(q)&&(b.add(V),setTimeout(()=>b.delete(V),1500))}async function E(q){q.meta&&await D(q.meta,q.id,x)}async function B(q){const V=q.output?.join(`
-`)??"";V&&await D(V,q.id,h)}return(q,V)=>(a(),c("div",{class:fe(["taskspane",`tp-${e.variant}`])},[r("div",Ax,[r("span",Tx,d(l(o)("tasks.tag")),1),r("span",Px,d(_.value.length),1)]),e.variant!=="todos"?(a(),c("div",Ex,[M(cn,{"model-value":p.value,options:y.value,size:"sm","onUpdate:modelValue":O},null,8,["model-value","options"])])):A("",!0),e.variant!=="subagent"?(a(),c("div",Lx,[r("div",Bx,[_.value.length===0?(a(),c("div",Rx,d(l(o)(g.value)),1)):(a(!0),c(he,{key:1},Pe(_.value,b=>(a(),c("div",{key:b.id,class:fe(["tp-row",{done:b.state==="done",fail:b.state==="fail",expandable:k(b),selected:b.id===f.value}])},[r("div",{class:"tp-main",role:k(b)?"button":void 0,onClick:P=>T(b)},[M(Ai,{status:S(b.state)},null,8,["status"]),r("span",Dx,d(b.name),1),M(Ot,{variant:"neutral",size:"sm"},{default:H(()=>[re(d(b.kind),1)]),_:2},1024),r("span",zx,d(b.timing),1),b.state==="run"?(a(),c("button",{key:0,class:"tp-stop",onClick:Re(P=>s("cancel",b.id),["stop"])},d(l(o)("tasks.stop")),9,Fx)):A("",!0),k(b)?(a(),G(se,{key:1,class:fe(["tp-chevron",{open:e.variant==="todos"&&w.has(b.id)}]),name:"chevron-right",size:"sm"},null,8,["class"])):A("",!0)],8,Ox),e.variant==="todos"&&w.has(b.id)&&k(b)?(a(),c("div",Nx,[b.meta?(a(),c("div",qx,[r("button",{class:fe(["tp-copy",{copied:x.has(b.id)}]),onClick:Re(P=>E(b),["stop"])},d(x.has(b.id)?"已复制":"复制"),11,Wx),r("pre",Hx,[r("code",null,[r("span",Ux,d(b.meta),1)])])])):A("",!0),b.output&&b.output.length>0?(a(),c("div",Vx,[r("button",{class:fe(["tp-copy",{copied:h.has(b.id)}]),onClick:Re(P=>B(b),["stop"])},d(h.has(b.id)?"已复制":"复制"),11,jx),r("pre",Kx,[r("code",null,[V[2]||(V[2]=re(`
- `,-1)),(a(!0),c(he,null,Pe(b.output,(P,L)=>(a(),c("span",{key:L,class:"tp-line"},d(P),1))),128)),V[3]||(V[3]=re(`
- `,-1))])])])):A("",!0)])):A("",!0)],2))),128))]),e.variant==="bash"?(a(),c("div",{key:0,ref_key:"detailColRef",ref:m,class:"tp-detail-col"},[v.value?(a(),c(he,{key:0},[r("div",Gx,[M(Ai,{status:S(v.value.state)},null,8,["status"]),r("span",Qx,d(v.value.name),1),M(Ot,{variant:"neutral",size:"sm"},{default:H(()=>[re(d(v.value.kind),1)]),_:1}),r("span",Yx,d(v.value.timing),1)]),v.value.meta?(a(),c("div",Zx,[r("button",{class:fe(["tp-copy",{copied:x.has(v.value.id)}]),onClick:V[0]||(V[0]=Re(b=>E(v.value),["stop"]))},d(x.has(v.value.id)?"已复制":"复制"),3),r("pre",Xx,[r("code",null,[r("span",Jx,d(v.value.meta),1)])])])):A("",!0),v.value.output&&v.value.output.length>0?(a(),c("div",e7,[r("button",{class:fe(["tp-copy",{copied:h.has(v.value.id)}]),onClick:V[1]||(V[1]=Re(b=>B(v.value),["stop"]))},d(h.has(v.value.id)?"已复制":"复制"),3),r("pre",t7,[r("code",null,[V[4]||(V[4]=re(`
- `,-1)),(a(!0),c(he,null,Pe(v.value.output,(b,P)=>(a(),c("span",{key:P,class:"tp-line"},d(b),1))),128)),V[5]||(V[5]=re(`
- `,-1))])])])):A("",!0),!v.value.meta&&!(v.value.output&&v.value.output.length>0)?(a(),c("div",n7,d(l(o)("tasks.noOutput")),1)):A("",!0)],64)):(a(),c("div",s7,d(l(o)("tasks.detailPlaceholder")),1))],512)):A("",!0)])):A("",!0),e.variant==="subagent"?(a(),c("div",o7,[_.value.length===0?(a(),c("div",i7,d(l(o)(g.value)),1)):(a(!0),c(he,{key:1},Pe(_.value,b=>(a(),c("div",{key:b.id,class:fe(["tp-card",{done:b.state==="done",fail:b.state==="fail"}]),role:"button",onClick:P=>s("open",b.id)},[r("span",l7,[M(Ai,{status:S(b.state)},null,8,["status"]),r("span",r7,d(b.name),1)]),r("span",u7,[M(Ot,{variant:"neutral",size:"sm"},{default:H(()=>[re(d(b.kind),1)]),_:2},1024),b.state==="run"?(a(),c("button",{key:0,class:"tp-stop",onClick:Re(P=>s("cancel",b.id),["stop"])},d(l(o)("tasks.stop")),9,c7)):(a(),c("span",d7,d(b.timing),1))])],10,a7))),128))])):A("",!0)],2))}}),su=Ee(p7,[["__scopeId","data-v-30ebee08"]]),f7={class:"todo-card"},m7={key:0,class:"tc-empty"},v7={key:1,class:"tc-progress"},h7={class:"tc-name"},g7=Ie({__name:"TodoCard",props:{todos:{},doneCount:{}},setup(e){const t=e,{t:n}=Ue(),s=$(()=>t.doneCount??t.todos.filter(i=>i.status==="done").length);function o(i){return i==="in_progress"?"run":i}return(i,u)=>(a(),c("div",f7,[t.todos.length===0?(a(),c("div",m7,[M(se,{name:"check-list",size:"md",class:"tc-empty-ico","aria-hidden":"true"}),r("span",null,d(l(n)("tasks.emptyTodo")),1)])):(a(),c("div",v7,[M(se,{name:"check-list",size:"sm",class:"tc-progress-ico","aria-hidden":"true"}),r("span",null,d(l(n)("tasks.todoProgress",{done:s.value,total:t.todos.length})),1)])),(a(!0),c(he,null,Pe(t.todos,(p,f)=>(a(),c("div",{key:f,class:fe(["tc-row",`s-${p.status}`])},[M(Ai,{status:o(p.status)},null,8,["status"]),r("span",h7,d(p.title),1)],2))),128))]))}}),y7=Ee(g7,[["__scopeId","data-v-4f8e45d2"]]),k7={class:"terminal-panel"},b7={key:0,class:"term-state"},w7={key:1,class:"term-state"},S7={class:"term-toolbar"},C7=["aria-label"],_7=["aria-selected","onClick"],$7={class:"term-tab-label"},M7={key:0,class:"term-error",role:"alert"},x7={key:1,class:"term-exit"},I7={class:"term-input-row"},A7=["disabled","placeholder"],T7=Ie({__name:"TerminalPanel",props:{sessionId:{},store:{}},setup(e){const t=e,{t:n}=Ue(),s=Te(),o=I(""),i=I(!1),u=I(new Set),p=I(null),f=I(null),v=$(()=>t.store.terminals.value),w=$(()=>t.store.active.value),x=$(()=>t.store.activeLines.value),h=$(()=>t.store.loading.value),m=$(()=>t.store.error.value),_=$(()=>{const L=w.value?.exitCode;return L==null?"?":String(L)});let y=0;async function g(){const L=++y;if(!t.sessionId){t.store.setSession(void 0);return}t.store.setSession(t.sessionId),t.store.setLoading(!0),t.store.setError(null);try{const ne=await s.listTerminals(t.sessionId);if(L!==y)return;t.store.syncTerminals(ne);const oe=t.store.terminals.value[0];oe&&(t.store.setActive(oe.id),t.store.attach(oe.id))}catch(ne){if(L!==y)return;t.store.setError(O(ne)??n("terminal.listFailed"))}finally{L===y&&t.store.setLoading(!1)}}async function k(){if(!(!t.sessionId||i.value)){i.value=!0,t.store.setError(null);try{const L=await s.createTerminal(t.sessionId,{cols:Yu,rows:Zu});t.store.upsertTerminal(L),t.store.setActive(L.id),t.store.attach(L.id),await Ke(),b()}catch(L){t.store.setError(O(L)??n("terminal.createFailed"))}finally{i.value=!1}}}async function T(L){if(!(!t.sessionId||u.value.has(L))){u.value=new Set(u.value).add(L),t.store.setError(null);try{await s.closeTerminal(t.sessionId,L),t.store.detach(L),t.store.removeTerminal(L)}catch(ne){t.store.setError(O(ne)??n("terminal.closeFailed"))}finally{const ne=new Set(u.value);ne.delete(L),u.value=ne}}}function S(L){t.store.setActive(L),t.store.attach(L),b()}function O(L){return L instanceof Error&&L.message?L.message:null}let D=-1,E="";function B(){const L=w.value;if(!L||L.status==="exited")return;const ne=o.value;ne.trim().length!==0&&(t.store.submitInput(L.id,ne),o.value="",D=-1,b())}function q(){const L=w.value?.history??[];if(L.length===0)return;if(D===-1)E=o.value,D=L.length-1;else if(D>0)D-=1;else return;const ne=L[D];ne!==void 0&&(o.value=ne)}function V(){const L=w.value?.history??[];if(D!==-1)if(D{f.value?.focus()})}function P(){const L=p.value;if(!L)return;L.scrollHeight-L.scrollTop-L.clientHeight<40&&(L.scrollTop=L.scrollHeight)}return Oe(()=>t.store.activeLines.value,P),Oe(()=>t.sessionId,()=>{g()}),ht(()=>{g()}),(L,ne)=>(a(),c("div",k7,[h.value?(a(),c("div",b7,[M(Dt,{size:"sm"}),r("span",null,d(l(n)("terminal.loading")),1)])):v.value.length===0?(a(),c("div",w7,[r("span",null,d(l(n)("terminal.empty")),1),M(qe,{variant:"secondary",size:"sm",loading:i.value,onClick:ne[0]||(ne[0]=oe=>k())},{default:H(()=>[re(d(l(n)("terminal.newTerminal")),1)]),_:1},8,["loading"])])):(a(),c(he,{key:2},[r("div",S7,[v.value.length>1?(a(),c("div",{key:0,class:"term-tabs",role:"tablist","aria-label":l(n)("terminal.dockTerminal")},[(a(!0),c(he,null,Pe(v.value,(oe,ge)=>(a(),c("button",{key:oe.id,class:fe(["term-tab",{active:oe.id===t.store.activeId.value}]),type:"button",role:"tab","aria-selected":oe.id===t.store.activeId.value,onClick:ce=>S(oe.id)},[M(Ro,{status:oe.status},null,8,["status"]),r("span",$7,"#"+d(ge+1),1),M(nt,{size:"sm",label:l(n)("terminal.closeTerminal"),disabled:u.value.has(oe.id),onClick:Re(ce=>T(oe.id),["stop"])},{default:H(()=>[M(se,{name:"close",size:"sm"})]),_:1},8,["label","disabled","onClick"])],10,_7))),128))],8,C7)):A("",!0),M(nt,{class:"term-add",label:l(n)("terminal.newTerminal"),disabled:i.value,onClick:ne[1]||(ne[1]=oe=>k())},{default:H(()=>[M(se,{name:"plus",size:"sm"})]),_:1},8,["label","disabled"])]),m.value?(a(),c("div",M7,d(m.value),1)):A("",!0),w.value?.status==="exited"?(a(),c("div",x7,d(l(n)("terminal.exited",{code:_.value})),1)):A("",!0),w.value?(a(),c("pre",{key:2,ref_key:"preRef",ref:p,class:"term-output"},d(x.value),513)):A("",!0),r("div",I7,[ne[6]||(ne[6]=r("span",{class:"term-prompt"},"$",-1)),gt(r("input",{ref_key:"inputRef",ref:f,"onUpdate:modelValue":ne[2]||(ne[2]=oe=>o.value=oe),class:"term-input",disabled:!w.value||w.value.status==="exited",placeholder:l(n)("terminal.inputPlaceholder"),onKeydown:[ne[3]||(ne[3]=En(Re(oe=>B(),["prevent"]),["enter"])),ne[4]||(ne[4]=En(Re(oe=>q(),["prevent"]),["up"])),ne[5]||(ne[5]=En(Re(oe=>V(),["prevent"]),["down"]))]},null,40,A7),[[qn,o.value]])])],64))]))}}),P7=Ee(T7,[["__scopeId","data-v-4d134005"]]);function E7(e){const t=["cancel"];return e==="active"?t.unshift("pause"):(e==="paused"||e==="blocked")&&t.unshift("resume"),t}function L7(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 B7={class:"ui-empty"},R7={key:0,class:"ui-empty__icon","aria-hidden":"true"},O7={key:1,class:"ui-empty__title"},D7={key:2,class:"ui-empty__hint"},z7=Ie({__name:"EmptyState",props:{title:{},hint:{}},setup(e){return(t,n)=>(a(),c("div",B7,[t.$slots.icon?(a(),c("span",R7,[yt(t.$slots,"icon",{},void 0,!0)])):A("",!0),e.title?(a(),c("div",O7,d(e.title),1)):A("",!0),e.hint?(a(),c("div",D7,d(e.hint),1)):A("",!0),yt(t.$slots,"default",{},void 0,!0)]))}}),Qo=Ee(z7,[["__scopeId","data-v-38e00944"]]),F7={class:"goal-panel"},N7={key:0,class:"gp-head"},q7={class:"gp-title-row"},W7={class:"gp-kicker"},H7=["title"],U7=["title"],V7={class:"gp-actions"},j7={key:0,class:"gp-criterion"},K7={class:"gp-criterion-label"},G7={class:"gp-criterion-text"},Q7=Ie({__name:"GoalPanel",props:{goal:{}},emits:["controlGoal"],setup(e,{emit:t}){const n=t,{t:s}=Ue(),{confirm:o}=go();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)=>(a(),c("div",F7,[e.goal?(a(),c("div",N7,[r("div",q7,[M(se,{class:"gp-icon",name:"target",size:"md"}),r("span",W7,d(l(s)("status.goalLabel")),1),r("span",{class:"gp-objective",title:e.goal.objective},d(e.goal.objective),9,H7),M(Ot,{variant:u(e.goal.status),size:"sm",class:"gp-status"},{default:H(()=>[re(d(i(e.goal.status)),1)]),_:1},8,["variant"]),r("span",{class:"gp-elapsed",title:`${e.goal.wallClockMs} ms`},[M(se,{name:"clock",size:"sm"}),re(" "+d(l(L7)(e.goal.wallClockMs)),1)],8,U7),r("div",V7,[(a(!0),c(he,null,Pe(l(E7)(e.goal.status),w=>(a(),G(nt,{key:w,size:"md",label:l(s)(`status.goal${w==="resume"?"Resume":w==="pause"?"Pause":"Cancel"}`),class:"gp-action",onClick:x=>w==="cancel"?p():n("controlGoal",w)},{default:H(()=>[M(se,{name:w==="resume"?"play":w==="pause"?"pause":"close"},null,8,["name"])]),_:2},1032,["label","onClick"]))),128))])]),e.goal.completionCriterion?(a(),c("div",j7,[r("span",K7,d(l(s)("workspace.doneWhen")),1),r("p",G7,d(e.goal.completionCriterion),1)])):A("",!0)])):(a(),G(Qo,{key:1,title:l(s)("status.goalEmptyTitle"),hint:l(s)("status.goalEmptyHint")},{icon:H(()=>[M(se,{name:"target"})]),_:1},8,["title","hint"]))]))}}),Y7=Ee(Q7,[["__scopeId","data-v-d3a415b3"]]);function Z7(e){return typeof e=="string"&&e.toLowerCase()==="exitplanmode"}function X7(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(Z7(n[s]?.name))return n[s].id}}}function J7(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 eI={class:"plan-panel"},tI={key:0,class:"pp-loading",role:"status"},nI={class:"pp-plan-wrap"},sI={key:0,class:"pp-path"},oI={class:"pp-plan"},iI={key:0,class:"pp-review"},aI={class:"pp-state"},lI={key:0,class:"pp-option"},rI={key:1,class:"pp-feedback"},uI=Ie({__name:"PlanPanel",props:{sessionId:{},toolCallId:{},planMode:{type:Boolean,default:!1},planArmed:{type:Boolean,default:!1}},setup(e){const t=e,{t:n}=Ue(),s=I("idle"),o=I(null);let i=0;async function u(){const v=t.sessionId,w=t.toolCallId,x=++i;if(o.value=null,!v||!w){s.value="settled";return}s.value="loading";const h=await Zc(v,w);x===i&&(o.value=h,s.value="settled")}Oe(()=>[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=$(()=>J7(t.toolCallId,s.value,o.value,t.planMode,t.planArmed));return(v,w)=>(a(),c("div",eI,[f.value.kind==="loading"?(a(),c("div",tI,[M(Dt,{size:"sm"}),r("span",null,d(l(n)("tools.plan.loading")),1)])):f.value.kind==="plan"?(a(),c(he,{key:1},[r("div",nI,[f.value.plan.path?(a(),c("p",sI,d(f.value.plan.path),1)):A("",!0),r("pre",oI,d(f.value.plan.plan),1)]),f.value.plan.review?(a(),c("div",iI,[r("span",aI,d(p(f.value.plan.review.state)),1),f.value.plan.review.selectedOption?(a(),c("span",lI,d(f.value.plan.review.selectedOption),1)):A("",!0),f.value.plan.review.feedback?(a(),c("span",rI," “"+d(f.value.plan.review.feedback)+"” ",1)):A("",!0)])):A("",!0)],64)):(a(),G(Qo,{key:2,title:f.value.armed?l(n)("status.planEmptyArmed"):l(n)("status.planEmptyIdle")},{icon:H(()=>[M(se,{name:"file-edit"})]),_:1},8,["title"]))]))}}),cI=Ee(uI,[["__scopeId","data-v-9073f2b6"]]),dI={class:"dock-work-head"},pI={key:0,class:"dock-work-tab static"},fI={key:1,class:"dock-work-tab static"},mI={key:2,class:"dock-work-tab static"},vI={key:3,class:"dock-work-tab static"},hI={key:4,class:"dock-work-tab static"},gI={key:5,class:"dock-work-tab static"},yI={class:"dock-work-body"},kI={class:"dw-count"},bI={class:"dw-count"},wI={class:"dw-count"},SI={key:0,class:"dw-count"},CI=Ie({__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}=Ue(),u=$(()=>s.terminal!==void 0&&s.sessionId!==void 0),p=$(()=>s.terminal?.terminals.value.length??0),f=$(()=>s.goal!==null&&s.goal!==void 0&&s.goal.status!=="complete"||s.goalMode===!0),v=$(()=>s.planMode===!0||s.planArmed===!0),w=$(()=>s.planMode?i("status.planModeOn"):s.planArmed?i("status.planArmed"):""),x=I(null),h=I(null),m=I(null),_=I(null);function y(D){return x.value?(x.value.loadForEdit(D),!0):!1}function g(D){x.value?.loadAttachmentsForEdit(D)}function k(){x.value?.focus()}function T(D){if(!s.dockPanel)return;const E=D.target;E&&(h.value?.contains(E)||m.value?.contains(E)||o("close-dock-panel"))}Oe(()=>s.dockPanel,D=>{typeof document>"u"||(document.removeEventListener("mousedown",T,!0),D&&document.addEventListener("mousedown",T,!0))},{immediate:!0});let S=null;function O(){const D=_.value?.offsetHeight??0;document.documentElement.style.setProperty("--dock-h",`${D}px`)}return ht(()=>{typeof ResizeObserver!="function"||!_.value||(S=new ResizeObserver(O),S.observe(_.value),O())}),kt(()=>{typeof document<"u"&&document.removeEventListener("mousedown",T,!0),S?.disconnect(),S=null}),t({loadForEdit:y,loadAttachmentsForEdit:g,focus:k}),(D,E)=>(a(),c("div",{ref_key:"dockRef",ref:_,class:fe(["chat-dock",[e.mobile?"align-mobile":"align-center",{"has-approval":!!e.pendingApproval}]]),onClick:E[30]||(E[30]=Re(()=>{},["stop"]))},[M(Yo,{name:"dock-panel"},{default:H(()=>[e.dockPanel?(a(),c("div",{key:0,ref_key:"workPanelRef",ref:h,class:"dock-work-panel",onClick:E[4]||(E[4]=Re(()=>{},["stop"]))},[r("div",dI,[e.dockPanel==="bash"?(a(),c("span",pI,d(l(i)("tasks.dockBash"))+" · "+d(e.bashRunning)+" "+d(l(i)("tasks.running")),1)):e.dockPanel==="subagent"?(a(),c("span",fI,d(l(i)("tasks.dockSubagent"))+" · "+d(e.subagentRunning)+" "+d(l(i)("tasks.running")),1)):e.dockPanel==="todos"?(a(),c("span",mI,d(l(i)("tasks.dockTodos"))+" · "+d(e.todoDoneCount)+"/"+d(e.todos?.length??0),1)):e.dockPanel==="terminal"?(a(),c("span",vI,d(l(i)("terminal.dockTerminal"))+" · "+d(p.value),1)):e.dockPanel==="goal"?(a(),c("span",hI,[re(d(l(i)("status.goalLabel")),1),e.goal?(a(),c(he,{key:0},[re(" · "+d(e.goal.objective),1)],64)):A("",!0)])):e.dockPanel==="plan"?(a(),c("span",gI,[re(d(l(i)("status.planLabel")),1),w.value?(a(),c(he,{key:0},[re(" · "+d(w.value),1)],64)):A("",!0)])):A("",!0)]),r("div",yI,[e.dockPanel==="bash"?(a(),G(su,{key:0,variant:"bash",tasks:e.bashTasks,onCancel:E[0]||(E[0]=B=>o("cancelTask",B))},null,8,["tasks"])):e.dockPanel==="subagent"?(a(),G(su,{key:1,variant:"subagent",tasks:e.subagentTasks,onCancel:E[1]||(E[1]=B=>o("cancelTask",B)),onOpen:E[2]||(E[2]=B=>o("openAgent",B))},null,8,["tasks"])):e.dockPanel==="todos"?(a(),G(y7,{key:2,todos:e.todos??[],"done-count":e.todoDoneCount},null,8,["todos","done-count"])):e.dockPanel==="terminal"&&e.terminal!==void 0?(a(),G(P7,{key:3,"session-id":e.sessionId??"",store:e.terminal},null,8,["session-id","store"])):e.dockPanel==="goal"?(a(),G(Y7,{key:4,goal:e.goal??null,onControlGoal:E[3]||(E[3]=B=>o("controlGoal",B))},null,8,["goal"])):e.dockPanel==="plan"?(a(),G(cI,{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"])):A("",!0)])],512)):A("",!0)]),_:1}),e.goal?(a(),G(a6,{key:0,goal:e.goal,"force-expanded":e.goalExpandSignal,onControlGoal:E[5]||(E[5]=B=>o("controlGoal",B))},null,8,["goal","force-expanded"])):A("",!0),e.hasDockWork||u.value||f.value||v.value?(a(),c("div",{key:1,ref_key:"workbarRef",ref:m,class:"dock-workbar"},[e.bashTasks.length>0?(a(),G(eo,{key:0,active:e.dockPanel==="bash","aria-pressed":e.dockPanel==="bash",onClick:E[6]||(E[6]=B=>o("toggle-dock-panel","bash"))},{default:H(()=>[M(se,{name:"clock",size:"md"}),r("span",null,d(l(i)("tasks.dockBash")),1),r("span",kI,[E[31]||(E[31]=re("(",-1)),r("b",null,d(e.bashTasks.length),1),E[32]||(E[32]=re(")",-1))])]),_:1},8,["active","aria-pressed"])):A("",!0),e.subagentTasks.length>0?(a(),G(eo,{key:1,active:e.dockPanel==="subagent","aria-pressed":e.dockPanel==="subagent",onClick:E[7]||(E[7]=B=>o("toggle-dock-panel","subagent"))},{default:H(()=>[M(se,{name:"sparkles",size:"md"}),r("span",null,d(l(i)("tasks.dockSubagent")),1),r("span",bI,[E[33]||(E[33]=re("(",-1)),r("b",null,d(e.subagentTasks.length),1),E[34]||(E[34]=re(")",-1))])]),_:1},8,["active","aria-pressed"])):A("",!0),(e.todos?.length??0)>0?(a(),G(eo,{key:2,active:e.dockPanel==="todos","aria-pressed":e.dockPanel==="todos",onClick:E[8]||(E[8]=B=>o("toggle-dock-panel","todos"))},{default:H(()=>[M(se,{name:"check-list",size:"md"}),r("span",null,d(l(i)("tasks.dockTodos")),1),r("span",wI,[E[35]||(E[35]=re("(",-1)),r("b",null,d(e.todoDoneCount)+"/"+d(e.todos?.length??0),1),E[36]||(E[36]=re(")",-1))])]),_:1},8,["active","aria-pressed"])):A("",!0),u.value?(a(),G(eo,{key:3,active:e.dockPanel==="terminal","aria-pressed":e.dockPanel==="terminal",onClick:E[9]||(E[9]=B=>o("toggle-dock-panel","terminal"))},{default:H(()=>[M(se,{name:"terminal",size:"md"}),r("span",null,d(l(i)("terminal.dockTerminal")),1),p.value>0?(a(),c("span",SI,[E[37]||(E[37]=re("(",-1)),r("b",null,d(p.value),1),E[38]||(E[38]=re(")",-1))])):A("",!0)]),_:1},8,["active","aria-pressed"])):A("",!0),f.value?(a(),G(eo,{key:4,active:e.dockPanel==="goal","aria-pressed":e.dockPanel==="goal",onClick:E[10]||(E[10]=B=>o("toggle-dock-panel","goal"))},{default:H(()=>[M(se,{name:"target",size:"md"}),r("span",null,d(l(i)("status.goalLabel")),1)]),_:1},8,["active","aria-pressed"])):A("",!0),v.value?(a(),G(eo,{key:5,active:e.dockPanel==="plan","aria-pressed":e.dockPanel==="plan",onClick:E[11]||(E[11]=B=>o("toggle-dock-panel","plan"))},{default:H(()=>[M(se,{name:"file-edit",size:"md"}),r("span",null,d(l(i)("status.planLabel")),1)]),_:1},8,["active","aria-pressed"])):A("",!0)],512)):A("",!0),e.pendingQuestion?(a(),G(L6,{key:e.pendingQuestion.questionId,question:e.pendingQuestion,"busy-kind":e.questionBusyKind,onAnswer:E[12]||(E[12]=(B,q)=>o("answer",B,q)),onDismiss:E[13]||(E[13]=B=>o("dismiss",B))},null,8,["question","busy-kind"])):e.pendingApproval?(a(),G(Cx,{key:e.pendingApproval.approvalId,class:"dock-approval",block:e.pendingApproval.block,"agent-name":e.pendingApproval.agentName,busy:e.approvalBusy,onDecide:E[14]||(E[14]=B=>o("approval",e.pendingApproval.approvalId,B))},null,8,["block","agent-name","busy"])):(a(),G(gd,{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:E[15]||(E[15]=B=>o("submit",B)),onSteer:E[16]||(E[16]=B=>o("steer",B)),onCommand:E[17]||(E[17]=(B,q)=>o("command",B,q)),onInterrupt:E[18]||(E[18]=B=>o("interrupt")),onSetPermission:E[19]||(E[19]=B=>o("setPermission",B)),onSetThinking:E[20]||(E[20]=B=>o("setThinking",B)),onTogglePlan:E[21]||(E[21]=B=>o("togglePlan")),onToggleSwarm:E[22]||(E[22]=B=>o("toggleSwarm")),onToggleSupermoon:E[23]||(E[23]=B=>o("toggleSupermoon")),onToggleGoal:E[24]||(E[24]=B=>o("toggleGoal")),onDismissPlan:E[25]||(E[25]=B=>o("dismissPlan")),onFocusGoal:E[26]||(E[26]=B=>o("focusGoal")),onCompact:E[27]||(E[27]=B=>o("compact")),onPickModel:E[28]||(E[28]=B=>o("pickModel")),onSelectModel:E[29]||(E[29]=B=>o("selectModel",B))},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))}}),_I=Ee(CI,[["__scopeId","data-v-c24c01d4"]]),$I=["type","value","placeholder","disabled","readonly"],MI=Ie({__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=I();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)=>(a(),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]=w=>f.$emit("focus",w)),onBlur:v[1]||(v[1]=w=>f.$emit("blur",w))},null,42,$I))}}),Kn=Ee(MI,[["__scopeId","data-v-340f0da2"]]),xI={class:"conv-search",role:"search"},II={key:0,class:"conv-search-count"},AI={key:1,class:"conv-search-count conv-search-none"},TI=Ie({__name:"ConversationSearch",props:{query:{},total:{},activeIndex:{}},emits:["update:query","next","prev","close"],setup(e,{emit:t}){const{t:n}=Ue(),s=t,o=I(null);ht(()=>{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)=>(a(),c("div",xI,[M(se,{class:"conv-search-icon",name:"search",size:"sm"}),M(Kn,{ref_key:"inputRef",ref:o,class:"conv-search-input",size:"sm",type:"text","model-value":e.query,placeholder:l(n)("conversation.searchPlaceholder"),"aria-label":l(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?(a(),c("span",II,d(l(n)("conversation.searchPosition",{current:Math.max(e.activeIndex,0)+1,total:e.total})),1)):e.query.trim().length>0?(a(),c("span",AI,d(l(n)("conversation.searchNoResults")),1)):A("",!0),M(nt,{size:"sm",class:"conv-search-prev",label:l(n)("conversation.searchPrev"),disabled:e.total===0,onClick:p[1]||(p[1]=f=>s("prev"))},{default:H(()=>[M(se,{name:"chevron-up",size:"sm"})]),_:1},8,["label","disabled"]),M(nt,{size:"sm",class:"conv-search-next",label:l(n)("conversation.searchNext"),disabled:e.total===0,onClick:p[2]||(p[2]=f=>s("next"))},{default:H(()=>[M(se,{name:"chevron-down",size:"sm"})]),_:1},8,["label","disabled"]),M(nt,{size:"sm",class:"conv-search-close",label:l(n)("conversation.searchClose"),onClick:p[3]||(p[3]=f=>s("close"))},{default:H(()=>[M(se,{name:"close",size:"sm"})]),_:1},8,["label"])]))}}),PI=Ee(TI,[["__scopeId","data-v-c521ac2e"]]),EI=["aria-label","aria-hidden"],LI={class:"toc-scroll"},BI=["onClick"],RI={class:"toc-label"},OI=240,DI=Ie({__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}=Ue(),i=I(null),u=I(!0);let p=null;function f(){const w=i.value,x=w?.offsetParent;if(!w||!x)return;const h=w.getBoundingClientRect().left,m=x.getBoundingClientRect().right;u.value=m-h>=OI}const v=$(()=>!n.mobile&&!n.sessionLoading&&n.items.length>1);return Oe(v,w=>{p?.disconnect(),p=null,w&&Ke(()=>{const x=i.value,h=x?.offsetParent;!x||!h||(typeof ResizeObserver<"u"&&(p=new ResizeObserver(f),p.observe(h)),f())})},{immediate:!0}),Ln(()=>{p?.disconnect(),p=null}),(w,x)=>v.value?(a(),c("nav",{key:0,ref_key:"navRef",ref:i,class:fe(["conversation-toc",{"toc-clipped":!u.value||e.occluded}]),"aria-label":l(o)("conversation.toc"),"aria-hidden":u.value&&!e.occluded?void 0:!0},[r("div",LI,[(a(!0),c(he,null,Pe(e.items,h=>(a(),c("button",{key:h.id,type:"button",class:fe(["toc-row",{active:e.activeTurnId===h.id}]),onClick:m=>s("select",h.id)},[x[0]||(x[0]=r("span",{class:"toc-bar"},null,-1)),r("span",RI,d(h.title),1)],10,BI))),128))])],10,EI)):A("",!0)}}),zI=Ee(DI,[["__scopeId","data-v-3f1c1f66"]]),FI=5;function NI(e,t,n,s=FI){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}const Rl={text:"",attachments:[]};Object.freeze(Rl);Object.freeze(Rl.attachments);function qI(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 WI(e,t){const n=t.trim();if(n.length===0)return[];const s=n.toLowerCase(),o=[];return e.forEach((i,u)=>{const p=qI(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 HI(e,t){return t<=0?-1:e<0?0:(e+1)%t}function UI(e,t){return t<=0?-1:e<0?t-1:(e-1+t)%t}const VI={class:"chat-layout"},jI={class:"empty-hint"},KI={key:0,class:"empty-hint-text"},GI={key:1,class:"ws-pick"},QI={class:"ws-pick-name"},YI={key:1,class:"ws-pick-menu"},ZI=["onClick"],XI={class:"ws-pick-item-name"},JI={class:"ws-pick-item-path"},eA=["aria-label"],tA={key:0,class:"abort-toast",role:"status","aria-live":"polite"},nA={class:"abort-toast-text"},Ma=80,ou=1e3,sA=420,oA=3e3,iA=Ie({__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:{},pr:{},conversationToc:{type:Boolean},terminal:{}},emits:["submit","steer","approval","cancelTask","answer","dismiss","command","interrupt","unqueue","editQueued","reorderQueue","steerQueued","setPermission","setThinking","togglePlan","toggleSwarm","toggleSupermoon","toggleGoal","dismissPlan","controlGoal","compact","pickModel","selectModel","openFile","openMedia","openThinking","openCompaction","openAgent","openToolDiff","openChanges","refreshGitStatus","editMessage","selectWorkspace","addWorkspace","openPr","renameSession","forkSession","archiveSession","exportSession","resumeTurn"],setup(e,{expose:t,emit:n}){const{t:s}=Ue(),o=e,i=n,u=I(!1),p=I(!1),f=$(()=>o.workspaces?.find(K=>K.id===o.activeWorkspaceId)?.name??o.workspaceName??""),v=$(()=>(o.workspaces?.length??0)>0),w=$(()=>NI(o.workspaces??[],o.activeWorkspaceId,p.value)),x=$(()=>(o.workspaces?.length??0)-w.value.length);Oe(u,F=>{F||(p.value=!1)});function h(F){u.value=!1,F!==o.activeWorkspaceId&&i("selectWorkspace",F)}ro(We.contentAlign);const m=I(null),_=I(null),y=I(null),g=I(!1),k=I(0);let T=null;function S(F,K){const le=y.value??_.value;return!le||le.loadForEdit(F)===!1?!1:(le.loadAttachmentsForEdit(K??[]),!0)}function O(){g.value=!0,T!==null&&clearTimeout(T),T=setTimeout(()=>{T=null,g.value=!1},2e3)}function D(){k.value++,ne.value="goal"}const E=$(()=>o.tasks.filter(F=>F.kind!=="subagent")),B=$(()=>o.tasks.filter(F=>F.kind==="subagent"&&F.runInBackground)),q=$(()=>E.value.filter(F=>F.state==="run").length),V=$(()=>B.value.filter(F=>F.state==="run").length);function b(F){const K=o.tasks,le=K.find(tt=>tt.id===F)??K.find(tt=>tt.parentToolCallId===F);if(le)return le.id;const je=K.filter(tt=>tt.kind==="subagent"&&!tt.parentToolCallId);if(je.length===1)return je[0].id}Io("resolveAgentTaskId",b),Io("pinScroll",Je),Io("sessionId",()=>o.sessionId);const P=$(()=>(o.todos??[]).filter(F=>F.status==="done").length),L=$(()=>E.value.length>0||B.value.length>0||(o.todos?.length??0)>0||(o.queued?.length??0)>0),ne=I(null),oe=$(()=>o.gitInfo?o.changes?.length??0:0),ge=$(()=>X7(o.turns));function ce(F){ne.value=ne.value===F?null:F}function Q(){ne.value=null}Oe(L,F=>{!F&&ne.value!=="terminal"&&ne.value!=="goal"&&ne.value!=="plan"&&Q()});function ie(F){if(F.role==="compaction")return s("conversation.compactedPlain");if(F.role==="user"){if(F.skillActivation)return`/${F.skillActivation.name}`;if(F.pluginCommand)return`/${F.pluginCommand.pluginId}:${F.pluginCommand.commandName}`;const le=F.text.trim().replaceAll(/\s+/g," ");return le.length>0?le:"user"}const K=(F.text||F.thinking||"").trim().replaceAll(/\s+/g," ");return K.length>0?K:(F.tools?.length??0)>0?`${F.tools.length} tools`:"kimi"}const te=$(()=>o.turns.filter(F=>F.role==="user").map((F,K)=>({id:F.id,role:F.role,no:K+1,title:ie(F)}))),ye=I(null);function _e(){const F=Ve.value;if(!F)return;const K=F.querySelectorAll(".turn-anchor[data-turn-id]");if(K.length===0)return;const le=te.value;if(le.length===0)return;const je=new Set(le.map(Yn=>Yn.id));if(In()<=Ma){ye.value=le[le.length-1].id;return}const tt=F.getBoundingClientRect(),wt=tt.height/2;let tn=null;K.forEach(Yn=>{const rs=Yn.dataset.turnId;if(!rs||!je.has(rs))return;Yn.getBoundingClientRect().top-tt.top<=wt&&(tn=rs)}),ye.value=tn??le[0].id}const Ce=I(!1),Z=I(""),U=I(0),ke=$(()=>WI(o.turns,Z.value)),ae=$(()=>ke.value.length);function ee(){Ce.value?de():Ce.value=!0}function de(){Ce.value=!1,Z.value="",U.value=0}function Be(){U.value=HI(U.value,ae.value)}function Y(){U.value=UI(U.value,ae.value)}Oe(Z,()=>{U.value=0,ve()}),Oe(ae,F=>{F===0?U.value=0:U.value>=F&&(U.value=F-1)}),Oe(U,()=>{ve()});async function ve(){if(ae.value===0)return;await Ke();const F=Ve.value;if(!F)return;const K=F.querySelector(".chat-search-hit--active");if(K){K.scrollIntoView({behavior:"smooth",block:"center"});return}const le=Math.min(U.value,ae.value-1),je=ke.value[le];je&&Xt(je.turnId)}const R=I(!1);let X=0;function me(){X||(X=ct(()=>{X=0,He()}))}function He(){const F=Ve.value,K=!o.mobile&&o.conversationToc&&F?F.closest(".con")?.querySelector(".conversation-toc"):null,le=K?.querySelector(".toc-bar");let je=!1;if(F&&K&&le){const tt=le.getBoundingClientRect(),wt=K.getBoundingClientRect(),tn=tt.left+tt.width/2;je=Array.from(F.querySelectorAll(".table-node-wrapper")).some(Yn=>{const rs=Yn.getBoundingClientRect();return rs.left<=tn&&tn<=rs.right&&rs.topwt.top})}R.value!==je&&(R.value=je)}const De=$(()=>o.questions&&o.questions.length>0?o.questions[0]:void 0),an=$(()=>{const F=De.value;if(F)return o.pendingQuestionActions?.[F.questionId]}),Fe=$(()=>o.approvals&&o.approvals.length>0?o.approvals[0]:void 0),Ze=$(()=>{const F=Fe.value;return F?!!o.pendingApprovalActions?.[F.approvalId]:!1}),Ve=I(null),At=I(null),bt=I(0),Ct=I(0),dn=$(()=>({"--panes-scrollbar-width":`${bt.value}px`}));function Kt(F){return F instanceof HTMLElement?F:F&&"$el"in F&&F.$el instanceof HTMLElement?F.$el:null}function zt(){const F=Ve.value;bt.value=F?Math.max(0,F.offsetWidth-F.clientWidth):0,Ct.value=At.value?.offsetHeight??0}function hs(F){const K=Kt(F);Ve.value=K,K&&J()}function nn(F){const K=Kt(F);At.value=K??null,F&&"loadForEdit"in F&&typeof F.loadForEdit=="function"&&"focus"in F&&typeof F.focus=="function"?y.value={loadForEdit:F.loadForEdit.bind(F),loadAttachmentsForEdit:"loadAttachmentsForEdit"in F&&typeof F.loadAttachmentsForEdit=="function"?F.loadAttachmentsForEdit.bind(F):()=>{},focus:F.focus.bind(F)}:y.value=null,j()}const ut=I(!0),Ft=I(!1);function In(){const F=Ve.value;return F?F.scrollHeight-F.scrollTop-F.clientHeight:0}let _t=0,pn=0,Nt=0,gn=0,Tt=0,fn=0;function mn(){return Date.now()1?(ut.value=!1,Ft.value=!0):le<=Ma&&K>_t+1&&(ut.value=!0,Ft.value=!1),_t=K,Gn()}let yn=0;function Gn(){yn||(yn=ct(()=>{yn=0,_e()}))}function $t(F=!1){const K=Ve.value;ut.value=!0,Ft.value=!1,K&&(!F&&performance.now()({node:wt,top:Zt(F,wt)})),je=le.findIndex(wt=>wt.top>=K),tt=je<0?Math.max(0,le.length-1):je;return le.slice(tt,tt+2).flatMap(wt=>{const tn=wt.node.dataset.scrollAnchorId,Yn=tn??wt.node.dataset.turnId;return Yn?[{kind:tn?"tool":"turn",id:Yn,top:wt.top}]:[]})}const kn=new Map;function An(F,K){for(const le of K.anchors){const je=le.kind==="tool"?"data-scroll-anchor-id":"data-turn-id",tt=F.querySelector(`[${je}="${qt(le.id)}"]`);if(tt)return Zt(F,tt)-le.top}return F.scrollHeight-K.oldHeight}function Rt(F,K,le=F.scrollTop){return F.scrollTop=le+An(F,K),_t=F.scrollTop,F.scrollTop}async function sn(){if(!o.sessionId||!o.loadOlderMessages||o.loadingMore||zn.value||!o.hasMoreMessages)return;const F=o.sessionId,K=Ve.value,le=K?.scrollTop??0,je={anchors:K?Gt(K,le):[],oldHeight:K?.scrollHeight??0};is(F,!0),Es();try{if(await Ke(),await o.loadOlderMessages(F),await Ke(),o.sessionId!==F){kn.set(F,je);return}const tt=Ve.value;if(!tt)return;Rt(tt,je),kn.delete(F)}finally{is(F,!1)}}function qt(F){return typeof CSS<"u"&&typeof CSS.escape=="function"?CSS.escape(F):F.replaceAll(/["\\]/g,"\\$&")}function Xt(F){const K=Ve.value;if(!K)return;const le=K.querySelector(`.turn-anchor[data-turn-id="${qt(F)}"]`);le&&(ks(),ut.value=!1,Ft.value=In()>Ma,le.scrollIntoView({behavior:"smooth",block:"center"}))}function Wt(){const F=Ve.value;if(!F)return"none";const K=F.firstElementChild,le=K instanceof HTMLElement?K.offsetHeight:0,je=At.value?.offsetHeight??0;return`${F.scrollHeight}:${F.clientHeight}:${le}:${je}`}function ct(F){return typeof requestAnimationFrame=="function"?requestAnimationFrame(F):setTimeout(F,16)}function lt(F){typeof cancelAnimationFrame=="function"?cancelAnimationFrame(F):clearTimeout(F)}let on=0,Jt=0,Se=null,we=0;function Ge(){return performance.now(){if(Jt=0,performance.now()>=on||!Se){Se=null;return}const tt=Se.getBoundingClientRect().top-we;tt&&(le.scrollTop+=tt),Jt=ct(je)};Jt=ct(je)}function at(F=36){if(!ut.value&&!mn())return;const K=++fn;let le="",je=0,tt=0;Tt&&(lt(Tt),Tt=0);const wt=()=>{if(Tt=0,K!==fn||!ut.value&&!mn())return;$t(!1);const tn=Wt();je=tn===le?je+1:0,le=tn,tt++,je<3&&tt0&&K.length>=F.length&&F.firstId!==K.firstId&&F.lastId===K.lastId&&F.lastTextLen===K.lastTextLen&&F.lastThinkingLen===K.lastThinkingLen&&F.lastToolsLen===K.lastToolsLen&&F.approvalIds===K.approvalIds}const Qt=$(()=>{const F=(o.approvals??[]).map(wt=>wt.approvalId).join(","),K=o.turns,le=K.at(-1),je=le?.thinking?.length??0,tt=le?.tools?.reduce((wt,tn)=>wt+tn.name.length+(tn.arg?.length??0)+(tn.output?.join("").length??0),0)??0;return{length:K.length,firstId:K[0]?.id??"",lastId:le?.id??"",lastTextLen:le?.text.length??0,lastThinkingLen:je,lastToolsLen:tt,approvalIds:F}});Oe(Qt,async(F,K)=>{if(zn.value&&Ht(K,F)){_e();return}await Ke(),ut.value||mn()?$t(F.length{j()}),Oe(()=>o.mobile,async()=>{await Ke(),zt()});const Pt=new Map;Oe(()=>o.fileReloadKey,async(F,K)=>{const le=Ve.value;K&&le&&Pt.set(String(K),{top:le.scrollTop,following:ut.value}),ks(),await Ke();const je=Ve.value,tt=F?Pt.get(String(F)):void 0;if(tt&&je){const wt=kn.get(String(F)),tn=wt?Rt(je,wt,tt.top):tt.top;wt&&kn.delete(String(F)),ut.value=tt.following,je.scrollTop=tn,_t=je.scrollTop,Ft.value=!tt.following&&In()>1,tt.following&&at()}else ut.value=!0,_t=0,$t(!1),at();_e()}),Oe(()=>o.sessionLoading,async(F,K)=>{F||!K||(ut.value=!0,await Ke(),at(),_e())}),Oe(()=>o.turnActive,async(F,K)=>{F||!K||!ut.value&&!mn()||(await Ke(),at(48),_e())});function Ut(){ut.value=!0,Ft.value=!1,pn=Date.now()+ou,Ke(()=>{$t(!0),at(16)})}function Vt(F){Ut(),i("submit",F)}function Tn(F){ut.value=!0,Ft.value=!1,pn=Date.now()+ou,i("editMessage",F)}function gs(F){const K=o.queued?.[F],le=K?.text??"";S(le,K?.attachments)&&i("editQueued",F)}function Wn(F){i("reorderQueue",F)}function bn(){i("steer",Rl)}function ns(F,K){Ut(),i("answer",F,K)}function ss(F,K){!F||!K||i("approval",F,K)}let On=null,en=null,Dn=null,Hn=null,Qn=0,ys=0,vn=0;const os=I(new Set),zn=$(()=>!!o.sessionId&&os.value.has(o.sessionId));function is(F,K){const le=new Set(os.value);K?le.add(F):le.delete(F),os.value=le}function as(){zn.value||vn||(vn=ct(()=>{vn=0,!zn.value&&(Ge()||(ut.value||mn())&&$t(!1))}))}function Es(){fn++,Tt&&(lt(Tt),Tt=0),vn&&(lt(vn),vn=0)}function ks(){const F=Ve.value;if(pn=0,Es(),on=0,Se=null,F){const K=F.scrollTop;typeof F.scrollTo=="function"?F.scrollTo({top:K,behavior:"auto"}):F.scrollTop=K}gn=0,Nt=Number.NEGATIVE_INFINITY,F&&(_t=F.scrollTop)}function wn(){const F=Ve.value;!F||F.scrollHeight-F.clientHeight<=1&&!o.hasMoreMessages||(ut.value=!1,ks(),F.scrollHeight-F.clientHeight>1&&(Ft.value=!0))}function Ls(F){const K=Ve.value;if(!K)return!1;for(const le of F.composedPath()){if(le===K)return!1;if(le instanceof HTMLElement&&le.scrollHeight>le.clientHeight+1&&le.scrollTop>1)return!0}return!1}function Gs(F){F.defaultPrevented||F.ctrlKey||F.shiftKey||F.deltaY>=0||Ls(F)||wn()}function Bs(F){const K=Ve.value;if(!K||F.defaultPrevented||F.button!==0||F.pointerType==="touch")return;const le=K.getBoundingClientRect(),je=K.offsetWidth-K.clientWidth,tt=je>0?je:12;F.target===K&&F.clientX>=le.right-tt&&wn()}let Fn=null;function bs(F){Fn=F.touches.length===1?F.touches[0].clientY:null}function ws(F){const K=F.touches.length===1?F.touches[0].clientY:null;K!==null&&Fn!==null&&K>Fn+2&&!Ls(F)&&wn(),Fn=K}function Ae(){if(!en)return;const F=Ve.value?.firstElementChild??null;F!==Dn&&(Dn&&en.unobserve(Dn),Dn=F,F&&en.observe(F))}function j(){if(!en)return;const F=At.value;F!==Hn&&(Hn&&en.unobserve(Hn),Hn=F,F&&en.observe(F))}function J(){const F=Ve.value;zt(),On&&(On.disconnect(),F&&On.observe(F,{childList:!0,subtree:!0,characterData:!0})),en&&(en.disconnect(),Dn=null,Hn=null,F&&en.observe(F),Ae(),j()),Qn=F?.scrollHeight??0,ys=F?.clientHeight??0,me()}function ft(){Ae(),as(),me()}function Nn(){typeof document>"u"||document.visibilityState==="visible"&&ut.value&&at()}const Ss=I(!1);let ls=null;function Qs(){Ss.value=!0,ls!==null&&clearTimeout(ls),ls=setTimeout(()=>{Ss.value=!1},oA)}function Rs(){Qs(),i("interrupt")}function pe(F){F.key==="Escape"&&(o.running||o.working)&&(F.preventDefault(),Rs())}function Me(){ut.value&&as()}ht(()=>{Ke(()=>{typeof MutationObserver=="function"&&(On=new MutationObserver(ft)),typeof ResizeObserver=="function"&&(en=new ResizeObserver(()=>{me(),zt();const F=Ve.value;if(!F)return;const{scrollHeight:K,clientHeight:le}=F,je=K>Qn+1,tt=le{On&&On.disconnect(),en&&en.disconnect(),vn&<(vn),Tt&<(Tt),Jt&<(Jt),X&<(X),ls!==null&&clearTimeout(ls),T!==null&&(clearTimeout(T),T=null),typeof document<"u"&&(document.removeEventListener("visibilitychange",Nn),document.removeEventListener("keydown",pe)),window.visualViewport?.removeEventListener("resize",Me)});function xe(){(y.value??_.value)?.focus()}return t({loadComposerForEdit:S,focusComposer:xe}),(F,K)=>(a(),c("section",{class:fe(["con",{mobile:e.mobile}])},[!e.mobile&&!(e.turns.length===0&&!e.sessionLoading)?(a(),G(H$,{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":oe.value,"git-diff-stats":e.gitDiffStats,"is-git-repo":!!e.gitInfo,pr:e.pr,copied:g.value,"search-active":Ce.value,onOpenChanges:K[0]||(K[0]=le=>i("openChanges")),onCopyAll:K[1]||(K[1]=le=>m.value?.copyConversation()),onCopyFinalSummary:K[2]||(K[2]=le=>m.value?.copyFinalSummary()),onOpenPr:K[3]||(K[3]=le=>e.pr&&i("openPr",e.pr.url)),onRenameSession:K[4]||(K[4]=(le,je)=>i("renameSession",le,je)),onForkSession:K[5]||(K[5]=le=>i("forkSession",le)),onArchiveSession:K[6]||(K[6]=le=>i("archiveSession",le)),onExportSession:K[7]||(K[7]=le=>i("exportSession",le)),onToggleSearch:ee},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"])):A("",!0),Ce.value?(a(),G(PI,{key:1,query:Z.value,total:ae.value,"active-index":U.value,"onUpdate:query":K[8]||(K[8]=le=>Z.value=le),onNext:Be,onPrev:Y,onClose:de},null,8,["query","total","active-index"])):A("",!0),e.conversationToc?(a(),G(zI,{key:2,items:te.value,"active-turn-id":ye.value,mobile:e.mobile,"session-loading":e.sessionLoading,occluded:R.value,onSelect:Xt},null,8,["items","active-turn-id","mobile","session-loading","occluded"])):A("",!0),r("div",VI,[r("div",{ref:hs,class:fe(["panes chat-scroll",{"is-following":ut.value,"history-prepending":zn.value}]),onScrollPassive:Rn,onWheelPassive:Gs,onPointerdownPassive:Bs,onTouchstartPassive:bs,onTouchmovePassive:ws},[r("div",{class:fe(["content-wrap",[e.mobile?"align-mobile":"align-center"]])},[e.turns.length===0&&!e.sessionLoading?(a(),c(he,{key:0},[K[56]||(K[56]=r("div",{class:"empty-spacer"},null,-1)),r("div",jI,[r("span",{class:fe(["empty-hint-title",{"is-starting":e.starting}])},[e.starting?(a(),G(Dt,{key:0,size:"sm"})):A("",!0),r("span",null,d(e.starting?l(s)("conversation.starting"):l(s)("composer.emptyConversationTitle")),1)],2),e.starting?A("",!0):(a(),c("span",KI,d(l(s)("composer.emptyConversation")),1)),v.value&&!e.starting?(a(),c("div",GI,[M(ot,{text:l(s)("conversation.switchWorkspace")},{default:H(()=>[r("button",{type:"button",class:"ws-pick-btn",onClick:K[9]||(K[9]=Re(le=>u.value=!u.value,["stop"]))},[M(se,{name:"folder",size:"sm"}),r("span",QI,d(f.value),1),M(se,{class:fe(["ws-pick-chev",{open:u.value}]),name:"chevron-down",size:"sm"},null,8,["class"])])]),_:1},8,["text"]),u.value?(a(),c("div",{key:0,class:"ws-pick-backdrop",onClick:K[10]||(K[10]=le=>u.value=!1)})):A("",!0),u.value?(a(),c("div",YI,[(a(!0),c(he,null,Pe(w.value,le=>(a(),c("button",{key:le.id,type:"button",class:fe(["ws-pick-item",{on:le.id===e.activeWorkspaceId}]),onClick:Re(je=>h(le.id),["stop"])},[r("span",XI,d(le.name),1),r("span",JI,d(le.shortPath),1)],10,ZI))),128)),x.value>0?(a(),c("button",{key:0,type:"button",class:"ws-pick-item ws-pick-more",onClick:K[11]||(K[11]=Re(le=>p.value=!p.value,["stop"]))},[r("span",null,d(l(s)("conversation.moreWorkspaces",{count:x.value})),1)])):A("",!0),K[55]||(K[55]=r("div",{class:"ws-pick-divider"},null,-1)),r("button",{type:"button",class:"ws-pick-action",onClick:K[12]||(K[12]=Re(le=>{u.value=!1,i("addWorkspace")},["stop"]))},[M(se,{name:"plus",size:"sm"}),r("span",null,d(l(s)("conversation.addWorkspace")),1)])])):A("",!0)])):e.starting?A("",!0):(a(),c("button",{key:2,type:"button",class:"empty-add-workspace",onClick:K[13]||(K[13]=le=>i("addWorkspace"))},[M(se,{name:"folder-plus",size:"sm"}),r("span",null,d(l(s)("conversation.addWorkspace")),1)]))]),M(gd,{ref_key:"emptyComposerRef",ref:_,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:Vt,onSteer:K[14]||(K[14]=le=>i("steer",le)),onCommand:K[15]||(K[15]=(le,je)=>i("command",le,je)),onInterrupt:Rs,onUnqueue:K[16]||(K[16]=le=>i("unqueue",le)),onEditQueued:K[17]||(K[17]=le=>i("editQueued",le)),onSetPermission:K[18]||(K[18]=le=>i("setPermission",le)),onSetThinking:K[19]||(K[19]=le=>i("setThinking",le)),onTogglePlan:K[20]||(K[20]=le=>i("togglePlan")),onToggleSwarm:K[21]||(K[21]=le=>i("toggleSwarm")),onToggleSupermoon:K[22]||(K[22]=le=>i("toggleSupermoon")),onToggleGoal:K[23]||(K[23]=le=>i("toggleGoal")),onDismissPlan:K[24]||(K[24]=le=>i("dismissPlan")),onFocusGoal:D,onCompact:K[25]||(K[25]=le=>i("compact")),onPickModel:K[26]||(K[26]=le=>i("pickModel")),onSelectModel:K[27]||(K[27]=le=>i("selectModel",le))},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"]),K[57]||(K[57]=r("div",{class:"empty-spacer"},null,-1))],64)):(a(),G(cd,{ref_key:"chatPaneRef",ref:m,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":ut.value,"tool-diff-panel":!0,queued:e.queued,"search-query":Z.value,"search-active-index":Ce.value?U.value:-1,onOpenFile:K[28]||(K[28]=le=>i("openFile",le)),onOpenMedia:K[29]||(K[29]=le=>i("openMedia",le)),onCopyConversationCopied:O,onOpenThinking:K[30]||(K[30]=le=>i("openThinking",le)),onOpenCompaction:K[31]||(K[31]=le=>i("openCompaction",le)),onOpenAgent:K[32]||(K[32]=le=>i("openAgent",le)),onOpenToolDiff:K[33]||(K[33]=le=>i("openToolDiff",le)),onEditMessage:Tn,onLoadOlderMessages:sn,onUnqueue:K[34]||(K[34]=le=>i("unqueue",le)),onEditQueued:gs,onReorderQueue:Wn,onSteerQueued:bn,onResumeTurn:K[35]||(K[35]=le=>i("resumeTurn",le))},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"]))],2)],34),e.turns.length===0&&!e.sessionLoading?A("",!0):(a(),G(_I,{key:0,ref:nn,style:rt(dn.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":k.value,"plan-tool-call-id":ge.value,"dock-panel":ne.value,"bash-tasks":E.value,"subagent-tasks":B.value,"bash-running":q.value,"subagent-running":V.value,"todo-done-count":P.value,"has-dock-work":L.value,todos:e.todos,"pending-question":De.value,"question-busy-kind":an.value,"pending-approval":Fe.value,"approval-busy":Ze.value,terminal:e.terminal,mobile:e.mobile,onToggleDockPanel:K[36]||(K[36]=le=>ce(le)),onCloseDockPanel:K[37]||(K[37]=le=>Q()),onOpenAgent:K[38]||(K[38]=le=>i("openAgent",le)),onAnswer:ns,onDismiss:K[39]||(K[39]=le=>i("dismiss",le)),onApproval:ss,onCancelTask:K[40]||(K[40]=le=>i("cancelTask",le)),onControlGoal:K[41]||(K[41]=le=>i("controlGoal",le)),onSubmit:Vt,onSteer:K[42]||(K[42]=le=>i("steer",le)),onCommand:K[43]||(K[43]=(le,je)=>i("command",le,je)),onInterrupt:Rs,onSetPermission:K[44]||(K[44]=le=>i("setPermission",le)),onSetThinking:K[45]||(K[45]=le=>i("setThinking",le)),onTogglePlan:K[46]||(K[46]=le=>i("togglePlan")),onToggleSwarm:K[47]||(K[47]=le=>i("toggleSwarm")),onToggleSupermoon:K[48]||(K[48]=le=>i("toggleSupermoon")),onToggleGoal:K[49]||(K[49]=le=>i("toggleGoal")),onDismissPlan:K[50]||(K[50]=le=>i("dismissPlan")),onFocusGoal:D,onCompact:K[51]||(K[51]=le=>i("compact")),onPickModel:K[52]||(K[52]=le=>i("pickModel")),onSelectModel:K[53]||(K[53]=le=>i("selectModel",le))},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"]))]),M(Yo,{name:"pill"},{default:H(()=>[Ft.value?(a(),c("button",{key:0,class:"newmsg-pill",style:rt({bottom:`${Ct.value+12}px`}),"aria-label":l(s)("conversation.jumpToLatestAria"),onClick:K[54]||(K[54]=le=>$t(!0))},[M(se,{class:"pill-chevron",name:"chevron-down",size:"md"}),re(" "+d(l(s)("conversation.newMessages")),1)],12,eA)):A("",!0)]),_:1}),M(Yo,{name:"abort-toast"},{default:H(()=>[Ss.value?(a(),c("div",tA,[r("span",nA,d(l(s)("conversation.manuallyAborted")),1)])):A("",!0)]),_:1})],2))}}),aA=Ee(iA,[["__scopeId","data-v-fad3cc77"]]),lA={class:"ui-panel-header__title"},rA={key:0,class:"ui-panel-header__sub"},uA=Ie({__name:"PanelHeader",props:{title:{},subtitle:{},closable:{type:Boolean,default:!0},closeLabel:{default:"Close"},wrap:{type:Boolean}},emits:["close"],setup(e){return(t,n)=>(a(),c("div",{class:fe(["ui-panel-header",{wrap:e.wrap}])},[r("span",lA,d(e.title),1),M(ot,{text:e.subtitle},{default:H(()=>[e.subtitle?(a(),c("span",rA,d(e.subtitle),1)):A("",!0)]),_:1},8,["text"]),yt(t.$slots,"default",{},void 0,!0),e.closable?(a(),G(nt,{key:0,class:"ui-panel-header__close",size:"sm",label:e.closeLabel,onClick:n[0]||(n[0]=s=>t.$emit("close"))},{default:H(()=>[M(se,{name:"close",size:"sm"})]),_:1},8,["label"])):A("",!0)],2))}}),fo=Ee(uA,[["__scopeId","data-v-c47879ad"]]),cA={key:0,class:"fp-empty fp-error"},dA={key:1,class:"fp-empty"},pA={key:2,class:"fp-loading"},fA={class:"fp-path"},mA={class:"fp-meta"},vA={key:0,class:"fp-lines"},hA={class:"fp-size"},gA={key:3,class:"fp-search"},yA=["placeholder"],kA={key:0,class:"fp-search-count"},bA=["href","aria-label"],wA={key:1,class:"fp-code"},SA={class:"fp-line-table"},CA=["data-line"],_A={class:"fp-gutter"},$A=["innerHTML"],MA={key:1,class:"fp-body fp-code"},xA={class:"fp-line-table"},IA=["data-line"],AA={class:"fp-gutter"},TA=["innerHTML"],PA={key:2,class:"fp-body"},EA=["srcdoc","title"],LA={key:1,class:"fp-code"},BA={class:"fp-line-table"},RA=["data-line"],OA={class:"fp-gutter"},DA=["innerHTML"],zA={key:3,class:"fp-body fp-pdf-wrap"},FA=["src","title"],NA={key:1,class:"fp-binary-card"},qA={class:"fp-binary-label"},WA={key:4,class:"fp-body fp-table-wrap"},HA={class:"fp-table"},UA=["data-line"],VA={key:5,class:"fp-body fp-image-wrap"},jA=["src","alt"],KA={key:1,class:"fp-binary-card"},GA={class:"fp-binary-icon"},QA={class:"fp-binary-label"},YA={key:6,class:"fp-body fp-image-wrap"},ZA=["src"],XA={key:1,class:"fp-binary-card"},JA={class:"fp-binary-icon"},eT={class:"fp-binary-label"},tT={key:7,class:"fp-body fp-code"},nT={class:"fp-line-table"},sT=["data-line"],oT={class:"fp-gutter"},iT=["innerHTML"],aT={key:8,class:"fp-body fp-binary-wrap"},lT={class:"fp-binary-card"},rT={class:"fp-binary-icon"},uT={class:"fp-binary-label"},cT=Ie({__name:"FilePreview",props:{file:{},loading:{type:Boolean},error:{},line:{},downloadUrl:{},closable:{type:Boolean},externalActions:{type:Boolean},openFile:{type:Function}},emits:["close","openExternal","reveal"],setup(e,{emit:t}){const{t:n}=Ue();function s(Y,ve){const R=ve?ve.split("/").filter(Boolean):[];for(const X of Y.split("/"))X===""||X==="."||(X===".."?R.pop():R.push(X));return R.join("/")}const o=mo("resolveImage",async Y=>Y),i=$(()=>{const Y=v.file?.path??"",ve=Y.lastIndexOf("/");return ve>0?Y.slice(0,ve):""});function u(Y){if(/^(https?:|data:|blob:)/i.test(Y)||Y.startsWith("/"))return Y;const ve=i.value;return ve?s(Y,ve):Y}async function p(Y){const ve=u(Y);return o?o(ve):ve}Io("resolveImage",p);function f(Y){let ve=Y.path;if(/^(https?:|mailto:|tel:|data:|blob:|#)/i.test(ve)||ve.startsWith("/"))return Y;for(const X of["#","?"]){const me=ve.indexOf(X);me!==-1&&(ve=ve.slice(0,me))}const R=i.value;return{...Y,path:s(ve,R)}}const v=e,w=t;function x(Y){v.openFile?.(f(Y))}const h=I(null),m=$(()=>{const Y=v.file;if(!Y)return"binary";const ve=Y.mime??"",R=Y.languageId??"",X=Y.path.toLowerCase();return ve==="text/markdown"||R==="markdown"||R==="md"||X.endsWith(".mdx")?"markdown":ve==="application/json"||R==="json"?"json":ve==="text/html"||R==="html"||X.endsWith(".html")||X.endsWith(".htm")?"html":ve==="application/pdf"||X.endsWith(".pdf")?"pdf":ve==="text/csv"||R==="csv"||X.endsWith(".csv")?"csv":ve.startsWith("image/")?"image":ve.startsWith("video/")?"video":Y.isBinary?"binary":ve.startsWith("text/")||R!==""?"text":"binary"});function _(Y){const ve=atob(Y),R=Uint8Array.from(ve,X=>X.charCodeAt(0));return new TextDecoder().decode(R)}const y=$(()=>{const Y=v.file;if(!Y)return"";if(Y.encoding==="base64")try{return _(Y.content)}catch{return Y.content}return Y.content}),g=$(()=>{if(m.value!=="json"||!v.file)return"";try{return JSON.stringify(JSON.parse(y.value),null,2)}catch{return y.value}}),k=$(()=>v.file?(m.value==="json"?g.value:y.value).split(`
-`):[]),T=$(()=>v.file?m.value==="json"?g.value:y.value:""),S=I(""),O=I(0),D=$(()=>{const Y=S.value.trim().toLowerCase();if(!Y)return[];const ve=[];return k.value.forEach((R,X)=>{R.toLowerCase().includes(Y)&&ve.push(X+1)}),ve});Oe(S,()=>{O.value=0});function E(Y,ve=!1){Y&&Ke(()=>{const R=h.value?.querySelector(".fp-body"),X=R?.querySelector(`[data-line="${Y}"]`);if(!R||!X)return;ve&&(R.scrollTop=0);const me=R.getBoundingClientRect(),He=X.getBoundingClientRect(),De=He.top-me.top+R.scrollTop;R.scrollTop=De-R.clientHeight/2+He.height/2})}Oe(()=>[v.file?.path,v.line],()=>E(v.line,!0),{immediate:!0});function B(Y){const ve=D.value;ve.length!==0&&(O.value=(O.value+Y+ve.length)%ve.length,E(ve[O.value]))}function q(Y){const ve=D.value;return{target:v.line===Y,hit:ve.includes(Y),active:ve[O.value]===Y}}function V(Y){return Y<1024?`${Y} B`:Y<1024*1024?`${(Y/1024).toFixed(1)} KB`:`${(Y/(1024*1024)).toFixed(1)} MB`}const b=I(!1),P=I(!1);function L(){v.file&&un(T.value).then(Y=>{Y&&(b.value=!0,setTimeout(()=>{b.value=!1},1400))})}function ne(){v.file&&un(v.file.path).then(Y=>{Y&&(P.value=!0,setTimeout(()=>{P.value=!1},1400))})}const oe=I("preview"),ge=I("preview"),ce=I("fit");function Q(Y){oe.value=Y}function ie(Y){ge.value=Y}function te(Y){ce.value=Y}Oe(m,Y=>{oe.value=Y==="html"?"preview":"source",ge.value="preview",ce.value="fit"});const ye=$(()=>{const Y=v.file;return!Y||m.value!=="image"?null:Y.sourceUrl?Y.sourceUrl:Y.encoding==="base64"?`data:${Y.mime};base64,${Y.content}`:Y.mime==="image/svg+xml"?`data:${Y.mime};charset=utf-8,${encodeURIComponent(Y.content)}`:null}),_e=$(()=>{const Y=v.file;return!Y||m.value!=="video"?null:Y.sourceUrl?Y.sourceUrl:Y.encoding==="base64"?`data:${Y.mime};base64,${Y.content}`:null}),Ce=$(()=>{const Y=v.file;return!Y||m.value!=="pdf"?null:v.downloadUrl?v.downloadUrl:Y.encoding==="base64"?`data:${Y.mime};base64,${Y.content}`:null}),Z=$(()=>v.file?["",' ',` `,y.value].join(""):"");function U(Y){const ve=[];let R="",X=!1;for(let me=0;mek.value.slice(0,200).map(U));function ae(Y){return Y.replaceAll("&","&").replaceAll("<","<").replaceAll(">",">").replaceAll('"',""")}function ee(){const Y=v.file;if(!Y)return"";const ve=Y.languageId?.toLowerCase();return ve||(Y.path.split(".").pop()?.toLowerCase()??"")}function de(Y){const ve=ee();let R=ae(Y);return m.value==="json"||ve==="json"||ve==="jsonc"?(R=R.replace(/("[^&]*?")(\s*:)/g,'$1 $2'),R=R.replace(/(:\s*)("[^&]*?")/g,'$1$2 '),R=R.replace(/\b(true|false|null)\b/g,'$1 '),R=R.replace(/(:\s*)(-?\d+(?:\.\d+)?)/g,'$1$2 '),R):m.value==="html"||ve==="html"||ve==="xml"||ve==="svg"?(R=R.replace(/\s([A-Za-z_:][-A-Za-z0-9_:.]*)(=)/g,' $1 $2'),R=R.replace(/(".*?")/g,'$1 '),R=R.replace(/(<\/?)([A-Za-z][\w:-]*)/g,'$1$2 '),R):(R=R.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 '),R=R.replace(/(".*?"|'.*?')/g,'$1 '),R=R.replace(/(\/\/.*)$/g,''),R)}function Be(Y,ve=55){return!Y||Y.length<=ve?Y:"…"+Y.slice(Y.length-ve+1)}return(Y,ve)=>(a(),c("div",{ref_key:"rootRef",ref:h,class:"file-preview"},[e.error&&!e.loading?(a(),c("div",cA,[r("span",null,d(e.error),1),e.closable?(a(),G(qe,{key:0,variant:"secondary",size:"sm",onClick:ve[0]||(ve[0]=R=>w("close"))},{default:H(()=>[re(d(l(n)("filePreview.close")),1)]),_:1})):A("",!0)])):!e.file&&!e.loading?(a(),c("div",dA,d(l(n)("filePreview.empty")),1)):e.loading?(a(),c("div",pA,[ve[7]||(ve[7]=r("span",{class:"spinner"},null,-1)),r("span",null,d(l(n)("filePreview.loading")),1)])):e.file?(a(),c(he,{key:3},[M(fo,{wrap:"",title:l(n)("common.preview"),closable:e.closable,"close-label":l(n)("filePreview.close"),onClose:ve[6]||(ve[6]=R=>w("close"))},{default:H(()=>[M(ot,{text:e.file.path},{default:H(()=>[r("span",fA,d(Be(e.file.path)),1)]),_:1},8,["text"]),r("span",mA,[e.file.lineCount?(a(),c("span",vA,d(l(n)("filePreview.lineCount",{count:e.file.lineCount})),1)):A("",!0),r("span",hA,d(V(e.file.size)),1)]),m.value==="html"?(a(),G(cn,{key:0,"model-value":oe.value,size:"sm",options:[{value:"preview",label:l(n)("filePreview.preview")},{value:"source",label:l(n)("filePreview.source")}],"onUpdate:modelValue":Q},null,8,["model-value","options"])):A("",!0),m.value==="markdown"?(a(),G(cn,{key:1,"model-value":ge.value,size:"sm",options:[{value:"preview",label:l(n)("filePreview.preview")},{value:"source",label:l(n)("filePreview.source")}],"onUpdate:modelValue":ie},null,8,["model-value","options"])):A("",!0),m.value==="image"?(a(),G(cn,{key:2,"model-value":ce.value,size:"sm",options:[{value:"fit",label:l(n)("filePreview.fit")},{value:"actual",label:l(n)("filePreview.actual")}],"onUpdate:modelValue":te},null,8,["model-value","options"])):A("",!0),m.value==="text"||m.value==="json"||m.value==="html"||m.value==="csv"?(a(),c("div",gA,[gt(r("input",{"onUpdate:modelValue":ve[1]||(ve[1]=R=>S.value=R),class:"fp-search-input",type:"search",placeholder:l(n)("filePreview.search")},null,8,yA),[[qn,S.value]]),S.value.trim()?(a(),c("span",kA,d(D.value.length),1)):A("",!0),M(nt,{size:"sm",disabled:D.value.length===0,label:l(n)("filePreview.prevMatch"),onClick:ve[2]||(ve[2]=R=>B(-1))},{default:H(()=>[M(se,{name:"arrow-up",size:"md"})]),_:1},8,["disabled","label"]),M(nt,{size:"sm",disabled:D.value.length===0,label:l(n)("filePreview.nextMatch"),onClick:ve[3]||(ve[3]=R=>B(1))},{default:H(()=>[M(se,{name:"arrow-down",size:"md"})]),_:1},8,["disabled","label"])])):A("",!0),M(nt,{size:"sm",class:fe({copied:P.value}),label:P.value?l(n)("filePreview.copied"):l(n)("filePreview.copyPath"),onClick:ne},{default:H(()=>[P.value?(a(),G(se,{key:1,class:"fp-check",name:"check",size:"md"})):(a(),G(se,{key:0,name:"link",size:"md"}))]),_:1},8,["class","label"]),e.externalActions?(a(),G(nt,{key:4,size:"sm",label:l(n)("filePreview.openInEditor"),onClick:ve[4]||(ve[4]=R=>w("openExternal"))},{default:H(()=>[M(se,{name:"external-link",size:"md"})]),_:1},8,["label"])):A("",!0),e.externalActions?(a(),G(nt,{key:5,size:"sm",label:l(n)("filePreview.reveal"),onClick:ve[5]||(ve[5]=R=>w("reveal"))},{default:H(()=>[M(se,{name:"folder",size:"md"})]),_:1},8,["label"])):A("",!0),e.downloadUrl?(a(),c("a",{key:6,class:"fp-download",href:e.downloadUrl,target:"_blank",rel:"noreferrer",download:"","aria-label":l(n)("filePreview.download")},[M(se,{name:"download",size:"md"})],8,bA)):A("",!0),!e.file.isBinary&&m.value!=="image"?(a(),G(nt,{key:7,size:"sm",class:fe({copied:b.value}),label:b.value?l(n)("filePreview.copied"):l(n)("filePreview.copy"),onClick:L},{default:H(()=>[b.value?(a(),G(se,{key:1,class:"fp-check",name:"check",size:"md"})):(a(),G(se,{key:0,name:"copy",size:"md"}))]),_:1},8,["class","label"])):A("",!0)]),_:1},8,["title","closable","close-label"]),m.value==="markdown"?(a(),c("div",{key:0,class:fe(["fp-body",{"fp-markdown":ge.value==="preview"}])},[ge.value==="preview"?(a(),G(ci,{key:0,text:y.value,"open-file":v.openFile?x:void 0},null,8,["text","open-file"])):(a(),c("div",wA,[r("div",SA,[(a(!0),c(he,null,Pe(k.value,(R,X)=>(a(),c("div",{key:X,class:fe(["fp-line-row",q(X+1)]),"data-line":X+1},[r("span",_A,d(X+1),1),r("span",{class:"fp-line-text",innerHTML:de(R)},null,8,$A)],10,CA))),128))])]))],2)):m.value==="json"?(a(),c("div",MA,[r("div",xA,[(a(!0),c(he,null,Pe(k.value,(R,X)=>(a(),c("div",{key:X,class:fe(["fp-line-row",q(X+1)]),"data-line":X+1},[r("span",AA,d(X+1),1),r("span",{class:"fp-line-text",innerHTML:de(R)},null,8,TA)],10,IA))),128))])])):m.value==="html"?(a(),c("div",PA,[oe.value==="preview"?(a(),c("iframe",{key:0,class:"fp-html-frame",sandbox:"",srcdoc:Z.value,title:e.file.path},null,8,EA)):(a(),c("div",LA,[r("div",BA,[(a(!0),c(he,null,Pe(k.value,(R,X)=>(a(),c("div",{key:X,class:fe(["fp-line-row",q(X+1)]),"data-line":X+1},[r("span",OA,d(X+1),1),r("span",{class:"fp-line-text",innerHTML:de(R)},null,8,DA)],10,RA))),128))])]))])):m.value==="pdf"?(a(),c("div",zA,[Ce.value?(a(),c("iframe",{key:0,class:"fp-pdf-frame",src:Ce.value,title:e.file.path},null,8,FA)):(a(),c("div",NA,[r("span",qA,d(l(n)("filePreview.pdfNoPreview")),1)]))])):m.value==="csv"?(a(),c("div",WA,[r("table",HA,[r("tbody",null,[(a(!0),c(he,null,Pe(ke.value,(R,X)=>(a(),c("tr",{key:X,class:fe(q(X+1)),"data-line":X+1},[r("th",null,d(X+1),1),(a(!0),c(he,null,Pe(R,(me,He)=>(a(),c("td",{key:He},d(me),1))),128))],10,UA))),128))])])])):m.value==="image"?(a(),c("div",VA,[ye.value?(a(),c("img",{key:0,src:ye.value,alt:e.file.path,class:fe(["fp-image",{actual:ce.value==="actual"}])},null,10,jA)):(a(),c("div",KA,[r("span",GA,[M(se,{name:"image-off",size:"lg"})]),r("span",QA,d(l(n)("filePreview.imageNoPreview",{mime:e.file.mime,size:V(e.file.size)})),1)]))])):m.value==="video"?(a(),c("div",YA,[_e.value?(a(),c("video",{key:0,src:_e.value,class:"fp-image",controls:"",playsinline:"",preload:"metadata"},null,8,ZA)):(a(),c("div",XA,[r("span",JA,[M(se,{name:"image-off",size:"lg"})]),r("span",eT,d(l(n)("filePreview.videoNoPreview",{mime:e.file.mime,size:V(e.file.size)})),1)]))])):m.value==="text"?(a(),c("div",tT,[r("div",nT,[(a(!0),c(he,null,Pe(k.value,(R,X)=>(a(),c("div",{key:X,class:fe(["fp-line-row",q(X+1)]),"data-line":X+1},[r("span",oT,d(X+1),1),r("span",{class:"fp-line-text",innerHTML:de(R)},null,8,iT)],10,sT))),128))])])):(a(),c("div",aT,[r("div",lT,[r("span",rT,[M(se,{name:"file-off",size:"lg"})]),r("span",uT,d(l(n)("filePreview.binaryNoPreview",{mime:e.file.mime||l(n)("filePreview.unknownType"),size:V(e.file.size)})),1)])]))],64)):A("",!0)],512))}}),dT=Ee(cT,[["__scopeId","data-v-ded222d2"]]),pT={class:"tp"},fT=Ie({__name:"ThinkingPanel",props:{text:{},subtitle:{}},emits:["close"],setup(e,{emit:t}){const n=e,s=t,{t:o}=Ue(),i=I(null);return Oe(()=>n.text,()=>{const u=i.value;!u||!(u.scrollHeight-u.scrollTop-u.clientHeight<24)||Ke(()=>{i.value&&(i.value.scrollTop=i.value.scrollHeight)})},{immediate:!0}),(u,p)=>(a(),c("div",pT,[M(fo,{title:l(o)("common.preview"),subtitle:e.subtitle??l(o)("thinking.panelTitle"),"close-label":l(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)]))}}),iu=Ee(fT,[["__scopeId","data-v-98c343f3"]]),mT={class:"ap"},vT={key:0,class:"ap-type"},hT={key:1,class:"ap-reason"},gT={key:2,class:"ap-field"},yT={class:"ap-field-label"},kT={class:"ap-field-body"},bT={key:3,class:"ap-field"},wT={class:"ap-field-label"},ST={class:"ap-field-body ap-live"},CT={key:4,class:"ap-field"},_T={class:"ap-field-label"},$T={class:"ap-field-body ap-progress"},MT={key:0,class:"ap-call"},xT={key:1,class:"ap-output"},IT=["onClick"],AT={key:5,class:"ap-field"},TT={class:"ap-field-label"},PT={class:"ap-field-body"},ET=8,au=5,lu=2,LT=Ie({__name:"AgentDetailPanel",props:{member:{}},emits:["close"],setup(e,{emit:t}){const n=e,s=t,{t:o}=Ue(),i=$(()=>(n.member.outputLines??[]).map(y=>y.trimEnd()).filter(y=>y.length>0)),u=$(()=>(n.member.text??"").trimEnd());function p(y){const g=[];let k=null,T=0;for(const S of y)S.startsWith("Calling ")?(k={key:`g${T++}`,call:S,output:[]},g.push(k)):k?k.output.push(S):(k={key:`g${T++}`,call:"",output:[S]},g.push(k));return g}const f=$(()=>p(i.value)),v=I(new Set);function w(y){return v.value.has(y)}function x(y){const g=new Set(v.value);g.has(y)?g.delete(y):g.add(y),v.value=g}function h(y){return y.output.length-au-lu}function m(y){switch(y){case"queued":return"Queued";case"working":return"Working";case"suspended":return"Suspended";case"completed":return"Completed";case"failed":return"Failed"}}const _=I(null);return Oe(()=>i.value.length+u.value.length,()=>{const y=_.value;!y||!(y.scrollHeight-y.scrollTop-y.clientHeight<24)||Ke(()=>{_.value&&(_.value.scrollTop=_.value.scrollHeight)})},{immediate:!0}),(y,g)=>(a(),c("div",mT,[M(fo,{title:l(o)("common.preview"),subtitle:e.member.name,"close-label":l(o)("thinking.close"),onClose:g[0]||(g[0]=k=>s("close"))},{default:H(()=>[M(Ot,{variant:"neutral",size:"sm",class:"ap-phase"},{default:H(()=>[re(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?(a(),c("div",vT,d(e.member.subagentType),1)):A("",!0),e.member.suspendedReason?(a(),c("div",hT,d(e.member.suspendedReason),1)):A("",!0),e.member.prompt?(a(),c("div",gT,[r("span",yT,d(l(o)("tasks.fieldTask")),1),r("div",kT,d(e.member.prompt),1)])):A("",!0),u.value?(a(),c("div",bT,[r("span",wT,d(l(o)("tasks.fieldOutput")),1),r("div",ST,d(u.value),1)])):A("",!0),f.value.length>0?(a(),c("div",CT,[r("span",_T,d(l(o)("tasks.fieldProgress")),1),r("div",$T,[(a(!0),c(he,null,Pe(f.value,k=>(a(),c("div",{key:k.key,class:"ap-group"},[k.call?(a(),c("div",MT,[g[1]||(g[1]=r("span",{class:"ap-glyph","aria-hidden":"true"},"▶",-1)),re(" "+d(k.call),1)])):A("",!0),k.output.length>0?(a(),c("div",xT,[k.output.length<=ET||w(k.key)?(a(!0),c(he,{key:0},Pe(k.output,(T,S)=>(a(),c("div",{key:S,class:"ap-out-line"},d(T),1))),128)):(a(),c(he,{key:1},[(a(!0),c(he,null,Pe(k.output.slice(0,au),(T,S)=>(a(),c("div",{key:S,class:"ap-out-line"},d(T),1))),128)),r("button",{type:"button",class:"ap-fold",onClick:T=>x(k.key)}," … ("+d(h(k))+" more) ",9,IT),(a(!0),c(he,null,Pe(k.output.slice(-lu),(T,S)=>(a(),c("div",{key:"t"+S,class:"ap-out-line"},d(T),1))),128))],64))])):A("",!0)]))),128))])])):A("",!0),e.member.summary?(a(),c("div",AT,[r("span",TT,d(l(o)("tasks.fieldResult")),1),r("div",PT,d(e.member.summary),1)])):A("",!0)],512)]))}}),BT=Ee(LT,[["__scopeId","data-v-59df0789"]]),yd=["off","protanopia-deuteranopia","tritanopia"],RT=["pierre-light","pierre-light-protanopia-deuteranopia","pierre-light-tritanopia","pierre-dark","pierre-dark-protanopia-deuteranopia","pierre-dark-tritanopia"];function OT(e){return typeof e=="string"&&yd.includes(e)}function ru(e){return OT(e)?e:"off"}function DT(e,t){const n=e?"pierre-dark":"pierre-light";return t==="off"?n:`${n}-${t}`}function zT(e,t,n=RT){const s=DT(e,t);return n.includes(s)?s:null}const FT={"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"}},NT=["data-theme"],qT={key:0,class:"hunk-text"},WT={class:"dl-gutter old"},HT={class:"dl-gutter new"},UT={class:"dl-sign"},VT={class:"dl-text"},jT=Ie({__name:"DiffLines",props:{lines:{},theme:{default:null}},setup(e){const t=e,n=$(()=>{const u=t.theme?FT[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)=>(a(),c("div",{class:"diff-lines","data-theme":n.value?t.theme:null,style:rt(n.value)},[(a(!0),c(he,null,Pe(e.lines,(f,v)=>(a(),c("div",{key:v,class:fe(["dl",i(f)])},[f.type==="hunk"?(a(),c("span",qT,d(f.text),1)):(a(),c(he,{key:1},[r("span",WT,d(s(f)),1),r("span",HT,d(o(f)),1),r("span",UT,d(f.type==="add"?"+":f.type==="del"?"-":" "),1),r("span",VT,d(f.text),1)],64))],2))),128))],12,NT))}}),kd=Ee(jT,[["__scopeId","data-v-26e24204"]]),KT={class:"tdp"},GT={class:"tdp-body"},QT={key:1,class:"tdp-output"},YT={key:2,class:"tdp-empty"},ZT=Ie({__name:"ToolDiffPanel",props:{target:{}},emits:["close"],setup(e,{emit:t}){const n=t,{t:s}=Ue();return(o,i)=>(a(),c("div",KT,[M(fo,{title:e.target.title,subtitle:e.target.path,"close-label":l(s)("thinking.close"),onClose:i[0]||(i[0]=u=>n("close"))},null,8,["title","subtitle","close-label"]),r("div",GT,[e.target.lines&&e.target.lines.length>0?(a(),G(kd,{key:0,lines:e.target.lines},null,8,["lines"])):e.target.output&&e.target.output.length>0?(a(),c("div",QT,[(a(!0),c(he,null,Pe(e.target.output,(u,p)=>(a(),c("div",{key:p},d(u),1))),128))])):(a(),c("div",YT,d(l(s)("diff.noDiff")),1))])]))}}),XT=Ee(ZT,[["__scopeId","data-v-76f2fbca"]]),JT={class:"sc"},eP={key:0,class:"sc-empty"},tP={key:2,class:"sc-loading","aria-hidden":"true"},nP={class:"sc-composer"},sP=["placeholder"],oP=["aria-label","disabled"],iP=Ie({__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}=Ue(),i=$(()=>n.turns.find(T=>T.role==="user")?.text?.trim()??""),u=$(()=>n.title?.trim()||o("sideChat.title")),p=$(()=>n.subtitle?.trim()?n.subtitle.trim():i.value||o("sideChat.subtitle")),f=I(""),v=I(null),w=I(null);function x(){const k=f.value.trim();k&&(s("send",k),f.value="",Ke(()=>{v.value&&(v.value.style.height="auto"),h()}))}function h(){const k=w.value;k&&(k.scrollTop=k.scrollHeight)}const m=$(()=>{const k=n.turns;if(k.length===0)return"0";const T=k.at(-1),S=T.thinking?.length??0,O=T.tools?.reduce((D,E)=>D+E.name.length+(E.arg?.length??0)+(E.output?.join("").length??0),0)??0;return`${k.length}:${T.text.length}:${S}:${O}`});Oe(m,async()=>{!n.running&&!n.sending||(await Ke(),h())});const _=$(()=>n.sending?n.turns.at(-1)?.role==="user":!1);function y(k){k.key==="Enter"&&!k.shiftKey&&!k.isComposing&&(k.preventDefault(),x())}function g(){const k=v.value;k&&(k.style.height="auto",k.style.height=`${Math.min(k.scrollHeight,160)}px`)}return(k,T)=>(a(),c("div",JT,[M(fo,{title:u.value,subtitle:p.value,"close-label":l(o)("thinking.close"),onClose:T[0]||(T[0]=S=>s("close"))},null,8,["title","subtitle","close-label"]),r("div",{ref_key:"bodyRef",ref:w,class:"sc-body"},[e.turns.length===0?(a(),c("div",eP,d(l(o)("sideChat.empty")),1)):(a(),G(cd,{key:1,turns:e.turns,approvals:[],"turn-active":e.running,working:e.sending||e.running},null,8,["turns","turn-active","working"])),_.value?(a(),c("div",tP,[M(id,{label:l(o)("conversation.waitingForResponse")},null,8,["label"])])):A("",!0)],512),r("div",nP,[gt(r("textarea",{ref_key:"inputRef",ref:v,"onUpdate:modelValue":T[1]||(T[1]=S=>f.value=S),class:"sc-input",rows:"1",placeholder:l(o)("sideChat.placeholder"),onInput:g,onKeydown:y},null,40,sP),[[qn,f.value]]),M(ot,{text:l(o)("sideChat.send")},{default:H(()=>[r("button",{type:"button",class:"sc-send","aria-label":l(o)("sideChat.send"),disabled:!f.value.trim(),onClick:x},[M(se,{name:"arrow-right",size:"sm"})],8,oP)]),_:1},8,["text"])])]))}}),aP=Ee(iP,[["__scopeId","data-v-867ab366"]]),lP={class:"changes-pane"},rP={class:"dv-path"},uP={class:"diff-head"},cP={class:"back-label"},dP={class:"dv-cb-label"},pP={key:0,class:"empty-state"},fP={key:1,class:"dv-lines-wrap"},mP={key:2,class:"empty-state"},vP={class:"dv-change-count"},hP={class:"ch-head"},gP={class:"br-label"},yP={class:"br-name"},kP={key:0,class:"sync-info"},bP={key:0,class:"ahead"},wP={key:0,class:"behind"},SP={key:1,class:"empty-head"},CP={key:0,class:"ch-list"},_P=["onClick"],$P={class:"fpath"},MP={key:1,class:"ch-list ch-tree"},xP={class:"tree-list"},IP=["onClick"],AP={class:"tree-name"},TP=["onClick"],PP={class:"tree-name"},EP={key:2,class:"empty-state"},LP={key:3,class:"empty-state"},BP=Ie({__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}=Ue(),s=e,o=t;function i(Q){const ie=Q.toLowerCase();return ie==="modified"?"modified":ie==="added"?"added":ie==="deleted"?"deleted":ie==="renamed"?"renamed":ie==="untracked"?"untracked":ie==="conflicted"?"conflicted":ie==="ignored"?"ignored":ie==="clean"?"clean":"unknown"}const u={modified:"M",added:"A",deleted:"D",renamed:"R",untracked:"U",conflicted:"C",ignored:"I",clean:"·",unknown:"?"};function p(Q){return u[i(Q)]??"?"}function f(Q,ie=60){return Q.length<=ie?Q:"…"+Q.slice(Q.length-ie+1)}const v=$(()=>s.gitInfo!==null),w=$(()=>s.changes.length>0),x=$(()=>(s.selectedDiffPath??null)!==null),h=$(()=>s.mode==="detail"||s.mode==="full"&&x.value),m=$(()=>s.fileDiff??[]),_=$(()=>s.fileDiffLoading===!0),y=ed(),g=I(ru(It(We.diffColorblind))),k=$(()=>g.value==="off"?null:zT(y.value,g.value)),T={off:"colorblindOff","protanopia-deuteranopia":"colorblindRedGreen",tritanopia:"colorblindBlueYellow"},S=$(()=>yd.map(Q=>({value:Q,label:n(`diff.${T[Q]}`)})));function O(Q){const ie=ru(Q);g.value=ie,Bt(We.diffColorblind,ie)}function D(Q){o("open",Q)}function E(){o("back")}function B(){o("close")}const q=I("list");function V(Q){q.value=Q}function b(Q){const ie={children:[]},te=[...Q].sort((ye,_e)=>ye.path.localeCompare(_e.path));for(const ye of te){const _e=ye.path.split("/");let Ce=ie;for(let Z=0;Z<_e.length;Z++){const U=_e[Z],ke=Z===_e.length-1,ae=_e.slice(0,Z+1).join("/");let ee=Ce.children.find(de=>de.name===U&&de.kind===(ke?"file":"folder"));ee||(ee={name:U,path:ae,kind:ke?"file":"folder",status:ke?ye.status:void 0,children:[]},Ce.children.push(ee)),Ce=ee}}return ie.children}const P=$(()=>b(s.changes)),L=I(new Set);function ne(Q){return!L.value.has(Q)}const oe=$(()=>{const Q=[];function ie(te,ye){for(const _e of te)Q.push({node:_e,depth:ye}),_e.kind==="folder"&&ne(_e.path)&&ie(_e.children,ye+1)}return ie(P.value,0),Q});function ge(Q){const ie=new Set(L.value);ie.has(Q.path)?ie.delete(Q.path):ie.add(Q.path),L.value=ie}function ce(Q){return`${16+Q*16}px`}return(Q,ie)=>(a(),c("div",lP,[h.value?(a(),c(he,{key:0},[M(fo,{title:l(n)("diff.title"),closable:e.closable,"close-label":l(n)("diff.close"),onClose:B},{default:H(()=>[M(ot,{text:e.selectedDiffPath??""},{default:H(()=>[r("span",rP,d(f(e.selectedDiffPath??"",50)),1)]),_:1},8,["text"])]),_:1},8,["title","closable","close-label"]),r("div",uP,[e.hideBack?A("",!0):(a(),G(qe,{key:0,variant:"ghost",size:"sm",onClick:E},{default:H(()=>[ie[0]||(ie[0]=r("span",{"aria-hidden":"true"},"←",-1)),r("span",cP,d(l(n)("diff.back")),1)]),_:1})),m.value.length>0?(a(),c(he,{key:1},[r("span",dP,d(l(n)("diff.colorblind")),1),M(cn,{class:"dv-cb-toggle","model-value":g.value,size:"sm",options:S.value,"onUpdate:modelValue":O},null,8,["model-value","options"])],64)):A("",!0)]),_.value?(a(),c("div",pP,d(l(n)("diff.loading")),1)):m.value.length>0?(a(),c("div",fP,[M(kd,{lines:m.value,theme:k.value},null,8,["lines","theme"])])):(a(),c("div",mP,d(l(n)("diff.noDiff")),1))],64)):(a(),c(he,{key:1},[M(fo,{title:l(n)("diff.title"),closable:e.closable,"close-label":l(n)("diff.close"),onClose:B},{default:H(()=>[r("span",vP,d(l(n)("diff.changeCount",{count:e.changes.length})),1),M(cn,{"model-value":q.value,size:"sm",options:[{value:"list",label:l(n)("diff.list")},{value:"tree",label:l(n)("diff.tree")}],"onUpdate:modelValue":V},null,8,["model-value","options"])]),_:1},8,["title","closable","close-label"]),r("div",hP,[v.value?(a(),c(he,{key:0},[r("span",gP,d(l(n)("diff.branch")),1),r("span",yP,d(e.gitInfo.branch),1),e.gitInfo.ahead>0||e.gitInfo.behind>0?(a(),c("span",kP,[M(ot,{text:l(n)("diff.aheadTitle")},{default:H(()=>[e.gitInfo.ahead>0?(a(),c("span",bP,"↑"+d(e.gitInfo.ahead),1)):A("",!0)]),_:1},8,["text"]),M(ot,{text:l(n)("diff.behindTitle")},{default:H(()=>[e.gitInfo.behind>0?(a(),c("span",wP,"↓"+d(e.gitInfo.behind),1)):A("",!0)]),_:1},8,["text"])])):A("",!0)],64)):(a(),c("span",SP,d(l(n)("diff.empty")),1))]),w.value&&q.value==="list"?(a(),c("div",CP,[(a(!0),c(he,null,Pe(e.changes,te=>(a(),G(ot,{key:te.path,text:te.path},{default:H(()=>[r("button",{type:"button",class:"ch-row",onClick:ye=>D(te.path)},[r("span",{class:fe(["badge",i(te.status)])},d(p(te.status)),3),r("span",$P,d(f(te.path)),1)],8,_P)]),_:2},1032,["text"]))),128))])):w.value&&q.value==="tree"?(a(),c("div",MP,[r("ul",xP,[(a(!0),c(he,null,Pe(oe.value,({node:te,depth:ye})=>(a(),c("li",{key:te.path,class:"tree-node"},[te.kind==="folder"?(a(),c("button",{key:0,type:"button",class:"tree-row tree-folder",style:rt({paddingLeft:ce(ye)}),onClick:_e=>ge(te)},[M(se,{class:"tree-icon",name:"folder-solid",size:"sm"}),r("span",AP,d(te.name),1)],12,IP)):(a(),G(ot,{key:1,text:te.path},{default:H(()=>[r("button",{type:"button",class:"tree-row tree-file",style:rt({paddingLeft:ce(ye)}),onClick:_e=>D(te.path)},[r("span",{class:fe(["badge",i(te.status)])},d(p(te.status)),3),r("span",PP,d(te.name),1)],12,TP)]),_:2},1032,["text"]))]))),128))])])):v.value?(a(),c("div",EP,d(l(n)("diff.clean")),1)):(a(),c("div",LP,d(l(n)("diff.empty")),1))],64))]))}}),RP=Ee(BP,[["__scopeId","data-v-6591e558"]]);function Ol(e,t){let n=null;ht(()=>{n=typeof document<"u"&&document.activeElement instanceof HTMLElement?document.activeElement:null,Ke(()=>{const s=t?.value??e.value;try{s?.focus()}catch{}})}),Ln(()=>{const s=n;if(n=null,!(!s||typeof document>"u"||!document.contains(s)))try{s.focus()}catch{}})}const OP={class:"search-wrap"},DP={key:0,class:"tab-strip"},zP={key:1,class:"state-row"},FP={key:2,class:"state-row unavail"},NP={key:3,class:"model-list"},qP=["aria-selected","onClick","onMouseenter"],WP={class:"check"},HP={class:"model-main"},UP={class:"model-name"},VP={class:"model-id"},jP={key:0,class:"caps"},KP={class:"model-provider"},GP={class:"model-ctx"},QP={key:0,class:"empty"},YP={class:"footer-hint"},ZP=Ie({__name:"ModelPicker",props:{models:{},current:{},starredIds:{},loading:{type:Boolean},unavailable:{type:Boolean}},emits:["select","toggle-star","close"],setup(e,{emit:t}){const{t:n}=Ue(),s=e,o=t,i=$(()=>new Set(s.starredIds??[]));function u(S){return i.value.has(S)}const p=I(""),f=I(null),v=I(null),w=I("all");Ol(v,f);const x=$(()=>{const S=new Set,O=[{id:"all",label:n("model.allTab")}];for(const D of s.models)S.has(D.provider)||(S.add(D.provider),O.push({id:D.provider,label:D.provider}));return O}),h=$(()=>{const S=p.value.toLowerCase().trim(),O=s.models.filter(D=>{if(w.value!=="all"&&D.provider!==w.value)return!1;const E=(D.displayName??D.model).toLowerCase().includes(S),B=D.provider.toLowerCase().includes(S),q=D.id.toLowerCase().includes(S);return!S||E||B||q});return w.value!=="all"?O:O.sort((D,E)=>{const B=u(D.id)?1:0;return(u(E.id)?1:0)-B})}),m=$(()=>h.value),_=I(0);Oe([p,w],()=>{_.value=0}),Oe(x,S=>{S.some(O=>O.id===w.value)||(w.value="all")}),Oe(m,S=>{_.value=Math.min(_.value,Math.max(S.length-1,0))});function y(S){if(S.key==="Escape"){o("close");return}if(S.key==="ArrowDown")S.preventDefault(),_.value=Math.min(_.value+1,m.value.length-1);else if(S.key==="ArrowUp")S.preventDefault(),_.value=Math.max(_.value-1,0);else if(S.key==="Enter"){const O=m.value[_.value];O&&o("select",O.id)}}ht(()=>{document.addEventListener("keydown",y)}),kt(()=>{document.removeEventListener("keydown",y)});function g(S){o("select",S)}function k(S){return m.value.indexOf(S)}function T(S){w.value=S}return(S,O)=>(a(),G(vs,{open:!0,"close-on-esc":!1,title:l(n)("model.title"),size:"xl",height:"fixed",onClose:O[1]||(O[1]=D=>o("close"))},{default:H(()=>[r("div",{ref_key:"dialogRef",ref:v,class:"mp"},[r("div",OP,[M(Kn,{ref_key:"searchRef",ref:f,modelValue:p.value,"onUpdate:modelValue":O[0]||(O[0]=D=>p.value=D),placeholder:l(n)("model.searchPlaceholder"),autocomplete:"off",spellcheck:"false",autofocus:""},null,8,["modelValue","placeholder"])]),x.value.length>1?(a(),c("div",DP,[(a(!0),c(he,null,Pe(x.value,D=>(a(),G(qe,{key:D.id,variant:D.id===w.value?"secondary":"ghost",size:"sm",onClick:E=>T(D.id)},{default:H(()=>[re(d(D.label),1)]),_:2},1032,["variant","onClick"]))),128))])):A("",!0),e.loading?(a(),c("div",zP,[M(Dt,{size:"sm"}),r("span",null,d(l(n)("model.loading")),1)])):e.unavailable?(a(),c("div",FP,[M(se,{name:"alert-triangle",size:"lg"}),r("span",null,d(l(n)("model.unavailable")),1)])):(a(),c("div",NP,[(a(!0),c(he,null,Pe(m.value,D=>(a(),c("div",{key:D.id,class:fe(["model-row",{"is-current":D.id===e.current,"is-selected":k(D)===_.value}]),role:"option","aria-selected":D.id===e.current,onClick:E=>g(D.id),onMouseenter:E=>_.value=k(D)},[r("span",WP,[D.id===e.current?(a(),G(se,{key:0,name:"check",size:"sm"})):A("",!0)]),r("span",HP,[r("span",UP,d(D.displayName??D.model),1),r("span",VP,d(D.id),1),D.capabilities&&D.capabilities.length>0?(a(),c("span",jP,[(a(!0),c(he,null,Pe(D.capabilities,E=>(a(),G(Ot,{key:E,variant:"info",size:"sm"},{default:H(()=>[re(d(E),1)]),_:2},1024))),128))])):A("",!0)]),r("span",KP,d(D.provider),1),r("span",GP,d(l(n)("model.contextSuffix",{size:l(ms)(D.maxContextSize)})),1),M(nt,{size:"sm",label:u(D.id)?l(n)("model.unstarTitle"):l(n)("model.starTitle"),onClick:Re(E=>o("toggle-star",D.id),["stop"])},{default:H(()=>[u(D.id)?(a(),G(se,{key:0,name:"star",size:"md"})):(a(),G(se,{key:1,name:"star-outline",size:"md"}))]),_:2},1032,["label","onClick"])],42,qP))),128)),m.value.length===0&&!e.loading&&!e.unavailable?(a(),c("div",QP,d(s.models.length===0?l(n)("model.emptyNoModels"):l(n)("model.emptyNoMatch")),1)):A("",!0)])),r("div",YP,d(l(n)("model.footerHint")),1)],512)]),_:1},8,["title"]))}}),XP=Ee(ZP,[["__scopeId","data-v-56cefe51"]]),JP={key:0,class:"ui-field__label"},eE={key:1,class:"ui-field__error"},tE={key:2,class:"ui-field__hint"},nE=Ie({__name:"Field",props:{label:{},hint:{},error:{}},setup(e){return(t,n)=>(a(),c("div",{class:fe(["ui-field",{"has-error":!!e.error}])},[e.label?(a(),c("label",JP,d(e.label),1)):A("",!0),yt(t.$slots,"default",{},void 0,!0),e.error?(a(),c("span",eE,d(e.error),1)):e.hint?(a(),c("span",tE,d(e.hint),1)):A("",!0)],2))}}),$s=Ee(nE,[["__scopeId","data-v-49bce958"]]),sE=["value","disabled"],oE=Ie({__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)=>(a(),c("select",{class:fe(["ui-select",[`ui-select--${e.size}`,{"has-error":e.error}]]),value:e.modelValue,disabled:e.disabled,onChange:s},[yt(o.$slots,"default",{},void 0,!0)],42,sE))}}),Xa=Ee(oE,[["__scopeId","data-v-92a040fd"]]),iE={class:"prov-list"},aE={key:0,class:"state-row"},lE={key:1,class:"state-row unavail"},rE={key:2,class:"empty"},uE={class:"prov-info"},cE={class:"prov-type"},dE={key:0,class:"prov-url"},pE={class:"prov-meta"},fE={key:0},mE={class:"prov-actions"},vE={key:0,class:"add-section"},hE={key:0,class:"add-btns"},gE={key:1,class:"add-form"},yE=["value"],kE={key:0,class:"add-error"},bE={class:"form-btns"},wE={key:2,class:"import-form"},SE={class:"import-head"},CE={class:"import-title"},_E={key:0,class:"state-row"},$E={key:1,class:"import-error"},ME={key:2,class:"empty"},xE={key:3,class:"catalog-list"},IE=["aria-disabled","onClick"],AE={class:"catalog-check"},TE={class:"catalog-main"},PE={class:"catalog-name"},EE={class:"catalog-id"},LE={key:0,class:"catalog-wire"},BE={class:"catalog-meta"},RE={key:2,class:"catalog-count"},OE={key:4,class:"catalog-selected"},DE={class:"form-btns"},zE={key:3,class:"import-form"},FE={class:"import-head"},NE={class:"import-title"},qE={key:0,class:"add-error"},WE={class:"form-btns"},HE={class:"footer-hint"},UE=Ie({__name:"ProviderManager",props:{providers:{},loading:{type:Boolean},unavailable:{type:Boolean}},emits:["add","refresh","delete","openLogin","import-catalog","import-registry","close"],setup(e,{emit:t}){const{t:n}=Ue(),s=I(null);Ol(s);const o=t;function i(Ce){o("delete",Ce)}const u=I(!1),p=Bn({type:"moonshot",apiKey:"",baseUrl:"",defaultModel:""}),f=I(""),v=["moonshot","anthropic","openai","custom"];function w(){p.type="moonshot",p.apiKey="",p.baseUrl="",p.defaultModel="",f.value="",u.value=!0}function x(){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=I(!1),_=I(""),y=I([]),g=I(!1),k=I(""),T=I(""),S=I("");let O;const D=$(()=>tk(y.value,_.value).map(ur)),E=$(()=>y.value.find(Ce=>Ce.id===T.value)??null),B=$(()=>E.value===null?null:ur(E.value));async function q(Ce){g.value=!0,k.value="";try{y.value=await Te().browseCatalogProviders(Ce)}catch{k.value=n("providers.import.catalogLoadError")}finally{g.value=!1}}Oe(_,Ce=>{T.value="",S.value="",O!==void 0&&clearTimeout(O),O=setTimeout(()=>void q(Ce),250)});function V(){m.value=!0,_.value="",T.value="",S.value="",k.value="",y.value=[],q("")}function b(){m.value=!1,O!==void 0&&(clearTimeout(O),O=void 0)}function P(Ce){T.value=Ce,S.value=""}function L(){const Ce=E.value;Ce!==null&&(o("import-catalog",{catalogId:Ce.id,baseUrl:Ce.needsBaseUrl&&S.value.trim()||void 0}),b())}const ne=I(!1),oe=Bn({url:"",apiKey:""}),ge=I("");function ce(){oe.url="",oe.apiKey="",ge.value="",ne.value=!0}function Q(){ne.value=!1}function ie(){const Ce=oe.url.trim();if(Ce===""){ge.value=n("providers.import.registryUrlRequired");return}ge.value="",o("import-registry",{url:Ce,apiKey:oe.apiKey.trim()||void 0}),Q()}function te(Ce){if(Ce.key==="Escape"){if(m.value){b();return}if(ne.value){Q();return}if(u.value){x();return}o("close")}}ht(()=>document.addEventListener("keydown",te)),kt(()=>{document.removeEventListener("keydown",te),O!==void 0&&clearTimeout(O)});function ye(Ce){return Ce==="connected"?"var(--color-success)":Ce==="error"?"var(--color-danger)":"var(--color-text-faint)"}function _e(Ce){return n(Ce==="connected"?"providers.status.connected":Ce==="error"?"providers.status.error":"providers.status.unconfigured")}return(Ce,Z)=>(a(),G(vs,{open:!0,"close-on-esc":!1,title:l(n)("providers.title"),size:"xl",height:"fixed",onClose:Z[10]||(Z[10]=U=>o("close"))},{default:H(()=>[r("div",{ref_key:"dialogRef",ref:s,class:"pm"},[r("div",iE,[e.loading?(a(),c("div",aE,[M(Dt,{size:"sm"}),r("span",null,d(l(n)("providers.loading")),1)])):e.unavailable?(a(),c("div",lE,[M(se,{name:"alert-triangle",size:"md"}),r("span",null,d(l(n)("providers.unavailable")),1)])):e.providers.length===0?(a(),c("div",rE,d(l(n)("providers.empty")),1)):(a(!0),c(he,{key:3},Pe(e.providers,U=>(a(),c("div",{key:U.id,class:"prov-row"},[M(ot,{text:_e(U.status)},{default:H(()=>[r("span",{class:fe(["status-dot",{"status-dot--empty":U.status!=="connected"&&U.status!=="error"}]),style:rt(U.status==="connected"||U.status==="error"?{background:ye(U.status)}:void 0)},null,6)]),_:2},1032,["text"]),r("div",uE,[r("span",cE,d(U.type),1),U.baseUrl?(a(),c("span",dE,d(U.baseUrl),1)):A("",!0),r("span",pE,[M(Ot,{variant:U.hasApiKey?"success":"neutral",size:"sm"},{default:H(()=>[re(d(U.hasApiKey?l(n)("providers.keySet"):l(n)("providers.keyNotSet")),1)]),_:2},1032,["variant"]),U.models&&U.models.length>0?(a(),c("span",fE," · "+d(l(n)("providers.modelCount",{count:U.models.length})),1)):A("",!0)])]),r("div",mE,[M(ot,{text:l(n)("providers.refreshTitle",{type:U.type})},{default:H(()=>[M(qe,{variant:"secondary",size:"sm",onClick:ke=>o("refresh",U.id)},{default:H(()=>[re(d(l(n)("providers.refresh")),1)]),_:1},8,["onClick"])]),_:2},1032,["text"]),M(ot,{text:l(n)("providers.deleteTitle",{type:U.type})},{default:H(()=>[M(qe,{variant:"danger-soft",size:"sm",onClick:ke=>i(U.id)},{default:H(()=>[re(d(l(n)("providers.delete")),1)]),_:1},8,["onClick"])]),_:2},1032,["text"])])]))),128))]),e.unavailable?A("",!0):(a(),c("div",vE,[!u.value&&!m.value&&!ne.value?(a(),c("div",hE,[M(qe,{variant:"secondary",size:"sm",onClick:Z[0]||(Z[0]=U=>o("openLogin","moonshot"))},{default:H(()=>[M(se,{name:"user",size:"sm"}),re(" "+d(l(n)("providers.loginKimi")),1)]),_:1}),M(qe,{variant:"secondary",size:"sm",onClick:Z[1]||(Z[1]=U=>o("openLogin","anthropic"))},{default:H(()=>[M(se,{name:"user",size:"sm"}),re(" "+d(l(n)("providers.loginAnthropic")),1)]),_:1}),M(qe,{variant:"primary",size:"sm",onClick:w},{default:H(()=>[M(se,{name:"plus",size:"sm"}),re(" "+d(l(n)("providers.enterApiKey")),1)]),_:1}),M(qe,{variant:"secondary",size:"sm",onClick:V},{default:H(()=>[M(se,{name:"globe",size:"sm"}),re(" "+d(l(n)("providers.import.fromCatalog")),1)]),_:1}),M(qe,{variant:"secondary",size:"sm",onClick:ce},{default:H(()=>[M(se,{name:"download",size:"sm"}),re(" "+d(l(n)("providers.import.fromRegistry")),1)]),_:1})])):u.value?(a(),c("div",gE,[M($s,{label:l(n)("providers.fieldType")},{default:H(()=>[M(Xa,{modelValue:p.type,"onUpdate:modelValue":Z[2]||(Z[2]=U=>p.type=U)},{default:H(()=>[(a(),c(he,null,Pe(v,U=>r("option",{key:U,value:U},d(U),9,yE)),64))]),_:1},8,["modelValue"])]),_:1},8,["label"]),M($s,{label:l(n)("providers.fieldApiKey")},{default:H(()=>[M(Kn,{modelValue:p.apiKey,"onUpdate:modelValue":Z[3]||(Z[3]=U=>p.apiKey=U),type:"password",placeholder:"sk-…",autocomplete:"off",spellcheck:"false"},null,8,["modelValue"])]),_:1},8,["label"]),M($s,{label:l(n)("providers.fieldBaseUrl")},{default:H(()=>[M(Kn,{modelValue:p.baseUrl,"onUpdate:modelValue":Z[4]||(Z[4]=U=>p.baseUrl=U),placeholder:l(n)("providers.baseUrlPlaceholder"),autocomplete:"off",spellcheck:"false"},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),M($s,{label:l(n)("providers.fieldDefaultModel")},{default:H(()=>[M(Kn,{modelValue:p.defaultModel,"onUpdate:modelValue":Z[5]||(Z[5]=U=>p.defaultModel=U),placeholder:l(n)("providers.optional"),autocomplete:"off",spellcheck:"false"},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),f.value?(a(),c("div",kE,d(f.value),1)):A("",!0),r("div",bE,[M(qe,{variant:"primary",size:"sm",onClick:h},{default:H(()=>[re(d(l(n)("providers.add")),1)]),_:1}),M(qe,{variant:"secondary",size:"sm",onClick:x},{default:H(()=>[re(d(l(n)("common.cancel")),1)]),_:1})])])):m.value?(a(),c("div",wE,[r("div",SE,[M(qe,{variant:"ghost",size:"sm",onClick:b},{default:H(()=>[re(d(l(n)("providers.import.back")),1)]),_:1}),r("span",CE,d(l(n)("providers.import.catalogTitle")),1)]),M($s,{label:l(n)("providers.import.catalogSearchLabel")},{default:H(()=>[M(Kn,{modelValue:_.value,"onUpdate:modelValue":Z[6]||(Z[6]=U=>_.value=U),placeholder:l(n)("providers.import.catalogSearchPlaceholder"),autocomplete:"off",spellcheck:"false"},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),g.value?(a(),c("div",_E,[M(Dt,{size:"sm"}),r("span",null,d(l(n)("providers.import.catalogLoading")),1)])):k.value?(a(),c("div",$E,d(k.value),1)):D.value.length===0?(a(),c("div",ME,d(l(n)("providers.import.catalogEmpty")),1)):(a(),c("div",xE,[(a(!0),c(he,null,Pe(D.value,U=>(a(),c("div",{key:U.id,class:fe(["catalog-row",{"is-selected":U.id===T.value,"is-rejected":U.rejected}]),"aria-disabled":U.rejected?"true":void 0,onClick:ke=>U.rejected?void 0:P(U.id)},[r("span",AE,[U.id===T.value?(a(),G(se,{key:0,name:"check",size:"sm"})):A("",!0)]),r("span",TE,[r("span",PE,d(U.name),1),r("span",EE,d(U.id),1),U.wireType?(a(),c("span",LE,d(U.wireType),1)):A("",!0)]),r("span",BE,[U.rejected?(a(),G(Ot,{key:0,variant:"danger",size:"sm"},{default:H(()=>[re(d(l(n)("providers.import.catalogRejected",{reason:U.rejectReason??""})),1)]),_:2},1024)):U.needsBaseUrl?(a(),G(Ot,{key:1,variant:"warning",size:"sm"},{default:H(()=>[re(d(l(n)("providers.import.catalogNeedsBaseUrl")),1)]),_:1})):(a(),c("span",RE,d(l(n)("providers.modelCount",{count:U.modelCount})),1))])],10,IE))),128))])),B.value?(a(),c("div",OE,[B.value.needsBaseUrl?(a(),G($s,{key:0,label:l(n)("providers.fieldBaseUrl"),hint:l(n)("providers.import.catalogBaseUrlHint")},{default:H(()=>[M(Kn,{modelValue:S.value,"onUpdate:modelValue":Z[7]||(Z[7]=U=>S.value=U),placeholder:l(n)("providers.baseUrlPlaceholder"),autocomplete:"off",spellcheck:"false"},null,8,["modelValue","placeholder"])]),_:1},8,["label","hint"])):A("",!0)])):A("",!0),r("div",DE,[M(qe,{variant:"primary",size:"sm",disabled:E.value===null||B.value?.needsBaseUrl===!0&&S.value.trim()==="",onClick:L},{default:H(()=>[re(d(l(n)("providers.import.importAction")),1)]),_:1},8,["disabled"]),M(qe,{variant:"secondary",size:"sm",onClick:b},{default:H(()=>[re(d(l(n)("common.cancel")),1)]),_:1})])])):ne.value?(a(),c("div",zE,[r("div",FE,[M(qe,{variant:"ghost",size:"sm",onClick:Q},{default:H(()=>[re(d(l(n)("providers.import.back")),1)]),_:1}),r("span",NE,d(l(n)("providers.import.registryTitle")),1)]),M($s,{label:l(n)("providers.import.registryUrlLabel")},{default:H(()=>[M(Kn,{modelValue:oe.url,"onUpdate:modelValue":Z[8]||(Z[8]=U=>oe.url=U),placeholder:l(n)("providers.import.registryUrlPlaceholder"),autocomplete:"off",spellcheck:"false"},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),M($s,{label:l(n)("providers.import.registryApiKeyLabel")},{default:H(()=>[M(Kn,{modelValue:oe.apiKey,"onUpdate:modelValue":Z[9]||(Z[9]=U=>oe.apiKey=U),type:"password",autocomplete:"off",spellcheck:"false"},null,8,["modelValue"])]),_:1},8,["label"]),ge.value?(a(),c("div",qE,d(ge.value),1)):A("",!0),r("div",WE,[M(qe,{variant:"primary",size:"sm",onClick:ie},{default:H(()=>[re(d(l(n)("providers.import.importAction")),1)]),_:1}),M(qe,{variant:"secondary",size:"sm",onClick:Q},{default:H(()=>[re(d(l(n)("common.cancel")),1)]),_:1})])])):A("",!0)])),r("div",HE,d(l(n)("providers.escClose")),1)],512)]),_:1},8,["title"]))}}),VE=Ee(UE,[["__scopeId","data-v-b1859ac1"]]),jE={key:0,width:"36",height:"36",viewBox:"0 0 36 36",fill:"none",stroke:"var(--color-success)","stroke-width":"2","aria-hidden":"true"},KE={key:1,width:"28",height:"28",viewBox:"0 0 28 28",fill:"none",stroke:"var(--color-danger)","stroke-width":"1.5","aria-hidden":"true"},GE={key:2,width:"28",height:"28",viewBox:"0 0 28 28",fill:"none",stroke:"var(--color-warning)","stroke-width":"1.5","aria-hidden":"true"},xa=Ie({__name:"AuthStateIcon",props:{kind:{}},setup(e){return(t,n)=>e.kind==="success"?(a(),c("svg",jE,[...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"?(a(),c("svg",KE,[...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)])])):(a(),c("svg",GE,[...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)])]))}}),QE={key:0,class:"center-body"},YE={class:"center-text"},ZE={key:1,class:"nb"},XE={class:"nb-lead"},JE=["href"],eL={class:"nb-or"},tL={class:"nb-fallback"},nL={class:"nb-fb-text"},sL=["href"],oL={class:"nb-code-row"},iL={class:"nb-code"},aL={class:"nb-status"},lL={class:"nb-status-text"},rL={class:"nb-countdown"},uL={key:2,class:"center-body"},cL={class:"center-text success-text"},dL={class:"center-hint"},pL={class:"center-body"},fL={class:"center-text err-text"},mL={class:"center-hint"},vL={class:"actions"},hL={class:"center-body"},gL={class:"center-text warn-text"},yL={class:"center-hint"},kL={class:"actions"},bL=3,wL=Ie({__name:"LoginDialog",props:{onStartOAuthLogin:{type:Function},onPollOAuthLogin:{type:Function},onCancelOAuthLogin:{type:Function}},emits:["success","close"],setup(e,{emit:t}){const{t:n}=Ue(),s=I(!0),o=t,i=e,u=I("starting"),p=I(!1),f=I(null),v=I(0),w=I(!1);let x=null,h=null,m=0;ht(async()=>{await _()}),kt(()=>{k()});async function _(){k(),f.value=null,p.value=!1,m=0,u.value="starting";const E=await i.onStartOAuthLogin();if(!E){u.value="error";return}if(E.status==="authenticated"){k(),u.value="success",setTimeout(()=>{o("success"),o("close")},800);return}f.value={flowId:E.flowId,verificationUri:E.verificationUri,verificationUriComplete:E.verificationUriComplete,userCode:E.userCode,expiresIn:E.expiresIn,interval:E.interval},v.value=E.expiresIn,u.value="device-code",y(),g(E.interval)}function y(){h&&clearInterval(h),h=setInterval(()=>{v.value>0?v.value--:(h&&clearInterval(h),h=null)},1e3)}function g(E){x&&clearTimeout(x),x=setTimeout(async()=>{const B=await i.onPollOAuthLogin();if(B===null){if(m+=1,m>=bL){k(),p.value=!0,u.value="error";return}g(E);return}m=0,B.status==="authenticated"?(k(),u.value="success",setTimeout(()=>{o("success"),o("close")},1200)):B.status==="expired"||B.status==="cancelled"?(k(),u.value="expired"):g(E)},E*1e3)}function k(){x&&(clearTimeout(x),x=null),h&&(clearInterval(h),h=null)}async function T(){await _()}async function S(){!f.value||!await un(f.value.userCode)||(w.value=!0,setTimeout(()=>{w.value=!1},2e3))}async function O(){k(),u.value==="device-code"&&i.onCancelOAuthLogin(),o("close")}function D(E){const B=Math.floor(E/60),q=E%60;return`${B}:${String(q).padStart(2,"0")}`}return(E,B)=>(a(),G(vs,{open:s.value,"onUpdate:open":B[0]||(B[0]=q=>s.value=q),title:l(n)("login.title"),"close-on-overlay":!1,onClose:O},{default:H(()=>[u.value==="starting"?(a(),c("div",QE,[M(Dt,{size:"md"}),r("span",YE,d(l(n)("login.starting")),1)])):u.value==="device-code"&&f.value?(a(),c("div",ZE,[r("div",XE,d(l(n)("login.lead")),1),r("a",{class:"nb-primary",href:f.value.verificationUriComplete,target:"_blank",rel:"noopener noreferrer"},[re(d(l(n)("login.authorizeInBrowser"))+" ",1),M(se,{name:"external-link",size:"sm"})],8,JE),r("div",eL,d(l(n)("login.orDivider")),1),r("div",tL,[r("div",nL,[re(d(l(n)("login.fallbackPrefix")),1),r("a",{class:"nb-fb-link",href:f.value.verificationUri,target:"_blank",rel:"noopener noreferrer"},d(f.value.verificationUri),9,sL),re(d(l(n)("login.fallbackSuffix")),1)]),r("div",oL,[r("span",iL,d(f.value.userCode),1),M(qe,{class:fe(["nb-copy",{"is-copied":w.value}]),variant:"secondary",size:"sm",onClick:S},{default:H(()=>[w.value?(a(),c(he,{key:0},[M(se,{name:"check",size:"sm"}),re(" "+d(l(n)("login.copied")),1)],64)):(a(),c(he,{key:1},[M(se,{name:"copy",size:"sm"}),re(" "+d(l(n)("login.copy")),1)],64))]),_:1},8,["class"])])]),r("div",aL,[M(Dt,{size:"sm",label:l(n)("login.waitingAuth")},null,8,["label"]),r("span",lL,d(l(n)("login.waitingAutoClose")),1),r("span",rL,d(D(v.value)),1)])])):u.value==="success"?(a(),c("div",uL,[M(xa,{kind:"success"}),r("span",cL,d(l(n)("login.success")),1),r("span",dL,d(l(n)("login.successHint")),1)])):u.value==="expired"?(a(),c(he,{key:3},[r("div",pL,[M(xa,{kind:"expired"}),r("span",fL,d(l(n)("login.expiredTitle")),1),r("span",mL,d(l(n)("login.expiredHint")),1)]),r("div",vL,[M(qe,{variant:"primary",onClick:T},{default:H(()=>[re(d(l(n)("login.retry")),1)]),_:1}),M(qe,{variant:"secondary",onClick:O},{default:H(()=>[re(d(l(n)("login.closeBtn")),1)]),_:1})])],64)):u.value==="error"?(a(),c(he,{key:4},[r("div",hL,[M(xa,{kind:"error"}),r("span",gL,d(p.value?l(n)("login.pollErrorTitle"):l(n)("login.errorTitle")),1),r("span",yL,d(p.value?l(n)("login.pollErrorHint"):l(n)("login.errorHint")),1)]),r("div",kL,[M(qe,{variant:"primary",onClick:T},{default:H(()=>[re(d(l(n)("login.retry")),1)]),_:1}),M(qe,{variant:"secondary",onClick:O},{default:H(()=>[re(d(l(n)("login.closeBtn")),1)]),_:1})])],64)):A("",!0)]),_:1},8,["open","title"]))}}),SL=Ee(wL,[["__scopeId","data-v-8308a28f"]]),uu=1,CL=6,_L=.25;function bd(e){return Number.isFinite(e)?Math.min(CL,Math.max(uu,e)):uu}function $L(e){return Math.round(e*100)/100}function wd(e,t){return bd($L(e+t*_L))}function ML(e){return wd(e,1)}function xL(e){return wd(e,-1)}function cu(e,t,n){const s=Math.max(0,(t-n)/2);return Math.min(s,Math.max(-s,e))}const IL=["aria-label"],AL={key:0,class:"ml-loading"},TL=["src","alt"],PL={key:0,class:"ml-zoom-hint"},EL=["src"],LL={key:3,class:"ml-error"},BL={key:4,class:"ml-toolbar"},RL=["aria-label"],OL={class:"ml-zoom-label"},DL=["aria-label"],zL=["disabled","aria-label"],FL=Ie({__name:"MediaLightbox",props:{state:{}},emits:["close"],setup(e,{emit:t}){const n=e,s=t,{t:o}=Ue(),i=I(1),u=I(0),p=I(0);Oe(()=>n.state?.media,()=>{i.value=1,u.value=0,p.value=0});const f=$(()=>n.state?.media.kind==="image"),v=$(()=>{const B=i.value;return B<=1?"":`scale(${B}) translate(${u.value}px, ${p.value}px)`});function w(B){if(!f.value)return;B.preventDefault();const q=bd(i.value+(B.deltaY<0?.25:-.25));i.value=q,h()}const x=I(null);function h(){const B=x.value;B&&(u.value=cu(u.value,B.clientWidth*i.value,B.clientWidth),p.value=cu(p.value,B.clientHeight*i.value,B.clientHeight))}function m(){i.value=ML(i.value),h()}function _(){i.value=xL(i.value),h()}function y(){i.value=1,u.value=0,p.value=0}const g=I(!1);let k=0,T=0;function S(B){!f.value||i.value<=1||(g.value=!0,k=B.clientX,T=B.clientY,B.target.setPointerCapture?.(B.pointerId))}function O(B){g.value&&(u.value+=B.clientX-k,p.value+=B.clientY-T,k=B.clientX,T=B.clientY,h())}function D(B){g.value=!1,B.target.releasePointerCapture?.(B.pointerId)}function E(B){B.key==="Escape"?s("close"):B.key==="+"||B.key==="="?m():B.key==="-"?_():B.key==="0"&&y()}return(B,q)=>(a(),G(lo,{to:"body"},[e.state?(a(),c("div",{key:0,class:"media-lightbox",role:"dialog","aria-modal":"true",tabindex:"-1",onKeydown:E},[r("div",{class:"ml-backdrop",onClick:q[0]||(q[0]=V=>s("close"))}),r("button",{type:"button",class:"ml-close","aria-label":l(o)("common.close"),onClick:q[1]||(q[1]=V=>s("close"))},[M(se,{name:"close"})],8,IL),e.state.loading?(a(),c("div",AL,[M(Dt)])):e.state.sourceUrl&&f.value?(a(),c("div",{key:1,ref_key:"viewportRef",ref:x,class:"ml-viewport",onWheel:w,onPointerdown:S,onPointermove:O,onPointerup:D,onPointercancel:D},[r("img",{class:"ml-image",src:e.state.sourceUrl,alt:e.state.media.path??"",style:rt({transform:v.value}),draggable:"false"},null,12,TL),i.value>1?(a(),c("div",PL,d(l(o)("media.dragHint")),1)):A("",!0)],544)):e.state.sourceUrl&&!f.value?(a(),c("video",{key:2,class:"ml-video",src:e.state.sourceUrl,controls:"",autoplay:"",playsinline:""},null,8,EL)):(a(),c("div",LL,[r("p",null,d(e.state.error??l(o)("media.noPreview")),1)])),e.state.sourceUrl&&f.value?(a(),c("div",BL,[r("button",{type:"button",class:"ml-btn","aria-label":l(o)("media.zoomOut"),onClick:_},[M(se,{name:"minus"})],8,RL),r("span",OL,d(Math.round(i.value*100))+"%",1),r("button",{type:"button",class:"ml-btn","aria-label":l(o)("media.zoomIn"),onClick:m},[M(se,{name:"plus"})],8,DL),r("button",{type:"button",class:"ml-btn",disabled:i.value<=1,"aria-label":l(o)("media.resetZoom"),onClick:y},[M(se,{name:"expand"})],8,zL)])):A("",!0)],32)):A("",!0)]))}}),NL=Ee(FL,[["__scopeId","data-v-0ff39638"]]);function Ja(e){return/^(?:https?:|blob:|data:)/i.test(e)}function qL({client:e,detailTarget:t}){const{t:n}=Ue(),s=I(null),o=I(null),i=I(!1),u=I(null),p=I(null);let f=0,v=null;function w(){v!==null&&(URL.revokeObjectURL(v),v=null)}const x=$(()=>{const B=p.value;return B?e.getFileDownloadUrl(B):null}),h=$(()=>s.value!==null);function m(B){return B.length>1?B.replace(/\/+$/,""):B}function _(B){const q=[];for(const V of B.split(/[\\/]+/))if(!(!V||V===".")){if(V===".."){q.pop();continue}q.push(V)}return q.join("/")}function y(B){const q=B.trim();if(!q)return{error:n("filePreview.errors.emptyPath")};if(/^[a-z][a-z0-9+.-]*:\/\//i.test(q))return{error:n("filePreview.errors.unsupportedPath")};if(q.startsWith("~"))return{error:n("filePreview.errors.outsideWorkspace")};const V=m(e.status.value.cwd);if(q.startsWith("/")){if(!V||q!==V&&!q.startsWith(`${V}/`))return{error:n("filePreview.errors.outsideWorkspace")};const P=q===V?"":q.slice(V.length+1);if(P.split(/[\\/]+/).includes(".."))return{error:n("filePreview.errors.outsideWorkspace")};const L=_(P);return L?{path:L}:{error:n("filePreview.errors.isDirectory")}}if(q.split(/[\\/]+/).includes(".."))return{error:n("filePreview.errors.outsideWorkspace")};const b=_(q);return b?{path:b}:{error:n("filePreview.errors.emptyPath")}}async function g(B){const q=s.value;if(t.value==="file"&&q&&q.path===B.path&&q.line===B.line){O();return}const V=++f;w(),t.value="file",o.value=null,u.value=null,i.value=!0,s.value=B,p.value=null;const b=y(B.path);if("error"in b){i.value=!1,u.value=b.error;return}p.value=b.path;try{const P=await e.readFileContent(b.path);if(V!==f)return;P?o.value={...P,path:P.path||b.path}:u.value=n("filePreview.errors.loadFailed")}catch(P){if(V!==f)return;u.value=P instanceof Error?P.message:n("filePreview.errors.loadFailed")}finally{V===f&&(i.value=!1)}}function k(B){return/^data:([^;,]+)/i.exec(B)?.[1]}function T(B){if(B.kind!=="image"&&B.kind!=="video")return;const q=++f;w(),t.value="file",s.value=null,p.value=null,u.value=null;const V=B.kind==="video",b={path:B.path??n(V?"filePreview.videoFallback":"filePreview.imageFallback"),content:"",encoding:"utf-8",mime:B.mimeType??k(B.url)??(V?"video/*":"image/*"),isBinary:!0,size:B.bytes??0};B.fileId?(i.value=!0,o.value=b,Te().getFileBlob(B.fileId).then(P=>{if(q===f){if(t.value!=="file"||!o.value){i.value=!1;return}v=URL.createObjectURL(P),o.value={...o.value,sourceUrl:v},i.value=!1}}).catch(()=>{q===f&&(o.value&&(o.value={...o.value,sourceUrl:B.url}),i.value=!1)})):(i.value=!1,o.value=Ja(B.url)?{...b,sourceUrl:B.url}:b)}function S(){f+=1,s.value=null,p.value=null,o.value=null,u.value=null,i.value=!1,w()}function O(){S(),t.value==="file"&&(t.value=null)}Oe(t,(B,q)=>{q==="file"&&B!=="file"&&S()});function D(){const B=o.value?.path??s.value?.path;B&&e.openWorkspaceFile(B,s.value?.line)}function E(){const B=o.value?.path??s.value?.path;B&&e.revealWorkspaceFile(B)}return{previewTarget:s,previewFile:o,previewLoading:i,previewError:u,previewDownloadUrl:x,previewExternalActions:h,openFilePreview:g,openMediaPreview:T,closeFilePreview:O,openPreviewInEditor:D,revealPreviewFile:E}}function WL(e=Te()){const{t}=Ue(),n=I(null),s=$(()=>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:Ja(p.url)?p.url:null,loading:!1,error:null};return}e.getFileBlob(p.fileId).then(w=>{if(f!==o||!n.value)return;const x=URL.createObjectURL(w);n.value={media:p,sourceUrl:x,loading:!1,error:null}}).catch(()=>{f!==o||!n.value||(n.value={media:p,sourceUrl:Ja(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 HL(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 UL(e,t){const n=new Set(e.map(o=>o.id)),s=t.filter(o=>!n.has(o.id));return[...e,...s]}const Sd=Ie({__name:"LanguageSwitcher",setup(e){const{locale:t}=Ue(),n=Tu.map(o=>({value:o.code,label:o.label}));function s(o){t.value!==o&&Pu(o)}return(o,i)=>(a(),G(cn,{"model-value":l(t),options:l(n),"onUpdate:modelValue":s},null,8,["model-value","options"]))}}),VL=["href","target","rel"],jL=Ie({__name:"Link",props:{href:{},variant:{default:"default"},external:{type:Boolean}},setup(e){return(t,n)=>e.href?(a(),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},[yt(t.$slots,"default",{},void 0,!0)],10,VL)):(a(),c("span",{key:1,class:fe(["ui-link",`ui-link--${e.variant}`])},[yt(t.$slots,"default",{},void 0,!0)],2))}}),du=Ee(jL,[["__scopeId","data-v-645e7d4e"]]),KL=["aria-checked","aria-label","disabled"],GL=Ie({__name:"Switch",props:{modelValue:{type:Boolean},disabled:{type:Boolean},label:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=t;return(s,o)=>(a(),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,KL))}}),ds=Ee(GL,[["__scopeId","data-v-e5aecc8e"]]),QL={class:"ps"},YL={class:"ext-hint-title"},ZL={key:1,class:"action-error"},XL={class:"plug-sec"},JL={class:"plug-title"},eB={key:0,class:"plug-state"},tB={key:1,class:"plug-state is-error"},nB={key:3,class:"plug-list"},sB={class:"plug-info"},oB={class:"plug-name"},iB={class:"plug-display"},aB={key:0,class:"plug-version"},lB={key:0,class:"plug-counts"},rB={class:"plug-actions"},uB={class:"plug-sec"},cB={class:"plug-sec-head"},dB={class:"plug-title"},pB={key:0,class:"plug-state"},fB={key:1,class:"plug-state is-error"},mB={key:3,class:"plug-list"},vB={class:"plug-info"},hB={class:"plug-name"},gB={class:"plug-display"},yB={key:0,class:"plug-desc"},kB={key:1,class:"plug-home"},bB={class:"plug-actions"},wB={class:"plug-sec"},SB={class:"plug-title"},CB={key:0,class:"plug-state"},_B={key:1,class:"plug-state is-error"},$B={key:3,class:"plug-list"},MB={class:"plug-info"},xB={class:"plug-name"},IB={class:"plug-display"},AB={key:0,class:"plug-desc"},TB={key:1,class:"cap-progress"},PB={class:"cap-progress-text"},EB={class:"cap-progress-track","aria-hidden":"true"},LB={key:2,class:"cap-error"},BB={key:3,class:"cap-steps"},RB={key:2,class:"cap-step-missing","aria-hidden":"true"},OB={class:"cap-step-label"},DB={class:"plug-actions"},Ia="kimi-webbridge",zB=Ie({__name:"PluginSettingsPanel",props:{active:{type:Boolean}},setup(e){const{t}=Ue(),{confirm:n}=go(),s=e,o=I([]),i=I(!1),u=I(""),p=I([]),f=I("idle"),v=I([]),w=I(!1),x=I(""),h=I(!1),m=I(""),_=Bn({}),y=Bn({});async function g(){if(!i.value){i.value=!0,u.value="";try{o.value=await Te().listPlugins()}catch(Y){u.value=O(Y)}finally{i.value=!1}}}async function k(){if(f.value!=="loading"){f.value="loading";try{p.value=await Te().listPluginMarketplace(),f.value="ok"}catch{p.value.length===0?f.value="error":f.value="ok"}}}async function T(){if(!w.value){w.value=!0,x.value="";try{v.value=await Te().listCapabilities()}catch(Y){x.value=O(Y)}finally{w.value=!1}}}function S(){g(),k(),T()}function O(Y){return Mn(Y)&&Y.message?Y.message:t("settings.plugins.loadFailed")}Oe(()=>s.active,Y=>{Y&&!h.value&&(h.value=!0,S())},{immediate:!0});let D;ht(()=>{D=Bk(Y=>{if(Y.type==="pluginsChanged"){S();return}Ce(Y.capabilityId,Y.install),Y.install.running||(T(),g())})}),Ln(()=>{D?.()});function E(Y){return t(`settings.plugins.source.${Y}`)}function B(Y){const ve=(X,me)=>t(`settings.plugins.counts.${X}`,{n:me}),R=[];return Y.skillCount>0&&R.push(ve("skill",Y.skillCount)),Y.mcpServerCount>0&&R.push(ve("mcp",Y.mcpServerCount)),Y.enabledMcpServerCount>0&&R.push(ve("mcpEnabled",Y.enabledMcpServerCount)),Y.hookCount>0&&R.push(ve("hook",Y.hookCount)),Y.commandCount>0&&R.push(ve("command",Y.commandCount)),R.join(" · ")}async function q(Y,ve){if(!_[Y.id]){_[Y.id]=!0,m.value="";try{await Te().setPluginEnabled(Y.id,ve),await g()}catch(R){m.value=O(R)}finally{delete _[Y.id]}}}async function V(Y){m.value="";try{await n({title:t("settings.plugins.remove"),message:t("settings.plugins.confirmRemove"),variant:"danger",action:()=>Te().removePlugin(Y.id)})&&await g()}catch(ve){m.value=O(ve)}}function b(Y){return Y==="official"?t("settings.plugins.official"):Y==="third-party"?t("settings.plugins.thirdParty"):null}async function P(Y){if(!_[Y.id]){_[Y.id]=!0,m.value="";try{const ve=Y.capabilityId;ve!==void 0?(await Te().installCapability(ve,R=>{Ce(ve,R.install)}),await T()):await Te().installPlugin(Y.source),await g(),await k()}catch(ve){m.value=O(ve)}finally{delete _[Y.id]}}}const L=I(!1),ne=I(""),oe=I(!1),ge=I("");function ce(){ne.value="",ge.value="",L.value=!0}function Q(){oe.value||(L.value=!1)}async function ie(){const Y=ne.value.trim();if(!ty(Y)){ge.value=t("settings.plugins.customInstallHint");return}ge.value="",oe.value=!0;try{await Te().installPlugin(Y),L.value=!1,await g()}catch(ve){ge.value=O(ve)}finally{oe.value=!1}}function te(Y){return t(`settings.plugins.capabilityStates.${Y}`)}function ye(Y){return Y==="ready"?"success":Y==="partial"?"warning":"neutral"}function _e(Y){return ny(Y.install,Y.state)}function Ce(Y,ve){v.value=v.value.map(R=>R.id===Y?{...R,install:Nu(R.install,ve)}:R)}async function Z(Y){if(!y[Y.id]){y[Y.id]=!0,m.value="";try{await Te().installCapability(Y.id,ve=>{Ce(Y.id,ve.install)}),await T(),await g()}catch(ve){Mn(ve)&&ve.code===Ak?m.value=t("settings.plugins.capabilityStates.unsupported"):m.value=O(ve),await T()}finally{delete y[Y.id]}}}function U(Y){const ve=Y.install.percent;if(!(typeof ve!="number"||Number.isNaN(ve)))return Math.min(100,Math.max(0,Math.round(ve)))}const ke=I(It(We.pluginExtensionHintDismissed)==="1"),ae=$(()=>v.value.find(Y=>Y.id===Ia)),ee=$(()=>p.value.find(ve=>ve.capabilityId===Ia||ve.id===Ia)?.homepage),de=$(()=>{if(ke.value)return!1;const Y=ae.value;return Y!==void 0&&Y.supported&&Y.state!=="ready"});function Be(){ke.value=!0,Bt(We.pluginExtensionHintDismissed,"1")}return(Y,ve)=>(a(),c("div",QL,[de.value?(a(),G(ad,{key:0,variant:"info",class:"ext-hint"},{default:H(()=>[r("span",YL,d(l(t)("settings.plugins.extensionHintTitle")),1),ee.value?(a(),G(du,{key:0,href:ee.value,external:"",class:"ext-hint-guide"},{default:H(()=>[re(d(l(t)("settings.plugins.extensionGuide")),1)]),_:1},8,["href"])):A("",!0),M(nt,{size:"sm",class:"ext-hint-dismiss",label:l(t)("settings.plugins.dismissHint"),onClick:Be},{default:H(()=>[M(se,{name:"close",size:"sm"})]),_:1},8,["label"])]),_:1})):A("",!0),m.value?(a(),c("div",ZL,[M(se,{name:"alert-triangle",size:"sm"}),r("span",null,d(m.value),1)])):A("",!0),r("section",XL,[r("h3",JL,d(l(t)("settings.plugins.sections.installed")),1),i.value?(a(),c("div",eB,[M(Dt,{size:"sm"}),r("span",null,d(l(t)("settings.plugins.loading")),1)])):u.value?(a(),c("div",tB,[r("span",null,d(u.value),1),M(qe,{variant:"secondary",size:"sm",onClick:g},{default:H(()=>[re(d(l(t)("settings.plugins.retry")),1)]),_:1})])):o.value.length===0?(a(),G(Qo,{key:2,title:l(t)("settings.plugins.empty")},null,8,["title"])):(a(),c("div",nB,[(a(!0),c(he,null,Pe(o.value,R=>(a(),c("div",{key:R.id,class:"plug-row"},[r("div",sB,[r("div",oB,[r("span",iB,d(R.displayName||R.id),1),R.version?(a(),c("span",aB,d(R.version),1)):A("",!0),M(Ot,{variant:"neutral",size:"sm"},{default:H(()=>[re(d(E(R.source)),1)]),_:2},1024),R.hasErrors?(a(),G(Ot,{key:1,variant:"danger",size:"sm"},{default:H(()=>[re(d(l(t)("settings.plugins.hasErrors")),1)]),_:1})):A("",!0)]),B(R)?(a(),c("div",lB,d(B(R)),1)):A("",!0)]),r("div",rB,[M(ds,{"model-value":R.enabled,disabled:_[R.id]===!0,label:l(t)("settings.plugins.enabled"),"onUpdate:modelValue":X=>q(R,X)},null,8,["model-value","disabled","label","onUpdate:modelValue"]),M(qe,{variant:"danger-soft",size:"sm",disabled:_[R.id]===!0,onClick:X=>V(R)},{default:H(()=>[re(d(l(t)("settings.plugins.remove")),1)]),_:1},8,["disabled","onClick"])])]))),128))]))]),r("section",uB,[r("div",cB,[r("h3",dB,d(l(t)("settings.plugins.sections.marketplace")),1),M(qe,{variant:"secondary",size:"sm",onClick:ce},{default:H(()=>[M(se,{name:"plus",size:"sm"}),re(" "+d(l(t)("settings.plugins.customInstall")),1)]),_:1})]),f.value==="loading"?(a(),c("div",pB,[M(Dt,{size:"sm"}),r("span",null,d(l(t)("settings.plugins.loading")),1)])):f.value==="error"?(a(),c("div",fB,[r("span",null,d(l(t)("settings.plugins.catalogUnavailable")),1),M(qe,{variant:"secondary",size:"sm",onClick:k},{default:H(()=>[re(d(l(t)("settings.plugins.retry")),1)]),_:1})])):p.value.length===0?(a(),G(Qo,{key:2,title:l(t)("settings.plugins.empty")},null,8,["title"])):(a(),c("div",mB,[(a(!0),c(he,null,Pe(p.value,R=>(a(),c("div",{key:R.id,class:"plug-row"},[r("div",vB,[r("div",hB,[r("span",gB,d(R.displayName||R.id),1),b(R.tier)?(a(),G(Ot,{key:0,variant:"info",size:"sm"},{default:H(()=>[re(d(b(R.tier)),1)]),_:2},1024)):A("",!0),R.installed?(a(),G(Ot,{key:1,variant:"success",size:"sm"},{default:H(()=>[re(d(l(t)("settings.plugins.installed")),1)]),_:1})):A("",!0),R.updateAvailable?(a(),G(Ot,{key:2,variant:"warning",size:"sm"},{default:H(()=>[re(d(l(t)("settings.plugins.update")),1)]),_:1})):A("",!0)]),R.description?(a(),c("p",yB,d(R.description),1)):A("",!0),R.homepage?(a(),c("div",kB,[M(du,{href:R.homepage,external:""},{default:H(()=>[re(d(l(t)("settings.plugins.homepage")),1)]),_:1},8,["href"])])):A("",!0)]),r("div",bB,[R.updateAvailable?(a(),G(qe,{key:0,variant:"primary",size:"sm",loading:_[R.id]===!0,disabled:_[R.id]===!0,onClick:X=>P(R)},{default:H(()=>[re(d(l(t)("settings.plugins.update")),1)]),_:1},8,["loading","disabled","onClick"])):R.installed?(a(),G(qe,{key:1,variant:"secondary",size:"sm",disabled:""},{default:H(()=>[re(d(l(t)("settings.plugins.installed")),1)]),_:1})):(a(),G(qe,{key:2,variant:"primary",size:"sm",loading:_[R.id]===!0,disabled:_[R.id]===!0,onClick:X=>P(R)},{default:H(()=>[re(d(l(t)("settings.plugins.install")),1)]),_:1},8,["loading","disabled","onClick"]))])]))),128))]))]),r("section",wB,[r("h3",SB,d(l(t)("settings.plugins.sections.capabilities")),1),w.value?(a(),c("div",CB,[M(Dt,{size:"sm"}),r("span",null,d(l(t)("settings.plugins.loading")),1)])):x.value?(a(),c("div",_B,[r("span",null,d(x.value),1),M(qe,{variant:"secondary",size:"sm",onClick:T},{default:H(()=>[re(d(l(t)("settings.plugins.retry")),1)]),_:1})])):v.value.length===0?(a(),G(Qo,{key:2,title:l(t)("settings.plugins.capabilitiesUnavailable")},null,8,["title"])):(a(),c("div",$B,[(a(!0),c(he,null,Pe(v.value,R=>(a(),c("div",{key:R.id,class:"plug-row"},[r("div",MB,[r("div",xB,[r("span",IB,d(R.displayName||R.id),1),M(Ot,{variant:ye(R.state),size:"sm"},{default:H(()=>[re(d(te(R.state)),1)]),_:2},1032,["variant"])]),R.description?(a(),c("p",AB,d(R.description),1)):A("",!0),_e(R).phase==="installing"?(a(),c("div",TB,[r("span",PB,[re(d(l(t)("settings.plugins.installing"))+" ",1),_e(R).step?(a(),c(he,{key:0},[re(" · "+d(_e(R).step),1)],64)):A("",!0),U(R)!==void 0?(a(),c(he,{key:1},[re(" · "+d(U(R))+"% ",1)],64)):A("",!0)]),r("span",EB,[r("span",{class:"cap-progress-fill",style:rt({width:`${U(R)??0}%`})},null,4)])])):_e(R).phase==="error"?(a(),c("div",LB,[M(se,{name:"alert-triangle",size:"sm"}),r("span",null,d(_e(R).error),1)])):A("",!0),R.steps.length>0?(a(),c("ul",BB,[(a(!0),c(he,null,Pe(R.steps,X=>(a(),c("li",{key:X.id,class:"cap-step"},[X.state==="ok"?(a(),G(se,{key:0,name:"check",size:"sm",class:"cap-step-ok"})):X.state==="failed"?(a(),G(se,{key:1,name:"alert-triangle",size:"sm",class:"cap-step-bad"})):(a(),c("span",RB)),r("span",OB,d(X.id),1)]))),128))])):A("",!0)]),r("div",DB,[R.state!=="ready"&&R.state!=="unsupported"&&R.supported?(a(),G(qe,{key:0,variant:"primary",size:"sm",loading:y[R.id]===!0,disabled:y[R.id]===!0,onClick:X=>Z(R)},{default:H(()=>[re(d(l(t)("settings.plugins.install")),1)]),_:1},8,["loading","disabled","onClick"])):A("",!0)])]))),128))]))]),M(vs,{open:L.value,title:l(t)("settings.plugins.customInstall"),size:"md",onClose:Q},{foot:H(()=>[M(qe,{variant:"primary",size:"sm",loading:oe.value,disabled:oe.value,onClick:ie},{default:H(()=>[re(d(l(t)("settings.plugins.install")),1)]),_:1},8,["loading","disabled"]),M(qe,{variant:"secondary",size:"sm",disabled:oe.value,onClick:Q},{default:H(()=>[re(d(l(t)("common.cancel")),1)]),_:1},8,["disabled"])]),default:H(()=>[M($s,{label:l(t)("settings.plugins.customInstall"),hint:l(t)("settings.plugins.customInstallHint"),error:ge.value},{default:H(()=>[M(Kn,{modelValue:ne.value,"onUpdate:modelValue":ve[0]||(ve[0]=R=>ne.value=R),placeholder:l(t)("settings.plugins.customInstallPlaceholder"),disabled:oe.value,spellcheck:"false",autocomplete:"off",onKeyup:En(ie,["enter"])},null,8,["modelValue","placeholder","disabled"])]),_:1},8,["label","hint","error"])]),_:1},8,["open","title"])]))}}),FB=Ee(zB,[["__scopeId","data-v-8c64da0f"]]),NB=["aria-label"],qB=["aria-selected","onClick"],WB={class:"body"},HB={class:"panel"},UB={class:"sec"},VB={class:"sec-title"},jB={class:"row"},KB={class:"rlabel"},GB={class:"row"},QB={class:"rlabel"},YB={class:"row"},ZB={class:"rlabel"},XB={class:"num-field"},JB=["value","aria-label"],eR={class:"row"},tR={class:"rlabel"},nR={class:"row"},sR={class:"rlabel"},oR={class:"hint"},iR={class:"sec"},aR={class:"sec-title"},lR={class:"row"},rR={class:"rlabel"},uR={key:0,class:"hint"},cR={class:"row"},dR={class:"rlabel"},pR={key:0,class:"hint"},fR={class:"row"},mR={class:"rlabel"},vR={key:0,class:"hint"},hR={class:"row"},gR={class:"rlabel"},yR={class:"panel"},kR={class:"sec"},bR={class:"sec-title"},wR={class:"row"},SR={class:"rlabel"},CR={key:0,class:"rvalue"},_R={class:"actions"},$R={class:"panel"},MR={class:"sec"},xR={class:"sec-head"},IR={class:"sec-title"},AR={key:0,class:"saving"},TR={class:"row"},PR={class:"rlabel"},ER={class:"hint"},LR={key:0,class:"select-wrap"},BR={key:0,value:"",disabled:""},RR=["label"],OR=["value"],DR={key:1,class:"rvalue mono"},zR={class:"row"},FR={class:"rlabel"},NR={class:"hint"},qR={class:"row"},WR={class:"rlabel"},HR={class:"hint"},UR={class:"row"},VR={class:"rlabel"},jR={class:"hint"},KR={class:"row"},GR={class:"rlabel"},QR={class:"hint"},YR={key:1,class:"empty-config"},ZR={class:"panel plugins-panel"},XR={class:"panel"},JR={class:"sec"},eO={class:"sec-title"},tO={class:"row"},nO={class:"rlabel"},sO={class:"rvalue mono"},oO={class:"row"},iO={class:"rlabel"},aO={class:"rvalue mono"},lO={class:"row"},rO={class:"rlabel"},uO={class:"rvalue mono"},cO={key:0,class:"row"},dO={class:"rlabel"},pO={class:"hint"},fO={class:"hint"},mO={class:"row"},vO={class:"rlabel"},hO={key:0,class:"hint"},gO={class:"panel"},yO={class:"panel-head"},kO={class:"panel-kicker"},bO={class:"panel-title"},wO={class:"panel-desc"},SO={class:"archive-toolbar"},CO={class:"archive-search"},_O=["placeholder"],$O={value:"all"},MO=["value"],xO={key:0,class:"archive-empty"},IO={key:0,class:"archive-list"},AO={class:"archive-workspace"},TO={class:"path"},PO={class:"count"},EO={class:"setting-card"},LO={class:"archive-meta"},BO={class:"archive-name"},RO={class:"archive-time"},OO=["disabled"],DO={key:1,class:"archive-empty"},zO=50,FO=Ie({__name:"SettingsDialog",props:{colorScheme:{},accent:{},uiFontSize:{},authReady:{type:Boolean},accountModel:{},notify:{type:Boolean},notifyQuestion:{type:Boolean},notifyApproval:{type:Boolean},notifyPermission:{},sound:{type:Boolean},conversationToc:{type:Boolean},config:{},models:{},configSaving:{type:Boolean},serverVersion:{},backend:{}},emits:["setColorScheme","setAccent","setUiFontSize","setNotify","setNotifyQuestion","setNotifyApproval","setSound","setConversationToc","login","logout","openOnboarding","openProviders","updateConfig","close"],setup(e,{emit:t}){const{t:n}=Ue(),s=e,o=t,i=I("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"}],p=ep(),f=$(()=>s.backend==="v2"?"v2 (kap-server)":"v1 (server)"),v=["manual","yolo","auto"],w={manual:"status.permissionManual",auto:"status.permissionAuto",yolo:"status.permissionYolo"},x=I(null);Ol(x);function h(ae){ae.key==="Escape"&&o("close")}ht(()=>document.addEventListener("keydown",h)),kt(()=>document.removeEventListener("keydown",h));function m(){Bu()}const _=$(()=>{const ae=new Map;for(const ee of s.models??[])ae.set(ee.id,{id:ee.id,label:ee.displayName??ee.model??ee.id,provider:ee.provider});for(const[ee,de]of Object.entries(s.config?.models??{})){if(ae.has(ee))continue;const Be=k(de);ae.set(ee,{id:ee,label:T(ee,de,Be),provider:Be??ee})}return Array.from(ae.values())}),y=$(()=>{const ae=new Map;for(const ee of _.value){const de=ae.get(ee.provider)??[];de.push(ee),ae.set(ee.provider,de)}for(const ee of ae.values())ee.sort((de,Be)=>de.label.localeCompare(Be.label));return Array.from(ae.entries()).toSorted(([ee],[de])=>ee.localeCompare(de)).map(([ee,de])=>({provider:ee,options:de}))}),g=$(()=>{const ae=s.config?.defaultPermissionMode;return ae==="auto"||ae==="yolo"||ae==="manual"?ae:"manual"});function k(ae){if(!ae||typeof ae!="object")return;const ee=ae;return typeof ee.provider=="string"?ee.provider:void 0}function T(ae,ee,de){if(!ee||typeof ee!="object")return ae;const Be=ee,Y=typeof Be.model=="string"?Be.model:void 0,ve=de??k(ee);return Y&&ve?`${ae} (${ve}/${Y})`:Y?`${ae} (${Y})`:ae}function S(ae){return ae===!0}function O(ae){!ae||ae===s.config?.defaultModel||o("updateConfig",{defaultModel:ae})}function D(ae){ae!==g.value&&o("updateConfig",{defaultPermissionMode:ae})}function E(ae){const ee=s.config?.[ae];o("updateConfig",{[ae]:!S(ee)})}function B(){const ae=s.config?.thinking;return!ae||typeof ae!="object"?!0:ae.enabled!==!1}function q(){o("updateConfig",{thinking:{enabled:!B()}})}function V(){const ae=s.config?.telemetry!==!1;o("updateConfig",{telemetry:!ae})}function b(ae){i.value=ae}const P=Ji(),L=I([]),ne=I(!1),oe=I(!1),ge=I(!1),ce=I(""),Q=I("all"),ie=I("archived-desc");let te;async function ye(ae){if(!ne.value){ne.value=!0;try{const ee=await P.loadArchivedSessions({beforeId:ae?void 0:te,pageSize:zO});L.value=ae?ee.items:UL(L.value,ee.items),te=ee.items.at(-1)?.id,ge.value=ee.hasMore&&ee.items.length>0,oe.value=!0}catch(ee){console.warn("fetchArchivedPage failed",ee)}finally{ne.value=!1}}}Oe(i,ae=>{ae==="archived"&&!oe.value&&ye(!0)});const _e=$(()=>{const ae=new Set;for(const ee of L.value)ae.add(ee.cwd);return Array.from(ae).sort((ee,de)=>ee.localeCompare(de))}),Ce=$(()=>{let ae=L.value.filter(de=>de.archived===!0);Q.value!=="all"&&(ae=ae.filter(de=>de.cwd===Q.value));const ee=ce.value.trim().toLowerCase();return ee&&(ae=ae.filter(de=>de.title.toLowerCase().includes(ee))),HL(ae,ie.value)}),Z=$(()=>{const ae=new Map;for(const ee of Ce.value){const de=ae.get(ee.cwd)??[];de.push(ee),ae.set(ee.cwd,de)}return Array.from(ae.entries()).map(([ee,de])=>({cwd:ee,items:de}))});async function U(ae){await P.restoreSession(ae)&&(L.value=L.value.filter(de=>de.id!==ae))}function ke(ae){const ee=new Date(ae);if(Number.isNaN(ee.getTime()))return ae;const de=Be=>String(Be).padStart(2,"0");return`${ee.getFullYear()}-${de(ee.getMonth()+1)}-${de(ee.getDate())} ${de(ee.getHours())}:${de(ee.getMinutes())}`}return(ae,ee)=>(a(),G(vs,{open:!0,"close-on-esc":!1,title:l(n)("settings.title"),size:"xl",height:"fixed",padded:!1,onClose:ee[20]||(ee[20]=de=>o("close"))},{default:H(()=>[r("div",{ref_key:"dialogRef",ref:x,class:"sd"},[r("nav",{class:"settings-tabs",role:"tablist","aria-label":l(n)("settings.title")},[(a(),c(he,null,Pe(u,de=>r("button",{key:de.id,type:"button",class:fe(["tab",{on:i.value===de.id}]),role:"tab","aria-selected":i.value===de.id,onClick:Be=>b(de.id)},d(l(n)(de.labelKey)),11,qB)),64))],8,NB),r("div",WB,[gt(r("section",HB,[r("section",UB,[r("h3",VB,d(l(n)("settings.appearance")),1),r("div",jB,[r("span",KB,d(l(n)("theme.colorSchemeLabel")),1),M(cn,{"model-value":e.colorScheme,options:[{value:"light",label:l(n)("theme.light")},{value:"dark",label:l(n)("theme.dark")},{value:"system",label:l(n)("theme.system")}],"onUpdate:modelValue":ee[0]||(ee[0]=de=>o("setColorScheme",de))},null,8,["model-value","options"])]),r("div",GB,[r("span",QB,d(l(n)("theme.accentLabel")),1),M(cn,{"model-value":e.accent,options:[{value:"blue",label:l(n)("theme.accentBlue")},{value:"mono",label:l(n)("theme.accentBlack")}],"onUpdate:modelValue":ee[1]||(ee[1]=de=>o("setAccent",de))},null,8,["model-value","options"])]),r("div",YB,[r("span",ZB,d(l(n)("settings.uiFontSize")),1),r("label",XB,[r("input",{class:"num-input",type:"number",min:"12",max:"20",step:"1",value:e.uiFontSize,"aria-label":l(n)("settings.uiFontSize"),onInput:ee[2]||(ee[2]=de=>o("setUiFontSize",Number(de.target.value)))},null,40,JB),ee[21]||(ee[21]=r("span",{class:"num-unit"},"px",-1))])]),r("div",eR,[r("span",tR,d(l(n)("sidebar.language")),1),M(Sd)]),r("div",nR,[r("span",sR,[re(d(l(n)("settings.conversationToc"))+" ",1),r("span",oR,d(l(n)("settings.conversationTocHint")),1)]),M(ds,{"model-value":e.conversationToc??!0,label:l(n)("settings.conversationToc"),"onUpdate:modelValue":ee[3]||(ee[3]=de=>o("setConversationToc",de))},null,8,["model-value","label"])])]),r("section",iR,[r("h3",aR,d(l(n)("settings.notifications")),1),r("div",lR,[r("span",rR,[re(d(l(n)("settings.notifyOnComplete"))+" ",1),e.notifyPermission==="denied"?(a(),c("span",uR,d(l(n)("settings.notifyDenied")),1)):A("",!0)]),M(ds,{"model-value":e.notify,disabled:e.notifyPermission==="denied",label:l(n)("settings.notifyOnComplete"),"onUpdate:modelValue":ee[4]||(ee[4]=de=>o("setNotify",de))},null,8,["model-value","disabled","label"])]),r("div",cR,[r("span",dR,[re(d(l(n)("settings.notifyOnQuestion"))+" ",1),e.notifyPermission==="denied"?(a(),c("span",pR,d(l(n)("settings.notifyDenied")),1)):A("",!0)]),M(ds,{"model-value":e.notifyQuestion,disabled:e.notifyPermission==="denied",label:l(n)("settings.notifyOnQuestion"),"onUpdate:modelValue":ee[5]||(ee[5]=de=>o("setNotifyQuestion",de))},null,8,["model-value","disabled","label"])]),r("div",fR,[r("span",mR,[re(d(l(n)("settings.notifyOnApproval"))+" ",1),e.notifyPermission==="denied"?(a(),c("span",vR,d(l(n)("settings.notifyDenied")),1)):A("",!0)]),M(ds,{"model-value":e.notifyApproval,disabled:e.notifyPermission==="denied",label:l(n)("settings.notifyOnApproval"),"onUpdate:modelValue":ee[6]||(ee[6]=de=>o("setNotifyApproval",de))},null,8,["model-value","disabled","label"])]),r("div",hR,[r("span",gR,d(l(n)("settings.soundOnComplete")),1),M(ds,{"model-value":e.sound,label:l(n)("settings.soundOnComplete"),"onUpdate:modelValue":ee[7]||(ee[7]=de=>o("setSound",de))},null,8,["model-value","label"])])])],512),[[Jn,i.value==="general"]]),gt(r("section",yR,[r("section",kR,[r("h3",bR,d(l(n)("settings.account")),1),r("div",wR,[r("span",SR,d(e.authReady?"managed:kimi-code":l(n)("sidebar.notSignedIn")),1),M(ot,{text:e.accountModel},{default:H(()=>[e.authReady&&e.accountModel?(a(),c("span",CR,d(e.accountModel),1)):A("",!0)]),_:1},8,["text"])]),r("div",_R,[M(qe,{variant:"secondary",size:"sm",onClick:ee[8]||(ee[8]=de=>{o("openOnboarding"),o("close")})},{default:H(()=>[re(d(l(n)("onboarding.reopen")),1)]),_:1}),e.authReady?(a(),G(qe,{key:0,variant:"danger-soft",size:"sm",onClick:ee[9]||(ee[9]=de=>o("logout"))},{default:H(()=>[re(d(l(n)("sidebar.signOut")),1)]),_:1})):(a(),G(qe,{key:1,variant:"primary",size:"sm",onClick:ee[10]||(ee[10]=de=>o("login"))},{default:H(()=>[re(d(l(n)("sidebar.signIn")),1)]),_:1}))])])],512),[[Jn,i.value==="account"]]),gt(r("section",$R,[r("section",MR,[r("div",xR,[r("h3",IR,d(l(n)("settings.agentDefaults")),1),e.configSaving?(a(),c("span",AR,d(l(n)("settings.saving")),1)):A("",!0)]),e.config?(a(),c(he,{key:0},[r("div",TR,[r("span",PR,[re(d(l(n)("settings.defaultModel"))+" ",1),r("span",ER,d(l(n)("settings.defaultModelHint")),1)]),y.value.length>0?(a(),c("div",LR,[M(Xa,{"model-value":e.config.defaultModel??"",disabled:e.configSaving,"aria-label":l(n)("settings.defaultModel"),"onUpdate:modelValue":O},{default:H(()=>[e.config.defaultModel?A("",!0):(a(),c("option",BR,d(l(n)("settings.noDefaultModel")),1)),(a(!0),c(he,null,Pe(y.value,de=>(a(),c("optgroup",{key:de.provider,label:de.provider},[(a(!0),c(he,null,Pe(de.options,Be=>(a(),c("option",{key:Be.id,value:Be.id},d(Be.label),9,OR))),128))],8,RR))),128))]),_:1},8,["model-value","disabled","aria-label"])])):(a(),c("span",DR,d(e.config.defaultModel??l(n)("settings.noDefaultModel")),1))]),r("div",zR,[r("span",FR,[re(d(l(n)("settings.defaultPermission"))+" ",1),r("span",NR,d(l(n)("settings.defaultPermissionHint")),1)]),M(cn,{"model-value":g.value,options:v.map(de=>({value:de,label:l(n)(w[de])})),"onUpdate:modelValue":ee[11]||(ee[11]=de=>D(de))},null,8,["model-value","options"])]),r("div",qR,[r("span",WR,[re(d(l(n)("settings.defaultThinking"))+" ",1),r("span",HR,d(l(n)("settings.defaultThinkingHint")),1)]),M(ds,{"model-value":B(),disabled:e.configSaving,label:l(n)("settings.defaultThinking"),"onUpdate:modelValue":ee[12]||(ee[12]=de=>q())},null,8,["model-value","disabled","label"])]),r("div",UR,[r("span",VR,[re(d(l(n)("settings.defaultPlanMode"))+" ",1),r("span",jR,d(l(n)("settings.defaultPlanModeHint")),1)]),M(ds,{"model-value":S(e.config.defaultPlanMode),disabled:e.configSaving,label:l(n)("settings.defaultPlanMode"),"onUpdate:modelValue":ee[13]||(ee[13]=de=>E("defaultPlanMode"))},null,8,["model-value","disabled","label"])]),r("div",KR,[r("span",GR,[re(d(l(n)("settings.mergeSkills"))+" ",1),r("span",QR,d(l(n)("settings.mergeSkillsHint")),1)]),M(ds,{"model-value":S(e.config.mergeAllAvailableSkills),disabled:e.configSaving,label:l(n)("settings.mergeSkills"),"onUpdate:modelValue":ee[14]||(ee[14]=de=>E("mergeAllAvailableSkills"))},null,8,["model-value","disabled","label"])])],64)):(a(),c("div",YR,d(l(n)("settings.configUnavailable")),1))])],512),[[Jn,i.value==="agent"]]),gt(r("section",ZR,[M(FB,{active:i.value==="plugins"},null,8,["active"])],512),[[Jn,i.value==="plugins"]]),gt(r("section",XR,[r("section",JR,[r("h3",eO,d(l(n)("settings.advanced")),1),r("div",tO,[r("span",nO,d(l(n)("sidebar.daemon")),1),r("span",sO,d(l(p)),1)]),r("div",oO,[r("span",iO,d(l(n)("settings.backend")),1),r("span",aO,d(f.value),1)]),r("div",lO,[r("span",rO,d(l(n)("settings.serverVersion")),1),r("span",uO,d(e.serverVersion||"-"),1)]),e.config?(a(),c("div",cO,[r("span",dO,[re(d(l(n)("settings.telemetry"))+" ",1),r("span",pO,d(l(n)("settings.telemetryHint")),1),r("span",fO,d(l(n)("settings.telemetryRestartHint")),1)]),M(ds,{"model-value":e.config.telemetry!==!1,disabled:e.configSaving,label:l(n)("settings.telemetry"),"onUpdate:modelValue":ee[15]||(ee[15]=de=>V())},null,8,["model-value","disabled","label"])])):A("",!0),r("div",mO,[r("span",vO,[re(d(l(n)("settings.exportLog"))+" ",1),l(ts)()?A("",!0):(a(),c("span",hO,d(l(n)("settings.logHint")),1))]),M(qe,{variant:"secondary",size:"sm",onClick:m},{default:H(()=>[re(d(l(n)("settings.exportLogBtn")),1)]),_:1})])])],512),[[Jn,i.value==="advanced"]]),gt(r("section",gO,[r("div",yO,[r("div",kO,d(l(n)("settings.archivedTitle")),1),r("h4",bO,d(l(n)("settings.archivedTitle")),1),r("p",wO,d(l(n)("settings.archivedDesc")),1)]),r("div",SO,[r("label",CO,[M(se,{name:"search",size:"sm"}),gt(r("input",{"onUpdate:modelValue":ee[16]||(ee[16]=de=>ce.value=de),placeholder:l(n)("settings.archivedSearch")},null,8,_O),[[qn,ce.value]])]),M(Xa,{"model-value":Q.value,size:"sm","aria-label":l(n)("settings.archivedAllWorkspaces"),"onUpdate:modelValue":ee[17]||(ee[17]=de=>Q.value=de)},{default:H(()=>[r("option",$O,d(l(n)("settings.archivedAllWorkspaces")),1),(a(!0),c(he,null,Pe(_e.value,de=>(a(),c("option",{key:de,value:de},d(de),9,MO))),128))]),_:1},8,["model-value","aria-label"]),M(cn,{size:"sm","model-value":ie.value,options:[{value:"archived-desc",label:l(n)("settings.archivedSortArchived")},{value:"created-desc",label:l(n)("settings.archivedSortCreated")},{value:"name-asc",label:l(n)("settings.archivedSortName")}],"onUpdate:modelValue":ee[18]||(ee[18]=de=>ie.value=de)},null,8,["model-value","options"])]),ne.value&&!oe.value?(a(),c("div",xO,d(l(n)("settings.archivedLoadingAll")),1)):(a(),c(he,{key:1},[Z.value.length>0?(a(),c("div",IO,[(a(!0),c(he,null,Pe(Z.value,de=>(a(),c("section",{key:de.cwd,class:"archive-card"},[r("div",AO,[M(se,{name:"folder-closed",size:"sm"}),r("span",TO,d(de.cwd),1),r("span",PO,d(l(n)("settings.archivedSessionsCount",{count:de.items.length})),1)]),r("div",EO,[(a(!0),c(he,null,Pe(de.items,Be=>(a(),c("div",{key:Be.id,class:"archive-row"},[r("div",LO,[r("div",BO,d(Be.title),1),r("div",RO,d(l(n)("settings.archivedAt",{time:ke(Be.updatedAt)})),1)]),M(qe,{variant:"secondary",size:"sm",onClick:Y=>U(Be.id)},{default:H(()=>[re(d(l(n)("settings.archivedRestore")),1)]),_:1},8,["onClick"])]))),128))])]))),128)),ge.value?(a(),c("button",{key:0,class:"archive-load-more",disabled:ne.value,onClick:ee[19]||(ee[19]=de=>ye(!1))},d(ne.value?l(n)("settings.archivedLoading"):l(n)("settings.archivedLoadMore")),9,OO)):A("",!0)])):(a(),c("div",DO,d(L.value.length===0?l(n)("settings.archivedEmpty"):l(n)("settings.archivedNoMatch")),1))],64))],512),[[Jn,i.value==="archived"]])])],512)]),_:1},8,["title"]))}}),NO=Ee(FO,[["__scopeId","data-v-ace56012"]]),qO=/^(?:\/|~(?:\/|$)|[A-Za-z]:[\\/]|\\\\)/,Cd=/^[A-Za-z]:[\\/]/,WO=/^\/\/(?!\/)/;function Aa(e){return qO.test(e.trim())}function HO(e,t){return e==="~"?t||e:e.startsWith("~/")?(t||"~")+e.slice(1):e}function UO(e){return WO.test(e)?`//${e.slice(2).replaceAll(/\/{2,}/g,"/")}`:e.replaceAll(/\/{2,}/g,"/")}function VO(e){return Cd.test(e)||e.startsWith("\\\\")||e.startsWith("//")}function jO(e){return Cd.test(e)?3:e.startsWith("\\\\")||e.startsWith("//")?2:e.startsWith("/")?1:0}function el(e,t){let n=UO(HO(e.trim(),t));const s=VO(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?"\\":"/",w=jO(n),x=fx.value.trim().length>0);let y=0,g=null;const k=$(()=>Aa(x.value)),T=I("idle"),S=I(""),O=I("/"),D=I([]),E=I(""),B=I(null),q=I(null),V=$(()=>T.value!=="valid"?null:GO(x.value,E.value,q.value));let b=0,P=null;function L(ke,ae){const ee=ke.toLowerCase(),de=ae.toLowerCase();let Be=0;for(let Y=0;Y0&&ve=pu))break;R.depth+1{g&&clearTimeout(g),P&&clearTimeout(P),b++,T.value="idle",D.value=[],q.value=null;const ae=ke.trim();if(ae===""){y++,m.value=[],h.value=!1;return}if(Aa(ae)){if(y++,m.value=[],h.value=!1,p.value)return;T.value="checking",P=setTimeout(()=>void oe(ae),150);return}g=setTimeout(()=>void ne(ke),220)});async function oe(ke){const ae=++b;T.value="checking",q.value=null;const ee=el(ke,E.value),{target:de}=ee;try{const Y=await s.browseFs(de);if(ae!==b)return;if(Y.path){T.value="valid",D.value=[],q.value=de,f.value=Y.path,v.value=Y.parent,w.value=Y.entries,p.value=!1;return}}catch{}if(ae!==b)return;const Be=ee.base.toLowerCase();S.value=ee.parent,O.value=ee.separator;try{const Y=await s.browseFs(ee.parent);if(ae!==b)return;if(Y.path){D.value=Y.entries.filter(ve=>ve.isDir&&ve.name.toLowerCase().startsWith(Be)),T.value="not-found";return}}catch{}ae===b&&(D.value=[],T.value="bad-parent")}function ge(ke){x.value=KO(S.value,ke,O.value),B.value?.focus()}const ce=$(()=>p.value?n("workspace.degradedPlaceholder"):n("workspace.searchPlaceholder")),Q=$(()=>p.value?n("workspace.degradedHint"):k.value&&T.value==="valid"?n("workspace.pathFollowHint"):n("workspace.browseHint"));function ie(ke){if(ke.key==="Escape"){x.value?x.value="":o("close");return}if(ke.key!=="Enter")return;const ae=x.value.trim();if(Aa(ae)){if(ke.preventDefault(),p.value){const{target:ee}=el(ae,E.value);ee&&o("add",ee);return}T.value==="valid"?U():T.value==="not-found"&&D.value[0]&&ge(D.value[0].name)}}const te=$(()=>{const ke=f.value;if(!ke)return[];const ae=ke.split("/").filter(Boolean),ee=[{label:"/",path:"/"}];let de="";for(const Be of ae)de+=`/${Be}`,ee.push({label:Be,path:de});return ee}),ye=$(()=>!(f.value.length===0||k.value&&V.value===null));async function _e(ke){u.value=!0;try{const ae=await s.browseFs(ke);if(!ae.path){p.value=!0;return}f.value=ae.path,v.value=ae.parent,w.value=ae.entries,x.value="",p.value=!1}catch{p.value=!0}finally{u.value=!1}}function Ce(ke){ke.isDir&&_e(ke.path)}function Z(){v.value&&_e(v.value)}function U(){ye.value&&o("add",V.value??f.value)}return ht(async()=>{u.value=!0;try{const ke=await s.getFsHome().catch(()=>({home:"",recentRoots:[]}));if(ke.home&&(E.value=ke.home),s.defaultPath&&(await _e(s.defaultPath),!p.value))return;E.value?await _e(E.value):p.value=!0}catch{p.value=!0}finally{u.value=!1}}),kt(()=>{g&&clearTimeout(g),P&&clearTimeout(P)}),(ke,ae)=>(a(),G(vs,{open:i.value,"onUpdate:open":ae[2]||(ae[2]=ee=>i.value=ee),title:l(n)("workspace.addTitle"),size:"lg",height:"fixed",onClose:ae[3]||(ae[3]=ee=>o("close"))},{default:H(()=>[r("div",QO,[p.value?A("",!0):(a(),c("div",YO,[M(nt,{size:"sm",disabled:!v.value,label:l(n)("workspace.up"),onClick:Z},{default:H(()=>[M(se,{name:"arrow-up",size:"md"})]),_:1},8,["disabled","label"]),r("div",ZO,[(a(!0),c(he,null,Pe(te.value,(ee,de)=>(a(),c(he,{key:ee.path},[de>1?(a(),c("span",XO,"/")):A("",!0),r("button",{class:fe(["crumb",{last:de===te.value.length-1}]),onClick:Be=>_e(ee.path)},d(ee.label),11,JO)],64))),128))])])),!u.value||p.value?(a(),c("div",{key:1,class:fe(["filterbar",{"has-error":T.value==="not-found"||T.value==="bad-parent"}])},[M(se,{class:"filter-icon",name:"search",size:"md"}),gt(r("input",{ref_key:"filterEl",ref:B,"onUpdate:modelValue":ae[0]||(ae[0]=ee=>x.value=ee),class:"filter-input",type:"text",placeholder:ce.value,autocomplete:"off",spellcheck:"false",onKeydown:Re(ie,["stop"])},null,40,eD),[[qn,x.value]]),h.value||T.value==="checking"?(a(),G(Dt,{key:0,size:"sm"})):A("",!0)],2)):A("",!0),p.value?(a(),c("div",hD,d(l(n)("workspace.degradedHint")),1)):(a(),c("div",tD,[u.value?(a(),c("div",nD,d(l(n)("workspace.browsing")),1)):k.value&&T.value!=="valid"?(a(),c(he,{key:1},[T.value==="checking"?(a(),c("div",sD,d(l(n)("workspace.checkingPath")),1)):T.value==="not-found"?(a(),c(he,{key:1},[D.value.length>0?(a(),c("div",oD,d(l(n)("workspace.pathPickHint")),1)):A("",!0),(a(!0),c(he,null,Pe(D.value,ee=>(a(),c("button",{key:ee.path,class:"folder-row",onClick:de=>ge(ee.name)},[M(se,{class:"dir-icon",name:"folder-closed",size:"sm"}),r("span",aD,d(ee.name),1)],8,iD))),128)),D.value.length===0?(a(),c("div",lD,d(l(n)("workspace.noPathMatch",{parent:S.value})),1)):A("",!0)],64)):T.value==="bad-parent"?(a(),c("div",rD,d(l(n)("workspace.badParent",{parent:S.value})),1)):A("",!0)],64)):_.value&&!k.value?(a(),c(he,{key:2},[(a(!0),c(he,null,Pe(m.value,ee=>(a(),c("button",{key:ee.path,class:"folder-row",onClick:de=>_e(ee.path)},[M(se,{class:"dir-icon",name:"folder-closed",size:"sm"}),r("span",cD,d(ee.rel),1)],8,uD))),128)),!h.value&&m.value.length===0?(a(),c("div",dD,d(l(n)("workspace.noFilterMatch",{q:x.value.trim()})),1)):h.value&&m.value.length===0?(a(),c("div",pD,d(l(n)("workspace.searching")),1)):A("",!0)],64)):(a(),c(he,{key:3},[(a(!0),c(he,null,Pe(w.value,ee=>(a(),c("button",{key:ee.path,class:"folder-row",onClick:de=>Ce(ee)},[M(se,{class:"dir-icon",name:"folder-closed",size:"sm"}),r("span",mD,d(ee.name),1)],8,fD))),128)),w.value.length===0?(a(),c("div",vD,d(l(n)("workspace.noSubfolders")),1)):A("",!0)],64))])),e.error?(a(),c("div",gD,d(e.error),1)):A("",!0),r("div",yD,[M(ot,{text:f.value},{default:H(()=>[p.value?A("",!0):(a(),G(qe,{key:0,variant:"primary",disabled:!ye.value,onClick:U},{default:H(()=>[re(d(l(n)("workspace.openThisFolder")),1)]),_:1},8,["disabled"]))]),_:1},8,["text"]),M(qe,{variant:"secondary",onClick:ae[1]||(ae[1]=ee=>o("close"))},{default:H(()=>[re(d(l(n)("workspace.cancel")),1)]),_:1})]),r("div",kD,d(Q.value),1)])]),_:1},8,["open","title"]))}}),CD=Ee(SD,[["__scopeId","data-v-a2c2e0eb"]]),_D={key:0,class:"confirm-dialog__message"},$D=Ie({__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}=Ue();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),Ln(()=>{typeof window<"u"&&window.removeEventListener("keydown",u)}),(p,f)=>(a(),G(vs,{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:H(()=>[M(qe,{variant:"secondary",disabled:e.loading,onClick:i},{default:H(()=>[re(d(e.cancelLabel??l(o)("common.cancel")),1)]),_:1},8,["disabled"]),M(qe,{class:"confirm-dialog__confirm",variant:e.variant,loading:e.loading,onClick:f[0]||(f[0]=v=>s("confirm"))},{default:H(()=>[re(d(e.confirmLabel??l(o)("common.confirm")),1)]),_:1},8,["variant","loading"])]),default:H(()=>[e.message?(a(),c("p",_D,d(e.message),1)):A("",!0)]),_:1},8,["open","title","close-on-esc","close-on-overlay"]))}}),MD=Ee($D,[["__scopeId","data-v-2e719024"]]),xD=Ie({__name:"ConfirmDialogHost",setup(e){const{current:t,busy:n,settle:s,runAction:o}=go();function i(){o()}return(u,p)=>(a(),G(MD,{open:l(t)!==null,title:l(t)?.title??"",message:l(t)?.message,"confirm-label":l(t)?.confirmLabel,"cancel-label":l(t)?.cancelLabel,variant:l(t)?.variant,loading:l(n),onConfirm:i,onCancel:p[0]||(p[0]=f=>l(s)(!1))},null,8,["open","title","message","confirm-label","cancel-label","variant","loading"]))}}),ID={class:"rows"},AD={class:"row"},TD={class:"row"},PD={class:"row"},ED={class:"row"},LD={class:"row"},BD={class:"row"},RD={class:"row"},OD={class:"ctx-text"},DD={key:0,class:"bar"},zD={class:"row"},FD=Ie({__name:"StatusPanel",props:{status:{},thinking:{},planMode:{type:Boolean},swarmMode:{type:Boolean},supermoonMode:{type:Boolean},costUsd:{}},emits:["close"],setup(e,{emit:t}){const{t:n}=Ue(),s=e,o=t,i=I(!0),u=$(()=>s.status.ctxMax<=0?0:Math.min(100,Math.max(0,Math.ceil(s.status.ctxUsed/s.status.ctxMax*100)))),p=$(()=>s.status.ctxMax>0?n("status.statusContextValue",{used:ms(s.status.ctxUsed),max:ms(s.status.ctxMax),pct:u.value}):n("status.statusNone"));function f(y){return n(y==="yolo"?"status.permissionYolo":y==="auto"?"status.permissionAuto":"status.permissionManual")}const v=$(()=>{const y=s.status.permission;return y==="yolo"?"var(--color-warning)":y==="auto"?"var(--color-danger)":"var(--color-text)"}),w=$(()=>s.planMode?n("status.planOn"):n("status.planOff")),x=$(()=>s.swarmMode?n("status.swarmOn"):n("status.swarmOff")),h=$(()=>s.supermoonMode?n("status.supermoonOn"):n("status.supermoonOff")),m=$(()=>typeof s.costUsd=="number"&&s.costUsd>0),_=$(()=>m.value?`$${s.costUsd.toFixed(4)}`:n("status.statusNone"));return(y,g)=>(a(),G(vs,{open:i.value,"onUpdate:open":g[0]||(g[0]=k=>i.value=k),title:l(n)("status.statusPanelTitle"),onClose:g[1]||(g[1]=k=>o("close"))},{default:H(()=>[r("dl",ID,[r("div",AD,[r("dt",null,d(l(n)("status.statusModel")),1),r("dd",null,d(e.status.model),1)]),r("div",TD,[r("dt",null,d(l(n)("status.statusThinking")),1),r("dd",null,d(e.thinking),1)]),r("div",PD,[r("dt",null,d(l(n)("status.statusPermission")),1),r("dd",{style:rt({color:v.value})},d(f(e.status.permission)),5)]),r("div",ED,[r("dt",null,d(l(n)("status.statusPlanMode")),1),r("dd",{class:fe({"plan-on":e.planMode})},d(w.value),3)]),r("div",LD,[r("dt",null,d(l(n)("status.statusSwarmMode")),1),r("dd",{class:fe({"swarm-on":e.swarmMode})},d(x.value),3)]),r("div",BD,[r("dt",null,d(l(n)("status.statusSupermoonMode")),1),r("dd",{class:fe({"supermoon-on":e.supermoonMode})},d(h.value),3)]),r("div",RD,[r("dt",null,d(l(n)("status.statusContext")),1),r("dd",null,[r("span",OD,d(p.value),1),e.status.ctxMax>0?(a(),c("span",DD,[r("i",{style:rt({width:u.value+"%"})},null,4)])):A("",!0)])]),r("div",zD,[r("dt",null,d(l(n)("status.statusCost")),1),r("dd",null,d(_.value),1)])])]),_:1},8,["open","title"]))}}),ND=Ee(FD,[["__scopeId","data-v-5ba9ba29"]]),qD={class:"ui-toast__icon","aria-hidden":"true"},WD={class:"ui-toast__body"},HD={class:"ui-toast__title"},UD={key:0,class:"ui-toast__msg"},VD=Ie({__name:"Toast",props:{variant:{default:"info"},title:{},message:{},dismissLabel:{default:"Dismiss"}},emits:["dismiss"],setup(e){return(t,n)=>(a(),c("div",{class:fe(["ui-toast",`ui-toast--${e.variant}`])},[r("span",qD,[yt(t.$slots,"icon",{},()=>[e.variant==="success"?(a(),G(se,{key:0,name:"check"})):e.variant==="danger"?(a(),G(se,{key:1,name:"close"})):e.variant==="warning"?(a(),G(se,{key:2,name:"alert-triangle"})):(a(),G(se,{key:3,name:"info"}))],!0)]),r("div",WD,[r("div",HD,d(e.title),1),e.message?(a(),c("div",UD,d(e.message),1)):A("",!0),yt(t.$slots,"default",{},void 0,!0)]),M(nt,{class:"ui-toast__close",size:"sm",label:e.dismissLabel,onClick:n[0]||(n[0]=s=>t.$emit("dismiss"))},{default:H(()=>[M(se,{name:"close",size:"sm"})]),_:1},8,["label"])],2))}}),jD=Ee(VD,[["__scopeId","data-v-adc6f346"]]),KD={key:0,class:"actions"},GD=["onClick"],QD=["onClick"],YD={key:1,class:"details"},ZD=Ie({__name:"WarningToasts",props:{warnings:{}},emits:["dismiss"],setup(e,{emit:t}){const n=e,s=t,{t:o}=Ue();function i(b){return typeof b=="object"&&b!==null}function u(b){return i(b)?b.title:b}function p(b){return i(b)?b.message??"":""}function f(b){return i(b)?b.details:void 0}function v(b){return i(b)?b.severity==="error":b.startsWith(`${o("warnings.errorLabel")}:`)||/\b4\d\d\b|error|失败|failed/i.test(b)}function w(b){if(!i(b))return v(b)?"danger":"warning";switch(b.severity){case"error":return"danger";case"success":return"success";case"info":return"info";default:return"warning"}}function x(b){return i(b)&&b.sticky===!0}function h(b){return i(b)?`notice:${b.severity}:${b.title}:${b.message??""}:${JSON.stringify(b.details??[])}`:`text:${b}`}function m(b){if(!i(b))return b;const P=[b.title];b.message&&P.push(b.message);const L=b.details??[];if(L.length>0){P.push("",`${o("warnings.diagnostics")}:`);for(const ne of L)P.push(`${ne.label}: ${ne.value}`)}return P.join(`
-`)}let _=1;const y=I([]),g=new Map,k=new Map;function T(b){const P=v(b)?12e3:6e3;return typeof window<"u"&&window.matchMedia?.("(hover: none)").matches===!0?P+5e3:P}function S(b,P){const L=g.get(b)??{handle:null,deadline:0,remaining:0};L.handle=setTimeout(()=>V(b),P),L.deadline=Date.now()+P,g.set(b,L)}function O(b){const P=g.get(b);P&&P.handle!==null&&clearTimeout(P.handle),g.delete(b)}function D(b){const P=g.get(b);!P||P.handle===null||(clearTimeout(P.handle),P.handle=null,P.remaining=Math.max(0,P.deadline-Date.now()))}function E(b){if(y.value.find(ne=>ne.id===b)?.detailsOpen)return;const L=g.get(b);!L||L.handle!==null||S(b,L.remaining)}function B(b){b.detailsOpen=!b.detailsOpen,b.detailsOpen?D(b.id):E(b.id)}async function q(b){if(!await un(m(b.warning)))return;b.copied=!0;const L=k.get(b.id);L&&clearTimeout(L),k.set(b.id,setTimeout(()=>{b.copied=!1,k.delete(b.id)},1400))}function V(b){O(b);const P=k.get(b);P&&clearTimeout(P),k.delete(b);const L=y.value.findIndex(ne=>ne.id===b);L!==-1&&(y.value=y.value.filter(ne=>ne.id!==b),s("dismiss",L))}return Oe(()=>n.warnings,b=>{const P=[...y.value];y.value=b.map(L=>{const ne=h(L),oe=P.findIndex(Q=>Q.key===ne),ge=oe===-1?void 0:P.splice(oe,1)[0];if(ge)return ge.warning=L,ge;const ce={id:_++,key:ne,warning:L,detailsOpen:!1,copied:!1};return x(L)||S(ce.id,T(L)),ce});for(const L of P){O(L.id);const ne=k.get(L.id);ne&&clearTimeout(ne),k.delete(L.id)}},{immediate:!0,flush:"post"}),kt(()=>{g.forEach(b=>{b.handle!==null&&clearTimeout(b.handle)}),g.clear(),k.forEach(b=>clearTimeout(b)),k.clear()}),(b,P)=>(a(),G(Ed,{name:"toast",tag:"div",class:"toasts",role:"status","aria-live":"polite"},{default:H(()=>[(a(!0),c(he,null,Pe(y.value,L=>(a(),G(jD,{key:L.id,variant:w(L.warning),title:u(L.warning),message:p(L.warning),"dismiss-label":l(o)("warnings.dismiss"),onDismiss:ne=>V(L.id),onPointerenter:ne=>D(L.id),onPointerleave:ne=>E(L.id)},{default:H(()=>[f(L.warning)?.length?(a(),c("div",KD,[r("button",{class:"link",type:"button",onClick:ne=>B(L)},d(L.detailsOpen?l(o)("warnings.hideDetails"):l(o)("warnings.showDetails")),9,GD),r("button",{class:"link",type:"button",onClick:ne=>q(L)},d(L.copied?l(o)("warnings.copied"):l(o)("warnings.copyDetails")),9,QD)])):A("",!0),L.detailsOpen&&f(L.warning)?.length?(a(),c("dl",YD,[(a(!0),c(he,null,Pe(f(L.warning),ne=>(a(),c("div",{key:`${ne.label}:${ne.value}`,class:"detail-row"},[r("dt",null,d(ne.label),1),r("dd",null,d(ne.value),1)]))),128))])):A("",!0)]),_:2},1032,["variant","title","message","dismiss-label","onDismiss","onPointerenter","onPointerleave"]))),128))]),_:1}))}}),XD=Ee(ZD,[["__scopeId","data-v-c92be17a"]]),JD={class:"topbar"},ez={class:"wsq"},tz=["aria-label"],nz={class:"tb-path"},sz={class:"ws"},oz={class:"se"},iz={class:"tb-sub"},az=Ie({__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}=Ue(),s=e,o=t,i=$(()=>{const f=s.workspace,w=(f?.name||f?.root||"").trim().charAt(0);return w?w.toUpperCase():"K"}),u=$(()=>s.workspace?.name??n("workspace.noWorkspace")),p=$(()=>s.running?n("mobile.running"):n("mobile.idle"));return(f,v)=>(a(),c("div",JD,[r("span",ez,d(i.value),1),r("button",{type:"button",class:"tb-mid","aria-label":l(n)("mobile.openSwitcher"),onClick:v[0]||(v[0]=w=>o("openSwitcher"))},[r("span",nz,[r("span",sz,d(u.value),1),e.sessionTitle?(a(),c(he,{key:0},[v[2]||(v[2]=r("span",{class:"sl"},"/",-1)),r("span",oz,d(e.sessionTitle),1)],64)):A("",!0),v[3]||(v[3]=r("span",{class:"cv"},"⌄",-1))]),r("span",iz,[r("span",{class:fe(["rd",{on:e.running}])},null,2),r("span",null,d(p.value),1),e.branch?(a(),c(he,{key:0},[re(" · "+d(e.branch),1)],64)):A("",!0),e.sessionCount>0?(a(),c(he,{key:1},[re(" · "+d(l(n)("mobile.sessionCount",{n:e.sessionCount})),1)],64)):A("",!0)])],8,tz),M(nt,{size:"lg",label:l(n)("mobile.openSettings"),onClick:v[1]||(v[1]=w=>o("openSettings"))},{default:H(()=>[M(se,{name:"sliders",size:"lg"})]),_:1},8,["label"])]))}}),lz=Ee(az,[["__scopeId","data-v-6b4b901f"]]),rz={key:0,class:"sheet-root"},uz=["aria-label"],cz=["aria-label"],dz={key:0,class:"sheet-head"},pz={class:"sheet-title"},fz={class:"sheet-body"},mz=Ie({__name:"BottomSheet",props:{modelValue:{type:Boolean},title:{default:""}},emits:["update:modelValue","close"],setup(e,{emit:t}){const{t:n}=Ue(),s=e,o=t;function i(){o("update:modelValue",!1),o("close")}function u(p){p.key==="Escape"&&i()}return Oe(()=>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)=>(a(),G(Yo,{name:"sheet"},{default:H(()=>[e.modelValue?(a(),c("div",rz,[r("div",{class:"sheet-scrim",onClick:i}),r("div",{class:"sheet-panel",role:"dialog","aria-label":e.title||l(n)("mobile.sheetLabel")},[r("button",{type:"button",class:"sheet-grab","aria-label":l(n)("mobile.closeSheet"),onClick:i},null,8,cz),e.title?(a(),c("div",dz,[r("span",pz,d(e.title),1)])):A("",!0),r("div",fz,[yt(p.$slots,"default",{},void 0,!0)])],8,uz)])):A("",!0)]),_:3}))}}),_d=Ee(mz,[["__scopeId","data-v-745ee5a2"]]),vz={class:"mlist"},hz={key:0,class:"mempty"},gz=["onClick"],yz={class:"mgh-main"},kz={class:"mgh-name"},bz={class:"mgh-path"},wz={key:2,class:"att"},Sz={key:0,class:"mempty small"},Cz=["onClick"],_z={class:"m"},$z={class:"s"},Mz={key:0,class:"att"},xz=["disabled","onClick"],Iz=["onClick"],Az=Ie({__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}=Ue(),s=e,o=t;function i(){o("update:modelValue",!1)}function u(P){o("select",P),i()}function p(P){o("createInWorkspace",P),i()}function f(){o("create"),i()}function v(){o("addWorkspace"),i()}const w=I(new Set);function x(P){return w.value.has(P)}function h(P){const L=new Set(w.value);L.has(P)?L.delete(P):L.add(P),w.value=L,S.value=null,B.value=null}const m=I(new Set);function _(P){return m.value.has(P)}function y(P){const L=new Set(m.value);L.has(P)?L.delete(P):L.add(P),m.value=L}function g(P){if(_(P.workspace.id))return P.sessions;const L=P.sessions.slice(0,P.initialCount);if(s.activeId&&!L.some(ne=>ne.id===s.activeId)){const ne=P.sessions.find(oe=>oe.id===s.activeId);if(ne)return[...L,ne]}return L}function k(P){if(!m.value.has(P)){const L=new Set(m.value);L.add(P),m.value=L}o("loadMore",P)}function T(P){return s.attentionByWorkspace[P]??0}const S=I(null);function O(P){S.value=S.value===P?null:P,B.value=null}function D(P){S.value=null;const ne=(typeof window<"u"?window.prompt(n("sidebar.rename"),P.title):null)?.trim();ne&&o("rename",P.id,ne)}function E(P){S.value=null,o("archive",P)}const B=I(null);function q(P){B.value=B.value===P?null:P,S.value=null}function V(P){un(P.root),B.value=null}function b(P){B.value=null,o("deleteWorkspace",P.id)}return(P,L)=>(a(),G(_d,{"model-value":e.modelValue,"onUpdate:modelValue":L[2]||(L[2]=ne=>o("update:modelValue",ne))},{default:H(()=>[r("button",{type:"button",class:"newrow",onClick:f},[M(se,{name:"message",size:"sm"}),re(" "+d(l(n)("sidebar.newChat")),1)]),r("button",{type:"button",class:"newrow secondary",onClick:v},[M(se,{name:"folder",size:"sm"}),re(" "+d(l(n)("sidebar.newWorkspace")),1)]),r("div",vz,[e.groups.length===0?(a(),c("div",hz,d(l(n)("workspace.noWorkspace")),1)):A("",!0),(a(!0),c(he,null,Pe(e.groups,ne=>(a(),c("div",{key:ne.workspace.id,class:"mgroup"},[r("div",{class:fe(["mgh",{on:ne.workspace.id===e.activeWorkspaceId}]),onClick:oe=>h(ne.workspace.id)},[x(ne.workspace.id)?(a(),G(se,{key:0,class:"mgh-folder",name:"folder-closed",size:"sm"})):(a(),G(se,{key:1,class:"mgh-folder",name:"folder",size:"sm"})),r("div",yz,[r("span",kz,d(ne.workspace.name),1),M(ot,{text:ne.workspace.root},{default:H(()=>[r("span",bz,d(ne.workspace.shortPath),1)]),_:2},1032,["text"])]),x(ne.workspace.id)&&T(ne.workspace.id)>0?(a(),c("span",wz,d(T(ne.workspace.id)),1)):A("",!0),M(nt,{size:"lg",class:"mgh-more",label:l(n)("sidebar.options"),onClick:Re(oe=>q(ne.workspace.id),["stop"])},{default:H(()=>[M(se,{name:"dots-horizontal",size:"md"})]),_:1},8,["label","onClick"]),M(nt,{size:"lg",class:"mgh-add",label:l(n)("workspace.newInGroup"),onClick:Re(oe=>p(ne.workspace.id),["stop"])},{default:H(()=>[M(se,{name:"plus",size:"md"})]),_:1},8,["label","onClick"]),B.value===ne.workspace.id?(a(),G(Hs,{key:3,class:"kmenu wsmenu",onClick:L[0]||(L[0]=Re(()=>{},["stop"]))},{default:H(()=>[M(dt,{size:"lg",onClick:oe=>V(ne.workspace)},{default:H(()=>[re(d(l(n)("sidebar.copyPath")),1)]),_:1},8,["onClick"]),M(dt,{size:"lg",danger:"",onClick:oe=>b(ne.workspace)},{default:H(()=>[re(d(l(n)("sidebar.delete")),1)]),_:1},8,["onClick"])]),_:2},1024)):A("",!0)],10,gz),gt(r("div",null,[ne.sessions.length===0?(a(),c("div",Sz,d(l(n)("sidebar.noSessions")),1)):A("",!0),(a(!0),c(he,null,Pe(g(ne),oe=>(a(),c("div",{key:oe.id,class:fe(["srow",{cur:oe.id===e.activeId}]),onClick:ge=>u(oe.id)},[r("div",_z,[r("div",{class:fe(["t",{run:oe.busy,aborted:!oe.busy&&(e.attentionBySession[oe.id]??0)===0&&l(Iu)(oe)}])},d(oe.title),3),r("div",$z,d(oe.time),1)]),(e.attentionBySession[oe.id]??0)>0?(a(),c("span",Mz,d(e.attentionBySession[oe.id]),1)):A("",!0),M(nt,{size:"lg",class:"kb",label:l(n)("sidebar.options"),onClick:Re(ge=>O(oe.id),["stop"])},{default:H(()=>[M(se,{name:"dots-horizontal",size:"md"})]),_:1},8,["label","onClick"]),S.value===oe.id?(a(),G(Hs,{key:1,class:"kmenu",onClick:L[1]||(L[1]=Re(()=>{},["stop"]))},{default:H(()=>[M(dt,{size:"lg",onClick:ge=>D(oe)},{default:H(()=>[re(d(l(n)("sidebar.rename")),1)]),_:1},8,["onClick"]),M(dt,{size:"lg",danger:"",onClick:ge=>E(oe.id)},{default:H(()=>[re(d(l(n)("sidebar.archive")),1)]),_:1},8,["onClick"])]),_:2},1024)):A("",!0)],10,Cz))),128)),ne.hasMore||ne.loadingMore?(a(),c("button",{key:1,type:"button",class:"mshow-more",disabled:ne.loadingMore,onClick:Re(oe=>k(ne.workspace.id),["stop"])},d(ne.loadingMore?l(n)("sidebar.loadingMore"):l(n)("sidebar.showMore",{count:Math.max(0,ne.workspace.sessionCount-ne.sessions.length)})),9,xz)):A("",!0),ne.sessions.length>ne.initialCount?(a(),c("button",{key:2,type:"button",class:"mshow-more",onClick:Re(oe=>y(ne.workspace.id),["stop"])},d(_(ne.workspace.id)?l(n)("sidebar.showLess"):l(n)("sidebar.showAll",{count:ne.sessions.length-ne.initialCount})),9,Iz)):A("",!0)],512),[[Jn,!x(ne.workspace.id)]])]))),128))])]),_:1},8,["model-value"]))}}),Tz=Ee(Az,[["__scopeId","data-v-53fda211"]]),Pz={class:"group-title"},Ez={class:"srow-main"},Lz={class:"srow-label"},Bz={class:"srow-sub"},Rz={class:"srow read-only"},Oz={class:"srow-main"},Dz={class:"srow-label"},zz={key:0,class:"srow-sub"},Fz={class:"cache-note"},Nz={class:"srow-main"},qz={class:"srow-label"},Wz={class:"srow-sub"},Hz=["aria-checked"],Uz={class:"srow-main"},Vz={class:"srow-label"},jz={class:"srow-sub"},Kz=["aria-checked"],Gz={class:"srow-main"},Qz={class:"srow-label"},Yz={class:"srow-sub"},Zz=["aria-checked"],Xz={class:"srow-main"},Jz={class:"srow-label"},eF={class:"srow-sub"},tF=["aria-checked"],nF={class:"srow-main"},sF={class:"srow-label"},oF={class:"srow read-only"},iF={class:"srow-main"},aF={class:"srow-label"},lF={class:"srow-sub"},rF=["aria-label"],uF={class:"group-title"},cF={class:"srow-main"},dF={class:"srow-label"},pF={class:"srow-sub"},fF={class:"srow read-only pref"},mF={class:"srow-main"},vF={class:"srow-label"},hF={class:"srow read-only pref"},gF={class:"srow-main"},yF={class:"srow-label"},kF={class:"srow read-only pref"},bF={class:"srow-main"},wF={class:"srow-label"},SF={class:"num-field"},CF=["value","aria-label"],_F={class:"srow-main"},$F={class:"srow-label"},MF={class:"srow-sub"},xF=["aria-checked"],IF={class:"srow-main"},AF={class:"srow-label"},TF={class:"srow-main"},PF={class:"srow-label"},EF={key:2,class:"srow read-only"},LF={class:"srow-main"},BF={class:"srow-label"},RF={class:"srow-val dim"},OF={class:"arch-subhead"},DF={class:"arch-count"},zF={class:"arch-tools"},FF={key:0,class:"arch-empty"},NF={class:"arch-meta"},qF={class:"arch-name"},WF={class:"arch-time"},HF={key:2,class:"arch-empty"},UF=100,VF=Ie({__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},conversationToc:{type:Boolean},serverVersion:{default:""},models:{default:()=>[]}},emits:["update:modelValue","pickModel","setThinking","togglePlan","toggleGoal","toggleSwarm","toggleSupermoon","setPermission","setColorScheme","setUiFontSize","setConversationToc","login","logout"],setup(e,{emit:t}){const{t:n}=Ue(),s=e,o=t;function i(Z){o("setColorScheme",Z)}const u=["manual","yolo","auto"],p=$(()=>s.models?.find(Z=>Z.id===s.status?.modelId)),f=$(()=>Ki(p.value)),v=$(()=>Gi(p.value)),w=$(()=>Xo(p.value,s.thinking)),x=$(()=>v.value.includes(w.value)?w.value:""),h=$(()=>v.value.map(Z=>({value:Z,label:qa(Z)}))),m=$(()=>s.planMode===!0),_=$(()=>s.goalMode===!0),y=$(()=>s.swarmMode===!0),g=$(()=>s.supermoonMode===!0),k=$(()=>{const Z=s.status.permission;return Z==="yolo"?"var(--color-warning)":Z==="auto"?"var(--color-danger)":"var(--color-text-muted)"}),T=$(()=>{const Z=s.status.permission,U=n(Z==="yolo"?"mobile.permYoloSub":Z==="auto"?"mobile.permAutoSub":"mobile.permManualSub");return`${Z} · ${U}`}),S=$(()=>s.status.ctxMax>0?Math.min(100,Math.max(0,Math.ceil(s.status.ctxUsed/s.status.ctxMax*100))):0),O=$(()=>s.status.ctxMax>0?`${ms(s.status.ctxUsed)}/${ms(s.status.ctxMax)}`:n("status.statusNone"));function D(Z){o("setThinking",Cl(p.value,Z))}function E(){const Z=u.indexOf(s.status.permission),U=u[(Z+1)%u.length];o("setPermission",U)}function B(){o("pickModel"),o("update:modelValue",!1)}function q(){o("login"),o("update:modelValue",!1)}function V(){o("logout"),o("update:modelValue",!1)}const b=Ji(),P=I("main"),L=I([]),ne=I(!1),oe=I(!1),ge=I(""),ce=I("archived-desc");async function Q(){if(!ne.value){ne.value=!0,oe.value=!1;try{const Z=[];let U;for(;;){const ke=await b.loadArchivedSessions({beforeId:U,pageSize:UF});if(Z.push(...ke.items),!ke.hasMore||ke.items.length===0)break;const ae=ke.items.at(-1)?.id;if(ae===void 0)break;U=ae}L.value=Z,oe.value=!0}catch(Z){console.warn("loadAllArchived failed",Z)}finally{ne.value=!1}}}function ie(){P.value="archived",ge.value="",Q()}function te(){P.value="main"}const ye=$(()=>{const Z=ge.value.trim().toLowerCase();let U=L.value.filter(ke=>ke.archived===!0);return Z&&(U=U.filter(ke=>ke.title.toLowerCase().includes(Z))),U=U.slice(),ce.value==="archived-desc"?U.sort((ke,ae)=>ae.updatedAt.localeCompare(ke.updatedAt)):ce.value==="created-desc"?U.sort((ke,ae)=>ae.createdAt.localeCompare(ke.createdAt)):U.sort((ke,ae)=>ke.title.localeCompare(ae.title,"zh")),U});async function _e(Z){await b.restoreSession(Z)&&(L.value=L.value.filter(ke=>ke.id!==Z))}function Ce(Z){const U=new Date(Z);if(Number.isNaN(U.getTime()))return Z;const ke=ae=>String(ae).padStart(2,"0");return`${U.getFullYear()}-${ke(U.getMonth()+1)}-${ke(U.getDate())} ${ke(U.getHours())}:${ke(U.getMinutes())}`}return Oe(()=>s.modelValue,Z=>{Z||(P.value="main")}),(Z,U)=>(a(),G(_d,{"model-value":e.modelValue,title:l(n)("mobile.settingsTitle"),"onUpdate:modelValue":U[8]||(U[8]=ke=>o("update:modelValue",ke))},{default:H(()=>[P.value==="main"?(a(),c(he,{key:0},[r("div",Pz,d(l(n)("mobile.groupSession")),1),r("button",{type:"button",class:"srow",onClick:B},[r("span",Ez,[r("span",Lz,d(l(n)("status.statusModel")),1),r("span",Bz,d(e.status.model),1)]),U[9]||(U[9]=r("span",{class:"chev"},"›",-1))]),r("div",Rz,[r("span",Oz,[r("span",Dz,d(l(n)("status.statusThinking")),1),f.value==="unsupported"?(a(),c("span",zz,d(l(n)("status.modeNotSupported")),1)):A("",!0)]),v.value.length>1?(a(),G(cn,{key:0,"model-value":x.value,options:h.value,size:"sm","onUpdate:modelValue":D},null,8,["model-value","options"])):(a(),c("span",{key:1,class:fe(["srow-val",{dim:w.value==="off"}])},d(w.value==="off"?l(n)("status.planOff"):l(qa)(w.value)),3))]),r("div",Fz,d(l(n)("status.cacheNote")),1),r("button",{type:"button",class:"srow",onClick:U[0]||(U[0]=ke=>o("togglePlan"))},[r("span",Nz,[r("span",qz,d(l(n)("status.statusPlanMode")),1),r("span",Wz,d(l(n)("mobile.planModeSub")),1)]),r("span",{class:fe(["toggle",{on:m.value}]),role:"switch","aria-checked":m.value},null,10,Hz)]),r("button",{type:"button",class:"srow",onClick:U[1]||(U[1]=ke=>o("toggleSwarm"))},[r("span",Uz,[r("span",Vz,d(l(n)("status.statusSwarmMode")),1),r("span",jz,d(l(n)("mobile.swarmModeSub")),1)]),r("span",{class:fe(["toggle",{on:y.value}]),role:"switch","aria-checked":y.value},null,10,Kz)]),r("button",{type:"button",class:"srow",onClick:U[2]||(U[2]=ke=>o("toggleSupermoon"))},[r("span",Gz,[r("span",Qz,d(l(n)("status.statusSupermoonMode")),1),r("span",Yz,d(l(n)("mobile.supermoonModeSub")),1)]),r("span",{class:fe(["toggle",{on:g.value}]),role:"switch","aria-checked":g.value},null,10,Zz)]),r("button",{type:"button",class:"srow",onClick:U[3]||(U[3]=ke=>o("toggleGoal"))},[r("span",Xz,[r("span",Jz,d(l(n)("status.statusGoalMode")),1),r("span",eF,d(l(n)("mobile.goalModeSub")),1)]),r("span",{class:fe(["toggle",{on:_.value}]),role:"switch","aria-checked":_.value},null,10,tF)]),r("button",{type:"button",class:"srow",onClick:E},[r("span",nF,[r("span",sF,d(l(n)("status.statusPermission")),1),r("span",{class:"srow-sub",style:rt({color:k.value})},d(T.value),5)]),U[10]||(U[10]=r("span",{class:"chev"},"›",-1))]),r("div",oF,[r("span",iF,[r("span",aF,d(l(n)("status.statusContext")),1),r("span",lF,d(O.value),1)]),r("span",{class:"ctx-meter","aria-label":O.value},[r("i",{style:rt({width:S.value+"%"})},null,4)],8,rF)]),r("div",uF,d(l(n)("mobile.groupApp")),1),r("button",{type:"button",class:"srow",onClick:ie},[r("span",cF,[r("span",dF,d(l(n)("mobile.archivedSessions")),1),r("span",pF,d(l(n)("mobile.archivedSessionsSub")),1)]),U[11]||(U[11]=r("span",{class:"chev"},"›",-1))]),r("div",fF,[r("span",mF,[r("span",vF,d(l(n)("theme.colorSchemeLabel")),1)]),M(cn,{"model-value":e.colorScheme??"system",options:[{value:"light",label:l(n)("theme.light")},{value:"dark",label:l(n)("theme.dark")},{value:"system",label:l(n)("theme.system")}],"onUpdate:modelValue":i},null,8,["model-value","options"])]),r("div",hF,[r("span",gF,[r("span",yF,d(l(n)("sidebar.language")),1)]),M(Sd)]),r("div",kF,[r("span",bF,[r("span",wF,d(l(n)("settings.uiFontSize")),1)]),r("label",SF,[r("input",{class:"num-input",type:"number",min:"12",max:"20",step:"1",value:e.uiFontSize,"aria-label":l(n)("settings.uiFontSize"),onInput:U[4]||(U[4]=ke=>o("setUiFontSize",Number(ke.target.value)))},null,40,CF),U[12]||(U[12]=r("span",{class:"num-unit"},"px",-1))])]),r("button",{type:"button",class:"srow",onClick:U[5]||(U[5]=ke=>o("setConversationToc",!e.conversationToc))},[r("span",_F,[r("span",$F,d(l(n)("settings.conversationToc")),1),r("span",MF,d(l(n)("settings.conversationTocHint")),1)]),r("span",{class:fe(["toggle",{on:e.conversationToc}]),role:"switch","aria-checked":e.conversationToc},null,10,xF)]),e.authReady?(a(),c("button",{key:0,type:"button",class:"srow acct out",onClick:V},[r("span",IF,[r("span",AF,d(l(n)("sidebar.signOut")),1)])])):(a(),c("button",{key:1,type:"button",class:"srow acct in",onClick:q},[r("span",TF,[r("span",PF,d(l(n)("sidebar.signIn")),1)])])),e.serverVersion?(a(),c("div",EF,[r("span",LF,[r("span",BF,d(l(n)("settings.serverVersion")),1)]),r("span",RF,d(e.serverVersion),1)])):A("",!0)],64)):(a(),c(he,{key:1},[r("div",OF,[r("button",{type:"button",class:"arch-back",onClick:te},[U[13]||(U[13]=r("span",{class:"chev back"},"‹",-1)),re(" "+d(l(n)("mobile.archivedBack")),1)]),r("span",DF,d(l(n)("mobile.sessionCount",{n:ye.value.length})),1)]),r("div",zF,[M(Kn,{class:"arch-search-input","model-value":ge.value,size:"sm",placeholder:l(n)("settings.archivedSearch"),"onUpdate:modelValue":U[6]||(U[6]=ke=>ge.value=ke)},null,8,["model-value","placeholder"]),M(cn,{size:"sm","model-value":ce.value,options:[{value:"archived-desc",label:l(n)("settings.archivedSortArchived")},{value:"created-desc",label:l(n)("settings.archivedSortCreated")},{value:"name-asc",label:l(n)("settings.archivedSortName")}],"onUpdate:modelValue":U[7]||(U[7]=ke=>ce.value=ke)},null,8,["model-value","options"])]),ne.value?(a(),c("div",FF,d(l(n)("settings.archivedLoadingAll")),1)):ye.value.length>0?(a(!0),c(he,{key:1},Pe(ye.value,ke=>(a(),c("div",{key:ke.id,class:"arch-row"},[r("div",NF,[r("div",qF,d(ke.title),1),r("div",WF,d(l(n)("settings.archivedAt",{time:Ce(ke.updatedAt)})),1)]),M(qe,{variant:"secondary",size:"sm",onClick:ae=>_e(ke.id)},{default:H(()=>[re(d(l(n)("settings.archivedRestore")),1)]),_:1},8,["onClick"])]))),128)):(a(),c("div",HF,d(L.value.length===0?l(n)("settings.archivedEmpty"):l(n)("settings.archivedNoMatch")),1))],64))]),_:1},8,["model-value","title"]))}}),jF=Ee(VF,[["__scopeId","data-v-2ff34053"]]),KF={class:"ob-brand"},GF={class:"ob-brand-text"},QF={class:"ob-title"},YF={class:"ob-sub"},ZF={class:"ob-sec"},XF={class:"ob-label"},JF={class:"ob-sec"},eN={class:"ob-label"},tN={class:"ob-sec"},nN={class:"ob-label"},sN=Ie({__name:"Onboarding",emits:["complete","skip"],setup(e,{emit:t}){const n=t,{t:s,locale:o}=Ue(),{colorScheme:i,accent:u,setColorScheme:p,setAccent:f}=tc();function v(x){o.value!==x&&Pu(x)}function w(){n("complete")}return(x,h)=>(a(),G(vs,{open:!0,size:"md","close-on-overlay":!1,"close-on-esc":!1,onClose:h[3]||(h[3]=m=>n("skip"))},{head:H(()=>[r("div",KF,[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",GF,[r("div",QF,d(l(s)("onboarding.title")),1),r("div",YF,d(l(s)("onboarding.subtitle")),1)])])]),default:H(()=>[r("section",ZF,[r("div",XF,d(l(s)("onboarding.languageLabel")),1),M(cn,{"model-value":l(o),options:l(Tu).map(m=>({value:m.code,label:m.label})),"onUpdate:modelValue":h[0]||(h[0]=m=>v(m))},null,8,["model-value","options"])]),r("section",JF,[r("div",eN,d(l(s)("theme.colorSchemeLabel")),1),M(cn,{"model-value":l(i),options:[{value:"light",label:l(s)("theme.light")},{value:"dark",label:l(s)("theme.dark")},{value:"system",label:l(s)("theme.system")}],"onUpdate:modelValue":h[1]||(h[1]=m=>l(p)(m))},null,8,["model-value","options"])]),r("section",tN,[r("div",nN,d(l(s)("theme.accentLabel")),1),M(cn,{"model-value":l(u),options:[{value:"blue",label:l(s)("theme.accentBlue")},{value:"mono",label:l(s)("theme.accentBlack")}],"onUpdate:modelValue":h[2]||(h[2]=m=>l(f)(m))},null,8,["model-value","options"])]),M(qe,{variant:"primary",size:"lg",class:"ob-start",onClick:w},{default:H(()=>[re(d(l(s)("onboarding.start")),1)]),_:1})]),_:1}))}}),oN=Ee(sN,[["__scopeId","data-v-fbdd3eab"]]),iN=["aria-label"],aN={class:"gload-box"},lN={class:"gload-text"},rN={key:0,class:"gload-issue"},uN={class:"gload-issue-detail"},cN=Ie({__name:"GlobalLoading",props:{issue:{}},setup(e){const{t}=Ue();return(n,s)=>(a(),c("div",{class:"gload",role:"status","aria-label":l(t)("app.connecting")},[r("div",aN,[s[0]||(s[0]=sl(' ',1)),M(Dt,{size:"md",label:l(t)("app.connecting")},null,8,["label"]),r("div",lN,d(l(t)("app.connecting")),1),e.issue?(a(),c("div",rN,[r("div",null,d(l(t)("app.connectRetrying")),1),r("div",uN,d(e.issue),1)])):A("",!0)])],8,iN))}}),dN=Ee(cN,[["__scopeId","data-v-0b6dec6a"]]),pN={class:"kap-root"},fN={class:"kap-head"},mN={class:"kap-count"},vN={class:"kap-head-actions"},hN={class:"kap-filters"},gN=["value"],yN={class:"kap-check"},kN={class:"kap-check"},bN={class:"kap-view-toggle",role:"group"},wN={key:0,class:"kap-empty"},SN=["onClick"],CN={class:"kap-ts"},_N={class:"kap-label"},$N={key:0,class:"kap-detail"},MN={class:"kap-detail-actions"},xN=["onClick"],IN={key:1,class:"kap-agg"},AN={class:"mono"},TN={class:"mono"},PN={class:"num"},EN={class:"num"},LN={key:0},BN={class:"mono"},RN={class:"num"},ON={class:"num"},DN={key:0},zN=Ie({__name:"KapDebugView",emits:["close"],setup(e,{emit:t}){const n=t,s=I("all"),o=I(""),i=I(""),u=I(!1),p=I("timeline"),f=$(()=>(al.value,[...M0()])),v=$(()=>{const V=new Set;for(const b of f.value)b.sessionId&&V.add(b.sessionId);return[...V].sort()});function w(V){return V.kind==="rest:error"||V.code!==void 0&&V.code!==0||V.eventType==="error"||V.eventType==="parse-error"}const x=$(()=>{const V=o.value.trim().toLowerCase();return f.value.filter(b=>!(s.value!=="all"&&b.source!==s.value||i.value&&b.sessionId!==i.value||u.value&&!w(b)||V&&!`${b.label} ${b.kind} ${b.eventType??""} ${b.sessionId??""} ${b.requestId??""}`.toLowerCase().includes(V)))}),h=$(()=>{const V=new Map;for(const b of x.value){if(b.kind!=="ws:in"&&b.kind!=="ws:out")continue;const P=b.kind==="ws:in"?"←":"→",L=`${P} ${b.eventType??"?"} @ ${b.sessionId??"-"}`,ne=V.get(L)??{key:L,sessionId:b.sessionId??"-",eventType:b.eventType??"?",dir:P,count:0};ne.count++,b.seq!==void 0&&(ne.lastSeq=b.seq),V.set(L,ne)}return[...V.values()].sort((b,P)=>P.count-b.count)}),m=$(()=>{const V=new Map;for(const b of x.value){if(b.source!=="rest"||b.kind==="rest:request")continue;const P=`${b.method??"?"} ${b.path??"?"}`,L=V.get(P)??{count:0,errors:0,totalMs:0,timed:0};L.count++,w(b)&&L.errors++,b.durationMs!==void 0&&(L.totalMs+=b.durationMs,L.timed++),V.set(P,L)}return[...V.entries()].map(([b,P])=>({key:b,count:P.count,errors:P.errors,avgMs:P.timed>0?Math.round(P.totalMs/P.timed):0})).sort((b,P)=>P.count-b.count)}),_=I(null),y=I(!0),g=I(null),k=I(null);Oe(()=>x.value.length,async()=>{if(!y.value||p.value!=="timeline")return;await Ke();const V=g.value;V&&(V.scrollTop=V.scrollHeight)});function T(V){_.value=_.value===V?null:V}function S(V){const b=new Date(V),P=(L,ne=2)=>String(L).padStart(ne,"0");return`${P(b.getHours())}:${P(b.getMinutes())}:${P(b.getSeconds())}.${P(b.getMilliseconds(),3)}`}function O(V){return JSON.stringify(V,null,2)}async function D(V){await un(O(V))&&(k.value=V.id,setTimeout(()=>{k.value===V.id&&(k.value=null)},1500))}function E(){Bu(x.value)}function B(V){return w(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,b)=>(a(),c("section",pN,[r("header",fN,[b[11]||(b[11]=r("strong",null,"KAP debug",-1)),r("span",mN,d(x.value.length)+"/"+d(f.value.length),1),r("div",vN,[r("button",{type:"button",class:fe({on:l(Vo)}),onClick:b[0]||(b[0]=P=>Vo.value=!l(Vo))},d(l(Vo)?"resume":"pause"),3),r("button",{type:"button",onClick:b[1]||(b[1]=P=>l(x0)())},"clear"),r("button",{type:"button",onClick:b[2]||(b[2]=P=>E())},"export jsonl"),M(ot,{text:"Close window"},{default:H(()=>[r("button",{type:"button",onClick:b[3]||(b[3]=P=>n("close"))},"✕")]),_:1})])]),r("div",hN,[gt(r("select",{"onUpdate:modelValue":b[4]||(b[4]=P=>s.value=P),"aria-label":"Source filter"},[...b[12]||(b[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),[[Dl,s.value]]),gt(r("select",{"onUpdate:modelValue":b[5]||(b[5]=P=>i.value=P),"aria-label":"Session filter"},[b[13]||(b[13]=r("option",{value:""},"all sessions",-1)),(a(!0),c(he,null,Pe(v.value,P=>(a(),c("option",{key:P,value:P},d(P),9,gN))),128))],512),[[Dl,i.value]]),gt(r("input",{"onUpdate:modelValue":b[6]||(b[6]=P=>o.value=P),type:"text",placeholder:"filter (type / path / id)","aria-label":"Text filter"},null,512),[[qn,o.value]]),r("label",yN,[gt(r("input",{"onUpdate:modelValue":b[7]||(b[7]=P=>u.value=P),type:"checkbox"},null,512),[[zl,u.value]]),b[14]||(b[14]=re(" errors",-1))]),r("label",kN,[gt(r("input",{"onUpdate:modelValue":b[8]||(b[8]=P=>y.value=P),type:"checkbox"},null,512),[[zl,y.value]]),b[15]||(b[15]=re(" follow",-1))]),r("div",bN,[r("button",{type:"button",class:fe({on:p.value==="timeline"}),onClick:b[9]||(b[9]=P=>p.value="timeline")},"timeline",2),r("button",{type:"button",class:fe({on:p.value==="aggregate"}),onClick:b[10]||(b[10]=P=>p.value="aggregate")},"aggregate",2)])]),p.value==="timeline"?(a(),c("div",{key:0,ref_key:"listRef",ref:g,class:"kap-list"},[x.value.length===0?(a(),c("div",wN," No trace entries yet. REST calls and WS frames will appear here. ")):A("",!0),(a(!0),c(he,null,Pe(x.value,P=>(a(),c("div",{key:P.id,class:"kap-row-wrap"},[r("button",{type:"button",class:fe(["kap-row",{expanded:_.value===P.id}]),onClick:L=>T(P.id)},[r("span",CN,d(S(P.ts)),1),r("span",{class:fe(["kap-badge",B(P)])},d(q(P)),3),r("span",_N,d(P.label),1)],10,SN),_.value===P.id?(a(),c("div",$N,[r("div",MN,[r("button",{type:"button",onClick:L=>D(P)},d(k.value===P.id?"copied ✓":"copy json"),9,xN)]),r("pre",null,d(O(P)),1)])):A("",!0)]))),128))],512)):(a(),c("div",IN,[b[20]||(b[20]=r("h4",null,"WS frames by session / type",-1)),r("table",null,[b[17]||(b[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,[(a(!0),c(he,null,Pe(h.value,P=>(a(),c("tr",{key:P.key},[r("td",null,d(P.dir),1),r("td",AN,d(P.eventType),1),r("td",TN,d(P.sessionId),1),r("td",PN,d(P.count),1),r("td",EN,d(P.lastSeq??"—"),1)]))),128)),h.value.length===0?(a(),c("tr",LN,[...b[16]||(b[16]=[r("td",{colspan:"5",class:"kap-empty"},"no ws frames",-1)])])):A("",!0)])]),b[21]||(b[21]=r("h4",null,"REST by endpoint",-1)),r("table",null,[b[19]||(b[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,[(a(!0),c(he,null,Pe(m.value,P=>(a(),c("tr",{key:P.key},[r("td",BN,d(P.key),1),r("td",RN,d(P.count),1),r("td",{class:fe(["num",{err:P.errors>0}])},d(P.errors),3),r("td",ON,d(P.avgMs),1)]))),128)),m.value.length===0?(a(),c("tr",DN,[...b[18]||(b[18]=[r("td",{colspan:"4",class:"kap-empty"},"no rest calls",-1)])])):A("",!0)])])]))]))}}),FN=Ee(zN,[["__scopeId","data-v-3cda6fe3"]]),NN=Ie({__name:"DebugPanel",setup(e){const t=I(!1);let n=null,s=null,o=null;const i=["data-color-scheme","data-accent"];function u(w){const x=document.documentElement,h=w.documentElement;for(const m of i){const _=x.getAttribute(m);_!==null?h.setAttribute(m,_):h.removeAttribute(m)}}function p(w){const x=w.document;x.title="KAP debug";const h=x.createElement("base");h.href=location.href,x.head.appendChild(h);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 w=window.open("","kap-debug","popup=yes,width=1040,height=760");if(!w)return;n=w;const x=p(w),h=yu(FN,{onClose:()=>w.close()});h.mount(x),s=h,t.value=!0,o=new MutationObserver(()=>{n&&!n.closed&&u(n.document)}),o.observe(document.documentElement,{attributes:!0,attributeFilter:[...i]}),w.addEventListener("pagehide",f),w.addEventListener("beforeunload",f)}return ht(()=>{v()}),Ln(()=>{n&&!n.closed&&n.close(),f()}),(w,x)=>(a(),G(ot,{text:t.value?"Focus KAP debug window":"Open KAP debug window"},{default:H(()=>[r("button",{class:"kap-fab",type:"button",onClick:v}," KAP ")]),_:1},8,["text"]))}}),qN=Ee(NN,[["__scopeId","data-v-21346738"]]);function WN({client:e,authLogoRef:t}){const n=$(()=>e.authReady.value),s=$(()=>e.initialized.value&&!n.value),o="/login",i=I(null);let u=null;function p(){return typeof window>"u"?"/":`${window.location.pathname}${window.location.search}${window.location.hash}`}function f(w){typeof window>"u"||window.history.replaceState(window.history.state,"",w)}Oe(s,w=>{if(!(typeof window>"u")){if(w){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 w=t.value;w&&(w.classList.remove("blink-now"),w.getBoundingClientRect(),w.classList.add("blink-now"),u!==null&&clearTimeout(u),u=setTimeout(()=>{u=null,w.classList.remove("blink-now")},300))}return kt(()=>{u!==null&&clearTimeout(u)}),{showAuthGate:s,blinkAuthLogo:v}}function HN({running:e,showAuthGate:t}){const{t:n}=Ue(),s=["◐","◓","◑","◒"],o=I(0);let i=null;function u(){i===null&&(o.value=0,i=setInterval(()=>{o.value=(o.value+1)%s.length},250))}function p(){i!==null&&(clearInterval(i),i=null),o.value=0}Oe(e,v=>{v?u():p()},{immediate:!0});const f=$(()=>{const v=e.value?`${s[o.value]} `:"";return t.value?`${v}${n("app.authPageTitle")} - Kimi Code Web`:`${v}Kimi Code Web`});Ld(()=>{typeof document<"u"&&(document.title=f.value)}),kt(()=>{p()})}const $d=I(typeof window>"u"?0:window.innerWidth);let Ci=0,Vi=!1;function tl(){$d.value=window.innerWidth}function UN(){Vi||typeof window>"u"||(window.addEventListener("resize",tl),Vi=!0,tl())}function VN(){!Vi||typeof window>"u"||(window.removeEventListener("resize",tl),Vi=!1)}function Md(e,t,n){return Math.max(t,e-n)}function nl(e,t,n){return Math.min(n,Math.max(t,e))}function xd(){return ht(()=>{Ci+=1,UN()}),Ln(()=>{Ci=Math.max(0,Ci-1),Ci===0&&VN()}),{viewportWidth:$d}}const jN="kimi-web.file-preview-width",Mo=320;function KN({client:e,sideWidth:t,detailTarget:n,closeFilePreview:s}){const{viewportWidth:o}=xd(),i=$(()=>Math.max(0,o.value-t.value)),u=$(()=>Md(i.value,Mo,Mo));function p(R){return nl(Math.round(R),Mo,u.value)}function f(){return p(i.value/2)}const v=$(()=>f()),w=I(v.value),x=$(()=>nl(w.value,Mo,u.value)),h=I(null),m=$(()=>{const R=h.value;if(!R)return null;const me=e.turns.value.find(He=>He.id===R.turnId)?.blocks?.[R.blockIndex];return me?.kind==="thinking"?me.thinking:null}),_=$(()=>m.value!==null);function y(R){const X=h.value;if(X&&X.turnId===R.turnId&&X.blockIndex===R.blockIndex){h.value=null,n.value==="thinking"&&(n.value=null);return}n.value="thinking",h.value=R}function g(){h.value=null,n.value==="thinking"&&(n.value=null)}const k=I(null),T=$(()=>{const R=k.value;if(!R)return null;const X=e.turns.value.find(me=>me.id===R.turnId);return X?.role==="compaction"&&X.text?X.text:null}),S=$(()=>T.value!==null);function O(R){if(k.value?.turnId===R.turnId){k.value=null,n.value==="compaction"&&(n.value=null);return}n.value="compaction",k.value=R}function D(){k.value=null,n.value==="compaction"&&(n.value=null)}const E=I(null);function B(R){const X=e.activeAppTasks.value,me=X.find(De=>De.id===R)??X.find(De=>De.parentToolCallId===R);if(me)return me.id;const He=X.filter(De=>De.kind==="subagent"&&!De.parentToolCallId);if(He.length===1)return He[0].id}const q=$(()=>{const R=E.value;if(!R)return null;const X=e.activeAppTasks.value.find(me=>me.id===R.subagentId);return X?Vb(X):null}),V=$(()=>q.value!==null);function b(R){const X=B(R);if(X){if(E.value?.subagentId===X){E.value=null,n.value==="agent"&&(n.value=null);return}E.value={subagentId:X},n.value="agent"}}function P(){E.value=null,n.value==="agent"&&(n.value=null)}const L=I(null),ne=$(()=>{const R=L.value;if(!R)return null;const X=RC(e.turns.value,R);return X?{id:R,title:Ks(X.name),path:BC(X.arg),lines:X.status==="error"?null:Yc(X),output:X.output}:null}),oe=$(()=>ne.value!==null);function ge(R){if(n.value==="toolDiff"&&L.value===R){ce();return}n.value="toolDiff",L.value=R}function ce(){L.value=null,n.value==="toolDiff"&&(n.value=null)}const Q=I("list"),ie=I(null);function te(){if(n.value==="diff"){ye();return}n.value="diff",Q.value="list",ie.value=null;const R=e.activeSessionId.value;R&&e.loadGitStatus(R)}function ye(){n.value==="diff"&&(n.value=null),Q.value="list",ie.value=null,e.clearFileDiff()}async function _e(R){Q.value="detail",ie.value=R,await e.loadFileDiff(R)}async function Ce(R){!e.activeSessionId.value&&e.activeWorkspaceId.value?await e.startSessionAndOpenSideChat(e.activeWorkspaceId.value,R):await e.openSideChat(R),n.value="btw"}function Z(){e.closeSideChat(),n.value==="btw"&&(n.value=null)}function U(){n.value==="btw"&&(n.value=null)}const ke=$(()=>e.sideChatVisible.value),ae=$(()=>n.value!==null&&(n.value!=="thinking"||_.value)&&(n.value!=="compaction"||S.value)&&(n.value!=="agent"||V.value)&&(n.value!=="toolDiff"||oe.value)&&(n.value!=="btw"||ke.value)),ee=I(!1),de=I({});function Be(){switch(n.value){case"thinking":return h.value?{kind:"thinking",...h.value}:null;case"compaction":return k.value?{kind:"compaction",...k.value}:null;case"agent":return E.value?{kind:"agent",...E.value}:null;case"toolDiff":return L.value?{kind:"toolDiff",toolId:L.value}:null;case"btw":return{kind:"btw"};default:return null}}function Y(R){if(R)switch(R.kind){case"thinking":h.value={turnId:R.turnId,blockIndex:R.blockIndex},n.value="thinking";break;case"compaction":k.value={turnId:R.turnId},n.value="compaction";break;case"agent":E.value={subagentId:R.subagentId},n.value="agent";break;case"toolDiff":L.value=R.toolId,n.value="toolDiff";break;case"btw":e.sideChatVisible.value&&(n.value="btw");break}}function ve(){return n.value==="thinking"&&_.value?(g(),!0):n.value==="compaction"&&S.value?(D(),!0):n.value==="agent"&&V.value?(P(),!0):n.value==="toolDiff"&&oe.value?(ce(),!0):n.value==="file"?(s(),!0):n.value==="diff"?(ye(),!0):n.value==="btw"?(Z(),!0):!1}return Oe(e.activeSessionId,(R,X)=>{if(X){const me=Be();me?de.value[X]=me:delete de.value[X]}s(),g(),D(),P(),ce(),ye(),U(),R&&Y(de.value[R])}),{PREVIEW_WIDTH_KEY:jN,PREVIEW_MIN:Mo,previewDefaultWidth:v,previewMax:u,previewWidth:w,previewPanelWidth:x,thinkingPanelText:m,thinkingVisible:_,openThinkingPanel:y,closeThinkingPanel:g,compactionPanelText:T,compactionPanelVisible:S,openCompactionPanel:O,closeCompactionPanel:D,agentPanelMember:q,agentPanelVisible:V,openAgentPanel:b,closeAgentPanel:P,toolDiffTarget:ne,toolDiffVisible:oe,openToolDiff:ge,closeToolDiff:ce,detailDiffMode:Q,detailDiffPath:ie,openDiffDetail:te,closeDiffDetail:ye,selectDiffFile:_e,btwVisible:ke,openSideChatTab:Ce,closeSideChat:Z,hideSideChatPanel:U,sidePanelVisible:ae,panelDragging:ee,closeOpenSidePanel:ve}}const GN=We.sidebarWidth,fu=We.sidebarCollapsed,mu=270,Ta=220,QN=480,YN=320;function ZN(e={}){const{viewportWidth:t}=xd(),n=I(mu),s=I(!1),o=I(null),i=I(!1),u=$(()=>{const h=YN+(Wo(e.previewOpen)?Mo:0);return Math.min(QN,Md(t.value,Ta,h))}),p=$(()=>nl(n.value,Ta,u.value)),f=$(()=>Wo(e.isNarrow)?o.value??!0:s.value);function v(){try{s.value=It(fu)==="true"}catch{s.value=!1}}function w(){try{Bt(fu,String(s.value))}catch{}}Oe(()=>Wo(e.isNarrow),h=>{h||(o.value=null)},{flush:"sync"});function x(){if(Wo(e.isNarrow)){o.value=!f.value;return}s.value=!s.value,w()}return{SIDEBAR_WIDTH_KEY:GN,SIDEBAR_DEFAULT:mu,SIDEBAR_MIN:Ta,sidebarMax:u,sessionColWidth:n,effectiveSidebarCollapsed:f,sidebarCollapsed:s,sidebarDragging:i,sideWidth:p,loadSidebarCollapsed:v,toggleSidebarCollapse:x}}const XN=640,JN=`(max-width: ${XN}px)`;function eq(){const e=I(!1);if(typeof window>"u"||typeof window.matchMedia!="function")return e;const t=window.matchMedia(JN);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 tq(){const e=I(!1),t=ud(z8,n=>{e.value=n});return kt(t),e}const nq={class:"server-auth-overlay",role:"dialog","aria-modal":"true","aria-labelledby":"server-auth-title"},sq={class:"server-auth-card"},oq={class:"server-auth-head"},iq={id:"server-auth-title",class:"server-auth-title"},aq={class:"server-auth-hint"},lq={class:"server-auth-body"},rq={class:"server-auth-foot"},uq=Ie({__name:"ServerAuthDialog",setup(e){const{t}=Ue(),n=I(""),s=I(null),o=I(!1);ht(()=>{Ke(()=>s.value?.focus())});function i(){const p=n.value;!p||o.value||(o.value=!0,Vu(p),window.location.reload())}function u(p){p.key==="Enter"&&(p.preventDefault(),i())}return(p,f)=>(a(),c("div",nq,[r("div",sq,[r("div",oq,[r("h1",iq,d(l(t)("serverAuth.title")),1),r("p",aq,d(l(t)("serverAuth.hint",{password:"KIMI_CODE_PASSWORD"})),1)]),r("div",lq,[M(Kn,{ref_key:"inputRef",ref:s,modelValue:n.value,"onUpdate:modelValue":f[0]||(f[0]=v=>n.value=v),type:"password",autocomplete:"current-password",placeholder:l(t)("serverAuth.placeholder"),disabled:o.value,onKeydown:u},null,8,["modelValue","placeholder","disabled"])]),r("div",rq,[M(qe,{variant:"primary",disabled:!n.value||o.value,loading:o.value,onClick:i},{default:H(()=>[re(d(o.value?l(t)("serverAuth.connecting"):l(t)("serverAuth.connect")),1)]),_:1},8,["disabled","loading"])])])]))}}),cq=Ee(uq,[["__scopeId","data-v-469e14bc"]]),dq=["aria-label"],pq=Ie({__name:"InternalBuildBanner",setup(e){const{t}=Ue(),n=r3;return(s,o)=>l(n)?(a(),c("span",{key:0,class:"internal-build-tag",role:"note","aria-label":l(t)("app.internalBuildBanner")},[M(se,{name:"alert-triangle",size:"sm","aria-hidden":"true"}),r("span",null,d(l(t)("app.internalBuildBanner")),1)],8,dq)):A("",!0)}}),fq=Ee(pq,[["__scopeId","data-v-086c00dc"]]),mq={class:"app-shell"},vq={key:1,class:"auth-page"},hq={class:"auth-page-inner"},gq={class:"auth-page-copy"},yq=["aria-label","aria-hidden"],kq=Ie({__name:"App",setup(e){Wy();const t=I(!1);let n=null;const s=Ji(),o=$(()=>!s.dangerousBypassAuth.value&&t.value);Io("resolveImage",s.resolveImageUrl),Io("resolveSwarmMembers",Ae=>s.swarmMembersByToolCallId.value.get(Ae)??[]);const{t:i}=Ue(),{confirm:u}=go(),p=ts(),f=eq(),v=tq(),w=I(!1),x=I(!1),h=$(()=>{const Ae=s.activeSessionId.value;return s.sessions.value.find(j=>j.id===Ae)?.title??""}),m=$(()=>s.visibleWorkspace.value?.sessionCount??0),_=$(()=>s.activity.value!=="idle"),y=I(null),{showAuthGate:g,blinkAuthLogo:k}=WN({client:s,authLogoRef:y});HN({running:_,showAuthGate:g});function T(Ae){const j=s.models.value.find(Ss=>Ss.id===s.status.value.modelId),J=Gi(j),ft=J.indexOf(Xo(j,Ae)),Nn=J[(ft+1)%J.length]??J[0]??"off";return Cl(j,Nn)}const S=$(()=>{const Ae=s.models.value.find(j=>j.id===s.status.value.modelId);return Xo(Ae,s.thinking.value)}),O=I(!s.onboarded.value);function D(){s.setOnboarded(!0),O.value=!1}function E(){O.value=!0}let B=0;function q(){const Ae=window.visualViewport,j=document.documentElement.style;j.setProperty("--app-height",`${Ae?.height??window.innerHeight}px`),j.setProperty("--app-top",`${Ae?.offsetTop??0}px`)}function V(){B||(B=requestAnimationFrame(()=>{B=0,q()}))}ht(()=>{n=Vy(()=>{t.value=!0,s.clearDangerousBypassAuth()}),s.load(),me(),q(),window.visualViewport?.addEventListener("resize",V),window.visualViewport?.addEventListener("scroll",V),window.addEventListener("resize",V),document.addEventListener("keydown",b,!0)}),kt(()=>{document.removeEventListener("keydown",b,!0),window.visualViewport?.removeEventListener("resize",V),window.visualViewport?.removeEventListener("scroll",V),window.removeEventListener("resize",V),B&&(cancelAnimationFrame(B),B=0),document.documentElement.style.removeProperty("--app-height"),document.documentElement.style.removeProperty("--app-top"),n!==null&&(n(),n=null)});function b(Ae){Ae.key==="Escape"&&(Se.value||An()&&(Ae.stopPropagation(),Ae.preventDefault()))}const P=I(null),L=I(!1);Oe(s.activeSessionId,()=>{L.value=!0,Ke(()=>{L.value=!1})});const{previewTarget:ne,previewFile:oe,previewLoading:ge,previewError:ce,previewDownloadUrl:Q,previewExternalActions:ie,openFilePreview:te,closeFilePreview:ye,openPreviewInEditor:_e,revealPreviewFile:Ce}=qL({client:s,detailTarget:P}),Z=WL(),U=$(()=>f.value||v.value),ke=$(()=>P.value!==null&&!U.value),{SIDEBAR_WIDTH_KEY:ae,SIDEBAR_DEFAULT:ee,SIDEBAR_MIN:de,sidebarMax:Be,sessionColWidth:Y,effectiveSidebarCollapsed:ve,sidebarDragging:R,sideWidth:X,loadSidebarCollapsed:me,toggleSidebarCollapse:He}=ZN({previewOpen:ke,isNarrow:v}),{PREVIEW_WIDTH_KEY:De,PREVIEW_MIN:an,previewDefaultWidth:Fe,previewMax:Ze,previewWidth:Ve,previewPanelWidth:At,thinkingPanelText:bt,thinkingVisible:Ct,openThinkingPanel:dn,closeThinkingPanel:Kt,compactionPanelText:zt,compactionPanelVisible:hs,openCompactionPanel:nn,closeCompactionPanel:ut,agentPanelMember:Ft,openAgentPanel:In,closeAgentPanel:_t,toolDiffTarget:pn,openToolDiff:Nt,closeToolDiff:gn,detailDiffMode:Tt,detailDiffPath:fn,openDiffDetail:mn,closeDiffDetail:Rn,selectDiffFile:yn,btwVisible:Gn,openSideChatTab:$t,closeSideChat:Zt,sidePanelVisible:Gt,panelDragging:kn,closeOpenSidePanel:An}=KN({client:s,sideWidth:X,detailTarget:P,closeFilePreview:ye}),Rt=I(null),sn=I(!1),qt=I(!1),Xt=I(!1),Wt=I(!1),ct=I(!1),lt=I(!1),on=I(null),Jt=I(null),Se=$(()=>Co.value>0||sn.value||qt.value||Xt.value||Wt.value||ct.value||lt.value||O.value||w.value||x.value),we=I(!1),Ge=I(!1),Je=I(!1),at=I(!1),Ht=I(!1);async function Qt(){we.value=!0,Ge.value=!1,sn.value=!0;try{await s.refreshAllProviders()}catch{Ge.value=!0}finally{we.value=!1}}async function Pt(){Je.value=!0,at.value=!1,qt.value=!0;try{await s.loadProviders()}catch{at.value=!0}finally{Je.value=!1}}function Ut(){Xt.value=!0}async function Vt(Ae){sn.value=!1,await Tn(Ae)}async function Tn(Ae){await s.setModel(Ae)&&Ae!==s.defaultModel.value&&s.updateConfig({defaultModel:Ae})}async function gs(Ae){await s.addProvider(Ae)}async function Wn(Ae){await s.refreshProvider(Ae)}async function bn(Ae){await s.importCatalogProvider(Ae)}async function ns(Ae){await s.importRegistry(Ae)}async function ss(Ae){await u({title:i("sidebar.archive"),message:i("sidebar.archiveConfirm"),variant:"danger",action:()=>s.archiveSession(Ae)})}async function On(Ae){const j=s.workspacesView.value.find(J=>J.id===Ae)?.name??Ae;await u({title:i("sidebar.removeWorkspace"),message:i("workspace.removeWorkspaceConfirm",{name:j}),variant:"danger",action:()=>s.deleteWorkspace(Ae)})}async function en(Ae){await u({title:i("providers.delete"),message:i("providers.confirmDelete"),variant:"danger",action:()=>s.deleteProvider(Ae)})}async function Dn(Ae){Ht.value=!0;try{await s.updateConfig(Ae)&&await s.checkAuth()}finally{Ht.value=!1}}async function Hn(){return s.startOAuthLogin()}async function Qn(){return s.pollOAuthLogin()}async function ys(){return s.cancelOAuthLogin()}async function vn(){Xt.value=!1,await s.checkAuth(),await s.load()}async function os(Ae){await s.undo(1),await Ke(),Rt.value?.loadComposerForEdit(Ae.text,Ae.attachments)}function zn(Ae){if(Ae.skillActivation?.name){s.activateSkill(Ae.skillActivation.name,Ae.skillActivation.args);return}const j=(Ae.attachments??[]).filter(J=>J.fileId!==void 0).map(J=>({fileId:J.fileId,kind:J.kind,name:J.name,mediaType:J.mediaType,size:J.size}));s.sendPrompt(Ae.text,j)}function is(Ae,j){if(Ae==="/compact"||Ae.startsWith("/compact ")){s.compact(Ae.slice(8).trim()||void 0);return}if(Ae==="/swarm"||Ae.startsWith("/swarm ")){const J=Ae.slice(6).trim();J==="on"?s.setSwarmMode(!0):J==="off"?s.setSwarmMode(!1):J?(s.setSwarmMode(!0),s.sendPrompt(J)):s.toggleSwarmMode();return}if(Ae==="/goal"||Ae.startsWith("/goal ")){const J=Ae.slice(5).trim();J==="pause"||J==="resume"||J==="cancel"?s.controlGoal(J):J?s.createGoal(J):s.setGoalMode(!0);return}if(Ae==="/btw"||Ae.startsWith("/btw ")){const J=Ae.slice(4).trim();!J&&s.sideChatVisible.value?Zt():$t(J||void 0);return}switch(Ae){case"/new":case"/clear":Fn();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(T(s.thinking.value));break;case"/status":ct.value=!0;break;case"/login":Ut();break;default:{const J=Ae.indexOf(" "),ft=h9((J===-1?Ae:Ae.slice(0,J)).slice(1)),Nn=J===-1?void 0:Ae.slice(J+1).trim()||void 0;if(!ft)break;!s.activeSessionId.value&&s.activeWorkspaceId.value?s.startSessionAndActivateSkill(s.activeWorkspaceId.value,ft,Nn,j):s.activateSkill(ft,Nn,void 0,j);break}}}function as(Ae){s.unqueue(Ae)}function Es(Ae){s.unqueue(Ae)}function ks(Ae){s.reorderQueue(Ae.from,Ae.to)}async function wn(Ae){const j=s.activeWorkspaceId.value;if(!s.activeSessionId.value&&j){await s.startSessionAndSendPrompt(j,Ae.text,Ae.attachments);return}if(!s.activeSessionId.value&&!j){on.value=Ae,Wt.value=!0;return}s.sendPrompt(Ae.text,Ae.attachments)}async function Ls(Ae){if(Jt.value=null,!await s.addWorkspaceByPath(Ae)){Jt.value=i("workspace.addFailed");return}Wt.value=!1;const J=on.value;on.value=null;const ft=s.activeWorkspaceId.value;J&&ft&&await s.startSessionAndSendPrompt(ft,J.text,J.attachments)}function Gs(){on.value=null,Jt.value=null,Wt.value=!1}function Bs(){Ke(()=>{Rt.value?.focusComposer()})}function Fn(){const Ae=s.activeWorkspaceId.value;Ae?s.openWorkspaceDraft(Ae):s.clearActiveSession(),Bs()}function bs(Ae){s.openWorkspaceDraft(Ae),Bs()}function ws(Ae){Ae&&window.open(Ae,"_blank","noopener")}return(Ae,j)=>(a(),c("div",mq,[o.value?(a(),G(cq,{key:0})):A("",!0),l(g)?(a(),c("section",vq,[r("div",hq,[(a(),c("svg",{ref_key:"authLogoRef",ref:y,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:j[0]||(j[0]=Re(()=>{},["prevent"])),onClick:j[1]||(j[1]=(...J)=>l(k)&&l(k)(...J))},[...j[104]||(j[104]=[sl(' ',2)])],544)),r("div",gq,[r("h1",null,d(l(i)("app.authPageTitle")),1),r("p",null,d(l(i)("app.authPageMessage")),1)]),M(qe,{class:"auth-page-btn",variant:"primary",onClick:Ut},{default:H(()=>[M(se,{name:"log-in",size:"md"}),r("span",null,d(l(i)("app.authPageLogin")),1)]),_:1})])])):(a(),c("div",{key:2,class:fe(["app",{mobile:l(f),"sidebar-collapsed":l(ve)&&!l(f),"macos-desktop":l(Eo)}]),style:rt({"--preview-w":l(At)+"px"})},[l(f)?(a(),G(lz,{key:1,workspace:l(s).visibleWorkspace.value,"session-title":h.value,running:_.value,branch:l(s).status.value.branch,"session-count":m.value,onOpenSwitcher:j[19]||(j[19]=J=>w.value=!0),onOpenSettings:j[20]||(j[20]=J=>x.value=!0)},null,8,["workspace","session-title","running","branch","session-count"])):(a(),c(he,{key:0},[M(z3,{collapsed:l(ve),dragging:l(R),"col-width":l(X),"active-workspace":l(s).visibleWorkspace.value,"active-workspace-id":l(s).activeWorkspaceId.value,sessions:l(s).sessionsForView.value,groups:l(s).workspaceGroups.value,"pinned-session-ids":l(s).pinnedSessionIds.value,"active-id":l(s).activeSessionId.value,"attention-by-session":l(s).attentionBySession.value,"pending-by-session":l(s).pendingBySession.value,"unread-by-session":l(s).unreadBySession.value,"workspace-sort-mode":l(s).workspaceSortMode.value,backend:l(s).backend.value,onSelect:j[2]||(j[2]=J=>l(s).selectSession(J)),onCreate:Fn,onCreateInWorkspace:j[3]||(j[3]=J=>bs(J)),onSelectWorkspace:j[4]||(j[4]=J=>l(s).openWorkspace(J)),onAddWorkspace:j[5]||(j[5]=J=>Wt.value=!0),onRename:j[6]||(j[6]=(J,ft)=>l(s).renameSession(J,ft)),onArchive:j[7]||(j[7]=J=>ss(J)),onFork:j[8]||(j[8]=J=>l(s).forkSession(J)),onExport:j[9]||(j[9]=J=>l(s).exportSession(J)),onRenameWorkspace:j[10]||(j[10]=(J,ft)=>l(s).renameWorkspace(J,ft)),onDeleteWorkspace:j[11]||(j[11]=J=>On(J)),onReorderWorkspaces:j[12]||(j[12]=J=>l(s).reorderWorkspaces(J)),onSetWorkspaceSortMode:j[13]||(j[13]=J=>l(s).setWorkspaceSortMode(J)),onLoadMoreSessions:j[14]||(j[14]=J=>void l(s).loadMoreSessions(J)),onLoadAllSessions:j[15]||(j[15]=J=>void l(s).loadAllSessions()),onOpenSettings:j[16]||(j[16]=J=>lt.value=!0),onCollapse:l(He)},null,8,["collapsed","dragging","col-width","active-workspace","active-workspace-id","sessions","groups","pinned-session-ids","active-id","attention-by-session","pending-by-session","unread-by-session","workspace-sort-mode","backend","onCollapse"]),gt(M(Dr,{class:"side-handle","storage-key":l(ae),"default-width":l(ee),min:l(de),max:l(Be),"onUpdate:width":j[17]||(j[17]=J=>Y.value=J),"onUpdate:dragging":j[18]||(j[18]=J=>R.value=J)},null,8,["storage-key","default-width","min","max"]),[[Jn,!l(ve)]])],64)),M(aA,{ref_key:"conversationPaneRef",ref:Rt,mobile:l(f),turns:l(s).turns.value,"session-id":l(s).activeSessionId.value,approvals:l(s).pendingApprovals.value,changes:l(s).changes.value,"git-info":l(s).gitInfo.value,tasks:l(s).tasks.value,todos:l(s).todos.value,goal:l(s).goal.value,"activation-badges":l(s).activationBadges.value,status:l(s).status.value,thinking:l(s).thinking.value,"plan-mode":l(s).planMode.value,"plan-armed":l(s).planArmed.value,"swarm-mode":l(s).swarmMode.value,"supermoon-mode":l(s).supermoonMode.value,"goal-mode":l(s).goalMode.value,models:l(s).models.value,"starred-ids":l(s).starredModelIds.value,skills:l(s).skills.value,questions:l(s).questions.value,"pending-question-actions":l(s).pendingQuestionActions,"pending-approval-actions":l(s).pendingApprovalActions,running:_.value,"turn-active":l(s).turnActive.value,queued:l(s).queued.value,"search-files":l(s).searchFiles,"upload-image":l(s).uploadImage,working:l(s).working.value,"model-retry":l(s).modelRetry.value,starting:l(s).isStartingFirstPrompt.value,"fast-moon":l(s).fastMoon.value,"file-reload-key":l(s).activeSessionId.value,"session-loading":l(s).sessionLoading.value,compaction:l(s).compaction.value,"has-more-messages":l(s).hasMoreMessages.value,"loading-more":l(s).loadingMoreMessages.value,"loading-more-error":l(s).loadMoreMessagesError.value,"load-older-messages":l(s).loadOlderMessages,"workspace-name":l(s).visibleWorkspace.value?.name,"workspace-root":l(s).visibleWorkspace.value?.root??l(s).status.value.cwd,"git-diff-stats":l(s).gitDiffStats.value,workspaces:l(s).workspacesView.value,"active-workspace-id":l(s).activeWorkspaceId.value,"session-title":h.value,terminal:l(s).terminal,pr:l(s).activePullRequest.value,"conversation-toc":l(s).conversationToc.value,onOpenChanges:j[21]||(j[21]=J=>l(mn)()),onSelectWorkspace:j[22]||(j[22]=J=>bs(J)),onAddWorkspace:j[23]||(j[23]=J=>Wt.value=!0),onOpenPr:ws,onSubmit:j[24]||(j[24]=J=>wn(J)),onSteer:j[25]||(j[25]=J=>l(s).steerPrompt(J.text,J.attachments)),onApproval:j[26]||(j[26]=(J,ft)=>l(s).respondApproval(J,ft)),onCancelTask:j[27]||(j[27]=J=>l(s).cancelTask(J)),onAnswer:j[28]||(j[28]=(J,ft)=>l(s).respondQuestion(J,ft)),onDismiss:j[29]||(j[29]=J=>l(s).dismissQuestion(J)),onCommand:is,onInterrupt:j[30]||(j[30]=J=>l(s).abortCurrentPrompt()),onUnqueue:as,onEditQueued:Es,onReorderQueue:ks,onSetPermission:j[31]||(j[31]=J=>l(s).setPermission(J)),onSetThinking:j[32]||(j[32]=J=>l(s).setThinking(J)),onTogglePlan:j[33]||(j[33]=J=>l(s).togglePlanArm()),onToggleSwarm:j[34]||(j[34]=J=>l(s).toggleSwarmMode()),onToggleSupermoon:j[35]||(j[35]=J=>l(s).toggleSupermoonMode()),onToggleGoal:j[36]||(j[36]=J=>l(s).toggleGoalMode()),onDismissPlan:j[37]||(j[37]=J=>l(s).dismissPlanMode()),onControlGoal:j[38]||(j[38]=J=>l(s).controlGoal(J)),onRefreshGitStatus:j[39]||(j[39]=J=>l(s).activeSessionId.value&&l(s).loadGitStatus(l(s).activeSessionId.value)),onRenameSession:j[40]||(j[40]=(J,ft)=>l(s).renameSession(J,ft)),onForkSession:j[41]||(j[41]=J=>l(s).forkSession(J)),onArchiveSession:j[42]||(j[42]=J=>ss(J)),onExportSession:j[43]||(j[43]=J=>l(s).exportSession(J)),onCompact:j[44]||(j[44]=J=>l(s).compact()),onPickModel:j[45]||(j[45]=J=>Qt()),onSelectModel:j[46]||(j[46]=J=>Tn(J)),onOpenFile:j[47]||(j[47]=J=>l(te)(J)),onOpenMedia:j[48]||(j[48]=J=>l(Z).open(J)),onOpenThinking:j[49]||(j[49]=J=>l(dn)(J)),onOpenCompaction:j[50]||(j[50]=J=>l(nn)(J)),onOpenAgent:j[51]||(j[51]=J=>l(In)(J)),onOpenToolDiff:j[52]||(j[52]=J=>l(Nt)(J)),onEditMessage:os,onResumeTurn:zn},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","terminal","pr","conversation-toc"]),!l(f)&&(l(Eo)||l(ve))?(a(),G(nt,{key:2,class:"sidebar-toggle-btn",size:"sm",label:l(ve)?l(i)("sidebar.expandSidebar"):l(i)("sidebar.collapseSidebar"),onClick:l(He)},{default:H(()=>[M(se,{name:l(ve)?"panel-expand":"panel-collapse"},null,8,["name"])]),_:1},8,["label","onClick"])):A("",!0),l(Gt)&&!U.value?(a(),G(Dr,{key:3,class:"preview-handle","storage-key":l(De),"default-width":l(Fe),min:l(an),max:l(Ze),reverse:"","aria-label":l(i)("layout.resizePreviewAria"),"onUpdate:width":j[53]||(j[53]=J=>Ve.value=J),"onUpdate:dragging":j[54]||(j[54]=J=>kn.value=J)},null,8,["storage-key","default-width","min","max","aria-label"])):A("",!0),!U.value||l(Gt)?(a(),c("aside",{key:4,class:fe(["global-preview",{open:l(Gt),overlay:U.value,"no-anim":l(kn)||L.value}]),role:"complementary","aria-label":l(i)("layout.detailPanelAria"),"aria-hidden":!l(Gt)},[P.value==="thinking"&&l(Ct)?(a(),G(iu,{key:0,text:l(bt)??"",onClose:l(Kt)},null,8,["text","onClose"])):P.value==="compaction"&&l(hs)?(a(),G(iu,{key:1,text:l(zt)??"",subtitle:l(i)("conversation.summaryTitle"),onClose:l(ut)},null,8,["text","subtitle","onClose"])):P.value==="agent"&&l(Ft)?(a(),G(BT,{key:2,member:l(Ft),onClose:l(_t)},null,8,["member","onClose"])):P.value==="btw"&&l(Gn)?(a(),G(aP,{key:3,turns:l(s).sideChatTurns.value,running:l(s).sideChatRunning.value,sending:l(s).sideChatSending.value,onSend:j[55]||(j[55]=J=>l(s).sendSideChatPrompt(J)),onClose:l(Zt)},null,8,["turns","running","sending","onClose"])):P.value==="diff"?(a(),G(RP,{key:4,mode:l(Tt),changes:l(s).changes.value,"git-info":l(s).gitInfo.value,"file-diff":l(s).fileDiff.value,"selected-diff-path":l(s).selectedDiffPath.value,"file-diff-loading":l(s).fileDiffLoading.value,closable:"",onOpen:l(yn),onBack:j[56]||(j[56]=J=>{Tt.value="list",fn.value=null,l(s).clearFileDiff()}),onClose:l(Rn)},null,8,["mode","changes","git-info","file-diff","selected-diff-path","file-diff-loading","onOpen","onClose"])):P.value==="toolDiff"&&l(pn)?(a(),G(XT,{key:5,target:l(pn),onClose:l(gn)},null,8,["target","onClose"])):P.value==="file"?(a(),G(dT,{key:6,file:l(oe),loading:l(ge),error:l(ce),line:l(ne)?.line,"download-url":l(Q),closable:"","external-actions":l(ie),"open-file":l(te),onClose:l(ye),onOpenExternal:l(_e),onReveal:l(Ce)},null,8,["file","loading","error","line","download-url","external-actions","open-file","onClose","onOpenExternal","onReveal"])):A("",!0)],10,yq)):A("",!0),M(fq,{class:"internal-build-fab"}),sn.value?(a(),G(XP,{key:5,models:l(s).models.value,current:l(s).status.value.modelId,"starred-ids":l(s).starredModelIds.value,loading:we.value,unavailable:Ge.value,onSelect:j[57]||(j[57]=J=>Vt(J)),onToggleStar:j[58]||(j[58]=J=>l(s).toggleStarModel(J)),onClose:j[59]||(j[59]=J=>sn.value=!1)},null,8,["models","current","starred-ids","loading","unavailable"])):A("",!0),lt.value?(a(),G(NO,{key:6,"color-scheme":l(s).colorScheme.value,accent:l(s).accent.value,"ui-font-size":l(s).uiFontSize.value,"auth-ready":l(s).authReady.value,"account-model":l(s).defaultModel.value,notify:l(s).notifyOnComplete.value,"notify-question":l(s).notifyOnQuestion.value,"notify-approval":l(s).notifyOnApproval.value,"notify-permission":l(s).notifyPermission.value,sound:l(s).soundOnComplete.value,"conversation-toc":l(s).conversationToc.value,config:l(s).config.value,models:l(s).models.value,"config-saving":Ht.value,"server-version":l(s).serverVersion.value,backend:l(s).backend.value,onSetColorScheme:j[60]||(j[60]=J=>l(s).setColorScheme(J)),onSetAccent:j[61]||(j[61]=J=>l(s).setAccent(J)),onSetUiFontSize:j[62]||(j[62]=J=>l(s).setUiFontSize(J)),onSetNotify:j[63]||(j[63]=J=>l(s).setNotifyOnComplete(J)),onSetNotifyQuestion:j[64]||(j[64]=J=>l(s).setNotifyOnQuestion(J)),onSetNotifyApproval:j[65]||(j[65]=J=>l(s).setNotifyOnApproval(J)),onSetSound:j[66]||(j[66]=J=>l(s).setSoundOnComplete(J)),onSetConversationToc:j[67]||(j[67]=J=>l(s).setConversationToc(J)),onUpdateConfig:j[68]||(j[68]=J=>Dn(J)),onLogin:j[69]||(j[69]=()=>{lt.value=!1,Ut()}),onLogout:l(s).logout,onOpenOnboarding:j[70]||(j[70]=()=>{lt.value=!1,E()}),onOpenProviders:j[71]||(j[71]=()=>{lt.value=!1,Pt()}),onClose:j[72]||(j[72]=J=>lt.value=!1)},null,8,["color-scheme","accent","ui-font-size","auth-ready","account-model","notify","notify-question","notify-approval","notify-permission","sound","conversation-toc","config","models","config-saving","server-version","backend","onLogout"])):A("",!0),qt.value?(a(),G(VE,{key:7,providers:l(s).providers.value,loading:Je.value,unavailable:at.value,onAdd:j[73]||(j[73]=J=>gs(J)),onRefresh:j[74]||(j[74]=J=>Wn(J)),onDelete:j[75]||(j[75]=J=>en(J)),onImportCatalog:j[76]||(j[76]=J=>bn(J)),onImportRegistry:j[77]||(j[77]=J=>ns(J)),onOpenLogin:j[78]||(j[78]=()=>{qt.value=!1,Ut()}),onClose:j[79]||(j[79]=J=>qt.value=!1)},null,8,["providers","loading","unavailable"])):A("",!0),ct.value?(a(),G(ND,{key:8,status:l(s).status.value,thinking:S.value,"plan-mode":l(s).planMode.value,"swarm-mode":l(s).swarmMode.value,"supermoon-mode":l(s).supermoonMode.value,"cost-usd":l(s).sessionCost.value,onClose:j[80]||(j[80]=J=>ct.value=!1)},null,8,["status","thinking","plan-mode","swarm-mode","supermoon-mode","cost-usd"])):A("",!0),Wt.value?(a(),G(CD,{key:9,"browse-fs":l(s).browseFs,"get-fs-home":l(s).getFsHome,"default-path":l(s).visibleWorkspace.value?.root??l(s).status.value.cwd,error:Jt.value,onAdd:j[81]||(j[81]=J=>Ls(J)),onClose:Gs},null,8,["browse-fs","get-fs-home","default-path","error"])):A("",!0),M(Yo,{name:"gload-fade"},{default:H(()=>[l(s).initialized.value?A("",!0):(a(),G(dN,{key:0,issue:l(s).connectIssue.value},null,8,["issue"]))]),_:1}),l(s).initialized.value&&O.value&&!l(g)?(a(),G(oN,{key:10,onComplete:D,onSkip:D})):A("",!0),M(XD,{warnings:l(s).warnings.value,onDismiss:l(s).dismissWarning},null,8,["warnings","onDismiss"]),l(p)?(a(),G(qN,{key:11})):A("",!0),M(xD),l(f)?(a(),G(Tz,{key:12,modelValue:w.value,"onUpdate:modelValue":j[82]||(j[82]=J=>w.value=J),groups:l(s).workspaceGroups.value,"active-workspace-id":l(s).activeWorkspaceId.value,"active-id":l(s).activeSessionId.value,"attention-by-session":l(s).attentionBySession.value,"attention-by-workspace":l(s).attentionByWorkspace.value,onSelect:j[83]||(j[83]=J=>l(s).selectSession(J)),onCreate:Fn,onCreateInWorkspace:j[84]||(j[84]=J=>bs(J)),onAddWorkspace:j[85]||(j[85]=J=>Wt.value=!0),onRename:j[86]||(j[86]=(J,ft)=>l(s).renameSession(J,ft)),onArchive:j[87]||(j[87]=J=>ss(J)),onDeleteWorkspace:j[88]||(j[88]=J=>On(J)),onLoadMore:j[89]||(j[89]=J=>void l(s).loadMoreSessions(J))},null,8,["modelValue","groups","active-workspace-id","active-id","attention-by-session","attention-by-workspace"])):A("",!0),l(f)?(a(),G(jF,{key:13,modelValue:x.value,"onUpdate:modelValue":j[90]||(j[90]=J=>x.value=J),status:l(s).status.value,thinking:l(s).thinking.value,models:l(s).models.value,"plan-mode":l(s).planMode.value,"goal-mode":l(s).goalMode.value,"swarm-mode":l(s).swarmMode.value,"supermoon-mode":l(s).supermoonMode.value,"color-scheme":l(s).colorScheme.value,"ui-font-size":l(s).uiFontSize.value,"auth-ready":l(s).authReady.value,"conversation-toc":l(s).conversationToc.value,"server-version":l(s).serverVersion.value,onPickModel:j[91]||(j[91]=J=>Qt()),onSetThinking:j[92]||(j[92]=J=>l(s).setThinking(J)),onTogglePlan:j[93]||(j[93]=J=>l(s).togglePlanMode()),onToggleGoal:j[94]||(j[94]=J=>l(s).toggleGoalMode()),onToggleSwarm:j[95]||(j[95]=J=>l(s).toggleSwarmMode()),onToggleSupermoon:j[96]||(j[96]=J=>l(s).toggleSupermoonMode()),onSetPermission:j[97]||(j[97]=J=>l(s).setPermission(J)),onSetColorScheme:j[98]||(j[98]=J=>l(s).setColorScheme(J)),onSetUiFontSize:j[99]||(j[99]=J=>l(s).setUiFontSize(J)),onSetConversationToc:j[100]||(j[100]=J=>l(s).setConversationToc(J)),onLogin:j[101]||(j[101]=()=>{x.value=!1,Ut()}),onLogout:l(s).logout},null,8,["modelValue","status","thinking","models","plan-mode","goal-mode","swarm-mode","supermoon-mode","color-scheme","ui-font-size","auth-ready","conversation-toc","server-version","onLogout"])):A("",!0)],6)),Xt.value?(a(),G(SL,{key:3,"on-start-o-auth-login":Hn,"on-poll-o-auth-login":Qn,"on-cancel-o-auth-login":ys,onSuccess:vn,onClose:j[102]||(j[102]=J=>Xt.value=!1)})):A("",!0),M(NL,{state:l(Z).state.value,onClose:j[103]||(j[103]=J=>l(Z).close())},null,8,["state"])]))}}),bq=Ee(kq,[["__scopeId","data-v-59580251"]]);L0();yu(bq).use(pt).mount("#app");export{_q as I,se as _,Ee as a};
diff --git a/apps/kimi-code/dist-web/index.html b/apps/kimi-code/dist-web/index.html
index 9d3bcb5737d..1b2dafde153 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
-
+
-
+