Skip to content

msflib.policy

Part of the msflib core package.

msflib.policy

PolicyEnvelope

Bases: BaseModel

Standard policy shape shared across domains.

Domain-specific settings can extend this model if they need stricter typing, but this default envelope gives a consistent baseline contract.

PolicyResolutionService(*, scoped_config_store: PolicyScopedConfigStore | None = None, decision_logger: PolicyDecisionLogger | None = None)

load_policy_field(module_settings: ModuleSettingsBase, *, field_name: str, schema: type[BaseModel] | TypeAdapter[Any] | None = None) -> dict[str, Any]

Load one policy field from a settings model using shared parsing rules.

resolve_policy_field(module_settings: ModuleSettingsBase, *, field_name: str, schema: type[BaseModel] | TypeAdapter[Any] | None = None, session: Any | None = None, tenant_id: int | None = None, workspace_id: int | None = None, account_id: int | None = None, request_override: Mapping[str, Any] | None = None, request_id: str | None = None) -> tuple[dict[str, Any], PolicyResolutionTrace]

Resolve one policy field across all policy layers and return trace metadata.

PolicyScopedConfigStore

Bases: Protocol

Storage abstraction for tenant/workspace/user policy values.

validate_policy_mapping(value: Any, *, field_name: str, schema: type[BaseModel] | TypeAdapter[Any] | None = None) -> dict[str, Any]

Parse a policy mapping from persisted values and validate with an optional schema.

envelope

PolicyEnvelope

Bases: BaseModel

Standard policy shape shared across domains.

Domain-specific settings can extend this model if they need stricter typing, but this default envelope gives a consistent baseline contract.

resolution

PolicyScopedConfigStore

Bases: Protocol

Storage abstraction for tenant/workspace/user policy values.

PolicyResolutionService(*, scoped_config_store: PolicyScopedConfigStore | None = None, decision_logger: PolicyDecisionLogger | None = None)

load_policy_field(module_settings: ModuleSettingsBase, *, field_name: str, schema: type[BaseModel] | TypeAdapter[Any] | None = None) -> dict[str, Any]

Load one policy field from a settings model using shared parsing rules.

resolve_policy_field(module_settings: ModuleSettingsBase, *, field_name: str, schema: type[BaseModel] | TypeAdapter[Any] | None = None, session: Any | None = None, tenant_id: int | None = None, workspace_id: int | None = None, account_id: int | None = None, request_override: Mapping[str, Any] | None = None, request_id: str | None = None) -> tuple[dict[str, Any], PolicyResolutionTrace]

Resolve one policy field across all policy layers and return trace metadata.

validate_policy_mapping(value: Any, *, field_name: str, schema: type[BaseModel] | TypeAdapter[Any] | None = None) -> dict[str, Any]

Parse a policy mapping from persisted values and validate with an optional schema.