Major changes to the TPMJS specification: 1. Auto-Discovery: The `tools` array is now optional. If omitted, TPMJS automatically scans package exports and registers any export with `description` and `execute` properties (standard AI SDK tool format). 2. Renamed `exportName` to `name` in tool definitions for cleaner spec. 3. Added `/list-exports` endpoint to Railway executor that: - Lists all exports from a package - Identifies valid AI SDK tools - Extracts descriptions for auto-discovered tools 4. Added `toolDiscoverySource` field to track 'auto' vs 'manual' discovery. 5. Updated tool page UI with: - Auto-discovery warning banner - Badge showing discovery source 6. Updated all documentation pages (docs, spec, publish) to reflect: - Optional tools array with auto-discovery - Use of `name` instead of `exportName` - Auto-extraction of schema and description 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| prisma | ||
| src | ||
| .env.example | ||
| check-tool.js | ||
| check-tool.mjs | ||
| package.json | ||
| README.md | ||
| sync-single-tool.mjs | ||
| test-query.mjs | ||
| tsconfig.json | ||
@tpmjs/db
Database package for TPMJS NPM Registry. Provides Prisma ORM setup and database client for storing tool metadata.
Setup
1. Create Neon Database
- Go to https://neon.tech/
- Create a new project
- Copy the connection string
2. Configure Environment
cp .env.example .env
# Edit .env and add your DATABASE_URL
3. Run Migrations
pnpm db:migrate
pnpm db:seed
Usage
import { prisma } from '@tpmjs/db';
// Query tools
const tools = await prisma.tool.findMany({
where: {
category: 'web-scraping',
isOfficial: true,
},
orderBy: {
qualityScore: 'desc',
},
take: 10,
});
// Update sync checkpoint
await prisma.syncCheckpoint.update({
where: { source: 'changes-feed' },
data: {
checkpoint: {
sequence: '12345',
lastProcessed: new Date().toISOString(),
},
},
});
Scripts
pnpm db:generate- Generate Prisma clientpnpm db:push- Push schema to database (for development)pnpm db:migrate- Create and run migrations (for production)pnpm db:studio- Open Prisma Studio GUIpnpm db:seed- Seed initial data
Schema
Tool
Stores NPM packages with TPMJS metadata from their package.json.
SyncCheckpoint
Tracks progress of sync workers (changes feed, keyword search, metrics).
SyncLog
Audit trail of all sync operations.