@dwn-protocol/id-sdk
Version:
SDK for accessing the features and capabilities
68 lines • 1.76 kB
TypeScript
import type { SerializableDwnMessage } from './types/agent.js';
import { RecordsReadReply, UnionMessageReply } from '@dwn-protocol/id';
/**
* Interface that can be implemented to communicate with {@link IDAgent | ID Agent}
* implementations via JSON-RPC.
*/
export interface DidRpc {
get transportProtocols(): string[];
sendDidRequest(request: DidRpcRequest): Promise<DidRpcResponse>;
}
export declare enum DidRpcMethod {
Create = "did.create",
Resolve = "did.resolve"
}
export type DidRpcRequest = {
data: string;
method: DidRpcMethod;
url: string;
};
export type DidRpcResponse = {
data?: string;
ok: boolean;
status: RpcStatus;
};
/**
* interface that can be implemented to communicate with Dwn Relayers
*/
export interface DwnRpc {
/**
* TODO: add jsdoc
*/
get transportProtocols(): string[];
/**
* TODO: add jsdoc
* @param request
*/
sendDwnRequest(request: DwnRpcRequest): Promise<DwnRpcResponse>;
}
/**
* TODO: add jsdoc
*/
export type DwnRpcRequest = {
data?: any;
dwnUrl: string;
message: SerializableDwnMessage | any;
targetDid: string;
};
/**
* TODO: add jsdoc
*/
export type DwnRpcResponse = UnionMessageReply & RecordsReadReply;
export type RpcStatus = {
code: number;
message: string;
};
export interface IDRpc extends DwnRpc, DidRpc {
}
/**
* Client used to communicate with Dwn Servers
*/
export declare class IDRpcClient implements IDRpc {
private transportClients;
constructor(clients?: IDRpc[]);
get transportProtocols(): string[];
sendDidRequest(request: DidRpcRequest): Promise<DidRpcResponse>;
sendDwnRequest(request: DwnRpcRequest): Promise<DwnRpcResponse>;
}
//# sourceMappingURL=rpc-client.d.ts.map