Spaces:
Running
Running
File size: 4,019 Bytes
8b859b4 283272c 8b859b4 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 | import json
from functools import lru_cache
from pathlib import Path
DATA_DIR = Path(__file__).parent / "data"
@lru_cache(maxsize=1)
def _catalog():
tasks = json.loads((DATA_DIR / "shellops.json").read_text(encoding="utf-8"))
manifest = json.loads((DATA_DIR / "shellops_manifest.json").read_text(encoding="utf-8"))
by_id = {(task["partition"], task["task_id"]): task for task in tasks}
return tasks, manifest, by_id
def dataset_overview() -> dict:
"""Inspect ShellOps and ShellOps-Pro task counts, train/test splits, task types, published schemas, source files, license and citation."""
manifest = _catalog()[1]
overview = {key: manifest[key] for key in (
"repo_id", "dataset_url", "dataset_card_url", "metadata_url", "license",
"unique_tasks", "partitions", "split_semantics", "train_subset_rows",
"service_scope", "asset_link_scope", "citation",
)}
overview["files"] = [{key: source[key] for key in (
"repository_path", "partition", "split", "rows", "size_bytes", "url", "schema", "task_types",
)} for source in manifest["files"]]
return overview
def search_tasks(query: str, partition: str = "all", split: str = "all", limit: int = 10, offset: int = 0) -> dict:
"""Find real ShellOps CLI benchmark tasks by case-insensitive literal substring in the complete instruction, task ID or published task type. Empty query lists all tasks. Select partition 'all', 'shellops' or 'shellops_pro'; select published split 'all', 'train_src', 'train' or 'test'. Results are ordered by partition then task ID, with explicit pagination and no relevance scoring. The train subset is not double-counted."""
tasks, manifest, _ = _catalog()
if partition not in {"all", *manifest["partitions"]}:
raise ValueError("partition must be all, shellops or shellops_pro")
if split not in {"all", *(entry["split"] for entry in manifest["files"])}:
raise ValueError("split must be all, train_src, train or test")
if limit < 1 or offset < 0:
raise ValueError("limit must be positive and offset must be nonnegative")
needle = query.casefold()
matches = [
task for task in tasks
if (partition == "all" or task["partition"] == partition)
and (split == "all" or split in {source["split"] for source in task["sources"]})
and any(needle in task[field].casefold() for field in ("instruction", "task_id", "task_type"))
]
page = matches[offset:offset + limit]
return {
"query": query,
"retrieval": "case-insensitive literal substring; ordered by partition and task ID",
"partition": partition,
"split": split,
"total_matches": len(matches),
"limit": limit,
"offset": offset,
"returned": len(page),
"next_offset": offset + len(page) if offset + len(page) < len(matches) else None,
"results": [
{key: task[key] for key in ("task_id", "partition", "instruction", "task_type", "sources")}
for task in page
],
"citation": manifest["citation"],
}
def get_task(task_id: str, partition: str) -> dict:
"""Inspect one published ShellOps or ShellOps-Pro task by its exact task_id and partition ('shellops' or 'shellops_pro'). Returns the complete instruction, actual reward specification, published reference answer/command, file-entry metadata, pinned parquet rows and workspace asset links. File content is available at the source links. No shell execution or solution verification is performed."""
_, manifest, by_id = _catalog()
if (partition, task_id) not in by_id:
raise ValueError("No task matches that exact partition and task_id; use search_tasks to find an existing task.")
return {
**by_id[(partition, task_id)],
"dataset_url": manifest["dataset_url"],
"service_scope": manifest["service_scope"],
"asset_link_scope": manifest["asset_link_scope"],
"citation": manifest["citation"],
}
|