cayu.vaults.base
Public Cayu API. Definitions are grouped by their public source module, and definitions from private implementation modules appear on their package’s page; adding a symbol does not move existing links. The import shown at each entry is a supported public namespace. Read the Python API overview and install the required extra.
copy_resolved_secret
Section titled “copy_resolved_secret”from cayu.vaults import copy_resolved_secretcopy_resolved_secret(secret: ResolvedSecret) -> ResolvedSecretRelease source · Runtime guarantees · Capability guides
copy_secret_env
Section titled “copy_secret_env”from cayu.vaults import copy_secret_envcopy_secret_env(secret_env: SecretEnv) -> SecretEnvRelease source · Runtime guarantees · Capability guides
copy_secret_ref
Section titled “copy_secret_ref”from cayu.vaults import copy_secret_refcopy_secret_ref(ref: SecretRef) -> SecretRefRelease source · Runtime guarantees · Capability guides
resolve_secret_env
Section titled “resolve_secret_env”from cayu.vaults import resolve_secret_envResolve declared secret environment entries to injection-ready values.
The returned values stay wrapped in ResolvedSecret (SecretStr) so
callers unwrap them only at the last moment before injection and can feed
the same values into a SecretRedactor for output scrubbing.
async resolve_secret_env(secret_env: Sequence[SecretEnv] | Mapping[str, SecretRef], resolver: SecretResolver, *, scope: dict[str, Any] | None=None) -> dict[str, ResolvedSecret]Release source · Runtime guarantees · Capability guides
ResolvedSecret
Section titled “ResolvedSecret”from cayu.vaults import ResolvedSecretResolved secret value for runtime injection only.
value uses SecretStr so accidental dumps/logs do not reveal the raw
secret. Runtime code must explicitly call get_secret_value() at the last
possible moment before injecting into a tool/runner environment.
Bases: BaseModel.
Fields and attributes
Section titled “Fields and attributes”Defaults below are source expressions; Field(...) includes schema/validation settings and default_factory creates a fresh value. Inherited declarations are included. Constructor behavior follows the model or dataclass shown in the bases/decorators.
| Name | Type | Default |
|---|---|---|
name |
str |
required |
value |
SecretStr |
required |
metadata |
dict[str, Any] |
Field(default_factory=dict) |
copy_metadata (method)
Section titled “copy_metadata (method)”ResolvedSecret.copy_metadata(value: dict[str, Any]) -> dict[str, Any]validate_nonblank_name (method)
Section titled “validate_nonblank_name (method)”ResolvedSecret.validate_nonblank_name(value: str, info) -> strvalidate_nonblank_value (method)
Section titled “validate_nonblank_value (method)”ResolvedSecret.validate_nonblank_value(value: SecretStr, info) -> SecretStrRelease source · Runtime guarantees · Capability guides
secret_env_refs
Section titled “secret_env_refs”from cayu.vaults import secret_env_refsNormalize declared secret environment entries to name -> SecretRef.
Accepts either a sequence of SecretEnv entries or a plain
{env_var_name: SecretRef} mapping. Duplicate environment variable
names are rejected because injection would silently drop one secret.
secret_env_refs(secret_env: Sequence[SecretEnv] | Mapping[str, SecretRef]) -> dict[str, SecretRef]Release source · Runtime guarantees · Capability guides
SecretEnv
Section titled “SecretEnv”from cayu.vaults import SecretEnvEnvironment variable whose value must be resolved from a secret ref.
Bases: BaseModel.
Fields and attributes
Section titled “Fields and attributes”Defaults below are source expressions; Field(...) includes schema/validation settings and default_factory creates a fresh value. Inherited declarations are included. Constructor behavior follows the model or dataclass shown in the bases/decorators.
| Name | Type | Default |
|---|---|---|
name |
str |
required |
ref |
SecretRef |
required |
metadata |
dict[str, Any] |
Field(default_factory=dict) |
copy_metadata (method)
Section titled “copy_metadata (method)”SecretEnv.copy_metadata(value: dict[str, Any]) -> dict[str, Any]validate_nonblank_name (method)
Section titled “validate_nonblank_name (method)”SecretEnv.validate_nonblank_name(value: str, info) -> strcopy_ref (method)
Section titled “copy_ref (method)”SecretEnv.copy_ref(value: SecretRef) -> SecretRefRelease source · Runtime guarantees · Capability guides
SecretNotFound
Section titled “SecretNotFound”from cayu.vaults import SecretNotFoundRaised when a vault cannot resolve a requested secret.
Bases: VaultError.
This type’s implementation and inherited behavior are available in the linked release source.
Release source · Runtime guarantees · Capability guides
SecretRef
Section titled “SecretRef”from cayu.vaults import SecretRefReference to a secret value.
The raw value should be injected into tools/runners by the runtime and should not be placed in model prompt text.
Bases: BaseModel.
Fields and attributes
Section titled “Fields and attributes”Defaults below are source expressions; Field(...) includes schema/validation settings and default_factory creates a fresh value. Inherited declarations are included. Constructor behavior follows the model or dataclass shown in the bases/decorators.
| Name | Type | Default |
|---|---|---|
name |
str |
required |
handle |
str | None |
None |
metadata |
dict[str, Any] |
Field(default_factory=dict) |
copy_metadata (method)
Section titled “copy_metadata (method)”SecretRef.copy_metadata(value: dict[str, Any]) -> dict[str, Any]validate_nonblank_name (method)
Section titled “validate_nonblank_name (method)”SecretRef.validate_nonblank_name(value: str, info) -> strvalidate_nonblank_handle (method)
Section titled “validate_nonblank_handle (method)”SecretRef.validate_nonblank_handle(value: str | None, info) -> str | NoneRelease source · Runtime guarantees · Capability guides
SecretResolver
Section titled “SecretResolver”from cayu.vaults import SecretResolverAsync credential source shared by Vault and CredentialProxy.
Anything with an async resolve(ref, *, scope=None) -> ResolvedSecret
method satisfies this seam, so runners, MCP clients, and providers can
consume secrets from a vault directly or through a credential proxy.
Decorators: @runtime_checkable.
Bases: Protocol.
resolve (method)
Section titled “resolve (method)”async SecretResolver.resolve(ref: SecretRef, *, scope: dict[str, Any] | None=None) -> ResolvedSecretRelease source · Runtime guarantees · Capability guides
validate_secret_resolver
Section titled “validate_secret_resolver”from cayu.vaults import validate_secret_resolverReject objects that cannot asynchronously resolve secret references.
validate_secret_resolver(resolver: object, field_name: str='secret_resolver') -> NoneRelease source · Runtime guarantees · Capability guides
from cayu.vaults import VaultSecrets lookup contract.
Bases: ABC.
get (method)
Section titled “get (method)”async Vault.get(name: str, *, scope: dict[str, Any] | None=None) -> SecretRefResolve a secret reference.
resolve (method)
Section titled “resolve (method)”async Vault.resolve(ref: SecretRef, *, scope: dict[str, Any] | None=None) -> ResolvedSecretResolve a secret reference to a masked value for runtime injection.
Release source · Runtime guarantees · Capability guides
VaultError
Section titled “VaultError”from cayu.vaults import VaultErrorBase error for vault resolution failures.
Bases: RuntimeError.
This type’s implementation and inherited behavior are available in the linked release source.