def expired_sentinel
import cswap-bend-cli@0.1.0.0/collect.bend as Collectimport Base
import cswap-bend-cli@0.1.0.0/json.bend as Json
226# An expired active token is never refreshed here (that is Claude Code's, under
227# its own lock): it reads `token_expired` unless a held reading covers it.
228def expired_sentinel(active: Bool, +row: Json.Json, +creds: String, +now: U32) -> Maybe<&2, String>:
229 expired.pick(active && Bool.not(held_row(row, now)) && expired_creds(creds, now), creds, now)