asset listing filters

This commit is contained in:
2026-05-06 08:11:54 +02:00
parent dbe93be1a9
commit f5a52e780d
7 changed files with 282 additions and 11 deletions

View File

@@ -3,6 +3,7 @@
from __future__ import annotations
from dataclasses import dataclass, replace
from typing import Any
from kontextual_engine.core import (
AssetRepresentation,
@@ -22,6 +23,7 @@ from kontextual_engine.core import (
OperationContext,
PolicyDecision,
RelationshipTargetKind,
Sensitivity,
SourceReference,
VersionChangeType,
)
@@ -308,6 +310,29 @@ class AssetRegistryService:
def get_asset(self, asset_id: str) -> KnowledgeAsset:
return self.repository.get_asset(asset_id)
def list_assets(
self,
*,
lifecycle: LifecycleState | None = None,
asset_type: str | None = None,
sensitivity: Sensitivity | str | None = None,
owner: str | None = None,
topic: str | None = None,
review_state: str | None = None,
metadata_filters: dict[str, Any] | None = None,
confirmed_metadata_only: bool = False,
) -> list[KnowledgeAsset]:
return self.repository.list_assets(
lifecycle=lifecycle,
asset_type=asset_type,
sensitivity=sensitivity,
owner=owner,
topic=topic,
review_state=review_state,
metadata_filters=metadata_filters,
confirmed_metadata_only=confirmed_metadata_only,
)
def register_context_entity(self, entity: ContextEntity, context: OperationContext) -> ContextEntity:
decision = self._authorize(
context,