@ziro-agent/openapi
v0.4.1
Published
Generate Ziro tools from an OpenAPI 3.x document (verbs + JSON body slice per RFC 0010).
Readme
@ziro-agent/openapi
Generate defineTool instances from an OpenAPI 3.x document (RFC 0010).
Supported slice
- Operations with
operationIdon each verb you emit. - GET, POST, PUT, PATCH, DELETE, HEAD (lowercase keys under
paths). - Path-level
parametersmerged into each operation; operation parameters override path parameters on the samein+name. - Query + path
{param}substitution. application/jsonbodies withtype: object(inline or#/components/schemas/...via$ref).requestBody: { $ref: '#/components/requestBodies/...' }resolved againstcomponents.requestBodies.bearerToken→Authorization: Bearer …- Non–safe verbs set
mutates: true(RFC C1).
Not supported yet: allOf / oneOf, multipart, OAuth flows, external $ref URLs.
import { toolsFromOpenAPISpec } from '@ziro-agent/openapi';
const tools = toolsFromOpenAPISpec(spec, {
baseUrl: 'https://api.example.com',
bearerToken: process.env.API_TOKEN,
});import { toolsFromOpenAPIUrl } from '@ziro-agent/openapi';
const tools = await toolsFromOpenAPIUrl('https://example.com/openapi.json', {
baseUrl: 'https://api.example.com',
});