feat: transport authoritative workload projections
Assistant: codex Assistant-Model: gpt-5.6-sol Assistant-Session: 01a0230c-b06c-7641-808a-e191b6d1da49
This commit is contained in:
parent
a090903cfc
commit
ab936a1e98
27 changed files with 1671 additions and 15 deletions
|
|
@ -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(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue