0.0.13 • Published 8 months ago
bitte-ai-spec v0.0.13
bitte-ai-spec
A TypeScript library for validating OpenAPI specifications with Bitte AI extensions. This package provides schemas, validation utilities, and types for working with OpenAPI specs that include the x-mb extension for AI agent configurations.
Installation
npm install bitte-ai-spec
# or
yarn add bitte-ai-spec
# or
pnpm add bitte-ai-specFeatures
- Validation of Bitte OpenAPI specification (OpenAPI 3.0 and 3.1 with
x-mbextension) - Zod schemas for runtime validation
- JSON Schema for static validation
- TypeScript types for type safety
- Support for Bitte AI's
x-mbextension - Utility functions for error formatting and spec fetching
Usage
Basic Validation
import { validateBittePluginSpec } from 'bitte-ai-spec';
// Validate an OpenAPI spec
const result = await validateBittePluginSpec(spec);
if (result.valid) {
console.log('Spec is valid!', result.schema);
} else {
console.error('Validation failed:', result.errorMessage);
}Using Types
import { BitteOpenAPISpec, BitteExtensionSchema } from 'bitte-ai-spec';
// Type your OpenAPI spec
const mySpec: BitteOpenAPISpec = {
openapi: "3.0.0",
info: {
title: "My API",
version: "1.0.0"
},
paths: {},
"x-mb": {
assistant: {
name: "My Assistant",
description: "An AI assistant",
instructions: "Help users with tasks"
}
}
};Fetching Remote Specs
import { fetchSpecWithRetry } from 'bitte-ai-spec';
// Fetch a remote spec with retry logic
const specContent = await fetchSpecWithRetry('https://api.example.com/openapi.json');API Reference
Main Exports
validateBittePluginSpec: Main validation function for OpenAPI specsBitteOpenAPISpec: TypeScript type for valid OpenAPI specs with x-mb extensionBitteExtensionSchema: TypeScript type for the x-mb extension schemaEXAMPLE_BITTE_SPEC: Reference example of a valid specfetchSpecWithRetry: Utility for fetching remote specs with retry logic
Schemas
bitteExtensionZodSchema: Zod schema for x-mb extensionbitteOpenAPISpecZodSchema: Zod schema for full OpenAPI specbitteExtensionJsonSchema: JSON Schema for x-mb extension
Utilities
formatZodError: Format Zod validation errorsformatOpenAPIError: Format OpenAPI validation errorsformatOpenAPIErrors: Format multiple OpenAPI validation errors
Development
# Install dependencies
pnpm install
# Run tests
pnpm test
# Build
pnpm build
# Type check
pnpm typecheck
# Development with watch mode
pnpm devContributing
Contributions are welcome! Please feel free to submit a Pull Request.