@promptbook/remote-client
Version:
Promptbook: Turn your company's scattered knowledge into AI ready books
29 lines (27 loc) • 1.73 kB
TypeScript
import type { RemoteServer } from './RemoteServer';
import type { RemoteServerOptions } from './types/RemoteServerOptions';
/**
* Remote server is a proxy server that uses its execution tools internally and exposes the executor interface externally.
*
* You can simply use `RemoteExecutionTools` on client-side javascript and connect to your remote server.
* This is useful to make all logic on browser side but not expose your API keys or no need to use customer's GPU.
*
* @see https://github.com/webgptorg/promptbook#remote-server
* @public exported from `@promptbook/remote-server`
*/
export declare function startRemoteServer<TCustomOptions = undefined>(options: RemoteServerOptions<TCustomOptions>): RemoteServer;
/**
* TODO: [🕋] Use here `aboutPromptbookInformation`
* TODO: [🌡] Add CORS and security - probably via `helmet`
* TODO: Split this file into multiple functions - handler for each request
* TODO: Maybe use `$exportJson`
* TODO: [🧠][🛍] Maybe not `isAnonymous: boolean` BUT `mode: 'ANONYMOUS'|'COLLECTION'`
* TODO: [⚖] Expose the collection to be able to connect to same collection via createPipelineCollectionFromUrl
* TODO: Handle progress - support streaming
* TODO: [🗯] Do not hang up immediately but wait until client closes OR timeout
* TODO: [🗯] Timeout on chat to free up resources
* TODO: [🃏] Pass here some security token to prevent malitious usage and/or DDoS
* TODO: [0] Set unavailable models as undefined in `RemoteLlmExecutionTools` NOT throw error here
* TODO: Allow to constrain anonymous mode for specific models / providers
* Note: [🟢] Code in this file should never be never released in packages that could be imported into browser environment
*/