@hashgraphonline/standards-agent-kit
Version:
A modular SDK for building on-chain autonomous agents using Hashgraph Online Standards, including HCS-10 for agent discovery and communication. https://hol.org
126 lines (125 loc) • 3.77 kB
TypeScript
import { z } from 'zod';
/**
* HIP-412 file schema for multi-file NFTs
*/
export declare const hip412FileSchema: z.ZodObject<{
uri: z.ZodString;
checksum: z.ZodOptional<z.ZodString>;
is_default_file: z.ZodOptional<z.ZodBoolean>;
type: z.ZodString;
}, "strip", z.ZodTypeAny, {
type: string;
uri: string;
checksum?: string | undefined;
is_default_file?: boolean | undefined;
}, {
type: string;
uri: string;
checksum?: string | undefined;
is_default_file?: boolean | undefined;
}>;
/**
* HIP-412 attribute schema for NFT traits
*/
export declare const hip412AttributeSchema: z.ZodObject<{
trait_type: z.ZodString;
value: z.ZodUnion<[z.ZodString, z.ZodNumber]>;
display_type: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
value: string | number;
trait_type: string;
display_type?: string | undefined;
}, {
value: string | number;
trait_type: string;
display_type?: string | undefined;
}>;
/**
* HIP-412 compliant metadata schema for Hedera NFTs
*/
export declare const hip412MetadataSchema: z.ZodObject<{
name: z.ZodString;
description: z.ZodString;
image: z.ZodString;
type: z.ZodString;
creator: z.ZodOptional<z.ZodString>;
creatorDID: z.ZodOptional<z.ZodString>;
checksum: z.ZodOptional<z.ZodString>;
format: z.ZodDefault<z.ZodOptional<z.ZodString>>;
files: z.ZodOptional<z.ZodArray<z.ZodObject<{
uri: z.ZodString;
checksum: z.ZodOptional<z.ZodString>;
is_default_file: z.ZodOptional<z.ZodBoolean>;
type: z.ZodString;
}, "strip", z.ZodTypeAny, {
type: string;
uri: string;
checksum?: string | undefined;
is_default_file?: boolean | undefined;
}, {
type: string;
uri: string;
checksum?: string | undefined;
is_default_file?: boolean | undefined;
}>, "many">>;
attributes: z.ZodOptional<z.ZodArray<z.ZodObject<{
trait_type: z.ZodString;
value: z.ZodUnion<[z.ZodString, z.ZodNumber]>;
display_type: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
value: string | number;
trait_type: string;
display_type?: string | undefined;
}, {
value: string | number;
trait_type: string;
display_type?: string | undefined;
}>, "many">>;
properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
}, "strip", z.ZodTypeAny, {
name: string;
type: string;
image: string;
description: string;
format: string;
creator?: string | undefined;
properties?: Record<string, unknown> | undefined;
checksum?: string | undefined;
creatorDID?: string | undefined;
files?: {
type: string;
uri: string;
checksum?: string | undefined;
is_default_file?: boolean | undefined;
}[] | undefined;
attributes?: {
value: string | number;
trait_type: string;
display_type?: string | undefined;
}[] | undefined;
}, {
name: string;
type: string;
image: string;
description: string;
creator?: string | undefined;
properties?: Record<string, unknown> | undefined;
checksum?: string | undefined;
creatorDID?: string | undefined;
format?: string | undefined;
files?: {
type: string;
uri: string;
checksum?: string | undefined;
is_default_file?: boolean | undefined;
}[] | undefined;
attributes?: {
value: string | number;
trait_type: string;
display_type?: string | undefined;
}[] | undefined;
}>;
/**
* Validates metadata against HIP-412 standard
*/
export declare function validateHIP412Metadata(metadata: unknown): z.infer<typeof hip412MetadataSchema>;