mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-28 05:16:23 -06:00
42 lines
1.3 KiB
TypeScript
42 lines
1.3 KiB
TypeScript
import type {
|
|
ReleaseValidationSourceArtifact,
|
|
ReleaseValidationVerifiedArtifactEvidence,
|
|
} from "./release-validation-receipt-contract.mjs";
|
|
|
|
export type GitHubReleaseValidationArtifactEvidence = ReleaseValidationSourceArtifact & {
|
|
entry_bytes: string;
|
|
};
|
|
|
|
export type GitHubReleaseValidationArtifactExpected = {
|
|
repository: string;
|
|
workflowPath: string;
|
|
workflowSha: string;
|
|
};
|
|
|
|
export function authenticateGitHubReleaseValidationArtifact(params: {
|
|
evidence: GitHubReleaseValidationArtifactEvidence;
|
|
expected: GitHubReleaseValidationArtifactExpected;
|
|
artifactMetadata: unknown;
|
|
workflowRun: unknown;
|
|
archiveBytes: Uint8Array;
|
|
nowMs: number;
|
|
}): ReleaseValidationVerifiedArtifactEvidence;
|
|
|
|
export function downloadAndAuthenticateGitHubReleaseValidationArtifact(params: {
|
|
evidence: GitHubReleaseValidationArtifactEvidence;
|
|
expected: GitHubReleaseValidationArtifactExpected & {
|
|
artifactSizeBytes: number;
|
|
runStatePolicy: "completed-success" | "same-run-producer-success";
|
|
workflowEvent: string;
|
|
workflowHeadBranch: string;
|
|
consumerRunAttempt?: number;
|
|
producerJobName?: string;
|
|
};
|
|
token: string;
|
|
nowMs: number;
|
|
fetchImpl?: typeof fetch;
|
|
timeoutMs?: number;
|
|
retryAttempts?: number;
|
|
retryDelayMs?: number;
|
|
}): Promise<ReleaseValidationVerifiedArtifactEvidence>;
|