tpmjs/packages/tools/official/supabase/package.json
Thomas Davis e42bbdff34 feat(supabase): add Supabase REST API tool package with 10 tools
Query, insert, update, delete, upsert rows, call RPC functions,
count rows, list tables, and search with ilike pattern matching
via the PostgREST API.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 22:09:27 +10:00

107 lines
2.8 KiB
JSON

{
"name": "@tpmjs/tools-supabase",
"version": "0.1.0",
"description": "Supabase REST API tools for AI agents — query, insert, update, delete rows, call RPC functions, and more",
"type": "module",
"keywords": [
"tpmjs",
"ops",
"ai",
"supabase",
"database",
"postgres"
],
"exports": {
".": {
"types": "./dist/index.d.ts",
"default": "./dist/index.js"
}
},
"files": [
"dist"
],
"scripts": {
"build": "tsup",
"dev": "tsup --watch",
"type-check": "tsc --noEmit",
"clean": "rm -rf dist .turbo"
},
"devDependencies": {
"@tpmjs/tsconfig": "workspace:*",
"tsup": "^8.5.1",
"typescript": "^5.9.3"
},
"dependencies": {
"ai": "6.0.49"
},
"publishConfig": {
"access": "public"
},
"repository": {
"type": "git",
"url": "https://github.com/tpmjs/tpmjs.git",
"directory": "packages/tools/official/supabase"
},
"homepage": "https://tpmjs.com",
"license": "MIT",
"tpmjs": {
"category": "ops",
"frameworks": [
"vercel-ai"
],
"env": [
{
"name": "SUPABASE_URL",
"description": "Supabase project URL (e.g. https://xyz.supabase.co)",
"required": true
},
{
"name": "SUPABASE_SERVICE_ROLE_KEY",
"description": "Supabase service role key for full database access",
"required": true
}
],
"tools": [
{
"name": "queryRows",
"description": "Query rows from a Supabase table with filtering, ordering, and pagination."
},
{
"name": "getRowById",
"description": "Get a single row from a Supabase table by its primary key value."
},
{
"name": "insertRows",
"description": "Insert one or more rows into a Supabase table and return the inserted data."
},
{
"name": "updateRows",
"description": "Update rows in a Supabase table matching a PostgREST filter condition."
},
{
"name": "deleteRows",
"description": "Delete rows from a Supabase table matching a PostgREST filter condition."
},
{
"name": "upsertRows",
"description": "Insert or update rows in a Supabase table using merge-duplicates strategy."
},
{
"name": "callRpc",
"description": "Call a Supabase PostgreSQL function (RPC) with optional parameters."
},
{
"name": "countRows",
"description": "Count rows in a Supabase table, optionally filtered by conditions."
},
{
"name": "listTables",
"description": "List all available tables in the Supabase database via the OpenAPI schema."
},
{
"name": "searchRows",
"description": "Search rows in a Supabase table using case-insensitive pattern matching."
}
]
}
}