readPolicyObject
readPolicy(client, policyId) returns a flatter PolicySnapshot (single budget asset) with agentId, perTxCap, perDayCap, spentToday, allowedPackages, expiresAtMs, revoked, paused, version.
vaultBalances
[] if the vault has no assets.
readAuditLog
AllowedAction, WithdrawalAttested, PolicyRevoked, PolicyUpdated events emitted by corePkg, in descending order.
decodePolicyAbort
MoveAbort from a thrown error or a devInspect failure status, and maps the abort code to a stable reason. Only aborts raised by the policy module are decoded; returns null for any other failure (so you can tell a policy denial apart from a liquidity or gas failure).
guardedSubmit
Dry-run, record a denial without spending gas, and submit only when allowed.