@perkos/schema-validation
v1.0.0
Published
Zod validation schemas for AI and payment services
Downloads
113
Maintainers
Readme
@perkos/schema-validation
Zod validation schemas for AI and payment services.
Installation
npm install @perkos/schema-validationUsage
AI Validators
import {
imageAnalyzeSchema,
imageGenerateSchema,
textSummarizeSchema,
validate,
safeValidate,
} from "@perkos/schema-validation";
// Or import specifically from ai subpath
import { codeGenerateSchema } from "@perkos/schema-validation/ai";
// Validate with parse (throws on error)
const input = validate(imageAnalyzeSchema, {
image: "https://example.com/image.jpg",
question: "What is in this image?",
});
// Safe validate (returns result object)
const result = safeValidate(imageGenerateSchema, requestBody);
if (result.success) {
console.log(result.data.prompt);
} else {
console.error(result.error.errors);
}Payment Validators
import {
paymentEnvelopeSchema,
ethereumAddressSchema,
networkSchema,
} from "@perkos/schema-validation";
// Or import from payment subpath
import { paymentConfigSchema } from "@perkos/schema-validation/payment";
// Validate Ethereum address
const address = ethereumAddressSchema.parse("0x1234...");
// Validate payment envelope
const envelope = paymentEnvelopeSchema.parse({
payload: {
from: "0x...",
to: "0x...",
value: "1000000",
validAfter: 0,
validBefore: Date.now() + 3600000,
nonce: "abc123",
network: "eip155:43114",
},
signature: "0x...",
});AI Schemas
Vision & Image
imageAnalyzeSchema- Image analysis requestsimageGenerateSchema- Image generation (DALL-E, SDXL)ocrExtractSchema- OCR text extraction
Audio
textSynthesizeSchema- Text-to-speechaudioTranscribeSchema- Speech-to-text
Text Processing
textSummarizeSchema- Text summarizationtextTranslateSchema- TranslationsentimentAnalyzeSchema- Sentiment analysiscontentModerateSchema- Content moderationtextSimplifySchema- Text simplificationentityExtractSchema- Named entity extraction
Content Generation
emailGenerateSchema- Email generationproductDescriptionSchema- Product descriptionsseoOptimizeSchema- SEO optimization
Code & Technical
codeGenerateSchema- Code generationcodeReviewSchema- Code reviewsqlQuerySchema- SQL query generationregexGenerateSchema- Regex generationapiDocsSchema- API documentation
Educational
quizGenerateSchema- Quiz generation
Payment Schemas
Network & Chain
networkSchema- Supported networks enumcaip2NetworkSchema- CAIP-2 network formatethereumAddressSchema- Ethereum address validationtransactionHashSchema- Transaction hash validationsignatureSchema- Signature format validation
Payment
paymentEnvelopeSchema- x402 payment envelopepaymentConfigSchema- Payment configurationpaymentRequestSchema- Payment requestpaymentVerificationSchema- Payment verification
Token
tokenInfoSchema- ERC20 token infoeip712DomainSchema- EIP-712 domain
Settlement
settlementRequestSchema- Settlement requestsettlementResultSchema- Settlement result
Utility Functions
validate(schema, data)
Parse and validate data, throwing on errors.
safeValidate(schema, data)
Safely validate, returning { success, data } or { success, error }.
formatZodErrors(error)
Format Zod errors for API responses.
import { formatZodErrors } from "@perkos/schema-validation";
try {
schema.parse(data);
} catch (error) {
if (error instanceof z.ZodError) {
const formatted = formatZodErrors(error);
// [{ path: "email", message: "Invalid email", code: "invalid_string" }]
}
}Type Inference
All schemas export inferred TypeScript types:
import type {
ImageAnalyzeInput,
PaymentEnvelope,
Network,
} from "@perkos/schema-validation";License
MIT
