MCPcopy Create free account
hub / github.com/MoonshotAI/kimi-code / mapRpcFunction

Function mapRpcFunction

packages/agent-core/src/rpc/client.ts:51–70  ·  view source on GitHub ↗
(fn: Function)

Source from the content-addressed store, hash-verified

49 }
50
51 function mapRpcFunction(fn: Function): Function {
52 return async (payload: any, options?: RPCCallOptions) => {
53 const signal = options?.signal;
54 const rpcPayload = await simulateNetwork(payload);
55 signal?.throwIfAborted();
56 let response: RpcResponse;
57 try {
58 const handlerResult =
59 signal === undefined ? fn(rpcPayload) : fn(rpcPayload, { signal });
60 const value = await abortableRpc(Promise.resolve(handlerResult), signal);
61 response = { ok: true, value };
62 } catch (error) {
63 signal?.throwIfAborted();
64 response = { ok: false, error: toKimiErrorPayload(error) };
65 }
66 const remoteResponse = await simulateNetwork(response);
67 if (remoteResponse.ok) return remoteResponse.value;
68 throw fromKimiErrorPayload(remoteResponse.error);
69 };
70 }
71
72 function bindAllFunctions<T extends Record<string, any>>(obj: T): T {
73 const bound: Record<string, unknown> = {};

Callers 2

leftClientFunction · 0.85
rightClientFunction · 0.85

Calls 6

toKimiErrorPayloadFunction · 0.90
fromKimiErrorPayloadFunction · 0.90
simulateNetworkFunction · 0.85
abortableRpcFunction · 0.85
throwIfAbortedMethod · 0.80
resolveMethod · 0.65

Tested by

no test coverage detected