mirror of
https://github.com/ruvnet/RuVector.git
synced 2026-05-24 22:15:18 +00:00
Major additions: - Complete Next.js studio application with 1600+ components - Docker support (Dockerfile.combined, docker-compose.yml) - GCP deployment documentation and benchmarks - SQL benchmark scripts for performance testing - Sentry integration for monitoring - Comprehensive test suite and mocks Studio features: - Dashboard and admin interfaces - Data visualization components - Authentication and user management - API integration with RuVector backend - Static data and public assets 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
103 lines
2.8 KiB
TypeScript
103 lines
2.8 KiB
TypeScript
import { EdgeFunction } from 'data/edge-functions/edge-function-query'
|
|
|
|
export const generateCLICommands = ({
|
|
selectedFunction,
|
|
functionUrl,
|
|
anonKey,
|
|
}: {
|
|
selectedFunction?: EdgeFunction
|
|
functionUrl: string
|
|
anonKey: string
|
|
}) => {
|
|
const managementCommands: any = [
|
|
{
|
|
command: `supabase functions deploy ${selectedFunction?.slug}`,
|
|
description: 'This will overwrite the deployed function with your new function',
|
|
jsx: () => {
|
|
return (
|
|
<>
|
|
<span className="text-brand-600">supabase</span> functions deploy{' '}
|
|
{selectedFunction?.slug}
|
|
</>
|
|
)
|
|
},
|
|
comment: 'Deploy a new version',
|
|
},
|
|
{
|
|
command: `supabase functions delete ${selectedFunction?.slug}`,
|
|
description: 'This will remove the function and all the logs associated with it',
|
|
jsx: () => {
|
|
return (
|
|
<>
|
|
<span className="text-brand-600">supabase</span> functions delete{' '}
|
|
{selectedFunction?.slug}
|
|
</>
|
|
)
|
|
},
|
|
comment: 'Delete the function',
|
|
},
|
|
]
|
|
|
|
const secretCommands: any = [
|
|
{
|
|
command: `supabase secrets list`,
|
|
description: 'This will list all the secrets for your project',
|
|
jsx: () => {
|
|
return (
|
|
<>
|
|
<span className="text-brand-600">supabase</span> secrets list
|
|
</>
|
|
)
|
|
},
|
|
comment: 'View all secrets',
|
|
},
|
|
{
|
|
command: `supabase secrets set NAME1=VALUE1 NAME2=VALUE2`,
|
|
description: 'This will set secrets for your project',
|
|
jsx: () => {
|
|
return (
|
|
<>
|
|
<span className="text-brand-600">supabase</span> secrets set NAME1=VALUE1 NAME2=VALUE2
|
|
</>
|
|
)
|
|
},
|
|
comment: 'Set secrets for your project',
|
|
},
|
|
{
|
|
command: `supabase secrets unset NAME1 NAME2 `,
|
|
description: 'This will delete secrets for your project',
|
|
jsx: () => {
|
|
return (
|
|
<>
|
|
<span className="text-brand-600">supabase</span> secrets unset NAME1 NAME2
|
|
</>
|
|
)
|
|
},
|
|
comment: 'Unset secrets for your project',
|
|
},
|
|
]
|
|
|
|
const invokeCommands: any = [
|
|
{
|
|
command: `curl -L -X POST '${functionUrl}' -H 'Authorization: Bearer ${
|
|
anonKey ?? '[YOUR ANON KEY]'
|
|
}' --data '{"name":"Functions"}'`,
|
|
description: 'Invokes the hello function',
|
|
jsx: () => {
|
|
return (
|
|
<>
|
|
<span className="text-brand-600">curl</span> -L -X POST '{functionUrl}'{' '}
|
|
{selectedFunction?.verify_jwt
|
|
? `-H
|
|
'Authorization: Bearer [YOUR ANON KEY]' `
|
|
: ''}
|
|
{`--data '{"name":"Functions"}'`}
|
|
</>
|
|
)
|
|
},
|
|
comment: 'Invoke your function',
|
|
},
|
|
]
|
|
|
|
return { managementCommands, secretCommands, invokeCommands }
|
|
}
|