@saw-protocol/toolbox-openai
v1.0.8
Published
IToolbox adapter exposing native OpenAI Function Calling schemas
Readme
@saw-protocol/toolbox-openai
IToolbox adapter exposing native OpenAI Function Calling schemas. Converts SAWP wallet capabilities to OpenAI function definitions.
Installation
npm install @saw-protocol/toolbox-openaiUsage
import { OpenAIToolbox } from '@saw-protocol/toolbox-openai';
import { Agent } from '@saw-protocol/sdk';
import OpenAI from 'openai';
const toolbox = new OpenAIToolbox(agent);
// Get tools in OpenAI Function Calling format
const tools = toolbox.getTools();
// Use with OpenAI
const openai = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });
const response = await openai.chat.completions.create({
model: 'gpt-4o',
messages: [{ role: 'user', content: 'Swap 0.1 SOL to USDC' }],
tools: tools,
});
// Handle tool calls
for (const toolCall of response.choices[0].message.tool_calls || []) {
const result = await toolbox.executeTool(
toolCall.function.name,
JSON.parse(toolCall.function.arguments)
);
}
// Get system prompt context
const systemPrompt = toolbox.getSystemPromptContext();Tool Format
Returns tools in OpenAI's function calling format:
{
"type": "function",
"function": {
"name": "solana_transfer",
"description": "Transfers SOL to a destination address",
"parameters": { ... }
}
}