mirror of
https://github.com/chatmail/core.git
synced 2026-04-17 21:46:35 +03:00
- [x] figgure out how to build the packages (that it installs native optional package automatically) - [X] Make the gluecode - [x] expose both the lowerlevel api that desktop uses (~~send objects and receive objects~~, getting path of rpc-server is enough) - [X] and the higher level api needed for bots (jsonrpc client) - [X] typescript types - [x] automatically pick the right binary from npm or allow getting it from env var, or give out an error (throw error) - [x] find out how to dev locally (use local built core in dc desktop) - there is the question of how to link the typescript client and the task to add a search in the cargo target folder for a debug build or a different way, find out some good flow that we can use and document for dc desktop + locally built core development - [x] build the packages in ci - [x] fix that deltachat-rpc-server is not executable postponed: - [ ] publish from ci - [ ] add key/token to deploy to npm Closes #4694 ## Related prs - https://github.com/deltachat-bot/echo/pull/69 - https://github.com/deltachat/deltachat-desktop/pull/3567 --------- Co-authored-by: link2xt <link2xt@testrun.org>
39 lines
987 B
TypeScript
39 lines
987 B
TypeScript
import { StdioDeltaChat } from "@deltachat/jsonrpc-client";
|
|
|
|
export interface SearchOptions {
|
|
/** whether to disable looking for deltachat-rpc-server inside of $PATH */
|
|
skipSearchInPath: boolean;
|
|
|
|
/** whether to disable the DELTA_CHAT_RPC_SERVER environment variable */
|
|
disableEnvPath: boolean;
|
|
}
|
|
|
|
/**
|
|
*
|
|
* @returns absolute path to deltachat-rpc-server binary
|
|
* @throws when it is not found
|
|
*/
|
|
export function getRPCServerPath(
|
|
options?: Partial<SearchOptions>
|
|
): Promise<string>;
|
|
|
|
|
|
|
|
export type DeltaChatOverJsonRpcServer = StdioDeltaChat & {
|
|
shutdown: () => Promise<void>;
|
|
readonly pathToServerBinary: string;
|
|
};
|
|
|
|
|
|
/**
|
|
*
|
|
* @param directory directory for accounts folder
|
|
* @param options
|
|
*/
|
|
export function startDeltaChat(directory: string, options?: Partial<SearchOptions> ): Promise<DeltaChatOverJsonRpcServer>
|
|
|
|
|
|
export namespace FnTypes {
|
|
export type getRPCServerPath = typeof getRPCServerPath
|
|
export type startDeltaChat = typeof startDeltaChat
|
|
} |