feat(quick-access): expose effective preference provenance

This commit is contained in:
2026-08-20 02:39:41 +02:00
parent b5b629b357
commit 127b6ee5d0
8 changed files with 211 additions and 2 deletions
@@ -71,17 +71,30 @@ class EffectiveToolResponse(CatalogueToolResponse):
enabled: bool
forced: bool
locked_by: str | None = None
availability_state: Literal["available", "forced", "blocked"]
availability_source: Literal["module", "system", "tenant", "user"]
order_source: Literal["module", "system", "tenant", "user"]
class EffectiveCategoryResponse(CatalogueCategoryResponse):
enabled: bool
forced: bool
locked_by: str | None = None
availability_state: Literal["available", "forced", "blocked"]
availability_source: Literal["module", "system", "tenant", "user"]
order_source: Literal["module", "system", "tenant", "user"]
tools: list[EffectiveToolResponse]
class EffectiveStalePreferenceResponse(BaseModel):
id: str
kind: Literal["category", "tool"]
source: Literal["system", "tenant", "user"]
class EffectiveQuickAccessResponse(BaseModel):
categories: list[EffectiveCategoryResponse]
stale_preferences: list[EffectiveStalePreferenceResponse] = Field(default_factory=list)
diagnostics: list[str] = Field(default_factory=list)