feat: transport authoritative workload projections
Some checks failed
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / pytest-smoke (push) Failing after 2s

Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a0230c-b06c-7641-808a-e191b6d1da49
This commit is contained in:
tegwick 2026-08-23 10:54:40 +02:00
parent a090903cfc
commit ab936a1e98
27 changed files with 1671 additions and 15 deletions

View file

@ -29,6 +29,8 @@ CORE_TOOL_NAMES = frozenset({
"list_domain_repos",
"query_repository_navigation",
"get_repository_navigation_facet",
"query_workloads",
"resolve_workload_reference",
"check_repo_doi",
"get_doi_summary",
"register_service",
@ -344,6 +346,42 @@ class HubCoreMCPServer:
)
)
@register("query_workloads")
def query_workloads(
rapp_id: str | None = None,
name: str | None = None,
deployable: str | None = None,
cursor: str | None = None,
limit: int = 100,
) -> str:
"""Query normalized authoritative workload records without inference."""
return self._json(
self._get(
"/ports/projections/workloads",
{
"rapp_id": rapp_id,
"name": name,
"deployable": deployable,
"cursor": cursor,
"limit": limit,
},
)
)
@register("resolve_workload_reference")
def resolve_workload_reference(
rapp_id: str,
name: str,
deployable: str | None = None,
) -> str:
"""Resolve only an exact rapp/name/deployable reference."""
return self._json(
self._get(
"/ports/projections/workloads/resolve",
{"rapp_id": rapp_id, "name": name, "deployable": deployable},
)
)
@register("check_repo_doi")
def check_repo_doi(repo_slug: str, force_refresh: bool = False) -> str:
return self._json(