@trymirai/uzu-schemas
v0.0.1
Published
TypeScript types and parsers generated from JSON schemas.
Readme
@trymirai/uzu-schemas
TypeScript types and parsers generated from JSON schemas.
Installation
npm install @trymirai/uzu-schemasGenerated Types
This package includes TypeScript types and parsers for the following schemas:
- Agent
- Approval
- Classifier
- Common
- End
- Graph
- IfElse
- Pipeline
- Router
- SetState
- Start
- Subgraph
- Transform
- While
Usage
Importing Types and Parsers
import { Agent, parseAgent } from '@trymirai/uzu-schemas';Validating Data
Each parser function takes unknown data and returns a typed parsing result:
import { parseAgent } from '@trymirai/uzu-schemas';
const data = {
};
const result = parseAgent(data);
if (result.success) {
console.log('Valid data:', result.data);
} else {
console.error('Parsing errors:', result.errors);
}Parsing Result Interface
All parsers return a ParsingResult object with the following structure:
interface ParsingResult {
success: boolean;
data?: Agent;
errors?: ParsingError[];
}
interface ParsingError {
instancePath: string;
schemaPath: string;
keyword: string;
params: Record<string, unknown>;
message?: string;
}Example: Successful Parsing
const validData = {
};
const result = parseAgent(validData);
console.log(result);Example: Failed Parsing
const invalidData = {
};
const result = parseAgent(invalidData);
console.log(result);Available Parsers
parseAgent(data: unknown): ParsingResultparseApproval(data: unknown): ParsingResultparseClassifier(data: unknown): ParsingResultparseCommon(data: unknown): ParsingResultparseEnd(data: unknown): ParsingResultparseGraph(data: unknown): ParsingResultparseIfElse(data: unknown): ParsingResultparsePipeline(data: unknown): ParsingResultparseRouter(data: unknown): ParsingResultparseSetState(data: unknown): ParsingResultparseStart(data: unknown): ParsingResultparseSubgraph(data: unknown): ParsingResultparseTransform(data: unknown): ParsingResultparseWhile(data: unknown): ParsingResult
TypeScript Support
All types are fully typed with strict TypeScript definitions. Import them directly:
import type { Agent } from '@trymirai/uzu-schemas';
import type { Approval } from '@trymirai/uzu-schemas';
import type { Classifier } from '@trymirai/uzu-schemas';
import type { Common } from '@trymirai/uzu-schemas';
import type { End } from '@trymirai/uzu-schemas';
import type { Graph } from '@trymirai/uzu-schemas';
import type { IfElse } from '@trymirai/uzu-schemas';
import type { Pipeline } from '@trymirai/uzu-schemas';
import type { Router } from '@trymirai/uzu-schemas';
import type { SetState } from '@trymirai/uzu-schemas';
import type { Start } from '@trymirai/uzu-schemas';
import type { Subgraph } from '@trymirai/uzu-schemas';
import type { Transform } from '@trymirai/uzu-schemas';
import type { While } from '@trymirai/uzu-schemas';Generated with
This package is automatically generated from JSON schemas using json-schema-to-typescript and Ajv.
