37 lines
901 B
TypeScript
37 lines
901 B
TypeScript
export type ReleaseInfo = Readonly<{
|
|
schemaVersion?: number;
|
|
appVersion?: string;
|
|
buildId: string;
|
|
commitSha?: string;
|
|
configSchemaVersion: string;
|
|
/**
|
|
* §5.1. Legacy scalar, present only while a V1 release manifest is still
|
|
* accepted. A V2 manifest expresses contract identity through
|
|
* {@link ReleaseInfo.contractSetDigest}.
|
|
*/
|
|
apiContractVersion?: string;
|
|
contractSetDigest?: string;
|
|
assetManifestHash: string;
|
|
releaseId: string;
|
|
builtAt?: string;
|
|
routeChunks: Readonly<Record<string, string>>;
|
|
}>;
|
|
|
|
export type ActiveReleaseInfo = Readonly<
|
|
Pick<
|
|
ReleaseInfo,
|
|
| "buildId"
|
|
| "configSchemaVersion"
|
|
| "apiContractVersion"
|
|
| "contractSetDigest"
|
|
| "assetManifestHash"
|
|
| "releaseId"
|
|
| "routeChunks"
|
|
>
|
|
>;
|
|
|
|
export type ReleaseInfoPort = Readonly<{
|
|
getCurrent(): Promise<ReleaseInfo>;
|
|
refresh(): Promise<ActiveReleaseInfo>;
|
|
}>;
|