1export function siteCacheTag(address: string): string {2 return `nzip-site-${address}`;3}45/** Purge every cached URL for a site after content or policy changes. */6export async function purgeSiteCache(7 ctx: ExecutionContext,8 address: string,9): Promise<void> {10 if (!ctx.cache) return;1112 try {13 const result = await ctx.cache.purge({ tags: [siteCacheTag(address)] });14 if (!result.success) {15 console.error({16 event: "cache.purge_failed",17 address,18 errors: result.errors,19 });20 }21 } catch (error) {22 console.error({23 event: "cache.purge_failed",24 address,25 error: error instanceof Error ? error.message : String(error),26 });27 }28}