mirror of
https://github.com/Significant-Gravitas/AutoGPT.git
synced 2026-02-12 15:55:03 -05:00
### Changes 🏗️ - Added AI SDK integration for chat streaming with proper message handling - Implemented custom to_sse method in StreamToolOutputAvailable to exclude non-spec fields - Modified stream_chat_completion to reuse message IDs for tool call continuations - Created new Copilot 2.0 UI with AI SDK React components - Added streamdown and related packages for markdown rendering - Built reusable conversation and message components for the chat interface - Added support for tool output display in the chat UI ### Checklist 📋 #### For code changes: - [x] I have clearly listed my changes in the PR description - [x] I have made a test plan - [x] I have tested my changes according to the test plan: - [x] Start a new chat session and verify streaming works correctly - [x] Test tool calls and verify they display properly in the UI - [x] Verify message continuations don't create duplicate messages - [x] Test markdown rendering with code blocks and other formatting - [x] Verify the UI is responsive and scrolls correctly #### For configuration changes: - [x] `.env.default` is updated or already compatible with my changes - [x] `docker-compose.yml` is updated or already compatible with my changes - [x] I have included a list of my configuration changes in the PR description (under **Changes**) --------- Co-authored-by: Lluis Agusti <hi@llu.lu> Co-authored-by: Ubbe <hi@ubbe.dev>
195 lines
5.2 KiB
TypeScript
195 lines
5.2 KiB
TypeScript
import scrollbar from "tailwind-scrollbar";
|
|
import type { Config } from "tailwindcss";
|
|
import tailwindcssAnimate from "tailwindcss-animate";
|
|
import { colors } from "./src/components/styles/colors";
|
|
|
|
const config = {
|
|
darkMode: ["class", ".dark-mode"], // ignore dark: prefix classes for now until we fully support dark mode
|
|
content: ["./src/**/*.{ts,tsx}"],
|
|
prefix: "",
|
|
theme: {
|
|
container: {
|
|
center: true,
|
|
padding: "2rem",
|
|
screens: {
|
|
"2xl": "1400px",
|
|
},
|
|
},
|
|
extend: {
|
|
fontFamily: {
|
|
sans: ["var(--font-geist-sans)"],
|
|
mono: ["var(--font-geist-mono)"],
|
|
poppins: ["var(--font-poppins)"],
|
|
},
|
|
colors: {
|
|
...colors,
|
|
border: "hsl(var(--border))",
|
|
input: "hsl(var(--input))",
|
|
ring: "hsl(var(--ring))",
|
|
background: "hsl(var(--background))",
|
|
foreground: "hsl(var(--foreground))",
|
|
primary: {
|
|
DEFAULT: "hsl(var(--primary))",
|
|
foreground: "hsl(var(--primary-foreground))",
|
|
},
|
|
secondary: {
|
|
DEFAULT: "hsl(var(--secondary))",
|
|
foreground: "hsl(var(--secondary-foreground))",
|
|
},
|
|
destructive: {
|
|
DEFAULT: "hsl(var(--destructive))",
|
|
foreground: "hsl(var(--destructive-foreground))",
|
|
},
|
|
muted: {
|
|
DEFAULT: "hsl(var(--muted))",
|
|
foreground: "hsl(var(--muted-foreground))",
|
|
},
|
|
accent: {
|
|
DEFAULT: "hsl(var(--accent))",
|
|
foreground: "hsl(var(--accent-foreground))",
|
|
},
|
|
popover: {
|
|
DEFAULT: "hsl(var(--popover))",
|
|
foreground: "hsl(var(--popover-foreground))",
|
|
},
|
|
card: {
|
|
DEFAULT: "hsl(var(--card))",
|
|
foreground: "hsl(var(--card-foreground))",
|
|
},
|
|
customGray: {
|
|
"100": "#d9d9d9",
|
|
"200": "#a8a8a8",
|
|
"300": "#878787",
|
|
"400": "#646464",
|
|
"500": "#474747",
|
|
"600": "#282828",
|
|
"700": "#272727",
|
|
},
|
|
sidebar: {
|
|
DEFAULT: "hsl(var(--sidebar-background))",
|
|
foreground: "hsl(var(--sidebar-foreground))",
|
|
primary: "hsl(var(--sidebar-primary))",
|
|
"primary-foreground": "hsl(var(--sidebar-primary-foreground))",
|
|
accent: "hsl(var(--sidebar-accent))",
|
|
"accent-foreground": "hsl(var(--sidebar-accent-foreground))",
|
|
border: "hsl(var(--sidebar-border))",
|
|
ring: "hsl(var(--sidebar-ring))",
|
|
},
|
|
},
|
|
spacing: {
|
|
"0": "0rem",
|
|
"1": "0.25rem",
|
|
"2": "0.5rem",
|
|
"3": "0.75rem",
|
|
"4": "1rem",
|
|
"5": "1.25rem",
|
|
"6": "1.5rem",
|
|
"7": "1.75rem",
|
|
"8": "2rem",
|
|
"9": "2.25rem",
|
|
"10": "2.5rem",
|
|
"11": "2.75rem",
|
|
"12": "3rem",
|
|
"14": "3.5rem",
|
|
"16": "4rem",
|
|
"18": "4.5rem",
|
|
"20": "5rem",
|
|
"24": "6rem",
|
|
"28": "7rem",
|
|
"32": "8rem",
|
|
"36": "9rem",
|
|
"40": "10rem",
|
|
"44": "11rem",
|
|
"48": "12rem",
|
|
"52": "13rem",
|
|
"56": "14rem",
|
|
"60": "15rem",
|
|
"64": "16rem",
|
|
"68": "17rem",
|
|
"70": "17.5rem",
|
|
"71": "17.75rem",
|
|
"72": "18rem",
|
|
"76": "19rem",
|
|
"80": "20rem",
|
|
"96": "24rem",
|
|
"0.5": "0.125rem",
|
|
"1.5": "0.375rem",
|
|
"2.5": "0.625rem",
|
|
"3.5": "0.875rem",
|
|
"7.5": "1.875rem",
|
|
"8.5": "2.125rem",
|
|
},
|
|
borderRadius: {
|
|
xsmall: "0.25rem",
|
|
small: "0.5rem",
|
|
medium: "0.75rem",
|
|
large: "1rem",
|
|
xlarge: "1.25rem",
|
|
"2xlarge": "1.5rem",
|
|
full: "9999px",
|
|
lg: "var(--radius)",
|
|
md: "calc(var(--radius) - 2px)",
|
|
sm: "calc(var(--radius) - 4px)",
|
|
},
|
|
boxShadow: {
|
|
subtle: "0px 1px 2px 0px rgba(0,0,0,0.05)",
|
|
},
|
|
keyframes: {
|
|
"accordion-down": {
|
|
from: {
|
|
height: "0",
|
|
},
|
|
to: {
|
|
height: "var(--radix-accordion-content-height)",
|
|
},
|
|
},
|
|
"accordion-up": {
|
|
from: {
|
|
height: "var(--radix-accordion-content-height)",
|
|
},
|
|
to: {
|
|
height: "0",
|
|
},
|
|
},
|
|
"fade-in": {
|
|
"0%": {
|
|
opacity: "0",
|
|
},
|
|
"100%": {
|
|
opacity: "1",
|
|
},
|
|
},
|
|
shimmer: {
|
|
"0%": {
|
|
backgroundPosition: "200% 0",
|
|
},
|
|
"100%": {
|
|
backgroundPosition: "-200% 0",
|
|
},
|
|
},
|
|
loader: {
|
|
"0%": {
|
|
boxShadow: "0 0 0 0 rgba(0, 0, 0, 0.25)",
|
|
},
|
|
"100%": {
|
|
boxShadow: "0 0 0 30px rgba(0, 0, 0, 0)",
|
|
},
|
|
},
|
|
},
|
|
animation: {
|
|
"accordion-down": "accordion-down 0.2s ease-out",
|
|
"accordion-up": "accordion-up 0.2s ease-out",
|
|
"fade-in": "fade-in 0.2s ease-out",
|
|
shimmer: "shimmer 2s ease-in-out infinite",
|
|
loader: "loader 1s infinite",
|
|
},
|
|
transitionDuration: {
|
|
"2000": "2000ms",
|
|
},
|
|
},
|
|
},
|
|
plugins: [tailwindcssAnimate, scrollbar({ nocompatible: true })],
|
|
} satisfies Config;
|
|
|
|
export default config;
|