@pimote/pimote 0.6.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/README.md +4 -1
  2. package/client/build/_app/immutable/assets/0.-er3OUWm.css +2 -0
  3. package/client/build/_app/immutable/assets/{2.bfMycywk.css → 2.BtlPyuHL.css} +1 -1
  4. package/client/build/_app/immutable/chunks/{DNqQZw5U.js → B1ItOytB.js} +2 -2
  5. package/client/build/_app/immutable/chunks/BiEvVL3P.js +1 -0
  6. package/client/build/_app/immutable/chunks/D8SptH3Y.js +1 -0
  7. package/client/build/_app/immutable/chunks/S8e8sMop.js +1 -0
  8. package/client/build/_app/immutable/chunks/{DHiuV2ft.js → b9CWRTHL.js} +1 -1
  9. package/client/build/_app/immutable/entry/{app.DZYoujEP.js → app.agj-hcVA.js} +2 -2
  10. package/client/build/_app/immutable/entry/start.NVZAE6Px.js +1 -0
  11. package/client/build/_app/immutable/nodes/0.DweM6Pbc.js +10 -0
  12. package/client/build/_app/immutable/nodes/{1.B5qlqMFD.js → 1.owr_UHNy.js} +1 -1
  13. package/client/build/_app/immutable/nodes/2.CQNU1AJj.js +55 -0
  14. package/client/build/_app/version.json +1 -1
  15. package/client/build/index.html +7 -7
  16. package/package.json +2 -2
  17. package/server/dist/config.js +5 -2
  18. package/server/dist/event-buffer.js +9 -0
  19. package/server/dist/extension-ui-bridge.js +26 -10
  20. package/server/dist/file-references.js +123 -0
  21. package/server/dist/git-branch.js +12 -9
  22. package/server/dist/login-orchestrator.js +105 -0
  23. package/server/dist/push-infrastructure.js +13 -2
  24. package/server/dist/push-notification.js +18 -11
  25. package/server/dist/server.js +25 -2
  26. package/server/dist/session-cost.js +26 -2
  27. package/server/dist/session-manager.js +109 -6
  28. package/server/dist/static-host/gc.js +13 -0
  29. package/server/dist/static-host/http-handler.js +27 -1
  30. package/server/dist/static-host/index.js +24 -12
  31. package/server/dist/static-host/store.js +10 -1
  32. package/server/dist/static-host/tools.js +5 -1
  33. package/server/dist/voice/fsm/reducer.js +14 -2
  34. package/server/dist/voice/fsm/reducers/lifecycle.js +10 -4
  35. package/server/dist/voice/fsm/reducers/streaming.js +39 -3
  36. package/server/dist/voice/fsm/reducers/walkback.js +13 -10
  37. package/server/dist/voice/fsm/state.js +1 -1
  38. package/server/dist/voice/index.js +97 -41
  39. package/server/dist/voice/walk-back.js +94 -26
  40. package/server/dist/voice-orchestrator-boot.js +22 -5
  41. package/server/dist/voice-orchestrator.js +38 -1
  42. package/server/dist/ws-handler.js +190 -63
  43. package/shared/dist/protocol.d.ts +91 -2
  44. package/client/build/_app/immutable/assets/0.Dh2gYJ1J.css +0 -2
  45. package/client/build/_app/immutable/chunks/Czpnrh9t.js +0 -1
  46. package/client/build/_app/immutable/chunks/D1mCuOEu.js +0 -1
  47. package/client/build/_app/immutable/chunks/DegHYiTr.js +0 -1
  48. package/client/build/_app/immutable/entry/start.BNnDRfmt.js +0 -1
  49. package/client/build/_app/immutable/nodes/0.B20DMuGn.js +0 -10
  50. package/client/build/_app/immutable/nodes/2.CZjPJM-S.js +0 -55
@@ -1,2 +0,0 @@
1
- /*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */
2
- @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-mono:"JetBrains Mono Variable", ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, Consolas, monospace;--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-orange-500:oklch(70.5% .213 47.604);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-500:oklch(79.5% .184 86.047);--color-yellow-600:oklch(68.1% .162 75.834);--color-green-500:oklch(72.3% .219 149.579);--color-emerald-300:oklch(84.5% .143 164.978);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-cyan-400:oklch(78.9% .154 211.53);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-rose-400:oklch(71.2% .194 13.428);--color-rose-500:oklch(64.5% .246 16.439);--color-gray-400:oklch(70.7% .022 261.325);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-3xl:48rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--tracking-widest:.1em;--radius-md:calc(var(--radius) * .8);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0, 0, .2, 1) infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-xs:4px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:"Inter Variable", sans-serif;--default-mono-font-family:"JetBrains Mono Variable", ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, Consolas, monospace}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){*{outline-color:color-mix(in oklab, var(--ring) 50%, transparent)}}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;height:100%;font-family:Inter Variable,sans-serif;overflow:hidden}body{background-color:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none;height:100%;overflow:hidden}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing) * 0)}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.-top-1{top:calc(var(--spacing) * -1)}.-top-1\.5{top:calc(var(--spacing) * -1.5)}.top-0{top:calc(var(--spacing) * 0)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-4{top:calc(var(--spacing) * 4)}.top-auto{top:auto}.-right-1{right:calc(var(--spacing) * -1)}.-right-1\.5{right:calc(var(--spacing) * -1.5)}.right-0{right:calc(var(--spacing) * 0)}.right-1\.5{right:calc(var(--spacing) * 1.5)}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-1\.5{bottom:calc(var(--spacing) * 1.5)}.bottom-3{bottom:calc(var(--spacing) * 3)}.bottom-full{bottom:100%}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.isolate{isolation:isolate}.-z-10{z-index:calc(10 * -1)}.z-10{z-index:10}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[60\]{z-index:60}.z-\[80\]{z-index:80}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.-mx-4{margin-inline:calc(var(--spacing) * -4)}.mx-0\.5{margin-inline:calc(var(--spacing) * .5)}.mx-3{margin-inline:calc(var(--spacing) * 3)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing) * 1)}.my-auto{margin-block:auto}.-mt-1{margin-top:calc(var(--spacing) * -1)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.-mr-1{margin-right:calc(var(--spacing) * -1)}.-mb-1{margin-bottom:calc(var(--spacing) * -1)}.-mb-4{margin-bottom:calc(var(--spacing) * -4)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.ml-0\.5{margin-left:calc(var(--spacing) * .5)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-16{width:calc(var(--spacing) * 16);height:calc(var(--spacing) * 16)}.size-32{width:calc(var(--spacing) * 32);height:calc(var(--spacing) * 32)}.size-full{width:100%;height:100%}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-12{height:calc(var(--spacing) * 12)}.h-16{height:calc(var(--spacing) * 16)}.h-dvh{height:100dvh}.h-full{height:100%}.h-px{height:1px}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-72{max-height:calc(var(--spacing) * 72)}.max-h-80{max-height:calc(var(--spacing) * 80)}.max-h-\[85dvh\]{max-height:85dvh}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-20{min-height:calc(var(--spacing) * 20)}.w-\(--bits-dropdown-menu-anchor-width\){width:var(--bits-dropdown-menu-anchor-width)}.w-5{width:calc(var(--spacing) * 5)}.w-16{width:calc(var(--spacing) * 16)}.w-70{width:calc(var(--spacing) * 70)}.w-72{width:calc(var(--spacing) * 72)}.w-80{width:calc(var(--spacing) * 80)}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-screen{width:100vw}.max-w-3xl{max-width:var(--container-3xl)}.max-w-48{max-width:calc(var(--spacing) * 48)}.max-w-\[6rem\]{max-width:6rem}.max-w-\[8rem\]{max-width:8rem}.max-w-\[60\%\]{max-width:60%}.max-w-\[80px\]{max-width:80px}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.max-w-full{max-width:100%}.max-w-md{max-width:var(--container-md)}.max-w-none{max-width:none}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-4{min-width:calc(var(--spacing) * 4)}.min-w-32{min-width:calc(var(--spacing) * 32)}.min-w-36{min-width:calc(var(--spacing) * 36)}.min-w-52{min-width:calc(var(--spacing) * 52)}.min-w-\[96px\]{min-width:96px}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-0{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-0{--tw-translate-y:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-90{rotate:90deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-in{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.animate-ping{animation:var(--animate-ping)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.touch-none{touch-action:none}.resize{resize:both}.resize-none{resize:none}.resize-y{resize:vertical}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0{gap:calc(var(--spacing) * 0)}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}.self-stretch{align-self:stretch}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:calc(var(--radius) * 1.8)}.rounded-4xl{border-radius:calc(var(--radius) * 2.6)}.rounded-\[inherit\]{border-radius:inherit}.rounded-\[min\(var\(--radius-md\)\,10px\)\]{border-radius:min(var(--radius-md), 10px)}.rounded-\[min\(var\(--radius-md\)\,12px\)\]{border-radius:min(var(--radius-md), 12px)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) * .8)}.rounded-none{border-radius:0}.rounded-xl{border-radius:calc(var(--radius) * 1.4)}.rounded-t-2xl{border-top-left-radius:calc(var(--radius) * 1.8);border-top-right-radius:calc(var(--radius) * 1.8)}.rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.rounded-b-xl{border-bottom-right-radius:calc(var(--radius) * 1.4);border-bottom-left-radius:calc(var(--radius) * 1.4)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-amber-500\/20{border-color:#f99c0033}@supports (color:color-mix(in lab, red, red)){.border-amber-500\/20{border-color:color-mix(in oklab, var(--color-amber-500) 20%, transparent)}}.border-amber-500\/40{border-color:#f99c0066}@supports (color:color-mix(in lab, red, red)){.border-amber-500\/40{border-color:color-mix(in oklab, var(--color-amber-500) 40%, transparent)}}.border-amber-500\/60{border-color:#f99c0099}@supports (color:color-mix(in lab, red, red)){.border-amber-500\/60{border-color:color-mix(in oklab, var(--color-amber-500) 60%, transparent)}}.border-blue-500\/20{border-color:#3080ff33}@supports (color:color-mix(in lab, red, red)){.border-blue-500\/20{border-color:color-mix(in oklab, var(--color-blue-500) 20%, transparent)}}.border-border,.border-border\/50{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-border\/50{border-color:color-mix(in oklab, var(--border) 50%, transparent)}}.border-border\/60{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-border\/60{border-color:color-mix(in oklab, var(--border) 60%, transparent)}}.border-destructive\/30{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.border-destructive\/30{border-color:color-mix(in oklab, var(--destructive) 30%, transparent)}}.border-emerald-500\/20{border-color:#00bb7f33}@supports (color:color-mix(in lab, red, red)){.border-emerald-500\/20{border-color:color-mix(in oklab, var(--color-emerald-500) 20%, transparent)}}.border-emerald-500\/70{border-color:#00bb7fb3}@supports (color:color-mix(in lab, red, red)){.border-emerald-500\/70{border-color:color-mix(in oklab, var(--color-emerald-500) 70%, transparent)}}.border-input{border-color:var(--input)}.border-muted-foreground\/30{border-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.border-muted-foreground\/30{border-color:color-mix(in oklab, var(--muted-foreground) 30%, transparent)}}.border-primary,.border-primary\/40{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.border-primary\/40{border-color:color-mix(in oklab, var(--primary) 40%, transparent)}}.border-red-500\/20{border-color:#fb2c3633}@supports (color:color-mix(in lab, red, red)){.border-red-500\/20{border-color:color-mix(in oklab, var(--color-red-500) 20%, transparent)}}.border-rose-500\/40{border-color:#ff235766}@supports (color:color-mix(in lab, red, red)){.border-rose-500\/40{border-color:color-mix(in oklab, var(--color-rose-500) 40%, transparent)}}.border-sidebar-border{border-color:var(--sidebar-border)}.border-transparent{border-color:#0000}.border-warning\/30{border-color:var(--warning)}@supports (color:color-mix(in lab, red, red)){.border-warning\/30{border-color:color-mix(in oklab, var(--warning) 30%, transparent)}}.border-yellow-500\/30{border-color:#edb2004d}@supports (color:color-mix(in lab, red, red)){.border-yellow-500\/30{border-color:color-mix(in oklab, var(--color-yellow-500) 30%, transparent)}}.border-l-green-500{border-left-color:var(--color-green-500)}.border-l-muted-foreground{border-left-color:var(--muted-foreground)}.border-l-primary{border-left-color:var(--primary)}.border-l-red-500{border-left-color:var(--color-red-500)}.border-l-yellow-500{border-left-color:var(--color-yellow-500)}.bg-accent{background-color:var(--accent)}.bg-amber-400{background-color:var(--color-amber-400)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-amber-500\/10{background-color:#f99c001a}@supports (color:color-mix(in lab, red, red)){.bg-amber-500\/10{background-color:color-mix(in oklab, var(--color-amber-500) 10%, transparent)}}.bg-amber-500\/15{background-color:#f99c0026}@supports (color:color-mix(in lab, red, red)){.bg-amber-500\/15{background-color:color-mix(in oklab, var(--color-amber-500) 15%, transparent)}}.bg-background,.bg-background\/80{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.bg-background\/80{background-color:color-mix(in oklab, var(--background) 80%, transparent)}}.bg-background\/95{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.bg-background\/95{background-color:color-mix(in oklab, var(--background) 95%, transparent)}}.bg-black\/10{background-color:#0000001a}@supports (color:color-mix(in lab, red, red)){.bg-black\/10{background-color:color-mix(in oklab, var(--color-black) 10%, transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab, red, red)){.bg-black\/50{background-color:color-mix(in oklab, var(--color-black) 50%, transparent)}}.bg-black\/60{background-color:#0009}@supports (color:color-mix(in lab, red, red)){.bg-black\/60{background-color:color-mix(in oklab, var(--color-black) 60%, transparent)}}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-500\/10{background-color:#3080ff1a}@supports (color:color-mix(in lab, red, red)){.bg-blue-500\/10{background-color:color-mix(in oklab, var(--color-blue-500) 10%, transparent)}}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-cyan-400{background-color:var(--color-cyan-400)}.bg-destructive,.bg-destructive\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.bg-destructive\/10{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.bg-emerald-400{background-color:var(--color-emerald-400)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-emerald-500\/10{background-color:#00bb7f1a}@supports (color:color-mix(in lab, red, red)){.bg-emerald-500\/10{background-color:color-mix(in oklab, var(--color-emerald-500) 10%, transparent)}}.bg-emerald-500\/15{background-color:#00bb7f26}@supports (color:color-mix(in lab, red, red)){.bg-emerald-500\/15{background-color:color-mix(in oklab, var(--color-emerald-500) 15%, transparent)}}.bg-emerald-500\/20{background-color:#00bb7f33}@supports (color:color-mix(in lab, red, red)){.bg-emerald-500\/20{background-color:color-mix(in oklab, var(--color-emerald-500) 20%, transparent)}}.bg-emerald-500\/90{background-color:#00bb7fe6}@supports (color:color-mix(in lab, red, red)){.bg-emerald-500\/90{background-color:color-mix(in oklab, var(--color-emerald-500) 90%, transparent)}}.bg-gray-400{background-color:var(--color-gray-400)}.bg-muted,.bg-muted\/30{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/30{background-color:color-mix(in oklab, var(--muted) 30%, transparent)}}.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/50{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.bg-orange-500{background-color:var(--color-orange-500)}.bg-popover{background-color:var(--popover)}.bg-primary,.bg-primary\/15{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/15{background-color:color-mix(in oklab, var(--primary) 15%, transparent)}}.bg-red-500{background-color:var(--color-red-500)}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab, red, red)){.bg-red-500\/10{background-color:color-mix(in oklab, var(--color-red-500) 10%, transparent)}}.bg-rose-500\/10{background-color:#ff23571a}@supports (color:color-mix(in lab, red, red)){.bg-rose-500\/10{background-color:color-mix(in oklab, var(--color-rose-500) 10%, transparent)}}.bg-secondary{background-color:var(--secondary)}.bg-sidebar{background-color:var(--sidebar)}.bg-sidebar-accent{background-color:var(--sidebar-accent)}.bg-status-connected{background-color:var(--status-connected)}.bg-status-error{background-color:var(--status-error)}.bg-status-reconnecting{background-color:var(--status-reconnecting)}.bg-status-streaming{background-color:var(--status-streaming)}.bg-transparent{background-color:#0000}.bg-warning,.bg-warning\/10{background-color:var(--warning)}@supports (color:color-mix(in lab, red, red)){.bg-warning\/10{background-color:color-mix(in oklab, var(--warning) 10%, transparent)}}.bg-yellow-500\/10{background-color:#edb2001a}@supports (color:color-mix(in lab, red, red)){.bg-yellow-500\/10{background-color:color-mix(in oklab, var(--color-yellow-500) 10%, transparent)}}.bg-clip-padding{background-clip:padding-box}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing) * 0)}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:calc(var(--spacing) * 1)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-8{padding:calc(var(--spacing) * 8)}.p-px{padding:1px}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.pt-1{padding-top:calc(var(--spacing) * 1)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pr-11{padding-right:calc(var(--spacing) * 11)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-\[max\(env\(safe-area-inset-bottom\)\,8px\)\]{padding-bottom:max(env(safe-area-inset-bottom), 8px)}.pl-1\.5{padding-left:calc(var(--spacing) * 1.5)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-4{padding-left:calc(var(--spacing) * 4)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:JetBrains Mono Variable,ui-monospace,Cascadia Code,Source Code Pro,Menlo,Consolas,monospace}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.8rem\]{font-size:.8rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-4{--tw-leading:calc(var(--spacing) * 4);line-height:calc(var(--spacing) * 4)}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.break-words{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-amber-300{color:var(--color-amber-300)}.text-amber-400{color:var(--color-amber-400)}.text-amber-400\/90{color:#fcbb00e6}@supports (color:color-mix(in lab, red, red)){.text-amber-400\/90{color:color-mix(in oklab, var(--color-amber-400) 90%, transparent)}}.text-amber-600{color:var(--color-amber-600)}.text-blue-600{color:var(--color-blue-600)}.text-destructive{color:var(--destructive)}.text-emerald-300{color:var(--color-emerald-300)}.text-emerald-600{color:var(--color-emerald-600)}.text-foreground{color:var(--foreground)}.text-muted-foreground,.text-muted-foreground\/60{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\/60{color:color-mix(in oklab, var(--muted-foreground) 60%, transparent)}}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground,.text-primary-foreground\/50{color:var(--primary-foreground)}@supports (color:color-mix(in lab, red, red)){.text-primary-foreground\/50{color:color-mix(in oklab, var(--primary-foreground) 50%, transparent)}}.text-red-400{color:var(--color-red-400)}.text-red-600{color:var(--color-red-600)}.text-rose-400\/90{color:#ff667fe6}@supports (color:color-mix(in lab, red, red)){.text-rose-400\/90{color:color-mix(in oklab, var(--color-rose-400) 90%, transparent)}}.text-secondary-foreground,.text-secondary-foreground\/50{color:var(--secondary-foreground)}@supports (color:color-mix(in lab, red, red)){.text-secondary-foreground\/50{color:color-mix(in oklab, var(--secondary-foreground) 50%, transparent)}}.text-sidebar-foreground{color:var(--sidebar-foreground)}.text-warning{color:var(--warning)}.text-warning-foreground{color:var(--warning-foreground)}.text-white{color:var(--color-white)}.text-yellow-600{color:var(--color-yellow-600)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-foreground\/10{--tw-ring-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.ring-foreground\/10{--tw-ring-color:color-mix(in oklab, var(--foreground) 10%, transparent)}}.ring-ring{--tw-ring-color:var(--ring)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[transform\,opacity\]{transition-property:transform,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-\[80ms\]{--tw-duration:80ms;transition-duration:80ms}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.running{animation-play-state:running}.slide-in-from-bottom{--tw-enter-translate-y:100%}.group-focus\/dropdown-menu-item\:text-accent-foreground:is(:where(.group\/dropdown-menu-item):focus *){color:var(--accent-foreground)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-6::file-selector-button{height:calc(var(--spacing) * 6)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}@media (hover:hover){.hover\:border-muted-foreground\/50:hover{border-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.hover\:border-muted-foreground\/50:hover{border-color:color-mix(in oklab, var(--muted-foreground) 50%, transparent)}}.hover\:bg-accent:hover,.hover\:bg-accent\/50:hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-accent\/50:hover{background-color:color-mix(in oklab, var(--accent) 50%, transparent)}}.hover\:bg-accent\/60:hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-accent\/60:hover{background-color:color-mix(in oklab, var(--accent) 60%, transparent)}}.hover\:bg-destructive:hover,.hover\:bg-destructive\/10:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/10:hover{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.hover\:bg-destructive\/20:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/20:hover{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.hover\:bg-destructive\/80:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/80:hover{background-color:color-mix(in oklab, var(--destructive) 80%, transparent)}}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab, var(--destructive) 90%, transparent)}}.hover\:bg-emerald-500:hover{background-color:var(--color-emerald-500)}.hover\:bg-muted:hover{background-color:var(--muted)}.hover\:bg-primary-foreground\/20:hover{background-color:var(--primary-foreground)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary-foreground\/20:hover{background-color:color-mix(in oklab, var(--primary-foreground) 20%, transparent)}}.hover\:bg-primary\/80:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/80:hover{background-color:color-mix(in oklab, var(--primary) 80%, transparent)}}.hover\:bg-primary\/85:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/85:hover{background-color:color-mix(in oklab, var(--primary) 85%, transparent)}}.hover\:bg-secondary-foreground\/20:hover{background-color:var(--secondary-foreground)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary-foreground\/20:hover{background-color:color-mix(in oklab, var(--secondary-foreground) 20%, transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.hover\:bg-sidebar-accent:hover{background-color:var(--sidebar-accent)}.hover\:bg-status-streaming\/80:hover{background-color:var(--status-streaming)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-status-streaming\/80:hover{background-color:color-mix(in oklab, var(--status-streaming) 80%, transparent)}}.hover\:bg-warning\/20:hover{background-color:var(--warning)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-warning\/20:hover{background-color:color-mix(in oklab, var(--warning) 20%, transparent)}}.hover\:bg-warning\/80:hover{background-color:var(--warning)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-warning\/80:hover{background-color:color-mix(in oklab, var(--warning) 80%, transparent)}}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-muted-foreground:hover{color:var(--muted-foreground)}.hover\:text-primary-foreground:hover{color:var(--primary-foreground)}.hover\:text-secondary-foreground:hover{color:var(--secondary-foreground)}.hover\:text-sidebar-foreground:hover{color:var(--sidebar-foreground)}.hover\:underline:hover{text-decoration-line:underline}}.focus\:border-ring:focus{border-color:var(--ring)}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:bg-destructive\/10:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus\:bg-destructive\/10:focus{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.focus\:text-accent-foreground:focus{color:var(--accent-foreground)}.focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}:is(.focus\:\*\*\:text-accent-foreground:focus *),:is(.not-data-\[variant\=destructive\]\:focus\:\*\*\:text-accent-foreground:not([data-variant=destructive]):focus *){color:var(--accent-foreground)}.focus-visible\:border-destructive\/40:focus-visible{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:border-destructive\/40:focus-visible{border-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-3:focus-visible,.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.focus-visible\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.active\:translate-y-px:active{--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.active\:scale-\[0\.97\]:active{scale:.97}.active\:bg-accent:active,.active\:bg-accent\/70:active{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.active\:bg-accent\/70:active{background-color:color-mix(in oklab, var(--accent) 70%, transparent)}}.active\:bg-destructive\/10:active{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.active\:bg-destructive\/10:active{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.active\:bg-destructive\/70:active{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.active\:bg-destructive\/70:active{background-color:color-mix(in oklab, var(--destructive) 70%, transparent)}}.active\:bg-primary\/70:active{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.active\:bg-primary\/70:active{background-color:color-mix(in oklab, var(--primary) 70%, transparent)}}.active\:bg-sidebar-accent\/80:active{background-color:var(--sidebar-accent)}@supports (color:color-mix(in lab, red, red)){.active\:bg-sidebar-accent\/80:active{background-color:color-mix(in oklab, var(--sidebar-accent) 80%, transparent)}}.active\:bg-status-streaming\/70:active{background-color:var(--status-streaming)}@supports (color:color-mix(in lab, red, red)){.active\:bg-status-streaming\/70:active{background-color:color-mix(in oklab, var(--status-streaming) 70%, transparent)}}.active\:text-accent-foreground:active{color:var(--accent-foreground)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-input\/50:disabled{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.disabled\:bg-input\/50:disabled{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}:where([data-slot=button-group]) .in-data-\[slot\=button-group\]\:rounded-lg{border-radius:var(--radius)}.has-data-\[icon\=inline-end\]\:pr-1\.5:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 1.5)}.has-data-\[icon\=inline-end\]\:pr-2:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 2)}.has-data-\[icon\=inline-end\]\:pr-3:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 3)}.has-data-\[icon\=inline-start\]\:pl-1\.5:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 1.5)}.has-data-\[icon\=inline-start\]\:pl-2:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 2)}.has-data-\[icon\=inline-start\]\:pl-3:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 3)}.aria-expanded\:bg-muted[aria-expanded=true]{background-color:var(--muted)}.aria-expanded\:bg-secondary[aria-expanded=true]{background-color:var(--secondary)}.aria-expanded\:text-foreground[aria-expanded=true]{color:var(--foreground)}.aria-expanded\:text-secondary-foreground[aria-expanded=true]{color:var(--secondary-foreground)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-3[aria-invalid=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.data-inset\:pl-7[data-inset]{padding-left:calc(var(--spacing) * 7)}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[inset\]\:ps-8[data-inset]{padding-inline-start:calc(var(--spacing) * 8)}.data-\[inset\]\:pl-8[data-inset]{padding-left:calc(var(--spacing) * 8)}.data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\[side\=inline-end\]\:slide-in-from-left-2[data-side=inline-end]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=inline-start\]\:slide-in-from-right-2[data-side=inline-start],.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.data-\[variant\=destructive\]\:text-destructive[data-variant=destructive]{color:var(--destructive)}.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.data-\[variant\=destructive\]\:focus\:text-destructive[data-variant=destructive]:focus{color:var(--destructive)}@supports ((-webkit-backdrop-filter:var(--tw)) or (backdrop-filter:var(--tw))){.supports-backdrop-filter\:backdrop-blur-xs{--tw-backdrop-blur:blur(var(--blur-xs));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}}@media (width>=40rem){.sm\:top-1\/2{top:50%}.sm\:left-1\/2{left:50%}.sm\:line-clamp-4{-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.sm\:block{display:block}.sm\:hidden{display:none}.sm\:inline{display:inline}.sm\:h-\[min\(92dvh\,960px\)\]{height:min(92dvh,960px)}.sm\:max-h-none{max-height:none}.sm\:w-\[min\(96vw\,1080px\)\]{width:min(96vw,1080px)}.sm\:w-\[min\(96vw\,1280px\)\]{width:min(96vw,1280px)}.sm\:w-auto{width:auto}.sm\:max-w-\[min\(96vw\,1080px\)\]{max-width:min(96vw,1080px)}.sm\:max-w-\[min\(96vw\,1280px\)\]{max-width:min(96vw,1280px)}.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:max-w-md{max-width:var(--container-md)}.sm\:max-w-sm{max-width:var(--container-sm)}.sm\:-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.sm\:-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:items-start{align-items:flex-start}.sm\:justify-between{justify-content:space-between}.sm\:justify-end{justify-content:flex-end}.sm\:gap-4{gap:calc(var(--spacing) * 4)}.sm\:rounded-xl{border-radius:calc(var(--radius) * 1.4)}.sm\:p-4{padding:calc(var(--spacing) * 4)}.sm\:px-0{padding-inline:calc(var(--spacing) * 0)}.sm\:px-3{padding-inline:calc(var(--spacing) * 3)}.sm\:px-5{padding-inline:calc(var(--spacing) * 5)}.sm\:py-0{padding-block:calc(var(--spacing) * 0)}}@media (width>=48rem){.md\:relative{position:relative}.md\:z-0{z-index:0}.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:translate-x-0{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.md\:opacity-0{opacity:0}@media (hover:hover){.md\:group-hover\/chip\:opacity-100:is(:where(.group\/chip):hover *){opacity:1}}}.dark\:border-input:is(.dark *){border-color:var(--input)}.dark\:bg-destructive\/20:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-destructive\/20:is(.dark *){background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.dark\:text-amber-400:is(.dark *){color:var(--color-amber-400)}.dark\:text-blue-400:is(.dark *){color:var(--color-blue-400)}.dark\:text-emerald-400:is(.dark *){color:var(--color-emerald-400)}.dark\:text-red-400:is(.dark *){color:var(--color-red-400)}.dark\:text-yellow-400:is(.dark *){color:var(--color-yellow-400)}@media (hover:hover){.dark\:hover\:bg-destructive\/30:is(.dark *):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-destructive\/30:is(.dark *):hover{background-color:color-mix(in oklab, var(--destructive) 30%, transparent)}}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.dark\:hover\:bg-muted\/50:is(.dark *):hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-muted\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}}.dark\:focus\:bg-destructive\/20:is(.dark *):focus{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:focus\:bg-destructive\/20:is(.dark *):focus{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:disabled\:bg-input\/80:is(.dark *):disabled{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:disabled\:bg-input\/80:is(.dark *):disabled{background-color:color-mix(in oklab, var(--input) 80%, transparent)}}.dark\:aria-invalid\:border-destructive\/50:is(.dark *)[aria-invalid=true]{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:border-destructive\/50:is(.dark *)[aria-invalid=true]{border-color:color-mix(in oklab, var(--destructive) 50%, transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:is(.dark *)[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:is(.dark *)[data-variant=destructive]:focus{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.data-open\:animate-in:where([data-state=open]),.data-open\:animate-in:where([data-open]:not([data-open=false])){animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-open\:bg-accent:where([data-state=open]),.data-open\:bg-accent:where([data-open]:not([data-open=false])){background-color:var(--accent)}.data-open\:text-accent-foreground:where([data-state=open]),.data-open\:text-accent-foreground:where([data-open]:not([data-open=false])){color:var(--accent-foreground)}.data-open\:fade-in-0:where([data-state=open]),.data-open\:fade-in-0:where([data-open]:not([data-open=false])){--tw-enter-opacity:0}.data-open\:zoom-in-95:where([data-state=open]),.data-open\:zoom-in-95:where([data-open]:not([data-open=false])){--tw-enter-scale:.95}.data-closed\:animate-out:where([data-state=closed]),.data-closed\:animate-out:where([data-closed]:not([data-closed=false])){animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-closed\:overflow-hidden:where([data-state=closed]),.data-closed\:overflow-hidden:where([data-closed]:not([data-closed=false])){overflow:hidden}.data-closed\:fade-out-0:where([data-state=closed]),.data-closed\:fade-out-0:where([data-closed]:not([data-closed=false])){--tw-exit-opacity:0}.data-closed\:zoom-out-95:where([data-state=closed]),.data-closed\:zoom-out-95:where([data-closed]:not([data-closed=false])){--tw-exit-scale:.95}.data-disabled\:pointer-events-none:where([data-disabled=true]),.data-disabled\:pointer-events-none:where([data-disabled]:not([data-disabled=false])){pointer-events:none}.data-disabled\:opacity-50:where([data-disabled=true]),.data-disabled\:opacity-50:where([data-disabled]:not([data-disabled=false])){opacity:.5}.data-horizontal\:h-2\.5:where([data-orientation=horizontal]){height:calc(var(--spacing) * 2.5)}.data-horizontal\:flex-col:where([data-orientation=horizontal]){flex-direction:column}.data-horizontal\:border-t:where([data-orientation=horizontal]){border-top-style:var(--tw-border-style);border-top-width:1px}.data-horizontal\:border-t-transparent:where([data-orientation=horizontal]){border-top-color:#0000}.data-vertical\:h-full:where([data-orientation=vertical]){height:100%}.data-vertical\:w-2\.5:where([data-orientation=vertical]){width:calc(var(--spacing) * 2.5)}.data-vertical\:border-l:where([data-orientation=vertical]){border-left-style:var(--tw-border-style);border-left-width:1px}.data-vertical\:border-l-transparent:where([data-orientation=vertical]){border-left-color:#0000}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5 svg:not([class*=size-]){width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}:is(.\*\:\[a\]\:underline>*):is(a){text-decoration-line:underline}:is(.\*\:\[a\]\:underline-offset-3>*):is(a){text-underline-offset:3px}@media (hover:hover){.\[a\]\:hover\:bg-destructive\/20:is(a):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.\[a\]\:hover\:bg-destructive\/20:is(a):hover{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.\[a\]\:hover\:bg-muted:is(a):hover{background-color:var(--muted)}.\[a\]\:hover\:bg-primary\/80:is(a):hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.\[a\]\:hover\:bg-primary\/80:is(a):hover{background-color:color-mix(in oklab, var(--primary) 80%, transparent)}}.\[a\]\:hover\:bg-secondary\/80:is(a):hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.\[a\]\:hover\:bg-secondary\/80:is(a):hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.\[a\]\:hover\:text-muted-foreground:is(a):hover{color:var(--muted-foreground)}:is(.\*\:\[a\]\:hover\:text-foreground>*):is(a):hover{color:var(--foreground)}}:is(.data-\[variant\=destructive\]\:\*\:\[svg\]\:text-destructive[data-variant=destructive]>*):is(svg){color:var(--destructive)}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3\!>svg{width:calc(var(--spacing) * 3)!important;height:calc(var(--spacing) * 3)!important}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-wght-normal.DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-ext-wght-normal.DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-wght-normal.CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-vietnamese-wght-normal.CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-ext-wght-normal.DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-wght-normal.Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAfsABQAAAAAEAwAAAeCAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoP0hWQVJbBmA/U1RBVIFiJyYAdC9qEQgKhGSEAAsgADCGCAE2AiQDOgQgBYlMB4EUDAcbLQ4onoexrSC/2ZyLAa8p8VHB8/x3Vue+V0hVJalMJg2nx/TCrQXxBeqLjQG7FyM1WEa/X1tEXN7cFz9EJEMmMUz3RihWSSKeQCbcIou0izz/C8v+fq3VfajEa9gDD11CImXS7qL/RJFVzC1qiB6KmKeD6TZdQ6IRGv78dL6uSVVCfgni5mzu7kcgQBgAEAQTQRCoL++STTYybkJxNfQxAAIAGu8OdEB9teW2jh4BpgDqFjAeSEByW3zFP0CBBgNMsMCGEDjgggdhiEAUAeIIED7ABTDUEnkIE9Q9ahFgKttcVhApo4ACB4qobHaccgDfEjFO6aaWUhjMLt2SyIvHKoDqoA4CSUwEIYQCEjhAO9R1G6keDeDZGjNo+AhxOjCEGTr1WeIF3kYBiLAOKvkJSMiKX0VdAyQt3SDJClCkxJCHkCzfqyVTriJZLcolS32JZHUekq2TYNkYtCtjYHMQXSxGjXDz2t/yLWXzDzxz+o3zFwDEaN23F+13pyMdQAEaSKAR9vcGq4A4MTSKCElGW+M7UcY7xqkggITb28ZJhlqc9q2twYKTt0NjixBgYvO9BIihEBLYuOFXQzfIQ7dXGUEEEgFDooBfAzqiQbpJrhiWSuKJCRFKYbHCyJKI2G5GiZbNAvgAu5pc3vwx4G+g3aDkhklABiSz0BICXrYghtYhx/cdJ+44rY2oZ0aMNRFz3VZjb6W33F3gzltqtOCV8tTHSpOeXuItfvr5lCdfzFpqtEitvqdcdGGFd28ZqqC0tPbeChGXgrIlnhSWu/eUso4uKWFLugyDzQJhflY4659+WjQ++6x72WUMv9G8mw6QJl7BVxX5fe/kpUsOvnZwee9uQ0cGXYd0o89XB2748sDSnt8d2VphdOTTgceDVvOds0v9P/s7HPq15aGun/6Vllb56f1dl0t1LejqrNkpdRZsG8TOnM5vkBG5oiVyVGnS8LHps5cfNWJs6qKPfaNSxiQNBUm3cKNWROr0GSur7Za31k1vieq7LH11VF+jXdRIasRKflc7jkobm1Z9te1IyZA0pDkhLR98+H37Zf1c/8at+dB7x+7GfVyTfJMPiYztsnl59Y5l4j+0n1RXlpHnF3Tq7HecmNF/CJodEMAikruxiyJaGLvHOdAfoA+oDvpjBm2b91cHGRZMU9n25xEU0A8fgEEAdKI3Q1iDtc034sug5YVMkE2jsE+BIkwSoQ3gxXMqz9tELp48bd0cFKOKS7xYjEuXBnZP5ia7DyiO/X/YI+PQSbt2uSdqAkWL9nQbV1XB94/+uPfdZz8dnXYFBYrcTl2SIR/ybxJNJPz/Gupb0JaZeens2ekC7EKr8t+Ls/P5VJPYJdHKyqfg2nqU6bhlidzcddQV/7MmecTzJ5VPcKXkNKSEogHjYFx6QZ7rQ+FSe8njaiNuOnXS8H2ScQ619c2mC3VTtauL0rRbXd/CkSOP37FY9Zkjz8+GibYUMOEWF+RdrFS8Ecv1SHOpPUPZGEIpjPvFyU5cXKjd6OXqorTqy9GwRd++HVufPGnVsW+aO3vggKZ18jR9sXaTC1PWTEsVUaK0FkNySbTQDqlm2PfDjZcu4aalnSLKjnOoYQ0nUlqqXcGpPu/4VgV/xU2pAqW4BW3qzhQ8/hFKhV2qE3+BKAtDqBXjfgnVdH4y0wg5tbVNRenNdTWOrenWLcupQdmsbq5b+18piTe/xRdp1xbILxNPJGInm2z6hoB21Lal0i+ePTtd7B45+3XhFJ329evskXm7qurUVREotqSluSo/L29d3qDhI4YOQqWhI4YNvBNfsMHeXKemXrxQfKeuPOGRVayA3JtkJKEgbPp+dXUDluddutRYLFoXGXWX6N3WFaGLbQtRSitVYNacTNSdy7AaG/HSaUEANcBoGXNdcZvZsOqQ1icBDv21/gzAoYPHH/WDW0qNR3QTYKEAEHig6o13NXbND06CQPlRtYjGNnSktRc09k1mAMDvAlDKfQjgy6fssInlfzmNAjKkDxoxHOBLdVRAIVt9j4qo+hA1w9T1aNBNTUOTTNUHLbqokE+UAfJXCIGw/IxCSL5GRUJeR40rL/UxTm4Q08H6MbCs70ObuNyIIXrINHQYInF06UUlevTjbQzTh5upiDMzMMogUtEnjPs/Y7jAHCJeB0GBHh04tC6FiB6ZFB1oArUSIoFoqhzCeAN6lHwm0T4C3VVPWvjpSMXReuWesMEcoqrmgtNBGd2noWeV0hNAz9rFeShNJxHGsPa3HXeKTk8b55hahySYHaYKKFFLpCfN8rsoaJn01CR04Gkc+5k7KVTCmClX8Q10HCrUEkVlSX+XO33oQR9609tJ516H497WSobWs5Up6TLaS10/dessIskgJSLiDlWvHVUywpkQ7hdPZqGyiEF0uVQerVcPamT1A3eKXdyI1vG9OoflrSXihZ1qqGE3nhmAgiIbRCQgPLEPtOM3UQwTLYaYYomNlpA44opnjV6jkD6id80OOrzf6BzmMD6eEa1zKyeYG1fzfEf16V6jw9XYOaar1/b2kP/IYX8oR2mcFvv2GtBV3JXgd437AQAA)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-greek-wght-normal.Bw9x6K1M.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--background:oklch(100% 0 0);--foreground:oklch(14.5% 0 0);--card:oklch(100% 0 0);--card-foreground:oklch(14.5% 0 0);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.5% 0 0);--primary:oklch(20.5% 0 0);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(97% 0 0);--secondary-foreground:oklch(20.5% 0 0);--muted:oklch(97% 0 0);--muted-foreground:oklch(55.6% 0 0);--accent:oklch(97% 0 0);--accent-foreground:oklch(20.5% 0 0);--destructive:oklch(57.7% .245 27.325);--warning:oklch(75% .183 55.934);--warning-foreground:oklch(16% .02 55);--border:oklch(92.2% 0 0);--input:oklch(92.2% 0 0);--ring:oklch(70.8% 0 0);--chart-1:oklch(80.9% .105 251.813);--chart-2:oklch(62.3% .214 259.815);--chart-3:oklch(54.6% .245 262.881);--chart-4:oklch(48.8% .243 264.376);--chart-5:oklch(42.4% .199 265.638);--radius:.625rem;--sidebar:oklch(98.5% 0 0);--sidebar-foreground:oklch(14.5% 0 0);--sidebar-primary:oklch(20.5% 0 0);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(97% 0 0);--sidebar-accent-foreground:oklch(20.5% 0 0);--sidebar-border:oklch(92.2% 0 0);--sidebar-ring:oklch(70.8% 0 0)}.dark{--background:oklch(13.7% .036 258.5);--foreground:oklch(98.4% .003 247.9);--card:oklch(13.7% .036 258.5);--card-foreground:oklch(98.4% .003 247.9);--popover:oklch(13.7% .036 258.5);--popover-foreground:oklch(98.4% .003 247.9);--primary:oklch(98.4% .003 247.9);--primary-foreground:oklch(20.8% .04 265.7);--secondary:oklch(28% .037 260);--secondary-foreground:oklch(98.4% .003 247.9);--muted:oklch(28% .037 260);--muted-foreground:oklch(71.1% .035 256.8);--accent:oklch(28% .037 260);--accent-foreground:oklch(98.4% .003 247.9);--destructive:oklch(39.6% .133 25.7);--warning:oklch(72% .17 55.934);--warning-foreground:oklch(16% .02 55);--border:oklch(28% .037 260);--input:oklch(28% .037 260);--ring:oklch(86.9% .02 252.8);--chart-1:oklch(80.9% .105 251.813);--chart-2:oklch(62.3% .214 259.815);--chart-3:oklch(54.6% .245 262.881);--chart-4:oklch(48.8% .243 264.376);--chart-5:oklch(42.4% .199 265.638);--sidebar:oklch(20.8% .04 265.7);--sidebar-foreground:oklch(98.4% .003 247.9);--sidebar-primary:oklch(48.8% .243 264.376);--sidebar-primary-foreground:oklch(98.4% .003 247.9);--sidebar-accent:oklch(28% .037 260);--sidebar-accent-foreground:oklch(98.4% .003 247.9);--sidebar-border:oklch(28% .037 260);--sidebar-ring:oklch(86.9% .02 252.8);--status-streaming:oklch(62.3% .169 149.2);--status-connected:oklch(62.3% .169 149.2);--status-error:oklch(39.6% .133 25.7);--status-reconnecting:oklch(77% .165 70.6)}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}[data-scroll-area-viewport]{scrollbar-width:none!important;-ms-overflow-style:none!important;-webkit-overflow-scrolling:touch!important}[data-scroll-area-viewport]::-webkit-scrollbar{display:none!important}:where([data-scroll-area-viewport]){flex-direction:column;align-items:stretch;display:flex}:where([data-scroll-area-content]){flex-grow:1}
@@ -1 +0,0 @@
1
- import{c as e,o as t,s as n}from"./D1mCuOEu.js";export{t as openExistingSession,n as sessionRegistry,e as switchToSession};
@@ -1 +0,0 @@
1
- import{U as e,at as t,it as n,nt as r,ot as i,q as a,rt as o}from"./B8lQCytv.js";import{t as s}from"./DegHYiTr.js";var c=[`forEach`,`isDisjointFrom`,`isSubsetOf`,`isSupersetOf`],l=[`difference`,`intersection`,`symmetricDifference`,`union`],u=!1,d=class r extends Set{#e=new Map;#t=i(0);#n=i(0);#r=a||-1;constructor(e){if(super(),e){for(var t of e)super.add(t);this.#n.v=super.size}u||this.#a()}#i(e){return a===this.#r?i(e):t(e)}#a(){u=!0;var t=r.prototype,n=Set.prototype;for(let r of c)t[r]=function(...t){return e(this.#t),n[r].apply(this,t)};for(let i of l)t[i]=function(...t){return e(this.#t),new r(n[i].apply(this,t))}}has(t){var n=super.has(t),r=this.#e,i=r.get(t);if(i===void 0){if(!n)return e(this.#t),!1;i=this.#i(!0),r.set(t,i)}return e(i),n}add(e){return super.has(e)||(super.add(e),n(this.#n,super.size),o(this.#t)),this}delete(e){var t=super.delete(e),r=this.#e,i=r.get(e);return i!==void 0&&(r.delete(e),n(i,!1)),t&&(n(this.#n,super.size),o(this.#t)),t}clear(){if(super.size!==0){super.clear();var e=this.#e;for(var t of e.values())n(t,!1);e.clear(),n(this.#n,0),o(this.#t)}}keys(){return this.values()}values(){return e(this.#t),super.values()}entries(){return e(this.#t),super.entries()}[Symbol.iterator](){return this.keys()}get size(){return e(this.#n)}},f=class extends Map{#e=new Map;#t=i(0);#n=i(0);#r=a||-1;constructor(e){if(super(),e){for(var[t,n]of e)super.set(t,n);this.#n.v=super.size}}#i(e){return a===this.#r?i(e):t(e)}has(t){var n=this.#e,r=n.get(t);if(r===void 0)if(super.has(t))r=this.#i(0),n.set(t,r);else return e(this.#t),!1;return e(r),!0}forEach(e,t){this.#a(),super.forEach(e,t)}get(t){var n=this.#e,r=n.get(t);if(r===void 0)if(super.has(t))r=this.#i(0),n.set(t,r);else{e(this.#t);return}return e(r),super.get(t)}set(e,t){var r=this.#e,i=r.get(e),a=super.get(e),s=super.set(e,t),c=this.#t;if(i===void 0)i=this.#i(0),r.set(e,i),n(this.#n,super.size),o(c);else if(a!==t){o(i);var l=c.reactions===null?null:new Set(c.reactions);(l===null||!i.reactions?.every(e=>l.has(e)))&&o(c)}return s}delete(e){var t=this.#e,r=t.get(e),i=super.delete(e);return r!==void 0&&(t.delete(e),n(r,-1)),i&&(n(this.#n,super.size),o(this.#t)),i}clear(){if(super.size!==0){super.clear();var e=this.#e;n(this.#n,0);for(var t of e.values())n(t,-1);o(this.#t),e.clear()}}#a(){e(this.#t);var t=this.#e;if(this.#n.v!==t.size){for(var n of super.keys())if(!t.has(n)){var r=this.#i(0);t.set(n,r)}}for([,r]of this.#e)e(r)}keys(){return e(this.#t),super.keys()}values(){return this.#a(),super.values()}entries(){return this.#a(),super.entries()}[Symbol.iterator](){return this.entries()}get size(){return e(this.#n),super.size}},p=`pimote:clientId`,m=`pimote:activeSessions`,h=`pimote:viewedSessionId`,g=`pimote:showArchived`,_=`pimote:sessionPillSwipeHintShown`;function v(){try{return localStorage.getItem(p)}catch{return null}}function y(e){try{localStorage.setItem(p,e)}catch{}}function b(){try{let e=localStorage.getItem(m);if(e===null)return[];let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>typeof e==`object`&&!!e&&typeof e.sessionId==`string`&&typeof e.folderPath==`string`):[]}catch{return[]}}function x(e){try{localStorage.setItem(m,JSON.stringify(e))}catch{}}function S(){try{return localStorage.getItem(h)}catch{return null}}function C(e){try{e===null?localStorage.removeItem(h):localStorage.setItem(h,e)}catch{}}function w(){try{return localStorage.getItem(g)===`true`}catch{return!1}}function T(e){try{localStorage.setItem(g,String(e))}catch{}}function E(){try{return localStorage.getItem(_)===`true`}catch{return!1}}function D(e){try{localStorage.setItem(_,String(e))}catch{}}var O=null,k=[],A=500;function j(e){O=e;let t=k.splice(0,k.length);for(let n of t)e(n).catch(e=>console.warn(`[voice_trace] flush failed`,e))}function M(e,t,n={}){let r={type:`client_log`,level:n.level??`info`,tag:e,message:t,clientTimestampMs:Date.now(),data:n.data},i=[`[voice_trace][${e}] ${t}`,n.data??``];switch(r.level){case`error`:console.error(...i);break;case`warn`:console.warn(...i);break;default:console.log(...i);break}O?O(r).catch(e=>console.warn(`[voice_trace] send failed`,e)):k.length<A&&k.push(r)}var N=1,P=v()??(()=>{let e=crypto.randomUUID();return y(e),e})(),F=new class{clientId=P;#e=i(`disconnected`);get status(){return e(this.#e)}set status(e){n(this.#e,e,!0)}#t=i(!1);get ready(){return e(this.#t)}set ready(e){n(this.#t,e,!0)}#n=i(`idle`);get phase(){return e(this.#n)}set phase(e){n(this.#n,e,!0)}#r=i(0);get reconnectCountdown(){return e(this.#r)}set reconnectCountdown(e){n(this.#r,e,!0)}#i=i(null);get syncProgress(){return e(this.#i)}set syncProgress(e){n(this.#i,e,!0)}#a=i(null);get syncDetail(){return e(this.#a)}set syncDetail(e){n(this.#a,e,!0)}sessionCursors=new Map;#o=i(r(new f));get subscribedSessions(){return e(this.#o)}set subscribedSessions(e){n(this.#o,e,!0)}ws=null;pending=new Map;listeners=new Set;reconnectTimer=null;countdownInterval=null;reconnectDelay=1e3;intentionalClose=!1;onReconnected=null;onSessionOwned=null;onPendingAdopt=null;pendingAdopt=null;connect(){if(this.ws&&(this.ws.readyState===WebSocket.CONNECTING||this.ws.readyState===WebSocket.OPEN))return;this.installLifecycleListeners(),this.ready=!1,this.clearCountdownInterval(),this.phase=`connecting`,this.status=this.status===`disconnected`?`connecting`:`reconnecting`,this.syncDetail=null;let e=location.protocol===`https:`?`wss:`:`ws:`;this.ws=new WebSocket(`${e}//${location.host}/ws?clientId=${P}&version=${encodeURIComponent(s)}`),this.ws.onopen=()=>{this.status=`connected`,this.reconnectDelay=1e3;let e=this.subscribedSessions.size;e>0&&(this.phase=`syncing`,this.syncProgress={done:0,total:e},this.syncDetail=`Restoring sessions`);let t=[];for(let[n,r]of this.subscribedSessions){let i=this.sessionCursors.get(n),a=this.send({type:`open_session`,folderPath:r,sessionId:n,...i===void 0?{}:{lastCursor:i}}).then(t=>{if(!t.success){t.error===`session_owned`?this.onSessionOwned?.(n):console.warn(`[ConnectionStore] Failed to restore session ${n}: ${t.error??`unknown error`}`);return}let r=t.data;this.phase===`syncing`&&(this.syncDetail=this.labelForRestoreMode(r?.restoreMode,e))}).catch(()=>{}).finally(()=>{this.syncProgress&&={done:this.syncProgress.done+1,total:this.syncProgress.total}});t.push(a)}Promise.all(t).then(()=>{if(this.ready=!0,this.phase=`ready`,this.syncProgress=null,this.syncDetail=null,this.onReconnected?.(),this.pendingAdopt){let{sessionId:e,folderPath:t}=this.pendingAdopt;this.pendingAdopt=null,this.onPendingAdopt?.(e,t)}}),this.reregisterPushSubscription()},this.ws.onmessage=e=>{let t;try{t=JSON.parse(e.data)}catch{return}if(`type`in t&&t.type===`version_mismatch`){console.log(`[ConnectionStore] Version mismatch — reloading (server=${t.serverVersion}, client=${s})`),location.reload();return}if(`id`in t&&`success`in t){let e=t,n=this.pending.get(e.id);n&&(this.pending.delete(e.id),n.resolve(e));return}let n=t;if(n.type===`buffered_events`&&`events`in n&&`sessionId`in n){let e=n,t=this.sessionCursors.get(e.sessionId)??0;for(let n of e.events)typeof n.cursor==`number`&&n.cursor>t&&(t=n.cursor);this.sessionCursors.set(e.sessionId,t)}else `cursor`in n&&typeof n.cursor==`number`&&`sessionId`in n&&typeof n.sessionId==`string`&&this.sessionCursors.set(n.sessionId,n.cursor);for(let e of this.listeners)try{e(n)}catch(e){console.error(`[ConnectionStore] Event listener error:`,e)}},this.ws.onclose=()=>{this.ws=null,this.ready=!1;for(let[,e]of this.pending)e.reject(Error(`WebSocket closed`));this.pending.clear(),this.intentionalClose?(this.status=`disconnected`,this.phase=`idle`,this.syncDetail=null,this.intentionalClose=!1):(this.status=`reconnecting`,this.scheduleReconnect())},this.ws.onerror=()=>{}}disconnect(){this.intentionalClose=!0,this.clearCountdownInterval(),this.reconnectTimer&&=(clearTimeout(this.reconnectTimer),null),this.ws?.close()}reconnectNow(){this.phase===`backoff`&&(this.reconnectTimer&&=(clearTimeout(this.reconnectTimer),null),this.clearCountdownInterval(),this.reconnectCountdown=0,this.reconnectDelay=1e3,this.connect())}lifecycleListenersInstalled=!1;installLifecycleListeners(){if(this.lifecycleListenersInstalled||typeof window>`u`||typeof document>`u`)return;this.lifecycleListenersInstalled=!0;let e=()=>this.reconnectNow();document.addEventListener(`visibilitychange`,()=>{document.visibilityState===`visible`&&e()}),window.addEventListener(`focus`,e),window.addEventListener(`online`,e),window.addEventListener(`pageshow`,e)}addSubscribedSession(e,t){this.subscribedSessions.set(e,t)}removeSubscribedSession(e){this.subscribedSessions.delete(e),this.sessionCursors.delete(e)}send(e){let t=e.id??`cmd-${N++}`,n={...e,id:t};return new Promise((e,r)=>{if(!this.ws||this.ws.readyState!==WebSocket.OPEN){r(Error(`WebSocket not connected`));return}this.pending.set(t,{resolve:e,reject:r}),this.ws.send(JSON.stringify(n))})}onEvent(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}async reregisterPushSubscription(){try{if(!(`serviceWorker`in navigator)||!(`PushManager`in window)||Notification.permission!==`granted`)return;let e=await(await navigator.serviceWorker.ready).pushManager.getSubscription();if(!e)return;let t=e.toJSON();if(!t.endpoint||!t.keys?.p256dh||!t.keys?.auth)return;await this.send({type:`register_push`,subscription:{endpoint:t.endpoint,keys:{p256dh:t.keys.p256dh,auth:t.keys.auth}}})}catch{}}clearCountdownInterval(){this.countdownInterval&&=(clearInterval(this.countdownInterval),null)}scheduleReconnect(){this.reconnectTimer||=(this.phase=`backoff`,this.syncDetail=null,this.reconnectCountdown=Math.ceil(this.reconnectDelay/1e3),this.clearCountdownInterval(),this.countdownInterval=setInterval(()=>{this.reconnectCountdown=Math.max(0,this.reconnectCountdown-1)},1e3),setTimeout(async()=>{this.reconnectTimer=null,this.reconnectDelay=Math.min(this.reconnectDelay*2,3e4);try{let e=await fetch(location.href,{method:`HEAD`,redirect:`manual`});if(e.type===`opaqueredirect`||e.status===401||e.status===403){location.reload();return}}catch{}this.connect()},this.reconnectDelay))}get phaseLabel(){return this.phase===`ready`?`Connected`:this.phase===`syncing`?this.syncProgress?`Syncing ${this.syncProgress.done}/${this.syncProgress.total}…`:`Syncing…`:this.phase===`connecting`?this.status===`reconnecting`?`Reconnecting…`:`Connecting…`:this.phase===`backoff`?`Reconnecting in ${this.reconnectCountdown}s`:`Disconnected`}labelForRestoreMode(e,t){if(t>1)switch(e){case`incremental_replay`:return`Replaying sessions from offset`;case`full_resync_cursor_stale`:return`Full resync (offset too old)`;case`disk_full_resync`:return`Reopening sessions from disk`;default:return`Full resync`}switch(e){case`incremental_replay`:return`Replaying from offset`;case`full_resync_cursor_stale`:return`Full resync (offset too old)`;case`disk_full_resync`:return`Reopening from disk`;default:return`Full resync`}}};j(e=>F.send(e));function I(){let e=new f;return{getCommands(t){return e.get(t)??[]},setCommands(t,n){e.set(t,n)},removeSession(t){e.delete(t)},clear(){e.clear()}}}var L=I(),R=new class{#e=i(r([]));get cards(){return e(this.#e)}set cards(e){n(this.#e,e,!0)}get hasCards(){return this.cards.length>0}handlePanelUpdate(e){this.cards=e}reset(){this.cards=[]}},z=class{#e=i(r({}));get sessions(){return e(this.#e)}set sessions(e){n(this.#e,e,!0)}#t=i(null);get viewedSessionId(){return e(this.#t)}set viewedSessionId(e){n(this.#t,e,!0)}#n=i(null);get pendingNewSession(){return e(this.#n)}set pendingNewSession(e){n(this.#n,e,!0)}_nextMessageKey=0;generateMessageKeys(e){return Array.from({length:e},()=>`msg-`+ this._nextMessageKey++)}get viewed(){return this.sessions[this.viewedSessionId]??null}get activeSessions(){return Object.values(this.sessions)}createSessionState(e,t,n){return{sessionId:e,folderPath:t,projectName:n,firstMessage:void 0,messages:[],isStreaming:!1,isCompacting:!1,model:null,thinkingLevel:`off`,availableThinkingLevels:[],streamingMessage:null,streamingKey:null,messageKeys:[],toolExecutions:{},autoCompactionEnabled:!1,messageCount:0,status:`idle`,needsAttention:!1,conflictingProcesses:[],conflictingRemoteSessions:[],pendingTakeover:!1,sessionName:null,extensionTitle:null,restoreMode:null,isRestoring:!1,panelCards:[],widgetCards:{},gitBranch:null,contextUsage:null,lifetimeCostUsd:0,draftText:``,pendingSteeringMessages:[],lastBotActivityTimestamp:null,optimisticMessageKey:null}}firstUserMessage(e){for(let t of e){if(t.role!==`user`)continue;let e=t.content.find(e=>e.type===`text`);if(e?.text)return e.text}}persistSessions(){x(Object.values(this.sessions).filter(e=>!e.sessionId.startsWith(`pending-`)).map(e=>({sessionId:e.sessionId,folderPath:e.folderPath})))}persistViewedSession(){this.viewedSessionId?.startsWith(`pending-`)||C(this.viewedSessionId)}addOptimisticUserMessage(e,t){let n=this.sessions[e];if(!n)return;let r=[];t&&r.push({type:`text`,text:t});let i={role:`user`,content:r},a=`msg-`+ this._nextMessageKey++;n.messages=[...n.messages,i],n.messageKeys=[...n.messageKeys,a],n.optimisticMessageKey=a}handleEvent(e){let t=`sessionId`in e?e.sessionId:void 0;if(e.type===`buffered_events`){let t=e;for(let e of t.events)this.handleEvent(e);return}if(!t)return;let n=this.sessions[t];if(n){switch(e.type){case`agent_start`:n.status=`working`,n.isStreaming=!0;break;case`agent_end`:{let r=e;if(r.willRetry)break;if(n.status=`idle`,n.isStreaming=!1,n.streamingMessage=null,n.streamingKey=null,t!==this.viewedSessionId&&(n.needsAttention=!0),r.messageEntryIds){let e=r.messageEntryIds,t=0;for(let r=0;r<n.messages.length&&t<e.length;r++){let i=n.messages[r];i.role===`assistant`&&i.aborted===!0&&i.content.every(e=>e.type===`text`&&!e.text)||(i.entryId||=e[t],t++)}}F.send({type:`get_session_meta`,sessionId:t}).then(e=>{e.success&&e.data&&this.updateMeta(t,e.data.meta)}).catch(()=>{});break}case`message_start`:{let t=e;if(t.role===`user`&&n.optimisticMessageKey)break;n.streamingKey=`msg-`+ this._nextMessageKey++,n.streamingMessage={role:t.role,content:[]};break}case`message_update`:{let t=e;if(!n.streamingMessage)break;if(t.subtype===`start`){let e={type:t.content.type,text:``,streaming:!0};t.content.type===`tool_call`&&(e.toolCallId=t.toolCallId,e.toolName=t.toolName),n.streamingMessage.content[t.contentIndex]=e}else if(t.subtype===`delta`){let e=n.streamingMessage.content[t.contentIndex];e&&(e.text=(e.text??``)+t.content.text)}else if(t.subtype===`end`){let e=n.streamingMessage.content[t.contentIndex];e&&(e.streaming=!1)}break}case`message_end`:{let r=e,i=r.message;if(i.role===`user`&&n.optimisticMessageKey){let e=n.messageKeys.indexOf(n.optimisticMessageKey);if(e!==-1){let t=[...n.messages];t[e]=i,n.messages=t}n.optimisticMessageKey=null,n.streamingMessage=null,n.streamingKey=null}else{n.messages=[...n.messages,i];let e=n.streamingKey??`msg-`+ this._nextMessageKey++;n.streamingKey||console.error(`[session-desync] message_end without streamingKey`,{sessionId:t,cursor:r.cursor,role:i.role,messagesLen:n.messages.length,keysLen:n.messageKeys.length}),n.messageKeys=[...n.messageKeys,e],n.streamingMessage=null,n.streamingKey=null}if(n.messageCount++,i.role===`user`&&n.firstMessage===void 0){let e=i.content.find(e=>e.type===`text`);e&&e.text&&(n.firstMessage=e.text)}if(i.role===`user`&&n.pendingSteeringMessages.length>0){let e=i.content.find(e=>e.type===`text`);if(e?.text){let t=n.pendingSteeringMessages.indexOf(e.text);t!==-1&&n.pendingSteeringMessages.splice(t,1)}}i.role===`toolResult`&&this.applyToolResults(n,i);break}case`tool_execution_start`:{let t=e;n.toolExecutions[t.toolCallId]={name:t.toolName,args:t.args,partialResult:``,status:`running`};break}case`tool_execution_update`:{let t=e,r=n.toolExecutions[t.toolCallId];r&&(r.partialResult+=t.content);break}case`tool_execution_end`:{let t=e,r=n.toolExecutions[t.toolCallId];r&&(r.status=`completed`,r.result=t.result,r.isError=t.isError);break}case`auto_compaction_start`:n.isCompacting=!0;break;case`auto_compaction_end`:n.isCompacting=!1,F.send({type:`get_session_meta`,sessionId:t}).then(e=>{e.success&&e.data&&this.updateMeta(t,e.data.meta)}).catch(()=>{});break;case`full_resync`:{let r=e,i=r.state,a=r.messages,o=this.createSessionState(n.sessionId,n.folderPath,n.projectName);o.draftText=n.draftText,o.extensionTitle=n.extensionTitle,o.restoreMode=n.restoreMode,o.isRestoring=n.isRestoring,o.widgetCards=n.widgetCards,o.model=i.model,o.thinkingLevel=i.thinkingLevel,o.availableThinkingLevels=i.availableThinkingLevels??[],o.isStreaming=i.isStreaming,o.isCompacting=i.isCompacting,o.autoCompactionEnabled=i.autoCompactionEnabled,o.messageCount=i.messageCount,o.sessionName=i.sessionName??null,o.messages=a,o.firstMessage=this.firstUserMessage(a),o.status=i.isStreaming?`working`:`idle`,o.messageKeys=this.generateMessageKeys(a.length),this.rebuildToolExecutions(o),this.sessions[t]=o;break}case`session_restore`:{let t=e;n.restoreMode=t.status===`started`?t.mode:null,n.isRestoring=t.status===`started`;break}case`session_conflict`:{let t=e;n.conflictingProcesses=t.processes,n.conflictingRemoteSessions=t.remoteSessions??[];break}case`session_state_changed`:{let t=e;if(t.gitBranch!==void 0)for(let e of Object.values(this.sessions))e.folderPath===t.folderPath&&(e.gitBranch=t.gitBranch);break}case`session_renamed`:n.sessionName=e.name;break;case`panel_update`:n.panelCards=e.cards,t===this.viewedSessionId&&this.syncViewedPanelStore();break;case`pimote_navigate`:if(t===this.viewedSessionId){let t=e.url;typeof t==`string`&&t.length>0&&(location.href=t)}break}`timestamp`in e&&typeof e.timestamp==`string`&&(n.lastBotActivityTimestamp=e.timestamp)}}combinedPanelCards(e){return e?[...e.panelCards,...Object.values(e.widgetCards)]:[]}syncViewedPanelStore(){R.handlePanelUpdate(this.combinedPanelCards(this.viewed))}addSession(e,t,n){this.sessions[e]=this.createSessionState(e,t,n),this.persistSessions()}removeSession(e){let t=this.viewedSessionId===e,{[e]:n,...r}=this.sessions;if(this.sessions=r,t){let e=Object.keys(this.sessions);this.viewedSessionId=e.length>0?e[0]:null,this.syncViewedPanelStore()}this.persistSessions(),this.persistViewedSession()}replaceSession(e,t,n,r){let i=this.sessions[e];if(!i)return;let{[e]:a,...o}=this.sessions,s=this.createSessionState(t,n,r);s.model=i.model,s.thinkingLevel=i.thinkingLevel,s.availableThinkingLevels=i.availableThinkingLevels,s.autoCompactionEnabled=i.autoCompactionEnabled,s.gitBranch=i.gitBranch,o[t]=s,this.sessions=o,this.viewedSessionId===e&&(this.viewedSessionId=t,this.syncViewedPanelStore()),this.persistSessions(),this.persistViewedSession()}switchTo(e){this.viewedSessionId=e;let t=this.sessions[e];t&&(t.needsAttention=!1),this.syncViewedPanelStore(),this.persistViewedSession()}isActiveSession(e){return e in this.sessions}updateMeta(e,t){let n=this.sessions[e];if(n){n.contextUsage=t.contextUsage,n.lifetimeCostUsd=t.lifetimeCostUsd;for(let e of Object.values(this.sessions))e.folderPath===n.folderPath&&(e.gitBranch=t.gitBranch)}}applyToolResults(e,t){for(let n of t.content)if(n.type===`tool_result`&&n.toolCallId){let t=e.toolExecutions[n.toolCallId];t?(t.status=`completed`,t.result=n.result,t.isError=n.isError):e.toolExecutions[n.toolCallId]={name:n.toolName??`unknown`,args:void 0,partialResult:``,status:`completed`,result:n.result,isError:n.isError}}}rebuildToolExecutions(e){e.toolExecutions={};for(let t of e.messages)t.role===`toolResult`&&this.applyToolResults(e,t)}clearConflict(e){let t=this.sessions[e];t&&(t.conflictingProcesses=[],t.conflictingRemoteSessions=[])}},B=new z;async function V(e){try{let[t,n,r,i]=await Promise.all([F.send({type:`get_state`,sessionId:e}),F.send({type:`get_messages`,sessionId:e}),F.send({type:`get_session_meta`,sessionId:e}),F.send({type:`get_commands`,sessionId:e})]),a=B.sessions[e];if(!a)return;if(t.success&&t.data){let e=t.data.state;a.model=e.model,a.thinkingLevel=e.thinkingLevel,a.availableThinkingLevels=e.availableThinkingLevels??[],a.isStreaming=e.isStreaming,a.isCompacting=e.isCompacting,a.autoCompactionEnabled=e.autoCompactionEnabled,a.messageCount=e.messageCount,a.sessionName=e.sessionName??null,a.status=e.isStreaming?`working`:`idle`}if(n.success&&n.data){let e=n.data.messages;a.messages=e,a.messageKeys=B.generateMessageKeys(e.length),a.messageCount=e.length,a.firstMessage=B.firstUserMessage(e),B.rebuildToolExecutions(a)}if(r.success&&r.data){let t=r.data.meta;B.updateMeta(e,t)}if(i.success&&i.data){let t=i.data.commands;L.setCommands(e,t)}}catch(e){console.error(`[SessionRegistry] Failed to fetch full session data:`,e)}}async function H(e){try{let[t,n]=await Promise.all([F.send({type:`get_session_meta`,sessionId:e}),F.send({type:`get_commands`,sessionId:e})]);if(t.success&&t.data&&B.updateMeta(e,t.data.meta),n.success&&n.data){let t=n.data.commands;L.setCommands(e,t)}}catch(e){console.error(`[SessionRegistry] Failed to refresh session meta/commands:`,e)}}async function U(e,t,n){let r=t.split(`/`).pop()||`Unknown`,i=n?.switchTo!==!1;B.sessions[e]||B.addSession(e,t,r),F.addSubscribedSession(e,t),i&&B.switchTo(e);try{let r=await F.send({type:`open_session`,folderPath:t,sessionId:e,...n?.force?{force:!0}:{}});if(!r.success){if(r.error===`session_owned`){let t=B.sessions[e];return t&&(t.pendingTakeover=!0),!1}return B.removeSession(e),F.removeSubscribedSession(e),L.removeSession(e),!1}return await H(e),i&&F.send({type:`view_session`,sessionId:e}).catch(()=>{}),!0}catch(t){return console.error(`[SessionRegistry] Failed to open existing session:`,t),B.removeSession(e),F.removeSubscribedSession(e),L.removeSession(e),!1}}F.onEvent(e=>{switch(e.type){case`session_opened`:{let t=e.folder,n=t?.name??`Unknown`,r=B.pendingNewSession;r&&B.sessions[r]?(B.pendingNewSession=null,B.replaceSession(r,e.sessionId,t?.path??``,n)):(B.addSession(e.sessionId,t?.path??``,n),B.switchTo(e.sessionId)),F.addSubscribedSession(e.sessionId,t?.path??``),V(e.sessionId);break}case`session_closed`:B.removeSession(e.sessionId),F.removeSubscribedSession(e.sessionId),L.removeSession(e.sessionId);break;case`session_replaced`:{let t=e,n=t.folder,r=n?.name??`Unknown`;B.replaceSession(t.oldSessionId,t.newSessionId,n?.path??``,r),F.removeSubscribedSession(t.oldSessionId),F.addSubscribedSession(t.newSessionId,n?.path??``),L.removeSession(t.oldSessionId),V(t.newSessionId);break}default:`sessionId`in e&&B.handleEvent(e);break}}),F.onSessionOwned=e=>{let t=B.sessions[e];t&&(t.pendingTakeover=!0)},F.onPendingAdopt=(e,t)=>{U(e,t,{force:!0,switchTo:!0})},F.onReconnected=()=>{for(let e of B.activeSessions)e.sessionId.startsWith(`pending-`)||H(e.sessionId);let e=B.viewedSessionId;e&&!e.startsWith(`pending-`)&&F.send({type:`view_session`,sessionId:e}).catch(()=>{})};var W=b(),G=S();for(let{sessionId:e,folderPath:t}of W){let n=t.split(`/`).pop()||`Unknown`;B.addSession(e,t,n),F.addSubscribedSession(e,t)}G&&B.sessions[G]&&(B.viewedSessionId=G);function K(e){let t=B.sessions[e];t&&(t.pendingTakeover=!1,U(e,t.folderPath,{force:!0,switchTo:!0}))}function q(e){B.removeSession(e),F.removeSubscribedSession(e)}function J(e){B.switchTo(e),F.send({type:`view_session`,sessionId:e}).catch(()=>{})}function Y(e){F.send({type:`close_session`,sessionId:e}).catch(()=>{})}function X(e){let t=B.sessions[e];if(!t||B.pendingNewSession)return;let n=`pending-${crypto.randomUUID()}`;B.addSession(n,t.folderPath,t.projectName),B.switchTo(n),B.pendingNewSession=n,F.send({type:`open_session`,folderPath:t.folderPath}).then(e=>{e.success||(B.pendingNewSession===n&&(B.pendingNewSession=null),B.removeSession(n))}).catch(()=>{B.pendingNewSession===n&&(B.pendingNewSession=null),B.removeSession(n)})}export{f as _,X as a,J as c,F as d,M as f,T as g,D as h,q as i,R as l,w as m,Y as n,U as o,E as p,K as r,B as s,z as t,L as u,d as v};
@@ -1 +0,0 @@
1
- var e=`1780536680586`;export{e as t};
@@ -1 +0,0 @@
1
- import{o as e,t}from"../chunks/DHiuV2ft.js";export{e as load_css,t as start};
@@ -1,10 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../chunks/uZO1iyJZ.js","../chunks/B8lQCytv.js","../chunks/5FogVG_p.js","../chunks/D1hYfEew.js","../chunks/ATalJV7d.js","../chunks/Czpnrh9t.js","../chunks/D1mCuOEu.js","../chunks/DegHYiTr.js"])))=>i.map(i=>d[i]);
2
- import{n as e}from"../chunks/5FogVG_p.js";import{$ as t,A as n,B as r,C as i,E as a,I as o,K as s,L as c,M as l,N as u,O as d,P as f,Q as p,R as m,T as h,U as g,V as _,X as v,Y as y,Z as b,_ as x,a as S,b as C,bt as w,c as ee,d as T,et as E,f as te,g as D,h as ne,it as O,mt as k,nt as A,o as j,ot as M,p as re,pt as N,r as P,s as F,st as I,tt as L,u as ie,v as ae,vt as R,w as z,xt as B,y as V,yt as H,z as U}from"../chunks/B8lQCytv.js";import{t as W}from"../chunks/CHncfsjL.js";import"../chunks/D1hYfEew.js";import{$ as G,A as oe,B as se,D as ce,E as le,F as ue,H as de,I as fe,J as pe,K as me,M as he,N as K,O as ge,P as q,Q as _e,S as ve,T as ye,U as J,V as be,W as xe,X as Se,Y as Ce,Z as we,_ as Te,a as Ee,b as De,c as Oe,d as Y,et as ke,g as Ae,i as je,it as Me,j as Ne,k as Pe,m as Fe,n as Ie,nt as Le,q as Re,r as ze,rt as X,s as Be,tt as Z,x as Ve,y as He,z as Ue}from"../chunks/DNqQZw5U.js";import{_ as We,d as Q,l as Ge,s as $}from"../chunks/D1mCuOEu.js";var Ke=e({prerender:()=>!1,ssr:()=>!1}),qe=class{#e;#t;constructor(e,t){this.#e=e,this.#t=t,this.handler=this.handler.bind(this),v(this.handler)}handler(){let e=0,t=this.#e();if(!t)return;let n=new ResizeObserver(()=>{cancelAnimationFrame(e),e=window.requestAnimationFrame(this.#t)});return n.observe(t),()=>{window.cancelAnimationFrame(e),n.unobserve(t)}}},Je=class{opts;present;#e;#t=M(!1);#n=!1;#r=M(void 0);#i=null;constructor(e){this.opts=e,this.present=this.opts.open,O(this.#t,e.open.current,!0),this.#e=new xe({ref:this.opts.ref,afterTick:this.opts.open}),Se(()=>this.#o()),_e(()=>this.present.current,e=>{if(!this.#n){this.#n=!0;return}this.#o(),e&&O(this.#t,!0),O(this.#r,e?`starting`:`ending`,!0),e&&(this.#i=window.requestAnimationFrame(()=>{this.#i=null,this.present.current&&O(this.#r,void 0)})),this.#e.run(()=>{e===this.present.current&&(e||O(this.#t,!1),O(this.#r,void 0))})})}#a=I(()=>g(this.#t));get isPresent(){return g(this.#a)}set isPresent(e){O(this.#a,e)}get transitionStatus(){return g(this.#r)}#o(){this.#i!==null&&(window.cancelAnimationFrame(this.#i),this.#i=null)}};function Ye(e,t){k(t,!0);let n=new Je({open:X(()=>t.open),ref:t.ref});var r=u(),i=E(r),a=e=>{var r=u();z(E(r),()=>t.presence??w,()=>({present:n.isPresent,transitionStatus:n.transitionStatus})),l(e,r)};d(i,e=>{(t.forceMount||t.open||n.isPresent)&&e(a)}),l(e,r),N()}function Xe(e,t,n){return Math.min(n,Math.max(t,e))}var Ze=class{state;#e;constructor(e,t){this.state=Me(e),this.#e=t,this.dispatch=this.dispatch.bind(this)}#t(e){return this.#e[this.state.current][e]??this.state.current}dispatch(e){this.state.current=this.#t(e)}},Qe=me({component:`scroll-area`,parts:[`root`,`viewport`,`corner`,`thumb`,`scrollbar`]}),$e=new ke(`ScrollArea.Root`),et=new ke(`ScrollArea.Scrollbar`),tt=new ke(`ScrollArea.ScrollbarVisible`),nt=new ke(`ScrollArea.ScrollbarAxis`),rt=new ke(`ScrollArea.ScrollbarShared`),it=class e{static create(t){return $e.set(new e(t))}opts;attachment;#e=M(null);get scrollAreaNode(){return g(this.#e)}set scrollAreaNode(e){O(this.#e,e,!0)}#t=M(null);get viewportNode(){return g(this.#t)}set viewportNode(e){O(this.#t,e,!0)}#n=M(null);get contentNode(){return g(this.#n)}set contentNode(e){O(this.#n,e,!0)}#r=M(null);get scrollbarXNode(){return g(this.#r)}set scrollbarXNode(e){O(this.#r,e,!0)}#i=M(null);get scrollbarYNode(){return g(this.#i)}set scrollbarYNode(e){O(this.#i,e,!0)}#a=M(0);get cornerWidth(){return g(this.#a)}set cornerWidth(e){O(this.#a,e,!0)}#o=M(0);get cornerHeight(){return g(this.#o)}set cornerHeight(e){O(this.#o,e,!0)}#s=M(!1);get scrollbarXEnabled(){return g(this.#s)}set scrollbarXEnabled(e){O(this.#s,e,!0)}#c=M(!1);get scrollbarYEnabled(){return g(this.#c)}set scrollbarYEnabled(e){O(this.#c,e,!0)}domContext;constructor(e){this.opts=e,this.attachment=Re(e.ref,e=>this.scrollAreaNode=e),this.domContext=new pe(e.ref)}#l=I(()=>({id:this.opts.id.current,dir:this.opts.dir.current,style:{position:`relative`,"--bits-scroll-area-corner-height":`${this.cornerHeight}px`,"--bits-scroll-area-corner-width":`${this.cornerWidth}px`},[Qe.root]:``,...this.attachment}));get props(){return g(this.#l)}set props(e){O(this.#l,e)}},at=class e{static create(t){return new e(t,$e.get())}opts;root;attachment;#e=Me(de());#t=Me(null);contentAttachment=Re(this.#t,e=>this.root.contentNode=e);constructor(e,t){this.opts=e,this.root=t,this.attachment=Re(e.ref,e=>this.root.viewportNode=e)}#n=I(()=>({id:this.opts.id.current,style:{overflowX:this.root.scrollbarXEnabled?`scroll`:`hidden`,overflowY:this.root.scrollbarYEnabled?`scroll`:`hidden`},[Qe.viewport]:``,...this.attachment}));get props(){return g(this.#n)}set props(e){O(this.#n,e)}#r=I(()=>({id:this.#e.current,"data-scroll-area-content":``,style:{minWidth:this.root.scrollbarXEnabled?`fit-content`:void 0},...this.contentAttachment}));get contentProps(){return g(this.#r)}set contentProps(e){O(this.#r,e)}},ot=class e{static create(t){return et.set(new e(t,$e.get()))}opts;root;#e=I(()=>this.opts.orientation.current===`horizontal`);get isHorizontal(){return g(this.#e)}set isHorizontal(e){O(this.#e,e)}#t=M(!1);get hasThumb(){return g(this.#t)}set hasThumb(e){O(this.#t,e,!0)}constructor(e,t){this.opts=e,this.root=t,_e(()=>this.isHorizontal,e=>e?(this.root.scrollbarXEnabled=!0,()=>{this.root.scrollbarXEnabled=!1}):(this.root.scrollbarYEnabled=!0,()=>{this.root.scrollbarYEnabled=!1}))}},st=class e{static create(){return new e(et.get())}scrollbar;root;#e=M(!1);get isVisible(){return g(this.#e)}set isVisible(e){O(this.#e,e,!0)}constructor(e){this.scrollbar=e,this.root=e.root,v(()=>{let e=this.root.scrollAreaNode,t=this.root.opts.scrollHideDelay.current,n=0;if(!e)return;let r=Le(_(e,`pointerenter`,()=>{this.root.domContext.clearTimeout(n),s(()=>this.isVisible=!0)}),_(e,`pointerleave`,()=>{n&&this.root.domContext.clearTimeout(n),n=this.root.domContext.setTimeout(()=>{s(()=>{this.scrollbar.hasThumb=!1,this.isVisible=!1})},t)}));return()=>{this.root.domContext.getWindow().clearTimeout(n),r()}})}#t=I(()=>({"data-state":this.isVisible?`visible`:`hidden`}));get props(){return g(this.#t)}set props(e){O(this.#t,e)}},ct=class e{static create(){return new e(et.get())}scrollbar;root;machine=new Ze(`hidden`,{hidden:{SCROLL:`scrolling`},scrolling:{SCROLL_END:`idle`,POINTER_ENTER:`interacting`},interacting:{SCROLL:`interacting`,POINTER_LEAVE:`idle`},idle:{HIDE:`hidden`,SCROLL:`scrolling`,POINTER_ENTER:`interacting`}});#e=I(()=>this.machine.state.current===`hidden`);get isHidden(){return g(this.#e)}set isHidden(e){O(this.#e,e)}constructor(e){this.scrollbar=e,this.root=e.root;let t=G(()=>this.machine.dispatch(`SCROLL_END`),100);v(()=>{let e=this.machine.state.current,t=this.root.opts.scrollHideDelay.current;if(e===`idle`){let e=this.root.domContext.setTimeout(()=>this.machine.dispatch(`HIDE`),t);return()=>this.root.domContext.clearTimeout(e)}}),v(()=>{let e=this.root.viewportNode;if(!e)return;let n=this.scrollbar.isHorizontal?`scrollLeft`:`scrollTop`,r=e[n];return _(e,`scroll`,()=>{let i=e[n];r!==i&&(this.machine.dispatch(`SCROLL`),t()),r=i})}),this.onpointerenter=this.onpointerenter.bind(this),this.onpointerleave=this.onpointerleave.bind(this)}onpointerenter(e){this.machine.dispatch(`POINTER_ENTER`)}onpointerleave(e){this.machine.dispatch(`POINTER_LEAVE`)}#t=I(()=>({"data-state":this.machine.state.current===`hidden`?`hidden`:`visible`,onpointerenter:this.onpointerenter,onpointerleave:this.onpointerleave}));get props(){return g(this.#t)}set props(e){O(this.#t,e)}},lt=class e{static create(){return new e(et.get())}scrollbar;root;#e=M(!1);get isVisible(){return g(this.#e)}set isVisible(e){O(this.#e,e,!0)}constructor(e){this.scrollbar=e,this.root=e.root;let t=G(()=>{let e=this.root.viewportNode;if(!e)return;let t=e.offsetWidth<e.scrollWidth,n=e.offsetHeight<e.scrollHeight;this.isVisible=this.scrollbar.isHorizontal?t:n},10);new qe(()=>this.root.viewportNode,t),new qe(()=>this.root.contentNode,t)}#t=I(()=>({"data-state":this.isVisible?`visible`:`hidden`}));get props(){return g(this.#t)}set props(e){O(this.#t,e)}},ut=class e{static create(){return tt.set(new e(et.get()))}scrollbar;root;#e=M(null);get thumbNode(){return g(this.#e)}set thumbNode(e){O(this.#e,e,!0)}#t=M(0);get pointerOffset(){return g(this.#t)}set pointerOffset(e){O(this.#t,e,!0)}#n=M({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}});get sizes(){return g(this.#n)}set sizes(e){O(this.#n,e)}#r=I(()=>_t(this.sizes.viewport,this.sizes.content));get thumbRatio(){return g(this.#r)}set thumbRatio(e){O(this.#r,e)}#i=I(()=>this.thumbRatio>0&&this.thumbRatio<1);get hasThumb(){return g(this.#i)}set hasThumb(e){O(this.#i,e)}#a=M(``);get prevTransformStyle(){return g(this.#a)}set prevTransformStyle(e){O(this.#a,e,!0)}constructor(e){this.scrollbar=e,this.root=e.root,v(()=>{this.scrollbar.hasThumb=this.hasThumb}),v(()=>{!this.scrollbar.hasThumb&&this.thumbNode&&(this.prevTransformStyle=this.thumbNode.style.transform)})}setSizes(e){this.sizes=e}getScrollPosition(e,t){return yt({pointerPos:e,pointerOffset:this.pointerOffset,sizes:this.sizes,dir:t})}onThumbPointerUp(){this.pointerOffset=0}onThumbPointerDown(e){this.pointerOffset=e}xOnThumbPositionChange(){if(!(this.root.viewportNode&&this.thumbNode))return;let e=this.root.viewportNode.scrollLeft,t=`translate3d(${bt({scrollPos:e,sizes:this.sizes,dir:this.root.opts.dir.current})}px, 0, 0)`;this.thumbNode.style.transform=t,this.prevTransformStyle=t}xOnWheelScroll(e){this.root.viewportNode&&(this.root.viewportNode.scrollLeft=e)}xOnDragScroll(e){this.root.viewportNode&&(this.root.viewportNode.scrollLeft=this.getScrollPosition(e,this.root.opts.dir.current))}yOnThumbPositionChange(){if(!(this.root.viewportNode&&this.thumbNode))return;let e=this.root.viewportNode.scrollTop,t=`translate3d(0, ${bt({scrollPos:e,sizes:this.sizes})}px, 0)`;this.thumbNode.style.transform=t,this.prevTransformStyle=t}yOnWheelScroll(e){this.root.viewportNode&&(this.root.viewportNode.scrollTop=e)}yOnDragScroll(e){this.root.viewportNode&&(this.root.viewportNode.scrollTop=this.getScrollPosition(e,this.root.opts.dir.current))}},dt=class e{static create(t){return nt.set(new e(t,tt.get()))}opts;scrollbarVis;root;scrollbar;attachment;#e=M();get computedStyle(){return g(this.#e)}set computedStyle(e){O(this.#e,e,!0)}constructor(e,t){this.opts=e,this.scrollbarVis=t,this.root=t.root,this.scrollbar=t.scrollbar,this.attachment=Re(this.scrollbar.opts.ref,e=>this.root.scrollbarXNode=e),v(()=>{this.scrollbar.opts.ref.current&&this.opts.mounted.current&&(this.computedStyle=getComputedStyle(this.scrollbar.opts.ref.current))}),v(()=>{this.onResize()})}onThumbPointerDown=e=>{this.scrollbarVis.onThumbPointerDown(e.x)};onDragScroll=e=>{this.scrollbarVis.xOnDragScroll(e.x)};onThumbPointerUp=()=>{this.scrollbarVis.onThumbPointerUp()};onThumbPositionChange=()=>{this.scrollbarVis.xOnThumbPositionChange()};onWheelScroll=(e,t)=>{if(!this.root.viewportNode)return;let n=this.root.viewportNode.scrollLeft+e.deltaX;this.scrollbarVis.xOnWheelScroll(n),St(n,t)&&e.preventDefault()};onResize=()=>{this.scrollbar.opts.ref.current&&this.root.viewportNode&&this.computedStyle&&this.scrollbarVis.setSizes({content:this.root.viewportNode.scrollWidth,viewport:this.root.viewportNode.offsetWidth,scrollbar:{size:this.scrollbar.opts.ref.current.clientWidth,paddingStart:gt(this.computedStyle.paddingLeft),paddingEnd:gt(this.computedStyle.paddingRight)}})};#t=I(()=>vt(this.scrollbarVis.sizes));get thumbSize(){return g(this.#t)}set thumbSize(e){O(this.#t,e)}#n=I(()=>({id:this.scrollbar.opts.id.current,"data-orientation":`horizontal`,style:{bottom:0,left:this.root.opts.dir.current===`rtl`?`var(--bits-scroll-area-corner-width)`:0,right:this.root.opts.dir.current===`ltr`?`var(--bits-scroll-area-corner-width)`:0,"--bits-scroll-area-thumb-width":`${this.thumbSize}px`},...this.attachment}));get props(){return g(this.#n)}set props(e){O(this.#n,e)}},ft=class e{static create(t){return nt.set(new e(t,tt.get()))}opts;scrollbarVis;root;scrollbar;attachment;#e=M();get computedStyle(){return g(this.#e)}set computedStyle(e){O(this.#e,e,!0)}constructor(e,t){this.opts=e,this.scrollbarVis=t,this.root=t.root,this.scrollbar=t.scrollbar,this.attachment=Re(this.scrollbar.opts.ref,e=>this.root.scrollbarYNode=e),v(()=>{this.scrollbar.opts.ref.current&&this.opts.mounted.current&&(this.computedStyle=getComputedStyle(this.scrollbar.opts.ref.current))}),v(()=>{this.onResize()}),this.onThumbPointerDown=this.onThumbPointerDown.bind(this),this.onDragScroll=this.onDragScroll.bind(this),this.onThumbPointerUp=this.onThumbPointerUp.bind(this),this.onThumbPositionChange=this.onThumbPositionChange.bind(this),this.onWheelScroll=this.onWheelScroll.bind(this),this.onResize=this.onResize.bind(this)}onThumbPointerDown(e){this.scrollbarVis.onThumbPointerDown(e.y)}onDragScroll(e){this.scrollbarVis.yOnDragScroll(e.y)}onThumbPointerUp(){this.scrollbarVis.onThumbPointerUp()}onThumbPositionChange(){this.scrollbarVis.yOnThumbPositionChange()}onWheelScroll(e,t){if(!this.root.viewportNode)return;let n=this.root.viewportNode.scrollTop+e.deltaY;this.scrollbarVis.yOnWheelScroll(n),St(n,t)&&e.preventDefault()}onResize(){this.scrollbar.opts.ref.current&&this.root.viewportNode&&this.computedStyle&&this.scrollbarVis.setSizes({content:this.root.viewportNode.scrollHeight,viewport:this.root.viewportNode.offsetHeight,scrollbar:{size:this.scrollbar.opts.ref.current.clientHeight,paddingStart:gt(this.computedStyle.paddingTop),paddingEnd:gt(this.computedStyle.paddingBottom)}})}#t=I(()=>vt(this.scrollbarVis.sizes));get thumbSize(){return g(this.#t)}set thumbSize(e){O(this.#t,e)}#n=I(()=>({id:this.scrollbar.opts.id.current,"data-orientation":`vertical`,style:{top:0,right:this.root.opts.dir.current===`ltr`?0:void 0,left:this.root.opts.dir.current===`rtl`?0:void 0,bottom:`var(--bits-scroll-area-corner-height)`,"--bits-scroll-area-thumb-height":`${this.thumbSize}px`},...this.attachment}));get props(){return g(this.#n)}set props(e){O(this.#n,e)}},pt=class e{static create(){return rt.set(new e(nt.get()))}scrollbarState;root;scrollbarVis;scrollbar;#e=M(null);get rect(){return g(this.#e)}set rect(e){O(this.#e,e)}#t=M(``);get prevWebkitUserSelect(){return g(this.#t)}set prevWebkitUserSelect(e){O(this.#t,e,!0)}handleResize;handleThumbPositionChange;handleWheelScroll;handleThumbPointerDown;handleThumbPointerUp;#n=I(()=>this.scrollbarVis.sizes.content-this.scrollbarVis.sizes.viewport);get maxScrollPos(){return g(this.#n)}set maxScrollPos(e){O(this.#n,e)}constructor(e){this.scrollbarState=e,this.root=e.root,this.scrollbarVis=e.scrollbarVis,this.scrollbar=e.scrollbarVis.scrollbar,this.handleResize=G(()=>this.scrollbarState.onResize(),10),this.handleThumbPositionChange=this.scrollbarState.onThumbPositionChange,this.handleWheelScroll=this.scrollbarState.onWheelScroll,this.handleThumbPointerDown=this.scrollbarState.onThumbPointerDown,this.handleThumbPointerUp=this.scrollbarState.onThumbPointerUp,v(()=>{let e=this.maxScrollPos,t=this.scrollbar.opts.ref.current;return this.root.viewportNode,_(this.root.domContext.getDocument(),`wheel`,n=>{let r=n.target;t?.contains(r)&&this.handleWheelScroll(n,e)},{passive:!1})}),b(()=>{this.scrollbarVis.sizes,s(()=>this.handleThumbPositionChange())}),new qe(()=>this.scrollbar.opts.ref.current,this.handleResize),new qe(()=>this.root.contentNode,this.handleResize),this.onpointerdown=this.onpointerdown.bind(this),this.onpointermove=this.onpointermove.bind(this),this.onpointerup=this.onpointerup.bind(this),this.onlostpointercapture=this.onlostpointercapture.bind(this)}handleDragScroll(e){if(!this.rect)return;let t=e.clientX-this.rect.left,n=e.clientY-this.rect.top;this.scrollbarState.onDragScroll({x:t,y:n})}#r(){this.rect!==null&&(this.root.domContext.getDocument().body.style.webkitUserSelect=this.prevWebkitUserSelect,this.root.viewportNode&&(this.root.viewportNode.style.scrollBehavior=``),this.rect=null)}onpointerdown(e){e.button===0&&(e.target.setPointerCapture(e.pointerId),this.rect=this.scrollbar.opts.ref.current?.getBoundingClientRect()??null,this.prevWebkitUserSelect=this.root.domContext.getDocument().body.style.webkitUserSelect,this.root.domContext.getDocument().body.style.webkitUserSelect=`none`,this.root.viewportNode&&(this.root.viewportNode.style.scrollBehavior=`auto`),this.handleDragScroll(e))}onpointermove(e){this.handleDragScroll(e)}onpointerup(e){let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),this.#r()}onlostpointercapture(e){this.#r()}#i=I(()=>Z({...this.scrollbarState.props,style:{position:`absolute`,...this.scrollbarState.props.style},[Qe.scrollbar]:``,onpointerdown:this.onpointerdown,onpointermove:this.onpointermove,onpointerup:this.onpointerup,onlostpointercapture:this.onlostpointercapture}));get props(){return g(this.#i)}set props(e){O(this.#i,e)}},mt=class e{static create(t){return new e(t,rt.get())}opts;scrollbarState;attachment;#e;#t=M();#n=G(()=>{g(this.#t)&&(g(this.#t)(),O(this.#t,void 0))},100);constructor(e,t){this.opts=e,this.scrollbarState=t,this.#e=t.root,this.attachment=Re(this.opts.ref,e=>this.scrollbarState.scrollbarVis.thumbNode=e),v(()=>{let e=this.#e.viewportNode;return e?(s(()=>this.scrollbarState.handleThumbPositionChange()),_(e,`scroll`,()=>{if(this.#n(),!g(this.#t)){let t=Ct(e,this.scrollbarState.handleThumbPositionChange);O(this.#t,t,!0),this.scrollbarState.handleThumbPositionChange()}})):void 0}),this.onpointerdowncapture=this.onpointerdowncapture.bind(this),this.onpointerup=this.onpointerup.bind(this)}onpointerdowncapture(e){let t=e.target;if(!t)return;let n=t.getBoundingClientRect(),r=e.clientX-n.left,i=e.clientY-n.top;this.scrollbarState.handleThumbPointerDown({x:r,y:i})}onpointerup(e){this.scrollbarState.handleThumbPointerUp()}#r=I(()=>({id:this.opts.id.current,"data-state":this.scrollbarState.scrollbarVis.hasThumb?`visible`:`hidden`,style:{width:`var(--bits-scroll-area-thumb-width)`,height:`var(--bits-scroll-area-thumb-height)`,transform:this.scrollbarState.scrollbarVis.prevTransformStyle},onpointerdowncapture:this.onpointerdowncapture,onpointerup:this.onpointerup,[Qe.thumb]:``,...this.attachment}));get props(){return g(this.#r)}set props(e){O(this.#r,e)}},ht=class e{static create(t){return new e(t,$e.get())}opts;root;attachment;#e=M(0);#t=M(0);#n=I(()=>!!(g(this.#e)&&g(this.#t)));get hasSize(){return g(this.#n)}set hasSize(e){O(this.#n,e)}constructor(e,t){this.opts=e,this.root=t,this.attachment=Re(this.opts.ref),new qe(()=>this.root.scrollbarXNode,()=>{let e=this.root.scrollbarXNode?.offsetHeight||0;this.root.cornerHeight=e,O(this.#t,e,!0)}),new qe(()=>this.root.scrollbarYNode,()=>{let e=this.root.scrollbarYNode?.offsetWidth||0;this.root.cornerWidth=e,O(this.#e,e,!0)})}#r=I(()=>({id:this.opts.id.current,style:{width:g(this.#e),height:g(this.#t),position:`absolute`,right:this.root.opts.dir.current===`ltr`?0:void 0,left:this.root.opts.dir.current===`rtl`?0:void 0,bottom:0},[Qe.corner]:``,...this.attachment}));get props(){return g(this.#r)}set props(e){O(this.#r,e)}};function gt(e){return e?Number.parseInt(e,10):0}function _t(e,t){let n=e/t;return Number.isNaN(n)?0:n}function vt(e){let t=_t(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,r=(e.scrollbar.size-n)*t;return Math.max(r,18)}function yt({pointerPos:e,pointerOffset:t,sizes:n,dir:r=`ltr`}){let i=vt(n),a=i/2,o=t||a,s=i-o,c=n.scrollbar.paddingStart+o,l=n.scrollbar.size-n.scrollbar.paddingEnd-s,u=n.content-n.viewport,d=r===`ltr`?[0,u]:[u*-1,0];return xt([c,l],d)(e)}function bt({scrollPos:e,sizes:t,dir:n=`ltr`}){let r=vt(t),i=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,a=t.scrollbar.size-i,o=t.content-t.viewport,s=a-r,c=n===`ltr`?[0,o]:[o*-1,0],l=Xe(e,c[0],c[1]);return xt([0,o],[0,s])(l)}function xt(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function St(e,t){return e>0&&e<t}function Ct(e,t){let n={left:e.scrollLeft,top:e.scrollTop},r=0,i=Ce(e);return(function a(){let o={left:e.scrollLeft,top:e.scrollTop},s=n.left!==o.left,c=n.top!==o.top;(s||c)&&t(),n=o,r=i.requestAnimationFrame(a)})(),()=>i.cancelAnimationFrame(r)}var wt=f(`<div><!></div>`);function Tt(e,n){let r=o();k(n,!0);let i=S(n,`ref`,15,null),a=S(n,`id`,19,()=>J(r)),s=S(n,`type`,3,`hover`),c=S(n,`dir`,3,`ltr`),f=S(n,`scrollHideDelay`,3,600),p=j(n,[`$$slots`,`$$events`,`$$legacy`,`ref`,`id`,`type`,`dir`,`scrollHideDelay`,`children`,`child`]),m=it.create({type:X(()=>s()),dir:X(()=>c()),scrollHideDelay:X(()=>f()),id:X(()=>a()),ref:X(()=>i(),e=>i(e))}),h=I(()=>Z(p,m.props));var _=u(),v=E(_),y=e=>{var t=u();z(E(t),()=>n.child,()=>({props:g(h)})),l(e,t)},b=e=>{var r=wt();T(r,()=>({...g(h)})),z(t(r),()=>n.children??w),H(r),l(e,r)};d(v,e=>{n.child?e(y):e(b,-1)}),l(e,_),N()}var Et=f(`<div><div><!></div></div>`);function Dt(e,n){let r=o();k(n,!0);let i=S(n,`ref`,15,null),a=S(n,`id`,19,()=>J(r)),s=j(n,[`$$slots`,`$$events`,`$$legacy`,`ref`,`id`,`children`]),c=at.create({id:X(()=>a()),ref:X(()=>i(),e=>i(e))}),u=I(()=>Z(s,c.props)),d=I(()=>Z({},c.contentProps));var f=Et();T(f,()=>({...g(u)}));var p=t(f);T(p,()=>({...g(d)})),z(t(p),()=>n.children??w),H(p),H(f),l(e,f),N()}var Ot=f(`<div><!></div>`);function kt(e,n){k(n,!0);let r=j(n,[`$$slots`,`$$events`,`$$legacy`,`child`,`children`]),i=pt.create(),a=I(()=>Z(r,i.props));var o=u(),s=E(o),c=e=>{var t=u();z(E(t),()=>n.child,()=>({props:g(a)})),l(e,t)},f=e=>{var r=Ot();T(r,()=>({...g(a)})),z(t(r),()=>n.children??w),H(r),l(e,r)};d(s,e=>{n.child?e(c):e(f,-1)}),l(e,o),N()}function At(e,t){k(t,!0);let n=j(t,[`$$slots`,`$$events`,`$$legacy`]),r=new we,i=dt.create({mounted:X(()=>r.current)}),a=I(()=>Z(n,i.props));kt(e,F(()=>g(a))),N()}function jt(e,t){k(t,!0);let n=j(t,[`$$slots`,`$$events`,`$$legacy`]),r=new we,i=ft.create({mounted:X(()=>r.current)}),a=I(()=>Z(n,i.props));kt(e,F(()=>g(a))),N()}function Mt(e,t){k(t,!0);let n=j(t,[`$$slots`,`$$events`,`$$legacy`]),r=ut.create();var i=u(),a=E(i),o=e=>{At(e,F(()=>n))},s=e=>{jt(e,F(()=>n))};d(a,e=>{r.scrollbar.opts.orientation.current===`horizontal`?e(o):e(s,-1)}),l(e,i),N()}function Nt(e,t){k(t,!0);let n=S(t,`forceMount`,3,!1),r=j(t,[`$$slots`,`$$events`,`$$legacy`,`forceMount`]),i=lt.create(),a=I(()=>Z(r,i.props));{let t=e=>{Mt(e,F(()=>g(a)))},r=I(()=>n()||i.isVisible);Ye(e,{get open(){return g(r)},get ref(){return i.scrollbar.opts.ref},presence:t,$$slots:{presence:!0}})}N()}function Pt(e,t){k(t,!0);let n=S(t,`forceMount`,3,!1),r=j(t,[`$$slots`,`$$events`,`$$legacy`,`forceMount`]),i=ct.create(),a=I(()=>Z(r,i.props));{let t=e=>{Mt(e,F(()=>g(a)))},r=I(()=>n()||!i.isHidden);Ye(e,F(()=>g(a),{get open(){return g(r)},get ref(){return i.scrollbar.opts.ref},presence:t,$$slots:{presence:!0}}))}N()}function Ft(e,t){k(t,!0);let n=S(t,`forceMount`,3,!1),r=j(t,[`$$slots`,`$$events`,`$$legacy`,`forceMount`]),i=st.create(),a=lt.create(),o=I(()=>Z(r,i.props,a.props,{"data-state":i.isVisible?`visible`:`hidden`})),s=I(()=>n()||i.isVisible&&a.isVisible);Ye(e,{get open(){return g(s)},get ref(){return a.scrollbar.opts.ref},presence:e=>{Mt(e,F(()=>g(o)))},$$slots:{presence:!0}}),N()}function It(e,t){let n=o();k(t,!0);let r=S(t,`ref`,15,null),i=S(t,`id`,19,()=>J(n)),a=j(t,[`$$slots`,`$$events`,`$$legacy`,`ref`,`id`,`orientation`]),s=ot.create({orientation:X(()=>t.orientation),id:X(()=>i()),ref:X(()=>r(),e=>r(e))}),c=I(()=>s.root.opts.type.current);var f=u(),p=E(f),m=e=>{Ft(e,F(()=>a,{get id(){return i()}}))},h=e=>{Pt(e,F(()=>a,{get id(){return i()}}))},_=e=>{Nt(e,F(()=>a,{get id(){return i()}}))},v=e=>{Mt(e,F(()=>a,{get id(){return i()}}))};d(p,e=>{g(c)===`hover`?e(m):g(c)===`scroll`?e(h,1):g(c)===`auto`?e(_,2):g(c)===`always`&&e(v,3)}),l(e,f),N()}var Lt=f(`<div><!></div>`);function Rt(e,n){k(n,!0);let r=S(n,`ref`,15,null),i=j(n,[`$$slots`,`$$events`,`$$legacy`,`ref`,`id`,`child`,`children`,`present`]),a=new we,o=mt.create({id:X(()=>n.id),ref:X(()=>r(),e=>r(e)),mounted:X(()=>a.current)}),s=I(()=>Z(i,o.props,{style:{hidden:!n.present}}));var c=u(),f=E(c),p=e=>{var t=u();z(E(t),()=>n.child,()=>({props:g(s)})),l(e,t)},m=e=>{var r=Lt();T(r,()=>({...g(s)})),z(t(r),()=>n.children??w),H(r),l(e,r)};d(f,e=>{n.child?e(p):e(m,-1)}),l(e,c),N()}function zt(e,t){let n=o();k(t,!0);let r=S(t,`id`,19,()=>J(n)),i=S(t,`ref`,15,null),a=S(t,`forceMount`,3,!1),s=j(t,[`$$slots`,`$$events`,`$$legacy`,`id`,`ref`,`forceMount`]),c=tt.get();{let t=(e,t)=>{let n=()=>t?.().present;Rt(e,F(()=>s,{get id(){return r()},get present(){return n()},get ref(){return i()},set ref(e){i(e)}}))},n=I(()=>a()||c.hasThumb);Ye(e,{get open(){return g(n)},get ref(){return c.scrollbar.opts.ref},presence:t,$$slots:{presence:!0}})}N()}var Bt=f(`<div><!></div>`);function Vt(e,n){k(n,!0);let r=S(n,`ref`,15,null),i=j(n,[`$$slots`,`$$events`,`$$legacy`,`ref`,`id`,`children`,`child`]),a=ht.create({id:X(()=>n.id),ref:X(()=>r(),e=>r(e))}),o=I(()=>Z(i,a.props));var s=u(),c=E(s),f=e=>{var t=u();z(E(t),()=>n.child,()=>({props:g(o)})),l(e,t)},p=e=>{var r=Bt();T(r,()=>({...g(o)})),z(t(r),()=>n.children??w),H(r),l(e,r)};d(c,e=>{n.child?e(f):e(p,-1)}),l(e,s),N()}function Ht(e,t){let n=o();k(t,!0);let r=S(t,`ref`,15,null),i=S(t,`id`,19,()=>J(n)),a=j(t,[`$$slots`,`$$events`,`$$legacy`,`ref`,`id`]),s=$e.get(),c=I(()=>!!(s.scrollbarXNode&&s.scrollbarYNode)),f=I(()=>s.opts.type.current!==`scroll`&&g(c));var p=u(),m=E(p),h=e=>{Vt(e,F(()=>a,{get id(){return i()},get ref(){return r()},set ref(e){r(e)}}))};d(m,e=>{g(f)&&e(h)}),l(e,p),N()}var Ut=f(`<!> <!>`,1);function Wt(e,t){k(t,!0);let n=S(t,`ref`,15,null),r=S(t,`orientation`,3,`vertical`),a=j(t,[`$$slots`,`$$events`,`$$legacy`,`ref`,`class`,`orientation`,`children`]);var o=u(),s=E(o);{let e=I(()=>be(`flex touch-none p-px transition-colors select-none data-horizontal:h-2.5 data-horizontal:flex-col data-horizontal:border-t data-horizontal:border-t-transparent data-vertical:h-full data-vertical:w-2.5 data-vertical:border-l data-vertical:border-l-transparent`,t.class));i(s,()=>It,(o,s)=>{s(o,F({"data-slot":`scroll-area-scrollbar`,get"data-orientation"(){return r()},get orientation(){return r()},get class(){return g(e)}},()=>a,{get ref(){return n()},set ref(e){n(e)},children:(e,n)=>{var r=Ut(),a=E(r);z(a,()=>t.children??w),i(L(a,2),()=>zt,(e,t)=>{t(e,{"data-slot":`scroll-area-thumb`,class:`bg-border relative flex-1 rounded-full`})}),l(e,r)},$$slots:{default:!0}}))})}l(e,o),N()}var Gt=f(`<!> <!> <!> <!>`,1);function Kt(e,t){k(t,!0);let n=S(t,`ref`,15,null),r=S(t,`viewportRef`,15,null),a=S(t,`orientation`,3,`vertical`),o=S(t,`scrollbarXClasses`,3,``),s=S(t,`scrollbarYClasses`,3,``),c=j(t,[`$$slots`,`$$events`,`$$legacy`,`ref`,`viewportRef`,`class`,`orientation`,`scrollbarXClasses`,`scrollbarYClasses`,`children`]);var f=u(),p=E(f);{let e=I(()=>be(`relative overflow-hidden`,t.class));i(p,()=>Tt,(f,p)=>{p(f,F({"data-slot":`scroll-area`,get class(){return g(e)}},()=>c,{get ref(){return n()},set ref(e){n(e)},children:(e,n)=>{var c=Gt(),f=E(c);i(f,()=>Dt,(e,n)=>{n(e,{"data-slot":`scroll-area-viewport`,class:`cn-scroll-area-viewport focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1`,get ref(){return r()},set ref(e){r(e)},children:(e,n)=>{var r=u();z(E(r),()=>t.children??w),l(e,r)},$$slots:{default:!0}})});var p=L(f,2),m=e=>{Wt(e,{orientation:`vertical`,get class(){return s()}})};d(p,e=>{(a()===`vertical`||a()===`both`)&&e(m)});var h=L(p,2),g=e=>{Wt(e,{orientation:`horizontal`,get class(){return o()}})};d(h,e=>{(a()===`horizontal`||a()===`both`)&&e(g)}),i(L(h,2),()=>Ht,(e,t)=>{t(e,{})}),l(e,c)},$$slots:{default:!0}}))})}l(e,f),N()}function qt(e){return!e||e.method===`input`?``:e.method===`editor`?e.prefill??``:``}var Jt=f(`<!> <!>`,1),Yt=f(`<!> <!>`,1),Xt=f(`<!> <form class="flex flex-col gap-4"><!> <!></form>`,1),Zt=f(`<div class="text-muted-foreground mt-1 text-sm"> </div>`),Qt=f(`<div class="flex h-full items-center justify-center"><span class="text-muted-foreground text-sm">Loading editor…</span></div>`),$t=f(`<form class="flex h-full min-h-0 flex-col"><header class="bg-background/95 z-10 flex shrink-0 flex-col gap-2 border-b px-4 py-3 backdrop-blur sm:px-5" style="padding-top: max(0.75rem, env(safe-area-inset-top));"><div class="flex flex-col items-start gap-3 sm:flex-row sm:items-start sm:justify-between"><div class="w-full min-w-0 sm:w-auto"><div class="text-base font-semibold break-words"> </div> <!></div> <!></div></header> <div class="min-h-0 flex-1 overflow-hidden"><!></div> <div class="bg-background/95 z-10 flex shrink-0 flex-col gap-2 border-t px-4 py-3 backdrop-blur sm:flex-row sm:items-center sm:justify-end sm:px-5" style="padding-bottom: max(0.75rem, env(safe-area-inset-bottom));"><!> <!></div></form>`);function en(e,a){k(a,!0);let o=Ve(),s=M(!1),f=M(``),p=I(()=>{let e=$.viewedSessionId;return o.all.find(t=>!De.has(t.method)&&t.sessionId===e)??null}),m=M(null),h=M(null);v(()=>{if(g(p)?.method===`editor`){let e=g(p).title,t=g(p).prefill;Promise.all([W(()=>import(`../chunks/uZO1iyJZ.js`),__vite__mapDeps([0,1,2,3]),import.meta.url),W(()=>import(`../chunks/ATalJV7d.js`).then(e=>e.t),__vite__mapDeps([4,2]),import.meta.url)]).then(([n,r])=>{O(m,n,!0),O(h,r.resolveEditorLanguage(e,t),!0)})}else O(m,null),O(h,null)}),v(()=>{g(p)?(O(f,qt(g(p)),!0),O(s,!0)):O(s,!1)});function _(e){g(p)&&o.sendResponse(g(p).requestId,g(p).sessionId,e)}function b(){_({cancelled:!0})}function x(e){!e&&g(p)&&b()}function S(){_({value:g(f)})}function C(){_({value:g(f)})}var w=u();i(E(w),()=>fe,(e,a)=>{a(e,{get open(){return g(s)},onOpenChange:x,children:(e,a)=>{var o=u(),s=E(o),_=e=>{var a=u();i(E(a),()=>oe,(e,a)=>{a(e,{class:`sm:max-w-md`,children:(e,a)=>{var o=Xt(),s=E(o);i(s,()=>he,(e,t)=>{t(e,{children:(e,t)=>{var r=Jt(),a=E(r);i(a,()=>ue,(e,t)=>{t(e,{children:(e,t)=>{R();var r=c();y(()=>n(r,g(p).title??`Extension`)),l(e,r)},$$slots:{default:!0}})});var o=L(a,2),s=e=>{var t=u();i(E(t),()=>Pe,(e,t)=>{t(e,{children:(e,t)=>{R();var r=c();y(()=>n(r,g(p).message)),l(e,r)},$$slots:{default:!0}})}),l(e,t)};d(o,e=>{g(p).message&&e(s)}),l(e,r)},$$slots:{default:!0}})});var m=L(s,2),h=t(m);{let e=I(()=>g(p).placeholder??``);ce(h,{get placeholder(){return g(e)},autofocus:!0,get value(){return g(f)},set value(e){O(f,e,!0)}})}i(L(h,2),()=>K,(e,t)=>{t(e,{children:(e,t)=>{var n=Yt(),r=E(n);q(r,{variant:`outline`,type:`button`,onclick:b,children:(e,t)=>{R(),l(e,c(`Cancel`))},$$slots:{default:!0}}),q(L(r,2),{type:`submit`,children:(e,t)=>{R(),l(e,c(`Submit`))},$$slots:{default:!0}}),l(e,n)},$$slots:{default:!0}})}),H(m),r(`submit`,m,e=>{e.preventDefault(),S()}),l(e,o)},$$slots:{default:!0}})}),l(e,a)},v=e=>{var a=u();i(E(a),()=>oe,(e,a)=>{a(e,{showCloseButton:!1,class:`top-0 left-0 flex h-dvh w-screen max-w-none translate-x-0 translate-y-0 flex-col gap-0 rounded-none p-0 sm:top-1/2 sm:left-1/2 sm:h-[min(92dvh,960px)] sm:w-[min(96vw,1280px)] sm:max-w-[min(96vw,1280px)] sm:-translate-x-1/2 sm:-translate-y-1/2 sm:rounded-xl`,children:(e,a)=>{var o=$t(),s=t(o),_=t(s),v=t(_),x=t(v),S=t(x,!0);H(x);var w=L(x,2),ee=e=>{var r=Zt(),i=t(r,!0);H(r),y(()=>n(i,g(p).message)),l(e,r)};d(w,e=>{g(p).message&&e(ee)}),H(v);var T=L(v,2),te=e=>{He(e,{variant:`outline`,class:`max-w-full shrink-0 whitespace-nowrap`,children:(e,t)=>{R();var r=c();y(()=>n(r,g(h).label)),l(e,r)},$$slots:{default:!0}})};d(T,e=>{g(h)&&e(te)}),H(_),H(s);var D=L(s,2),ne=t(D),k=e=>{var t=u(),n=E(t);{let e=I(()=>g(h)?.id??null);i(n,()=>g(m).default,(t,n)=>{n(t,{get language(){return g(e)},get value(){return g(f)},set value(e){O(f,e,!0)}})})}l(e,t)},A=e=>{l(e,Qt())};d(ne,e=>{g(m)?e(k):e(A,-1)}),H(D);var j=L(D,2),M=t(j);q(M,{variant:`outline`,type:`button`,class:`w-full sm:w-auto`,onclick:b,children:(e,t)=>{R(),l(e,c(`Cancel`))},$$slots:{default:!0}}),q(L(M,2),{type:`submit`,class:`w-full sm:w-auto`,children:(e,t)=>{R(),l(e,c(`Save`))},$$slots:{default:!0}}),H(j),H(o),y(()=>n(S,g(p).title??`Editor`)),r(`submit`,o,e=>{e.preventDefault(),C()}),l(e,o)},$$slots:{default:!0}})}),l(e,a)};d(s,e=>{g(p)?.method===`input`?e(_):g(p)?.method===`editor`&&e(v,1)}),l(e,o)},$$slots:{default:!0}})}),l(e,w),N()}function tn(e,t){let n=t.map(e=>e.trimEnd()),r=n.find(e=>e.trim().length>0),i=r&&n.length>1?r.trim():e,a=(r&&n.length>1?n.slice(n.indexOf(r)+1):n).filter(e=>e.trim().length>0).map(e=>({content:e,style:`text`}));return{id:`widget:${e}`,header:{title:i},body:a}}function nn(e,t){k(t,!0);let n=j(t,[`$$slots`,`$$events`,`$$legacy`]),r=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`12`}],[`line`,{x1:`12`,x2:`12.01`,y1:`16`,y2:`16`}]];Ue(e,F({name:`circle-alert`},()=>n,{get iconNode(){return r},children:(e,n)=>{var r=u();z(E(r),()=>t.children??w),l(e,r)},$$slots:{default:!0}})),N()}function rn(e,t){k(t,!0);let n=j(t,[`$$slots`,`$$events`,`$$legacy`]),r=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 16v-4`}],[`path`,{d:`M12 8h.01`}]];Ue(e,F({name:`info`},()=>n,{get iconNode(){return r},children:(e,n)=>{var r=u();z(E(r),()=>t.children??w),l(e,r)},$$slots:{default:!0}})),N()}var an=f(`<span class="truncate"> </span>`),on=f(`<div class="border-border bg-muted/50 text-muted-foreground flex items-center gap-3 border-t px-4 py-1.5 text-xs"></div>`),sn=f(`<button><!> <span> </span></button>`),cn=f(`<div class="pointer-events-none fixed top-4 left-1/2 z-50 flex -translate-x-1/2 flex-col items-center gap-2"></div>`),ln=f(`<!> <!>`,1);function un(e,r){k(r,!0);let i=new We,a=M(A([])),o=0;function s(e,t=`info`){let n=o++;O(a,[...g(a),{id:n,text:e,notificationType:t}],!0),setTimeout(()=>{O(a,g(a).filter(e=>e.id!==n),!0)},5e3)}function c(e){O(a,g(a).filter(t=>t.id!==e),!0)}P(()=>Q.onEvent(e=>{if(e.type!==`extension_ui_request`)return;let t=e;if(t.method===`setStatus`){let e=t.key,n=t.text;n?i.set(e,n):i.delete(e)}else if(t.method===`setWidget`){let e=t.key,n=t.lines,r=t.sessionId;if(r){let t=$.sessions[r];t&&(n&&n.length>0?t.widgetCards[e]=tn(e,n):delete t.widgetCards[e],r===$.viewedSessionId&&$.syncViewedPanelStore())}}else if(t.method===`notify`)s(t.text??t.message??``,t.notifyType??t.notificationType??`info`);else if(t.method===`setEditorText`){let e=t.text??``,n=t.sessionId;if(n){let t=$.sessions[n];t&&(t.draftText=e),Te(n,e)}}else if(t.method===`setTitle`){let e=t.title??``,n=t.sessionId;if(n){let t=$.sessions[n];t&&(t.extensionTitle=e||null)}}}));let u=I(()=>[...i.entries()]);var f=ln(),p=E(f),m=e=>{var r=on();h(r,21,()=>g(u),([e,t])=>e,(e,r)=>{var i=I(()=>B(g(r),2));let a=()=>g(i)[1];var o=an(),s=t(o,!0);H(o),y(()=>n(s,a())),l(e,o)}),H(r),l(e,r)};d(p,e=>{g(u).length>0&&e(m)});var _=L(p,2),v=e=>{var r=cn();h(r,21,()=>g(a),e=>e.id,(e,r)=>{var i=sn(),a=t(i),o=e=>{nn(e,{class:`size-4 shrink-0`})},s=e=>{Fe(e,{class:`size-4 shrink-0`})},u=e=>{rn(e,{class:`size-4 shrink-0`})};d(a,e=>{g(r).notificationType===`error`?e(o):g(r).notificationType===`warning`?e(s,1):e(u,-1)});var f=L(a,2),p=t(f,!0);H(f),H(i),y(()=>{V(i,1,`pointer-events-auto flex items-center gap-2 rounded-lg border px-4 py-2.5 text-sm shadow-lg transition-opacity
3
- ${g(r).notificationType===`error`?`border-destructive/30 bg-destructive/10 text-destructive`:g(r).notificationType===`warning`?`border-yellow-500/30 bg-yellow-500/10 text-yellow-600 dark:text-yellow-400`:`border-border bg-background text-foreground`}`),n(p,g(r).text)}),U(`click`,i,()=>c(g(r).id)),l(e,i)}),H(r),l(e,r)};d(_,e=>{g(a).length>0&&e(v)}),l(e,f),N()}m([`click`]);function dn(e,t){k(t,!0);let n=j(t,[`$$slots`,`$$events`,`$$legacy`]),r=[[`path`,{d:`M12 15V3`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`}],[`path`,{d:`m7 10 5 5 5-5`}]];Ue(e,F({name:`download`},()=>n,{get iconNode(){return r},children:(e,n)=>{var r=u();z(E(r),()=>t.children??w),l(e,r)},$$slots:{default:!0}})),N()}function fn(e,t){k(t,!0);let n=j(t,[`$$slots`,`$$events`,`$$legacy`]),r=[[`path`,{d:`M12 2v13`}],[`path`,{d:`m16 6-4-4-4 4`}],[`path`,{d:`M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8`}]];Ue(e,F({name:`share`},()=>n,{get iconNode(){return r},children:(e,n)=>{var r=u();z(E(r),()=>t.children??w),l(e,r)},$$slots:{default:!0}})),N()}var pn=f(`<!> <span class="text-foreground flex-1 text-sm">Install Pimote: tap <strong>Share</strong> then <strong>Add to Home Screen</strong></span>`,1),mn=f(`<!> <span class="text-foreground flex-1 text-sm">Install Pimote for quick access</span> <button class="bg-primary text-primary-foreground hover:bg-primary/80 shrink-0 rounded-md px-3 py-1.5 text-xs font-medium">Install</button>`,1),hn=f(`<div class="animate-in slide-in-from-bottom fixed inset-x-0 bottom-0 z-50 duration-300 md:hidden"><div class="border-border bg-card mx-3 mb-3 flex items-center gap-3 rounded-xl border px-4 py-3 shadow-lg"><!> <button class="text-muted-foreground hover:text-foreground shrink-0 rounded-md p-1" title="Dismiss"><!></button></div></div>`);function gn(e,n){k(n,!0);let r=M(!1),i=M(!1),a=null;P(()=>{if(window.matchMedia(`(display-mode: standalone)`).matches||navigator.standalone===!0||localStorage.getItem(`pimote-install-dismissed`))return;let e=navigator.userAgent,t=/iPad|iPhone|iPod/.test(e)||navigator.platform===`MacIntel`&&navigator.maxTouchPoints>1,n=/Safari/.test(e)&&!/CriOS|FxiOS|Chrome/.test(e);if(t&&n){O(i,!0),O(r,!0);return}let o=e=>{e.preventDefault(),a=e,O(r,!0)};return window.addEventListener(`beforeinstallprompt`,o),()=>{window.removeEventListener(`beforeinstallprompt`,o)}});async function o(){a&&=(a.prompt(),(await a.userChoice).outcome===`accepted`&&O(r,!1),null)}function s(){localStorage.setItem(`pimote-install-dismissed`,`true`),O(r,!1)}var c=u(),f=E(c),p=e=>{var n=hn(),r=t(n),a=t(r),c=e=>{var t=pn();fn(E(t),{class:`text-muted-foreground size-5 shrink-0`}),R(2),l(e,t)},u=e=>{var t=mn(),n=E(t);dn(n,{class:`text-muted-foreground size-5 shrink-0`}),U(`click`,L(n,4),o),l(e,t)};d(a,e=>{g(i)?e(c):e(u,-1)});var f=L(a,2);Ne(t(f),{class:`size-4`}),H(f),H(r),H(n),U(`click`,f,s),l(e,n)};d(f,e=>{g(r)&&e(p)}),l(e,c),N()}m([`click`]);function _n(e,t){k(t,!0);let n=j(t,[`$$slots`,`$$events`,`$$legacy`]),r=[[`path`,{d:`M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z`}],[`circle`,{cx:`7.5`,cy:`7.5`,r:`.5`,fill:`currentColor`}]];Ue(e,F({name:`tag`},()=>n,{get iconNode(){return r},children:(e,n)=>{var r=u();z(E(r),()=>t.children??w),l(e,r)},$$slots:{default:!0}})),N()}var vn=f(`<div class="text-muted-foreground px-3 py-6 text-sm">No tree nodes match the current filter.</div>`),yn=f(`<button class="text-muted-foreground hover:text-foreground mt-0.5 rounded p-0.5"><!></button>`),bn=f(`<span class="inline-block size-5"></span>`),xn=f(`<span class="text-muted-foreground shrink-0 text-[11px]"> </span>`),Sn=f(`<span class="bg-primary/15 text-primary rounded px-1.5 py-0.5 text-[10px] font-medium">active</span>`),Cn=f(`<span class="bg-secondary text-secondary-foreground inline-flex items-center gap-1 rounded px-1.5 py-0.5 text-[10px]"><!> </span>`),wn=f(`<div tabindex="0"><!> <div class="min-w-0 flex-1"><div class="flex flex-wrap items-center gap-1.5"><span class="text-muted-foreground shrink-0 text-[11px] uppercase"> </span> <!> <!> <!></div> <div class="text-foreground mt-0.5 line-clamp-2 break-words sm:line-clamp-4"> </div> <div class="text-muted-foreground mt-0.5 hidden text-[11px] sm:block"> </div></div></div>`),Tn=f(`<div class="space-y-1"></div>`),En=f(`<textarea class="border-border bg-secondary text-foreground placeholder:text-muted-foreground focus:border-ring focus:ring-ring min-h-20 w-full resize-y rounded-md border px-3 py-2 text-sm focus:ring-1 focus:outline-none" placeholder="Custom summarization instructions..."></textarea>`),Dn=f(`<div class="text-muted-foreground text-xs">Summarizing and navigating…</div>`),On=f(`<div class="fixed inset-0 z-[80]" tabindex="0"><form class="bg-background border-border fixed w-80 rounded-lg border p-3 shadow-xl"><label class="text-foreground mb-2 block text-xs font-medium" for="tree-label-input">Label</label> <input id="tree-label-input" class="border-border bg-secondary text-foreground placeholder:text-muted-foreground focus:border-ring focus:ring-ring w-full rounded-md border px-2.5 py-2 text-sm focus:ring-1 focus:outline-none" type="text" placeholder="Set label (leave blank to clear)"/> <div class="mt-3 flex justify-end gap-2"><button type="button" class="border-border hover:bg-accent rounded-md border px-2.5 py-1.5 text-xs">Cancel</button> <button type="submit" class="bg-primary text-primary-foreground hover:bg-primary/85 rounded-md px-2.5 py-1.5 text-xs font-medium disabled:cursor-not-allowed disabled:opacity-50">Save</button></div></form></div>`),kn=f(`<div class="fixed inset-0 z-50 bg-black/60"><div class="bg-background fixed top-0 left-0 z-[60] flex h-dvh w-screen max-w-none flex-col rounded-none border shadow-xl sm:top-1/2 sm:left-1/2 sm:h-[min(92dvh,960px)] sm:w-[min(96vw,1080px)] sm:max-w-[min(96vw,1080px)] sm:-translate-x-1/2 sm:-translate-y-1/2 sm:rounded-xl"><header class="border-border bg-background/95 flex shrink-0 flex-col gap-3 border-b px-4 py-3 backdrop-blur sm:px-5" style="padding-top: max(0.75rem, env(safe-area-inset-top));"><div class="flex items-center justify-between gap-3"><h2 class="text-foreground text-base font-semibold">Tree Navigation</h2> <button class="text-muted-foreground hover:text-foreground rounded-md px-2 py-1 text-sm">Close</button></div> <div class="flex flex-col gap-2 sm:flex-row"><input class="border-border bg-secondary text-foreground placeholder:text-muted-foreground focus:border-ring focus:ring-ring w-full rounded-md border px-3 py-2 text-sm focus:ring-1 focus:outline-none" type="text" placeholder="Search previews..."/> <select class="border-border bg-secondary text-foreground focus:border-ring focus:ring-ring rounded-md border px-3 py-2 text-sm focus:ring-1 focus:outline-none"><option>Default</option><option>User only</option><option>All</option><option>Labeled only</option></select></div></header> <div class="min-h-0 flex-1 overflow-auto px-2 py-2 sm:px-3"><!></div> <footer class="border-border bg-background/95 flex shrink-0 flex-col gap-3 border-t px-4 py-3 backdrop-blur sm:px-5" style="padding-bottom: max(0.75rem, env(safe-area-inset-bottom));"><div class="flex flex-wrap gap-2"><button>No summary</button> <button>Summarize</button> <button>Custom summary prompt</button></div> <!> <div class="flex items-center justify-between gap-2"><button class="border-border hover:bg-accent rounded-md border px-3 py-2 text-sm">Cancel</button> <button class="bg-primary text-primary-foreground hover:bg-primary/85 rounded-md px-3 py-2 text-sm font-medium disabled:cursor-not-allowed disabled:opacity-50">Navigate</button></div> <!></footer></div> <!></div>`);function An(e,i){k(i,!0);let a=new We,o=M(`none`),s=M(``),c=M(!1),f=null,m=null,_=M(null),b=M(!1),S=M(null),C=I(()=>{let e=Y.state.tree??[],t=Y.state.currentLeafId;return t?new Set(A(e,t)):new Set}),w=I(()=>j(Y.getFilteredTree(),Y.expandedNodeIds,g(C))),T=I(()=>Y.state.open&&!!Y.state.sessionId&&!!Y.selectedNodeId&&!Y.state.loading&&!g(c)&&Q.ready);v(()=>{if(!Y.state.open){O(c,!1),O(_,null),O(b,!1);return}O(o,`none`),O(s,``);let e=Y.state.sessionId;if(!e){Y.setLoading(!1);return}let t=a.get(e);Y.setLoading(!!t?.inProgress&&t.summarizing)}),v(()=>{if(!Y.state.open)return;let e=Y.state.sessionId;e&&$.viewedSessionId!==e&&Y.closeDialog()}),P(()=>{let e=Q.onEvent(e=>{z(e)}),t=e=>{if(Y.state.open&&e.key===`Escape`){if(e.preventDefault(),g(_)){G();return}Y.closeDialog()}};return window.addEventListener(`keydown`,t),()=>{e(),window.removeEventListener(`keydown`,t),B()}});function A(e,t){for(let n of e){if(n.id===t)return[n.id];let e=A(n.children,t);if(e.length>0)return[n.id,...e]}return[]}function j(e,t,n,r=0){let i=[],a=e.length>1;for(let o of e){let e=o.children.length>0,s=e&&(t.has(o.id)||n.has(o.id));if(i.push({node:o,depth:r,expanded:s,hasChildren:e}),s){let e=o.children.length>1||a?r+1:r;i.push(...j(o.children,t,n,e))}}return i}function F(e,t){a.set(e,t)}function R(e){let t=a.get(e);t&&F(e,{...t,inProgress:!1,summarizing:!1,closeOnResync:!1})}function z(e){if(!(`sessionId`in e)||typeof e.sessionId!=`string`)return;let t=e.sessionId;if(e.type===`tree_navigation_start`){F(t,{inProgress:!0,summarizing:e.summarizing,closeOnResync:!1}),Y.state.open&&Y.state.sessionId===t&&e.summarizing&&Y.setLoading(!0);return}if(e.type===`tree_navigation_end`){F(t,{inProgress:!1,summarizing:!1,closeOnResync:!0}),Y.state.open&&Y.state.sessionId===t&&Y.setLoading(!1);return}if(e.type===`full_resync`){let e=a.get(t);if(!e)return;e.closeOnResync?(a.delete(t),Y.state.open&&Y.state.sessionId===t&&Y.closeDialog()):Y.state.open&&Y.state.sessionId===t&&e.inProgress&&e.summarizing&&Y.setLoading(!0)}}function B(){f&&=(clearTimeout(f),null)}function W(e,t,n){let r=Math.max(8,Math.min(t,window.innerWidth-320-8)),i=Math.max(8,Math.min(n,window.innerHeight-180-8));O(_,{nodeId:e.id,value:e.label??``,x:r,y:i},!0),O(b,!1),queueMicrotask(()=>{g(S)?.focus(),g(S)?.select()})}function G(){O(_,null),O(b,!1)}function oe(e,t){e.preventDefault(),W(t,e.clientX,e.clientY)}function ce(e,t){if(e.pointerType!==`touch`)return;let{clientX:n,clientY:r}=e;B(),f=setTimeout(()=>{m=t.id,W(t,n,r),B()},500)}function le(){B()}function ue(){B()}async function de(){let e=Y.state.sessionId,t=g(_);if(!e||!t||g(b))return;O(b,!0);let n=t.value.trim(),r=n.length>0?n:void 0;try{(await Q.send({type:`set_tree_label`,sessionId:e,entryId:t.nodeId,label:r})).success&&(Y.setNodeLabel(t.nodeId,r),G())}catch(e){console.error(`Failed to set tree label:`,e)}finally{O(b,!1)}}function fe(e){if(m===e){m=null;return}if(Y.selectedNodeId===e&&g(T)){he();return}Y.setSelectedNode(e)}function pe(e){Y.toggleExpanded(e)}function me(e){Y.setFilterMode(e)}async function he(){let e=Y.state.sessionId,t=Y.selectedNodeId;if(!e||!t||Y.state.loading||g(c))return;let n=g(o)!==`none`;try{O(c,!0),Y.setLoading(n);let r=await Q.send({type:`navigate_tree`,sessionId:e,targetId:t,...n?{summarize:!0}:{},...g(o)===`custom`?{customInstructions:g(s)}:{},...g(o)===`custom`?{replaceInstructions:!1}:{}});if(Y.setLoading(!1),!r.success||!r.data){R(e);return}let i=r.data;if(i.cancelled){R(e);return}typeof i.editorText==`string`&&i.editorText.length>0&&Te(e,i.editorText),Y.closeDialog()}catch(t){R(e),Y.setLoading(!1),console.error(`Failed to navigate tree:`,t)}finally{O(c,!1)}}var K=u(),ge=E(K),q=e=>{var i=kn(),a=t(i),c=t(a),u=t(c),f=L(t(u),2);H(u);var m=L(u,2),v=t(m);te(v);var E=L(v,2),k=t(E);k.value=k.__value=`default`;var A=L(k);A.value=A.__value=`user-only`;var j=L(A);j.value=j.__value=`all`;var M=L(j);M.value=M.__value=`labeled-only`,H(E);var N;D(E),H(m),H(c);var P=L(c,2),F=t(P),R=e=>{l(e,vn())},z=e=>{var i=Tn();h(i,21,()=>g(w),e=>e.node.id,(e,i)=>{var a=wn(),o=t(a),s=e=>{var n=yn(),r=t(n);{let e=I(()=>`size-4 transition-transform ${g(i).expanded?`rotate-90`:``}`);ye(r,{get class(){return g(e)}})}H(n),y(()=>re(n,`title`,g(i).expanded?`Collapse`:`Expand`)),U(`click`,n,e=>{e.stopPropagation(),pe(g(i).node.id)}),l(e,n)},c=e=>{l(e,bn())};d(o,e=>{g(i).hasChildren?e(s):e(c,-1)});var u=L(o,2),f=t(u),p=t(f),m=t(p,!0);H(p);var h=L(p,2),_=e=>{var r=xn(),a=t(r,!0);H(r),y(()=>n(a,g(i).node.role)),l(e,r)};d(h,e=>{g(i).node.role&&e(_)});var v=L(h,2),b=e=>{l(e,Sn())};d(v,e=>{g(i).node.id===Y.state.currentLeafId&&e(b)});var x=L(v,2),S=e=>{var r=Cn(),a=t(r);_n(a,{class:`size-2.5`});var o=L(a);H(r),y(()=>n(o,` ${g(i).node.label??``}`)),l(e,r)};d(x,e=>{g(i).node.label&&e(S)}),H(f);var w=L(f,2),ee=t(w,!0);H(w);var T=L(w,2),E=t(T,!0);H(T),H(u),H(a),y((e,t)=>{V(a,1,`border-border/60 hover:bg-accent/60 flex items-start gap-2 rounded-md border px-2 py-1.5 text-sm transition-colors
4
- ${Y.selectedNodeId===g(i).node.id?`ring-ring bg-accent ring-1`:``}
5
- ${e??``}`),ae(a,`margin-left: ${g(i).depth*14}px`),n(m,g(i).node.type),n(ee,g(i).node.preview),re(T,`title`,g(i).node.timestamp),n(E,t)},[()=>g(C).has(g(i).node.id)?`border-primary/40`:``,()=>se(g(i).node.timestamp)]),U(`click`,a,()=>fe(g(i).node.id)),U(`keydown`,a,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),fe(g(i).node.id))}),U(`contextmenu`,a,e=>oe(e,g(i).node)),U(`pointerdown`,a,e=>ce(e,g(i).node)),U(`pointerup`,a,le),r(`pointercancel`,a,ue),r(`pointerleave`,a,ue),l(e,a)}),H(i),l(e,i)};d(F,e=>{g(w).length===0?e(R):e(z,-1)}),H(P);var B=L(P,2),W=t(B),K=t(W),ge=L(K,2),q=L(ge,2);H(W);var _e=L(W,2),ve=e=>{var t=En();p(t),ie(t,()=>g(s),e=>O(s,e)),l(e,t)};d(_e,e=>{g(o)===`custom`&&e(ve)});var J=L(_e,2),be=t(J),xe=L(be,2);H(J);var Se=L(J,2),Ce=e=>{l(e,Dn())};d(Se,e=>{Y.state.loading&&e(Ce)}),H(B),H(a);var we=L(a,2),Te=e=>{var n=On(),i=t(n),a=L(t(i),2);te(a),ee(a,e=>O(S,e),()=>g(S));var o=L(a,2),s=t(o),c=L(s,2);H(o),H(i),H(n),y(()=>{ae(i,`left: ${g(_).x}px; top: ${g(_).y}px`),ne(a,g(_).value),c.disabled=g(b)}),U(`click`,n,e=>{e.stopPropagation(),G()}),U(`keydown`,n,e=>{e.key===`Escape`&&(e.stopPropagation(),G())}),U(`click`,i,e=>e.stopPropagation()),r(`submit`,i,e=>{e.preventDefault(),de()}),U(`input`,a,e=>{g(_)&&O(_,{...g(_),value:e.currentTarget.value},!0)}),U(`click`,s,G),l(e,n)};d(we,e=>{g(_)&&e(Te)}),H(i),y(()=>{ne(v,Y.state.searchQuery),N!==(N=Y.state.filterMode)&&(E.value=(E.__value=Y.state.filterMode)??``,x(E,Y.state.filterMode)),V(K,1,`rounded-md border px-2.5 py-1.5 text-xs transition-colors
6
- ${g(o)===`none`?`bg-primary text-primary-foreground border-primary`:`border-border hover:bg-accent`}`),V(ge,1,`rounded-md border px-2.5 py-1.5 text-xs transition-colors
7
- ${g(o)===`summarize`?`bg-primary text-primary-foreground border-primary`:`border-border hover:bg-accent`}`),V(q,1,`rounded-md border px-2.5 py-1.5 text-xs transition-colors
8
- ${g(o)===`custom`?`bg-primary text-primary-foreground border-primary`:`border-border hover:bg-accent`}`),xe.disabled=!g(T)}),U(`click`,i,()=>Y.closeDialog()),U(`keydown`,i,e=>e.key===`Escape`&&Y.closeDialog()),U(`click`,a,e=>e.stopPropagation()),U(`keydown`,a,e=>e.stopPropagation()),U(`click`,f,()=>Y.closeDialog()),U(`input`,v,e=>Y.setSearchQuery(e.currentTarget.value)),U(`change`,E,e=>me(e.currentTarget.value)),U(`click`,K,()=>O(o,`none`)),U(`click`,ge,()=>O(o,`summarize`)),U(`click`,q,()=>O(o,`custom`)),U(`click`,be,()=>Y.closeDialog()),U(`click`,xe,he),l(e,i)};d(ge,e=>{Y.state.open&&e(q)}),l(e,K),N()}m([`click`,`keydown`,`input`,`change`,`contextmenu`,`pointerdown`,`pointerup`]);var jn=f(`<span class="bg-muted text-muted-foreground ml-auto shrink-0 rounded px-1 text-xs"> </span>`),Mn=f(`<span class="bg-muted rounded px-1 font-mono text-xs break-words whitespace-pre-wrap"> </span>`),Nn=f(`<span class="text-muted-foreground text-xs break-words whitespace-pre-wrap"> </span>`),Pn=f(`<span class="text-foreground text-xs break-words whitespace-pre-wrap"> </span>`),Fn=f(`<div class="mt-1.5 flex flex-col gap-0.5"></div>`),In=f(`<div class="text-muted-foreground mt-1.5 text-xs"> </div>`),Ln=f(`<div class="flex items-center gap-1.5"><span class="truncate text-sm font-medium"> </span> <!></div> <!> <!>`,1),Rn=f(`<a><!></a>`),zn=f(`<div><!></div>`),Bn=f(`<div class="bg-sidebar flex h-full w-70 flex-col overflow-y-auto border-l p-2"><div class="flex flex-col gap-2"></div></div>`);function Vn(e,r){k(r,!0);let i={accent:`border-l-primary`,success:`border-l-green-500`,warning:`border-l-yellow-500`,error:`border-l-red-500`,muted:`border-l-muted-foreground`};var o=Bn(),s=t(o);h(s,21,()=>Ge.cards,e=>e.id,(e,r)=>{let o=e=>{var i=Ln(),o=E(i),s=t(o),c=t(s,!0);H(s);var f=L(s,2),p=e=>{var i=jn(),a=t(i,!0);H(i),y(()=>n(a,g(r).header.tag)),l(e,i)};d(f,e=>{g(r).header.tag&&e(p)}),H(o);var m=L(o,2),_=e=>{var i=Fn();h(i,21,()=>g(r).body,a,(e,r)=>{var i=u(),a=E(i),o=e=>{var i=Mn(),a=t(i,!0);H(i),y(()=>n(a,g(r).content)),l(e,i)},s=e=>{var i=Nn(),a=t(i,!0);H(i),y(()=>n(a,g(r).content)),l(e,i)},c=e=>{var i=Pn(),a=t(i,!0);H(i),y(()=>n(a,g(r).content)),l(e,i)};d(a,e=>{g(r).style===`code`?e(o):g(r).style===`secondary`?e(s,1):e(c,-1)}),l(e,i)}),H(i),l(e,i)};d(m,e=>{g(r).body&&g(r).body.length>0&&e(_)});var v=L(m,2),b=e=>{var i=In(),a=t(i,!0);H(i),y(e=>n(a,e),[()=>g(r).footer.join(` · `)]),l(e,i)};d(v,e=>{g(r).footer&&g(r).footer.length>0&&e(b)}),y(()=>n(c,g(r).header.title)),l(e,i)},s=I(()=>`rounded border p-2 ${g(r).color?i[g(r).color]+` border-l-2`:``}`);var c=u(),f=E(c),p=e=>{var n=Rn();o(t(n)),H(n),y(()=>{re(n,`href`,g(r).href),V(n,1,`${g(s)??``} text-foreground hover:bg-accent/50 block no-underline transition-colors`)}),l(e,n)},m=e=>{var n=zn();o(t(n)),H(n),y(()=>V(n,1,C(g(s)))),l(e,n)};d(f,e=>{g(r).href?e(p):e(m,-1)}),l(e,c)}),H(s),H(o),l(e,o),N()}function Hn(e,t){k(t,!0);let n=j(t,[`$$slots`,`$$events`,`$$legacy`]),r=[[`path`,{d:`M10 5H3`}],[`path`,{d:`M12 19H3`}],[`path`,{d:`M14 3v4`}],[`path`,{d:`M16 17v4`}],[`path`,{d:`M21 12h-9`}],[`path`,{d:`M21 19h-5`}],[`path`,{d:`M21 5h-7`}],[`path`,{d:`M8 10v4`}],[`path`,{d:`M8 12H3`}]];Ue(e,F({name:`sliders-horizontal`},()=>n,{get iconNode(){return r},children:(e,n)=>{var r=u();z(E(r),()=>t.children??w),l(e,r)},$$slots:{default:!0}})),N()}var Un=f(`<!> <span class="sr-only">Open session settings</span>`,1),Wn=f(`<!> <span class="sr-only">Close session settings</span>`,1),Gn=f(`<div class="border-border/60 flex items-center justify-between gap-3 border-t px-3 py-3"><span class="text-muted-foreground">Context</span> <span> </span></div>`),Kn=f(`<div class="border-border/60 flex items-start justify-between gap-3 border-t px-3 py-3"><span class="text-muted-foreground">Git branch</span> <span class="max-w-[60%] min-w-0 truncate text-right font-medium"> </span></div>`),qn=f(`<span class="inline-flex items-center rounded-full border border-emerald-500/20 bg-emerald-500/10 px-2 py-0.5 font-medium text-emerald-600 dark:text-emerald-400">Streaming</span>`),Jn=f(`<span class="inline-flex items-center rounded-full border border-amber-500/20 bg-amber-500/10 px-2 py-0.5 font-medium text-amber-600 dark:text-amber-400">Compacting…</span>`),Yn=f(`<div class="border-border/60 flex items-start justify-between gap-3 border-t px-3 py-3"><span class="text-muted-foreground">Runtime</span> <div class="flex flex-wrap justify-end gap-1.5 text-xs"><!> <!></div></div>`),Xn=f(`<div class="border-border flex items-center justify-between border-b px-4 py-3 sm:hidden"><div class="text-sm font-semibold">Session settings</div> <!></div> <div class="hidden sm:block"><!></div> <div class="overflow-y-auto px-4 py-4 sm:px-0 sm:py-0"><div class="rounded-xl border text-sm"><div class="flex items-center justify-between gap-3 px-3 py-3"><span class="text-muted-foreground">Model</span> <!></div> <div class="border-border/60 flex items-center justify-between gap-3 border-t px-3 py-3"><span class="text-muted-foreground">Thinking</span> <!></div> <div class="border-border/60 flex items-center justify-between gap-3 border-t px-3 py-3"><span class="text-muted-foreground">Voice call</span> <!></div> <!> <!> <!> <div class="border-border/60 flex items-center justify-between gap-3 border-t px-3 py-3"><span class="text-muted-foreground">Connection</span> <div class="flex items-center gap-2 font-medium"><span></span> <span> </span></div></div></div></div>`,1),Zn=f(`<!> <!>`,1);function Qn(e,r){k(r,!0);let a=M(!1),o=I(()=>$.viewed),s=I(()=>Ie(g(o))),f=I(()=>ze(g(o)?.contextUsage?.percent)),p=I(()=>Q.phaseLabel),m=I(()=>Q.phase===`ready`?`bg-emerald-500`:Q.phase===`syncing`?`bg-blue-500`:Q.phase===`backoff`||Q.phase===`connecting`?`bg-amber-500`:`bg-red-500`),h=I(()=>g(f)===`critical`?`border-red-500/20 bg-red-500/10 text-red-600 dark:text-red-400`:g(f)===`warning`?`border-amber-500/20 bg-amber-500/10 text-amber-600 dark:text-amber-400`:`border-border bg-muted text-muted-foreground`);var _=u();i(E(_),()=>fe,(e,r)=>{r(e,{get open(){return g(a)},set open(e){O(a,e,!0)},children:(e,r)=>{var f=Zn(),_=E(f);{let e=(e,t)=>{q(e,F(()=>t?.().props,{variant:`ghost`,size:`icon-sm`,class:`text-muted-foreground hover:text-foreground`,title:`Session settings`,children:(e,t)=>{var n=Un();Hn(E(n),{class:`size-4`}),R(2),l(e,n)},$$slots:{default:!0}}))};i(_,()=>ge,(t,n)=>{n(t,{child:e,$$slots:{child:!0}})})}i(L(_,2),()=>oe,(e,r)=>{r(e,{showCloseButton:!1,class:`top-auto right-0 bottom-0 left-0 grid max-h-[85dvh] max-w-none translate-x-0 translate-y-0 gap-0 rounded-t-2xl rounded-b-none p-0 sm:top-1/2 sm:left-1/2 sm:max-h-none sm:max-w-md sm:-translate-x-1/2 sm:-translate-y-1/2 sm:gap-4 sm:rounded-xl sm:p-4`,children:(e,r)=>{var f=Xn(),_=E(f);q(L(t(_),2),{variant:`ghost`,size:`icon-sm`,onclick:()=>O(a,!1),title:`Close session settings`,children:(e,t)=>{var n=Wn();Ne(E(n),{class:`size-4`}),R(2),l(e,n)},$$slots:{default:!0}}),H(_);var v=L(_,2);i(t(v),()=>he,(e,t)=>{t(e,{children:(e,t)=>{var n=u();i(E(n),()=>ue,(e,t)=>{t(e,{children:(e,t)=>{R(),l(e,c(`Session settings`))},$$slots:{default:!0}})}),l(e,n)},$$slots:{default:!0}})}),H(v);var b=L(v,2),x=t(b),S=t(x);Oe(L(t(S),2),{}),H(S);var C=L(S,2);Be(L(t(C),2),{}),H(C);var w=L(C,2),ee=L(t(w),2);{let e=I(()=>g(o)?.sessionId);Ee(ee,{get sessionId(){return g(e)},variant:`dialog-row`,onAction:()=>O(a,!1)})}H(w);var T=L(w,2),te=e=>{var r=Gn(),i=L(t(r),2),a=t(i,!0);H(i),H(r),y(()=>{V(i,1,`inline-flex items-center rounded-full border px-2 py-0.5 text-xs font-medium ${g(h)??``}`),n(a,g(s))}),l(e,r)};d(T,e=>{g(s)&&e(te)});var D=L(T,2),ne=e=>{var r=Kn(),i=L(t(r),2),a=t(i,!0);H(i),H(r),y(()=>n(a,g(o).gitBranch)),l(e,r)};d(D,e=>{g(o)?.gitBranch&&e(ne)});var k=L(D,2),A=e=>{var n=Yn(),r=L(t(n),2),i=t(r),a=e=>{l(e,qn())};d(i,e=>{g(o)?.isStreaming&&e(a)});var s=L(i,2),c=e=>{l(e,Jn())};d(s,e=>{g(o)?.isCompacting&&e(c)}),H(r),H(n),l(e,n)};d(k,e=>{(g(o)?.isStreaming||g(o)?.isCompacting)&&e(A)});var j=L(k,2),M=L(t(j),2),re=t(M),N=L(re,2),P=t(N,!0);H(N),H(M),H(j),H(x),H(b),y(()=>{V(re,1,`inline-flex size-2 rounded-full ${g(m)??``}`),n(P,g(p))}),l(e,f)},$$slots:{default:!0}})}),l(e,f)},$$slots:{default:!0}})}),l(e,_),N()}function $n(e,t){k(t,!0);let n=j(t,[`$$slots`,`$$events`,`$$legacy`]),r=[[`path`,{d:`M4 5h16`}],[`path`,{d:`M4 12h16`}],[`path`,{d:`M4 19h16`}]];Ue(e,F({name:`menu`},()=>n,{get iconNode(){return r},children:(e,n)=>{var r=u();z(E(r),()=>t.children??w),l(e,r)},$$slots:{default:!0}})),N()}function er(e,t){k(t,!0);let n=j(t,[`$$slots`,`$$events`,`$$legacy`]),r=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M15 3v18`}]];Ue(e,F({name:`panel-right`},()=>n,{get iconNode(){return r},children:(e,n)=>{var r=u();z(E(r),()=>t.children??w),l(e,r)},$$slots:{default:!0}})),N()}function tr({innerHeight:e,visualViewport:t}){let n=t?.height;return`${Math.round(typeof n==`number`&&Number.isFinite(n)&&n>0?n:e)}px`}var nr=f(`<div class="fixed inset-0 z-30 bg-black/50 md:hidden"></div>`),rr=f(`<button type="button" class="text-foreground hover:text-foreground block w-full truncate text-left text-sm font-semibold select-none"> </button>`),ir=f(`<div class="text-foreground truncate text-sm font-semibold"> </div>`),ar=f(`<span title="Context window usage"> </span>`),or=f(`<button class="text-muted-foreground hover:text-foreground border-border bg-background relative inline-flex size-8 shrink-0 items-center justify-center rounded-lg border" title="Open panel"><!> <span class="bg-primary text-primary-foreground absolute -top-1 -right-1 min-w-4 rounded-full px-1 text-center text-[10px] leading-4 font-medium"> </span></button>`),sr=f(`<div class="hidden md:flex"><!></div>`),cr=f(`<div class="fixed inset-0 z-30 bg-black/50 md:hidden"></div> <div class="fixed inset-y-0 right-0 z-40 md:hidden"><!></div>`,1),lr=f(`<div class="bg-background flex overflow-hidden"><!> <aside><div class="border-sidebar-border flex h-12 shrink-0 items-center justify-between border-b px-4"><div class="flex items-center gap-2"><img src="/pwa/icon-192.png" alt="" class="size-5"/> <span class="text-sidebar-foreground text-sm font-semibold">Pimote</span></div> <div class="flex items-center gap-2"><span></span> <button class="text-muted-foreground hover:text-sidebar-foreground rounded-md p-1 md:hidden"><!></button></div></div> <!></aside> <div class="flex flex-1 flex-col overflow-hidden"><header class="border-border flex h-12 shrink-0 items-center gap-2 border-b px-3 md:hidden"><button class="text-muted-foreground hover:text-foreground rounded-md p-1" title="Open sidebar"><!></button> <div class="min-w-0 flex-1"><!></div> <!> <!> <!></header> <main class="flex flex-1 flex-col overflow-hidden"><!></main> <!></div> <!> <!> <!> <!> <!></div>`);function ur(e,r){k(r,!0);let i=M(!1),a=M(!1),o=M(`100dvh`);function s(){navigator.serviceWorker?.controller?.postMessage({type:`focus_state`,hasFocus:document.hasFocus()})}P(()=>{Q.connect();let e=null,t=()=>{O(o,tr(window),!0)},n=()=>{t(),requestAnimationFrame(t),e&&clearTimeout(e),e=setTimeout(t,100)};n();let r=window.visualViewport;r?.addEventListener(`resize`,n),r?.addEventListener(`scroll`,n),window.addEventListener(`resize`,n),window.addEventListener(`orientationchange`,n),window.addEventListener(`pageshow`,n),window.addEventListener(`focus`,n),window.addEventListener(`focusin`,n),window.addEventListener(`focusout`,n);let i=new URLSearchParams(window.location.search),a=i.get(`sessionId`),c=i.get(`folderPath`);return a&&c&&(window.history.replaceState({},``,window.location.pathname),Q.pendingAdopt={sessionId:a,folderPath:c}),i.get(`share`)===`pending`&&(window.history.replaceState({},``,window.location.pathname),caches.open(`pimote-share-target`).then(async e=>{let t=await e.match(`/_share/pending`);if(t){let n=await t.json();await e.delete(`/_share/pending`),n.length>0&&Ae(n)}})),`serviceWorker`in navigator&&(navigator.serviceWorker.register(`/sw.js`).then(e=>console.log(`[pimote] Service worker registered:`,e)).catch(e=>console.warn(`[pimote] Service worker registration failed:`,e)),window.addEventListener(`focus`,s),window.addEventListener(`blur`,s),document.addEventListener(`visibilitychange`,s),navigator.serviceWorker.ready.then(()=>s()),navigator.serviceWorker.addEventListener(`message`,async e=>{if(e.data?.type===`push_notification`){let t=e.data.sessionId;if(t){let e=$.sessions[t];e&&(e.needsAttention=!0)}}else if(e.data?.type===`share_images`){let t=e.data.images;t?.length>0&&Ae(t)}else if(e.data?.type===`notification_click`){let t=e.data.sessionId,n=e.data.folderPath;if(t){let{switchToSession:e,sessionRegistry:r,openExistingSession:i}=await W(async()=>{let{switchToSession:e,sessionRegistry:t,openExistingSession:n}=await import(`../chunks/Czpnrh9t.js`);return{switchToSession:e,sessionRegistry:t,openExistingSession:n}},__vite__mapDeps([5,6,7,1,2]),import.meta.url);r.sessions[t]?e(t):n&&i(t,n,{force:!0,switchTo:!0})}}})),()=>{Q.disconnect(),r?.removeEventListener(`resize`,n),r?.removeEventListener(`scroll`,n),window.removeEventListener(`resize`,n),window.removeEventListener(`orientationchange`,n),window.removeEventListener(`pageshow`,n),window.removeEventListener(`focus`,n),window.removeEventListener(`focusin`,n),window.removeEventListener(`focusout`,n),e&&clearTimeout(e),window.removeEventListener(`focus`,s),window.removeEventListener(`blur`,s),document.removeEventListener(`visibilitychange`,s)}});function c(){O(i,!1)}let u=I(()=>{let e=$.viewed?.extensionTitle??null;return e?`Pimote — ${e}`:`Pimote`}),f=I(()=>je($.viewed)??`Pimote`),p=I(()=>Ie($.viewed,{compact:!0})),m=I(()=>ze($.viewed?.contextUsage?.percent)),h=I(()=>g(m)===`critical`?`border-red-500/20 bg-red-500/10 text-red-600 dark:text-red-400`:g(m)===`warning`?`border-amber-500/20 bg-amber-500/10 text-amber-600 dark:text-amber-400`:`border-border bg-muted text-muted-foreground`);v(()=>{document.title=g(u)}),v(()=>{!Ge.hasCards&&g(a)&&O(a,!1)});var _=lr(),b=t(_),x=e=>{var t=nr();U(`click`,t,c),U(`keydown`,t,e=>e.key===`Escape`&&c()),l(e,t)};d(b,e=>{g(i)&&e(x)});var S=L(b,2),C=t(S),w=L(t(C),2),ee=t(w),T=L(ee,2);Ne(t(T),{class:`size-4`}),H(T),H(w),H(C),Kt(L(C,2),{class:`min-h-0 flex-1`,children:(e,t)=>{ve(e,{onSessionSelect:c})},$$slots:{default:!0}}),H(S);var te=L(S,2),D=t(te),ne=t(D);$n(t(ne),{class:`size-5`}),H(ne);var A=L(ne,2),j=t(A),F=e=>{le(e,{get sessionId(){return $.viewed.sessionId},get folderPath(){return $.viewed.folderPath},get sessionName(){return $.viewed.sessionName},get displayName(){return g(f)},children:(e,r)=>{let i=()=>r?.().openRenameDialog;var a=rr(),o=t(a,!0);H(a),y(()=>{re(a,`title`,`Rename session: ${g(f)}`),n(o,g(f))}),U(`click`,a,function(...e){i()?.apply(this,e)}),l(e,a)},$$slots:{default:!0}})},ie=e=>{var r=ir(),i=t(r,!0);H(r),y(()=>n(i,g(f))),l(e,r)};d(j,e=>{$.viewedSessionId&&$.viewed?e(F):e(ie,-1)}),H(A);var R=L(A,2),B=e=>{var r=ar(),i=t(r,!0);H(r),y(()=>{V(r,1,`inline-flex shrink-0 items-center rounded-full border px-2 py-0.5 text-[11px] font-medium ${g(h)??``}`),n(i,g(p))}),l(e,r)};d(R,e=>{$.viewedSessionId&&g(p)&&e(B)});var G=L(R,2),oe=e=>{var r=or(),i=t(r);er(i,{class:`size-4`});var o=L(i,2),s=t(o,!0);H(o),H(r),y(()=>n(s,Ge.cards.length)),U(`click`,r,()=>O(a,!0)),l(e,r)};d(G,e=>{Ge.hasCards&&e(oe)});var se=L(G,2),ce=e=>{Qn(e,{})};d(se,e=>{$.viewedSessionId&&e(ce)}),H(D);var ue=L(D,2);z(t(ue),()=>r.children),H(ue),un(L(ue,2),{}),H(te);var de=L(te,2),fe=e=>{var n=sr();Vn(t(n),{}),H(n),l(e,n)};d(de,e=>{Ge.hasCards&&e(fe)});var pe=L(de,2),me=e=>{var n=cr(),r=E(n),i=L(r,2);Vn(t(i),{}),H(i),U(`click`,r,()=>O(a,!1)),U(`keydown`,r,e=>e.key===`Escape`&&O(a,!1)),l(e,n)};d(pe,e=>{Ge.hasCards&&g(a)&&e(me)});var he=L(pe,2);en(he,{});var K=L(he,2);An(K,{}),gn(L(K,2),{}),H(_),y(()=>{ae(_,`height: ${g(o)};`),V(S,1,`border-sidebar-border bg-sidebar fixed inset-y-0 left-0 z-40 flex w-72 flex-col border-r transition-transform duration-200
9
- ${g(i)?`translate-x-0`:`-translate-x-full`}
10
- md:relative md:z-0 md:translate-x-0`),V(ee,1,`size-2 rounded-full ${Q.phase===`ready`?`bg-status-connected`:Q.phase===`idle`?`bg-status-error`:`bg-status-reconnecting`}`),re(ee,`title`,Q.phase===`ready`?`Connected`:Q.phase===`idle`?`Disconnected`:`Reconnecting`)}),U(`click`,T,c),U(`click`,ne,()=>O(i,!0)),l(e,_),N()}m([`click`,`keydown`]);export{ur as component,Ke as universal};