This guide explains how to work with OpenAPI-generated tools via the StackOne (typescript) AI SDK.
The OpenAPIToolSet class allows you to parse OpenAPI specifications as tools from either a local file or a remote URL.
Loading from a File
import { OpenAPIToolSet } from "@stackone/ai";
import path from "node:path";
// Create the toolset
const toolset = new OpenAPIToolSet({
filePath: path.join(__dirname, "path/to/openapi-spec.json");
});
// Get all tools
const allTools = toolset.getTools();
// Get filtered tools
const filteredTools = toolset.getTools("user_*");
Loading from a URL
import { OpenAPIToolSet } from "@stackone/ai";
// Create the toolset using the factory method
const toolset = await OpenAPIToolSet.fromUrl({
url: "https://example.com/path/to/openapi-spec.json",
});
Authentication Options
The OpenAPIToolSet supports easy usage of bot Basic and Bearer authentication:
// Basic Authentication
const toolsetWithBasicAuth = new OpenAPIToolSet({
filePath: "path/to/spec.json",
authentication: {
type: "basic",
credentials: {
username: "user",
password: "pass",
},
},
});
// Bearer Authentication
const toolsetWithBearerAuth = await OpenAPIToolSet.fromUrl({
url: "https://example.com/spec.json",
authentication: {
type: "bearer",
credentials: {
token: "your-bearer-token",
},
},
});
You can also directly write to the toolset headers:
const toolsetWithHeaders = new OpenAPIToolSet({
filePath: "path/to/spec.json",
headers: {
Authorization: "Bearer your-bearer-token",
},
});