@firefliesai/schema-forge
Version:
Transform TypeScript classes into JSON Schema definitions with automatic support for OpenAI, Anthropic, and Google Gemini function calling (tool) formats
41 lines (40 loc) • 3.55 kB
TypeScript
/**
* Schema Forge - TypeScript to JSON Schema conversion
*
* Main exports for schema-forge library
*/
export * from './types';
export { classToJsonSchema } from './core';
export { addSchemaProperty, ToolMeta, ToolProp, updateSchemaProperty } from './decorators';
export { classToAnthropicTool, classToGeminiOldResponseSchema, classToGeminiOldTool, classToGeminiResponseSchema, classToGeminiTool, classToGeminiVertexResponseSchema, classToGeminiVertexTool, classToOpenAIResponseApiTextSchema, classToOpenAIResponseApiTool, classToOpenAIResponseFormatJsonSchema, classToOpenAITool, jsonSchemaToAnthropicTool, jsonSchemaToGeminiOldResponseSchema, jsonSchemaToGeminiOldTool, jsonSchemaToGeminiResponseSchema, jsonSchemaToGeminiTool, jsonSchemaToGeminiVertexResponseSchema, jsonSchemaToGeminiVertexTool, jsonSchemaToOpenAIResponseApiTextSchema, jsonSchemaToOpenAIResponseApiTool, jsonSchemaToOpenAIResponseFormat, jsonSchemaToOpenAITool, openAIResponseApiToolToJsonSchema, openAIToolToJsonSchema, } from './llm-formats';
export { prepareForOpenAIStructuredOutput } from './utils';
export { classToOpenAITool as classToLLMTool } from './llm-formats';
import { classToJsonSchema } from './core';
import { addSchemaProperty, ToolMeta, ToolProp, updateSchemaProperty } from './decorators';
import { classToAnthropicTool, classToGeminiResponseSchema, classToGeminiTool, classToOpenAIResponseApiTextSchema, classToOpenAIResponseApiTool, classToOpenAIResponseFormatJsonSchema, classToOpenAITool, jsonSchemaToAnthropicTool, jsonSchemaToGeminiResponseSchema, jsonSchemaToGeminiTool, jsonSchemaToOpenAIResponseApiTextSchema, jsonSchemaToOpenAIResponseApiTool, jsonSchemaToOpenAIResponseFormat, jsonSchemaToOpenAITool, openAIResponseApiToolToJsonSchema, openAIToolToJsonSchema } from './llm-formats';
import { prepareForOpenAIStructuredOutput } from './utils';
export declare const Schema: {
readonly ToolMeta: typeof ToolMeta;
readonly ToolProp: typeof ToolProp;
readonly classToJsonSchema: typeof classToJsonSchema;
readonly prepareForOpenAIStructuredOutput: typeof prepareForOpenAIStructuredOutput;
readonly updateSchemaProperty: typeof updateSchemaProperty;
readonly addSchemaProperty: typeof addSchemaProperty;
readonly classToOpenAITool: typeof classToOpenAITool;
readonly classToOpenAIResponseFormatJsonSchema: typeof classToOpenAIResponseFormatJsonSchema;
readonly classToOpenAIResponseApiTool: typeof classToOpenAIResponseApiTool;
readonly classToOpenAIResponseApiTextSchema: typeof classToOpenAIResponseApiTextSchema;
readonly classToGeminiTool: typeof classToGeminiTool;
readonly classToGeminiResponseSchema: typeof classToGeminiResponseSchema;
readonly classToAnthropicTool: typeof classToAnthropicTool;
readonly jsonSchemaToOpenAITool: typeof jsonSchemaToOpenAITool;
readonly jsonSchemaToOpenAIResponseFormat: typeof jsonSchemaToOpenAIResponseFormat;
readonly jsonSchemaToOpenAIResponseApiTool: typeof jsonSchemaToOpenAIResponseApiTool;
readonly jsonSchemaToOpenAIResponseApiTextSchema: typeof jsonSchemaToOpenAIResponseApiTextSchema;
readonly jsonSchemaToGeminiTool: typeof jsonSchemaToGeminiTool;
readonly jsonSchemaToGeminiResponseSchema: typeof jsonSchemaToGeminiResponseSchema;
readonly jsonSchemaToAnthropicTool: typeof jsonSchemaToAnthropicTool;
readonly openAIToolToJsonSchema: typeof openAIToolToJsonSchema;
readonly openAIResponseApiToolToJsonSchema: typeof openAIResponseApiToolToJsonSchema;
readonly classToLLMTool: typeof classToOpenAITool;
};