repo_description: Python SDK for AI agent monitoring, LLM cost tracking, benchmarking, and more. Integrates with most LLMs and agent frameworks including CrewAI, Agno, OpenAI Agents SDK, Langchain, Autogen, AG2, and CamelAI
repo_topics: agent agentops agents-sdk ai anthropic autogen cost-estimation crewai evals evaluation-metrics groq langchain llm mistral ollama openai openai-agents
code: /** @type {import('tailwindcss').Config} */
  module.exports = {
    darkMode: ['class'],
    content: [
      './pages/**/*.{ts,tsx}',
      './components/**/*.{ts,tsx}',
      './app/**/*.{ts,tsx}',
      './src/**/*.{ts,tsx}',
      './lib/**/*.{ts,tsx}',
      './hooks/**/*.{ts,tsx}',
    ],
    theme: {
      container: {
        center: true,
        padding: '2rem',
        screens: {
          '2xl': '1400px',
        },
      },
      extend: {
        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(217.41deg 61.15% 27.25%)',
            foreground: 'hsl(var(--muted-foreground))',
          },
          accent: {
            DEFAULT: 'hsl(var(--accent))',
            foreground: 'hsl(var(--accent-foreground))',
          },
          'primary-container': {
            DEFAULT: 'hsl(var(--primary-container))',
          },
          icons: {
            DEFAULT: 'hsl(var(--icons))',
          },
          'icon-white': {
            DEFAULT: 'hsl(var(--icon-white))',
          },
          border: {
            DEFAULT: 'hsl(var(--border))',
          },
          success: {
            DEFAULT: 'hsl(var(--success))',
          },
          warning: {
            DEFAULT: 'hsl(var(--warning))',
          },
          error: {
            DEFAULT: 'hsl(var(--error))',
          },
          popover: {
            DEFAULT: 'hsl(var(--popover))',
            foreground: 'hsl(var(--popover-foreground))',
          },
          card: {
            DEFAULT: 'hsl(var(--card))',
            foreground: 'hsl(var(--card-foreground))',
          },
          chart: {
            primary: {
              DEFAULT: 'hsl(var(--chart-1))',
              muted: 'hsl(var(--chart-3))',
            },
            secondary: {
              DEFAULT: 'hsl(var(--chart-2))',
              muted: 'hsl(var(--chart-4))',
            },
          },
        },
        fontFamily: {
          figtree: ['var(--font-figtree)'],
          nasalization: ['var(--font-nasalization)'],
        },
        transitionProperty: {
          width: 'width',
        },
        borderRadius: {
          lg: 'var(--radius)',
          md: 'calc(var(--radius) - 2px)',
          sm: 'calc(var(--radius) - 4px)',
        },
        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 },
          },
          'caret-blink': {
            '0%,70%,100%': { opacity: '1' },
            '20%,50%': { opacity: '0' },
          },
          'fade-in': {
            from: { opacity: 0 },
            to: { opacity: 1 },
          },
          'slide-in-up': {
            '0%': {
              transform: 'translateY(100%)',
              opacity: 0,
            },
            '100%': {
              transform: 'translateY(0)',
              opacity: 1,
            },
          },
          'pulse-subtle': {
            '0%, 100%': {
              boxShadow: '0 0 0 0 rgba(59, 130, 246, 0.4)'
            },
            '50%': {
              boxShadow: '0 0 0 4px rgba(59, 130, 246, 0.2)'
            },
          },
        },
        animation: {
          'accordion-down': 'accordion-down 0.2s ease-out',
          'accordion-up': 'accordion-up 0.2s ease-out',
          'caret-blink': 'caret-blink 1.25s ease-out infinite',
          'spin-fast': 'spin 0.5s linear infinite',
          'fade-in': 'fade-in .320s ease-in-out forwards',
          'slide-in-up': 'slide-in-up 0.3s ease-in-out forwards',
          'pulse-subtle': 'pulse-subtle 2s cubic-bezier(0.4, 0, 0.6, 1) infinite',
        },
        boxShadow: {
          'badge-inset': '0px 1px 0px 0px #FFFFFF inset',
          'glow-blue': '0 0 10px rgba(59, 130, 246, 0.5)',
        },
        backgroundImage: {
          'slider-button-gradient': 'linear-gradient(180deg, #E1E3F2 0%, #F3F4FF 100%)',
        },
      },
    },
    plugins: [
      require('tailwindcss-animate'),
      function ({ addUtilities }) {
        const newUtilities = {
          '.in-out': {
            'transition-property': 'all',
            'transition-timing-function': 'cubic-bezier(0.4, 0, 0.2, 1)',
            'transition-duration': '300ms',
          },
        };
        addUtilities(newUtilities);
      },
    ],
  };
  