PatchbayRevealDecision class final

接入方对驱动一个滚动容器的决定,外加可收紧的预算。

「授权一次 reveal」不存在,存在的只有「授权驱动这一个容器」:准入容器求值 一次,此后每次升层是一次新的、完整的授权,每一步派发之前还会按同一入参 重问一次并逐项比对决策。

预算三层,只能收紧不能放宽,且 min 通过拒绝达成而不是静默夹取: host 编译期硬顶(PatchbayRevealBudget.maxSteps / PatchbayRevealBudget.maxDurationMs)→ 本决定 → 命令参数。参数越过本决定的 上限即 uiRevealBudgetExceeded,一步都不派发;本决定自身越过 host 硬顶同样 是 uiRevealBudgetExceeded,而不是被夹到硬顶。

Constructors

PatchbayRevealDecision.allow({Set<String> gateIds = const <String>{}, int maxSteps = 40, int maxDurationMs = 30000})
const
PatchbayRevealDecision.reject({String? rejectionCode = 'uiRevealDenied', String? rejectionNotice})
const

Properties

allowed bool
no setter
gateIds Set<String>
该容器上每一步都要重新求值的声明门。
final
hashCode int
The hash code for this object.
no setterinherited
maxDurationMs int
本次 reveal 允许的总时长上限,用于冻结那唯一一个 deadline。
final
maxSteps int
这一个容器上允许派发的 scroll action 次数上限。
final
rejectionCode String?
final
rejectionNotice String?
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited