refactor: group rpc transport client and methods
This commit is contained in:
+17
-2
@@ -113,7 +113,7 @@ def load_cli_context(
|
||||
|
||||
if rpc_url is not None:
|
||||
_validate_rpc_url(rpc_url)
|
||||
client = RpcWorkflowApiClient(
|
||||
client = rpc_client_from_target(
|
||||
url=rpc_url,
|
||||
timeout_seconds=_rpc_timeout_from_optional_config(
|
||||
resolved_config_path,
|
||||
@@ -161,7 +161,7 @@ def load_cli_context(
|
||||
verbose=verbose,
|
||||
)
|
||||
if isinstance(target, RpcHttpTargetConfig):
|
||||
client = RpcWorkflowApiClient(
|
||||
client = rpc_client_from_target(
|
||||
url=str(target.url),
|
||||
timeout_seconds=(
|
||||
rpc_timeout_seconds
|
||||
@@ -181,6 +181,21 @@ def load_cli_context(
|
||||
raise ValueError(f"unsupported workflow target {target!r}")
|
||||
|
||||
|
||||
def rpc_client_from_target(
|
||||
*,
|
||||
url: str,
|
||||
timeout_seconds: float,
|
||||
) -> RpcWorkflowApiClient:
|
||||
"""Build the remote workflow surface for a resolved RPC target.
|
||||
|
||||
CLI tests patch this project-owned seam instead of monkeypatching `httpx`
|
||||
internals. The production path still keeps HTTP construction inside the
|
||||
transport package.
|
||||
"""
|
||||
|
||||
return RpcWorkflowApiClient(url=url, timeout_seconds=timeout_seconds)
|
||||
|
||||
|
||||
def load_local_cli_context(
|
||||
config_path: str | Path,
|
||||
*,
|
||||
|
||||
@@ -5,9 +5,6 @@ Canonical implementation lives in `wf_sources_mcp.tool_wrappers`.
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from wf_sources_mcp.schema_models import model_from_schema
|
||||
from wf_sources_mcp.tool_wrappers import wrap_discovered_tool
|
||||
|
||||
_model_from_schema = model_from_schema # TODO: remove when callers migrate
|
||||
|
||||
__all__ = ["_model_from_schema", "wrap_discovered_tool"]
|
||||
__all__ = ["wrap_discovered_tool"]
|
||||
|
||||
@@ -7,16 +7,18 @@ import fastapi_jsonrpc as jsonrpc
|
||||
from wf_server import WorkflowServer
|
||||
|
||||
from .errors import WorkflowRpcError
|
||||
from .methods_admin import register_methods as register_admin_methods
|
||||
from .methods_artifacts import register_methods as register_artifact_methods
|
||||
from .methods_capabilities import register_methods as register_capability_methods
|
||||
from .methods_deployments import register_methods as register_deployment_methods
|
||||
from .methods_drafts import register_methods as register_draft_methods
|
||||
from .methods_runs import register_methods as register_run_methods
|
||||
from .methods_source_registry import (
|
||||
from .methods.admin import register_methods as register_admin_methods
|
||||
from .methods.artifacts import register_methods as register_artifact_methods
|
||||
from .methods.capabilities import (
|
||||
register_methods as register_capability_methods,
|
||||
)
|
||||
from .methods.deployments import register_methods as register_deployment_methods
|
||||
from .methods.drafts import register_methods as register_draft_methods
|
||||
from .methods.runs import register_methods as register_run_methods
|
||||
from .methods.source_registry import (
|
||||
register_methods as register_source_registry_methods,
|
||||
)
|
||||
from .methods_sources import register_methods as register_source_methods
|
||||
from .methods.sources import register_methods as register_source_methods
|
||||
|
||||
|
||||
def create_rpc_app(server: WorkflowServer, *, rpc_path: str = "/rpc") -> jsonrpc.API:
|
||||
|
||||
@@ -2,17 +2,15 @@ from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass
|
||||
|
||||
import httpx # noqa: F401 # Backcompat for tests patching client.httpx.AsyncClient.
|
||||
|
||||
from .client_admin import RpcAdminClientMixin
|
||||
from .client_artifacts import RpcArtifactClientMixin
|
||||
from .client_base import RpcClientTransport
|
||||
from .client_capabilities import RpcCapabilityClientMixin
|
||||
from .client_deployments import RpcDeploymentClientMixin
|
||||
from .client_drafts import RpcDraftClientMixin
|
||||
from .client_runs import RpcRunClientMixin
|
||||
from .client_source_registry import RpcSourceRegistryClientMixin
|
||||
from .client_sources import RpcSourceAdminClientMixin
|
||||
from .admin import RpcAdminClientMixin
|
||||
from .artifacts import RpcArtifactClientMixin
|
||||
from .base import RpcClientTransport
|
||||
from .capabilities import RpcCapabilityClientMixin
|
||||
from .deployments import RpcDeploymentClientMixin
|
||||
from .drafts import RpcDraftClientMixin
|
||||
from .runs import RpcRunClientMixin
|
||||
from .source_registry import RpcSourceRegistryClientMixin
|
||||
from .sources import RpcSourceAdminClientMixin
|
||||
|
||||
|
||||
@dataclass(slots=True)
|
||||
+3
-3
@@ -6,14 +6,14 @@ import fastapi_jsonrpc as jsonrpc
|
||||
|
||||
from wf_server import WorkflowServer
|
||||
|
||||
from .errors import WorkflowRpcError, raise_workflow_rpc_error
|
||||
from .models import (
|
||||
from ..errors import WorkflowRpcError, raise_workflow_rpc_error
|
||||
from ..models import (
|
||||
AdminEmptyParams,
|
||||
DeleteAuthParams,
|
||||
InspectAuthParams,
|
||||
SaveAuthParams,
|
||||
)
|
||||
from .params import RpcParams
|
||||
from ..params import RpcParams
|
||||
|
||||
|
||||
def register_methods(
|
||||
+3
-3
@@ -6,9 +6,9 @@ import fastapi_jsonrpc as jsonrpc
|
||||
|
||||
from wf_server import WorkflowServer
|
||||
|
||||
from .errors import WorkflowRpcError, raise_workflow_rpc_error
|
||||
from .models import InspectArtifactParams, ListArtifactsParams, SaveArtifactParams
|
||||
from .params import RpcParams
|
||||
from ..errors import WorkflowRpcError, raise_workflow_rpc_error
|
||||
from ..models import InspectArtifactParams, ListArtifactsParams, SaveArtifactParams
|
||||
from ..params import RpcParams
|
||||
|
||||
|
||||
def register_methods(
|
||||
+3
-3
@@ -6,9 +6,9 @@ import fastapi_jsonrpc as jsonrpc
|
||||
|
||||
from wf_server import WorkflowServer
|
||||
|
||||
from .errors import WorkflowRpcError, raise_workflow_rpc_error
|
||||
from .models import InspectCapabilityParams, ListCapabilitiesParams
|
||||
from .params import RpcParams
|
||||
from ..errors import WorkflowRpcError, raise_workflow_rpc_error
|
||||
from ..models import InspectCapabilityParams, ListCapabilitiesParams
|
||||
from ..params import RpcParams
|
||||
|
||||
|
||||
def register_methods(
|
||||
+3
-3
@@ -6,15 +6,15 @@ import fastapi_jsonrpc as jsonrpc
|
||||
|
||||
from wf_server import WorkflowServer
|
||||
|
||||
from .errors import WorkflowRpcError, raise_workflow_rpc_error
|
||||
from .models import (
|
||||
from ..errors import WorkflowRpcError, raise_workflow_rpc_error
|
||||
from ..models import (
|
||||
DeleteDeploymentParams,
|
||||
InspectDeploymentParams,
|
||||
ListDeploymentsParams,
|
||||
SaveDeploymentParams,
|
||||
ValidateDeploymentParams,
|
||||
)
|
||||
from .params import RpcParams
|
||||
from ..params import RpcParams
|
||||
|
||||
|
||||
def register_methods(
|
||||
+3
-3
@@ -6,8 +6,8 @@ import fastapi_jsonrpc as jsonrpc
|
||||
|
||||
from wf_server import WorkflowServer
|
||||
|
||||
from .errors import WorkflowRpcError, raise_workflow_rpc_error
|
||||
from .models import (
|
||||
from ..errors import WorkflowRpcError, raise_workflow_rpc_error
|
||||
from ..models import (
|
||||
CreateArtifactFromWorkspaceParams,
|
||||
CreateDraftFromCapabilityParams,
|
||||
CreateWrapperFromWorkspaceParams,
|
||||
@@ -18,7 +18,7 @@ from .models import (
|
||||
ValidateDraftParams,
|
||||
ValidateDraftWorkspaceParams,
|
||||
)
|
||||
from .params import RpcParams
|
||||
from ..params import RpcParams
|
||||
|
||||
|
||||
def register_methods(
|
||||
+3
-3
@@ -6,14 +6,14 @@ import fastapi_jsonrpc as jsonrpc
|
||||
|
||||
from wf_server import WorkflowServer
|
||||
|
||||
from .errors import WorkflowRpcError, raise_workflow_rpc_error
|
||||
from .models import (
|
||||
from ..errors import WorkflowRpcError, raise_workflow_rpc_error
|
||||
from ..models import (
|
||||
InspectRunParams,
|
||||
ReadRunTraceParams,
|
||||
ResumeRunParams,
|
||||
StartRunParams,
|
||||
)
|
||||
from .params import RpcParams
|
||||
from ..params import RpcParams
|
||||
|
||||
|
||||
def register_methods(
|
||||
+3
-3
@@ -7,8 +7,8 @@ import fastapi_jsonrpc as jsonrpc
|
||||
from wf_api import WorkflowSourceRegistrySurface
|
||||
from wf_server import WorkflowServer
|
||||
|
||||
from .errors import WorkflowRpcError, raise_workflow_rpc_error
|
||||
from .models import (
|
||||
from ..errors import WorkflowRpcError, raise_workflow_rpc_error
|
||||
from ..models import (
|
||||
AddRegistryEntryParams,
|
||||
ApplyRegistryChangesParams,
|
||||
InspectRegistryEntryParams,
|
||||
@@ -16,7 +16,7 @@ from .models import (
|
||||
RegistryEntryIdParams,
|
||||
UpdateRegistryEntryParams,
|
||||
)
|
||||
from .params import RpcParams
|
||||
from ..params import RpcParams
|
||||
|
||||
|
||||
def _require_source_registry_admin(
|
||||
+3
-3
@@ -6,9 +6,9 @@ import fastapi_jsonrpc as jsonrpc
|
||||
|
||||
from wf_server import WorkflowServer
|
||||
|
||||
from .errors import WorkflowRpcError, raise_workflow_rpc_error
|
||||
from .models import InspectSourceParams, ListSourcesParams
|
||||
from .params import RpcParams
|
||||
from ..errors import WorkflowRpcError, raise_workflow_rpc_error
|
||||
from ..models import InspectSourceParams, ListSourcesParams
|
||||
from ..params import RpcParams
|
||||
|
||||
|
||||
def register_methods(
|
||||
Reference in New Issue
Block a user