All files / kernel-browser-runtime/src types.ts

0% Statements 0/0
0% Branches 0/0
0% Functions 0/0
0% Lines 0/0

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33                                                                 
import type { Kernel, ClusterConfig } from '@metamask/ocap-kernel';
import type { Json } from '@metamask/utils';
 
/**
 * A CapTP message that can be sent over the wire.
 */
export type CapTPMessage = Record<string, Json>;
 
/**
 * Result of launching a subcluster.
 *
 * The rootKref contains the kref string for the bootstrap vat's root object.
 */
export type LaunchResult = {
  subclusterId: string;
  rootKref: string;
};
 
/**
 * The kernel facade interface - methods exposed to userspace via CapTP.
 *
 * This is the remote presence type that the background receives from the kernel.
 */
export type KernelFacade = {
  ping: () => Promise<'pong'>;
  launchSubcluster: (config: ClusterConfig) => Promise<LaunchResult>;
  terminateSubcluster: Kernel['terminateSubcluster'];
  queueMessage: Kernel['queueMessage'];
  getStatus: Kernel['getStatus'];
  pingVat: Kernel['pingVat'];
  getVatRoot: (krefString: string) => Promise<unknown>;
};