@pelican.ts/ai
v0.1.1
Published
Vercel AI SDK tools for the Pelican panel Client API
Readme
@pelican.ts/ai
Vercel AI SDK v6 tools for the Pelican panel Client API (PelicanAPIClient).
Installation
npm install @pelican.ts/ai @pelican.ts/sdk aiPeer dependencies: ai@^6, @pelican.ts/sdk@^0.5.0.
Usage
import {PelicanAPIClient} from "@pelican.ts/sdk/api"
import {
createPelicanClientTools,
createPelicanServerTools
} from "@pelican.ts/ai"
import {generateText, stepCountIs} from "ai"
const client = new PelicanAPIClient("https://panel.example.com", "ptlc_...")
// All client API tools (~69). Server-scoped tools require `serverUuid` in each call.
const tools = createPelicanClientTools(client, {
exclude: ["pelican_client_server_settings_reinstall"]
})
// Or bind a single server (inputs omit `serverUuid`)
const serverTools = createPelicanServerTools(client, "abc12345")
await generateText({
model: "anthropic/claude-sonnet-4",
tools: {...tools, ...serverTools},
stopWhen: stepCountIs(10),
prompt: "List my servers and show resource usage for the first one"
})Tool coverage
- Account, API keys, SSH keys
- Server info, power, console command, resources
- Files, databases, backups, schedules, allocations, subusers, startup, settings, activity
Not included: WebSocket console streaming (ServerWebsocket), Application API.
Binary data
server_files_downloadandserver_backups_downloadreturn{ base64, byteLength }.server_files_uploadaccepts{ filename, contentBase64, root? }.
Development
From the monorepo root:
bun run build:api # build SDK types used by this package
cd packages/ai && bun run build
bun test # in packages/aiRegenerate bindings after Client API changes:
bun run generate-ai-tools