File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 44"""
55Dataset service for listing seed datasets.
66
7- Wraps ``SeedDatasetProvider`` discovery so the API can list available datasets.
7+ Wraps ``SeedDatasetProvider`` discovery and memory to list available datasets.
88"""
99
1010import logging
1515 DatasetListResponse ,
1616)
1717from pyrit .datasets import SeedDatasetProvider
18+ from pyrit .memory import CentralMemory
1819
1920logger = logging .getLogger (__name__ )
2021
2122
2223class DatasetService :
2324 """Service for listing seed datasets."""
2425
26+ def __init__ (self ) -> None :
27+ """Initialize the dataset service."""
28+ self ._memory = CentralMemory .get_memory_instance ()
29+
2530 async def list_datasets_async (self ) -> DatasetListResponse :
2631 """
2732 List all available datasets.
2833
34+ Combines datasets discoverable via registered providers with those
35+ already loaded into memory, since both are available for use.
36+
2937 Returns:
3038 DatasetListResponse: Available datasets.
3139 """
32- available = await SeedDatasetProvider .get_all_dataset_names_async ()
40+ provider_names = await SeedDatasetProvider .get_all_dataset_names_async ()
41+ memory_names = self ._memory .get_seed_dataset_names ()
42+ available = sorted (set (provider_names ) | set (memory_names ))
3343 items = [DatasetInfo (name = name ) for name in available ]
3444 return DatasetListResponse (items = items )
3545
You can’t perform that action at this time.
0 commit comments