@aristech-org/nlp-client
Version:
A Node.js client library for the Aristech NLP Service
283 lines (282 loc) • 17.7 kB
TypeScript
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 {};