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-
|
|
8
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
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,
|
|
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()
|
|
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
|
-
|
|
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=
|
|
135629
|
+
//# debugId=628F1766FDA6313364756E2164756E21
|