Changes a vault (needs write): fn edits the latest copy, then it is uploaded with the conditional
PUT and merge/retry loop. If the upload fails the cached copy is dropped, so a failed edit is never
read back. Edits of one vault run one at a time.
Replaces every ov:// reference in a template (ov inject / run --env-file).
Vaults granted to this SA, with names decrypted.
Downloads and opens a vault (cached; refresh downloads again).
Brings the cached copy up to date: a HEAD with the last ETag, and a download only when the server
has a newer version (for long-running processes such as ov connect). Opens the vault if needed.
Reads ov://<vault>/<entry>/<field>.
Writes a field (needs write) with the conditional PUT and merge/retry loop.
StaticfromExchanges the token's secret and unwraps the keyset (token → kek → master → keyset).
Wipes the keyset, vault keys and secret (best effort).