@blade-hq/agent-react 2610.0.0-beta.54 → 2610.0.0-beta.56

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.
@@ -762,4 +762,4 @@
762
762
 
763
763
  /* ---- Tailwind 编译产物(无 preflight) ---- */
764
764
  /*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
765
- @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-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-duration:initial;--tw-ease:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-emerald-500:oklch(69.6% .17 162.48);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-500:oklch(62.3% .214 259.815);--color-rose-100:oklch(94.1% .03 12.58);--color-rose-500:oklch(64.5% .246 16.439);--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-lg:32rem;--container-2xl:42rem;--container-3xl:48rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--font-weight-medium:500;--font-weight-semibold:600;--tracking-wider:.05em;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1)}}@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.top-full{top:100%}.right-2{right:calc(var(--spacing) * 2)}.right-4{right:calc(var(--spacing) * 4)}.bottom-4{bottom:calc(var(--spacing) * 4)}.bottom-full{bottom:100%}.left-0{left:0}.z-40{z-index:40}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-0{margin:0}.mx-auto{margin-inline:auto}.my-2{margin-block:calc(var(--spacing) * 2)}.my-3{margin-block:calc(var(--spacing) * 3)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-\[3px\]{margin-top:3px}.mb-1{margin-bottom:var(--spacing)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-10{margin-left:calc(var(--spacing) * 10)}.ml-\[18px\]{margin-left:18px}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-\[30px\]{width:30px;height:30px}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-\[34px\]{height:34px}.h-full{height:100%}.h-px{height:1px}.max-h-40{max-height:calc(var(--spacing) * 40)}.max-h-48{max-height:calc(var(--spacing) * 48)}.max-h-56{max-height:calc(var(--spacing) * 56)}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-72{max-height:calc(var(--spacing) * 72)}.max-h-\[80vh\]{max-height:80vh}.max-h-\[400px\]{max-height:400px}.min-h-0{min-height:0}.min-h-10{min-height:calc(var(--spacing) * 10)}.min-h-\[28px\]{min-height:28px}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-8{width:calc(var(--spacing) * 8)}.w-72{width:calc(var(--spacing) * 72)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-56{max-width:calc(var(--spacing) * 56)}.max-w-\[72\%\]{max-width:72%}.max-w-\[680px\]{max-width:680px}.max-w-\[748px\]{max-width:748px}.max-w-\[calc\(100vw-2rem\)\]{max-width:calc(100vw - 2rem)}.max-w-\[min\(72vw\,42rem\)\]{max-width:min(72vw,42rem)}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:0}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.list-none{list-style-type:none}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-rows-\[0fr\]{grid-template-rows:0fr}.grid-rows-\[1fr\]{grid-template-rows:1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.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)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * 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-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\[20px\]{border-radius:20px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-br-\[6px\]{border-bottom-right-radius:6px}.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-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-l-\[3px\]{border-left-style:var(--tw-border-style);border-left-width:3px}.border-\[hsl\(var\(--accent-foreground\)\/0\.35\)\]{border-color:hsl(var(--accent-foreground)/.35)}.border-\[hsl\(var\(--border\)\)\]{border-color:hsl(var(--border))}.border-\[hsl\(var\(--border\)\/0\.8\)\]{border-color:hsl(var(--border)/.8)}.border-\[hsl\(var\(--border\)\/0\.55\)\]{border-color:hsl(var(--border)/.55)}.border-\[hsl\(var\(--primary\)\/0\.8\)\]{border-color:hsl(var(--primary)/.8)}.border-\[hsl\(var\(--primary\)\/0\.22\)\]{border-color:hsl(var(--primary)/.22)}.border-\[hsl\(var\(--primary\)\/0\.45\)\]{border-color:hsl(var(--primary)/.45)}.border-\[hsl\(var\(--primary-foreground\)\/0\.6\)\]{border-color:hsl(var(--primary-foreground)/.6)}.border-\[hsl\(var\(--ring\)\/0\.6\)\]{border-color:hsl(var(--ring)/.6)}.border-\[hsl\(var\(--user-msg-border\)\)\]{border-color:hsl(var(--user-msg-border))}.border-amber-500\/25{border-color:#f99c0040}@supports (color:color-mix(in lab, red, red)){.border-amber-500\/25{border-color:color-mix(in oklab, var(--color-amber-500) 25%, transparent)}}.border-amber-500\/30{border-color:#f99c004d}@supports (color:color-mix(in lab, red, red)){.border-amber-500\/30{border-color:color-mix(in oklab, var(--color-amber-500) 30%, transparent)}}.border-amber-500\/35{border-color:#f99c0059}@supports (color:color-mix(in lab, red, red)){.border-amber-500\/35{border-color:color-mix(in oklab, var(--color-amber-500) 35%, transparent)}}.border-red-500\/30{border-color:#fb2c364d}@supports (color:color-mix(in lab, red, red)){.border-red-500\/30{border-color:color-mix(in oklab, var(--color-red-500) 30%, transparent)}}.border-rose-500\/25{border-color:#ff235740}@supports (color:color-mix(in lab, red, red)){.border-rose-500\/25{border-color:color-mix(in oklab, var(--color-rose-500) 25%, transparent)}}.border-l-\[hsl\(var\(--muted-foreground\)\/0\.5\)\]{border-left-color:hsl(var(--muted-foreground)/.5)}.border-l-\[hsl\(var\(--primary\)\)\]{border-left-color:hsl(var(--primary))}.border-l-amber-400{border-left-color:var(--color-amber-400)}.border-l-blue-500{border-left-color:var(--color-blue-500)}.bg-\[hsl\(var\(--accent\)\)\]{background-color:hsl(var(--accent))}.bg-\[hsl\(var\(--background\)\)\]{background-color:hsl(var(--background))}.bg-\[hsl\(var\(--background\)\/0\.72\)\]{background-color:hsl(var(--background)/.72)}.bg-\[hsl\(var\(--border\)\/0\.75\)\]{background-color:hsl(var(--border)/.75)}.bg-\[hsl\(var\(--card\)\)\]{background-color:hsl(var(--card))}.bg-\[hsl\(var\(--card\)\/0\.8\)\]{background-color:hsl(var(--card)/.8)}.bg-\[hsl\(var\(--muted\)\)\/0\.5\]{background-color:hsl(var(--muted))/.5}.bg-\[hsl\(var\(--muted\)\)\],.bg-\[hsl\(var\(--muted\)\)\]\/40{background-color:hsl(var(--muted))}@supports (color:color-mix(in lab, red, red)){.bg-\[hsl\(var\(--muted\)\)\]\/40{background-color:color-mix(in oklab, hsl(var(--muted)) 40%, transparent)}}.bg-\[hsl\(var\(--muted\)\/0\.2\)\]{background-color:hsl(var(--muted)/.2)}.bg-\[hsl\(var\(--muted\)\/0\.3\)\]{background-color:hsl(var(--muted)/.3)}.bg-\[hsl\(var\(--muted\)\/0\.5\)\]{background-color:hsl(var(--muted)/.5)}.bg-\[hsl\(var\(--muted\)\/0\.28\)\]{background-color:hsl(var(--muted)/.28)}.bg-\[hsl\(var\(--muted\)\/0\.35\)\]{background-color:hsl(var(--muted)/.35)}.bg-\[hsl\(var\(--muted\)\/0\.55\)\]{background-color:hsl(var(--muted)/.55)}.bg-\[hsl\(var\(--muted\)\/0\.62\)\]{background-color:hsl(var(--muted)/.62)}.bg-\[hsl\(var\(--popover\)\)\]{background-color:hsl(var(--popover))}.bg-\[hsl\(var\(--primary\)\)\]{background-color:hsl(var(--primary))}.bg-\[hsl\(var\(--primary\)\/0\.07\)\]{background-color:hsl(var(--primary)/.07)}.bg-\[hsl\(var\(--primary\)\/0\.08\)\]{background-color:hsl(var(--primary)/.08)}.bg-\[hsl\(var\(--primary\)\/0\.12\)\]{background-color:hsl(var(--primary)/.12)}.bg-\[hsl\(var\(--primary-foreground\)\/0\.2\)\]{background-color:hsl(var(--primary-foreground)/.2)}.bg-\[hsl\(var\(--user-msg-bg\)\)\]{background-color:hsl(var(--user-msg-bg))}.bg-amber-500\/8{background-color:#f99c0014}@supports (color:color-mix(in lab, red, red)){.bg-amber-500\/8{background-color:color-mix(in oklab, var(--color-amber-500) 8%, transparent)}}.bg-amber-500\/10{background-color:#f99c001a}@supports (color:color-mix(in lab, red, red)){.bg-amber-500\/10{background-color:color-mix(in oklab, var(--color-amber-500) 10%, transparent)}}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab, red, red)){.bg-red-500\/10{background-color:color-mix(in oklab, var(--color-red-500) 10%, transparent)}}.bg-rose-500\/10{background-color:#ff23571a}@supports (color:color-mix(in lab, red, red)){.bg-rose-500\/10{background-color:color-mix(in oklab, var(--color-rose-500) 10%, transparent)}}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-amber-400\/40{--tw-gradient-via:#fcbb0066}@supports (color:color-mix(in lab, red, red)){.via-amber-400\/40{--tw-gradient-via:color-mix(in oklab, var(--color-amber-400) 40%, transparent)}}.via-amber-400\/40{--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.object-cover{object-fit:cover}.p-0{padding:0}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-\[18px\]{padding-inline:18px}.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-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-\[13px\]{padding-block:13px}.pt-0\.5{padding-top:calc(var(--spacing) * .5)}.pt-1{padding-top:var(--spacing)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pr-1{padding-right:var(--spacing)}.pr-1\.5{padding-right:calc(var(--spacing) * 1.5)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-3\.5{padding-left:calc(var(--spacing) * 3.5)}.pl-5{padding-left:calc(var(--spacing) * 5)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-7{--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.leading-8{--tw-leading:calc(var(--spacing) * 8);line-height:calc(var(--spacing) * 8)}.leading-\[1\.65\]{--tw-leading:1.65;line-height:1.65}.leading-\[22px\]{--tw-leading:22px;line-height:22px}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.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-\[0\.12em\]{--tw-tracking:.12em;letter-spacing:.12em}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.\[overflow-wrap\:anywhere\]{overflow-wrap:anywhere}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[hsl\(var\(--card-foreground\)\)\]{color:hsl(var(--card-foreground))}.text-\[hsl\(var\(--destructive\)\)\]{color:hsl(var(--destructive))}.text-\[hsl\(var\(--foreground\)\)\]{color:hsl(var(--foreground))}.text-\[hsl\(var\(--foreground\)\/0\.8\)\]{color:hsl(var(--foreground)/.8)}.text-\[hsl\(var\(--muted-foreground\)\)\/0\.85\]{color:hsl(var(--muted-foreground))/.85}.text-\[hsl\(var\(--muted-foreground\)\)\],.text-\[hsl\(var\(--muted-foreground\)\)\]\/60{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab, red, red)){.text-\[hsl\(var\(--muted-foreground\)\)\]\/60{color:color-mix(in oklab, hsl(var(--muted-foreground)) 60%, transparent)}}.text-\[hsl\(var\(--popover-foreground\)\)\]{color:hsl(var(--popover-foreground))}.text-\[hsl\(var\(--primary\)\)\]{color:hsl(var(--primary))}.text-\[hsl\(var\(--primary-foreground\)\)\]{color:hsl(var(--primary-foreground))}.text-\[hsl\(var\(--user-msg-fg\)\)\]{color:hsl(var(--user-msg-fg))}.text-amber-100{color:var(--color-amber-100)}.text-amber-100\/55{color:#fef3c68c}@supports (color:color-mix(in lab, red, red)){.text-amber-100\/55{color:color-mix(in oklab, var(--color-amber-100) 55%, transparent)}}.text-amber-100\/75{color:#fef3c6bf}@supports (color:color-mix(in lab, red, red)){.text-amber-100\/75{color:color-mix(in oklab, var(--color-amber-100) 75%, transparent)}}.text-amber-300{color:var(--color-amber-300)}.text-amber-500{color:var(--color-amber-500)}.text-blue-300{color:var(--color-blue-300)}.text-emerald-500{color:var(--color-emerald-500)}.text-red-400{color:var(--color-red-400)}.text-red-500{color:var(--color-red-500)}.text-rose-100{color:var(--color-rose-100)}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-100{opacity:1}.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-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.transition-\[grid-template-rows\,opacity\]{transition-property:grid-template-rows,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[opacity\,transform\]{transition-property:opacity,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\!running{animation-play-state:running!important}.paused{animation-play-state:paused}.running{animation-play-state:running}.group-open\/context-card\:rotate-180:is(:where(.group\/context-card):is([open],:popover-open,:open) *),.group-open\/context-group\:rotate-180:is(:where(.group\/context-group):is([open],:popover-open,:open) *){rotate:180deg}@media (hover:hover){.group-hover\:opacity-100:is(:where(.group):hover *),.group-hover\/thinking\:opacity-100:is(:where(.group\/thinking):hover *){opacity:1}}.group-focus-visible\:opacity-100:is(:where(.group):focus-visible *){opacity:1}.placeholder\:text-\[hsl\(var\(--muted-foreground\)\/0\.5\)\]::placeholder{color:hsl(var(--muted-foreground)/.5)}.placeholder\:text-\[hsl\(var\(--muted-foreground\)\/0\.6\)\]::placeholder{color:hsl(var(--muted-foreground)/.6)}.focus-within\:ring-2:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-within\:ring-\[hsl\(var\(--ring\)\/0\.35\)\]:focus-within{--tw-ring-color:hsl(var(--ring)/.35)}@media (hover:hover){.hover\:border-\[hsl\(var\(--ring\)\/0\.3\)\]:hover{border-color:hsl(var(--ring)/.3)}.hover\:border-\[hsl\(var\(--ring\)\/0\.4\)\]:hover{border-color:hsl(var(--ring)/.4)}.hover\:bg-\[hsl\(var\(--accent\)\)\]:hover{background-color:hsl(var(--accent))}.hover\:bg-\[hsl\(var\(--muted\)\/0\.3\)\]:hover{background-color:hsl(var(--muted)/.3)}.hover\:bg-transparent:hover{background-color:#0000}.hover\:bg-white\/3:hover{background-color:#ffffff08}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/3:hover{background-color:color-mix(in oklab, var(--color-white) 3%, transparent)}}.hover\:text-\[hsl\(var\(--foreground\)\)\]:hover{color:hsl(var(--foreground))}.hover\:opacity-90:hover{opacity:.9}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-\[hsl\(var\(--ring\)\)\]:focus-visible{--tw-ring-color:hsl(var(--ring))}.disabled\:cursor-default:disabled{cursor:default}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-60:disabled{opacity:.6}@media (hover:hover){.disabled\:hover\:bg-transparent:disabled:hover{background-color:#0000}}.aria-busy\:cursor-wait[aria-busy=true]{cursor:wait}.aria-disabled\:cursor-not-allowed[aria-disabled=true]{cursor:not-allowed}.aria-disabled\:opacity-60[aria-disabled=true]{opacity:.6}.aria-pressed\:bg-\[hsl\(var\(--primary\)\/0\.1\)\][aria-pressed=true]{background-color:hsl(var(--primary)/.1)}.aria-pressed\:bg-\[hsl\(var\(--primary\)\/0\.14\)\][aria-pressed=true]{background-color:hsl(var(--primary)/.14)}@media (prefers-reduced-motion:reduce){.motion-reduce\:transition-none{transition-property:none}}@media (min-width:40rem){.sm\:max-w-\[680px\]{max-width:680px}}.\[\&\:\:-webkit-details-marker\]\:hidden::-webkit-details-marker{display:none}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}
765
+ @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-duration:initial;--tw-ease:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-emerald-500:oklch(69.6% .17 162.48);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-500:oklch(62.3% .214 259.815);--color-rose-100:oklch(94.1% .03 12.58);--color-rose-500:oklch(64.5% .246 16.439);--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-lg:32rem;--container-2xl:42rem;--container-3xl:48rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--font-weight-medium:500;--font-weight-semibold:600;--tracking-wider:.05em;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1)}}@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.top-full{top:100%}.right-2{right:calc(var(--spacing) * 2)}.right-4{right:calc(var(--spacing) * 4)}.bottom-4{bottom:calc(var(--spacing) * 4)}.bottom-full{bottom:100%}.left-0{left:0}.z-40{z-index:40}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-0{margin:0}.mx-auto{margin-inline:auto}.my-1{margin-block:var(--spacing)}.my-2{margin-block:calc(var(--spacing) * 2)}.my-3{margin-block:calc(var(--spacing) * 3)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-\[3px\]{margin-top:3px}.mr-1{margin-right:var(--spacing)}.mb-1{margin-bottom:var(--spacing)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.ml-1{margin-left:var(--spacing)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-10{margin-left:calc(var(--spacing) * 10)}.ml-\[18px\]{margin-left:18px}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-\[30px\]{width:30px;height:30px}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-\[18px\]{height:18px}.h-\[34px\]{height:34px}.h-full{height:100%}.h-px{height:1px}.max-h-40{max-height:calc(var(--spacing) * 40)}.max-h-48{max-height:calc(var(--spacing) * 48)}.max-h-56{max-height:calc(var(--spacing) * 56)}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-72{max-height:calc(var(--spacing) * 72)}.max-h-\[80vh\]{max-height:80vh}.max-h-\[400px\]{max-height:400px}.min-h-0{min-height:0}.min-h-10{min-height:calc(var(--spacing) * 10)}.min-h-\[28px\]{min-height:28px}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-8{width:calc(var(--spacing) * 8)}.w-72{width:calc(var(--spacing) * 72)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-56{max-width:calc(var(--spacing) * 56)}.max-w-\[72\%\]{max-width:72%}.max-w-\[680px\]{max-width:680px}.max-w-\[748px\]{max-width:748px}.max-w-\[calc\(100vw-2rem\)\]{max-width:calc(100vw - 2rem)}.max-w-\[min\(72vw\,42rem\)\]{max-width:min(72vw,42rem)}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:0}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.translate-x-\[2px\]{--tw-translate-x:2px;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-\[16px\]{--tw-translate-x:16px;translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.list-none{list-style-type:none}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-rows-\[0fr\]{grid-template-rows:0fr}.grid-rows-\[1fr\]{grid-template-rows:1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.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)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * 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-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\[20px\]{border-radius:20px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-br-\[6px\]{border-bottom-right-radius:6px}.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-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-l-\[3px\]{border-left-style:var(--tw-border-style);border-left-width:3px}.border-\[hsl\(var\(--accent-foreground\)\/0\.35\)\]{border-color:hsl(var(--accent-foreground)/.35)}.border-\[hsl\(var\(--border\)\)\]{border-color:hsl(var(--border))}.border-\[hsl\(var\(--border\)\/0\.8\)\]{border-color:hsl(var(--border)/.8)}.border-\[hsl\(var\(--border\)\/0\.55\)\]{border-color:hsl(var(--border)/.55)}.border-\[hsl\(var\(--primary\)\/0\.8\)\]{border-color:hsl(var(--primary)/.8)}.border-\[hsl\(var\(--primary\)\/0\.22\)\]{border-color:hsl(var(--primary)/.22)}.border-\[hsl\(var\(--primary\)\/0\.45\)\]{border-color:hsl(var(--primary)/.45)}.border-\[hsl\(var\(--primary-foreground\)\/0\.6\)\]{border-color:hsl(var(--primary-foreground)/.6)}.border-\[hsl\(var\(--ring\)\/0\.6\)\]{border-color:hsl(var(--ring)/.6)}.border-\[hsl\(var\(--user-msg-border\)\)\]{border-color:hsl(var(--user-msg-border))}.border-amber-500\/25{border-color:#f99c0040}@supports (color:color-mix(in lab, red, red)){.border-amber-500\/25{border-color:color-mix(in oklab, var(--color-amber-500) 25%, transparent)}}.border-amber-500\/30{border-color:#f99c004d}@supports (color:color-mix(in lab, red, red)){.border-amber-500\/30{border-color:color-mix(in oklab, var(--color-amber-500) 30%, transparent)}}.border-amber-500\/35{border-color:#f99c0059}@supports (color:color-mix(in lab, red, red)){.border-amber-500\/35{border-color:color-mix(in oklab, var(--color-amber-500) 35%, transparent)}}.border-red-500\/30{border-color:#fb2c364d}@supports (color:color-mix(in lab, red, red)){.border-red-500\/30{border-color:color-mix(in oklab, var(--color-red-500) 30%, transparent)}}.border-rose-500\/25{border-color:#ff235740}@supports (color:color-mix(in lab, red, red)){.border-rose-500\/25{border-color:color-mix(in oklab, var(--color-rose-500) 25%, transparent)}}.border-transparent{border-color:#0000}.border-l-\[hsl\(var\(--muted-foreground\)\/0\.5\)\]{border-left-color:hsl(var(--muted-foreground)/.5)}.border-l-\[hsl\(var\(--primary\)\)\]{border-left-color:hsl(var(--primary))}.border-l-amber-400{border-left-color:var(--color-amber-400)}.border-l-blue-500{border-left-color:var(--color-blue-500)}.bg-\[hsl\(213_94\%_55\%\)\]{background-color:#2081f8}.bg-\[hsl\(var\(--accent\)\)\]{background-color:hsl(var(--accent))}.bg-\[hsl\(var\(--background\)\)\]{background-color:hsl(var(--background))}.bg-\[hsl\(var\(--background\)\/0\.72\)\]{background-color:hsl(var(--background)/.72)}.bg-\[hsl\(var\(--border\)\/0\.75\)\]{background-color:hsl(var(--border)/.75)}.bg-\[hsl\(var\(--card\)\)\]{background-color:hsl(var(--card))}.bg-\[hsl\(var\(--card\)\/0\.8\)\]{background-color:hsl(var(--card)/.8)}.bg-\[hsl\(var\(--muted\)\)\/0\.5\]{background-color:hsl(var(--muted))/.5}.bg-\[hsl\(var\(--muted\)\)\],.bg-\[hsl\(var\(--muted\)\)\]\/40{background-color:hsl(var(--muted))}@supports (color:color-mix(in lab, red, red)){.bg-\[hsl\(var\(--muted\)\)\]\/40{background-color:color-mix(in oklab, hsl(var(--muted)) 40%, transparent)}}.bg-\[hsl\(var\(--muted\)\/0\.2\)\]{background-color:hsl(var(--muted)/.2)}.bg-\[hsl\(var\(--muted\)\/0\.3\)\]{background-color:hsl(var(--muted)/.3)}.bg-\[hsl\(var\(--muted\)\/0\.5\)\]{background-color:hsl(var(--muted)/.5)}.bg-\[hsl\(var\(--muted\)\/0\.28\)\]{background-color:hsl(var(--muted)/.28)}.bg-\[hsl\(var\(--muted\)\/0\.35\)\]{background-color:hsl(var(--muted)/.35)}.bg-\[hsl\(var\(--muted\)\/0\.55\)\]{background-color:hsl(var(--muted)/.55)}.bg-\[hsl\(var\(--muted\)\/0\.62\)\]{background-color:hsl(var(--muted)/.62)}.bg-\[hsl\(var\(--popover\)\)\]{background-color:hsl(var(--popover))}.bg-\[hsl\(var\(--primary\)\)\]{background-color:hsl(var(--primary))}.bg-\[hsl\(var\(--primary\)\/0\.07\)\]{background-color:hsl(var(--primary)/.07)}.bg-\[hsl\(var\(--primary\)\/0\.08\)\]{background-color:hsl(var(--primary)/.08)}.bg-\[hsl\(var\(--primary\)\/0\.12\)\]{background-color:hsl(var(--primary)/.12)}.bg-\[hsl\(var\(--primary-foreground\)\/0\.2\)\]{background-color:hsl(var(--primary-foreground)/.2)}.bg-\[hsl\(var\(--user-msg-bg\)\)\]{background-color:hsl(var(--user-msg-bg))}.bg-amber-500\/8{background-color:#f99c0014}@supports (color:color-mix(in lab, red, red)){.bg-amber-500\/8{background-color:color-mix(in oklab, var(--color-amber-500) 8%, transparent)}}.bg-amber-500\/10{background-color:#f99c001a}@supports (color:color-mix(in lab, red, red)){.bg-amber-500\/10{background-color:color-mix(in oklab, var(--color-amber-500) 10%, transparent)}}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab, red, red)){.bg-red-500\/10{background-color:color-mix(in oklab, var(--color-red-500) 10%, transparent)}}.bg-rose-500\/10{background-color:#ff23571a}@supports (color:color-mix(in lab, red, red)){.bg-rose-500\/10{background-color:color-mix(in oklab, var(--color-rose-500) 10%, transparent)}}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-amber-400\/40{--tw-gradient-via:#fcbb0066}@supports (color:color-mix(in lab, red, red)){.via-amber-400\/40{--tw-gradient-via:color-mix(in oklab, var(--color-amber-400) 40%, transparent)}}.via-amber-400\/40{--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.object-cover{object-fit:cover}.p-0{padding:0}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-\[18px\]{padding-inline:18px}.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-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-\[13px\]{padding-block:13px}.pt-0\.5{padding-top:calc(var(--spacing) * .5)}.pt-1{padding-top:var(--spacing)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pr-1{padding-right:var(--spacing)}.pr-1\.5{padding-right:calc(var(--spacing) * 1.5)}.pb-0\.5{padding-bottom:calc(var(--spacing) * .5)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-3\.5{padding-left:calc(var(--spacing) * 3.5)}.pl-5{padding-left:calc(var(--spacing) * 5)}.pl-7{padding-left:calc(var(--spacing) * 7)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-7{--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.leading-8{--tw-leading:calc(var(--spacing) * 8);line-height:calc(var(--spacing) * 8)}.leading-\[1\.65\]{--tw-leading:1.65;line-height:1.65}.leading-\[22px\]{--tw-leading:22px;line-height:22px}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.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-\[0\.12em\]{--tw-tracking:.12em;letter-spacing:.12em}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.\[overflow-wrap\:anywhere\]{overflow-wrap:anywhere}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[hsl\(var\(--card-foreground\)\)\]{color:hsl(var(--card-foreground))}.text-\[hsl\(var\(--destructive\)\)\]{color:hsl(var(--destructive))}.text-\[hsl\(var\(--foreground\)\)\]{color:hsl(var(--foreground))}.text-\[hsl\(var\(--foreground\)\/0\.8\)\]{color:hsl(var(--foreground)/.8)}.text-\[hsl\(var\(--muted-foreground\)\)\/0\.85\]{color:hsl(var(--muted-foreground))/.85}.text-\[hsl\(var\(--muted-foreground\)\)\],.text-\[hsl\(var\(--muted-foreground\)\)\]\/60{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab, red, red)){.text-\[hsl\(var\(--muted-foreground\)\)\]\/60{color:color-mix(in oklab, hsl(var(--muted-foreground)) 60%, transparent)}}.text-\[hsl\(var\(--popover-foreground\)\)\]{color:hsl(var(--popover-foreground))}.text-\[hsl\(var\(--primary\)\)\]{color:hsl(var(--primary))}.text-\[hsl\(var\(--primary-foreground\)\)\]{color:hsl(var(--primary-foreground))}.text-\[hsl\(var\(--user-msg-fg\)\)\]{color:hsl(var(--user-msg-fg))}.text-amber-100{color:var(--color-amber-100)}.text-amber-100\/55{color:#fef3c68c}@supports (color:color-mix(in lab, red, red)){.text-amber-100\/55{color:color-mix(in oklab, var(--color-amber-100) 55%, transparent)}}.text-amber-100\/75{color:#fef3c6bf}@supports (color:color-mix(in lab, red, red)){.text-amber-100\/75{color:color-mix(in oklab, var(--color-amber-100) 75%, transparent)}}.text-amber-300{color:var(--color-amber-300)}.text-amber-500{color:var(--color-amber-500)}.text-blue-300{color:var(--color-blue-300)}.text-emerald-500{color:var(--color-emerald-500)}.text-red-400{color:var(--color-red-400)}.text-red-500{color:var(--color-red-500)}.text-rose-100{color:var(--color-rose-100)}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-100{opacity:1}.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-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.transition-\[grid-template-rows\,opacity\]{transition-property:grid-template-rows,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[opacity\,transform\]{transition-property:opacity,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\!running{animation-play-state:running!important}.paused{animation-play-state:paused}.running{animation-play-state:running}.group-open\/context-card\:rotate-180:is(:where(.group\/context-card):is([open],:popover-open,:open) *),.group-open\/context-group\:rotate-180:is(:where(.group\/context-group):is([open],:popover-open,:open) *){rotate:180deg}@media (hover:hover){.group-hover\:opacity-100:is(:where(.group):hover *),.group-hover\/thinking\:opacity-100:is(:where(.group\/thinking):hover *){opacity:1}}.group-focus-visible\:opacity-100:is(:where(.group):focus-visible *){opacity:1}.placeholder\:text-\[hsl\(var\(--muted-foreground\)\)\]::placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-\[hsl\(var\(--muted-foreground\)\/0\.5\)\]::placeholder{color:hsl(var(--muted-foreground)/.5)}.placeholder\:text-\[hsl\(var\(--muted-foreground\)\/0\.6\)\]::placeholder{color:hsl(var(--muted-foreground)/.6)}.focus-within\:ring-2:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-within\:ring-\[hsl\(var\(--ring\)\/0\.35\)\]:focus-within{--tw-ring-color:hsl(var(--ring)/.35)}@media (hover:hover){.hover\:border-\[hsl\(var\(--ring\)\/0\.3\)\]:hover{border-color:hsl(var(--ring)/.3)}.hover\:border-\[hsl\(var\(--ring\)\/0\.4\)\]:hover{border-color:hsl(var(--ring)/.4)}.hover\:bg-\[hsl\(var\(--accent\)\)\]:hover{background-color:hsl(var(--accent))}.hover\:bg-\[hsl\(var\(--muted\)\/0\.3\)\]:hover{background-color:hsl(var(--muted)/.3)}.hover\:bg-transparent:hover{background-color:#0000}.hover\:bg-white\/3:hover{background-color:#ffffff08}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/3:hover{background-color:color-mix(in oklab, var(--color-white) 3%, transparent)}}.hover\:text-\[hsl\(var\(--foreground\)\)\]:hover{color:hsl(var(--foreground))}.hover\:opacity-90:hover{opacity:.9}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-\[hsl\(var\(--ring\)\)\]:focus-visible{--tw-ring-color:hsl(var(--ring))}.disabled\:cursor-default:disabled{cursor:default}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}@media (hover:hover){.disabled\:hover\:bg-transparent:disabled:hover{background-color:#0000}}.aria-busy\:cursor-wait[aria-busy=true]{cursor:wait}.aria-disabled\:cursor-not-allowed[aria-disabled=true]{cursor:not-allowed}.aria-disabled\:opacity-60[aria-disabled=true]{opacity:.6}.aria-pressed\:bg-\[hsl\(var\(--primary\)\/0\.1\)\][aria-pressed=true]{background-color:hsl(var(--primary)/.1)}.aria-pressed\:bg-\[hsl\(var\(--primary\)\/0\.14\)\][aria-pressed=true]{background-color:hsl(var(--primary)/.14)}@media (prefers-reduced-motion:reduce){.motion-reduce\:transition-none{transition-property:none}}@media (min-width:40rem){.sm\:max-w-\[680px\]{max-width:680px}}.\[\&\:\:-webkit-details-marker\]\:hidden::-webkit-details-marker{display:none}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blade-hq/agent-react",
3
- "version": "2610.0.0-beta.54",
3
+ "version": "2610.0.0-beta.56",
4
4
  "description": "Blade Agent React 绑定:BladeProvider、useAgentSession、开箱即用的 ChatView 聊天界面。",
5
5
  "repository": {
6
6
  "type": "git",
@@ -31,7 +31,7 @@
31
31
  "access": "public"
32
32
  },
33
33
  "dependencies": {
34
- "@blade-hq/agent-client": "2610.0.0-beta.54"
34
+ "@blade-hq/agent-client": "2610.0.0-beta.56"
35
35
  },
36
36
  "bundledDependencies": [],
37
37
  "peerDependencies": {
package/public-api.md CHANGED
@@ -3,7 +3,7 @@
3
3
  > 本文件由 `scripts/public-api-report.mjs` 生成,请勿手改。
4
4
  > 公共面变更时重新生成本报告,并同步更新 README 对应章节——CI 会校验两者。
5
5
 
6
- 299 个公开声明。
6
+ 320 个公开声明。
7
7
 
8
8
  ## `acceptedPostChatFollowupCompletesLatestRun` (function)
9
9
 
@@ -11,6 +11,28 @@
11
11
  acceptedPostChatFollowupCompletesLatestRun: (events: RawEvent[], updates: ProjectionUpdate[]) => boolean
12
12
  ```
13
13
 
14
+ ## `AccountComputer` (interface)
15
+
16
+ ```ts
17
+ arch: string | null | undefined
18
+ blade_home: string | null | undefined
19
+ created_at: string
20
+ daemon_version: string | null | undefined
21
+ hostname: string | null | undefined
22
+ id: string
23
+ label: string
24
+ last_seen_at: string | null | undefined
25
+ online: boolean
26
+ os: string | null | undefined
27
+ workspace: string | null | undefined
28
+ ```
29
+
30
+ ## `AccountComputerList` (interface)
31
+
32
+ ```ts
33
+ computers: AccountComputer[]
34
+ ```
35
+
14
36
  ## `acknowledgeTurnEvents` (function)
15
37
 
16
38
  ```ts
@@ -275,7 +297,7 @@ statusText: string
275
297
  auth: AuthResource
276
298
  blob: (method: HttpMethod, path: string) => Promise<Blob>
277
299
  buildAuthedUrl: (path: string) => string
278
- chatProjects: ChatProjectsResource
300
+ chatGroups: ChatGroupsResource
279
301
  computers: ComputersResource
280
302
  fetch: (method: HttpMethod, path: string, init?: BladeFetchInit, isRetry?: boolean) => Promise<Response>
281
303
  formData: (method: HttpMethod, path: string, form: FormData, options?: { expectOk?: boolean; onUploadProgress?: (progress: UploadProgress) => void; }) => Promise<Response>
@@ -289,6 +311,7 @@ logoutToken: () => void
289
311
  models: ModelsResource
290
312
  onSocketReplaced: (listener: () => void) => () => void
291
313
  options: BladeClientOptions
314
+ plugins: PluginsResource
292
315
  responseFromInit: (path: string, init?: RequestInit) => Promise<Response>
293
316
  sessions: SessionsResource
294
317
  setBaseUrl: (baseUrl: string) => void
@@ -360,6 +383,12 @@ canEditQueuedMessage: (item: QueuedMessage) => boolean
360
383
  canToggleComputer: (computer: SessionComputer) => boolean
361
384
  ```
362
385
 
386
+ ## `catalogToConnectorItems` (function)
387
+
388
+ ```ts
389
+ catalogToConnectorItems: (catalog: PluginCatalogEntry[]) => PluginConnectorItem[]
390
+ ```
391
+
363
392
  ## `ChatCompletionTool` (interface)
364
393
 
365
394
  ```ts
@@ -373,6 +402,26 @@ type: "function"
373
402
  chatErrorForDisplay: (message: string, developer?: boolean) => string
374
403
  ```
375
404
 
405
+ ## `ChatGroup` (interface)
406
+
407
+ ```ts
408
+ created_at: string
409
+ id: string
410
+ instructions: string
411
+ name: string
412
+ session_count: number
413
+ updated_at: string
414
+ ```
415
+
416
+ ## `ChatGroupsResource` (class)
417
+
418
+ ```ts
419
+ create: (payload: { name: string; instructions?: string; }) => Promise<ChatGroup>
420
+ delete: (groupId: string) => Promise<{ deleted: boolean; deleted_sessions: number; }>
421
+ list: () => Promise<ChatGroup[]>
422
+ update: (groupId: string, payload: { name?: string; instructions?: string; }) => Promise<ChatGroup>
423
+ ```
424
+
376
425
  ## `ChatMessage` (interface)
377
426
 
378
427
  ```ts
@@ -394,26 +443,6 @@ timestamp: string | undefined
394
443
  tool_calls: ToolCallInfo[] | undefined
395
444
  ```
396
445
 
397
- ## `ChatProject` (interface)
398
-
399
- ```ts
400
- created_at: string
401
- id: string
402
- instructions: string
403
- name: string
404
- session_count: number
405
- updated_at: string
406
- ```
407
-
408
- ## `ChatProjectsResource` (class)
409
-
410
- ```ts
411
- create: (payload: { name: string; instructions?: string; }) => Promise<ChatProject>
412
- delete: (projectId: string) => Promise<{ deleted: boolean; deleted_sessions: number; }>
413
- list: () => Promise<ChatProject[]>
414
- update: (projectId: string, payload: { name?: string; instructions?: string; }) => Promise<ChatProject>
415
- ```
416
-
417
446
  ## `ChatView` (function)
418
447
 
419
448
  ```ts
@@ -556,6 +585,7 @@ computerPlatformLabel: (computer: SessionComputer) => string
556
585
 
557
586
  ```ts
558
587
  list: (sessionId: string) => Promise<SessionComputerList>
588
+ listAccount: () => Promise<AccountComputerList>
559
589
  setEnabled: (sessionId: string, computer: string, enabled: boolean) => Promise<SessionComputer>
560
590
  ```
561
591
 
@@ -571,6 +601,13 @@ computerState: (computer: SessionComputer) => ComputerState
571
601
  export type ComputerState = "primary" | "enabled" | "offline" | "idle"
572
602
  ```
573
603
 
604
+ ## `ConfiguringPlugin` (interface)
605
+
606
+ ```ts
607
+ name: string
608
+ pendingActivation: boolean
609
+ ```
610
+
574
611
  ## `connectEmbedded` (function)
575
612
 
576
613
  ```ts
@@ -583,6 +620,28 @@ connectEmbedded: (options: EmbeddedChatOptions) => EmbeddedChat
583
620
  export type ConnectionStatus = "connecting" | "connected" | "reconnecting" | "disconnected"
584
621
  ```
585
622
 
623
+ ## `ConnectorPanel` (function)
624
+
625
+ ```ts
626
+ ConnectorPanel: ({ client, sessionId, pendingPlugins, onPendingPluginsChange, pendingDisabledReason, onPluginsChanged, onSelectedChange, renderComputerSection, renderExternalAccounts, renderFooterActions, className, }: ConnectorPanelProps) => JSX.Element
627
+ ```
628
+
629
+ ## `ConnectorPanelProps` (interface)
630
+
631
+ ```ts
632
+ className: string | undefined
633
+ client: BladeClient
634
+ onPendingPluginsChange: ((next: PluginConnectorSelection[]) => void) | undefined
635
+ onPluginsChanged: ((plugin: SessionPluginActivation) => void) | undefined
636
+ onSelectedChange: ((items: PluginConnectorItem[]) => void) | undefined
637
+ pendingDisabledReason: string | null | undefined
638
+ pendingPlugins: PluginConnectorSelection[] | undefined
639
+ renderComputerSection: ((query: string) => ReactNode) | undefined
640
+ renderExternalAccounts: ((query: string) => ReactNode) | undefined
641
+ renderFooterActions: (() => ReactNode) | undefined
642
+ sessionId: string | null
643
+ ```
644
+
586
645
  ## `ContentBlock` (interface)
587
646
 
588
647
  ```ts
@@ -700,7 +759,7 @@ createInitialSessionState: (sessionId: string) => SessionState
700
759
  ```ts
701
760
  agent_runtime_id: string | null | undefined
702
761
  biz_role_id: string | null | undefined
703
- chat_project_id: string | null | undefined
762
+ chat_group_id: string | null | undefined
704
763
  compaction_ratio: number | null | undefined
705
764
  daemon_id: string | null | undefined
706
765
  disable_tools: string[] | null | undefined
@@ -821,6 +880,12 @@ path: string
821
880
  tags: string[] | undefined
822
881
  ```
823
882
 
883
+ ## `filterConnectorItems` (function)
884
+
885
+ ```ts
886
+ filterConnectorItems: (items: PluginConnectorItem[], query: string) => PluginConnectorItem[]
887
+ ```
888
+
824
889
  ## `FinalArtifact` (interface)
825
890
 
826
891
  ```ts
@@ -1318,6 +1383,12 @@ skill_name: string | null | undefined
1318
1383
  MemoryRefsHint: ({ refs }: { refs: MemoryRefInfo[]; }) => JSX.Element
1319
1384
  ```
1320
1385
 
1386
+ ## `mergeConnectorItems` (function)
1387
+
1388
+ ```ts
1389
+ mergeConnectorItems: (sessionPlugins: SessionPlugin[], catalog: PluginCatalogEntry[] | null) => PluginConnectorItem[]
1390
+ ```
1391
+
1321
1392
  ## `MessageContent` (type)
1322
1393
 
1323
1394
  ```ts
@@ -1482,6 +1553,80 @@ services: Partial<Record<"agent" | "os" | "hub" | "oauth" | "llmGateway" | "gite
1482
1553
  export type PlatformServiceName = (typeof PLATFORM_SERVICE_NAMES)[number]
1483
1554
  ```
1484
1555
 
1556
+ ## `PluginCatalogEntry` (interface)
1557
+
1558
+ ```ts
1559
+ display_name: string | null
1560
+ icon: string | null
1561
+ installed: boolean
1562
+ name: string
1563
+ ```
1564
+
1565
+ ## `PluginConnectorItem` (interface)
1566
+
1567
+ ```ts
1568
+ active: boolean
1569
+ config: SessionPluginConfigSummary | undefined
1570
+ display_name: string | null
1571
+ icon: string | null
1572
+ iconSource: "account" | "session"
1573
+ installed: boolean | null
1574
+ name: string
1575
+ projected: boolean
1576
+ reason: string | null | undefined
1577
+ status: string
1578
+ ```
1579
+
1580
+ ## `PluginConnectorList` (function)
1581
+
1582
+ ```ts
1583
+ PluginConnectorList: ({ client, sessionId, items, inFlight, busy, mutationError, onToggle, onRetry, onEditConfig, configuring, onConfigSaved, onConfigClose, disabledReason, unavailableText, emptyText, draft, }: PluginConnectorListProps) => JSX.Element
1584
+ ```
1585
+
1586
+ ## `PluginConnectorListProps` (interface)
1587
+
1588
+ ```ts
1589
+ busy: boolean
1590
+ client: BladeClient
1591
+ configuring: ConfiguringPlugin | null
1592
+ disabledReason: string | null | undefined
1593
+ draft: boolean | undefined
1594
+ emptyText: string
1595
+ inFlight: Record<string, true>
1596
+ items: PluginConnectorItem[]
1597
+ mutationError: boolean
1598
+ onConfigClose: () => void
1599
+ onConfigSaved: (state: SessionPluginConfigState) => void
1600
+ onEditConfig: (item: PluginConnectorItem) => void
1601
+ onRetry: (item: PluginConnectorItem) => void
1602
+ onToggle: (item: PluginConnectorItem, next: boolean) => void
1603
+ sessionId: string | null
1604
+ unavailableText: string | null | undefined
1605
+ ```
1606
+
1607
+ ## `PluginConnectorSelection` (interface)
1608
+
1609
+ ```ts
1610
+ displayName: string | null
1611
+ icon: string | null
1612
+ iconSource: "account" | "session"
1613
+ name: string
1614
+ ```
1615
+
1616
+ ## `pluginConnectorSummary` (function)
1617
+
1618
+ ```ts
1619
+ pluginConnectorSummary: (state: string | undefined) => string | null
1620
+ ```
1621
+
1622
+ ## `PluginsResource` (class)
1623
+
1624
+ ```ts
1625
+ catalog: (init?: RequestInit) => Promise<{ plugins: PluginCatalogEntry[]; }>
1626
+ fetchIcon: (name: string) => Promise<Blob>
1627
+ iconUrl: (name: string) => string
1628
+ ```
1629
+
1485
1630
  ## `PollingBackoff` (class)
1486
1631
 
1487
1632
  ```ts
@@ -1799,6 +1944,12 @@ SDK_NAME: "agent-client"
1799
1944
  SDK_VERSION: string
1800
1945
  ```
1801
1946
 
1947
+ ## `selectionFromItem` (function)
1948
+
1949
+ ```ts
1950
+ selectionFromItem: (item: PluginConnectorItem) => PluginConnectorSelection
1951
+ ```
1952
+
1802
1953
  ## `SendOptions` (interface)
1803
1954
 
1804
1955
  ```ts
@@ -1879,7 +2030,7 @@ agent_runtime_id: string | null | undefined
1879
2030
  ba_version: string | null | undefined
1880
2031
  biz_role_id: string | null | undefined
1881
2032
  bound_skill_id: string | null | undefined
1882
- chat_project_id: string | null | undefined
2033
+ chat_group_id: string | null | undefined
1883
2034
  created_at: string
1884
2035
  daemon_id: string | null | undefined
1885
2036
  disable_tools: (string[] & string[]) | undefined
@@ -1975,7 +2126,7 @@ SessionInfo = type({
1975
2126
  "workspace_path?": "string | null",
1976
2127
  "ba_version?": "string | null",
1977
2128
  "sandbox_version?": "string | null",
1978
- "chat_project_id?": "string | null",
2129
+ "chat_group_id?": "string | null",
1979
2130
  "match?": "unknown",
1980
2131
  })
1981
2132
  ```
@@ -2122,7 +2273,7 @@ SessionPluginIcon: ({ client, sessionId, plugin, className }: SessionPluginIconP
2122
2273
  className: string | undefined
2123
2274
  client: BladeClient
2124
2275
  plugin: Pick<SessionPlugin, "name" | "icon">
2125
- sessionId: string
2276
+ sessionId: string | null
2126
2277
  ```
2127
2278
 
2128
2279
  ## `sessionPluginLabel` (function)
@@ -2261,10 +2412,11 @@ listDir: (sessionId: string, dirPath: string) => Promise<FileEntry[]>
2261
2412
  listResultFeedback: (sessionId: string) => Promise<ResultFeedback[]>
2262
2413
  listSessionPlugins: (sessionId: string, init?: RequestInit) => Promise<{ plugins: SessionPlugin[]; sync_version: number; sync_pending: boolean; }>
2263
2414
  listSessions: (template_id_prefix?: string, solution_id?: string) => Promise<SessionInfo[]>
2264
- listSessionsPaginated: (params: { limit: number; offset: number; template_id_prefix?: string; solution_id?: string; solution_registry_id?: string; q?: string; chat_project_id?: string; }) => Promise<PaginatedSessionsResult>
2415
+ listSessionsPaginated: (params: { limit: number; offset: number; template_id_prefix?: string; solution_id?: string; solution_registry_id?: string; q?: string; chat_group_id?: string; }) => Promise<PaginatedSessionsResult>
2265
2416
  listSessionsWithSkillData: () => Promise<SkillDevSession[]>
2266
2417
  onMcpAppChanged: (sessionId: string, sourceId: string, listener: () => void) => () => void
2267
2418
  pinSession: (sessionId: string, pinned: boolean) => Promise<SessionInfo>
2419
+ prepareSessionPluginConfig: (sessionId: string, name: string, init?: RequestInit) => Promise<{ plugin: string; config: SessionPluginConfigState; }>
2268
2420
  previewImport: (file: File) => Promise<ImportPreview>
2269
2421
  probeSessionUrl: (sessionId: string, url: string) => Promise<{ reachable: boolean; requires_proxy: boolean; }>
2270
2422
  putResultFeedback: (sessionId: string, assistantEntryId: string, feedback: { helpful: boolean; reason?: ResultFeedbackReason | null; }) => Promise<ResultFeedback>
@@ -2283,7 +2435,7 @@ tokenizeMessages: (messages: Array<Record<string, unknown>>, options?: { model?:
2283
2435
  tokenizePrompt: (prompt: string, model?: string) => Promise<TokenizeResult>
2284
2436
  updateMcpAppContext: (sessionId: string, sourceId: string, body: McpAppContextUpdate, init?: RequestInit) => Promise<{ status: "accepted"; revision: string; }>
2285
2437
  updateReplaySession: (sessionId: string, payload: { speed?: ReplaySpeed; status?: "autonomous"; }) => Promise<{ replay_state: SessionInfo["replay_state"]; }>
2286
- updateSession: (sessionId: string, payload: { intent?: string; chat_project_id?: string | null; }) => Promise<SessionDetail>
2438
+ updateSession: (sessionId: string, payload: { intent?: string; chat_group_id?: string | null; }) => Promise<SessionDetail>
2287
2439
  updateSessionMemory: (sessionId: string, memoryEnabled: boolean) => Promise<{ memory_enabled: boolean; }>
2288
2440
  updateSessionPluginConfig: (sessionId: string, name: string, update: SessionPluginConfigUpdate, init?: RequestInit) => Promise<{ plugin: string; config: SessionPluginConfigState; }>
2289
2441
  updateSharing: (sessionId: string, shared: boolean) => Promise<{ shared: boolean; }>
@@ -2566,6 +2718,26 @@ toReplaySnapshot: (raw: ReplayState | null | undefined) => ReplaySnapshot | null
2566
2718
  transformSlashCommand: (skillName: string, rawInput: string, { local, installed }?: SkillMentionAvailability) => string
2567
2719
  ```
2568
2720
 
2721
+ ## `TRIGGER_ICON_LIMIT` (const)
2722
+
2723
+ ```ts
2724
+ TRIGGER_ICON_LIMIT: 3
2725
+ ```
2726
+
2727
+ ## `triggerSummary` (function)
2728
+
2729
+ ```ts
2730
+ triggerSummary: (items: Array<Pick<PluginConnectorSelection, "name" | "icon" | "iconSource">>) => TriggerSummary
2731
+ ```
2732
+
2733
+ ## `TriggerSummary` (interface)
2734
+
2735
+ ```ts
2736
+ icons: Pick<PluginConnectorSelection, "name" | "iconSource" | "icon">[]
2737
+ overflow: number
2738
+ total: number
2739
+ ```
2740
+
2569
2741
  ## `TurnProjection` (interface)
2570
2742
 
2571
2743
  ```ts
@@ -2586,11 +2758,12 @@ context_revision: string | null | undefined
2586
2758
  context_window: number | undefined
2587
2759
  display_summary: string | null | undefined
2588
2760
  display_title: string | null | undefined
2589
- duration_ms: number | undefined
2761
+ duration_ms: number | null | undefined
2590
2762
  failure_reason: string | null | undefined
2591
2763
  fallback_applied: boolean | null | undefined
2592
2764
  first_token_delivery_ms: number | null | undefined
2593
2765
  first_token_ms: number | null | undefined
2766
+ has_reported_timing: boolean | undefined
2594
2767
  id: string
2595
2768
  kind: "message" | "context" | "compaction" | undefined
2596
2769
  loop_id: string
@@ -2744,6 +2917,30 @@ token: string
2744
2917
  username: string
2745
2918
  ```
2746
2919
 
2920
+ ## `useSessionPluginActivation` (function)
2921
+
2922
+ ```ts
2923
+ useSessionPluginActivation: ({ client, sessionId, onChange, }: { client: BladeClient; sessionId: string; onChange?: (plugin: SessionPluginActivation) => void; }) => UseSessionPluginActivationResult
2924
+ ```
2925
+
2926
+ ## `UseSessionPluginActivationResult` (interface)
2927
+
2928
+ ```ts
2929
+ busy: boolean
2930
+ configuring: ConfiguringPlugin | null
2931
+ editConfig: (item: PluginConnectorItem) => void
2932
+ inFlight: Record<string, true>
2933
+ items: PluginConnectorItem[]
2934
+ listError: boolean
2935
+ loading: boolean
2936
+ mutationError: boolean
2937
+ onConfigClose: () => void
2938
+ onConfigSaved: (state: SessionPluginConfigState) => void
2939
+ reload: () => void
2940
+ retry: (item: PluginConnectorItem) => void
2941
+ toggle: (item: PluginConnectorItem, next: boolean) => void
2942
+ ```
2943
+
2747
2944
  ## `WhatIfQuote` (interface)
2748
2945
 
2749
2946
  ```ts