sidenetai-sdk 2.0.0 → 2.0.2
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.
- package/README.md +8 -0
- package/dist/sidenetai-sdk.css +1 -1
- package/dist/sidenetai-sdk.es.js +2 -2
- package/dist/sidenetai-sdk.umd.js +1 -1
- package/package.json +25 -25
package/README.md
CHANGED
|
@@ -63,6 +63,14 @@ npm install react@^19 react-dom@^19 \
|
|
|
63
63
|
ai
|
|
64
64
|
```
|
|
65
65
|
|
|
66
|
+
**Note:** The SDK supports a wide range of peer dependency versions. If you already have compatible versions installed, you don't need to install the exact versions shown above. The SDK is compatible with:
|
|
67
|
+
- React 18.x or 19.x
|
|
68
|
+
- lucide-react 0.480.0 or higher
|
|
69
|
+
- framer-motion 11.x or higher
|
|
70
|
+
- Most UI libraries at their latest stable versions
|
|
71
|
+
|
|
72
|
+
Use `npm install --legacy-peer-deps` if you encounter version conflicts with compatible versions.
|
|
73
|
+
|
|
66
74
|
**Important:** If you see a "React version mismatch" error, see the [Troubleshooting](#troubleshooting) section below.
|
|
67
75
|
|
|
68
76
|
**For Non-React Apps:** If your app doesn't use React, you still need to install these dependencies (they won't interfere with your app). The SDK uses React internally but doesn't require your app to use React.
|
package/dist/sidenetai-sdk.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--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;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-900:oklch(39.6% .141 25.723);--color-orange-400:oklch(75% .183 55.934);--color-orange-500:oklch(70.5% .213 47.604);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-purple-500:oklch(62.7% .265 303.9);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-zinc-400:oklch(70.5% .015 286.067);--color-zinc-500:oklch(55.2% .016 285.938);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xl:36rem;--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: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--tracking-wider:.05em;--leading-relaxed:1.625;--radius-xs:.125rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-bounce:bounce 1s infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::-moz-placeholder{color:currentColor}::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::-moz-placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.\!pointer-events-auto{pointer-events:auto!important}.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing)*0)}.inset-1{inset:calc(var(--spacing)*1)}.right-0{right:calc(var(--spacing)*0)}.bottom-0{bottom:calc(var(--spacing)*0)}.z-10{z-index:10}.z-50{z-index:50}.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-2{margin:calc(var(--spacing)*2)}.mx-4{margin-inline:calc(var(--spacing)*4)}.mx-auto{margin-inline:auto}.my-2{margin-block:calc(var(--spacing)*2)}.my-3{margin-block:calc(var(--spacing)*3)}.my-4{margin-block:calc(var(--spacing)*4)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mr-auto{margin-right:auto}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.size-2\.5{width:calc(var(--spacing)*2.5);height:calc(var(--spacing)*2.5)}.size-full{width:100%;height:100%}.h-2{height:calc(var(--spacing)*2)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-auto{height:auto}.h-fit{height:-moz-fit-content;height:fit-content}.h-full{height:100%}.max-h-0{max-height:calc(var(--spacing)*0)}.max-h-96{max-height:calc(var(--spacing)*96)}.max-h-\[1000px\]{max-height:1000px}.min-h-\[80px\]{min-height:80px}.w-2{width:calc(var(--spacing)*2)}.w-3{width:calc(var(--spacing)*3)}.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-9{width:calc(var(--spacing)*9)}.w-80{width:calc(var(--spacing)*80)}.w-full{width:100%}.w-px{width:1px}.max-w-3xl{max-width:var(--container-3xl)}.max-w-80{max-width:calc(var(--spacing)*80)}.max-w-\[85\%\]{max-width:85%}.max-w-full{max-width:100%}.min-w-max{min-width:-moz-max-content;min-width:max-content}.min-w-xl{min-width:var(--container-xl)}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.-rotate-45{rotate:-45deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-bounce{animation:var(--animate-bounce)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.grid-cols-\[200px_1fr\]{grid-template-columns:200px 1fr}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-1{gap:calc(var(--spacing)*1)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-5{gap:calc(var(--spacing)*5)}.gap-10{gap:calc(var(--spacing)*10)}:where(.space-y-0\.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)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-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-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-1>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*1)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-x-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.scroll-smooth{scroll-behavior:smooth}.rounded{border-radius:.25rem}.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-xs{border-radius:var(--radius-xs)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-1{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-blue-500{border-color:var(--color-blue-500)}.border-current{border-color:currentColor}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-green-500{border-color:var(--color-green-500)}.border-orange-400{border-color:var(--color-orange-400)}.border-red-300{border-color:var(--color-red-300)}.border-red-500{border-color:var(--color-red-500)}.border-t-transparent{border-top-color:#0000}.bg-black{background-color:var(--color-black)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-400{background-color:var(--color-gray-400)}.bg-purple-500{background-color:var(--color-purple-500)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-100{background-color:var(--color-red-100)}.bg-red-500{background-color:var(--color-red-500)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-8{padding:calc(var(--spacing)*8)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-8{padding-inline:calc(var(--spacing)*8)}.px-10{padding-inline:calc(var(--spacing)*10)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3\.5{padding-block:calc(var(--spacing)*3.5)}.py-4{padding-block:calc(var(--spacing)*4)}.py-8{padding-block:calc(var(--spacing)*8)}.pt-0{padding-top:calc(var(--spacing)*0)}.pt-2{padding-top:calc(var(--spacing)*2)}.pb-0{padding-bottom:calc(var(--spacing)*0)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.text-center{text-align:center}.text-left{text-align:left}.text-start{text-align:start}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.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-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.whitespace-pre-wrap{white-space:pre-wrap}.text-black{color:var(--color-black)}.text-blue-100{color:var(--color-blue-100)}.text-blue-500{color:var(--color-blue-500)}.text-gray-500{color:var(--color-gray-500)}.text-gray-700{color:var(--color-gray-700)}.text-gray-900{color:var(--color-gray-900)}.text-green-600{color:var(--color-green-600)}.text-orange-500{color:var(--color-orange-500)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-white{color:var(--color-white)}.text-zinc-500{color:var(--color-zinc-500)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.opacity-0{opacity:0}.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)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.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-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.placeholder\:text-gray-500::-moz-placeholder{color:var(--color-gray-500)}.placeholder\:text-gray-500::placeholder{color:var(--color-gray-500)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:inset-y-0:after{content:var(--tw-content);inset-block:calc(var(--spacing)*0)}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-1:after{content:var(--tw-content);width:calc(var(--spacing)*1)}.after\:-translate-x-1\/2:after{content:var(--tw-content);--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}@media(hover:hover){.hover\:bg-blue-600:hover{background-color:var(--color-blue-600)}.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\:border-black:focus{border-color:var(--color-black)}.focus\:ring-2:focus{--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\:ring-blue-500:focus{--tw-ring-color:var(--color-blue-500)}.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-2:focus-visible{--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-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\:outline-hidden:focus-visible{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.focus-visible\:outline-hidden:focus-visible{outline-offset:2px;outline:2px solid #0000}}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.data-\[panel-group-direction\=vertical\]\:h-px[data-panel-group-direction=vertical]{height:1px}.data-\[panel-group-direction\=vertical\]\:w-full[data-panel-group-direction=vertical]{width:100%}.data-\[panel-group-direction\=vertical\]\:flex-col[data-panel-group-direction=vertical]{flex-direction:column}.data-\[panel-group-direction\=vertical\]\:after\:left-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);left:calc(var(--spacing)*0)}.data-\[panel-group-direction\=vertical\]\:after\:h-1[data-panel-group-direction=vertical]:after{content:var(--tw-content);height:calc(var(--spacing)*1)}.data-\[panel-group-direction\=vertical\]\:after\:w-full[data-panel-group-direction=vertical]:after{content:var(--tw-content);width:100%}.data-\[panel-group-direction\=vertical\]\:after\:translate-x-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[panel-group-direction\=vertical\]\:after\:-translate-y-1\/2[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}@media(min-width:40rem){.sm\:flex-col{flex-direction:column}}@media(min-width:48rem){.md\:mt-20{margin-top:calc(var(--spacing)*20)}}@media(prefers-color-scheme:dark){.dark\:border-gray-600{border-color:var(--color-gray-600)}.dark\:border-gray-700{border-color:var(--color-gray-700)}.dark\:border-green-400{border-color:var(--color-green-400)}.dark\:border-orange-500{border-color:var(--color-orange-500)}.dark\:border-red-400{border-color:var(--color-red-400)}.dark\:border-red-700{border-color:var(--color-red-700)}.dark\:bg-gray-600{background-color:var(--color-gray-600)}.dark\:bg-gray-700{background-color:var(--color-gray-700)}.dark\:bg-gray-800{background-color:var(--color-gray-800)}.dark\:bg-gray-900{background-color:var(--color-gray-900)}.dark\:bg-red-900\/20{background-color:#82181a33}@supports (color:color-mix(in lab,red,red)){.dark\:bg-red-900\/20{background-color:color-mix(in oklab,var(--color-red-900)20%,transparent)}}.dark\:bg-red-900\/30{background-color:#82181a4d}@supports (color:color-mix(in lab,red,red)){.dark\:bg-red-900\/30{background-color:color-mix(in oklab,var(--color-red-900)30%,transparent)}}.dark\:text-gray-100{color:var(--color-gray-100)}.dark\:text-gray-200{color:var(--color-gray-200)}.dark\:text-gray-300{color:var(--color-gray-300)}.dark\:text-gray-400{color:var(--color-gray-400)}.dark\:text-green-400{color:var(--color-green-400)}.dark\:text-orange-400{color:var(--color-orange-400)}.dark\:text-red-300{color:var(--color-red-300)}.dark\:text-red-400{color:var(--color-red-400)}.dark\:text-white{color:var(--color-white)}.dark\:text-zinc-400{color:var(--color-zinc-400)}.dark\:placeholder\:text-gray-400::-moz-placeholder{color:var(--color-gray-400)}.dark\:placeholder\:text-gray-400::placeholder{color:var(--color-gray-400)}@media(hover:hover){.dark\:hover\:bg-black:hover{background-color:var(--color-black)}.dark\:hover\:bg-gray-700:hover{background-color:var(--color-gray-700)}.dark\:hover\:bg-gray-800:hover{background-color:var(--color-gray-800)}}.dark\:focus\:border-white:focus{border-color:var(--color-white)}.dark\:focus\:ring-blue-400:focus{--tw-ring-color:var(--color-blue-400)}}.\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction=vertical]>div{rotate:90deg}}#sidebarai-container{box-sizing:border-box;flex-direction:column;height:100vh;display:flex;position:fixed;top:0;overflow:hidden}#sidebarai-container *{box-sizing:border-box}#sidebarai-container .scrollbar-hide{scrollbar-width:none;-ms-overflow-style:none}#sidebarai-container .scrollbar-hide::-webkit-scrollbar{display:none}#sidebarai-container button{cursor:pointer;transition:border-color .25s,background-color .25s}#sidebarai-container button:hover{cursor:pointer}#sidebarai-container h1,#sidebarai-container h2,#sidebarai-container h3,#sidebarai-container h4,#sidebarai-container h5,#sidebarai-container h6{margin:0;font-weight:600}#sidebarai-container a{color:var(--sidebar-text-color,inherit);text-decoration:none}#sidebarai-container input .vcf,#sidebarai-container select .vcf{font-family:inherit;font-size:inherit;border:1px solid var(--sidebar-border-color,#ccc);border-radius:var(--sidebar-border-radius,4px);color:var(--sidebar-text-color,inherit);background-color:#0000;padding:.5em}#sidebarai-container .sidebar-user-message{background-color:var(--sidebar-user-message-bg,#000);color:var(--sidebar-user-message-text,#fff)}#sidebarai-container .sidebar-header{background-color:var(--sidebar-header-bg,#000);color:var(--sidebar-header-text,#fff)}#sidebarai-container .suggestions{background-color:var(--sidebar-suggestions-bg,#f1eaea);color:var(--sidebar-suggestions-text,#fff);border-radius:var(--sidebar-suggestions-radius,8px);padding:var(--sidebar-suggestions-padding,.5em);border:var(--sidebar-suggestions-border,1px solid #ccc)}#sidebarai-container a{color:#2563eb;font-weight:500;-webkit-text-decoration:underline #93c5fd;text-decoration:underline #93c5fd;transition:all .2s}#sidebarai-container a:hover{color:#1d4ed8;text-decoration-color:#2563eb}#sidebarai-container a:visited{color:#7c3aed}#sidebarai-container a:visited:hover{color:#5b21b6}#sidebarai-container h1{margin-top:1.5rem;margin-bottom:.5rem;font-size:1.875rem;font-weight:600}#sidebarai-container h2{margin-top:1.5rem;margin-bottom:.5rem;font-size:1.5rem;font-weight:600}#sidebarai-container h3{margin-top:1.5rem;margin-bottom:.5rem;font-size:1.25rem;font-weight:600}#sidebarai-container strong{font-weight:600}#sidebarai-container em{color:var(--sidebar-text-color,#374151);font-style:italic}#sidebarai-container code{color:#374151;background-color:#f3f4f6;border:1px solid #e5e7eb;border-radius:.25rem;padding:.125rem .5rem;font-family:ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace;font-size:.875rem}#sidebarai-container pre{background-color:#f3f4f6;border:1px solid #e5e7eb;border-radius:.5rem;margin:1rem 0;padding:1rem;overflow-x:auto}#sidebarai-container pre code{color:#374151;background-color:#0000;border:none;padding:0;font-size:.875rem}#sidebarai-container img{border:1px solid #e5e7eb;border-radius:.5rem;max-width:100%;height:auto;margin:1rem 0;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}#sidebarai-container .resize-handle{cursor:col-resize;z-index:10;background-color:#0000;width:6px;transition:background-color .2s;position:absolute;top:0;bottom:0}#sidebarai-container .resize-handle:hover{background-color:#6366f180}#sidebarai-container .resize-handle:active{background-color:#6366f1b3}#sidebarai-container.resizing{-webkit-user-select:none;-moz-user-select:none;user-select:none}#sidebarai-container.resizing .resize-handle{background-color:#6366f1b3}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@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}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}
|
|
1
|
+
/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--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;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-900:oklch(39.6% .141 25.723);--color-orange-400:oklch(75% .183 55.934);--color-orange-500:oklch(70.5% .213 47.604);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-purple-500:oklch(62.7% .265 303.9);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-zinc-400:oklch(70.5% .015 286.067);--color-zinc-500:oklch(55.2% .016 285.938);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xl:36rem;--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: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--tracking-wider:.05em;--leading-relaxed:1.625;--radius-xs:.125rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-bounce:bounce 1s infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::-moz-placeholder{color:currentColor}::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::-moz-placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.\!pointer-events-auto{pointer-events:auto!important}.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing)*0)}.inset-1{inset:calc(var(--spacing)*1)}.right-0{right:calc(var(--spacing)*0)}.bottom-0{bottom:calc(var(--spacing)*0)}.z-10{z-index:10}.z-50{z-index:50}.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-2{margin:calc(var(--spacing)*2)}.mx-4{margin-inline:calc(var(--spacing)*4)}.mx-auto{margin-inline:auto}.my-2{margin-block:calc(var(--spacing)*2)}.my-3{margin-block:calc(var(--spacing)*3)}.my-4{margin-block:calc(var(--spacing)*4)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mr-auto{margin-right:auto}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.size-2\.5{width:calc(var(--spacing)*2.5);height:calc(var(--spacing)*2.5)}.size-full{width:100%;height:100%}.h-2{height:calc(var(--spacing)*2)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-auto{height:auto}.h-fit{height:-moz-fit-content;height:fit-content}.h-full{height:100%}.max-h-0{max-height:calc(var(--spacing)*0)}.max-h-96{max-height:calc(var(--spacing)*96)}.max-h-\[1000px\]{max-height:1000px}.min-h-\[80px\]{min-height:80px}.w-2{width:calc(var(--spacing)*2)}.w-3{width:calc(var(--spacing)*3)}.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-9{width:calc(var(--spacing)*9)}.w-80{width:calc(var(--spacing)*80)}.w-full{width:100%}.w-px{width:1px}.max-w-3xl{max-width:var(--container-3xl)}.max-w-80{max-width:calc(var(--spacing)*80)}.max-w-\[85\%\]{max-width:85%}.max-w-full{max-width:100%}.min-w-max{min-width:-moz-max-content;min-width:max-content}.min-w-xl{min-width:var(--container-xl)}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.-rotate-45{rotate:-45deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-bounce{animation:var(--animate-bounce)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.grid-cols-\[200px_1fr\]{grid-template-columns:200px 1fr}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-1{gap:calc(var(--spacing)*1)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-5{gap:calc(var(--spacing)*5)}.gap-10{gap:calc(var(--spacing)*10)}:where(.space-y-0\.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)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-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-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-1>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*1)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-x-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.scroll-smooth{scroll-behavior:smooth}.rounded{border-radius:.25rem}.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-xs{border-radius:var(--radius-xs)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-1{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-blue-500{border-color:var(--color-blue-500)}.border-current{border-color:currentColor}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-green-500{border-color:var(--color-green-500)}.border-orange-400{border-color:var(--color-orange-400)}.border-red-300{border-color:var(--color-red-300)}.border-red-500{border-color:var(--color-red-500)}.border-t-transparent{border-top-color:#0000}.bg-black{background-color:var(--color-black)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-400{background-color:var(--color-gray-400)}.bg-purple-500{background-color:var(--color-purple-500)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-100{background-color:var(--color-red-100)}.bg-red-500{background-color:var(--color-red-500)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-8{padding:calc(var(--spacing)*8)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-8{padding-inline:calc(var(--spacing)*8)}.px-10{padding-inline:calc(var(--spacing)*10)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3\.5{padding-block:calc(var(--spacing)*3.5)}.py-4{padding-block:calc(var(--spacing)*4)}.py-8{padding-block:calc(var(--spacing)*8)}.pt-0{padding-top:calc(var(--spacing)*0)}.pt-2{padding-top:calc(var(--spacing)*2)}.pb-0{padding-bottom:calc(var(--spacing)*0)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.text-center{text-align:center}.text-left{text-align:left}.text-start{text-align:start}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.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-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.whitespace-pre-wrap{white-space:pre-wrap}.text-black{color:var(--color-black)}.text-blue-100{color:var(--color-blue-100)}.text-blue-500{color:var(--color-blue-500)}.text-gray-500{color:var(--color-gray-500)}.text-gray-700{color:var(--color-gray-700)}.text-gray-900{color:var(--color-gray-900)}.text-green-600{color:var(--color-green-600)}.text-orange-500{color:var(--color-orange-500)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-white{color:var(--color-white)}.text-zinc-500{color:var(--color-zinc-500)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.opacity-0{opacity:0}.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)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.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-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.placeholder\:text-gray-500::-moz-placeholder{color:var(--color-gray-500)}.placeholder\:text-gray-500::placeholder{color:var(--color-gray-500)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:inset-y-0:after{content:var(--tw-content);inset-block:calc(var(--spacing)*0)}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-1:after{content:var(--tw-content);width:calc(var(--spacing)*1)}.after\:-translate-x-1\/2:after{content:var(--tw-content);--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}@media(hover:hover){.hover\:bg-blue-600:hover{background-color:var(--color-blue-600)}.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\:border-black:focus{border-color:var(--color-black)}.focus\:ring-2:focus{--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\:ring-blue-500:focus{--tw-ring-color:var(--color-blue-500)}.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-2:focus-visible{--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-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\:outline-hidden:focus-visible{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.focus-visible\:outline-hidden:focus-visible{outline-offset:2px;outline:2px solid #0000}}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.data-\[panel-group-direction\=vertical\]\:h-px[data-panel-group-direction=vertical]{height:1px}.data-\[panel-group-direction\=vertical\]\:w-full[data-panel-group-direction=vertical]{width:100%}.data-\[panel-group-direction\=vertical\]\:flex-col[data-panel-group-direction=vertical]{flex-direction:column}.data-\[panel-group-direction\=vertical\]\:after\:left-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);left:calc(var(--spacing)*0)}.data-\[panel-group-direction\=vertical\]\:after\:h-1[data-panel-group-direction=vertical]:after{content:var(--tw-content);height:calc(var(--spacing)*1)}.data-\[panel-group-direction\=vertical\]\:after\:w-full[data-panel-group-direction=vertical]:after{content:var(--tw-content);width:100%}.data-\[panel-group-direction\=vertical\]\:after\:translate-x-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[panel-group-direction\=vertical\]\:after\:-translate-y-1\/2[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}@media(min-width:40rem){.sm\:flex-col{flex-direction:column}}@media(min-width:48rem){.md\:mt-20{margin-top:calc(var(--spacing)*20)}}@media(prefers-color-scheme:dark){.dark\:border-gray-600{border-color:var(--color-gray-600)}.dark\:border-gray-700{border-color:var(--color-gray-700)}.dark\:border-green-400{border-color:var(--color-green-400)}.dark\:border-orange-500{border-color:var(--color-orange-500)}.dark\:border-red-400{border-color:var(--color-red-400)}.dark\:border-red-700{border-color:var(--color-red-700)}.dark\:bg-gray-600{background-color:var(--color-gray-600)}.dark\:bg-gray-700{background-color:var(--color-gray-700)}.dark\:bg-gray-800{background-color:var(--color-gray-800)}.dark\:bg-gray-900{background-color:var(--color-gray-900)}.dark\:bg-red-900\/20{background-color:#82181a33}@supports (color:color-mix(in lab,red,red)){.dark\:bg-red-900\/20{background-color:color-mix(in oklab,var(--color-red-900)20%,transparent)}}.dark\:bg-red-900\/30{background-color:#82181a4d}@supports (color:color-mix(in lab,red,red)){.dark\:bg-red-900\/30{background-color:color-mix(in oklab,var(--color-red-900)30%,transparent)}}.dark\:text-gray-100{color:var(--color-gray-100)}.dark\:text-gray-200{color:var(--color-gray-200)}.dark\:text-gray-300{color:var(--color-gray-300)}.dark\:text-gray-400{color:var(--color-gray-400)}.dark\:text-green-400{color:var(--color-green-400)}.dark\:text-orange-400{color:var(--color-orange-400)}.dark\:text-red-300{color:var(--color-red-300)}.dark\:text-red-400{color:var(--color-red-400)}.dark\:text-white{color:var(--color-white)}.dark\:text-zinc-400{color:var(--color-zinc-400)}.dark\:placeholder\:text-gray-400::-moz-placeholder{color:var(--color-gray-400)}.dark\:placeholder\:text-gray-400::placeholder{color:var(--color-gray-400)}@media(hover:hover){.dark\:hover\:bg-black:hover{background-color:var(--color-black)}.dark\:hover\:bg-gray-700:hover{background-color:var(--color-gray-700)}.dark\:hover\:bg-gray-800:hover{background-color:var(--color-gray-800)}}.dark\:focus\:border-white:focus{border-color:var(--color-white)}.dark\:focus\:ring-blue-400:focus{--tw-ring-color:var(--color-blue-400)}}.\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction=vertical]>div{rotate:90deg}}#sidebarai-container{box-sizing:border-box;flex-direction:column;height:100vh;display:flex;position:fixed;top:0;overflow:hidden}#sidebarai-container *{box-sizing:border-box}#sidebarai-container .scrollbar-hide{scrollbar-width:none;-ms-overflow-style:none}#sidebarai-container .scrollbar-hide::-webkit-scrollbar{display:none}#sidebarai-container button{cursor:pointer;transition:border-color .25s,background-color .25s}#sidebarai-container button:hover{cursor:pointer}#sidebarai-container h1,#sidebarai-container h2,#sidebarai-container h3,#sidebarai-container h4,#sidebarai-container h5,#sidebarai-container h6{margin:0;font-weight:600}#sidebarai-container a{color:var(--sidebar-text-color,inherit);text-decoration:none}#sidebarai-container input .vcf,#sidebarai-container select .vcf{font-family:inherit;font-size:inherit;border:1px solid var(--sidebar-border-color,#ccc);border-radius:var(--sidebar-border-radius,4px);color:var(--sidebar-text-color,inherit);background-color:#0000;padding:.5em}#sidebarai-container .sidebar-user-message{background-color:var(--sidebar-user-message-bg,#000);color:var(--sidebar-user-message-text,#fff)}#sidebarai-container .sidebar-header{background-color:var(--sidebar-header-bg,#000);color:var(--sidebar-header-text,#fff)}#sidebarai-container .suggestions{background-color:var(--sidebar-suggestions-bg,#f1eaea);color:var(--sidebar-suggestions-text,#fff);border-radius:var(--sidebar-suggestions-radius,8px);padding:var(--sidebar-suggestions-padding,.5em);border:var(--sidebar-suggestions-border,1px solid #ccc)}#sidebarai-container a{color:#2563eb;font-weight:500;-webkit-text-decoration:underline #93c5fd;text-decoration:underline #93c5fd;transition:all .2s}#sidebarai-container a:hover{color:#1d4ed8;text-decoration-color:#2563eb}#sidebarai-container a:visited{color:#7c3aed}#sidebarai-container a:visited:hover{color:#5b21b6}#sidebarai-container h1{margin-top:1.5rem;margin-bottom:.5rem;font-size:1.875rem;font-weight:600}#sidebarai-container h2{margin-top:1.5rem;margin-bottom:.5rem;font-size:1.5rem;font-weight:600}#sidebarai-container h3{margin-top:1.5rem;margin-bottom:.5rem;font-size:1.25rem;font-weight:600}#sidebarai-container strong{font-weight:600}#sidebarai-container em{color:var(--sidebar-text-color,#374151);font-style:italic}#sidebarai-container code{color:#374151;background-color:#f3f4f6;border:1px solid #e5e7eb;border-radius:.25rem;padding:.125rem .5rem;font-family:ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace;font-size:.875rem}#sidebarai-container pre{background-color:#f3f4f6;border:1px solid #e5e7eb;border-radius:.5rem;margin:1rem 0;padding:1rem;overflow-x:auto}#sidebarai-container pre code{color:#374151;background-color:#0000;border:none;padding:0;font-size:.875rem}#sidebarai-container img{border:1px solid #e5e7eb;border-radius:.5rem;max-width:100%;height:auto;margin:1rem 0;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}#sidebarai-container .resize-handle{cursor:col-resize;z-index:10;background-color:#0000;width:6px;transition:background-color .2s;position:absolute;top:0;bottom:0}#sidebarai-container .resize-handle:hover{background-color:#6366f180}#sidebarai-container .resize-handle:active{background-color:#6366f1b3}#sidebarai-container.resizing{-webkit-user-select:none;-moz-user-select:none;user-select:none}#sidebarai-container.resizing .resize-handle{background-color:#6366f1b3}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@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}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}
|
package/dist/sidenetai-sdk.es.js
CHANGED
|
@@ -28774,7 +28774,7 @@ function HE({
|
|
|
28774
28774
|
] }, kt), At = Mp();
|
|
28775
28775
|
return /* @__PURE__ */ je("div", { ref: bt, className: "relative p-4 pb-3", children: [
|
|
28776
28776
|
/* @__PURE__ */ je("div", { className: "flex flex-row justify-between items-center gap-2 w-full", children: [
|
|
28777
|
-
/* @__PURE__ */ J("span", { className: `flex-1 truncate ${At.headerTitle}`, children: A ? "
|
|
28777
|
+
/* @__PURE__ */ J("span", { className: `flex-1 truncate ${At.headerTitle}`, children: A ? "" : ct }),
|
|
28778
28778
|
/* @__PURE__ */ je("div", { className: "flex flex-row gap-2", children: [
|
|
28779
28779
|
/* @__PURE__ */ J(
|
|
28780
28780
|
"button",
|
|
@@ -28802,7 +28802,7 @@ function HE({
|
|
|
28802
28802
|
"div",
|
|
28803
28803
|
{
|
|
28804
28804
|
className: Tn(
|
|
28805
|
-
"
|
|
28805
|
+
" z-50 mx-4 mt-2",
|
|
28806
28806
|
"bg-white dark:bg-gray-800",
|
|
28807
28807
|
"border border-gray-300 dark:border-gray-700",
|
|
28808
28808
|
"rounded-lg shadow-lg",
|
|
@@ -262,7 +262,7 @@ ${V}`:`HTTP Error (${U}): ${ut}`}if(w==="validation"&&!v.toLowerCase().startsWit
|
|
|
262
262
|
`;return q.jsx("div",{className:E?"w-full":`flex ${V?"justify-end":"justify-start"}`,children:q.jsxs("div",{className:tt,children:[E&&q.jsx("div",{className:"flex-1",children:q.jsx(KT,{message:U,statusCode:lt,errorType:k})}),!E&&U&&V&&q.jsx("div",{children:q.jsx("p",{className:"whitespace-pre-wrap",children:U})}),!E&&!V&&w&&w.length>0&&q.jsx("div",{className:"space-y-3 mt-3",children:w.map((Ct,St)=>{const K=Ct;return K.type==="tool-call"&&K.toolCall?q.jsx("div",{children:q.jsx(ZT,{toolCall:{toolName:K.toolCall.toolName,args:K.toolCall.args,result:K.toolCall.result,timestamp:new Date().toISOString()}})},St):(K.type==="workflow-steps"||K.type==="workflow-steps-update")&&K.workflowSteps?q.jsx("div",{children:q.jsx(JT,{data:K.workflowSteps})},St):null})}),!E&&!V&&U&&q.jsx("div",{className:"my-3",children:q.jsx(_T,{children:U})})]})})}const kT=({title:v=null,subtitle:U=null})=>{const w=v??"Hello there!",E=U??"How can I help you today?";return q.jsxs("div",{className:"flex flex-col justify-center mx-auto md:mt-20",children:[q.jsx(Ti.motion.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},exit:{opacity:0,y:10},transition:{delay:.5},className:"text-2xl font-semibold text-black dark:text-white",children:w}),q.jsx(Ti.motion.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},exit:{opacity:0,y:10},transition:{delay:.6},className:"text-2xl text-zinc-500 dark:text-zinc-400",children:E})]},"overview")};function WT({messages:v,isStreaming:U,animationKey:w}){const E=ht.useRef(null),k=ht.useRef(null);ht.useEffect(()=>{lt()},[v,U]);const lt=()=>{E.current?.scrollIntoView({behavior:"smooth",block:"end"})};return q.jsxs("div",{ref:k,className:"flex-1 overflow-y-auto scrollbar-hide",children:[v.length===0&&q.jsxs("div",{className:"flex flex-col justify-between h-full gap-10 mx-auto px-10 align-center ",children:[q.jsx("div",{className:"flex-1",children:q.jsx(kT,{},`greeting-${w}`)}),q.jsx("div",{className:"flex-shrink-0"})]}),v.length>0&&v.map(ut=>q.jsx($T,{role:ut.role,content:ut.content,streamItems:ut.streamItems,timestamp:ut.timestamp,isError:ut.isError,errorType:ut.errorType,statusCode:ut.statusCode},ut.id)),v.length>0&&U&&q.jsx("div",{className:"flex justify-start",children:q.jsx("div",{className:" text-gray-900 rounded-lg p-3 max-w-[85%]",children:q.jsxs("div",{className:"flex items-center space-x-1",children:[q.jsx("div",{className:"w-2 h-2 bg-gray-400 rounded-full animate-bounce"}),q.jsx("div",{className:"w-2 h-2 bg-gray-400 rounded-full animate-bounce",style:{animationDelay:"0.1s"}}),q.jsx("div",{className:"w-2 h-2 bg-gray-400 rounded-full animate-bounce",style:{animationDelay:"0.2s"}})]})})}),q.jsx("div",{ref:E})]})}function FT(v,U,w){const[E,k]=ht.useState(!1),[lt,ut]=ht.useState(""),[V,tt]=ht.useState([]),Ct=ht.useRef(new Map),St=ht.useRef(new Map),K=ht.useRef(new Map),ct=ht.useRef(null),[_t,ot]=ht.useState(null),[wt,Tt]=ht.useState(0),zt=ht.useCallback(async(me,cl)=>{k(!0),ut(""),Ct.current=new Map,St.current=new Map,K.current=new Map,ct.current=null;let oe=cl||_t;oe?console.log("🔄 Reusing existing threadId for conversation:",oe):(oe=ET(v),ot(oe),console.log("🆕 Generated new threadId for conversation:",oe));const Ge={id:e1(12),role:"user",content:me,streamItems:[],timestamp:new Date};tt(xe=>[...xe,Ge]);const vt={id:e1(12),role:"assistant",content:"",streamItems:[],timestamp:new Date};tt(xe=>[...xe,vt]);try{if(!v)throw new Error("Copilot ID is required");if(!U)throw new Error("User ID is required");const xe={message:me,threadId:oe,copilotId:v,resourceId:U};if(console.log("📤 Sending request body:",xe),!w)throw new Error('API key is required. Please provide an apiKey when initializing the SDK with initSidenet({ apiKey: "your-key" }).');const at={"Content-Type":"application/json",Authorization:`Bearer ${w}`},ue=await fetch(`http://localhost:8080/api/v1/copilot/${v}/stream`,{method:"POST",headers:at,body:JSON.stringify(xe)});if(!ue.ok){let le="";try{const W=ue.headers.get("content-type");if(W&&W.includes("application/json")){const it=await ue.json();le=it.message||it.error||it.details||""}else{const it=await ue.text();it&&(le=it)}}catch{}const C=`HTTP error! status: ${ue.status}`,L=le?`${C}
|
|
263
263
|
|
|
264
264
|
${le}`:C;throw new Error(L)}if(!ue.body)throw new Error("Response body is null");const jt=ue.body.getReader(),Ht=new TextDecoder;let qt="";try{for(;;){const{done:le,value:C}=await jt.read();if(le)break;const W=Ht.decode(C,{stream:!0}).split(`
|
|
265
|
-
`).filter(it=>it.trim());for(const it of W)try{const Et=it.startsWith("data: ")?it.slice(6):it;if(!Et.trim())continue;const st=JSON.parse(Et);switch(console.log("📥 Received chunk:",st),st.type){case"tool-call":{const mt=st.payload,I=mt?.toolCallId||st.toolCallId,et=mt?.toolName||st.toolName,Yt=mt?.args||st.args;if(I&&et){const Xe=K.current.get(I);let ve={};if(Xe)try{ve=JSON.parse(Xe),console.log("✅ Parsed accumulated args:",ve)}catch(We){console.warn("⚠️ Failed to parse accumulated args, using event args:",We),ve=Yt||{}}else ve=Yt||{};tt(We=>We.map(te=>{if(te.role==="assistant"&&te.id===vt.id){const Kt=te.streamItems,$=Kt.findIndex(ie=>ie.type==="tool-call"&&ie.toolCall?.id===I);if($!==-1){const ie=[...Kt];return ie[$]={...ie[$],toolCall:{...ie[$].toolCall,toolName:et,args:ve}},{...te,streamItems:ie}}else return{...te,streamItems:[...Kt,{type:"tool-call",toolCall:{id:I,toolName:et,args:ve}}]}}return te})),K.current.delete(I),ct.current=I}break}case"tool-result":{const mt=st.payload;let I=mt?.toolCallId||st.toolCallId;const et=mt?.result||st.result;console.log("📦 tool-result received:",{toolCallId:I,hasResult:!!et,resultKeys:et?Object.keys(et):[],payloadToolCallId:mt?.toolCallId,mostRecentToolCallId:ct.current}),!I&&ct.current&&(I=ct.current,console.log("⚠️ tool-result missing toolCallId, using most recent:",I)),I&&et?tt(Yt=>Yt.map(Xe=>{if(Xe.role==="assistant"&&Xe.id===vt.id){const ve=Xe.streamItems,We=ve.filter($=>$.type==="tool-call").map($=>{const ie=$.toolCall;return{id:ie?.id,toolName:ie?.toolName,hasResult:!!ie?.result}});console.log("🔍 Existing tool calls in streamItems:",We),console.log("🔍 Looking for toolCallId:",I);let te=!1;const Kt=ve.map($=>{if($.type==="tool-call"){const ie=$.toolCall;if(ie?.id===I&&!ie?.result)return te=!0,console.log("✅ Found matching tool call by ID, attaching result"),{...$,toolCall:{...ie,result:et}}}return $});if(!te){console.log("⚠️ Could not find tool call by ID, trying to match most recent tool call without result");for(let $=Kt.length-1;$>=0;$--){const ie=Kt[$];if(ie.type==="tool-call"){const Fe=ie.toolCall;if(!Fe?.result){Kt[$]={...ie,toolCall:{...Fe,result:et}},te=!0,console.log("✅ Matched tool call by finding most recent without result");break}}}}if(te)return{...Xe,streamItems:Kt};console.warn("⚠️ Could not find matching tool call for result:",{resultToolCallId:I,toolResult:et,streamItemsCount:ve.length})}return Xe})):console.warn("⚠️ tool-result event missing required fields:",{resultToolCallId:I,hasToolResult:!!et,mostRecentToolCallId:ct.current});break}case"text-delta":{const mt=st.textDelta||st.payload?.text;mt&&(qt+=mt,ut(qt),tt(I=>I.map(et=>et.role==="assistant"&&et.id===vt.id?{...et,content:qt}:et)));break}case"start":st.runId&&st.from==="WORKFLOW"&&console.log("🚀 Workflow started:",st.runId);break;case"step-start":if(st.runId&&st.payload&&st.from==="WORKFLOW"){const mt=st.payload,I=mt.stepCallId,et=mt.stepName,Yt=mt.args,Xe=Yt?`Arguments: ${JSON.stringify(Yt,null,2)}`:"";St.current.set(I,{step_id:I,step_name:et,step_description:Xe,step_status:"running",args:Yt,timestamp:new Date});const ve=Array.from(St.current.values()),We={type:"workflow-steps",workflow_id:et,run_id:st.runId,steps:ve};tt(te=>te.map(Kt=>{if(Kt.role==="assistant"&&Kt.id===vt.id){const $=Kt.streamItems,ie=$.findIndex(Fe=>Fe.type==="workflow-steps"||Fe.type==="workflow-steps-update");if(ie!==-1){const Fe=[...$];return Fe[ie]={...Fe[ie],workflowSteps:We},{...Kt,streamItems:Fe}}else return{...Kt,streamItems:[...$,{type:"workflow-steps",workflowSteps:We}]}}return Kt}))}break;case"step-result":if(st.runId&&st.payload&&st.from==="WORKFLOW"){const mt=st.payload,I=mt.stepCallId,et=mt.status,Yt=St.current.get(I);if(Yt){St.current.set(I,{...Yt,step_status:et==="success"?"success":"error"});const Xe=Array.from(St.current.values()),ve={type:"workflow-steps-update",workflow_id:Yt.step_name,run_id:st.runId,steps:Xe};tt(We=>We.map(te=>te.role==="assistant"&&te.id===vt.id?{...te,streamItems:te.streamItems.map(Kt=>Kt.type==="workflow-steps"||Kt.type==="workflow-steps-update"?{...Kt,workflowSteps:ve}:Kt)}:te))}}break;case"step-output":if(st.payload&&st.from==="USER"){const mt=st.payload.output;mt&&(qt+=mt,ut(qt),tt(I=>I.map(et=>et.role==="assistant"&&et.id===vt.id?{...et,content:qt}:et)))}break;case"step-finish":st.runId&&st.payload&&st.from==="AGENT"&&console.log("🏁 Step finished:",st.runId);break;case"tool-call-input-streaming-start":{const I=st.payload?.toolCallId||st.toolCallId;I&&(K.current.set(I,""),console.log("🔄 Tool call input streaming started for:",I));break}case"tool-call-delta":{const mt=st.payload,I=mt?.toolCallId||st.toolCallId,et=mt?.argsTextDelta||st.argsTextDelta,Yt=mt?.toolName||st.toolName;if(I&&et){const ve=(K.current.get(I)||"")+et;K.current.set(I,ve);try{const We=JSON.parse(ve);console.log("📝 Tool call delta accumulated, parsed args:",We),tt(te=>te.map(Kt=>{if(Kt.role==="assistant"&&Kt.id===vt.id){const $=Kt.streamItems,ie=$.findIndex(Fe=>Fe.type==="tool-call"&&Fe.toolCall?.id===I);if(ie!==-1){const Fe=[...$];return Fe[ie]={...Fe[ie],toolCall:{...Fe[ie].toolCall,args:We}},{...Kt,streamItems:Fe}}else return{...Kt,streamItems:[...$,{type:"tool-call",toolCall:{id:I,toolName:Yt||"Tool calling...",args:We}}]}}return Kt}))}catch{console.log("📝 Tool call delta accumulated (JSON incomplete, waiting for more):",ve)}}break}case"tool-call-input-streaming-end":{const I=st.payload?.toolCallId||st.toolCallId;if(I){const et=K.current.get(I);if(et)try{const Yt=JSON.parse(et);console.log("✅ Tool call input streaming ended, final args:",Yt),tt(Xe=>Xe.map(ve=>{if(ve.role==="assistant"&&ve.id===vt.id){const We=ve.streamItems,te=We.findIndex(Kt=>Kt.type==="tool-call"&&Kt.toolCall?.id===I);if(te!==-1){const Kt=[...We];return Kt[te]={...Kt[te],toolCall:{...Kt[te].toolCall,args:Yt}},{...ve,streamItems:Kt}}}return ve}))}catch(Yt){console.warn("⚠️ Failed to parse final accumulated args:",Yt)}}break}case"error":{const I=st.error?.message||st.message||"An error occurred during streaming";console.error("❌ Stream error received:",I),tt(et=>et.map(Yt=>Yt.role==="assistant"&&Yt.id===vt.id?{...Yt,content:I,isError:!0,errorType:"stream"}:Yt)),k(!1);return}case"finish":st.runId&&st.from==="WORKFLOW"&&console.log("✅ Workflow finished:",st.runId);break}}catch(Et){console.warn("⚠️ Failed to parse chunk:",{originalLine:it,jsonString:it.startsWith("data: ")?it.slice(6):it,error:Et,lineLength:it.length})}}}finally{jt.releaseLock()}tt(le=>le.map(C=>C.role==="assistant"&&C.id===vt.id?{...C,content:qt}:C))}catch(xe){console.error("❌ Error sending message:",xe);let at="An unexpected error occurred",ue,jt;if(xe instanceof Error){at=xe.message;const Ht=at.match(/HTTP error! status: (\d+)/i);Ht?(jt=parseInt(Ht[1],10),ue="http"):at.includes("required")||at.includes("Copilot ID")||at.includes("User ID")||at.includes("API key")?ue="validation":(at.includes("body is null")||at.includes("network")||at.includes("fetch")||at.includes("Failed to fetch"))&&(ue="network")}tt(Ht=>Ht.map(qt=>qt.id===vt.id?{...qt,content:at,isError:!0,errorType:ue,statusCode:jt}:qt))}finally{k(!1)}},[_t,v,U,w]),Wt=ht.useCallback(()=>{Tt(me=>me+1)},[]),he=ht.useCallback(()=>{ot(null),tt([]),ut(""),Ct.current=new Map,St.current=new Map,K.current=new Map,ct.current=null,Wt(),console.log("🔄 Started new conversation thread")},[Wt]);return{sendMessage:zt,isStreaming:E,streamedText:lt,messages:V,setMessages:tt,threadId:_t,resetThread:he,animationKey:wt,triggerAnimation:Wt}}function IT({workflows:v,agents:U,setInput:w}){const E=Am(),k=[{title:"What's the latest news",subtitle:"in France?"},{title:"What's the weather like",subtitle:"in Tokyo?"},{title:"Analyze today's sales",subtitle:"performance vs yesterday"},{title:"Which menu items",subtitle:"are selling best this week?"},{title:"Show me staff",subtitle:"scheduling for this weekend"},{title:"What are the top",subtitle:"cost drivers this month?"},{title:"Generate a report",subtitle:"on food waste trends"},{title:"Which suppliers",subtitle:"need payment this week?"},{title:"Analyze customer",subtitle:"satisfaction scores"},{title:"Show me inventory",subtitle:"items running low"},{title:"What's the profit",subtitle:"margin by category?"},{title:"Which employees",subtitle:"need performance reviews?"},{title:"Analyze peak",subtitle:"hours and staffing needs"},{title:"Show me cash flow",subtitle:"projections for next month"},{title:"Which menu items",subtitle:"should we promote?"},{title:"Analyze delivery",subtitle:"vs dine-in performance"},{title:"What are the main",subtitle:"operational bottlenecks?"},{title:"Show me seasonal",subtitle:"trends in sales data"},{title:"Which equipment",subtitle:"needs maintenance soon?"},{title:"Analyze table",subtitle:"turnover rates"},{title:"What's the impact",subtitle:"of weather on sales?"},{title:"Show me employee",subtitle:"productivity metrics"},{title:"Write me an essay",subtitle:"about the future of AI"},{title:"Summarise",subtitle:"my sales data"}],lt=(K,ct)=>K+" "+ct,ut=U||{},V=v||{},tt=Object.keys(ut).length+Object.keys(V).length,Ct=Math.max(0,10-tt),St=K=>{w(K)};return q.jsx("div",{className:"px-4 rounded-lg ",children:q.jsx("div",{className:"flex flex-wrap gap-2 overflow-y-auto justify-center",style:{maxHeight:"380px"},children:k.slice(0,Ct).map((K,ct)=>q.jsx(Ti.motion.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},exit:{opacity:0,y:10},transition:{delay:.2+(tt+ct)*.1},children:q.jsx(Mp,{variant:"suggestion",className:E.suggestions,onClick:()=>St(lt(K.title,K.subtitle)),children:q.jsxs(Wr,{children:[q.jsx("div",{className:"",children:q.jsx(Op,{variant:"suggestion",className:E.cardTitle,children:K.title})}),q.jsx("p",{className:E.cardSubtitle,children:K.subtitle})]})})},`placeholder-${ct}`))})})}function Wb(v){const U=new Date;return v.toDateString()===U.toDateString()}function PT(v){const U=new Date,w=new Date(U.getTime()-10080*60*1e3);return v>=w&&!Wb(v)}function t3(v){const U=new Date,w=new Date(U.getTime()-720*60*60*1e3),E=new Date(U.getTime()-10080*60*1e3);return v>=w&&v<E}function e3(v){const U={today:[],last7Days:[],last30Days:[],older:[]};return v.forEach(w=>{const E=new Date(w.lastMessageAt);Wb(E)?U.today.push(w):PT(E)?U.last7Days.push(w):t3(E)?U.last30Days.push(w):U.older.push(w)}),U}function l3({threads:v,selectedThreadId:U,onSelectThread:w,isLoading:E,error:k,onResetChat:lt}){const[ut,V]=ht.useState(!1),[tt,Ct]=ht.useState(""),St=ht.useRef(null),K=v.find(Wt=>Wt.id===U),ct=K?.title?Lb(K.title):"",_t=tt?v.filter(Wt=>Wt.title.toLowerCase().includes(tt.toLowerCase())):v,ot=e3(_t);ht.useEffect(()=>{function Wt(he){St.current&&!St.current.contains(he.target)&&V(!1)}if(ut)return document.addEventListener("mousedown",Wt),()=>document.removeEventListener("mousedown",Wt)},[ut]);const wt=Wt=>{w(Wt),V(!1),Ct("")},Tt=(Wt,he)=>he.length===0?null:q.jsxs("div",{className:"mb-3",children:[q.jsx("div",{className:"px-3 py-1.5 text-xs font-semibold text-gray-500 dark:text-gray-400 uppercase tracking-wider",children:Wt}),q.jsx("div",{className:"space-y-0.5",children:he.map(me=>q.jsx("button",{onClick:()=>wt(me.id),className:ln("w-full text-left px-3 py-2 text-sm rounded-md transition-colors","hover:bg-gray-100 dark:hover:bg-gray-800",me.id===U&&"bg-gray-100 dark:bg-gray-800 font-medium"),children:q.jsx("div",{className:"font-medium text-gray-900 dark:text-gray-100 truncate",children:Lb(me.title)||"Untitled Thread"})},me.id))})]},Wt),zt=Am();return q.jsxs("div",{ref:St,className:"relative p-4 pb-3",children:[q.jsxs("div",{className:"flex flex-row justify-between items-center gap-2 w-full",children:[q.jsx("span",{className:`flex-1 truncate ${zt.headerTitle}`,children:E?"Loading threads...":ct}),q.jsxs("div",{className:"flex flex-row gap-2",children:[q.jsx("button",{"aria-label":"New chat",title:"New chat",className:zt.headerButtons,onClick:lt,children:q.jsx(MT,{size:zt.headerButtonSize})}),q.jsx("button",{onClick:()=>V(!ut),disabled:E,className:zt.headerButtons,"aria-label":"Select thread",children:q.jsx(OT,{size:zt.headerButtonSize})})]})]}),ut&&q.jsxs("div",{className:ln("absolute z-50 mx-4 mt-2","bg-white dark:bg-gray-800","border border-gray-300 dark:border-gray-700","rounded-lg shadow-lg","max-h-96 overflow-hidden flex flex-col"),children:[q.jsx("div",{className:"p-3 border-b border-gray-200 dark:border-gray-700",children:q.jsx("input",{type:"text",placeholder:"Search threads...",value:tt,onChange:Wt=>Ct(Wt.target.value),className:ln("w-full px-3 py-2 text-sm","bg-gray-50 dark:bg-gray-900","border border-gray-300 dark:border-gray-600","rounded-md","text-gray-900 dark:text-gray-100","placeholder:text-gray-500 dark:placeholder:text-gray-400","focus:outline-none focus:ring-2 focus:ring-blue-500 dark:focus:ring-blue-400"),autoFocus:!0})}),q.jsx("div",{className:"overflow-y-auto p-2",children:k?q.jsx("div",{className:"px-3 py-8 text-center text-sm text-red-600 dark:text-red-400",children:"Failed to load threads"}):_t.length===0?q.jsx("div",{className:"px-3 py-8 text-center text-sm text-gray-500 dark:text-gray-400",children:tt?"No threads found":"No threads available"}):q.jsxs(q.Fragment,{children:[Tt("Today",ot.today),Tt("Last 7 Days",ot.last7Days),Tt("Last 30 Days",ot.last30Days),Tt("Older",ot.older)]})})]})]})}async function a3(v,U,w,E=100,k=0){if(!v)throw new Error("Copilot ID is required");if(!U)throw new Error("User ID is required");if(!w)throw new Error("API key is required");const lt=new URL(`http://localhost:8080/api/v1/copilot/${v}/threads/list`);lt.searchParams.append("externalUserId",U),lt.searchParams.append("limit",E.toString()),lt.searchParams.append("offset",k.toString());const ut={"Content-Type":"application/json",Authorization:`Bearer ${w}`};try{const V=await fetch(lt.toString(),{method:"GET",headers:ut});if(!V.ok){let St="";try{const _t=V.headers.get("content-type");if(_t&&_t.includes("application/json")){const ot=await V.json();St=ot.message||ot.error||ot.details||""}else{const ot=await V.text();ot&&(St=ot)}}catch{}const K=`HTTP error! status: ${V.status}`,ct=St?`${K}
|
|
265
|
+
`).filter(it=>it.trim());for(const it of W)try{const Et=it.startsWith("data: ")?it.slice(6):it;if(!Et.trim())continue;const st=JSON.parse(Et);switch(console.log("📥 Received chunk:",st),st.type){case"tool-call":{const mt=st.payload,I=mt?.toolCallId||st.toolCallId,et=mt?.toolName||st.toolName,Yt=mt?.args||st.args;if(I&&et){const Xe=K.current.get(I);let ve={};if(Xe)try{ve=JSON.parse(Xe),console.log("✅ Parsed accumulated args:",ve)}catch(We){console.warn("⚠️ Failed to parse accumulated args, using event args:",We),ve=Yt||{}}else ve=Yt||{};tt(We=>We.map(te=>{if(te.role==="assistant"&&te.id===vt.id){const Kt=te.streamItems,$=Kt.findIndex(ie=>ie.type==="tool-call"&&ie.toolCall?.id===I);if($!==-1){const ie=[...Kt];return ie[$]={...ie[$],toolCall:{...ie[$].toolCall,toolName:et,args:ve}},{...te,streamItems:ie}}else return{...te,streamItems:[...Kt,{type:"tool-call",toolCall:{id:I,toolName:et,args:ve}}]}}return te})),K.current.delete(I),ct.current=I}break}case"tool-result":{const mt=st.payload;let I=mt?.toolCallId||st.toolCallId;const et=mt?.result||st.result;console.log("📦 tool-result received:",{toolCallId:I,hasResult:!!et,resultKeys:et?Object.keys(et):[],payloadToolCallId:mt?.toolCallId,mostRecentToolCallId:ct.current}),!I&&ct.current&&(I=ct.current,console.log("⚠️ tool-result missing toolCallId, using most recent:",I)),I&&et?tt(Yt=>Yt.map(Xe=>{if(Xe.role==="assistant"&&Xe.id===vt.id){const ve=Xe.streamItems,We=ve.filter($=>$.type==="tool-call").map($=>{const ie=$.toolCall;return{id:ie?.id,toolName:ie?.toolName,hasResult:!!ie?.result}});console.log("🔍 Existing tool calls in streamItems:",We),console.log("🔍 Looking for toolCallId:",I);let te=!1;const Kt=ve.map($=>{if($.type==="tool-call"){const ie=$.toolCall;if(ie?.id===I&&!ie?.result)return te=!0,console.log("✅ Found matching tool call by ID, attaching result"),{...$,toolCall:{...ie,result:et}}}return $});if(!te){console.log("⚠️ Could not find tool call by ID, trying to match most recent tool call without result");for(let $=Kt.length-1;$>=0;$--){const ie=Kt[$];if(ie.type==="tool-call"){const Fe=ie.toolCall;if(!Fe?.result){Kt[$]={...ie,toolCall:{...Fe,result:et}},te=!0,console.log("✅ Matched tool call by finding most recent without result");break}}}}if(te)return{...Xe,streamItems:Kt};console.warn("⚠️ Could not find matching tool call for result:",{resultToolCallId:I,toolResult:et,streamItemsCount:ve.length})}return Xe})):console.warn("⚠️ tool-result event missing required fields:",{resultToolCallId:I,hasToolResult:!!et,mostRecentToolCallId:ct.current});break}case"text-delta":{const mt=st.textDelta||st.payload?.text;mt&&(qt+=mt,ut(qt),tt(I=>I.map(et=>et.role==="assistant"&&et.id===vt.id?{...et,content:qt}:et)));break}case"start":st.runId&&st.from==="WORKFLOW"&&console.log("🚀 Workflow started:",st.runId);break;case"step-start":if(st.runId&&st.payload&&st.from==="WORKFLOW"){const mt=st.payload,I=mt.stepCallId,et=mt.stepName,Yt=mt.args,Xe=Yt?`Arguments: ${JSON.stringify(Yt,null,2)}`:"";St.current.set(I,{step_id:I,step_name:et,step_description:Xe,step_status:"running",args:Yt,timestamp:new Date});const ve=Array.from(St.current.values()),We={type:"workflow-steps",workflow_id:et,run_id:st.runId,steps:ve};tt(te=>te.map(Kt=>{if(Kt.role==="assistant"&&Kt.id===vt.id){const $=Kt.streamItems,ie=$.findIndex(Fe=>Fe.type==="workflow-steps"||Fe.type==="workflow-steps-update");if(ie!==-1){const Fe=[...$];return Fe[ie]={...Fe[ie],workflowSteps:We},{...Kt,streamItems:Fe}}else return{...Kt,streamItems:[...$,{type:"workflow-steps",workflowSteps:We}]}}return Kt}))}break;case"step-result":if(st.runId&&st.payload&&st.from==="WORKFLOW"){const mt=st.payload,I=mt.stepCallId,et=mt.status,Yt=St.current.get(I);if(Yt){St.current.set(I,{...Yt,step_status:et==="success"?"success":"error"});const Xe=Array.from(St.current.values()),ve={type:"workflow-steps-update",workflow_id:Yt.step_name,run_id:st.runId,steps:Xe};tt(We=>We.map(te=>te.role==="assistant"&&te.id===vt.id?{...te,streamItems:te.streamItems.map(Kt=>Kt.type==="workflow-steps"||Kt.type==="workflow-steps-update"?{...Kt,workflowSteps:ve}:Kt)}:te))}}break;case"step-output":if(st.payload&&st.from==="USER"){const mt=st.payload.output;mt&&(qt+=mt,ut(qt),tt(I=>I.map(et=>et.role==="assistant"&&et.id===vt.id?{...et,content:qt}:et)))}break;case"step-finish":st.runId&&st.payload&&st.from==="AGENT"&&console.log("🏁 Step finished:",st.runId);break;case"tool-call-input-streaming-start":{const I=st.payload?.toolCallId||st.toolCallId;I&&(K.current.set(I,""),console.log("🔄 Tool call input streaming started for:",I));break}case"tool-call-delta":{const mt=st.payload,I=mt?.toolCallId||st.toolCallId,et=mt?.argsTextDelta||st.argsTextDelta,Yt=mt?.toolName||st.toolName;if(I&&et){const ve=(K.current.get(I)||"")+et;K.current.set(I,ve);try{const We=JSON.parse(ve);console.log("📝 Tool call delta accumulated, parsed args:",We),tt(te=>te.map(Kt=>{if(Kt.role==="assistant"&&Kt.id===vt.id){const $=Kt.streamItems,ie=$.findIndex(Fe=>Fe.type==="tool-call"&&Fe.toolCall?.id===I);if(ie!==-1){const Fe=[...$];return Fe[ie]={...Fe[ie],toolCall:{...Fe[ie].toolCall,args:We}},{...Kt,streamItems:Fe}}else return{...Kt,streamItems:[...$,{type:"tool-call",toolCall:{id:I,toolName:Yt||"Tool calling...",args:We}}]}}return Kt}))}catch{console.log("📝 Tool call delta accumulated (JSON incomplete, waiting for more):",ve)}}break}case"tool-call-input-streaming-end":{const I=st.payload?.toolCallId||st.toolCallId;if(I){const et=K.current.get(I);if(et)try{const Yt=JSON.parse(et);console.log("✅ Tool call input streaming ended, final args:",Yt),tt(Xe=>Xe.map(ve=>{if(ve.role==="assistant"&&ve.id===vt.id){const We=ve.streamItems,te=We.findIndex(Kt=>Kt.type==="tool-call"&&Kt.toolCall?.id===I);if(te!==-1){const Kt=[...We];return Kt[te]={...Kt[te],toolCall:{...Kt[te].toolCall,args:Yt}},{...ve,streamItems:Kt}}}return ve}))}catch(Yt){console.warn("⚠️ Failed to parse final accumulated args:",Yt)}}break}case"error":{const I=st.error?.message||st.message||"An error occurred during streaming";console.error("❌ Stream error received:",I),tt(et=>et.map(Yt=>Yt.role==="assistant"&&Yt.id===vt.id?{...Yt,content:I,isError:!0,errorType:"stream"}:Yt)),k(!1);return}case"finish":st.runId&&st.from==="WORKFLOW"&&console.log("✅ Workflow finished:",st.runId);break}}catch(Et){console.warn("⚠️ Failed to parse chunk:",{originalLine:it,jsonString:it.startsWith("data: ")?it.slice(6):it,error:Et,lineLength:it.length})}}}finally{jt.releaseLock()}tt(le=>le.map(C=>C.role==="assistant"&&C.id===vt.id?{...C,content:qt}:C))}catch(xe){console.error("❌ Error sending message:",xe);let at="An unexpected error occurred",ue,jt;if(xe instanceof Error){at=xe.message;const Ht=at.match(/HTTP error! status: (\d+)/i);Ht?(jt=parseInt(Ht[1],10),ue="http"):at.includes("required")||at.includes("Copilot ID")||at.includes("User ID")||at.includes("API key")?ue="validation":(at.includes("body is null")||at.includes("network")||at.includes("fetch")||at.includes("Failed to fetch"))&&(ue="network")}tt(Ht=>Ht.map(qt=>qt.id===vt.id?{...qt,content:at,isError:!0,errorType:ue,statusCode:jt}:qt))}finally{k(!1)}},[_t,v,U,w]),Wt=ht.useCallback(()=>{Tt(me=>me+1)},[]),he=ht.useCallback(()=>{ot(null),tt([]),ut(""),Ct.current=new Map,St.current=new Map,K.current=new Map,ct.current=null,Wt(),console.log("🔄 Started new conversation thread")},[Wt]);return{sendMessage:zt,isStreaming:E,streamedText:lt,messages:V,setMessages:tt,threadId:_t,resetThread:he,animationKey:wt,triggerAnimation:Wt}}function IT({workflows:v,agents:U,setInput:w}){const E=Am(),k=[{title:"What's the latest news",subtitle:"in France?"},{title:"What's the weather like",subtitle:"in Tokyo?"},{title:"Analyze today's sales",subtitle:"performance vs yesterday"},{title:"Which menu items",subtitle:"are selling best this week?"},{title:"Show me staff",subtitle:"scheduling for this weekend"},{title:"What are the top",subtitle:"cost drivers this month?"},{title:"Generate a report",subtitle:"on food waste trends"},{title:"Which suppliers",subtitle:"need payment this week?"},{title:"Analyze customer",subtitle:"satisfaction scores"},{title:"Show me inventory",subtitle:"items running low"},{title:"What's the profit",subtitle:"margin by category?"},{title:"Which employees",subtitle:"need performance reviews?"},{title:"Analyze peak",subtitle:"hours and staffing needs"},{title:"Show me cash flow",subtitle:"projections for next month"},{title:"Which menu items",subtitle:"should we promote?"},{title:"Analyze delivery",subtitle:"vs dine-in performance"},{title:"What are the main",subtitle:"operational bottlenecks?"},{title:"Show me seasonal",subtitle:"trends in sales data"},{title:"Which equipment",subtitle:"needs maintenance soon?"},{title:"Analyze table",subtitle:"turnover rates"},{title:"What's the impact",subtitle:"of weather on sales?"},{title:"Show me employee",subtitle:"productivity metrics"},{title:"Write me an essay",subtitle:"about the future of AI"},{title:"Summarise",subtitle:"my sales data"}],lt=(K,ct)=>K+" "+ct,ut=U||{},V=v||{},tt=Object.keys(ut).length+Object.keys(V).length,Ct=Math.max(0,10-tt),St=K=>{w(K)};return q.jsx("div",{className:"px-4 rounded-lg ",children:q.jsx("div",{className:"flex flex-wrap gap-2 overflow-y-auto justify-center",style:{maxHeight:"380px"},children:k.slice(0,Ct).map((K,ct)=>q.jsx(Ti.motion.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},exit:{opacity:0,y:10},transition:{delay:.2+(tt+ct)*.1},children:q.jsx(Mp,{variant:"suggestion",className:E.suggestions,onClick:()=>St(lt(K.title,K.subtitle)),children:q.jsxs(Wr,{children:[q.jsx("div",{className:"",children:q.jsx(Op,{variant:"suggestion",className:E.cardTitle,children:K.title})}),q.jsx("p",{className:E.cardSubtitle,children:K.subtitle})]})})},`placeholder-${ct}`))})})}function Wb(v){const U=new Date;return v.toDateString()===U.toDateString()}function PT(v){const U=new Date,w=new Date(U.getTime()-10080*60*1e3);return v>=w&&!Wb(v)}function t3(v){const U=new Date,w=new Date(U.getTime()-720*60*60*1e3),E=new Date(U.getTime()-10080*60*1e3);return v>=w&&v<E}function e3(v){const U={today:[],last7Days:[],last30Days:[],older:[]};return v.forEach(w=>{const E=new Date(w.lastMessageAt);Wb(E)?U.today.push(w):PT(E)?U.last7Days.push(w):t3(E)?U.last30Days.push(w):U.older.push(w)}),U}function l3({threads:v,selectedThreadId:U,onSelectThread:w,isLoading:E,error:k,onResetChat:lt}){const[ut,V]=ht.useState(!1),[tt,Ct]=ht.useState(""),St=ht.useRef(null),K=v.find(Wt=>Wt.id===U),ct=K?.title?Lb(K.title):"",_t=tt?v.filter(Wt=>Wt.title.toLowerCase().includes(tt.toLowerCase())):v,ot=e3(_t);ht.useEffect(()=>{function Wt(he){St.current&&!St.current.contains(he.target)&&V(!1)}if(ut)return document.addEventListener("mousedown",Wt),()=>document.removeEventListener("mousedown",Wt)},[ut]);const wt=Wt=>{w(Wt),V(!1),Ct("")},Tt=(Wt,he)=>he.length===0?null:q.jsxs("div",{className:"mb-3",children:[q.jsx("div",{className:"px-3 py-1.5 text-xs font-semibold text-gray-500 dark:text-gray-400 uppercase tracking-wider",children:Wt}),q.jsx("div",{className:"space-y-0.5",children:he.map(me=>q.jsx("button",{onClick:()=>wt(me.id),className:ln("w-full text-left px-3 py-2 text-sm rounded-md transition-colors","hover:bg-gray-100 dark:hover:bg-gray-800",me.id===U&&"bg-gray-100 dark:bg-gray-800 font-medium"),children:q.jsx("div",{className:"font-medium text-gray-900 dark:text-gray-100 truncate",children:Lb(me.title)||"Untitled Thread"})},me.id))})]},Wt),zt=Am();return q.jsxs("div",{ref:St,className:"relative p-4 pb-3",children:[q.jsxs("div",{className:"flex flex-row justify-between items-center gap-2 w-full",children:[q.jsx("span",{className:`flex-1 truncate ${zt.headerTitle}`,children:E?"":ct}),q.jsxs("div",{className:"flex flex-row gap-2",children:[q.jsx("button",{"aria-label":"New chat",title:"New chat",className:zt.headerButtons,onClick:lt,children:q.jsx(MT,{size:zt.headerButtonSize})}),q.jsx("button",{onClick:()=>V(!ut),disabled:E,className:zt.headerButtons,"aria-label":"Select thread",children:q.jsx(OT,{size:zt.headerButtonSize})})]})]}),ut&&q.jsxs("div",{className:ln(" z-50 mx-4 mt-2","bg-white dark:bg-gray-800","border border-gray-300 dark:border-gray-700","rounded-lg shadow-lg","max-h-96 overflow-hidden flex flex-col"),children:[q.jsx("div",{className:"p-3 border-b border-gray-200 dark:border-gray-700",children:q.jsx("input",{type:"text",placeholder:"Search threads...",value:tt,onChange:Wt=>Ct(Wt.target.value),className:ln("w-full px-3 py-2 text-sm","bg-gray-50 dark:bg-gray-900","border border-gray-300 dark:border-gray-600","rounded-md","text-gray-900 dark:text-gray-100","placeholder:text-gray-500 dark:placeholder:text-gray-400","focus:outline-none focus:ring-2 focus:ring-blue-500 dark:focus:ring-blue-400"),autoFocus:!0})}),q.jsx("div",{className:"overflow-y-auto p-2",children:k?q.jsx("div",{className:"px-3 py-8 text-center text-sm text-red-600 dark:text-red-400",children:"Failed to load threads"}):_t.length===0?q.jsx("div",{className:"px-3 py-8 text-center text-sm text-gray-500 dark:text-gray-400",children:tt?"No threads found":"No threads available"}):q.jsxs(q.Fragment,{children:[Tt("Today",ot.today),Tt("Last 7 Days",ot.last7Days),Tt("Last 30 Days",ot.last30Days),Tt("Older",ot.older)]})})]})]})}async function a3(v,U,w,E=100,k=0){if(!v)throw new Error("Copilot ID is required");if(!U)throw new Error("User ID is required");if(!w)throw new Error("API key is required");const lt=new URL(`http://localhost:8080/api/v1/copilot/${v}/threads/list`);lt.searchParams.append("externalUserId",U),lt.searchParams.append("limit",E.toString()),lt.searchParams.append("offset",k.toString());const ut={"Content-Type":"application/json",Authorization:`Bearer ${w}`};try{const V=await fetch(lt.toString(),{method:"GET",headers:ut});if(!V.ok){let St="";try{const _t=V.headers.get("content-type");if(_t&&_t.includes("application/json")){const ot=await V.json();St=ot.message||ot.error||ot.details||""}else{const ot=await V.text();ot&&(St=ot)}}catch{}const K=`HTTP error! status: ${V.status}`,ct=St?`${K}
|
|
266
266
|
|
|
267
267
|
${St}`:K;throw new Error(ct)}return(await V.json()).data?.threads||[]}catch(V){throw V instanceof Error?V:new Error("Failed to fetch threads list")}}async function n3(v,U,w,E,k=100,lt=0){if(!v)throw new Error("Copilot ID is required");if(!U)throw new Error("Thread ID is required");if(!w)throw new Error("User ID is required");if(!E)throw new Error("API key is required");const ut=new URL(`http://localhost:8080/api/v1/copilot/${v}/threads/${U}/messages`);ut.searchParams.append("externalUserId",w),ut.searchParams.append("limit",k.toString()),ut.searchParams.append("offset",lt.toString());const V={"Content-Type":"application/json",Authorization:`Bearer ${E}`};try{const tt=await fetch(ut.toString(),{method:"GET",headers:V});if(!tt.ok){let K="";try{const ot=tt.headers.get("content-type");if(ot&&ot.includes("application/json")){const wt=await tt.json();K=wt.message||wt.error||wt.details||""}else{const wt=await tt.text();wt&&(K=wt)}}catch{}const ct=`HTTP error! status: ${tt.status}`,_t=K?`${ct}
|
|
268
268
|
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sidenetai-sdk",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "2.0.
|
|
4
|
+
"version": "2.0.2",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/sidenetai-sdk.umd.js",
|
|
7
7
|
"module": "dist/sidenetai-sdk.es.js",
|
|
@@ -19,23 +19,29 @@
|
|
|
19
19
|
"peerDependencies": {
|
|
20
20
|
"react": "^18 || ^19",
|
|
21
21
|
"react-dom": "^18 || ^19",
|
|
22
|
-
"@ai-sdk/react": "
|
|
23
|
-
"@assistant-ui/react": "
|
|
24
|
-
"@assistant-ui/react-data-stream": "
|
|
25
|
-
"@assistant-ui/react-markdown": "
|
|
26
|
-
"@assistant-ui/styles": "
|
|
27
|
-
"@copilotkit/react-core": "
|
|
28
|
-
"@copilotkit/react-ui": "
|
|
29
|
-
"@copilotkit/runtime": "
|
|
30
|
-
"@magicul/react-chat-stream": "
|
|
31
|
-
"@heroicons/react": "
|
|
32
|
-
"@radix-ui/react-slot": "
|
|
33
|
-
"@radix-ui/react-tooltip": "
|
|
34
|
-
"framer-motion": "
|
|
35
|
-
"lucide-react": "
|
|
36
|
-
"react-resizable-panels": "
|
|
37
|
-
"react-syntax-highlighter": "
|
|
38
|
-
"ai": "
|
|
22
|
+
"@ai-sdk/react": ">=2.0.0",
|
|
23
|
+
"@assistant-ui/react": ">=0.9.0",
|
|
24
|
+
"@assistant-ui/react-data-stream": ">=0.9.0",
|
|
25
|
+
"@assistant-ui/react-markdown": ">=0.9.0",
|
|
26
|
+
"@assistant-ui/styles": ">=0.1.0",
|
|
27
|
+
"@copilotkit/react-core": ">=1.0.0",
|
|
28
|
+
"@copilotkit/react-ui": ">=1.0.0",
|
|
29
|
+
"@copilotkit/runtime": ">=1.0.0",
|
|
30
|
+
"@magicul/react-chat-stream": ">=0.5.0",
|
|
31
|
+
"@heroicons/react": ">=2.0.0",
|
|
32
|
+
"@radix-ui/react-slot": ">=1.0.0",
|
|
33
|
+
"@radix-ui/react-tooltip": ">=1.0.0",
|
|
34
|
+
"framer-motion": ">=11.0.0",
|
|
35
|
+
"lucide-react": ">=0.480.0",
|
|
36
|
+
"react-resizable-panels": ">=3.0.0",
|
|
37
|
+
"react-syntax-highlighter": ">=15.5.0",
|
|
38
|
+
"ai": ">=5.0.0"
|
|
39
|
+
},
|
|
40
|
+
"scripts": {
|
|
41
|
+
"dev": "vite",
|
|
42
|
+
"build": "tsc -b && vite build",
|
|
43
|
+
"lint": "eslint .",
|
|
44
|
+
"preview": "vite preview"
|
|
39
45
|
},
|
|
40
46
|
"dependencies": {
|
|
41
47
|
"@ag-ui/mastra": "^0.0.10",
|
|
@@ -73,11 +79,5 @@
|
|
|
73
79
|
"typescript": "~5.8.3",
|
|
74
80
|
"typescript-eslint": "^8.39.1",
|
|
75
81
|
"vite": "^7.1.2"
|
|
76
|
-
},
|
|
77
|
-
"scripts": {
|
|
78
|
-
"dev": "vite",
|
|
79
|
-
"build": "tsc -b && vite build",
|
|
80
|
-
"lint": "eslint .",
|
|
81
|
-
"preview": "vite preview"
|
|
82
82
|
}
|
|
83
|
-
}
|
|
83
|
+
}
|