mirror of
https://github.com/supabase/supabase.git
synced 2026-10-14 21:59:16 +03:00
* try a really long context window to maximize caching * update examples * attempt to update packages and useChat * update endpoints * update zod * zod * update to v5 * message update * Revert "zod" This reverts commitec39bac6b6. * revert zod * zod i * fix complete endpoints * remove async * change to content * type cleanup * Revert the package bumps to rebuild them. * Bump zod to 2.25.76 in all packages. * Bump openai in all packages. * Bump ai and ai-related packages. * Remove unneeded files. * Fix the rest of the migration stuff. * Prettier fixes. * testing new gptoss models * sonnet as pro * back to 3.7 * revert test * add policy list tool * fix * refactor * ai sdk 5 fixes * refactor complete endpoint * edge function prompt * remove example * use limited model for completions * remove duplicate * Update bedrock.ts Co-authored-by: divit <27228526+delgado3d@users.noreply.github.com> * add default check * only add prefix if more then one region * temp use api * refactor to use openai api * test * remove unused import * Prettier lint * Fix test * revert back to bedrock * Tiny style fix for spacing of code blocks from edit message button * use conversation * try generate text normally * prompt adjust * add list style to prompt * prompt adjust * status * prompt adjust emphasise display query * rendering * prompt * ui updates * update prompts * more ui * ui finesse * fix * use streamdown * remove package * refactor header * copy * prompt adjust * remove package * prompt adjust * Revert "use streamdown" This reverts commit22d0e88e54. * remove streamdown * margin adjust * Nit * Minor clean up --------- Co-authored-by: Jordi Enric <jordi.err@gmail.com> Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com> Co-authored-by: divit <27228526+delgado3d@users.noreply.github.com> Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
69 lines
2.0 KiB
TypeScript
69 lines
2.0 KiB
TypeScript
import { motion } from 'framer-motion'
|
|
import { FileText } from 'lucide-react'
|
|
|
|
import { Button } from 'ui'
|
|
import { type SqlSnippet } from './AIAssistant.types'
|
|
import { codeSnippetPrompts, defaultPrompts } from './AIAssistant.prompts'
|
|
|
|
interface AIOnboardingProps {
|
|
sqlSnippets?: SqlSnippet[]
|
|
suggestions?: {
|
|
title?: string
|
|
prompts?: { label: string; description: string }[]
|
|
}
|
|
onValueChange: (value: string) => void
|
|
onFocusInput?: () => void
|
|
}
|
|
|
|
export const AIOnboarding = ({
|
|
sqlSnippets,
|
|
suggestions,
|
|
onValueChange,
|
|
onFocusInput,
|
|
}: AIOnboardingProps) => {
|
|
const prompts = suggestions?.prompts
|
|
? suggestions.prompts.map((suggestion) => ({
|
|
title: suggestion.label,
|
|
prompt: suggestion.description,
|
|
icon: <FileText strokeWidth={1.25} size={14} className="!w-4 !h-4" />,
|
|
}))
|
|
: sqlSnippets && sqlSnippets.length > 0
|
|
? codeSnippetPrompts
|
|
: defaultPrompts
|
|
|
|
return (
|
|
<div className="w-full mb-6">
|
|
<div className="px-4 mb-4">
|
|
<h2 className="heading-section text-foreground mb-1">How can I assist you?</h2>
|
|
<p className="text-foreground-light text-sm">
|
|
Generate SQL, RLS policies and edge functions, debug issues or check on your project
|
|
health.
|
|
</p>
|
|
</div>
|
|
<div>
|
|
{prompts.map((item, index) => (
|
|
<motion.div
|
|
key={index}
|
|
initial={{ y: 5, opacity: 0 }}
|
|
animate={{ y: 0, opacity: 1 }}
|
|
transition={{ duration: 0.3, delay: index * 0.05 }}
|
|
>
|
|
<Button
|
|
size="small"
|
|
type="text"
|
|
className="w-full justify-start"
|
|
icon={<FileText strokeWidth={1.5} size={14} className="text-foreground-light" />}
|
|
onClick={() => {
|
|
onValueChange(item.prompt)
|
|
onFocusInput?.()
|
|
}}
|
|
>
|
|
{item.title}
|
|
</Button>
|
|
</motion.div>
|
|
))}
|
|
</div>
|
|
</div>
|
|
)
|
|
}
|