feat: reconcile sanctions screening freshness
This commit is contained in:
@@ -122,6 +122,20 @@ class ScreeningRunCreateRequest(BaseModel):
|
||||
)
|
||||
|
||||
|
||||
class ScreeningFreshnessCheckRequest(BaseModel):
|
||||
current_subject: ScreeningSubjectInput | None = None
|
||||
expected_list_snapshot_id: str | None = Field(
|
||||
default=None,
|
||||
max_length=36,
|
||||
)
|
||||
policy: ScreeningPolicyInput | None = None
|
||||
failure_policy: Literal[
|
||||
"block",
|
||||
"review",
|
||||
"degraded",
|
||||
] = "block"
|
||||
|
||||
|
||||
class SubjectSnapshotResponse(BaseModel):
|
||||
id: str
|
||||
subject_ref: str | None
|
||||
@@ -196,6 +210,7 @@ class CandidateResponse(BaseModel):
|
||||
|
||||
class ScreeningRunSummaryResponse(BaseModel):
|
||||
id: str
|
||||
evidence_ref: str
|
||||
subject_name: str | None
|
||||
subject_type: str
|
||||
list_snapshot_id: str
|
||||
@@ -213,6 +228,7 @@ class ScreeningRunSummaryResponse(BaseModel):
|
||||
|
||||
class ScreeningRunResponse(BaseModel):
|
||||
id: str
|
||||
evidence_ref: str
|
||||
idempotency_key: str
|
||||
request_hash: str
|
||||
matcher_version: str
|
||||
@@ -240,6 +256,26 @@ class ScreeningRunListResponse(BaseModel):
|
||||
runs: list[ScreeningRunSummaryResponse]
|
||||
|
||||
|
||||
class ScreeningFreshnessResponse(BaseModel):
|
||||
evidence_ref: str
|
||||
run: ScreeningRunSummaryResponse
|
||||
fresh: bool
|
||||
reasons: list[str]
|
||||
checked_at: datetime
|
||||
current_list_snapshot_id: str | None
|
||||
gate_decision: Literal[
|
||||
"allow",
|
||||
"block",
|
||||
"review",
|
||||
"degraded",
|
||||
]
|
||||
gate_reasons: list[str]
|
||||
|
||||
|
||||
class RescreeningRequirementListResponse(BaseModel):
|
||||
requirements: list[ScreeningFreshnessResponse]
|
||||
|
||||
|
||||
class ReviewQueueItemResponse(BaseModel):
|
||||
id: str
|
||||
run_id: str
|
||||
@@ -331,6 +367,9 @@ __all__ = [
|
||||
"ListSnapshotResponse",
|
||||
"ReviewQueueItemResponse",
|
||||
"ReviewQueueResponse",
|
||||
"RescreeningRequirementListResponse",
|
||||
"ScreeningFreshnessCheckRequest",
|
||||
"ScreeningFreshnessResponse",
|
||||
"ScreeningRunCreateRequest",
|
||||
"ScreeningRunCreateResponse",
|
||||
"ScreeningRunListResponse",
|
||||
|
||||
Reference in New Issue
Block a user