mirror of
https://github.com/supabase/supabase.git
synced 2026-10-15 22:29:11 +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 commit ec39bac6b6.
* 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.
* add policy list tool
* refactor
* ai sdk 5 fixes
* refactor complete endpoint
* edge function prompt
* remove example
* slight prompt change
* Minor clean up
* More clean up
---------
Co-authored-by: Jordi Enric <jordi.err@gmail.com>
Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
35 lines
1.1 KiB
TypeScript
35 lines
1.1 KiB
TypeScript
import { AiOptInLevel } from 'hooks/misc/useOrgOptedIntoAi'
|
|
import { createSupabaseMCPClient } from '../supabase-mcp'
|
|
import { filterToolsByOptInLevel, toolSetValidationSchema } from '../tool-filter'
|
|
|
|
export const getMcpTools = async ({
|
|
accessToken,
|
|
projectRef,
|
|
aiOptInLevel,
|
|
}: {
|
|
accessToken: string
|
|
projectRef: string
|
|
aiOptInLevel: AiOptInLevel
|
|
}) => {
|
|
// If platform, fetch MCP client and tools which replace old local tools
|
|
const mcpClient = await createSupabaseMCPClient({
|
|
accessToken,
|
|
projectId: projectRef,
|
|
})
|
|
|
|
const availableMcpTools = await mcpClient.tools()
|
|
// Filter tools based on the (potentially modified) AI opt-in level
|
|
const allowedMcpTools = filterToolsByOptInLevel(availableMcpTools, aiOptInLevel)
|
|
|
|
// Validate that only known tools are provided
|
|
const { data: validatedTools, error: validationError } =
|
|
toolSetValidationSchema.safeParse(allowedMcpTools)
|
|
|
|
if (validationError) {
|
|
console.error('MCP tools validation error:', validationError)
|
|
throw new Error('Internal error: MCP tools validation failed')
|
|
}
|
|
|
|
return validatedTools
|
|
}
|