UNPKG

@aristech-org/nlp-client

Version:

A Node.js client library for the Aristech NLP Service

283 lines (282 loc) 17.7 kB
import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import { type CallOptions, ChannelCredentials, Client, type ClientOptions, type ClientReadableStream, type ClientUnaryCall, type handleServerStreamingCall, type handleUnaryCall, Metadata, type ServiceError, type UntypedServiceImplementation } from "@grpc/grpc-js"; import { GetContentRequest, GetContentResponse, GetIntentsRequest, GetIntentsResponse, GetScoreLimitsRequest, GetScoreLimitsResponse, RemoveContentRequest, RemoveContentResponse, UpdateContentRequest, UpdateContentResponse } from "./intents.js"; import { AddProjectRequest, AddProjectResponse, EmbeddingModel, GetEmbeddingModelsRequest, GetProjectsRequest, Project, RemoveProjectRequest, RemoveProjectResponse, UpdateProjectRequest, UpdateProjectResponse } from "./projects.js"; export declare const protobufPackage = "aristech.nlp"; /** Request for list of functions that server provides */ export interface FunctionRequest { } /** * A function is a specific operation or information that can be performed on * incoming text. I.E. Classification, recasing etc. */ export interface FunctionMessage { /** * An unique ID for the function used (i.e. useful when using different * versions of a functions) */ id: string; /** An self-explaining name of the function */ name: string; /** A description of the function. */ description: string; /** A list of arguments for the function */ arguments: string[]; } /** Process raw text input. */ export interface RunFunctionsRequest { /** Function to be requested */ functions: FunctionMessage[]; /** The input to be processed */ input: string; /** * Arguments, if necessary. I.E. switchting between raw output and debug * output. */ arguments: string[]; } export interface RunFunctionsResponse { /** Processed text */ output: string; } export declare const FunctionRequest: MessageFns<FunctionRequest>; export declare const FunctionMessage: MessageFns<FunctionMessage>; export declare const RunFunctionsRequest: MessageFns<RunFunctionsRequest>; export declare const RunFunctionsResponse: MessageFns<RunFunctionsResponse>; /** Interface exported by the server. */ export type NLPServerService = typeof NLPServerService; export declare const NLPServerService: { /** * A simple RPC. * returns all available processing Models. */ readonly getFunctions: { readonly path: "/aristech.nlp.NLPServer/GetFunctions"; readonly requestStream: false; readonly responseStream: true; readonly requestSerialize: (value: FunctionRequest) => Buffer<ArrayBuffer>; readonly requestDeserialize: (value: Buffer) => FunctionRequest; readonly responseSerialize: (value: FunctionMessage) => Buffer<ArrayBuffer>; readonly responseDeserialize: (value: Buffer) => FunctionMessage; }; /** * A server-to-client streaming method * Returns the processed text */ readonly runFunctions: { readonly path: "/aristech.nlp.NLPServer/RunFunctions"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: RunFunctionsRequest) => Buffer<ArrayBuffer>; readonly requestDeserialize: (value: Buffer) => RunFunctionsRequest; readonly responseSerialize: (value: RunFunctionsResponse) => Buffer<ArrayBuffer>; readonly responseDeserialize: (value: Buffer) => RunFunctionsResponse; }; /** Method to add content to a vector database. */ readonly updateContent: { readonly path: "/aristech.nlp.NLPServer/UpdateContent"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: UpdateContentRequest) => Buffer<ArrayBuffer>; readonly requestDeserialize: (value: Buffer) => UpdateContentRequest; readonly responseSerialize: (value: UpdateContentResponse) => Buffer<ArrayBuffer>; readonly responseDeserialize: (value: Buffer) => UpdateContentResponse; }; /** Method to remove content from a vector database. */ readonly removeContent: { readonly path: "/aristech.nlp.NLPServer/RemoveContent"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: RemoveContentRequest) => Buffer<ArrayBuffer>; readonly requestDeserialize: (value: Buffer) => RemoveContentRequest; readonly responseSerialize: (value: RemoveContentResponse) => Buffer<ArrayBuffer>; readonly responseDeserialize: (value: Buffer) => RemoveContentResponse; }; /** Method to get content from a vector database. */ readonly getContent: { readonly path: "/aristech.nlp.NLPServer/GetContent"; readonly requestStream: false; readonly responseStream: true; readonly requestSerialize: (value: GetContentRequest) => Buffer<ArrayBuffer>; readonly requestDeserialize: (value: Buffer) => GetContentRequest; readonly responseSerialize: (value: GetContentResponse) => Buffer<ArrayBuffer>; readonly responseDeserialize: (value: Buffer) => GetContentResponse; }; /** Method to initialize a project */ readonly addProject: { readonly path: "/aristech.nlp.NLPServer/AddProject"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: AddProjectRequest) => Buffer<ArrayBuffer>; readonly requestDeserialize: (value: Buffer) => AddProjectRequest; readonly responseSerialize: (value: AddProjectResponse) => Buffer<ArrayBuffer>; readonly responseDeserialize: (value: Buffer) => AddProjectResponse; }; /** Method to remove Project */ readonly removeProject: { readonly path: "/aristech.nlp.NLPServer/RemoveProject"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: RemoveProjectRequest) => Buffer<ArrayBuffer>; readonly requestDeserialize: (value: Buffer) => RemoveProjectRequest; readonly responseSerialize: (value: RemoveProjectResponse) => Buffer<ArrayBuffer>; readonly responseDeserialize: (value: Buffer) => RemoveProjectResponse; }; /** update the settings of a project */ readonly updateProject: { readonly path: "/aristech.nlp.NLPServer/UpdateProject"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: UpdateProjectRequest) => Buffer<ArrayBuffer>; readonly requestDeserialize: (value: Buffer) => UpdateProjectRequest; readonly responseSerialize: (value: UpdateProjectResponse) => Buffer<ArrayBuffer>; readonly responseDeserialize: (value: Buffer) => UpdateProjectResponse; }; /** Method to get projects from a vector database */ readonly getProjects: { readonly path: "/aristech.nlp.NLPServer/GetProjects"; readonly requestStream: false; readonly responseStream: true; readonly requestSerialize: (value: GetProjectsRequest) => Buffer<ArrayBuffer>; readonly requestDeserialize: (value: Buffer) => GetProjectsRequest; readonly responseSerialize: (value: Project) => Buffer<ArrayBuffer>; readonly responseDeserialize: (value: Buffer) => Project; }; /** Method to get intents from a project */ readonly getIntents: { readonly path: "/aristech.nlp.NLPServer/GetIntents"; readonly requestStream: false; readonly responseStream: true; readonly requestSerialize: (value: GetIntentsRequest) => Buffer<ArrayBuffer>; readonly requestDeserialize: (value: Buffer) => GetIntentsRequest; readonly responseSerialize: (value: GetIntentsResponse) => Buffer<ArrayBuffer>; readonly responseDeserialize: (value: Buffer) => GetIntentsResponse; }; /** Method to get score limits for a project */ readonly getScoreLimits: { readonly path: "/aristech.nlp.NLPServer/GetScoreLimits"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: GetScoreLimitsRequest) => Buffer<ArrayBuffer>; readonly requestDeserialize: (value: Buffer) => GetScoreLimitsRequest; readonly responseSerialize: (value: GetScoreLimitsResponse) => Buffer<ArrayBuffer>; readonly responseDeserialize: (value: Buffer) => GetScoreLimitsResponse; }; /** get the available embedding models to be used for similarity search */ readonly getEmbeddingModels: { readonly path: "/aristech.nlp.NLPServer/GetEmbeddingModels"; readonly requestStream: false; readonly responseStream: true; readonly requestSerialize: (value: GetEmbeddingModelsRequest) => Buffer<ArrayBuffer>; readonly requestDeserialize: (value: Buffer) => GetEmbeddingModelsRequest; readonly responseSerialize: (value: EmbeddingModel) => Buffer<ArrayBuffer>; readonly responseDeserialize: (value: Buffer) => EmbeddingModel; }; }; export interface NLPServerServer extends UntypedServiceImplementation { /** * A simple RPC. * returns all available processing Models. */ getFunctions: handleServerStreamingCall<FunctionRequest, FunctionMessage>; /** * A server-to-client streaming method * Returns the processed text */ runFunctions: handleUnaryCall<RunFunctionsRequest, RunFunctionsResponse>; /** Method to add content to a vector database. */ updateContent: handleUnaryCall<UpdateContentRequest, UpdateContentResponse>; /** Method to remove content from a vector database. */ removeContent: handleUnaryCall<RemoveContentRequest, RemoveContentResponse>; /** Method to get content from a vector database. */ getContent: handleServerStreamingCall<GetContentRequest, GetContentResponse>; /** Method to initialize a project */ addProject: handleUnaryCall<AddProjectRequest, AddProjectResponse>; /** Method to remove Project */ removeProject: handleUnaryCall<RemoveProjectRequest, RemoveProjectResponse>; /** update the settings of a project */ updateProject: handleUnaryCall<UpdateProjectRequest, UpdateProjectResponse>; /** Method to get projects from a vector database */ getProjects: handleServerStreamingCall<GetProjectsRequest, Project>; /** Method to get intents from a project */ getIntents: handleServerStreamingCall<GetIntentsRequest, GetIntentsResponse>; /** Method to get score limits for a project */ getScoreLimits: handleUnaryCall<GetScoreLimitsRequest, GetScoreLimitsResponse>; /** get the available embedding models to be used for similarity search */ getEmbeddingModels: handleServerStreamingCall<GetEmbeddingModelsRequest, EmbeddingModel>; } export interface NLPServerClient extends Client { /** * A simple RPC. * returns all available processing Models. */ getFunctions(request: FunctionRequest, options?: Partial<CallOptions>): ClientReadableStream<FunctionMessage>; getFunctions(request: FunctionRequest, metadata?: Metadata, options?: Partial<CallOptions>): ClientReadableStream<FunctionMessage>; /** * A server-to-client streaming method * Returns the processed text */ runFunctions(request: RunFunctionsRequest, callback: (error: ServiceError | null, response: RunFunctionsResponse) => void): ClientUnaryCall; runFunctions(request: RunFunctionsRequest, metadata: Metadata, callback: (error: ServiceError | null, response: RunFunctionsResponse) => void): ClientUnaryCall; runFunctions(request: RunFunctionsRequest, metadata: Metadata, options: Partial<CallOptions>, callback: (error: ServiceError | null, response: RunFunctionsResponse) => void): ClientUnaryCall; /** Method to add content to a vector database. */ updateContent(request: UpdateContentRequest, callback: (error: ServiceError | null, response: UpdateContentResponse) => void): ClientUnaryCall; updateContent(request: UpdateContentRequest, metadata: Metadata, callback: (error: ServiceError | null, response: UpdateContentResponse) => void): ClientUnaryCall; updateContent(request: UpdateContentRequest, metadata: Metadata, options: Partial<CallOptions>, callback: (error: ServiceError | null, response: UpdateContentResponse) => void): ClientUnaryCall; /** Method to remove content from a vector database. */ removeContent(request: RemoveContentRequest, callback: (error: ServiceError | null, response: RemoveContentResponse) => void): ClientUnaryCall; removeContent(request: RemoveContentRequest, metadata: Metadata, callback: (error: ServiceError | null, response: RemoveContentResponse) => void): ClientUnaryCall; removeContent(request: RemoveContentRequest, metadata: Metadata, options: Partial<CallOptions>, callback: (error: ServiceError | null, response: RemoveContentResponse) => void): ClientUnaryCall; /** Method to get content from a vector database. */ getContent(request: GetContentRequest, options?: Partial<CallOptions>): ClientReadableStream<GetContentResponse>; getContent(request: GetContentRequest, metadata?: Metadata, options?: Partial<CallOptions>): ClientReadableStream<GetContentResponse>; /** Method to initialize a project */ addProject(request: AddProjectRequest, callback: (error: ServiceError | null, response: AddProjectResponse) => void): ClientUnaryCall; addProject(request: AddProjectRequest, metadata: Metadata, callback: (error: ServiceError | null, response: AddProjectResponse) => void): ClientUnaryCall; addProject(request: AddProjectRequest, metadata: Metadata, options: Partial<CallOptions>, callback: (error: ServiceError | null, response: AddProjectResponse) => void): ClientUnaryCall; /** Method to remove Project */ removeProject(request: RemoveProjectRequest, callback: (error: ServiceError | null, response: RemoveProjectResponse) => void): ClientUnaryCall; removeProject(request: RemoveProjectRequest, metadata: Metadata, callback: (error: ServiceError | null, response: RemoveProjectResponse) => void): ClientUnaryCall; removeProject(request: RemoveProjectRequest, metadata: Metadata, options: Partial<CallOptions>, callback: (error: ServiceError | null, response: RemoveProjectResponse) => void): ClientUnaryCall; /** update the settings of a project */ updateProject(request: UpdateProjectRequest, callback: (error: ServiceError | null, response: UpdateProjectResponse) => void): ClientUnaryCall; updateProject(request: UpdateProjectRequest, metadata: Metadata, callback: (error: ServiceError | null, response: UpdateProjectResponse) => void): ClientUnaryCall; updateProject(request: UpdateProjectRequest, metadata: Metadata, options: Partial<CallOptions>, callback: (error: ServiceError | null, response: UpdateProjectResponse) => void): ClientUnaryCall; /** Method to get projects from a vector database */ getProjects(request: GetProjectsRequest, options?: Partial<CallOptions>): ClientReadableStream<Project>; getProjects(request: GetProjectsRequest, metadata?: Metadata, options?: Partial<CallOptions>): ClientReadableStream<Project>; /** Method to get intents from a project */ getIntents(request: GetIntentsRequest, options?: Partial<CallOptions>): ClientReadableStream<GetIntentsResponse>; getIntents(request: GetIntentsRequest, metadata?: Metadata, options?: Partial<CallOptions>): ClientReadableStream<GetIntentsResponse>; /** Method to get score limits for a project */ getScoreLimits(request: GetScoreLimitsRequest, callback: (error: ServiceError | null, response: GetScoreLimitsResponse) => void): ClientUnaryCall; getScoreLimits(request: GetScoreLimitsRequest, metadata: Metadata, callback: (error: ServiceError | null, response: GetScoreLimitsResponse) => void): ClientUnaryCall; getScoreLimits(request: GetScoreLimitsRequest, metadata: Metadata, options: Partial<CallOptions>, callback: (error: ServiceError | null, response: GetScoreLimitsResponse) => void): ClientUnaryCall; /** get the available embedding models to be used for similarity search */ getEmbeddingModels(request: GetEmbeddingModelsRequest, options?: Partial<CallOptions>): ClientReadableStream<EmbeddingModel>; getEmbeddingModels(request: GetEmbeddingModelsRequest, metadata?: Metadata, options?: Partial<CallOptions>): ClientReadableStream<EmbeddingModel>; } export declare const NLPServerClient: { new (address: string, credentials: ChannelCredentials, options?: Partial<ClientOptions>): NLPServerClient; service: typeof NLPServerService; serviceName: string; }; type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; export type DeepPartial<T> = T extends Builtin ? T : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]>; } : Partial<T>; type KeysOfUnion<T> = T extends T ? keyof T : never; export type Exact<P, I extends P> = P extends Builtin ? P : P & { [K in keyof P]: Exact<P[K], I[K]>; } & { [K in Exclude<keyof I, KeysOfUnion<P>>]: never; }; export interface MessageFns<T> { encode(message: T, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): T; fromJSON(object: any): T; toJSON(message: T): unknown; create<I extends Exact<DeepPartial<T>, I>>(base?: I): T; fromPartial<I extends Exact<DeepPartial<T>, I>>(object: I): T; } export {};