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.