chatroom-cli 1.101.2 → 1.101.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- /*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */@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-space-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-tracking: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}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--radius-4xl:2rem;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@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%;-moz-tab-size:4;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;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]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}.chatroom-root *,.chatroom-root :before,.chatroom-root :after{box-sizing:border-box}*{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,body,#root{height:100%}body{background-color:var(--chatroom-bg-primary);color:var(--chatroom-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,[role=button]{cursor:pointer}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.right-3{right:calc(var(--spacing) * 3)}.bottom-3{bottom:calc(var(--spacing) * 3)}.isolate{isolation:isolate}.z-50{z-index:50}.row-1{grid-row:1}.m-1{margin:var(--spacing)}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.mb-1{margin-bottom:var(--spacing)}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.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-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-\[28px\]{height:28px}.h-full{height:100%}.max-h-60{max-height:calc(var(--spacing) * 60)}.max-h-\[60vh\]{max-height:60vh}.min-h-0{min-height:0}.min-h-\[400px\]{min-height:400px}.min-h-screen{min-height:100vh}.w-12{width:calc(var(--spacing) * 12)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-24{width:calc(var(--spacing) * 24)}.w-64{width:calc(var(--spacing) * 64)}.w-72{width:calc(var(--spacing) * 72)}.w-96{width:calc(var(--spacing) * 96)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\[14rem\]{max-width:14rem}.max-w-\[40\%\]{max-width:40%}.min-w-0{min-width:0}.min-w-\[8rem\]{min-width:8rem}.min-w-\[10rem\]{min-width:10rem}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.origin-\(--transform-origin\){transform-origin:var(--transform-origin)}.animate-pulse{animation:var(--animate-pulse)}.cursor-pointer{cursor:pointer}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0{gap:0}.gap-1{gap:var(--spacing)}.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(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.rounded{border-radius:.25rem}.rounded-4xl{border-radius:var(--radius-4xl)}.rounded-md,.rounded-none{border-radius:0}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-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-border{border-color:var(--border)}.border-chatroom-border{border-color:var(--chatroom-border)}.border-chatroom-status-error\/30{border-color:var(--chatroom-status-error)}@supports (color:color-mix(in lab,red,red)){.border-chatroom-status-error\/30{border-color:color-mix(in oklab,var(--chatroom-status-error) 30%,transparent)}}.border-chatroom-status-error\/40{border-color:var(--chatroom-status-error)}@supports (color:color-mix(in lab,red,red)){.border-chatroom-status-error\/40{border-color:color-mix(in oklab,var(--chatroom-status-error) 40%,transparent)}}.border-chatroom-status-info\/40{border-color:var(--chatroom-status-info)}@supports (color:color-mix(in lab,red,red)){.border-chatroom-status-info\/40{border-color:color-mix(in oklab,var(--chatroom-status-info) 40%,transparent)}}.border-chatroom-status-success{border-color:var(--chatroom-status-success)}.border-chatroom-status-warning\/40{border-color:var(--chatroom-status-warning)}@supports (color:color-mix(in lab,red,red)){.border-chatroom-status-warning\/40{border-color:color-mix(in oklab,var(--chatroom-status-warning) 40%,transparent)}}.border-transparent{border-color:#0000}.bg-background{background-color:var(--background)}.bg-chatroom-accent{background-color:var(--chatroom-accent)}.bg-chatroom-bg-hover{background-color:var(--chatroom-bg-hover)}.bg-chatroom-bg-primary{background-color:var(--chatroom-bg-primary)}.bg-chatroom-bg-secondary{background-color:var(--chatroom-bg-secondary)}.bg-chatroom-bg-tertiary{background-color:var(--chatroom-bg-tertiary)}.bg-chatroom-status-error\/15{background-color:var(--chatroom-status-error)}@supports (color:color-mix(in lab,red,red)){.bg-chatroom-status-error\/15{background-color:color-mix(in oklab,var(--chatroom-status-error) 15%,transparent)}}.bg-chatroom-status-info\/15{background-color:var(--chatroom-status-info)}@supports (color:color-mix(in lab,red,red)){.bg-chatroom-status-info\/15{background-color:color-mix(in oklab,var(--chatroom-status-info) 15%,transparent)}}.bg-chatroom-status-purple\/15{background-color:var(--chatroom-status-purple)}@supports (color:color-mix(in lab,red,red)){.bg-chatroom-status-purple\/15{background-color:color-mix(in oklab,var(--chatroom-status-purple) 15%,transparent)}}.bg-chatroom-status-success\/15{background-color:var(--chatroom-status-success)}@supports (color:color-mix(in lab,red,red)){.bg-chatroom-status-success\/15{background-color:color-mix(in oklab,var(--chatroom-status-success) 15%,transparent)}}.bg-chatroom-status-warning\/15{background-color:var(--chatroom-status-warning)}@supports (color:color-mix(in lab,red,red)){.bg-chatroom-status-warning\/15{background-color:color-mix(in oklab,var(--chatroom-status-warning) 15%,transparent)}}.bg-chatroom-text-muted\/15{background-color:var(--chatroom-text-muted)}@supports (color:color-mix(in lab,red,red)){.bg-chatroom-text-muted\/15{background-color:color-mix(in oklab,var(--chatroom-text-muted) 15%,transparent)}}.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-muted{background-color:var(--muted)}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.p-0{padding:0}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--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-\[9px\]{font-size:9px}.text-\[11px\]{font-size:11px}.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-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-chatroom-accent{color:var(--chatroom-accent)}.text-chatroom-status-error{color:var(--chatroom-status-error)}.text-chatroom-status-info{color:var(--chatroom-status-info)}.text-chatroom-status-purple{color:var(--chatroom-status-purple)}.text-chatroom-status-success{color:var(--chatroom-status-success)}.text-chatroom-status-warning{color:var(--chatroom-status-warning)}.text-chatroom-text-muted{color:var(--chatroom-text-muted)}.text-chatroom-text-primary{color:var(--chatroom-text-primary)}.text-chatroom-text-secondary{color:var(--chatroom-text-secondary)}.text-destructive{color:var(--destructive)}.text-foreground{color:var(--foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline-offset-4{text-underline-offset:4px}.shadow{--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-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-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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,)}.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-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))}.delay-30{transition-delay:30ms}.delay-60{transition-delay:60ms}.delay-90{transition-delay:90ms}.outline-none{--tw-outline-style:none;outline-style:none}.\[claude\:role\@short-id\]{claude:role@short-id}.\[claude\:role\]{claude:role}.\[cursor-sdk\:builder\@c1\]{cursor-sdk:builder@c1}.delay-30{animation-delay:30ms}.delay-60{animation-delay:60ms}.delay-90{animation-delay:90ms}.running{animation-play-state:running}.placeholder\:text-chatroom-text-muted::placeholder{color:var(--chatroom-text-muted)}@media (hover:hover){.hover\:border-chatroom-border-strong:hover{border-color:var(--chatroom-border-strong)}.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-chatroom-bg-hover:hover{background-color:var(--chatroom-bg-hover)}.hover\:bg-muted:hover{background-color:var(--muted)}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary) 90%,transparent)}}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-muted-foreground:hover{color:var(--muted-foreground)}.hover\:underline:hover{text-decoration-line:underline}}.focus\:border-chatroom-accent:focus{border-color:var(--chatroom-accent)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:bg-chatroom-bg-hover:focus-visible{background-color:var(--chatroom-bg-hover)}.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-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-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.data-closed\:animate-out[data-closed]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-name:exit;animation-duration:.15s}.data-closed\:fade-out-0[data-closed]{--tw-exit-opacity:0}.data-closed\:zoom-out-95[data-closed]{--tw-exit-scale:.95}.data-open\:animate-in[data-open]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.data-open\:fade-in-0[data-open]{--tw-enter-opacity:0}.data-open\:zoom-in-95[data-open]{--tw-enter-scale:.95}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}}:root{--radius:0px;--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--primary:oklch(92.2% 0 0);--primary-foreground:oklch(20.5% 0 0);--secondary:oklch(26.9% 0 0);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(26.9% 0 0);--muted-foreground:oklch(70.8% 0 0);--accent:oklch(26.9% 0 0);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--border:oklch(100% 0 0/.1);--ring:oklch(55.6% 0 0)}.dark{--chatroom-bg-primary:#09090b;--chatroom-bg-secondary:#18181b80;--chatroom-bg-tertiary:#18181b;--chatroom-bg-hover:#27272a;--chatroom-bg-surface:#18181bcc;--chatroom-border:#fafafa1a;--chatroom-border-strong:#fafafa33;--chatroom-text-primary:#fafafa;--chatroom-text-secondary:#a1a1aa;--chatroom-text-muted:#71717a;--chatroom-status-success:#34d399;--chatroom-status-warning:#fbbf24;--chatroom-status-error:#f87171;--chatroom-status-info:#60a5fa;--chatroom-status-purple:#a78bfa;--chatroom-accent:#fafafa;color-scheme:dark}@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))}}@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))}}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{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}@keyframes pulse{50%{opacity:.5}}
1
+ /*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */@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-space-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-tracking: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}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--radius-4xl:2rem;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@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%;-moz-tab-size:4;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;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]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}.chatroom-root *,.chatroom-root :before,.chatroom-root :after{box-sizing:border-box}*{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,body,#root{height:100%}body{background-color:var(--chatroom-bg-primary);color:var(--chatroom-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,[role=button]{cursor:pointer}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.right-3{right:calc(var(--spacing) * 3)}.bottom-3{bottom:calc(var(--spacing) * 3)}.isolate{isolation:isolate}.z-50{z-index:50}.row-1{grid-row:1}.m-1{margin:var(--spacing)}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.mb-1{margin-bottom:var(--spacing)}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.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-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-\[28px\]{height:28px}.h-full{height:100%}.max-h-60{max-height:calc(var(--spacing) * 60)}.max-h-\[60vh\]{max-height:60vh}.min-h-0{min-height:0}.min-h-\[400px\]{min-height:400px}.min-h-screen{min-height:100vh}.w-12{width:calc(var(--spacing) * 12)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-24{width:calc(var(--spacing) * 24)}.w-64{width:calc(var(--spacing) * 64)}.w-72{width:calc(var(--spacing) * 72)}.w-96{width:calc(var(--spacing) * 96)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\[14rem\]{max-width:14rem}.max-w-\[40\%\]{max-width:40%}.min-w-0{min-width:0}.min-w-\[8rem\]{min-width:8rem}.min-w-\[10rem\]{min-width:10rem}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.origin-\(--transform-origin\){transform-origin:var(--transform-origin)}.animate-pulse{animation:var(--animate-pulse)}.cursor-pointer{cursor:pointer}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0{gap:0}.gap-1{gap:var(--spacing)}.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(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.rounded{border-radius:.25rem}.rounded-4xl{border-radius:var(--radius-4xl)}.rounded-md,.rounded-none{border-radius:0}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-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-border{border-color:var(--border)}.border-chatroom-border{border-color:var(--chatroom-border)}.border-chatroom-status-error\/30{border-color:var(--chatroom-status-error)}@supports (color:color-mix(in lab,red,red)){.border-chatroom-status-error\/30{border-color:color-mix(in oklab,var(--chatroom-status-error) 30%,transparent)}}.border-chatroom-status-error\/40{border-color:var(--chatroom-status-error)}@supports (color:color-mix(in lab,red,red)){.border-chatroom-status-error\/40{border-color:color-mix(in oklab,var(--chatroom-status-error) 40%,transparent)}}.border-chatroom-status-info\/40{border-color:var(--chatroom-status-info)}@supports (color:color-mix(in lab,red,red)){.border-chatroom-status-info\/40{border-color:color-mix(in oklab,var(--chatroom-status-info) 40%,transparent)}}.border-chatroom-status-success{border-color:var(--chatroom-status-success)}.border-chatroom-status-warning\/40{border-color:var(--chatroom-status-warning)}@supports (color:color-mix(in lab,red,red)){.border-chatroom-status-warning\/40{border-color:color-mix(in oklab,var(--chatroom-status-warning) 40%,transparent)}}.border-transparent{border-color:#0000}.bg-background{background-color:var(--background)}.bg-chatroom-accent{background-color:var(--chatroom-accent)}.bg-chatroom-bg-hover{background-color:var(--chatroom-bg-hover)}.bg-chatroom-bg-primary{background-color:var(--chatroom-bg-primary)}.bg-chatroom-bg-secondary{background-color:var(--chatroom-bg-secondary)}.bg-chatroom-bg-tertiary{background-color:var(--chatroom-bg-tertiary)}.bg-chatroom-status-error\/15{background-color:var(--chatroom-status-error)}@supports (color:color-mix(in lab,red,red)){.bg-chatroom-status-error\/15{background-color:color-mix(in oklab,var(--chatroom-status-error) 15%,transparent)}}.bg-chatroom-status-info\/15{background-color:var(--chatroom-status-info)}@supports (color:color-mix(in lab,red,red)){.bg-chatroom-status-info\/15{background-color:color-mix(in oklab,var(--chatroom-status-info) 15%,transparent)}}.bg-chatroom-status-purple\/15{background-color:var(--chatroom-status-purple)}@supports (color:color-mix(in lab,red,red)){.bg-chatroom-status-purple\/15{background-color:color-mix(in oklab,var(--chatroom-status-purple) 15%,transparent)}}.bg-chatroom-status-success\/15{background-color:var(--chatroom-status-success)}@supports (color:color-mix(in lab,red,red)){.bg-chatroom-status-success\/15{background-color:color-mix(in oklab,var(--chatroom-status-success) 15%,transparent)}}.bg-chatroom-status-warning\/15{background-color:var(--chatroom-status-warning)}@supports (color:color-mix(in lab,red,red)){.bg-chatroom-status-warning\/15{background-color:color-mix(in oklab,var(--chatroom-status-warning) 15%,transparent)}}.bg-chatroom-text-muted\/15{background-color:var(--chatroom-text-muted)}@supports (color:color-mix(in lab,red,red)){.bg-chatroom-text-muted\/15{background-color:color-mix(in oklab,var(--chatroom-text-muted) 15%,transparent)}}.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-muted{background-color:var(--muted)}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.p-0{padding:0}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--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-\[9px\]{font-size:9px}.text-\[11px\]{font-size:11px}.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-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-chatroom-accent{color:var(--chatroom-accent)}.text-chatroom-status-error{color:var(--chatroom-status-error)}.text-chatroom-status-info{color:var(--chatroom-status-info)}.text-chatroom-status-purple{color:var(--chatroom-status-purple)}.text-chatroom-status-success{color:var(--chatroom-status-success)}.text-chatroom-status-warning{color:var(--chatroom-status-warning)}.text-chatroom-text-muted{color:var(--chatroom-text-muted)}.text-chatroom-text-on-accent{color:var(--chatroom-text-on-accent)}.text-chatroom-text-primary{color:var(--chatroom-text-primary)}.text-chatroom-text-secondary{color:var(--chatroom-text-secondary)}.text-destructive{color:var(--destructive)}.text-foreground{color:var(--foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline-offset-4{text-underline-offset:4px}.shadow{--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-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-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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,)}.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-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))}.delay-30{transition-delay:30ms}.delay-60{transition-delay:60ms}.delay-90{transition-delay:90ms}.outline-none{--tw-outline-style:none;outline-style:none}.\[claude\:role\@short-id\]{claude:role@short-id}.\[claude\:role\]{claude:role}.\[cursor-sdk\:builder\@c1\]{cursor-sdk:builder@c1}.delay-30{animation-delay:30ms}.delay-60{animation-delay:60ms}.delay-90{animation-delay:90ms}.running{animation-play-state:running}.placeholder\:text-chatroom-text-muted::placeholder{color:var(--chatroom-text-muted)}@media (hover:hover){.hover\:border-chatroom-border-strong:hover{border-color:var(--chatroom-border-strong)}.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-chatroom-bg-hover:hover{background-color:var(--chatroom-bg-hover)}.hover\:bg-muted:hover{background-color:var(--muted)}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary) 90%,transparent)}}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-muted-foreground:hover{color:var(--muted-foreground)}.hover\:underline:hover{text-decoration-line:underline}}.focus\:border-chatroom-accent:focus{border-color:var(--chatroom-accent)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:bg-chatroom-bg-hover:focus-visible{background-color:var(--chatroom-bg-hover)}.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-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-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.data-closed\:animate-out[data-closed]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-name:exit;animation-duration:.15s}.data-closed\:fade-out-0[data-closed]{--tw-exit-opacity:0}.data-closed\:zoom-out-95[data-closed]{--tw-exit-scale:.95}.data-open\:animate-in[data-open]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.data-open\:fade-in-0[data-open]{--tw-enter-opacity:0}.data-open\:zoom-in-95[data-open]{--tw-enter-scale:.95}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}}:root{--radius:0px;--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--primary:oklch(92.2% 0 0);--primary-foreground:oklch(20.5% 0 0);--secondary:oklch(26.9% 0 0);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(26.9% 0 0);--muted-foreground:oklch(70.8% 0 0);--accent:oklch(26.9% 0 0);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--border:oklch(100% 0 0/.1);--ring:oklch(55.6% 0 0)}.dark{--chatroom-bg-primary:#09090b;--chatroom-bg-secondary:#18181b80;--chatroom-bg-tertiary:#18181b;--chatroom-bg-hover:#27272a;--chatroom-bg-surface:#18181bcc;--chatroom-border:#fafafa1a;--chatroom-border-strong:#fafafa33;--chatroom-text-primary:#fafafa;--chatroom-text-secondary:#a1a1aa;--chatroom-text-muted:#71717a;--chatroom-status-success:#34d399;--chatroom-status-warning:#fbbf24;--chatroom-status-error:#f87171;--chatroom-status-info:#60a5fa;--chatroom-status-purple:#a78bfa;--chatroom-accent:#fafafa;--chatroom-text-on-accent:#09090b;color-scheme:dark}@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))}}@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))}}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{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}@keyframes pulse{50%{opacity:.5}}
@@ -4,8 +4,8 @@
4
4
  <meta charset="UTF-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <title>Chatroom Daemon</title>
7
- <script type="module" crossorigin src="/assets/index-CjYYf_Vo.js"></script>
8
- <link rel="stylesheet" crossorigin href="/assets/index-DKoewUK4.css">
7
+ <script type="module" crossorigin src="/assets/index-B4fN7rNz.js"></script>
8
+ <link rel="stylesheet" crossorigin href="/assets/index-CSkceQeY.css">
9
9
  </head>
10
10
  <body>
11
11
  <div id="root"></div>
package/dist/index.js CHANGED
@@ -28545,6 +28545,7 @@ function prefixCatalogModels(provider, models) {
28545
28545
  function prefixCatalogModelsWithInfer(infer, models) {
28546
28546
  return models.map((model) => prefixModelWithProvider(infer(model), model));
28547
28547
  }
28548
+ var init_model_provider = () => {};
28548
28549
 
28549
28550
  // src/daemon/infrastructure/local/harness/services/cursor-sdk/cursor-sdk-package.ts
28550
28551
  var exports_cursor_sdk_package = {};
@@ -28705,6 +28706,7 @@ async function fetchCursorSdkModelCatalog() {
28705
28706
  }
28706
28707
  }
28707
28708
  var init_cursor_sdk_model_catalog = __esm(() => {
28709
+ init_model_provider();
28708
28710
  init_model_variant();
28709
28711
  init_cursor_sdk_package();
28710
28712
  });
@@ -28990,6 +28992,7 @@ function resolveCopilotSpawnModel(model) {
28990
28992
  }
28991
28993
  var COPILOT_COMMAND = "copilot", CopilotAgentService;
28992
28994
  var init_copilot_agent_service = __esm(() => {
28995
+ init_model_provider();
28993
28996
  init_base_cli_agent_service();
28994
28997
  init_copilot_stream_reader();
28995
28998
  CopilotAgentService = class CopilotAgentService extends BaseCLIAgentService {
@@ -29148,6 +29151,7 @@ function decodeClaudeVariant(encoded) {
29148
29151
  }
29149
29152
  var init_claude_models = __esm(() => {
29150
29153
  init_claude_model_variants();
29154
+ init_model_provider();
29151
29155
  init_model_variant();
29152
29156
  });
29153
29157
 
@@ -30841,6 +30845,7 @@ function notifyResumableThreadId(threadId, session2, correlationId, callbacks) {
30841
30845
  var CODEX_SDK_COMMAND = "codex", TURN_TIMEOUT_MS2 = 3600000, _sdkCache2, _sdkLoadError2, cachedSdkPackageVersion2, CodexSdkAgentService;
30842
30846
  var init_codex_sdk_agent_service = __esm(() => {
30843
30847
  init_codex_sdk_model_variants();
30848
+ init_model_provider();
30844
30849
  init_model_variant();
30845
30850
  init_esm();
30846
30851
  init_codex_sdk_package();
@@ -31308,6 +31313,7 @@ var init_command_code_stream_reader = () => {};
31308
31313
  // src/daemon/infrastructure/local/harness/services/commandcode/command-code-agent-service.ts
31309
31314
  var COMMANDCODE_COMMAND = "cmd", COMMANDCODE_MODELS, CommandCodeAgentService;
31310
31315
  var init_command_code_agent_service = __esm(() => {
31316
+ init_model_provider();
31311
31317
  init_base_cli_agent_service();
31312
31318
  init_command_code_stream_reader();
31313
31319
  COMMANDCODE_MODELS = [
@@ -84525,14 +84531,11 @@ var init_stop_agent_confirmed_adapter = __esm(() => {
84525
84531
  });
84526
84532
 
84527
84533
  // ../../services/backend/config/reliability.ts
84528
- var HARNESS_SESSION_READY_TIMEOUT_MS = 5000, DAEMON_HEARTBEAT_INTERVAL_MS, DAEMON_HEARTBEAT_TTL_MS, AGENT_REQUEST_DEADLINE_MS = 120000, MACHINE_COMMAND_LEASE_RENEWAL_INTERVAL_MS = 20000, MACHINE_COMMAND_DAEMON_ROUTINE_TTL_MS, OBSERVED_FULL_PUSH_INTERVAL_MS, OBSERVED_SYNC_RECONCILE_MS, WORKSPACE_RECENCY_WINDOW_MS, WORKSPACE_LIST_RECONCILE_MS, AGENT_STOP_TERMINAL_RETENTION_MS, SCOPE_TARGET_STOP_TIMEOUT_MS = 1e4, CONNECTION_CLOSE_REQUEST_TTL_MS, ENHANCER_TERMINAL_JOB_RETENTION_MS;
84534
+ var HARNESS_SESSION_READY_TIMEOUT_MS = 5000, DAEMON_HEARTBEAT_INTERVAL_MS, DAEMON_HEARTBEAT_TTL_MS, AGENT_REQUEST_DEADLINE_MS = 120000, MACHINE_COMMAND_LEASE_RENEWAL_INTERVAL_MS = 20000, MACHINE_COMMAND_DAEMON_ROUTINE_TTL_MS, OBSERVATION_TTL_MS = 60000, OBSERVED_SAFETY_POLL_MS = 30000, WORKSPACE_LIST_RECONCILE_MS, AGENT_STOP_TERMINAL_RETENTION_MS, SCOPE_TARGET_STOP_TIMEOUT_MS = 1e4, CONNECTION_CLOSE_REQUEST_TTL_MS, ENHANCER_TERMINAL_JOB_RETENTION_MS;
84529
84535
  var init_reliability = __esm(() => {
84530
84536
  DAEMON_HEARTBEAT_INTERVAL_MS = 5 * 60000;
84531
84537
  DAEMON_HEARTBEAT_TTL_MS = 6 * DAEMON_HEARTBEAT_INTERVAL_MS;
84532
84538
  MACHINE_COMMAND_DAEMON_ROUTINE_TTL_MS = 5 * 60000;
84533
- OBSERVED_FULL_PUSH_INTERVAL_MS = 5 * 60000;
84534
- OBSERVED_SYNC_RECONCILE_MS = 15 * 60000;
84535
- WORKSPACE_RECENCY_WINDOW_MS = 7 * 24 * 60 * 60 * 1000;
84536
84539
  WORKSPACE_LIST_RECONCILE_MS = 60 * 60 * 1000;
84537
84540
  AGENT_STOP_TERMINAL_RETENTION_MS = 30 * 24 * 60 * 60 * 1000;
84538
84541
  CONNECTION_CLOSE_REQUEST_TTL_MS = 10 * 60000;
@@ -100335,14 +100338,14 @@ function explainAgentReadyForNativeDeliveryBlock(task, slot) {
100335
100338
  return agentConfig.spawnedAgentPid == null ? "spawned_pid_missing" : `slot_missing (expectedPid=${agentConfig.spawnedAgentPid})`;
100336
100339
  }
100337
100340
  if (!isSlotRunning(slot.state)) {
100341
+ if (agentConfig.spawnedAgentPid != null && slot.pid !== agentConfig.spawnedAgentPid) {
100342
+ return `pid_mismatch (slotPid=${slot.pid ?? "none"}, snapshotPid=${agentConfig.spawnedAgentPid})`;
100343
+ }
100338
100344
  return `slot_not_running (slotState=${slot.state}, expectedPid=${agentConfig.spawnedAgentPid ?? "none"})`;
100339
100345
  }
100340
100346
  if (slot.pid == null) {
100341
100347
  return "slot_pid_missing";
100342
100348
  }
100343
- if (agentConfig.spawnedAgentPid != null && slot.pid !== agentConfig.spawnedAgentPid) {
100344
- return `pid_mismatch (slotPid=${slot.pid ?? "none"}, snapshotPid=${agentConfig.spawnedAgentPid})`;
100345
- }
100346
100349
  if (typeof slot.harnessSessionId !== "string" || slot.harnessSessionId.length === 0) {
100347
100350
  return "harness_session_missing";
100348
100351
  }
@@ -104113,7 +104116,9 @@ class AgentProcessManager {
104113
104116
  }
104114
104117
  await this.emitNativeWaiting(opts.chatroomId, opts.role, opts.agentHarness);
104115
104118
  if (getHarnessCapabilities(opts.agentHarness).supportsNativeIntegration) {
104116
- getNativeTaskDeliveryCoordinator().tryInjectNextForRole(opts.chatroomId, opts.role);
104119
+ const coordinator2 = getNativeTaskDeliveryCoordinator();
104120
+ coordinator2.tryInjectNextForRole(opts.chatroomId, opts.role);
104121
+ queueMicrotask(() => coordinator2.tryInjectNextForRole(opts.chatroomId, opts.role));
104117
104122
  }
104118
104123
  }
104119
104124
  async emitNativeWaiting(chatroomId, role, harness) {
@@ -104363,8 +104368,8 @@ class AgentProcessManager {
104363
104368
  }
104364
104369
  var AGENT_EXIT_RETRY_INTERVAL_MS = 1e4, STOPPING_TIMEOUT_MS = 30000;
104365
104370
  var init_agent_process_manager = __esm(() => {
104366
- init_types();
104367
104371
  init_agent2();
104372
+ init_types();
104368
104373
  init_participant();
104369
104374
  init_esm();
104370
104375
  init_execute_stop_targets_adapter();
@@ -105019,7 +105024,10 @@ var init_capabilities_bridge = __esm(() => {
105019
105024
  });
105020
105025
 
105021
105026
  // ../../services/backend/config/featureFlags.ts
105022
- function getAllowedSignupMethodsForEnvironment(nodeEnv, convexDeployment) {
105027
+ function getAllowedSignupMethodsForEnvironment(nodeEnv, convexDeployment, e2eSeedingEnabled) {
105028
+ if (e2eSeedingEnabled === "true") {
105029
+ return ["self", "invite"];
105030
+ }
105023
105031
  if (convexDeployment?.startsWith("local:")) {
105024
105032
  return ["self", "invite"];
105025
105033
  }
@@ -105035,7 +105043,7 @@ var init_featureFlags = __esm(() => {
105035
105043
  disableLogin: false,
105036
105044
  directHarnessWorkers: true,
105037
105045
  get allowedSignupMethods() {
105038
- return getAllowedSignupMethodsForEnvironment("development", process.env.CONVEX_DEPLOYMENT);
105046
+ return getAllowedSignupMethodsForEnvironment("development", process.env.CONVEX_DEPLOYMENT, process.env.E2E_SEEDING_ENABLED);
105039
105047
  }
105040
105048
  };
105041
105049
  });
@@ -105140,6 +105148,7 @@ var claudeModelVariants = () => prefixCatalogModels("anthropic", expandModelVari
105140
105148
  var init_model_catalog = __esm(() => {
105141
105149
  init_claude_model_variants();
105142
105150
  init_codex_sdk_model_variants();
105151
+ init_model_provider();
105143
105152
  init_model_variant();
105144
105153
  CODEX_MODEL_IDS = [
105145
105154
  "gpt-5.6-terra",
@@ -105478,6 +105487,7 @@ var DEFAULT_MODEL = "anthropic/sonnet", _sdkCache5, _sdkLoadError5, _executableP
105478
105487
  };
105479
105488
  var init_claude_harness = __esm(() => {
105480
105489
  init_model_catalog();
105490
+ init_model_provider();
105481
105491
  init_claude_session();
105482
105492
  init_claude_sdk_package();
105483
105493
  });
@@ -108109,8 +108119,6 @@ async function pushAvailableGitState(ctx, workingDir, stateKey, branchResult) {
108109
108119
  ...pipeline2.toMutationArgs(values3, false)
108110
108120
  });
108111
108121
  ctx.lastPushedGitState.set(stateKey, stateHash);
108112
- lastPushedBranch.set(stateKey, branch);
108113
- lastFullPushMs.set(stateKey, Date.now());
108114
108122
  console.log(`[${formatTimestamp()}] \uD83D\uDD00 Git state pushed: ${workingDir} (${branch}${values3.get("isDirty") ? ", dirty" : ", clean"})`);
108115
108123
  }
108116
108124
  if (ctx.lastPushedGitState.get(commitsKey) !== commitsHash) {
@@ -108128,17 +108136,13 @@ async function pushAvailableGitState(ctx, workingDir, stateKey, branchResult) {
108128
108136
  }
108129
108137
  }
108130
108138
  }
108131
- async function drainGitStateSync(effectContext2) {
108132
- await exports_Effect.runPromise(pushGitStateEffect.pipe(exports_Effect.provide(effectContext2)));
108133
- }
108134
- var lastFullPushMs, lastPushedBranch, branchField, GIT_STATE_FIELDS, pushGitStateEffect, pushSingleWorkspaceGitStateEffect = (workingDir) => exports_Effect.gen(function* () {
108139
+ var branchField, GIT_STATE_FIELDS, pushGitStateEffect, pushSingleWorkspaceGitStateEffect = (workingDir) => exports_Effect.gen(function* () {
108135
108140
  const session2 = yield* DaemonSessionService;
108136
108141
  const mutable = yield* DaemonMutableStateService;
108137
108142
  const lastPushedGitState = yield* exports_Ref.get(mutable.lastPushedGitState);
108138
108143
  yield* exports_Effect.promise(() => pushSingleWorkspaceGitStateImpl(buildGitStateDeps(session2, lastPushedGitState), workingDir));
108139
108144
  });
108140
108145
  var init_git_heartbeat = __esm(() => {
108141
- init_reliability();
108142
108146
  init_esm();
108143
108147
  init_api3();
108144
108148
  init_daemon_services();
@@ -108146,8 +108150,6 @@ var init_git_heartbeat = __esm(() => {
108146
108150
  init_convex_error();
108147
108151
  init_git_reader();
108148
108152
  init_git_state_pipeline();
108149
- lastFullPushMs = new Map;
108150
- lastPushedBranch = new Map;
108151
108153
  branchField = {
108152
108154
  key: "branch",
108153
108155
  includeInSlim: true,
@@ -108239,6 +108241,47 @@ var init_git_heartbeat = __esm(() => {
108239
108241
  });
108240
108242
  });
108241
108243
 
108244
+ // src/daemon/entry/workspace-git/workspace-list-subscription.ts
108245
+ function toSyncWorkspaces(workingDirs) {
108246
+ return workingDirs.map((workingDir) => ({ workingDir }));
108247
+ }
108248
+ async function reconcileWorkspaceList(session2) {
108249
+ const workspaces = await session2.backend.query(api.workspaces.listRecentlyObservedWorkspacesForMachine, {
108250
+ sessionId: session2.sessionId,
108251
+ machineId: session2.machineId,
108252
+ recencyWindowMs: OBSERVATION_TTL_MS
108253
+ });
108254
+ if (workspaces == null)
108255
+ return;
108256
+ if (!session2.workspaceListStore) {
108257
+ session2.workspaceListStore = { workspaces: [], updatedAt: 0 };
108258
+ }
108259
+ session2.workspaceListStore.workspaces = toSyncWorkspaces(workspaces);
108260
+ session2.workspaceListStore.updatedAt = Date.now();
108261
+ }
108262
+ var startWorkspaceListSubscriptionEffect = () => exports_Effect.gen(function* () {
108263
+ const session2 = yield* DaemonSessionService;
108264
+ session2.workspaceListStore = { workspaces: [], updatedAt: 0 };
108265
+ yield* exports_Effect.promise(() => reconcileWorkspaceList(session2));
108266
+ const interval = setInterval(() => {
108267
+ reconcileWorkspaceList(session2).catch(() => {
108268
+ return;
108269
+ });
108270
+ }, OBSERVED_SAFETY_POLL_MS);
108271
+ return {
108272
+ stop: () => {
108273
+ clearInterval(interval);
108274
+ session2.workspaceListStore = undefined;
108275
+ }
108276
+ };
108277
+ });
108278
+ var init_workspace_list_subscription = __esm(() => {
108279
+ init_reliability();
108280
+ init_esm();
108281
+ init_api3();
108282
+ init_daemon_services();
108283
+ });
108284
+
108242
108285
  // src/daemon/entry/command-event-types.ts
108243
108286
  function isDaemonCommandEventType(value) {
108244
108287
  return DAEMON_COMMAND_EVENT_TYPES.includes(value);
@@ -108252,6 +108295,7 @@ var init_command_event_types = __esm(() => {
108252
108295
  "agent.stopScope",
108253
108296
  "daemon.ping",
108254
108297
  "daemon.gitRefresh",
108298
+ "daemon.workspaceListChanged",
108255
108299
  "daemon.localAction",
108256
108300
  "daemon.pickFolder",
108257
108301
  "daemon.refreshCapabilities"
@@ -110182,6 +110226,8 @@ function evictStaleDedupEntries(tracker) {
110182
110226
  evictStaleEntries(tracker.capabilitiesRefreshIds, evictBefore);
110183
110227
  evictStaleEntries(tracker.localActionIds, evictBefore);
110184
110228
  evictStaleEntries(tracker.pickFolderIds, evictBefore);
110229
+ if (tracker.workspaceListChangedIds)
110230
+ evictStaleEntries(tracker.workspaceListChangedIds, evictBefore);
110185
110231
  processManager.evictStalePendingStops();
110186
110232
  }
110187
110233
  function createDedupTracker() {
@@ -110191,9 +110237,21 @@ function createDedupTracker() {
110191
110237
  gitRefreshIds: new Map,
110192
110238
  capabilitiesRefreshIds: new Map,
110193
110239
  localActionIds: new Map,
110194
- pickFolderIds: new Map
110240
+ pickFolderIds: new Map,
110241
+ workspaceListChangedIds: new Map
110195
110242
  };
110196
110243
  }
110244
+ function handleWorkspaceListChangedCommandEffect(event, tracker) {
110245
+ return exports_Effect.gen(function* () {
110246
+ const eventId = String(event._id);
110247
+ if (tracker.workspaceListChangedIds?.has(eventId))
110248
+ return;
110249
+ const session2 = yield* DaemonSessionService;
110250
+ yield* exports_Effect.promise(() => reconcileWorkspaceList(session2));
110251
+ yield* pushGitStateEffect;
110252
+ (tracker.workspaceListChangedIds ??= new Map).set(eventId, Date.now());
110253
+ });
110254
+ }
110197
110255
  function handleRequestStartEffect(event, tracker) {
110198
110256
  return exports_Effect.gen(function* () {
110199
110257
  const eventId = event._id.toString();
@@ -110363,6 +110421,7 @@ var init_command_dispatch = __esm(() => {
110363
110421
  init_reliability();
110364
110422
  init_esm();
110365
110423
  init_git_heartbeat();
110424
+ init_workspace_list_subscription();
110366
110425
  init_api3();
110367
110426
  init_capabilities_bridge();
110368
110427
  init_command_event_types();
@@ -110392,6 +110451,7 @@ var init_command_dispatch = __esm(() => {
110392
110451
  }),
110393
110452
  "daemon.ping": handlePingCommandEffect,
110394
110453
  "daemon.gitRefresh": handleGitRefreshCommandEffect,
110454
+ "daemon.workspaceListChanged": handleWorkspaceListChangedCommandEffect,
110395
110455
  "daemon.localAction": handleLocalActionCommandEffect,
110396
110456
  "daemon.pickFolder": handlePickFolderCommandEffect,
110397
110457
  "daemon.refreshCapabilities": handleRefreshCapabilitiesEffect
@@ -118420,41 +118480,6 @@ var init_git_subscription = __esm(() => {
118420
118480
  init_daemon_services();
118421
118481
  });
118422
118482
 
118423
- // src/daemon/entry/workspace-git/workspace-list-subscription.ts
118424
- function toSyncWorkspaces(workingDirs) {
118425
- return workingDirs.map((workingDir) => ({ workingDir }));
118426
- }
118427
- async function reconcileWorkspaceList(session2) {
118428
- const workspaces = await session2.backend.query(api.workspaces.listRecentlyObservedWorkspacesForMachine, {
118429
- sessionId: session2.sessionId,
118430
- machineId: session2.machineId,
118431
- recencyWindowMs: WORKSPACE_RECENCY_WINDOW_MS
118432
- });
118433
- if (workspaces == null)
118434
- return;
118435
- if (!session2.workspaceListStore) {
118436
- session2.workspaceListStore = { workspaces: [], updatedAt: 0 };
118437
- }
118438
- session2.workspaceListStore.workspaces = toSyncWorkspaces(workspaces);
118439
- session2.workspaceListStore.updatedAt = Date.now();
118440
- }
118441
- var startWorkspaceListSubscriptionEffect = () => exports_Effect.gen(function* () {
118442
- const session2 = yield* DaemonSessionService;
118443
- session2.workspaceListStore = { workspaces: [], updatedAt: 0 };
118444
- yield* exports_Effect.promise(() => reconcileWorkspaceList(session2));
118445
- return {
118446
- stop: () => {
118447
- session2.workspaceListStore = undefined;
118448
- }
118449
- };
118450
- });
118451
- var init_workspace_list_subscription = __esm(() => {
118452
- init_reliability();
118453
- init_esm();
118454
- init_api3();
118455
- init_daemon_services();
118456
- });
118457
-
118458
118483
  // src/daemon/entry/workspace-git-inbound-registry.ts
118459
118484
  function registerWorkspaceGitInboundHandler(h) {
118460
118485
  handler6 = h;
@@ -118650,10 +118675,6 @@ function createDaemonRuntime(deps) {
118650
118675
  workspaceListSubscriptionHandle = yield* startWorkspaceListSubscriptionEffect();
118651
118676
  registerWorkspaceGitInboundHandler(async (event) => {
118652
118677
  switch (event.type) {
118653
- case "workspace.list-changed":
118654
- await reconcileWorkspaceList(session2);
118655
- await drainGitStateSync(effectContext2);
118656
- break;
118657
118678
  case "git.request":
118658
118679
  if (gitHandle)
118659
118680
  await gitHandle.drainPendingGitRequests();
@@ -118721,7 +118742,6 @@ var init_daemon_runtime = __esm(() => {
118721
118742
  init_log_observer_sync();
118722
118743
  init_init_daemon();
118723
118744
  init_task_inbox_runtime();
118724
- init_git_heartbeat();
118725
118745
  init_git_subscription();
118726
118746
  init_api3();
118727
118747
  init_workspace_list_subscription();
@@ -119788,36 +119808,6 @@ var init_machine_command_inbox = __esm(() => {
119788
119808
  init_api3();
119789
119809
  });
119790
119810
 
119791
- // src/daemon/infrastructure/convex/subscribers/workspace-list.ts
119792
- function startWorkspaceListSubscriber(deps, onEvent) {
119793
- let lastSnapshotKey = "";
119794
- const queryArgs = {
119795
- sessionId: deps.sessionId,
119796
- machineId: deps.machineId,
119797
- recencyWindowMs: WORKSPACE_RECENCY_WINDOW_MS
119798
- };
119799
- const unsub = deps.wsClient.onUpdate(api.workspaces.listRecentlyObservedWorkspacesForMachine, queryArgs, (workspaces) => {
119800
- if (workspaces == null)
119801
- return;
119802
- const snapshotKey2 = JSON.stringify(workspaces);
119803
- if (snapshotKey2 === lastSnapshotKey)
119804
- return;
119805
- lastSnapshotKey = snapshotKey2;
119806
- onEvent({ type: "workspace.list-changed", machineId: deps.machineId });
119807
- }, (err) => {
119808
- console.warn(`[daemon] workspace-list subscriber error: ${err instanceof Error ? err.message : String(err)}`);
119809
- });
119810
- return {
119811
- async stop() {
119812
- unsub();
119813
- }
119814
- };
119815
- }
119816
- var init_workspace_list = __esm(() => {
119817
- init_reliability();
119818
- init_api3();
119819
- });
119820
-
119821
119811
  // src/daemon/entry/subscriber-registry.ts
119822
119812
  function startAllSubscribers(deps) {
119823
119813
  const onEvent = (event) => {
@@ -119834,7 +119824,6 @@ function startAllSubscribers(deps) {
119834
119824
  });
119835
119825
  });
119836
119826
  const commandRun = startCommandRunSubscriber(deps, onEvent);
119837
- const workspaceList = startWorkspaceListSubscriber(deps, onEvent);
119838
119827
  const gitRequest = startGitRequestSubscriber(deps, onEvent);
119839
119828
  const fileTree = startFileTreeRequestSubscriber(deps, onEvent);
119840
119829
  const fileTreeRelease = startFileTreeReleaseRequestSubscriber(deps, onEvent);
@@ -119851,7 +119840,6 @@ function startAllSubscribers(deps) {
119851
119840
  directHarnessCommand.stop(),
119852
119841
  machineCommands.stop(),
119853
119842
  commandRun.stop(),
119854
- workspaceList.stop(),
119855
119843
  gitRequest.stop(),
119856
119844
  fileTree.stop(),
119857
119845
  fileTreeRelease.stop(),
@@ -119879,7 +119867,6 @@ var init_subscriber_registry = __esm(() => {
119879
119867
  init_file_write_request();
119880
119868
  init_git_request();
119881
119869
  init_machine_command_inbox();
119882
- init_workspace_list();
119883
119870
  });
119884
119871
 
119885
119872
  // src/infrastructure/log-server/resolve-env-slug.ts
@@ -135639,4 +135626,4 @@ program2.hook("preAction", async (_thisCommand, actionCommand) => {
135639
135626
  });
135640
135627
  program2.parse();
135641
135628
 
135642
- //# debugId=FD452FCC0B1266C364756E2164756E21
135629
+ //# debugId=628F1766FDA6313364756E2164756E21