mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-28 05:16:23 -06:00
62 lines
2.0 KiB
TypeScript
62 lines
2.0 KiB
TypeScript
import type {
|
|
ReleaseValidationIntent,
|
|
ReleaseValidationProfile,
|
|
ReleaseValidationPurpose,
|
|
} from "./release-validation-intent.mjs";
|
|
|
|
export type ReleasePlanPurpose = ReleaseValidationPurpose;
|
|
|
|
export type ReleasePlan = {
|
|
schema: "openclaw.release-plan.v1";
|
|
release_id: string;
|
|
version: string;
|
|
tag: string | null;
|
|
candidate_sha: string;
|
|
target_context_ref: string;
|
|
purpose: ReleasePlanPurpose;
|
|
tooling: {
|
|
repository: "openclaw/openclaw";
|
|
workflow_path: ".github/workflows/full-release-validation.yml";
|
|
ref: string;
|
|
sha: string;
|
|
};
|
|
validation: {
|
|
intent: ReleaseValidationIntent;
|
|
profile: ReleaseValidationProfile;
|
|
soak: boolean;
|
|
allowed_groups: string[];
|
|
};
|
|
inventory: {
|
|
packages: Array<{ name: string; version: string; targets: Array<"clawhub" | "npm"> }>;
|
|
platforms: Array<{ id: string; source: string }>;
|
|
};
|
|
};
|
|
|
|
export type ReleasePlanLock = {
|
|
schema: "openclaw.release-plan-lock.v1";
|
|
digest: `sha256:${string}`;
|
|
plan: ReleasePlan;
|
|
};
|
|
|
|
export const RELEASE_PLAN_SCHEMA: "openclaw.release-plan.v1";
|
|
export const RELEASE_PLAN_LOCK_SCHEMA: "openclaw.release-plan-lock.v1";
|
|
export const RELEASE_PLAN_CANONICALIZATION: "ascii-sorted-compact-json-trailing-newline-v1";
|
|
export const RELEASE_PLAN_MAX_BYTES: number;
|
|
export function canonicalReleaseJson(value: unknown): string;
|
|
export function releaseCanonicalDigest(value: unknown): `sha256:${string}`;
|
|
export function parseCanonicalReleaseJson<T = unknown>(
|
|
text: string,
|
|
options?: {
|
|
label?: string;
|
|
maxBytes?: number;
|
|
validate?: (value: unknown) => T;
|
|
},
|
|
): T;
|
|
export function validateReleasePlan(value: unknown): ReleasePlan;
|
|
export function canonicalReleasePlanJson(value: unknown): string;
|
|
export function releasePlanDigest(value: unknown): `sha256:${string}`;
|
|
export function createReleasePlanLock(value: unknown): ReleasePlanLock;
|
|
export function validateReleasePlanLock(value: unknown): ReleasePlanLock;
|
|
export function canonicalReleasePlanLockJson(value: unknown): string;
|
|
export function parseReleasePlanLockJson(text: string): ReleasePlanLock;
|