ttc-ai-client
Version:
TypeScript client sdk for TTC AI services with decorators and schema validation.
59 lines • 2.27 kB
TypeScript
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