ReadonlyassetsReadonlynameReadonlyplaneReadonlysecretsserialises for the caller, so nobody hand-rolls JSON.stringify at every call site
Versions, deployments, rollback.
Capability-gated: reaching for this on a plane without versions throws a named
CapabilityError rather than producing a 404 the caller has to interpret.
convenience: deploy one version at 100 percent
Changes some settings and keeps the rest.
Bindings need care here: the API replaces the whole list, so a patch naming two bindings
deletes every other one. patchBindings turns the rest into inherit entries, which is
why this reads the current settings first.
replaces the binding list outright, for a caller that means to
the summary, or a named refusal rather than a null the caller has to remember to check
Uploads a whole asset tree; anything absent from it is deleted.
There is deliberately no
patchhere. Seeassets.tsfor why an incomplete manifest carries removed paths forward instead of deleting them.