@blade-hq/agent-react 2608.0.5-alpha.1 → 2608.0.5-beta.1

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.
@@ -672,4 +672,4 @@
672
672
 
673
673
  /* ---- Tailwind 编译产物(无 preflight) ---- */
674
674
  /*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
675
- @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-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}}}@layer theme{:root,:host{--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--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-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;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--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}.absolute{position:absolute}.relative{position:relative}.static{position:static}.right-4{right:calc(var(--spacing) * 4)}.bottom-4{bottom:calc(var(--spacing) * 4)}.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-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)}.mb-1{margin-bottom:var(--spacing)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-auto{margin-left:auto}.flex{display:flex}.grid{display:grid}.inline-flex{display:inline-flex}.h-4{height:calc(var(--spacing) * 4)}.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-48{max-height:calc(var(--spacing) * 48)}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-\[400px\]{max-height:400px}.min-h-0{min-height:0}.min-h-\[28px\]{min-height:28px}.w-4{width:calc(var(--spacing) * 4)}.w-8{width:calc(var(--spacing) * 8)}.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-\[85\%\]{max-width:85%}.max-w-\[748px\]{max-width:748px}.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}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.resize{resize:both}.resize-none{resize:none}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.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-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-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\(--border\)\)\]{border-color:hsl(var(--border))}.border-\[hsl\(var\(--primary\)\/0\.8\)\]{border-color:hsl(var(--primary)/.8)}.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-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\(--card\)\)\]{background-color:hsl(var(--card))}.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\.35\)\]{background-color:hsl(var(--muted)/.35)}.bg-\[hsl\(var\(--primary\)\)\]{background-color:hsl(var(--primary))}.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-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-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\.5{padding:calc(var(--spacing) * .5)}.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\.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-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-3{padding-top:calc(var(--spacing) * 3)}.pr-1{padding-right:var(--spacing)}.pr-1\.5{padding-right:calc(var(--spacing) * 1.5)}.pl-3{padding-left:calc(var(--spacing) * 3)}.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}.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}.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)}.break-words{overflow-wrap:break-word}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[hsl\(var\(--destructive\)\)\]{color:hsl(var(--destructive))}.text-\[hsl\(var\(--foreground\)\)\]{color:hsl(var(--foreground))}.text-\[hsl\(var\(--muted-foreground\)\)\/0\.85\]{color:hsl(var(--muted-foreground))/.85}.text-\[hsl\(var\(--muted-foreground\)\)\],.text-\[hsl\(var\(--muted-foreground\)\)\]\/70{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab, red, red)){.text-\[hsl\(var\(--muted-foreground\)\)\]\/70{color:color-mix(in oklab, hsl(var(--muted-foreground)) 70%, transparent)}}.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-blue-300{color:var(--color-blue-300)}.text-rose-100{color:var(--color-rose-100)}.uppercase{text-transform:uppercase}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.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-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))}.outline-none{--tw-outline-style:none;outline-style:none}.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)}@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-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-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-60:disabled{opacity:.6}}@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-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}@keyframes spin{to{transform:rotate(360deg)}}
675
+ @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-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}}}@layer theme{:root,:host{--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--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-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;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--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}.absolute{position:absolute}.relative{position:relative}.static{position:static}.right-4{right:calc(var(--spacing) * 4)}.bottom-4{bottom:calc(var(--spacing) * 4)}.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-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-3{margin-top:calc(var(--spacing) * 3)}.mb-1{margin-bottom:var(--spacing)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.ml-4{margin-left:calc(var(--spacing) * 4)}.flex{display:flex}.grid{display:grid}.inline-flex{display:inline-flex}.h-4{height:calc(var(--spacing) * 4)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-\[34px\]{height:34px}.h-full{height:100%}.h-px{height:1px}.max-h-48{max-height:calc(var(--spacing) * 48)}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-\[400px\]{max-height:400px}.min-h-0{min-height:0}.min-h-\[28px\]{min-height:28px}.w-4{width:calc(var(--spacing) * 4)}.w-8{width:calc(var(--spacing) * 8)}.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-\[85\%\]{max-width:85%}.max-w-\[748px\]{max-width:748px}.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}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.resize{resize:both}.resize-none{resize:none}.flex-col{flex-direction:column}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-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-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-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\(--border\)\)\]{border-color:hsl(var(--border))}.border-\[hsl\(var\(--primary\)\/0\.8\)\]{border-color:hsl(var(--primary)/.8)}.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-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\(--card\)\)\]{background-color:hsl(var(--card))}.bg-\[hsl\(var\(--muted\)\)\/0\.5\]{background-color:hsl(var(--muted))/.5}.bg-\[hsl\(var\(--muted\)\)\]{background-color:hsl(var(--muted))}.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\.35\)\]{background-color:hsl(var(--muted)/.35)}.bg-\[hsl\(var\(--primary\)\)\]{background-color:hsl(var(--primary))}.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-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-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-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\.5{padding-inline:calc(var(--spacing) * 1.5)}.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-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-3{padding-top:calc(var(--spacing) * 3)}.pr-1{padding-right:var(--spacing)}.pr-1\.5{padding-right:calc(var(--spacing) * 1.5)}.pl-3{padding-left:calc(var(--spacing) * 3)}.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}.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}.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)}.break-words{overflow-wrap:break-word}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[hsl\(var\(--destructive\)\)\]{color:hsl(var(--destructive))}.text-\[hsl\(var\(--foreground\)\)\]{color:hsl(var(--foreground))}.text-\[hsl\(var\(--muted-foreground\)\)\/0\.85\]{color:hsl(var(--muted-foreground))/.85}.text-\[hsl\(var\(--muted-foreground\)\)\],.text-\[hsl\(var\(--muted-foreground\)\)\]\/70{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab, red, red)){.text-\[hsl\(var\(--muted-foreground\)\)\]\/70{color:color-mix(in oklab, hsl(var(--muted-foreground)) 70%, transparent)}}.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-blue-300{color:var(--color-blue-300)}.text-rose-100{color:var(--color-rose-100)}.uppercase{text-transform:uppercase}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.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-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))}.outline-none{--tw-outline-style:none;outline-style:none}.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)}@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-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-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-60:disabled{opacity:.6}}@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-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}@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": "2608.0.5-alpha.1",
3
+ "version": "2608.0.5-beta.1",
4
4
  "description": "Blade Agent React 绑定:BladeProvider、useAgentSession、开箱即用的 ChatView 聊天界面。",
5
5
  "repository": {
6
6
  "type": "git",
@@ -20,7 +20,9 @@
20
20
  "files": [
21
21
  "dist",
22
22
  "README.md",
23
- "public-api.md"
23
+ "public-api.md",
24
+ "LICENSE",
25
+ "THIRD_PARTY_NOTICES.md"
24
26
  ],
25
27
  "sideEffects": [
26
28
  "**/*.css"
@@ -29,7 +31,7 @@
29
31
  "access": "public"
30
32
  },
31
33
  "dependencies": {
32
- "@blade-hq/agent-client": "2608.0.5-alpha.1"
34
+ "@blade-hq/agent-client": "2608.0.5-beta.1"
33
35
  },
34
36
  "bundledDependencies": [],
35
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
- 共 159 个公开声明。
6
+ 共 131 个公开声明。
7
7
 
8
8
  ## `ActiveCompactionState` (interface)
9
9
 
@@ -24,27 +24,6 @@ trigger: "auto" | "manual" | "forced_retry" | null | undefined
24
24
  turn_id: string
25
25
  ```
26
26
 
27
- ## `AgentChat` (function)
28
-
29
- ```ts
30
- AgentChat: (props: AgentChatProps) => JSX.Element
31
- ```
32
-
33
- ## `AgentChatProps` (interface)
34
-
35
- ```ts
36
- classNames: ChatViewClassNames | undefined
37
- commands: Record<string, (data: unknown) => void> | undefined
38
- createOptions: CreateSessionRequest | undefined
39
- onSessionCreated: ((sessionId: string) => void) | undefined
40
- onSessionReady: ((session: AgentSession) => void) | undefined
41
- placeholder: string | undefined
42
- renderers: ChatViewRenderers | undefined
43
- sessionId: string | undefined
44
- slots: ChatViewSlots | undefined
45
- theme: "light" | "dark" | undefined
46
- ```
47
-
48
27
  ## `AgentLoopInfo` (interface)
49
28
 
50
29
  ```ts
@@ -63,7 +42,6 @@ compact: () => Promise<Record<string, unknown>>
63
42
  countFiles: (dirPath?: string) => Promise<number>
64
43
  dispose: () => void
65
44
  downloadFile: (filePath: string, downloadName?: string) => Promise<void>
66
- exitReplay: () => Promise<void>
67
45
  getState: () => SessionState
68
46
  insertText: (text: string) => void
69
47
  isDisposed: boolean
@@ -73,7 +51,6 @@ on: <K extends keyof AgentSessionEvents>(name: K, handler: (event: AgentSessionE
73
51
  onCommand: (action: string, handler: CommandHandler) => () => void
74
52
  send: (content: MessageContent, options?: SendOptions) => Promise<boolean>
75
53
  sessionId: string
76
- setReplaySpeed: (speed: ReplaySpeed) => Promise<void>
77
54
  stop: () => Promise<Record<string, unknown>>
78
55
  subscribe: (listener: () => void) => () => void
79
56
  ```
@@ -170,7 +147,6 @@ getContext: () => Record<string, unknown> | Promise<Record<string, unknown>>
170
147
  ## `AuthResource` (class)
171
148
 
172
149
  ```ts
173
- exchangeCode: (params: ExchangeCodeParams) => Promise<ExchangeCodeResult>
174
150
  getMe: () => Promise<UserInfo>
175
151
  getProviders: () => Promise<ProvidersResponse>
176
152
  login: (options?: LoginOptions) => Promise<LoginResult>
@@ -284,13 +260,6 @@ client: BladeClient
284
260
  buildMessageContent: (text: string, attachments: Array<{ kind: "file"; name: string; uploadedPath?: string; textContent?: string | null; mimeType?: string; }>) => MessageContent
285
261
  ```
286
262
 
287
- ## `ChatCompletionTool` (interface)
288
-
289
- ```ts
290
- function: { name: string; description?: string; parameters?: Record<string, unknown>; }
291
- type: "function"
292
- ```
293
-
294
263
  ## `ChatMessage` (interface)
295
264
 
296
265
  ```ts
@@ -331,9 +300,6 @@ root: string | undefined
331
300
  classNames: ChatViewClassNames | undefined
332
301
  commands: Record<string, (data: unknown) => void> | undefined
333
302
  createOptions: CreateSessionRequest | undefined
334
- llm: (LlmChatOptions & { advanced?: boolean | LlmAdvancedSettings; onOverrideChange?: (override: LlmOverride) => void; }) | undefined
335
- mode: "agent" | "llm" | undefined
336
- onLlmReady: ((handle: LlmChatHandle) => void) | undefined
337
303
  onSessionCreated: ((sessionId: string) => void) | undefined
338
304
  onSessionReady: ((session: AgentSession) => void) | undefined
339
305
  placeholder: string | undefined
@@ -467,12 +433,6 @@ path: string | undefined
467
433
  token: string | (() => string | null | undefined) | undefined
468
434
  ```
469
435
 
470
- ## `DEFAULT_REPLAY_SPEED` (const)
471
-
472
- ```ts
473
- DEFAULT_REPLAY_SPEED: ReplaySpeed
474
- ```
475
-
476
436
  ## `EmbeddedChat` (interface)
477
437
 
478
438
  ```ts
@@ -490,22 +450,6 @@ allowedOrigins: string[]
490
450
  iframe: HTMLIFrameElement | undefined
491
451
  ```
492
452
 
493
- ## `ExchangeCodeParams` (interface)
494
-
495
- ```ts
496
- clientOrigin: string
497
- code: string
498
- state: string
499
- ```
500
-
501
- ## `ExchangeCodeResult` (interface)
502
-
503
- ```ts
504
- access_token: string
505
- token_type: string
506
- user: { id: string; username: string; display_name: string; avatar_url: string | null; }
507
- ```
508
-
509
453
  ## `ExistingSolutionRef` (interface)
510
454
 
511
455
  ```ts
@@ -632,88 +576,6 @@ export enum LayoutType {
632
576
  }
633
577
  ```
634
578
 
635
- ## `LlmAdvancedSettings` (interface)
636
-
637
- ```ts
638
- apiKey: boolean | undefined
639
- baseURL: boolean | undefined
640
- model: boolean | undefined
641
- storage: "local" | "memory" | undefined
642
- storageKey: string | undefined
643
- ```
644
-
645
- ## `LlmChat` (function)
646
-
647
- ```ts
648
- LlmChat: ({ classNames, renderers, slots, placeholder, theme, onReady, advanced, onOverrideChange, ...options }: LlmChatProps) => JSX.Element
649
- ```
650
-
651
- ## `LlmChatHandle` (interface)
652
-
653
- ```ts
654
- insertText: (text: string) => void
655
- reset: () => void
656
- send: (text: string) => Promise<boolean>
657
- ```
658
-
659
- ## `LlmChatOptions` (interface)
660
-
661
- ```ts
662
- apiKey: string | undefined
663
- baseURL: string
664
- extraBody: Record<string, unknown> | undefined
665
- fetchImpl: { (input: RequestInfo | URL, init?: RequestInit): Promise<Response>; (input: string | URL | Request, init?: RequestInit): Promise<Response>; } | undefined
666
- headers: Record<string, string> | undefined
667
- historyTurns: number | undefined
668
- maxToolRounds: number | undefined
669
- model: string
670
- onToolCall: ((call: LlmToolCall) => Promise<unknown>) | undefined
671
- system: string | undefined
672
- temperature: number | undefined
673
- tools: ChatCompletionTool[] | undefined
674
- ```
675
-
676
- ## `LlmChatProps` (interface)
677
-
678
- ```ts
679
- advanced: boolean | LlmAdvancedSettings | undefined
680
- apiKey: string | undefined
681
- baseURL: string
682
- classNames: ChatViewClassNames | undefined
683
- extraBody: Record<string, unknown> | undefined
684
- fetchImpl: { (input: RequestInfo | URL, init?: RequestInit): Promise<Response>; (input: string | URL | Request, init?: RequestInit): Promise<Response>; } | undefined
685
- headers: Record<string, string> | undefined
686
- historyTurns: number | undefined
687
- maxToolRounds: number | undefined
688
- model: string
689
- onOverrideChange: ((override: LlmOverride) => void) | undefined
690
- onReady: ((handle: LlmChatHandle) => void) | undefined
691
- onToolCall: ((call: LlmToolCall) => Promise<unknown>) | undefined
692
- placeholder: string | undefined
693
- renderers: ChatViewRenderers | undefined
694
- slots: ChatViewSlots | undefined
695
- system: string | undefined
696
- temperature: number | undefined
697
- theme: "light" | "dark" | undefined
698
- tools: ChatCompletionTool[] | undefined
699
- ```
700
-
701
- ## `LlmOverride` (interface)
702
-
703
- ```ts
704
- apiKey: string | undefined
705
- baseURL: string | undefined
706
- model: string | undefined
707
- ```
708
-
709
- ## `LlmToolCall` (interface)
710
-
711
- ```ts
712
- arguments: string
713
- id: string
714
- name: string
715
- ```
716
-
717
579
  ## `LoginOptions` (interface)
718
580
 
719
581
  ```ts
@@ -781,9 +643,7 @@ export type ModeId = "planning" | "executing"
781
643
  ## `ModelCatalog` (interface)
782
644
 
783
645
  ```ts
784
- baseUrl: string | undefined
785
646
  default: string
786
- defaultServiceModel: string | undefined
787
647
  models: ModelOption[]
788
648
  ```
789
649
 
@@ -792,7 +652,6 @@ models: ModelOption[]
792
652
  ```ts
793
653
  id: string
794
654
  label: string
795
- serviceModelId: string | undefined
796
655
  ```
797
656
 
798
657
  ## `ModelsResource` (class)
@@ -902,78 +761,6 @@ payload: Record<string, unknown>
902
761
  type: string
903
762
  ```
904
763
 
905
- ## `ReplayBar` (function)
906
-
907
- ```ts
908
- ReplayBar: ({ isReplay, speed, onSpeedChange, onExit, canControl, className, }: ReplayBarProps) => JSX.Element | null
909
- ```
910
-
911
- ## `ReplayBarProps` (interface)
912
-
913
- ```ts
914
- canControl: boolean | undefined
915
- className: string | undefined
916
- isReplay: boolean
917
- onExit: () => void
918
- onSpeedChange: (speed: ReplaySpeed) => void
919
- speed: ReplaySpeed
920
- ```
921
-
922
- ## `ReplayMismatch` (interface)
923
-
924
- ```ts
925
- actualMessage: string
926
- expectedMessage: string
927
- resolve: (decision: "keep_replay" | "continue_replay") => void
928
- ```
929
-
930
- ## `ReplayMismatchPrompt` (function)
931
-
932
- ```ts
933
- ReplayMismatchPrompt: ({ mismatch, className }: ReplayMismatchPromptProps) => JSX.Element | null
934
- ```
935
-
936
- ## `ReplayMismatchPromptProps` (interface)
937
-
938
- ```ts
939
- className: string | undefined
940
- mismatch: ReplayMismatch | null
941
- ```
942
-
943
- ## `ReplayPreview` (interface)
944
-
945
- ```ts
946
- intent: string | null | undefined
947
- reason: string | null | undefined
948
- session_id: string
949
- supported: boolean
950
- ```
951
-
952
- ## `ReplaySnapshot` (interface)
953
-
954
- ```ts
955
- isReplay: boolean
956
- sourceSessionId: string | null
957
- speed: ReplaySpeed
958
- ```
959
-
960
- ## `ReplaySpeed` (type)
961
-
962
- ```ts
963
- export type ReplaySpeed = 1 | 2 | 5
964
- ```
965
-
966
- ## `ReplayState` (interface)
967
-
968
- ```ts
969
- autonomous_reason: string | null | undefined
970
- ended_at: string | null | undefined
971
- next_source_entry_id: string | null | undefined
972
- source_session_id: string | undefined
973
- speed: ReplaySpeed | undefined
974
- status: "replay" | "autonomous" | undefined
975
- ```
976
-
977
764
  ## `RunOptions` (interface)
978
765
 
979
766
  ```ts
@@ -1210,7 +997,6 @@ downloadFile: (sessionId: string, filePath: string, downloadName?: string) => Pr
1210
997
  exportSession: (sessionId: string) => Promise<void>
1211
998
  getBackgroundTask: (sessionId: string, taskId: string, tail?: number, init?: RequestInit) => Promise<BackgroundTask>
1212
999
  getDownloadDirUrl: (sessionId: string, dirPath: string) => string
1213
- getReplayPreview: (sessionId: string) => Promise<ReplayPreview>
1214
1000
  getSession: (sessionId: string, init?: RequestInit) => Promise<SessionDetail>
1215
1001
  getSessionCheckpoints: (sessionId: string, init?: RequestInit) => Promise<{ nodes: CheckpointNode[]; leaf_id: string | null; }>
1216
1002
  getSessionContextStats: (sessionId: string, init?: RequestInit) => Promise<SessionContextStats>
@@ -1232,12 +1018,12 @@ revokeShare: (sessionId: string, token: string) => Promise<{ revoked: boolean; }
1232
1018
  rewindSession: (sessionId: string, checkpointId: string) => Promise<{ id: string; content: string; }>
1233
1019
  setSessionEnv: (sessionId: string, env: Record<string, string>) => Promise<SessionDetail>
1234
1020
  shareFile: (sessionId: string, sourcePath: string, linkName?: string, shareFolder?: string) => Promise<{ path: string; target: string; }>
1235
- startReplaySession: (sourceSessionId: string, speed?: ReplaySpeed) => Promise<{ session_id: string; }>
1021
+ startReplaySession: (sourceSessionId: string, speed?: 1 | 2 | 5) => Promise<{ session_id: string; }>
1236
1022
  stopBackgroundTask: (sessionId: string, taskId: string) => Promise<BackgroundTaskStopResult>
1237
1023
  switchBranch: (sessionId: string, checkpointId: string) => Promise<{ id: string; leaf_id: string; }>
1238
1024
  tokenizeMessages: (messages: Array<Record<string, unknown>>, options?: { model?: string; add_generation_prompt?: boolean; enable_thinking?: boolean | null; tools?: Array<Record<string, unknown>>; }) => Promise<TokenizeResult>
1239
1025
  tokenizePrompt: (prompt: string, model?: string) => Promise<TokenizeResult>
1240
- updateReplaySession: (sessionId: string, payload: { speed?: ReplaySpeed; status?: "autonomous"; }) => Promise<{ replay_state: SessionInfo["replay_state"]; }>
1026
+ updateReplaySession: (sessionId: string, payload: { speed?: 1 | 2 | 5; status?: "autonomous"; }) => Promise<{ replay_state: SessionInfo["replay_state"]; }>
1241
1027
  updateSession: (sessionId: string, payload: { intent?: string; }) => Promise<SessionDetail>
1242
1028
  updateSessionMemory: (sessionId: string, memoryEnabled: boolean) => Promise<{ memory_enabled: boolean; }>
1243
1029
  updateSharing: (sessionId: string, shared: boolean) => Promise<{ shared: boolean; }>
@@ -1256,11 +1042,9 @@ errorMessage: string | null
1256
1042
  isStreaming: boolean
1257
1043
  messages: ChatMessage[]
1258
1044
  mode: "planning" | "executing" | null
1259
- replay: ReplaySnapshot | null
1260
1045
  sessionId: string
1261
1046
  status: "completed" | "failed" | "interrupted" | "running" | "created" | "waiting_for_input" | null
1262
1047
  turns: TurnProjection[]
1263
- viewerRole: "owner" | "viewer" | null
1264
1048
  ```
1265
1049
 
1266
1050
  ## `SessionStatus` (type)
@@ -1286,13 +1070,6 @@ files: TextFile[]
1286
1070
  name: string
1287
1071
  ```
1288
1072
 
1289
- ## `SkillMentionAvailability` (interface)
1290
-
1291
- ```ts
1292
- installed: boolean | undefined
1293
- local: boolean | undefined
1294
- ```
1295
-
1296
1073
  ## `Solution` (interface)
1297
1074
 
1298
1075
  ```ts
@@ -1442,16 +1219,10 @@ status: "done" | "error" | "cancelled" | "awaiting_answer" | "pending" | undefin
1442
1219
  export type ToolCallRenderer = (info: ToolCallInfo) => ReactNode | null
1443
1220
  ```
1444
1221
 
1445
- ## `toReplaySnapshot` (function)
1446
-
1447
- ```ts
1448
- toReplaySnapshot: (raw: ReplayState | null | undefined) => ReplaySnapshot | null
1449
- ```
1450
-
1451
1222
  ## `transformSlashCommand` (function)
1452
1223
 
1453
1224
  ```ts
1454
- transformSlashCommand: (skillName: string, rawInput: string, { local, installed }?: SkillMentionAvailability) => string
1225
+ transformSlashCommand: (skillName: string, rawInput: string) => string
1455
1226
  ```
1456
1227
 
1457
1228
  ## `TurnProjection` (interface)
@@ -1540,45 +1311,6 @@ state: SessionState | null
1540
1311
  useBladeClient: () => BladeClient
1541
1312
  ```
1542
1313
 
1543
- ## `useLlmChat` (function)
1544
-
1545
- ```ts
1546
- useLlmChat: (options: LlmChatOptions) => UseLlmChatResult
1547
- ```
1548
-
1549
- ## `UseLlmChatResult` (interface)
1550
-
1551
- ```ts
1552
- error: string | null
1553
- isStreaming: boolean
1554
- messages: ChatMessage[]
1555
- reset: () => void
1556
- send: (text: string) => Promise<boolean>
1557
- stop: () => void
1558
- ```
1559
-
1560
- ## `useReplay` (function)
1561
-
1562
- ```ts
1563
- useReplay: (session: AgentSession | null) => UseReplayResult
1564
- ```
1565
-
1566
- ## `UseReplayResult` (interface)
1567
-
1568
- ```ts
1569
- canControl: boolean
1570
- canReplay: boolean
1571
- error: Error | null
1572
- exitToAutonomous: () => Promise<void>
1573
- isReplay: boolean
1574
- isStarting: boolean
1575
- mismatch: ReplayMismatch | null
1576
- setSpeed: (speed: ReplaySpeed) => Promise<void>
1577
- speed: ReplaySpeed
1578
- startReplay: (speed?: ReplaySpeed) => Promise<string>
1579
- unsupportedReason: string | null
1580
- ```
1581
-
1582
1314
  ## `UserInfo` (interface)
1583
1315
 
1584
1316
  ```ts
@@ -1,18 +0,0 @@
1
- import type { AgentSession, CreateSessionRequest } from "@blade-hq/agent-client";
2
- import { type ChatPresentationProps } from "./ChatSurface";
3
- export interface AgentChatProps extends ChatPresentationProps {
4
- /** 连接既有会话;不传则按 createOptions 自动新建。 */
5
- sessionId?: string;
6
- createOptions?: CreateSessionRequest;
7
- /** 自动创建出的 sessionId 通过此回调交还调用方持有。 */
8
- onSessionCreated?: (sessionId: string) => void;
9
- /** 会话连接完成后回调(页面协作场景拿 AgentSession 实例用)。 */
10
- onSessionReady?: (session: AgentSession) => void;
11
- /** 智能体下发给宿主页面的指令处理器(action → handler)。 */
12
- commands?: Record<string, (data: unknown) => void>;
13
- }
14
- /**
15
- * 智能体模式的聊天界面:连接(或新建)一个 Blade 会话,渲染消息流与输入框。
16
- * 状态全部来自 useAgentSession,不依赖任何全局 store。
17
- */
18
- export declare function AgentChat(props: AgentChatProps): import("react/jsx-runtime").JSX.Element;
@@ -1,59 +0,0 @@
1
- import type { AskUserAnswerData, ChatMessage, ConnectionStatus } from "@blade-hq/agent-client";
2
- import type { ReactNode } from "react";
3
- import type { ToolCallRenderer } from "./ToolCallBlock";
4
- export interface ChatViewClassNames {
5
- root?: string;
6
- banner?: string;
7
- messageList?: string;
8
- chatInput?: string;
9
- }
10
- export interface ChatViewRenderers {
11
- /** 自定义工具调用渲染;返回 null 走默认渲染。 */
12
- toolCall?: ToolCallRenderer;
13
- }
14
- export interface ChatViewSlots {
15
- /** 消息列表上方的自定义区域。 */
16
- header?: ReactNode;
17
- /** 无消息时的空状态。 */
18
- emptyState?: ReactNode;
19
- /** 输入框下方的自定义区域。 */
20
- footer?: ReactNode;
21
- }
22
- /** 两种模式共用的外观属性。 */
23
- export interface ChatPresentationProps {
24
- classNames?: ChatViewClassNames;
25
- renderers?: ChatViewRenderers;
26
- slots?: ChatViewSlots;
27
- placeholder?: string;
28
- /** 配色主题,默认浅色。宿主已经在祖先元素上写了 data-theme 时不用传。 */
29
- theme?: "light" | "dark";
30
- }
31
- /** 主题落到聊天根节点上:深色变量挂在 [data-theme="dark"] 上,由它继承给整棵子树。 */
32
- export declare function themeAttr(theme: ChatPresentationProps["theme"]): "dark" | undefined;
33
- interface ChatSurfaceProps extends ChatPresentationProps {
34
- connection: ConnectionStatus;
35
- errorMessage: string | null;
36
- messages: ChatMessage[];
37
- isStreaming: boolean;
38
- isStopping: boolean;
39
- inputText: string;
40
- onInputChange: (value: string) => void;
41
- onSend: (text: string) => Promise<boolean>;
42
- onStop: () => void;
43
- sessionStatus?: string;
44
- askAnswers?: Record<string, AskUserAnswerData>;
45
- onAnswer?: (answer: string, toolCallId: string, answerData: AskUserAnswerData) => void;
46
- sessionId?: string;
47
- /** 输入框上方的内部区域(纯 LLM 模式的高级设置用)。不传时不渲染任何节点。 */
48
- beforeInput?: ReactNode;
49
- /** 连接状态条下方的横幅(回放模式条用)。不传时不渲染任何节点。 */
50
- banner?: ReactNode;
51
- }
52
- /**
53
- * 消息流 + 输入框:智能体模式与纯 LLM 模式共用同一套外观,差别只在谁喂数据。
54
- *
55
- * 这里的 DOM 结构受 tests/chat-view-compat.test.tsx 的快照保护——接入方拿
56
- * .blade-chat-* 类名写了自己的样式,结构一动他们的页面就歪。
57
- */
58
- export declare function ChatSurface({ theme, classNames, renderers, slots, placeholder, connection, errorMessage, messages, isStreaming, isStopping, inputText, onInputChange, onSend, onStop, sessionStatus, askAnswers, onAnswer, sessionId, beforeInput, banner, }: ChatSurfaceProps): import("react/jsx-runtime").JSX.Element;
59
- export {};
@@ -1,40 +0,0 @@
1
- /** 纯 LLM 模式的高级设置:让用户自己改模型服务地址。 */
2
- export interface LlmAdvancedSettings {
3
- /** 允许改模型服务地址,默认允许。 */
4
- baseURL?: boolean;
5
- /** 允许改模型名,默认允许。 */
6
- model?: boolean;
7
- /**
8
- * 允许在界面上填密钥,默认**不允许**。
9
- * 打开意味着密钥存在浏览器里,只适合受控内网、演示,或密钥本身就属于当前用户的场景。
10
- */
11
- apiKey?: boolean;
12
- /** 覆盖值存哪:`local` 记住用户的选择(默认),`memory` 只在本次会话有效。 */
13
- storage?: "local" | "memory";
14
- /** localStorage 的键,默认按组件拿到的 baseURL 生成。 */
15
- storageKey?: string;
16
- }
17
- export interface LlmOverride {
18
- baseURL?: string;
19
- model?: string;
20
- apiKey?: string;
21
- }
22
- export declare function normalizeAdvanced(value: boolean | LlmAdvancedSettings | undefined): Required<Pick<LlmAdvancedSettings, "baseURL" | "model" | "apiKey" | "storage">> | null;
23
- export declare function readOverride(settings: boolean | LlmAdvancedSettings | undefined, baseURL: string): LlmOverride;
24
- declare function writeOverride(settings: boolean | LlmAdvancedSettings | undefined, baseURL: string, override: LlmOverride): void;
25
- interface Props {
26
- settings: boolean | LlmAdvancedSettings;
27
- /** 组件拿到的默认值,用来做占位提示与"恢复默认" */
28
- defaults: {
29
- baseURL: string;
30
- model: string;
31
- };
32
- override: LlmOverride;
33
- onChange: (next: LlmOverride) => void;
34
- }
35
- /**
36
- * 输入框上方的一行「高级设置」:默认收起,展开后可以改模型服务地址与模型。
37
- * 只有调用方显式打开才渲染——不传 advanced 时这里一个节点都不会出现。
38
- */
39
- export declare function LlmAdvancedSettingsBar({ settings, defaults, override, onChange }: Props): import("react/jsx-runtime").JSX.Element | null;
40
- export { writeOverride };