everything-dev
Version:
A consolidated product package for building Module Federation apps with oRPC APIs.
78 lines • 2.8 kB
text/typescript
//#region src/fastkv.d.ts
type NetworkId = "mainnet" | "testnet";
declare function getFastKvBaseUrlForNetwork(network: NetworkId): string;
declare function buildRegistryConfigUrl(accountId: string, gatewayId: string, registry?: string): string;
declare function buildRegistryConfigUrlForNetwork(network: NetworkId, accountId: string, gatewayId: string, registry?: string): string;
declare function getRegistryNamespaceForAccount(accountId: string, registry?: string): string;
declare function getRegistryNamespaceForNetwork(network: NetworkId, registry?: string): string;
declare function parseBosUrl(bosUrl: string): {
accountId: string;
gatewayId: string;
pathSegments: string[];
};
declare function fetchBosConfigFromFastKv<T>(bosUrl: string, registry?: string): Promise<T>;
interface ConfigHistoryEntry {
blockHeight: number;
blockTimestampNs: string;
txHash?: string;
value: unknown;
}
/**
* Publish history for the registry config key (atomic-deploys 11): the
* exact-key variant of FastData's history endpoint, newest-first. The API
* caps a page at 200 rows; a config key's write history fits well inside
* that, so a single request is the whole story (the limit param is clamped).
*/
declare function fetchConfigHistory(opts: {
accountId: string;
gatewayId: string;
registry?: string;
limit?: number;
}): Promise<ConfigHistoryEntry[]>;
interface DeployManifestEntry {
key: string;
blockHeight: number;
blockTimestampNs: string;
value: unknown;
}
/**
* The per-deploy audit trail (atomic-deploys 03/12): every publish writes
* `apps/<account>/<gateway>/manifests/<ts>.json` atomically with the pointer
* swap — this lists that key family newest-first via the history-by-prefix
* endpoint.
*/
declare function fetchDeployManifests(opts: {
accountId: string;
gatewayId: string;
registry?: string;
limit?: number;
}): Promise<DeployManifestEntry[]>;
interface PluginManifest {
schemaVersion: number;
kind: string;
plugin: {
name: string;
version: string;
};
runtime: {
remoteEntry: string;
};
contract: {
kind: string;
types: {
path: string;
exportName: string;
typeName: string;
sha256: string;
};
};
additionalExports?: Array<{
path: string;
exports: string[];
sha256: string;
}>;
}
declare function fetchRemotePluginManifest(cdnUrl: string): Promise<PluginManifest | null>;
//#endregion
export { ConfigHistoryEntry, DeployManifestEntry, NetworkId, PluginManifest, buildRegistryConfigUrl, buildRegistryConfigUrlForNetwork, fetchBosConfigFromFastKv, fetchConfigHistory, fetchDeployManifests, fetchRemotePluginManifest, getFastKvBaseUrlForNetwork, getRegistryNamespaceForAccount, getRegistryNamespaceForNetwork, parseBosUrl };
//# sourceMappingURL=fastkv.d.cts.map