UNPKG

ttc-ai-client

Version:

TypeScript client sdk for TTC AI services with decorators and schema validation.

59 lines 2.27 kB
import "reflect-metadata"; import { ZodSchema } from "zod"; import { Socket } from "socket.io-client"; import { ttcAI } from "./ttcAI"; import { ClassType, f_call, RegistryEntry, RPCMethodInfo, rpcResponseType, ttc_event } from "./types"; import { RPCClient } from "./ttc_server"; export declare class ttc { private static publickKey; private static rpcRegistry; static server: RPCClient; static socket?: Socket; private static event; static ai: ttcAI; static app_id: string; static permissions: Record<string, (permitted: boolean) => void>; private static socketCb; private static createZodSchemaFromParams; private static getZodTypeName; static instance<T extends ClassType | string>(name: T): T extends ClassType ? InstanceType<T> : T extends string ? any : never; static describe: (config?: { doc?: string; inputSchema?: ZodSchema<any>; outputSchema?: ZodSchema<any>; validate?: boolean; }) => (target: any, propertyKey: string, descriptor: PropertyDescriptor) => void; static requestContext(args: IArguments): { socket?: Socket; _scid: string; }; static invoke(method: string, args: any[], requestConfig: { socket?: Socket; _scid: string; }): Promise<rpcResponseType>; static init(config: { app_id: string; publickKey?: string; modules: any[]; socketCb?: (socket: Socket) => Promise<any>; }): typeof ttc; private static handleSocket; static hook(modules: ClassType[]): void; static connect(): void; static getRegistry(): Record<string, RegistryEntry>; static generateRPCMethodsList(): Promise<RPCMethodInfo[]>; private static getOriginFunctions; private static fetchOriginFunction; private static invoke_origin; static approveFunction(id: string, approval: boolean): Promise<void>; static askPermission(id: string, func: f_call, cb: (permitted: boolean) => void): Promise<void>; static subscribe(event: ttc_event, cb: (payload: { id: string; payload: any; }) => void): Promise<void>; static emit(event: ttc_event, data: { id: string; payload: any; }): Promise<void>; } //# sourceMappingURL=core.d.ts.map