feat: expose composite step inputs
This commit is contained in:
@@ -16,7 +16,7 @@ from wf_api.models import (
|
||||
)
|
||||
from wf_api.surface import RouteSource
|
||||
from wf_artifacts.drafts.models import DraftStep
|
||||
from wf_core.models.steps import InputBinding, OutputBinding
|
||||
from wf_core.models.steps import InputBinding, OutputBinding, StepInputBinding
|
||||
|
||||
from .base import RpcCaller
|
||||
|
||||
@@ -86,8 +86,8 @@ class RpcDraftClientMixin:
|
||||
input_schema: dict[str, Any] | None = None,
|
||||
state_schema: dict[str, Any] | None = None,
|
||||
output_schema: dict[str, Any] | None = None,
|
||||
input: Sequence[Any] | None = None,
|
||||
output: Sequence[Any] | None = None,
|
||||
input: Sequence[StepInputBinding] | None = None,
|
||||
output: Sequence[OutputBinding] | None = None,
|
||||
input_map: dict[str, str] | None = None,
|
||||
output_map: dict[str, str] | None = None,
|
||||
error_message_source: Any | None = None,
|
||||
@@ -104,8 +104,16 @@ class RpcDraftClientMixin:
|
||||
"input_schema": input_schema,
|
||||
"state_schema": state_schema,
|
||||
"output_schema": output_schema,
|
||||
"input": input,
|
||||
"output": output,
|
||||
"input": (
|
||||
[binding.model_dump(mode="json") for binding in input]
|
||||
if input is not None
|
||||
else None
|
||||
),
|
||||
"output": (
|
||||
[binding.model_dump(mode="json") for binding in output]
|
||||
if output is not None
|
||||
else None
|
||||
),
|
||||
"input_map": input_map,
|
||||
"output_map": output_map,
|
||||
"error_message_source": error_message_source,
|
||||
@@ -265,7 +273,7 @@ class RpcDraftClientMixin:
|
||||
workspace_id: str,
|
||||
revision: int,
|
||||
step_id: str,
|
||||
bindings: Sequence[InputBinding],
|
||||
bindings: Sequence[StepInputBinding],
|
||||
) -> DraftWorkspaceResult:
|
||||
return await _call_draft_workspace(
|
||||
self,
|
||||
@@ -405,7 +413,7 @@ class RpcDraftClientMixin:
|
||||
route_from_outcome: str = "ok",
|
||||
routes: dict[str, str] | None = None,
|
||||
input_map: dict[str, str] | None = None,
|
||||
input_bindings: Sequence[InputBinding] | None = None,
|
||||
input_bindings: Sequence[StepInputBinding] | None = None,
|
||||
bind_outputs: dict[str, str] | None = None,
|
||||
desc: str | None = None,
|
||||
retry: int | None = None,
|
||||
|
||||
@@ -7,7 +7,7 @@ from pydantic import BaseModel, ConfigDict, Field, model_validator
|
||||
from wf_api import CapabilityStepUpdate
|
||||
from wf_api.models import TraceRange
|
||||
from wf_artifacts.drafts.models import DraftStep
|
||||
from wf_core.models.steps import InputBinding, OutputBinding
|
||||
from wf_core.models.steps import InputBinding, OutputBinding, StepInputBinding
|
||||
|
||||
|
||||
class RpcParamsModel(BaseModel):
|
||||
@@ -75,8 +75,8 @@ class CreateDraftFromCapabilityParams(RpcParamsModel):
|
||||
input_schema: dict[str, Any] | None = None
|
||||
state_schema: dict[str, Any] | None = None
|
||||
output_schema: dict[str, Any] | None = None
|
||||
input: list[Any] | None = None
|
||||
output: list[Any] | None = None
|
||||
input: list[StepInputBinding] | None = None
|
||||
output: list[OutputBinding] | None = None
|
||||
input_map: dict[str, str] | None = None
|
||||
output_map: dict[str, str] | None = None
|
||||
error_message_source: Any | None = None
|
||||
@@ -220,7 +220,7 @@ class SetStepInputBindingsParams(RpcParamsModel):
|
||||
workspace_id: str = Field(min_length=1)
|
||||
revision: int = Field(ge=1)
|
||||
step_id: str = Field(min_length=1)
|
||||
bindings: list[InputBinding]
|
||||
bindings: list[StepInputBinding]
|
||||
|
||||
|
||||
class SetStepOutputBindingsParams(RpcParamsModel):
|
||||
@@ -275,7 +275,7 @@ class AddStepFromCapabilityParams(RpcParamsModel):
|
||||
route_from_outcome: str = Field(default="ok", min_length=1)
|
||||
routes: dict[str, str] | None = None
|
||||
input_map: dict[str, str] | None = None
|
||||
input_bindings: list[InputBinding] | None = None
|
||||
input_bindings: list[StepInputBinding] | None = None
|
||||
bind_outputs: dict[str, str] = Field(default_factory=dict)
|
||||
desc: str | None = Field(default=None, min_length=1)
|
||||
retry: int | None = Field(default=None, ge=0)
|
||||
|
||||
Reference in New Issue
Block a user