Files
openclaw/scripts/render-github-release-notes.d.mts
Vincent Koc d73eb23b29 fix(release): report seeded changelog provenance truthfully (#119897)
* fix(release): report seeded changelog provenance truthfully

* fix(release): reject legacy provenance formatting

* fix(release): enforce complete provenance records
2026-08-06 19:22:16 +08:00

85 lines
2.1 KiB
TypeScript

#!/usr/bin/env node
export function extractChangelogReleaseSections(changelog: string): {
version: string;
source: string;
}[];
export function extractChangelogSection(changelog: unknown, version: unknown): unknown;
export function releaseNotesVersionForTag(tag: unknown): unknown;
export function formatShippedBaselineExclusions(baselines: ShippedBaselineExclusion[]): string;
export function parseShippedBaselineExclusions(section: string): ShippedBaselineExclusion[];
export function formatContributionRecordProvenance(
provenance: ContributionRecordProvenance,
): string;
export function parseContributionRecordProvenance(
section: string,
): ContributionRecordProvenance | undefined;
export function dedicatedSectionVersionForTag(tag: unknown): unknown;
export function releaseNotesSectionForTag(
changelog: unknown,
version: unknown,
tag: unknown,
): unknown;
export function renderGithubReleaseNotes({
changelog,
version,
tag,
repository,
verification,
}: {
changelog: unknown;
version: unknown;
tag: unknown;
repository: unknown;
verification?: string | undefined;
}): {
body: string;
mode: string;
size: {
characters: number;
bytes: number;
};
verificationIncluded: boolean;
verificationOmitted: boolean;
};
export function verifyGithubReleaseNotes({
body,
changelog,
version,
tag,
repository,
}: {
body: unknown;
changelog: unknown;
version: unknown;
tag: unknown;
repository: unknown;
}): {
matches: boolean;
actualSize: {
characters: number;
bytes: number;
};
body: unknown;
mode: string;
size: {
characters: number;
bytes: number;
};
verificationIncluded: boolean;
verificationOmitted: boolean;
};
export const GITHUB_RELEASE_BODY_MAX_CHARACTERS: 125000;
export const GITHUB_RELEASE_BODY_MAX_BYTES: 125000;
export type ShippedBaselineExclusion = {
ref: string;
count: number;
pullRequests: number[];
};
export type ContributionRecordProvenance = {
base: string;
target: string;
inRangePullRequests?: number;
retainedSeedOnlyPullRequests?: number;
uniquePullRequests: number;
};