实现示例type Advisory = { id: string; pkg: string; version: string; severity: 'block' | 'warn'; reason: string; until: number } class Bus { subs: Map<string, (a: Advisory) => void> = new Map() sub(name: string, fn: (a: Advisory) => void) { this.subs.set(name, fn) } pub(a: Advisory) { for (const fn of this.subs.values()) fn(a) } } function valid(a: Advisory): boolean { return !!a.id && !!a.pkg && !!a.version && !!a.reason && a.until > Date.now() } function decide(a: Advisory): 'block' | 'warn' | 'pass' { if (!valid(a)) return 'block'; if (a.until <= Date.now()) return 'pass'; return a.severity } function rollback(targets: string[], frozen: Set<string>): string[] { return targets.filter(t => !frozen.has(t)) } 审计与运行治理审计包含公告、范围、到期与决策;产线默认阻断 `block` 项。广播后触发冻结与回滚,并输出受影响清单与处理结果。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部
2.263782s