Skip to content

Latest commit

 

History

History

openapi-to-ts

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Agentic

Generate an Agentic TypeScript client from an OpenAPI spec.

Build Status NPM MIT License Prettier Code Formatting

Agentic

See the github repo or docs for more info.

Intro

@agentic/openapi-to-ts is a tool for converting OpenAPI specs into minimal, self-contained Agentic TypeScript clients. API operations are converted to AIFunction-compatible methods and all types are converted to Zod schemas.

The resulting tools are compatible with all leading TS AI SDKs.

Example Usage

# local development
tsx bin/openapi-to-ts.ts fixtures/openapi/3.0/notion.json -o fixtures/generated

# published version
npx @agentic/openapi-to-ts fixtures/openapi/3.0/notion.json -o fixtures/generated

# npm install -g version
npm install -g @agentic/openapi-to-ts
openapi-to-ts fixtures/openapi/3.0/notion.json -o fixtures/generated

Most OpenAPI specs should be supported, but I've made no attempt to maximize robustness. This tool is meant to generate Agentic TS clients which are 99% of the way there, but some tweaking may be necessary post-generation.

Some things you may want to tweak:

  • simplifying the zod parameters accepted by @aiFunction input schemas since LLMs tend to do better with a few, key parameters
  • removing unused API endpoints & associated types that you don't want to expose to LLMs

TODO

  • convert openapi parsing & utils to https://github.com/readmeio/oas
  • support filters
  • Convert HTML in descriptions to markdown
  • Properly format multiline function comments
  • Debug stripe schema issue
  • Fix json-schema-to-zod withJsdocs issue (github example) where jsdocs aren't escaped for JS block comments
  • Fix github example issue with nullable() zod schema parameter
  • Fix github json-schema-to-zod example issue with string enum given default value true as a non-string boolean
  • Fix github gists/get-revision missing path parameter because of ref
  • Fix github activity_star_repo_for_authenticated_user path seems incorrect

License

MIT © Travis Fischer