feat: add source auth diagnostics

This commit is contained in:
lda
2026-06-13 16:07:24 +07:00 Verified
parent 381d0b1924
commit 3f91c4bca5
17 changed files with 1460 additions and 5 deletions
@@ -27,3 +27,9 @@ class RpcSourceAdminClientMixin:
"workflow.sources.inspect",
{"source_id": source_id},
)
async def diagnose_source(self: RpcCaller, *, source_id: str) -> dict[str, Any]:
return await self._call(
"workflow.sources.diagnose",
{"source_id": source_id},
)
+12 -1
View File
@@ -7,7 +7,7 @@ import fastapi_jsonrpc as jsonrpc
from wf_server import WorkflowServer
from ..errors import WorkflowRpcError, raise_workflow_rpc_error
from ..models import InspectSourceParams, ListSourcesParams
from ..models import DiagnoseSourceParams, InspectSourceParams, ListSourcesParams
from ..params import RpcParams
@@ -37,3 +37,14 @@ def register_methods(
return await server.source_admin.inspect_source(source_id=params.source_id)
except (ValueError, KeyError, LookupError, FileNotFoundError) as exc:
raise_workflow_rpc_error(exc)
@entrypoint.method(name="workflow.sources.diagnose", errors=[WorkflowRpcError])
async def workflow_sources_diagnose(
params: DiagnoseSourceParams = RpcParams(),
) -> dict[str, Any]:
try:
return await server.source_admin.diagnose_source(
source_id=params.source_id
)
except (ValueError, KeyError, LookupError, FileNotFoundError) as exc:
raise_workflow_rpc_error(exc)
+4
View File
@@ -50,6 +50,10 @@ class InspectSourceParams(RpcParamsModel):
source_id: str = Field(min_length=1)
class DiagnoseSourceParams(RpcParamsModel):
source_id: str = Field(min_length=1)
class InspectCapabilityParams(RpcParamsModel):
qualified_name: str = Field(min_length=1)