From 2a12e3c4dd4bdfb239576f50c9610adc84bd793f Mon Sep 17 00:00:00 2001 From: Diwank Tomer Date: Thu, 22 Aug 2024 23:53:40 -0400 Subject: [PATCH] fix(agents-api): Fix map reduce step and activity Signed-off-by: Diwank Tomer --- .../activities/task_steps/__init__.py | 1 + .../activities/task_steps/base_evaluate.py | 44 +++ .../activities/task_steps/evaluate_step.py | 29 +- .../activities/task_steps/for_each_step.py | 10 +- .../activities/task_steps/if_else_step.py | 4 +- .../activities/task_steps/log_step.py | 4 +- .../activities/task_steps/map_reduce_step.py | 11 +- .../activities/task_steps/return_step.py | 4 +- .../activities/task_steps/switch_step.py | 7 +- .../agents_api/activities/task_steps/utils.py | 11 - .../task_steps/wait_for_input_step.py | 17 +- .../activities/task_steps/yield_step.py | 6 +- agents-api/agents_api/activities/utils.py | 17 ++ agents-api/agents_api/autogen/Common.py | 10 - agents-api/agents_api/autogen/Executions.py | 2 +- agents-api/agents_api/autogen/Tasks.py | 252 ++++------------- .../agents_api/autogen/openapi_model.py | 4 +- .../agents_api/common/protocol/tasks.py | 4 +- .../agents_api/workflows/task_execution.py | 31 ++- agents-api/demo/example.py | 89 ------ agents-api/demo/julep.py | 132 --------- agents-api/demo/requirements.txt | 1 - agents-api/poetry.lock | 260 +++++++++--------- agents-api/tests/test_execution_workflow.py | 40 ++- sdks/python/poetry.lock | 250 ++++++++--------- sdks/ts/src/api/index.ts | 34 +-- .../src/api/models/Executions_Transition.ts | 2 +- .../src/api/models/Tasks_CreateTaskRequest.ts | 30 +- sdks/ts/src/api/models/Tasks_EmbedStepDef.ts | 11 - .../src/api/models/Tasks_EvaluateStepDef.ts | 11 - sdks/ts/src/api/models/Tasks_GetStepDef.ts | 10 - sdks/ts/src/api/models/Tasks_MapOverEmbed.ts | 12 - .../src/api/models/Tasks_MapOverEvaluate.ts | 12 - sdks/ts/src/api/models/Tasks_MapOverGet.ts | 12 - sdks/ts/src/api/models/Tasks_MapOverLog.ts | 12 - sdks/ts/src/api/models/Tasks_MapOverPrompt.ts | 12 - sdks/ts/src/api/models/Tasks_MapOverSearch.ts | 12 - sdks/ts/src/api/models/Tasks_MapOverSet.ts | 12 - .../src/api/models/Tasks_MapOverToolCall.ts | 12 - .../src/api/models/Tasks_PatchTaskRequest.ts | 30 +- sdks/ts/src/api/models/Tasks_PromptStepDef.ts | 16 -- sdks/ts/src/api/models/Tasks_SearchStepDef.ts | 16 -- sdks/ts/src/api/models/Tasks_SetStepDef.ts | 11 - sdks/ts/src/api/models/Tasks_Task.ts | 30 +- .../src/api/models/Tasks_ToolCallStepDef.ts | 16 -- .../src/api/models/Tasks_UpdateTaskRequest.ts | 30 +- ...ogStepDef.ts => Tasks_WaitForInputInfo.ts} | 6 +- .../src/api/models/Tasks_WaitForInputStep.ts | 4 +- .../src/api/schemas/$Executions_Transition.ts | 5 +- .../api/schemas/$Tasks_CreateTaskRequest.ts | 33 ++- .../ts/src/api/schemas/$Tasks_EmbedStepDef.ts | 18 -- sdks/ts/src/api/schemas/$Tasks_GetStepDef.ts | 13 - sdks/ts/src/api/schemas/$Tasks_LogStepDef.ts | 18 -- .../ts/src/api/schemas/$Tasks_MapOverEmbed.ts | 26 -- .../src/api/schemas/$Tasks_MapOverEvaluate.ts | 26 -- sdks/ts/src/api/schemas/$Tasks_MapOverGet.ts | 26 -- sdks/ts/src/api/schemas/$Tasks_MapOverLog.ts | 26 -- .../src/api/schemas/$Tasks_MapOverPrompt.ts | 26 -- .../src/api/schemas/$Tasks_MapOverSearch.ts | 26 -- sdks/ts/src/api/schemas/$Tasks_MapOverSet.ts | 26 -- .../src/api/schemas/$Tasks_MapOverToolCall.ts | 26 -- .../api/schemas/$Tasks_PatchTaskRequest.ts | 33 ++- .../src/api/schemas/$Tasks_PromptStepDef.ts | 28 -- .../src/api/schemas/$Tasks_SearchStepDef.ts | 24 -- sdks/ts/src/api/schemas/$Tasks_SetStepDef.ts | 18 -- sdks/ts/src/api/schemas/$Tasks_Task.ts | 33 ++- .../src/api/schemas/$Tasks_ToolCallStepDef.ts | 34 --- .../api/schemas/$Tasks_UpdateTaskRequest.ts | 33 ++- ...eStepDef.ts => $Tasks_WaitForInputInfo.ts} | 4 +- .../api/schemas/$Tasks_WaitForInputStep.ts | 11 +- typespec/executions/models.tsp | 4 +- typespec/tasks/steps.tsp | 58 +--- 72 files changed, 610 insertions(+), 1558 deletions(-) create mode 100644 agents-api/agents_api/activities/task_steps/base_evaluate.py delete mode 100644 agents-api/agents_api/activities/task_steps/utils.py create mode 100644 agents-api/agents_api/activities/utils.py delete mode 100644 agents-api/demo/example.py delete mode 100644 agents-api/demo/julep.py delete mode 100644 agents-api/demo/requirements.txt delete mode 100644 sdks/ts/src/api/models/Tasks_EmbedStepDef.ts delete mode 100644 sdks/ts/src/api/models/Tasks_EvaluateStepDef.ts delete mode 100644 sdks/ts/src/api/models/Tasks_GetStepDef.ts delete mode 100644 sdks/ts/src/api/models/Tasks_MapOverEmbed.ts delete mode 100644 sdks/ts/src/api/models/Tasks_MapOverEvaluate.ts delete mode 100644 sdks/ts/src/api/models/Tasks_MapOverGet.ts delete mode 100644 sdks/ts/src/api/models/Tasks_MapOverLog.ts delete mode 100644 sdks/ts/src/api/models/Tasks_MapOverPrompt.ts delete mode 100644 sdks/ts/src/api/models/Tasks_MapOverSearch.ts delete mode 100644 sdks/ts/src/api/models/Tasks_MapOverSet.ts delete mode 100644 sdks/ts/src/api/models/Tasks_MapOverToolCall.ts delete mode 100644 sdks/ts/src/api/models/Tasks_PromptStepDef.ts delete mode 100644 sdks/ts/src/api/models/Tasks_SearchStepDef.ts delete mode 100644 sdks/ts/src/api/models/Tasks_SetStepDef.ts delete mode 100644 sdks/ts/src/api/models/Tasks_ToolCallStepDef.ts rename sdks/ts/src/api/models/{Tasks_LogStepDef.ts => Tasks_WaitForInputInfo.ts} (64%) delete mode 100644 sdks/ts/src/api/schemas/$Tasks_EmbedStepDef.ts delete mode 100644 sdks/ts/src/api/schemas/$Tasks_GetStepDef.ts delete mode 100644 sdks/ts/src/api/schemas/$Tasks_LogStepDef.ts delete mode 100644 sdks/ts/src/api/schemas/$Tasks_MapOverEmbed.ts delete mode 100644 sdks/ts/src/api/schemas/$Tasks_MapOverEvaluate.ts delete mode 100644 sdks/ts/src/api/schemas/$Tasks_MapOverGet.ts delete mode 100644 sdks/ts/src/api/schemas/$Tasks_MapOverLog.ts delete mode 100644 sdks/ts/src/api/schemas/$Tasks_MapOverPrompt.ts delete mode 100644 sdks/ts/src/api/schemas/$Tasks_MapOverSearch.ts delete mode 100644 sdks/ts/src/api/schemas/$Tasks_MapOverSet.ts delete mode 100644 sdks/ts/src/api/schemas/$Tasks_MapOverToolCall.ts delete mode 100644 sdks/ts/src/api/schemas/$Tasks_PromptStepDef.ts delete mode 100644 sdks/ts/src/api/schemas/$Tasks_SearchStepDef.ts delete mode 100644 sdks/ts/src/api/schemas/$Tasks_SetStepDef.ts delete mode 100644 sdks/ts/src/api/schemas/$Tasks_ToolCallStepDef.ts rename sdks/ts/src/api/schemas/{$Tasks_EvaluateStepDef.ts => $Tasks_WaitForInputInfo.ts} (83%) diff --git a/agents-api/agents_api/activities/task_steps/__init__.py b/agents-api/agents_api/activities/task_steps/__init__.py index 198e59588..9646152cf 100644 --- a/agents-api/agents_api/activities/task_steps/__init__.py +++ b/agents-api/agents_api/activities/task_steps/__init__.py @@ -1,5 +1,6 @@ # ruff: noqa: F401, F403, F405 +from .base_evaluate import base_evaluate from .evaluate_step import evaluate_step from .for_each_step import for_each_step from .if_else_step import if_else_step diff --git a/agents-api/agents_api/activities/task_steps/base_evaluate.py b/agents-api/agents_api/activities/task_steps/base_evaluate.py new file mode 100644 index 000000000..4b98cd13a --- /dev/null +++ b/agents-api/agents_api/activities/task_steps/base_evaluate.py @@ -0,0 +1,44 @@ +from typing import Any + +from beartype import beartype +from temporalio import activity + +from ...env import testing +from ..utils import get_evaluator + + +@beartype +async def base_evaluate( + exprs: str | list[str] | dict[str, str], + values: dict[str, Any] = {}, +) -> Any | list[Any] | dict[str, Any]: + input_len = 1 if isinstance(exprs, str) else len(exprs) + assert input_len > 0, "exprs must be a non-empty string, list or dict" + + evaluator = get_evaluator(names=values) + + try: + match exprs: + case str(): + return evaluator.eval(exprs) + + case list(): + return [evaluator.eval(expr) for expr in exprs] + + case dict(): + return {k: evaluator.eval(v) for k, v in exprs.items()} + + except BaseException as e: + if activity.in_activity(): + activity.logger.error(f"Error in base_evaluate: {e}") + + raise + + +# Note: This is here just for clarity. We could have just imported base_evaluate directly +# They do the same thing, so we dont need to mock the base_evaluate function +mock_base_evaluate = base_evaluate + +base_evaluate = activity.defn(name="base_evaluate")( + base_evaluate if not testing else mock_base_evaluate +) diff --git a/agents-api/agents_api/activities/task_steps/evaluate_step.py b/agents-api/agents_api/activities/task_steps/evaluate_step.py index e4cc194c2..6b1650ff4 100644 --- a/agents-api/agents_api/activities/task_steps/evaluate_step.py +++ b/agents-api/agents_api/activities/task_steps/evaluate_step.py @@ -1,28 +1,35 @@ +from typing import Any + from beartype import beartype from temporalio import activity -from ...activities.task_steps.utils import simple_eval_dict -from ...autogen.openapi_model import EvaluateStep +from ...activities.utils import simple_eval_dict from ...common.protocol.tasks import StepContext, StepOutcome from ...env import testing @beartype -async def evaluate_step(context: StepContext) -> StepOutcome: - # NOTE: This activity is only for returning immediately, so we just evaluate the expression - # Hence, it's a local activity and SHOULD NOT fail +async def evaluate_step( + context: StepContext, + additional_values: dict[str, Any] = {}, + override_expr: dict[str, str] | None = None, +) -> StepOutcome: try: - assert isinstance(context.current_step, EvaluateStep) - - exprs = context.current_step.evaluate - output = simple_eval_dict(exprs, values=context.model_dump()) - + expr = ( + override_expr + if override_expr is not None + else context.current_step.evaluate + ) + + values = context.model_dump() | additional_values + output = simple_eval_dict(expr, values) result = StepOutcome(output=output) + return result except BaseException as e: activity.logger.error(f"Error in evaluate_step: {e}") - return StepOutcome(error=str(e)) + return StepOutcome(error=str(e) or repr(e)) # Note: This is here just for clarity. We could have just imported evaluate_step directly diff --git a/agents-api/agents_api/activities/task_steps/for_each_step.py b/agents-api/agents_api/activities/task_steps/for_each_step.py index f2f24430f..45f6d11dc 100644 --- a/agents-api/agents_api/activities/task_steps/for_each_step.py +++ b/agents-api/agents_api/activities/task_steps/for_each_step.py @@ -1,7 +1,6 @@ import logging from beartype import beartype -from simpleeval import simple_eval from temporalio import activity from ...autogen.openapi_model import ForeachStep @@ -10,6 +9,7 @@ StepOutcome, ) from ...env import testing +from .base_evaluate import base_evaluate @beartype @@ -17,11 +17,11 @@ async def for_each_step(context: StepContext) -> StepOutcome: try: assert isinstance(context.current_step, ForeachStep) - return StepOutcome( - output=simple_eval( - context.current_step.foreach.in_, names=context.model_dump() - ) + output = await base_evaluate( + context.current_step.foreach.in_, context.model_dump() ) + return StepOutcome(output=output) + except BaseException as e: logging.error(f"Error in for_each_step: {e}") return StepOutcome(error=str(e)) diff --git a/agents-api/agents_api/activities/task_steps/if_else_step.py b/agents-api/agents_api/activities/task_steps/if_else_step.py index 7ce9e44e7..ecb935ca6 100644 --- a/agents-api/agents_api/activities/task_steps/if_else_step.py +++ b/agents-api/agents_api/activities/task_steps/if_else_step.py @@ -1,5 +1,4 @@ from beartype import beartype -from simpleeval import simple_eval from temporalio import activity from ...autogen.openapi_model import IfElseWorkflowStep @@ -8,6 +7,7 @@ StepOutcome, ) from ...env import testing +from .base_evaluate import base_evaluate @beartype @@ -18,7 +18,7 @@ async def if_else_step(context: StepContext) -> StepOutcome: assert isinstance(context.current_step, IfElseWorkflowStep) expr: str = context.current_step.if_ - output = simple_eval(expr, names=context.model_dump()) + output = await base_evaluate(expr, context.model_dump()) output: bool = bool(output) result = StepOutcome(output=output) diff --git a/agents-api/agents_api/activities/task_steps/log_step.py b/agents-api/agents_api/activities/task_steps/log_step.py index 1ed6d2493..b33409474 100644 --- a/agents-api/agents_api/activities/task_steps/log_step.py +++ b/agents-api/agents_api/activities/task_steps/log_step.py @@ -1,5 +1,4 @@ from beartype import beartype -from simpleeval import simple_eval from temporalio import activity from ...autogen.openapi_model import LogStep @@ -8,6 +7,7 @@ StepOutcome, ) from ...env import testing +from .base_evaluate import base_evaluate @beartype @@ -18,7 +18,7 @@ async def log_step(context: StepContext) -> StepOutcome: assert isinstance(context.current_step, LogStep) expr: str = context.current_step.log - output = simple_eval(expr, names=context.model_dump()) + output = await base_evaluate(expr, context.model_dump()) result = StepOutcome(output=output) return result diff --git a/agents-api/agents_api/activities/task_steps/map_reduce_step.py b/agents-api/agents_api/activities/task_steps/map_reduce_step.py index 149704999..97fd0c154 100644 --- a/agents-api/agents_api/activities/task_steps/map_reduce_step.py +++ b/agents-api/agents_api/activities/task_steps/map_reduce_step.py @@ -1,7 +1,6 @@ import logging from beartype import beartype -from simpleeval import simple_eval from temporalio import activity from ...autogen.openapi_model import MapReduceStep @@ -10,6 +9,7 @@ StepOutcome, ) from ...env import testing +from .base_evaluate import base_evaluate @beartype @@ -17,11 +17,10 @@ async def map_reduce_step(context: StepContext) -> StepOutcome: try: assert isinstance(context.current_step, MapReduceStep) - return StepOutcome( - output=simple_eval( - context.current_step.map.over, names=context.model_dump() - ) - ) + output = await base_evaluate(context.current_step.over, context.model_dump()) + + return StepOutcome(output=output) + except BaseException as e: logging.error(f"Error in map_reduce_step: {e}") return StepOutcome(error=str(e)) diff --git a/agents-api/agents_api/activities/task_steps/return_step.py b/agents-api/agents_api/activities/task_steps/return_step.py index 2ea0b59e5..1e272bab2 100644 --- a/agents-api/agents_api/activities/task_steps/return_step.py +++ b/agents-api/agents_api/activities/task_steps/return_step.py @@ -1,12 +1,12 @@ from temporalio import activity -from ...activities.task_steps.utils import simple_eval_dict from ...autogen.openapi_model import ReturnStep from ...common.protocol.tasks import ( StepContext, StepOutcome, ) from ...env import testing +from .base_evaluate import base_evaluate async def return_step(context: StepContext) -> StepOutcome: @@ -16,7 +16,7 @@ async def return_step(context: StepContext) -> StepOutcome: assert isinstance(context.current_step, ReturnStep) exprs: dict[str, str] = context.current_step.return_ - output = simple_eval_dict(exprs, values=context.model_dump()) + output = await base_evaluate(exprs, context.model_dump()) result = StepOutcome(output=output) return result diff --git a/agents-api/agents_api/activities/task_steps/switch_step.py b/agents-api/agents_api/activities/task_steps/switch_step.py index 83a315d03..b28150450 100644 --- a/agents-api/agents_api/activities/task_steps/switch_step.py +++ b/agents-api/agents_api/activities/task_steps/switch_step.py @@ -1,5 +1,4 @@ from beartype import beartype -from simpleeval import simple_eval from temporalio import activity from ...autogen.openapi_model import SwitchStep @@ -8,6 +7,7 @@ StepOutcome, ) from ...env import testing +from ..utils import get_evaluator @beartype @@ -17,11 +17,12 @@ async def switch_step(context: StepContext) -> StepOutcome: # Assume that none of the cases evaluate to truthy output: int = -1 - cases: list[str] = [c.case for c in context.current_step.switch] + evaluator = get_evaluator(names=context.model_dump()) + for i, case in enumerate(cases): - result = simple_eval(case, names=context.model_dump()) + result = evaluator.eval(case) if result: output = i diff --git a/agents-api/agents_api/activities/task_steps/utils.py b/agents-api/agents_api/activities/task_steps/utils.py deleted file mode 100644 index e3d953a4a..000000000 --- a/agents-api/agents_api/activities/task_steps/utils.py +++ /dev/null @@ -1,11 +0,0 @@ -from typing import Any - -from beartype import beartype -from simpleeval import simple_eval - - -@beartype -def simple_eval_dict( - exprs: dict[str, str], *, values: dict[str, Any] -) -> dict[str, Any]: - return {k: simple_eval(v, names=values) for k, v in exprs.items()} diff --git a/agents-api/agents_api/activities/task_steps/wait_for_input_step.py b/agents-api/agents_api/activities/task_steps/wait_for_input_step.py index 4d4378095..c0666512b 100644 --- a/agents-api/agents_api/activities/task_steps/wait_for_input_step.py +++ b/agents-api/agents_api/activities/task_steps/wait_for_input_step.py @@ -1,19 +1,24 @@ from temporalio import activity -from ...activities.task_steps.utils import simple_eval_dict from ...autogen.openapi_model import WaitForInputStep from ...common.protocol.tasks import StepContext, StepOutcome from ...env import testing +from .base_evaluate import base_evaluate async def wait_for_input_step(context: StepContext) -> StepOutcome: - assert isinstance(context.current_step, WaitForInputStep) + try: + assert isinstance(context.current_step, WaitForInputStep) - exprs = context.current_step.wait_for_input - output = simple_eval_dict(exprs, values=context.model_dump()) + exprs = context.current_step.wait_for_input + output = await base_evaluate(exprs, context.model_dump()) - result = StepOutcome(output=output) - return result + result = StepOutcome(output=output) + return result + + except BaseException as e: + activity.logger.error(f"Error in wait_for_input_step: {e}") + return StepOutcome(error=str(e)) # Note: This is here just for clarity. We could have just imported wait_for_input_step directly diff --git a/agents-api/agents_api/activities/task_steps/yield_step.py b/agents-api/agents_api/activities/task_steps/yield_step.py index 8ee7cfbd8..41fa2eb87 100644 --- a/agents-api/agents_api/activities/task_steps/yield_step.py +++ b/agents-api/agents_api/activities/task_steps/yield_step.py @@ -7,7 +7,7 @@ from ...common.protocol.tasks import StepContext, StepOutcome from ...env import testing -from .utils import simple_eval_dict +from .base_evaluate import base_evaluate @beartype @@ -19,14 +19,14 @@ async def yield_step(context: StepContext) -> StepOutcome: all_workflows = context.execution_input.task.workflows workflow = context.current_step.workflow + exprs = context.current_step.arguments assert workflow in [ wf.name for wf in all_workflows ], f"Workflow {workflow} not found in task" # Evaluate the expressions in the arguments - exprs = context.current_step.arguments - arguments = simple_eval_dict(exprs, values=context.model_dump()) + arguments = await base_evaluate(exprs, context.model_dump()) # Transition to the first step of that workflow transition_target = TransitionTarget( diff --git a/agents-api/agents_api/activities/utils.py b/agents-api/agents_api/activities/utils.py new file mode 100644 index 000000000..f491c7188 --- /dev/null +++ b/agents-api/agents_api/activities/utils.py @@ -0,0 +1,17 @@ +from typing import Any + +from beartype import beartype +from simpleeval import EvalWithCompoundTypes, SimpleEval + + +@beartype +def get_evaluator(names: dict[str, Any]) -> SimpleEval: + evaluator = EvalWithCompoundTypes(names=names) + return evaluator + + +@beartype +def simple_eval_dict(exprs: dict[str, str], values: dict[str, Any]) -> dict[str, Any]: + evaluator = get_evaluator(names=values) + + return {k: evaluator.eval(v) for k, v in exprs.items()} diff --git a/agents-api/agents_api/autogen/Common.py b/agents-api/agents_api/autogen/Common.py index 5f4bd34bd..4bb28d400 100644 --- a/agents-api/agents_api/autogen/Common.py +++ b/agents-api/agents_api/autogen/Common.py @@ -9,16 +9,6 @@ from pydantic import AwareDatetime, BaseModel, ConfigDict, Field, RootModel -class JinjaTemplate(RootModel[str]): - model_config = ConfigDict( - populate_by_name=True, - ) - root: str - """ - A valid jinja template. - """ - - class Limit(RootModel[int]): model_config = ConfigDict( populate_by_name=True, diff --git a/agents-api/agents_api/autogen/Executions.py b/agents-api/agents_api/autogen/Executions.py index 904680e44..73dab5d65 100644 --- a/agents-api/agents_api/autogen/Executions.py +++ b/agents-api/agents_api/autogen/Executions.py @@ -83,7 +83,7 @@ class Transition(BaseModel): Field(json_schema_extra={"readOnly": True}), ] execution_id: Annotated[UUID, Field(json_schema_extra={"readOnly": True})] - output: Annotated[dict[str, Any], Field(json_schema_extra={"readOnly": True})] + output: Annotated[Any, Field(json_schema_extra={"readOnly": True})] current: Annotated[TransitionTarget, Field(json_schema_extra={"readOnly": True})] next: Annotated[ TransitionTarget | None, Field(json_schema_extra={"readOnly": True}) diff --git a/agents-api/agents_api/autogen/Tasks.py b/agents-api/agents_api/autogen/Tasks.py index a7a018c74..a7641d043 100644 --- a/agents-api/agents_api/autogen/Tasks.py +++ b/agents-api/agents_api/autogen/Tasks.py @@ -89,7 +89,7 @@ class CreateTaskRequest(BaseModel): | SwitchStep | ForeachStep | ParallelStep - | MainModel + | Main ] """ The entrypoint of the task. @@ -125,16 +125,6 @@ class EmbedStep(BaseModel): """ -class EmbedStepDef(BaseModel): - model_config = ConfigDict( - populate_by_name=True, - ) - embed: EmbedQueryRequest - """ - The text to embed - """ - - class ErrorWorkflowStep(BaseModel): model_config = ConfigDict( populate_by_name=True, @@ -167,16 +157,6 @@ class EvaluateStep(BaseModel): """ -class EvaluateStepDef(BaseModel): - model_config = ConfigDict( - populate_by_name=True, - ) - evaluate: dict[str, str] - """ - The expression to evaluate - """ - - class ForeachDo(BaseModel): model_config = ConfigDict( populate_by_name=True, @@ -231,16 +211,6 @@ class GetStep(BaseModel): """ -class GetStepDef(BaseModel): - model_config = ConfigDict( - populate_by_name=True, - ) - get: str - """ - The key to get - """ - - class IfElseWorkflowStep(BaseModel): model_config = ConfigDict( populate_by_name=True, @@ -308,50 +278,7 @@ class LogStep(BaseModel): """ -class LogStepDef(BaseModel): - model_config = ConfigDict( - populate_by_name=True, - ) - log: str - """ - The value to log - """ - - class Main(BaseModel): - model_config = ConfigDict( - populate_by_name=True, - ) - kind_: str | None = None - """ - Discriminator property for BaseWorkflowStep. - """ - map: ( - MapOverEvaluate - | MapOverToolCall - | MapOverPrompt - | MapOverGet - | MapOverSet - | MapOverLog - | MapOverEmbed - | MapOverSearch - ) - """ - The steps to run for each iteration - """ - reduce: str | None = None - """ - The expression to reduce the results. - If not provided, the results are collected and returned as a list. - A special parameter named `results` is the accumulator and `_` is the current value. - """ - initial: str = "[]" - """ - A simple python expression compatible with SimpleEval. - """ - - -class MainModel(BaseModel): model_config = ConfigDict( populate_by_name=True, ) @@ -361,15 +288,19 @@ class MainModel(BaseModel): """ The kind of step """ + over: str + """ + The variable to iterate over + """ map: ( - MapOverEvaluate - | MapOverToolCall - | MapOverPrompt - | MapOverGet - | MapOverSet - | MapOverLog - | MapOverEmbed - | MapOverSearch + EvaluateStep + | ToolCallStep + | PromptStep + | GetStep + | SetStep + | LogStep + | EmbedStep + | SearchStep ) """ The steps to run for each iteration @@ -377,53 +308,44 @@ class MainModel(BaseModel): reduce: str | None = None """ The expression to reduce the results. - If not provided, the results are collected and returned as a list. + If not provided, the results are collected and returned as a list. A special parameter named `results` is the accumulator and `_` is the current value. """ - initial: str = "[]" - """ - A simple python expression compatible with SimpleEval. - """ + initial: Any = [] -class MapOverEmbed(EmbedStepDef): +class MainModel(BaseModel): model_config = ConfigDict( populate_by_name=True, ) - over: str + kind_: str | None = None """ - The variable to iterate over + Discriminator property for BaseWorkflowStep. """ - - -class MapOverEvaluate(EvaluateStepDef): - model_config = ConfigDict( - populate_by_name=True, - ) over: str """ The variable to iterate over """ - - -class MapOverGet(GetStepDef): - model_config = ConfigDict( - populate_by_name=True, + map: ( + EvaluateStep + | ToolCallStep + | PromptStep + | GetStep + | SetStep + | LogStep + | EmbedStep + | SearchStep ) - over: str """ - The variable to iterate over + The steps to run for each iteration """ - - -class MapOverLog(LogStepDef): - model_config = ConfigDict( - populate_by_name=True, - ) - over: str + reduce: str | None = None """ - The variable to iterate over + The expression to reduce the results. + If not provided, the results are collected and returned as a list. + A special parameter named `results` is the accumulator and `_` is the current value. """ + initial: Any = [] class ParallelStep(BaseModel): @@ -482,7 +404,7 @@ class PatchTaskRequest(BaseModel): | SwitchStep | ForeachStep | ParallelStep - | Main + | MainModel ] | None ) = None @@ -554,20 +476,6 @@ class PromptStep(BaseModel): """ -class PromptStepDef(BaseModel): - model_config = ConfigDict( - populate_by_name=True, - ) - prompt: list[PromptItem] | str - """ - The prompt to run - """ - settings: ChatSettings - """ - Settings for the prompt - """ - - class ReturnStep(BaseModel): model_config = ConfigDict( populate_by_name=True, @@ -600,16 +508,6 @@ class SearchStep(BaseModel): """ -class SearchStepDef(BaseModel): - model_config = ConfigDict( - populate_by_name=True, - ) - search: VectorDocSearchRequest | TextOnlyDocSearchRequest | HybridDocSearchRequest - """ - The search query - """ - - class SetKey(BaseModel): model_config = ConfigDict( populate_by_name=True, @@ -638,16 +536,6 @@ class SetStep(BaseModel): """ -class SetStepDef(BaseModel): - model_config = ConfigDict( - populate_by_name=True, - ) - set: SetKey - """ - The value to set - """ - - class SleepFor(BaseModel): model_config = ConfigDict( populate_by_name=True, @@ -730,7 +618,7 @@ class Task(BaseModel): | SwitchStep | ForeachStep | ParallelStep - | MainModel + | Main ] """ The entrypoint of the task. @@ -791,22 +679,6 @@ class ToolCallStep(BaseModel): """ -class ToolCallStepDef(BaseModel): - model_config = ConfigDict( - populate_by_name=True, - ) - tool: Annotated[ - str, Field(pattern="^(function|integration|system|api_call)\\.(\\w+)$") - ] - """ - The tool to run - """ - arguments: dict[str, str] | Literal["_"] = "_" - """ - The input parameters for the tool (defaults to last step output) - """ - - class UpdateTaskRequest(BaseModel): """ Payload for updating a task @@ -834,7 +706,7 @@ class UpdateTaskRequest(BaseModel): | SwitchStep | ForeachStep | ParallelStep - | MainModel + | Main ] """ The entrypoint of the task. @@ -854,6 +726,16 @@ class UpdateTaskRequest(BaseModel): metadata: dict[str, Any] | None = None +class WaitForInputInfo(BaseModel): + model_config = ConfigDict( + populate_by_name=True, + ) + info: dict[str, str] + """ + Any additional info or data + """ + + class WaitForInputStep(BaseModel): model_config = ConfigDict( populate_by_name=True, @@ -865,7 +747,7 @@ class WaitForInputStep(BaseModel): """ The kind of step """ - wait_for_input: dict[str, str] + wait_for_input: WaitForInputInfo """ Any additional info or data """ @@ -890,43 +772,3 @@ class YieldStep(BaseModel): """ The input parameters for the subworkflow (defaults to last step output) """ - - -class MapOverPrompt(PromptStepDef): - model_config = ConfigDict( - populate_by_name=True, - ) - over: str - """ - The variable to iterate over - """ - - -class MapOverSearch(SearchStepDef): - model_config = ConfigDict( - populate_by_name=True, - ) - over: str - """ - The variable to iterate over - """ - - -class MapOverSet(SetStepDef): - model_config = ConfigDict( - populate_by_name=True, - ) - over: str - """ - The variable to iterate over - """ - - -class MapOverToolCall(ToolCallStepDef): - model_config = ConfigDict( - populate_by_name=True, - ) - over: str - """ - The variable to iterate over - """ diff --git a/agents-api/agents_api/autogen/openapi_model.py b/agents-api/agents_api/autogen/openapi_model.py index cd50898f1..bdf96cc10 100644 --- a/agents-api/agents_api/autogen/openapi_model.py +++ b/agents-api/agents_api/autogen/openapi_model.py @@ -42,7 +42,7 @@ class ListResponse(BaseModel, Generic[DataT]): InputChatMLMessage = Message # TODO: Figure out wtf... 🤷‍♂️ -MapReduceStep = MainModel +MapReduceStep = Main # Custom types (not generated correctly) @@ -163,9 +163,9 @@ def from_model_input( | SetStep | GetStep | ForeachStep - | MapReduceStep | ParallelStep | SwitchStep + | MapReduceStep ) diff --git a/agents-api/agents_api/common/protocol/tasks.py b/agents-api/agents_api/common/protocol/tasks.py index 4196d73a7..d0c335e95 100644 --- a/agents-api/agents_api/common/protocol/tasks.py +++ b/agents-api/agents_api/common/protocol/tasks.py @@ -73,7 +73,7 @@ class ExecutionInput(BaseModel): class StepContext(BaseModel): execution_input: ExecutionInput - inputs: list[dict[str, Any]] + inputs: list[Any] cursor: TransitionTarget @computed_field @@ -112,7 +112,7 @@ def model_dump(self, *args, **kwargs) -> dict[str, Any]: class StepOutcome(BaseModel): error: str | None = None - output: Any + output: Any = None transition_to: tuple[TransitionType, TransitionTarget] | None = None diff --git a/agents-api/agents_api/workflows/task_execution.py b/agents-api/agents_api/workflows/task_execution.py index 1995b68b0..a61996e5f 100644 --- a/agents-api/agents_api/workflows/task_execution.py +++ b/agents-api/agents_api/workflows/task_execution.py @@ -6,7 +6,6 @@ from typing import Any from pydantic import RootModel -from simpleeval import simple_eval from temporalio import workflow from temporalio.exceptions import ApplicationError @@ -267,12 +266,15 @@ async def transition(**kwargs) -> None: case MapReduceStep( map=map_defn, reduce=reduce, initial=initial ), StepOutcome(output=items): + initial = initial or [] + reduce = reduce or "initial + [_]" + for i, item in enumerate(items): workflow_name = f"`{context.cursor.workflow}`[{context.cursor.step}].mapreduce[{i}]" map_reduce_task = execution_input.task.model_copy() + defn_dict = map_defn.model_dump() - defn_dict.pop("over") - step_defn = GenericStep(**defn_dict) + step_defn = GenericStep(**defn_dict).root map_reduce_task.workflows = [ Workflow(name=workflow_name, steps=[step_defn]) ] @@ -289,7 +291,7 @@ async def transition(**kwargs) -> None: map_reduce_args = [ map_reduce_execution_input, map_reduce_next_target, - previous_inputs + [{"item": item}], + previous_inputs + [item], ] # Execute the chosen branch and come back here @@ -297,19 +299,18 @@ async def transition(**kwargs) -> None: TaskExecutionWorkflow.run, args=map_reduce_args, ) - initial = simple_eval( - reduce, names={"initial": initial, "output": output} + + initial = await execute_activity( + task_steps.base_evaluate, + args=[ + reduce, + {"initial": initial, "_": output}, + ], + schedule_to_close_timeout=timedelta(seconds=2), ) - transition_request = CreateTransitionRequest( - current=context.cursor, - initial=initial, - ) - state.output = await execute_activity( - task_steps.transition_step, - args=[context, transition_request], - schedule_to_close_timeout=timedelta(seconds=600), - ) + state.output = initial + await transition() case SleepStep( sleep=SleepFor( diff --git a/agents-api/demo/example.py b/agents-api/demo/example.py deleted file mode 100644 index 737539c93..000000000 --- a/agents-api/demo/example.py +++ /dev/null @@ -1,89 +0,0 @@ -import asyncio -from julep import Client - -client = Client(base_url="0.0.0.0:8080", api_key="myauthkey") - -# Let's create a research assistant -name = "Research Assistant" -description = "This assistant is designed to automate the process of gathering, summarizing, and delivering research on specific topics using web searches and webhooks to integrate with other systems." - -# Let's give it some tools -web_search = { - "type": "search", - "engine": "brave", - "description": "Uses Brave search engine to find relevant information on the web.", -} -call_webhook = { - "type": "http", - "http": { - "endpoint": "http://localhost:9000", - "method": "POST", - "description": "Webhook to deliver research results", - "json": { - "summary": {"type": "string", "description": "Summary of the research"}, - "details": { - "type": "string", - "description": "Detailed search results for further analysis", - }, - }, - }, -} - -agent = client.agents.create( - name=name, - description=description, - tools=[web_search, call_webhook], -) - -# Let's create a task for this agent. -# The agent will perform these tasks: -# 1. Think about the task and make a plan using the tools (given a topic, search the web for it, then summarize it and then send the result to a webhook) -# 2. Think about step 1. And make a tool_call to search the web for the topic with a detailed query -# (the tool returns the results) -# 3. Think about step 2. And then summarize the results received. -# 4. Think about step 3. And make a tool call to the webhook - -instructions = [ - "Consider the research topic and devise a search strategy using the provided tools.", - "Use the 'search' tool to find comprehensive information on the topic from various web sources.", - "Analyze the search results and create a concise summary highlighting the key points.", - "Send the summary and the detailed search results to the specified webhook endpoint for integration into our system.", -] - -task = client.tasks.create( - agent_id=agent.id, - instructions=instructions, - inputs={"topic": {"type": "string", "description": "Topic to research"}}, -) - -# Ask the agent to run this task - -run = client.runs.create( - agent_id=agent.id, task_id=task.id, inputs={"topic": "Sam Altman"} -) - - -async def main(): - async for step in run.execution_steps(): - print(step.messages) - - -# >>> [{"role": "thought", "content": "Starting the research on Sam Altman. I'll begin by gathering information from various sources on the web."}, {"role": "assistant", "tool_calls": [{"type": "search", "inputs": {"query": "Sam Altman significant contributions and background"}}]}] -# # Wait for 3-4 seconds - -# >>> [{"role": "system", "name": "information", "content": "Found numerous articles, interviews, and resources on Sam Altman, including his role at OpenAI, investments, and insights into technology and entrepreneurship."}] -# # Wait for 1 second - -# >>> [{"role": "thought", "content": "Need to summarize this information to capture the essence of Sam Altman's impact."}, {"role": "assistant", "content": "Summary:\nSam Altman, known for his leadership at OpenAI, has been a pivotal figure in the tech industry, driving innovation and supporting startups. His insights on entrepreneurship and the future of AI have influenced a wide audience."}] -# # Wait for 2 sec - -# >>> [{"role": "thought", "content": "Now, I'll send the compiled summary and details to the webhook."}, {"role": "assistant", "tool_calls": [{"type": "http", "endpoint": "http://localhost:9000", "method": "POST", "data": {"summary": "Sam Altman, known for his leadership at OpenAI, has been a pivotal figure in the tech industry, driving innovation and supporting startups. His insights on entrepreneurship and the future of AI have influenced a wide audience.", "details": "Found numerous articles, interviews, and resources on Sam Altman, including his role at OpenAI, investments, and insights into technology and entrepreneurship."}}]}] -# # Wait for 2 sec - -# # POST call should show up on the http.server -# # Wait for 1 second - -# >>> [{"role": "system", "name": "information", "content": "Delivered data to webhook"}] - -if __name__ == "__main__": - asyncio.run(main()) diff --git a/agents-api/demo/julep.py b/agents-api/demo/julep.py deleted file mode 100644 index aaa42f401..000000000 --- a/agents-api/demo/julep.py +++ /dev/null @@ -1,132 +0,0 @@ -import asyncio -import uuid -import httpx - - -PORT = 9000 - - -class Step: - def __init__(self, d): - self._d = d - - @property - def messages(self): - return self._d.get("content", "") - - -class Client: - def __init__(self, base_url, api_key): - self.base_url = base_url - self.api_key = api_key - self.agents = AgentManager() - self.tasks = TaskManager() - self.runs = RunManager() - - -class AgentManager: - def create(self, name, description, tools): - return Agent(name, description, tools) - - -class Agent: - def __init__(self, name, description, tools): - self.id = str(uuid.uuid4()) - self.name = name - self.description = description - self.tools = tools - - -class TaskManager: - def create(self, agent_id, instructions, inputs): - return Task(agent_id, instructions, inputs) - - -class Task: - def __init__(self, agent_id, instructions, inputs): - self.id = str(uuid.uuid4()) - self.agent_id = agent_id - self.instructions = instructions - self.inputs = inputs - - -class RunManager: - def create(self, agent_id, task_id, inputs): - return Run(agent_id, task_id, inputs) - - -class Run: - def __init__(self, agent_id, task_id, inputs): - self.agent_id = agent_id - self.task_id = task_id - self.inputs = inputs - - async def execution_steps(self): - steps = [ - { - "role": "thought", - "content": "Starting the research on Sam Altman. I'll begin by gathering information from various sources on the web.", - }, - { - "role": "assistant", - "tool_calls": [ - { - "type": "search", - "inputs": { - "query": "Sam Altman significant contributions and background" - }, - } - ], - }, - { - "role": "system", - "name": "information", - "content": "Found numerous articles, interviews, and resources on Sam Altman, including his role at OpenAI, investments, and insights into technology and entrepreneurship.", - }, - { - "role": "thought", - "content": "Need to summarize this information to capture the essence of Sam Altman's impact.", - }, - { - "role": "assistant", - "content": "Summary:\nSam Altman, known for his leadership at OpenAI, has been a pivotal figure in the tech industry, driving innovation and supporting startups. His insights on entrepreneurship and the future of AI have influenced a wide audience.", - }, - { - "role": "thought", - "content": "Now, I'll send the compiled summary and details to the webhook.", - }, - { - "role": "assistant", - "tool_calls": [ - { - "type": "http", - "endpoint": f"http://localhost:{PORT}", - "method": "POST", - "data": { - "summary": "Sam Altman, known for his leadership at OpenAI, has been a pivotal figure in the tech industry, driving innovation and supporting startups. His insights on entrepreneurship and the future of AI have influenced a wide audience.", - "details": "Found numerous articles, interviews, and resources on Sam Altman, including his role at OpenAI, investments, and insights into technology and entrepreneurship.", - }, - } - ], - }, - # TODO: @dmitry - # Add a HTTP POST call after this step to 0.0.0.0:8080 with the results - { - "role": "system", - "name": "information", - "content": "Delivered data to webhook", - }, - ] - - for step in steps: - if "tool_calls" in step: - # Simulate tool call delay - await asyncio.sleep(3 if step["role"] == "assistant" else 2) - for c in step["tool_calls"]: - if c.get("endpoint"): - async with httpx.AsyncClient() as client: - await client.post(c["endpoint"], json=c["data"]) - else: - # Simulate thought and system message delay - await asyncio.sleep(1) - yield Step(step) diff --git a/agents-api/demo/requirements.txt b/agents-api/demo/requirements.txt deleted file mode 100644 index 79228389f..000000000 --- a/agents-api/demo/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -httpx \ No newline at end of file diff --git a/agents-api/poetry.lock b/agents-api/poetry.lock index c0191ce2c..de023db46 100644 --- a/agents-api/poetry.lock +++ b/agents-api/poetry.lock @@ -1348,21 +1348,21 @@ test-extra = ["curio", "ipython[test]", "matplotlib (!=3.2.0)", "nbformat", "num [[package]] name = "ipywidgets" -version = "8.1.3" +version = "8.1.5" description = "Jupyter interactive widgets" optional = false python-versions = ">=3.7" files = [ - {file = "ipywidgets-8.1.3-py3-none-any.whl", hash = "sha256:efafd18f7a142248f7cb0ba890a68b96abd4d6e88ddbda483c9130d12667eaf2"}, - {file = "ipywidgets-8.1.3.tar.gz", hash = "sha256:f5f9eeaae082b1823ce9eac2575272952f40d748893972956dc09700a6392d9c"}, + {file = "ipywidgets-8.1.5-py3-none-any.whl", hash = "sha256:3290f526f87ae6e77655555baba4f36681c555b8bdbbff430b70e52c34c86245"}, + {file = "ipywidgets-8.1.5.tar.gz", hash = "sha256:870e43b1a35656a80c18c9503bbf2d16802db1cb487eec6fab27d683381dde17"}, ] [package.dependencies] comm = ">=0.1.3" ipython = ">=6.1.0" -jupyterlab-widgets = ">=3.0.11,<3.1.0" +jupyterlab-widgets = ">=3.0.12,<3.1.0" traitlets = ">=4.3.1" -widgetsnbextension = ">=4.0.11,<4.1.0" +widgetsnbextension = ">=4.0.12,<4.1.0" [package.extras] test = ["ipykernel", "jsonschema", "pytest (>=3.6.0)", "pytest-cov", "pytz"] @@ -1786,13 +1786,13 @@ test = ["hatch", "ipykernel", "openapi-core (>=0.18.0,<0.19.0)", "openapi-spec-v [[package]] name = "jupyterlab-widgets" -version = "3.0.11" +version = "3.0.13" description = "Jupyter interactive widgets for JupyterLab" optional = false python-versions = ">=3.7" files = [ - {file = "jupyterlab_widgets-3.0.11-py3-none-any.whl", hash = "sha256:78287fd86d20744ace330a61625024cf5521e1c012a352ddc0a3cdc2348becd0"}, - {file = "jupyterlab_widgets-3.0.11.tar.gz", hash = "sha256:dd5ac679593c969af29c9bed054c24f26842baa51352114736756bc035deee27"}, + {file = "jupyterlab_widgets-3.0.13-py3-none-any.whl", hash = "sha256:e3cda2c233ce144192f1e29914ad522b2f4c40e77214b0cc97377ca3d323db54"}, + {file = "jupyterlab_widgets-3.0.13.tar.gz", hash = "sha256:a2966d385328c1942b683a8cd96b89b8dd82c8b8f81dda902bb2bc06d46f5bed"}, ] [[package]] @@ -1837,13 +1837,13 @@ dev = ["Sphinx (>=5.1.1)", "black (==23.12.1)", "build (>=0.10.0)", "coverage (> [[package]] name = "litellm" -version = "1.43.19" +version = "1.44.4" description = "Library to easily interface with LLM API providers" optional = false python-versions = "!=2.7.*,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,!=3.7.*,>=3.8" files = [ - {file = "litellm-1.43.19-py3-none-any.whl", hash = "sha256:f66bfe9c8b91577af57a5d1203728abc9b59df38a545148b7e85dec903185c12"}, - {file = "litellm-1.43.19.tar.gz", hash = "sha256:b1f475f98073632f0cea6d814bb10b14b6498e5ff93b91b52dfc00445bf013ab"}, + {file = "litellm-1.44.4-py3-none-any.whl", hash = "sha256:0e2d56cc767003b30275005072ad6f7e2e37b0468719e50817cc581a055b8f1a"}, + {file = "litellm-1.44.4.tar.gz", hash = "sha256:3216424a27e6405b9a099aff166c6d2442b1013c9f9909084ab722eb9d3b8861"}, ] [package.dependencies] @@ -2439,13 +2439,13 @@ files = [ [[package]] name = "openai" -version = "1.41.1" +version = "1.42.0" description = "The official Python library for the openai API" optional = false python-versions = ">=3.7.1" files = [ - {file = "openai-1.41.1-py3-none-any.whl", hash = "sha256:56fb04105263f79559aff3ceea2e1dd16f8c5385e8238cb66cf0e6888fa8bfcf"}, - {file = "openai-1.41.1.tar.gz", hash = "sha256:e38e376efd91e0d4db071e2a6517b6b4cac1c2a6fd63efdc5ec6be10c5967c1b"}, + {file = "openai-1.42.0-py3-none-any.whl", hash = "sha256:dc91e0307033a4f94931e5d03cc3b29b9717014ad5e73f9f2051b6cb5eda4d80"}, + {file = "openai-1.42.0.tar.gz", hash = "sha256:c9d31853b4e0bc2dc8bd08003b462a006035655a701471695d0bfdc08529cde3"}, ] [package.dependencies] @@ -3205,120 +3205,120 @@ files = [ [[package]] name = "pyzmq" -version = "26.1.1" +version = "26.2.0" description = "Python bindings for 0MQ" optional = false python-versions = ">=3.7" files = [ - {file = "pyzmq-26.1.1-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:b1bb952d1e407463c9333ea7e0c0600001e54e08ce836d4f0aff1fb3f902cf63"}, - {file = "pyzmq-26.1.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:65e2a18e845c6ea7ab849c70db932eaeadee5edede9e379eb21c0a44cf523b2e"}, - {file = "pyzmq-26.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:def7ae3006924b8a0c146a89ab4008310913fa903beedb95e25dea749642528e"}, - {file = "pyzmq-26.1.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a8234571df7816f99dde89c3403cb396d70c6554120b795853a8ea56fcc26cd3"}, - {file = "pyzmq-26.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18da8e84dbc30688fd2baefd41df7190607511f916be34f9a24b0e007551822e"}, - {file = "pyzmq-26.1.1-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:c70dab93d98b2bf3f0ac1265edbf6e7f83acbf71dabcc4611889bb0dea45bed7"}, - {file = "pyzmq-26.1.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:fcb90592c5d5c562e1b1a1ceccf6f00036d73c51db0271bf4d352b8d6b31d468"}, - {file = "pyzmq-26.1.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:cf4be7460a0c1bc71e9b0e64ecdd75a86386ca6afaa36641686f5542d0314e9d"}, - {file = "pyzmq-26.1.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a4cbecda4ddbfc1e309c3be04d333f9be3fc6178b8b6592b309676f929767a15"}, - {file = "pyzmq-26.1.1-cp310-cp310-win32.whl", hash = "sha256:583f73b113b8165713b6ce028d221402b1b69483055b5aa3f991937e34dd1ead"}, - {file = "pyzmq-26.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:5e6f39ecb8eb7bfcb976c49262e8cf83ff76e082b77ca23ba90c9b6691a345be"}, - {file = "pyzmq-26.1.1-cp310-cp310-win_arm64.whl", hash = "sha256:8d042d6446cab3a1388b38596f5acabb9926b0b95c3894c519356b577a549458"}, - {file = "pyzmq-26.1.1-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:362cac2423e36966d336d79d3ec3eafeabc153ee3e7a5cf580d7e74a34b3d912"}, - {file = "pyzmq-26.1.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0841633446cb1539a832a19bb24c03a20c00887d0cedd1d891b495b07e5c5cb5"}, - {file = "pyzmq-26.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e1fcdc333afbf9918d0a614a6e10858aede7da49a60f6705a77e343fe86a317"}, - {file = "pyzmq-26.1.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cc8d655627d775475eafdcf0e49e74bcc1e5e90afd9ab813b4da98f092ed7b93"}, - {file = "pyzmq-26.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:32de51744820857a6f7c3077e620ab3f607d0e4388dfead885d5124ab9bcdc5e"}, - {file = "pyzmq-26.1.1-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:a880240597010914ffb1d6edd04d3deb7ce6a2abf79a0012751438d13630a671"}, - {file = "pyzmq-26.1.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:26131b1cec02f941ed2d2b4b8cc051662b1c248b044eff5069df1f500bbced56"}, - {file = "pyzmq-26.1.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:ce05841322b58510607f9508a573138d995a46c7928887bc433de9cb760fd2ad"}, - {file = "pyzmq-26.1.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:32123ff0a6db521aadf2b95201e967a4e0d11fb89f73663a99d2f54881c07214"}, - {file = "pyzmq-26.1.1-cp311-cp311-win32.whl", hash = "sha256:e790602d7ea1d6c7d8713d571226d67de7ffe47b1e22ae2c043ebd537de1bccb"}, - {file = "pyzmq-26.1.1-cp311-cp311-win_amd64.whl", hash = "sha256:717960855f2d6fdc2dba9df49dff31c414187bb11c76af36343a57d1f7083d9a"}, - {file = "pyzmq-26.1.1-cp311-cp311-win_arm64.whl", hash = "sha256:08956c26dbcd4fd8835cb777a16e21958ed2412317630e19f0018d49dbeeb470"}, - {file = "pyzmq-26.1.1-cp312-cp312-macosx_10_15_universal2.whl", hash = "sha256:e80345900ae241c2c51bead7c9fa247bba6d4b2a83423e9791bae8b0a7f12c52"}, - {file = "pyzmq-26.1.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ec8fe214fcc45dfb0c32e4a7ad1db20244ba2d2fecbf0cbf9d5242d81ca0a375"}, - {file = "pyzmq-26.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf4e283f97688d993cb7a8acbc22889effbbb7cbaa19ee9709751f44be928f5d"}, - {file = "pyzmq-26.1.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2508bdc8ab246e5ed7c92023d4352aaad63020ca3b098a4e3f1822db202f703d"}, - {file = "pyzmq-26.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:741bdb4d96efe8192616abdc3671931d51a8bcd38c71da2d53fb3127149265d1"}, - {file = "pyzmq-26.1.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:76154943e4c4054b2591792eb3484ef1dd23d59805759f9cebd2f010aa30ee8c"}, - {file = "pyzmq-26.1.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:9498ac427d20d0e0ef0e4bbd6200841e91640dfdf619f544ceec7f464cfb6070"}, - {file = "pyzmq-26.1.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:6f34453ef3496ca3462f30435bf85f535f9550392987341f9ccc92c102825a79"}, - {file = "pyzmq-26.1.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:50f0669324e27cc2091ef6ab76ca7112f364b6249691790b4cffce31e73fda28"}, - {file = "pyzmq-26.1.1-cp312-cp312-win32.whl", hash = "sha256:3ee5cbf2625b94de21c68d0cefd35327c8dfdbd6a98fcc41682b4e8bb00d841f"}, - {file = "pyzmq-26.1.1-cp312-cp312-win_amd64.whl", hash = "sha256:75bd448a28b1001b6928679015bc95dd5f172703ed30135bb9e34fc9cda0a3e7"}, - {file = "pyzmq-26.1.1-cp312-cp312-win_arm64.whl", hash = "sha256:4350233569b4bbef88595c5e77ee38995a6f1f1790fae148b578941bfffd1c24"}, - {file = "pyzmq-26.1.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:6c8087a3281c20b1d11042d372ed5a47734af05975d78e4d1d6e7bd1018535f3"}, - {file = "pyzmq-26.1.1-cp313-cp313-macosx_10_15_universal2.whl", hash = "sha256:ebef7d3fe11fe4c688f08bc0211a976c3318c097057f258428200737b9fff4da"}, - {file = "pyzmq-26.1.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7a5342110510045a47de1e87f5f1dcc1d9d90109522316dc9830cfc6157c800f"}, - {file = "pyzmq-26.1.1-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:af690ea4be6ca92a67c2b44a779a023bf0838e92d48497a2268175dc4a505691"}, - {file = "pyzmq-26.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc994e220c1403ae087d7f0fa45129d583e46668a019e389060da811a5a9320e"}, - {file = "pyzmq-26.1.1-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:b8e153f5dffb0310af71fc6fc9cd8174f4c8ea312c415adcb815d786fee78179"}, - {file = "pyzmq-26.1.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:0065026e624052a51033857e5cd45a94b52946b44533f965f0bdf182460e965d"}, - {file = "pyzmq-26.1.1-cp313-cp313-musllinux_1_1_i686.whl", hash = "sha256:63351392f948b5d50b9f55161994bc4feedbfb3f3cfe393d2f503dea2c3ec445"}, - {file = "pyzmq-26.1.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ffecc43b3c18e36b62fcec995761829b6ac325d8dd74a4f2c5c1653afbb4495a"}, - {file = "pyzmq-26.1.1-cp313-cp313-win32.whl", hash = "sha256:6ff14c2fae6c0c2c1c02590c5c5d75aa1db35b859971b3ca2fcd28f983d9f2b6"}, - {file = "pyzmq-26.1.1-cp313-cp313-win_amd64.whl", hash = "sha256:85f2d2ee5ea9a8f1de86a300e1062fbab044f45b5ce34d20580c0198a8196db0"}, - {file = "pyzmq-26.1.1-cp313-cp313-win_arm64.whl", hash = "sha256:cc09b1de8b985ca5a0ca343dd7fb007267c6b329347a74e200f4654268084239"}, - {file = "pyzmq-26.1.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:bc904e86de98f8fc5bd41597da5d61232d2d6d60c4397f26efffabb961b2b245"}, - {file = "pyzmq-26.1.1-cp313-cp313t-macosx_10_15_universal2.whl", hash = "sha256:00f39c367bbd6aa8e4bc36af6510561944c619b58eb36199fa334b594a18f615"}, - {file = "pyzmq-26.1.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:de6f384864a959866b782e6a3896538d1424d183f2d3c7ef079f71dcecde7284"}, - {file = "pyzmq-26.1.1-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3abb15df0c763339edb27a644c19381b2425ddd1aea3dbd77c1601a3b31867b8"}, - {file = "pyzmq-26.1.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40908ec2dd3b29bbadc0916a0d3c87f8dbeebbd8fead8e618539f09e0506dec4"}, - {file = "pyzmq-26.1.1-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:c11a95d3f6fc7e714ccd1066f68f9c1abd764a8b3596158be92f46dd49f41e03"}, - {file = "pyzmq-26.1.1-cp313-cp313t-musllinux_1_1_aarch64.whl", hash = "sha256:4437af9fee7a58302dbd511cc49f0cc2b35c112a33a1111fb123cf0be45205ca"}, - {file = "pyzmq-26.1.1-cp313-cp313t-musllinux_1_1_i686.whl", hash = "sha256:76390d3d66406cb01b9681c382874400e9dfd77f30ecdea4bd1bf5226dd4aff0"}, - {file = "pyzmq-26.1.1-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:4d4c7fe5e50e269f9c63a260638488fec194a73993008618a59b54c47ef6ae72"}, - {file = "pyzmq-26.1.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:25d128524207f53f7aae7c5abdc2b63f8957a060b00521af5ffcd20986b5d8f4"}, - {file = "pyzmq-26.1.1-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:d74b925d997e4f92b042bdd7085cd0a309ee0fd7cb4dc376059bbff6b32ff34f"}, - {file = "pyzmq-26.1.1-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:732f957441e5b1c65a7509395e6b6cafee9e12df9aa5f4bf92ed266fe0ba70ee"}, - {file = "pyzmq-26.1.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f0a45102ad7ed9f9ddf2bd699cc5df37742cf7301111cba06001b927efecb120"}, - {file = "pyzmq-26.1.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:9f380d5333fc7cd17423f486125dcc073918676e33db70a6a8172b19fc78d23d"}, - {file = "pyzmq-26.1.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:8eaffcd6bf6a9d00b66a2052a33fa7e6a6575427e9644395f13c3d070f2918dc"}, - {file = "pyzmq-26.1.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:f1483d4975ae1b387b39bb8e23d1ff32fe5621aa9e4ed3055d05e9c5613fea53"}, - {file = "pyzmq-26.1.1-cp37-cp37m-win32.whl", hash = "sha256:a83653c6bbe5887caea55e49fbd2909c14b73acf43bcc051eb60b2d514bbd46e"}, - {file = "pyzmq-26.1.1-cp37-cp37m-win_amd64.whl", hash = "sha256:9763a8d3f5f74ef679989b373c37cc22e8d07e56d26439205cb83edb7722357f"}, - {file = "pyzmq-26.1.1-cp38-cp38-macosx_10_15_universal2.whl", hash = "sha256:2b045647caf620ce0ed6c8fd9fb6a73116f99aceed966b152a5ba1b416d25311"}, - {file = "pyzmq-26.1.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:f66dcb6625c002f209cdc12cae1a1fec926493cd2262efe37dc6b25a30cea863"}, - {file = "pyzmq-26.1.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:0cf1d980c969fb9e538f52abd2227f09e015096bc5c3ef7aa26e0d64051c1db8"}, - {file = "pyzmq-26.1.1-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:443ebf5e261a95ee9725693f2a5a71401f89b89df0e0ea58844b074067aac2f1"}, - {file = "pyzmq-26.1.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:29de77ba1b1877fe7defc1b9140e65cbd35f72a63bc501e56c2eae55bde5fff4"}, - {file = "pyzmq-26.1.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2f6071ec95af145d7b659dae6786871cd85f0acc599286b6f8ba0c74592d83dd"}, - {file = "pyzmq-26.1.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:6f0512fc87629ad968889176bf2165d721cd817401a281504329e2a2ed0ca6a3"}, - {file = "pyzmq-26.1.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:5ccfcf13e80719f6a2d9c0a021d9e47d4550907a29253554be2c09582f6d7963"}, - {file = "pyzmq-26.1.1-cp38-cp38-win32.whl", hash = "sha256:809673947e95752e407aaaaf03f205ee86ebfff9ca51db6d4003dfd87b8428d1"}, - {file = "pyzmq-26.1.1-cp38-cp38-win_amd64.whl", hash = "sha256:62b5180e23e6f581600459cd983473cd723fdc64350f606d21407c99832aaf5f"}, - {file = "pyzmq-26.1.1-cp39-cp39-macosx_10_15_universal2.whl", hash = "sha256:fe73d7c89d6f803bed122135ff5783364e8cdb479cf6fe2d764a44b6349e7e0f"}, - {file = "pyzmq-26.1.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:db1b7e2b50ef21f398036786da4c153db63203a402396d9f21e08ea61f3f8dba"}, - {file = "pyzmq-26.1.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:7c506a51cb01bb997a3f6440db0d121e5e7a32396e9948b1fdb6a7bfa67243f4"}, - {file = "pyzmq-26.1.1-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:92eca4f80e8a748d880e55d3cf57ef487692e439f12d5c5a2e1cce84aaa7f6cb"}, - {file = "pyzmq-26.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:14bdbae02f72f4716b0ffe7500e9da303d719ddde1f3dcfb4c4f6cc1cf73bb02"}, - {file = "pyzmq-26.1.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:e03be7ed17836c9434cce0668ac1e2cc9143d7169f90f46a0167f6155e176e32"}, - {file = "pyzmq-26.1.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc5df31e36e4fddd4c8b5c42daee8d54d7b529e898ac984be97bf5517de166a7"}, - {file = "pyzmq-26.1.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:f218179c90a12d660906e04b25a340dd63e9743000ba16232ddaf46888f269da"}, - {file = "pyzmq-26.1.1-cp39-cp39-win32.whl", hash = "sha256:7dfabc180a4da422a4b349c63077347392463a75fa07aa3be96712ed6d42c547"}, - {file = "pyzmq-26.1.1-cp39-cp39-win_amd64.whl", hash = "sha256:c5248e6e0fcbbbc912982e99cdd51c342601f495b0fa5bd667f3bdbdbf3e170f"}, - {file = "pyzmq-26.1.1-cp39-cp39-win_arm64.whl", hash = "sha256:2ae7aa1408778dc74582a1226052b930f9083b54b64d7e6ef6ec0466cfdcdec2"}, - {file = "pyzmq-26.1.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:be3fc2b11c0c384949cf1f01f9a48555039408b0f3e877863b1754225635953e"}, - {file = "pyzmq-26.1.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:48dee75c2a9fa4f4a583d4028d564a0453447ee1277a29b07acc3743c092e259"}, - {file = "pyzmq-26.1.1-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:23f2fe4fb567e8098ebaa7204819658195b10ddd86958a97a6058eed2901eed3"}, - {file = "pyzmq-26.1.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:472cacd16f627c06d3c8b2d374345ab74446bae913584a6245e2aa935336d929"}, - {file = "pyzmq-26.1.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:8285b25aa20fcc46f1ca4afbc39fd3d5f2fe4c4bbf7f2c7f907a214e87a70024"}, - {file = "pyzmq-26.1.1-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:2067e63fd9d5c13cfe12624dab0366053e523b37a7a01678ce4321f839398939"}, - {file = "pyzmq-26.1.1-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:cc109be2ee3638035d276e18eaf66a1e1f44201c0c4bea4ee0c692766bbd3570"}, - {file = "pyzmq-26.1.1-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:d0da97e65ee73261dba70469cc8f63d8da3a8a825337a2e3d246b9e95141cdd0"}, - {file = "pyzmq-26.1.1-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aa79c528706561306938b275f89bb2c6985ce08469c27e5de05bc680df5e826f"}, - {file = "pyzmq-26.1.1-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:3ddbd851a3a2651fdc5065a2804d50cf2f4b13b1bcd66de8e9e855d0217d4fcd"}, - {file = "pyzmq-26.1.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:d3df226ab7464684ae6706e20a5cbab717c3735a7e409b3fa598b754d49f1946"}, - {file = "pyzmq-26.1.1-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:abad7b897e960d577eb4a0f3f789c1780bc3ffe2e7c27cf317e7c90ad26acf12"}, - {file = "pyzmq-26.1.1-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:c513d829a548c2d5c88983167be2b3aa537f6d1191edcdc6fcd8999e18bdd994"}, - {file = "pyzmq-26.1.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:70af4c9c991714ef1c65957605a8de42ef0d0620dd5f125953c8e682281bdb80"}, - {file = "pyzmq-26.1.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:8d4234f335b0d0842f7d661d8cd50cbad0729be58f1c4deb85cd96b38fe95025"}, - {file = "pyzmq-26.1.1-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:2c0fdb7b758e0e1605157e480b00b3a599073068a37091a1c75ec65bf7498645"}, - {file = "pyzmq-26.1.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fc657577f057d60dd3642c9f95f28b432889b73143140061f7c1331d02f03df6"}, - {file = "pyzmq-26.1.1-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3e3b66fe6131b4f33d239f7d4c3bfb2f8532d8644bae3b3da4f3987073edac55"}, - {file = "pyzmq-26.1.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:59b57e912feef6951aec8bb03fe0faa5ad5f36962883c72a30a9c965e6d988fd"}, - {file = "pyzmq-26.1.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:146956aec7d947c5afc5e7da0841423d7a53f84fd160fff25e682361dcfb32cb"}, - {file = "pyzmq-26.1.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:9521b874fd489495865172f344e46e0159095d1f161858e3fc6e28e43ca15160"}, - {file = "pyzmq-26.1.1.tar.gz", hash = "sha256:a7db05d8b7cd1a8c6610e9e9aa55d525baae7a44a43e18bc3260eb3f92de96c6"}, + {file = "pyzmq-26.2.0-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:ddf33d97d2f52d89f6e6e7ae66ee35a4d9ca6f36eda89c24591b0c40205a3629"}, + {file = "pyzmq-26.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:dacd995031a01d16eec825bf30802fceb2c3791ef24bcce48fa98ce40918c27b"}, + {file = "pyzmq-26.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:89289a5ee32ef6c439086184529ae060c741334b8970a6855ec0b6ad3ff28764"}, + {file = "pyzmq-26.2.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5506f06d7dc6ecf1efacb4a013b1f05071bb24b76350832c96449f4a2d95091c"}, + {file = "pyzmq-26.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ea039387c10202ce304af74def5021e9adc6297067f3441d348d2b633e8166a"}, + {file = "pyzmq-26.2.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:a2224fa4a4c2ee872886ed00a571f5e967c85e078e8e8c2530a2fb01b3309b88"}, + {file = "pyzmq-26.2.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:28ad5233e9c3b52d76196c696e362508959741e1a005fb8fa03b51aea156088f"}, + {file = "pyzmq-26.2.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:1c17211bc037c7d88e85ed8b7d8f7e52db6dc8eca5590d162717c654550f7282"}, + {file = "pyzmq-26.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b8f86dd868d41bea9a5f873ee13bf5551c94cf6bc51baebc6f85075971fe6eea"}, + {file = "pyzmq-26.2.0-cp310-cp310-win32.whl", hash = "sha256:46a446c212e58456b23af260f3d9fb785054f3e3653dbf7279d8f2b5546b21c2"}, + {file = "pyzmq-26.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:49d34ab71db5a9c292a7644ce74190b1dd5a3475612eefb1f8be1d6961441971"}, + {file = "pyzmq-26.2.0-cp310-cp310-win_arm64.whl", hash = "sha256:bfa832bfa540e5b5c27dcf5de5d82ebc431b82c453a43d141afb1e5d2de025fa"}, + {file = "pyzmq-26.2.0-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:8f7e66c7113c684c2b3f1c83cdd3376103ee0ce4c49ff80a648643e57fb22218"}, + {file = "pyzmq-26.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3a495b30fc91db2db25120df5847d9833af237546fd59170701acd816ccc01c4"}, + {file = "pyzmq-26.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:77eb0968da535cba0470a5165468b2cac7772cfb569977cff92e240f57e31bef"}, + {file = "pyzmq-26.2.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ace4f71f1900a548f48407fc9be59c6ba9d9aaf658c2eea6cf2779e72f9f317"}, + {file = "pyzmq-26.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:92a78853d7280bffb93df0a4a6a2498cba10ee793cc8076ef797ef2f74d107cf"}, + {file = "pyzmq-26.2.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:689c5d781014956a4a6de61d74ba97b23547e431e9e7d64f27d4922ba96e9d6e"}, + {file = "pyzmq-26.2.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0aca98bc423eb7d153214b2df397c6421ba6373d3397b26c057af3c904452e37"}, + {file = "pyzmq-26.2.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:1f3496d76b89d9429a656293744ceca4d2ac2a10ae59b84c1da9b5165f429ad3"}, + {file = "pyzmq-26.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5c2b3bfd4b9689919db068ac6c9911f3fcb231c39f7dd30e3138be94896d18e6"}, + {file = "pyzmq-26.2.0-cp311-cp311-win32.whl", hash = "sha256:eac5174677da084abf378739dbf4ad245661635f1600edd1221f150b165343f4"}, + {file = "pyzmq-26.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:5a509df7d0a83a4b178d0f937ef14286659225ef4e8812e05580776c70e155d5"}, + {file = "pyzmq-26.2.0-cp311-cp311-win_arm64.whl", hash = "sha256:c0e6091b157d48cbe37bd67233318dbb53e1e6327d6fc3bb284afd585d141003"}, + {file = "pyzmq-26.2.0-cp312-cp312-macosx_10_15_universal2.whl", hash = "sha256:ded0fc7d90fe93ae0b18059930086c51e640cdd3baebdc783a695c77f123dcd9"}, + {file = "pyzmq-26.2.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:17bf5a931c7f6618023cdacc7081f3f266aecb68ca692adac015c383a134ca52"}, + {file = "pyzmq-26.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:55cf66647e49d4621a7e20c8d13511ef1fe1efbbccf670811864452487007e08"}, + {file = "pyzmq-26.2.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4661c88db4a9e0f958c8abc2b97472e23061f0bc737f6f6179d7a27024e1faa5"}, + {file = "pyzmq-26.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ea7f69de383cb47522c9c208aec6dd17697db7875a4674c4af3f8cfdac0bdeae"}, + {file = "pyzmq-26.2.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:7f98f6dfa8b8ccaf39163ce872bddacca38f6a67289116c8937a02e30bbe9711"}, + {file = "pyzmq-26.2.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:e3e0210287329272539eea617830a6a28161fbbd8a3271bf4150ae3e58c5d0e6"}, + {file = "pyzmq-26.2.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:6b274e0762c33c7471f1a7471d1a2085b1a35eba5cdc48d2ae319f28b6fc4de3"}, + {file = "pyzmq-26.2.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:29c6a4635eef69d68a00321e12a7d2559fe2dfccfa8efae3ffb8e91cd0b36a8b"}, + {file = "pyzmq-26.2.0-cp312-cp312-win32.whl", hash = "sha256:989d842dc06dc59feea09e58c74ca3e1678c812a4a8a2a419046d711031f69c7"}, + {file = "pyzmq-26.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:2a50625acdc7801bc6f74698c5c583a491c61d73c6b7ea4dee3901bb99adb27a"}, + {file = "pyzmq-26.2.0-cp312-cp312-win_arm64.whl", hash = "sha256:4d29ab8592b6ad12ebbf92ac2ed2bedcfd1cec192d8e559e2e099f648570e19b"}, + {file = "pyzmq-26.2.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:9dd8cd1aeb00775f527ec60022004d030ddc51d783d056e3e23e74e623e33726"}, + {file = "pyzmq-26.2.0-cp313-cp313-macosx_10_15_universal2.whl", hash = "sha256:28c812d9757fe8acecc910c9ac9dafd2ce968c00f9e619db09e9f8f54c3a68a3"}, + {file = "pyzmq-26.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4d80b1dd99c1942f74ed608ddb38b181b87476c6a966a88a950c7dee118fdf50"}, + {file = "pyzmq-26.2.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8c997098cc65e3208eca09303630e84d42718620e83b733d0fd69543a9cab9cb"}, + {file = "pyzmq-26.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ad1bc8d1b7a18497dda9600b12dc193c577beb391beae5cd2349184db40f187"}, + {file = "pyzmq-26.2.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:bea2acdd8ea4275e1278350ced63da0b166421928276c7c8e3f9729d7402a57b"}, + {file = "pyzmq-26.2.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:23f4aad749d13698f3f7b64aad34f5fc02d6f20f05999eebc96b89b01262fb18"}, + {file = "pyzmq-26.2.0-cp313-cp313-musllinux_1_1_i686.whl", hash = "sha256:a4f96f0d88accc3dbe4a9025f785ba830f968e21e3e2c6321ccdfc9aef755115"}, + {file = "pyzmq-26.2.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ced65e5a985398827cc9276b93ef6dfabe0273c23de8c7931339d7e141c2818e"}, + {file = "pyzmq-26.2.0-cp313-cp313-win32.whl", hash = "sha256:31507f7b47cc1ead1f6e86927f8ebb196a0bab043f6345ce070f412a59bf87b5"}, + {file = "pyzmq-26.2.0-cp313-cp313-win_amd64.whl", hash = "sha256:70fc7fcf0410d16ebdda9b26cbd8bf8d803d220a7f3522e060a69a9c87bf7bad"}, + {file = "pyzmq-26.2.0-cp313-cp313-win_arm64.whl", hash = "sha256:c3789bd5768ab5618ebf09cef6ec2b35fed88709b104351748a63045f0ff9797"}, + {file = "pyzmq-26.2.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:034da5fc55d9f8da09015d368f519478a52675e558c989bfcb5cf6d4e16a7d2a"}, + {file = "pyzmq-26.2.0-cp313-cp313t-macosx_10_15_universal2.whl", hash = "sha256:c92d73464b886931308ccc45b2744e5968cbaade0b1d6aeb40d8ab537765f5bc"}, + {file = "pyzmq-26.2.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:794a4562dcb374f7dbbfb3f51d28fb40123b5a2abadee7b4091f93054909add5"}, + {file = "pyzmq-26.2.0-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aee22939bb6075e7afededabad1a56a905da0b3c4e3e0c45e75810ebe3a52672"}, + {file = "pyzmq-26.2.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2ae90ff9dad33a1cfe947d2c40cb9cb5e600d759ac4f0fd22616ce6540f72797"}, + {file = "pyzmq-26.2.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:43a47408ac52647dfabbc66a25b05b6a61700b5165807e3fbd40063fcaf46386"}, + {file = "pyzmq-26.2.0-cp313-cp313t-musllinux_1_1_aarch64.whl", hash = "sha256:25bf2374a2a8433633c65ccb9553350d5e17e60c8eb4de4d92cc6bd60f01d306"}, + {file = "pyzmq-26.2.0-cp313-cp313t-musllinux_1_1_i686.whl", hash = "sha256:007137c9ac9ad5ea21e6ad97d3489af654381324d5d3ba614c323f60dab8fae6"}, + {file = "pyzmq-26.2.0-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:470d4a4f6d48fb34e92d768b4e8a5cc3780db0d69107abf1cd7ff734b9766eb0"}, + {file = "pyzmq-26.2.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:3b55a4229ce5da9497dd0452b914556ae58e96a4381bb6f59f1305dfd7e53fc8"}, + {file = "pyzmq-26.2.0-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:9cb3a6460cdea8fe8194a76de8895707e61ded10ad0be97188cc8463ffa7e3a8"}, + {file = "pyzmq-26.2.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:8ab5cad923cc95c87bffee098a27856c859bd5d0af31bd346035aa816b081fe1"}, + {file = "pyzmq-26.2.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9ed69074a610fad1c2fda66180e7b2edd4d31c53f2d1872bc2d1211563904cd9"}, + {file = "pyzmq-26.2.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:cccba051221b916a4f5e538997c45d7d136a5646442b1231b916d0164067ea27"}, + {file = "pyzmq-26.2.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:0eaa83fc4c1e271c24eaf8fb083cbccef8fde77ec8cd45f3c35a9a123e6da097"}, + {file = "pyzmq-26.2.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:9edda2df81daa129b25a39b86cb57dfdfe16f7ec15b42b19bfac503360d27a93"}, + {file = "pyzmq-26.2.0-cp37-cp37m-win32.whl", hash = "sha256:ea0eb6af8a17fa272f7b98d7bebfab7836a0d62738e16ba380f440fceca2d951"}, + {file = "pyzmq-26.2.0-cp37-cp37m-win_amd64.whl", hash = "sha256:4ff9dc6bc1664bb9eec25cd17506ef6672d506115095411e237d571e92a58231"}, + {file = "pyzmq-26.2.0-cp38-cp38-macosx_10_15_universal2.whl", hash = "sha256:2eb7735ee73ca1b0d71e0e67c3739c689067f055c764f73aac4cc8ecf958ee3f"}, + {file = "pyzmq-26.2.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1a534f43bc738181aa7cbbaf48e3eca62c76453a40a746ab95d4b27b1111a7d2"}, + {file = "pyzmq-26.2.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:aedd5dd8692635813368e558a05266b995d3d020b23e49581ddd5bbe197a8ab6"}, + {file = "pyzmq-26.2.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:8be4700cd8bb02cc454f630dcdf7cfa99de96788b80c51b60fe2fe1dac480289"}, + {file = "pyzmq-26.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fcc03fa4997c447dce58264e93b5aa2d57714fbe0f06c07b7785ae131512732"}, + {file = "pyzmq-26.2.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:402b190912935d3db15b03e8f7485812db350d271b284ded2b80d2e5704be780"}, + {file = "pyzmq-26.2.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:8685fa9c25ff00f550c1fec650430c4b71e4e48e8d852f7ddcf2e48308038640"}, + {file = "pyzmq-26.2.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:76589c020680778f06b7e0b193f4b6dd66d470234a16e1df90329f5e14a171cd"}, + {file = "pyzmq-26.2.0-cp38-cp38-win32.whl", hash = "sha256:8423c1877d72c041f2c263b1ec6e34360448decfb323fa8b94e85883043ef988"}, + {file = "pyzmq-26.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:76589f2cd6b77b5bdea4fca5992dc1c23389d68b18ccc26a53680ba2dc80ff2f"}, + {file = "pyzmq-26.2.0-cp39-cp39-macosx_10_15_universal2.whl", hash = "sha256:b1d464cb8d72bfc1a3adc53305a63a8e0cac6bc8c5a07e8ca190ab8d3faa43c2"}, + {file = "pyzmq-26.2.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4da04c48873a6abdd71811c5e163bd656ee1b957971db7f35140a2d573f6949c"}, + {file = "pyzmq-26.2.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:d049df610ac811dcffdc147153b414147428567fbbc8be43bb8885f04db39d98"}, + {file = "pyzmq-26.2.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:05590cdbc6b902101d0e65d6a4780af14dc22914cc6ab995d99b85af45362cc9"}, + {file = "pyzmq-26.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c811cfcd6a9bf680236c40c6f617187515269ab2912f3d7e8c0174898e2519db"}, + {file = "pyzmq-26.2.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:6835dd60355593de10350394242b5757fbbd88b25287314316f266e24c61d073"}, + {file = "pyzmq-26.2.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc6bee759a6bddea5db78d7dcd609397449cb2d2d6587f48f3ca613b19410cfc"}, + {file = "pyzmq-26.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c530e1eecd036ecc83c3407f77bb86feb79916d4a33d11394b8234f3bd35b940"}, + {file = "pyzmq-26.2.0-cp39-cp39-win32.whl", hash = "sha256:367b4f689786fca726ef7a6c5ba606958b145b9340a5e4808132cc65759abd44"}, + {file = "pyzmq-26.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:e6fa2e3e683f34aea77de8112f6483803c96a44fd726d7358b9888ae5bb394ec"}, + {file = "pyzmq-26.2.0-cp39-cp39-win_arm64.whl", hash = "sha256:7445be39143a8aa4faec43b076e06944b8f9d0701b669df4af200531b21e40bb"}, + {file = "pyzmq-26.2.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:706e794564bec25819d21a41c31d4df2d48e1cc4b061e8d345d7fb4dd3e94072"}, + {file = "pyzmq-26.2.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8b435f2753621cd36e7c1762156815e21c985c72b19135dac43a7f4f31d28dd1"}, + {file = "pyzmq-26.2.0-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:160c7e0a5eb178011e72892f99f918c04a131f36056d10d9c1afb223fc952c2d"}, + {file = "pyzmq-26.2.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2c4a71d5d6e7b28a47a394c0471b7e77a0661e2d651e7ae91e0cab0a587859ca"}, + {file = "pyzmq-26.2.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:90412f2db8c02a3864cbfc67db0e3dcdbda336acf1c469526d3e869394fe001c"}, + {file = "pyzmq-26.2.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:2ea4ad4e6a12e454de05f2949d4beddb52460f3de7c8b9d5c46fbb7d7222e02c"}, + {file = "pyzmq-26.2.0-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:fc4f7a173a5609631bb0c42c23d12c49df3966f89f496a51d3eb0ec81f4519d6"}, + {file = "pyzmq-26.2.0-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:878206a45202247781472a2d99df12a176fef806ca175799e1c6ad263510d57c"}, + {file = "pyzmq-26.2.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:17c412bad2eb9468e876f556eb4ee910e62d721d2c7a53c7fa31e643d35352e6"}, + {file = "pyzmq-26.2.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:0d987a3ae5a71c6226b203cfd298720e0086c7fe7c74f35fa8edddfbd6597eed"}, + {file = "pyzmq-26.2.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:39887ac397ff35b7b775db7201095fc6310a35fdbae85bac4523f7eb3b840e20"}, + {file = "pyzmq-26.2.0-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:fdb5b3e311d4d4b0eb8b3e8b4d1b0a512713ad7e6a68791d0923d1aec433d919"}, + {file = "pyzmq-26.2.0-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:226af7dcb51fdb0109f0016449b357e182ea0ceb6b47dfb5999d569e5db161d5"}, + {file = "pyzmq-26.2.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0bed0e799e6120b9c32756203fb9dfe8ca2fb8467fed830c34c877e25638c3fc"}, + {file = "pyzmq-26.2.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:29c7947c594e105cb9e6c466bace8532dc1ca02d498684128b339799f5248277"}, + {file = "pyzmq-26.2.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:cdeabcff45d1c219636ee2e54d852262e5c2e085d6cb476d938aee8d921356b3"}, + {file = "pyzmq-26.2.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:35cffef589bcdc587d06f9149f8d5e9e8859920a071df5a2671de2213bef592a"}, + {file = "pyzmq-26.2.0-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:18c8dc3b7468d8b4bdf60ce9d7141897da103c7a4690157b32b60acb45e333e6"}, + {file = "pyzmq-26.2.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7133d0a1677aec369d67dd78520d3fa96dd7f3dcec99d66c1762870e5ea1a50a"}, + {file = "pyzmq-26.2.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:6a96179a24b14fa6428cbfc08641c779a53f8fcec43644030328f44034c7f1f4"}, + {file = "pyzmq-26.2.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:4f78c88905461a9203eac9faac157a2a0dbba84a0fd09fd29315db27be40af9f"}, + {file = "pyzmq-26.2.0.tar.gz", hash = "sha256:070672c258581c8e4f640b5159297580a9974b026043bd4ab0470be9ed324f1f"}, ] [package.dependencies] @@ -4187,13 +4187,13 @@ files = [ [[package]] name = "types-python-dateutil" -version = "2.9.0.20240316" +version = "2.9.0.20240821" description = "Typing stubs for python-dateutil" optional = false python-versions = ">=3.8" files = [ - {file = "types-python-dateutil-2.9.0.20240316.tar.gz", hash = "sha256:5d2f2e240b86905e40944dd787db6da9263f0deabef1076ddaed797351ec0202"}, - {file = "types_python_dateutil-2.9.0.20240316-py3-none-any.whl", hash = "sha256:6b8cb66d960771ce5ff974e9dd45e38facb81718cc1e208b10b1baccbfdbee3b"}, + {file = "types-python-dateutil-2.9.0.20240821.tar.gz", hash = "sha256:9649d1dcb6fef1046fb18bebe9ea2aa0028b160918518c34589a46045f6ebd98"}, + {file = "types_python_dateutil-2.9.0.20240821-py3-none-any.whl", hash = "sha256:f5889fcb4e63ed4aaa379b44f93c32593d50b9a94c9a60a0c854d8cc3511cd57"}, ] [[package]] @@ -4354,13 +4354,13 @@ test = ["websockets"] [[package]] name = "widgetsnbextension" -version = "4.0.11" +version = "4.0.13" description = "Jupyter interactive widgets for Jupyter Notebook" optional = false python-versions = ">=3.7" files = [ - {file = "widgetsnbextension-4.0.11-py3-none-any.whl", hash = "sha256:55d4d6949d100e0d08b94948a42efc3ed6dfdc0e9468b2c4b128c9a2ce3a7a36"}, - {file = "widgetsnbextension-4.0.11.tar.gz", hash = "sha256:8b22a8f1910bfd188e596fe7fc05dcbd87e810c8a4ba010bdb3da86637398474"}, + {file = "widgetsnbextension-4.0.13-py3-none-any.whl", hash = "sha256:74b2692e8500525cc38c2b877236ba51d34541e6385eeed5aec15a70f88a6c71"}, + {file = "widgetsnbextension-4.0.13.tar.gz", hash = "sha256:ffcb67bc9febd10234a362795f643927f4e0c05d9342c727b65d2384f8feacb6"}, ] [[package]] diff --git a/agents-api/tests/test_execution_workflow.py b/agents-api/tests/test_execution_workflow.py index e862a89cf..04af5c378 100644 --- a/agents-api/tests/test_execution_workflow.py +++ b/agents-api/tests/test_execution_workflow.py @@ -10,8 +10,6 @@ from agents_api.autogen.openapi_model import ( CreateExecutionRequest, CreateTaskRequest, - MainModel, - MapOverEvaluate, ) from agents_api.models.task.create_task import create_task from agents_api.routers.tasks.create_task_execution import start_execution @@ -413,7 +411,7 @@ async def _( "description": "test task about", "input_schema": {"type": "object", "additionalProperties": True}, "main": [ - {"wait_for_input": {"hi": '"bye"'}}, + {"wait_for_input": {"info": {"hi": '"bye"'}}}, ], } ), @@ -452,11 +450,7 @@ async def _( activity for activity in activities_scheduled if activity ] - assert activities_scheduled == [ - "wait_for_input_step", - "transition_step", - "raise_complete_async", - ] + assert "wait_for_input_step" in activities_scheduled @test("workflow: if-else step") @@ -617,22 +611,24 @@ async def _( ): data = CreateExecutionRequest(input={"test": "input"}) + map_step = { + "over": "'a b c'.split()", + "map": { + "evaluate": {"res": "_"}, + }, + } + + task_def = { + "name": "test task", + "description": "test task about", + "input_schema": {"type": "object", "additionalProperties": True}, + "main": [map_step], + } + task = create_task( developer_id=developer_id, agent_id=agent.id, - data=CreateTaskRequest( - **{ - "name": "test task", - "description": "test task about", - "input_schema": {"type": "object", "additionalProperties": True}, - "main": [ - { - "over": "'a b c'.split()", - "evaluate": {"res": "_"}, - }, - ], - }, - ), + data=CreateTaskRequest(**task_def), client=client, ) @@ -651,7 +647,7 @@ async def _( mock_run_task_execution_workflow.assert_called_once() result = await handle.result() - assert result["res"] == {"test": "input"} + assert [r["res"] for r in result] == ["a", "b", "c"] @test("workflow: prompt step") diff --git a/sdks/python/poetry.lock b/sdks/python/poetry.lock index 9db756fca..9a1decf35 100644 --- a/sdks/python/poetry.lock +++ b/sdks/python/poetry.lock @@ -848,21 +848,25 @@ test = ["flufl.flake8", "importlib-resources (>=1.3)", "jaraco.test (>=5.4)", "p [[package]] name = "importlib-resources" -version = "6.4.3" +version = "6.4.4" description = "Read resources from Python packages" optional = false python-versions = ">=3.8" files = [ - {file = "importlib_resources-6.4.3-py3-none-any.whl", hash = "sha256:2d6dfe3b9e055f72495c2085890837fc8c758984e209115c8792bddcb762cd93"}, - {file = "importlib_resources-6.4.3.tar.gz", hash = "sha256:4a202b9b9d38563b46da59221d77bb73862ab5d79d461307bcb826d725448b98"}, + {file = "importlib_resources-6.4.4-py3-none-any.whl", hash = "sha256:dda242603d1c9cd836c3368b1174ed74cb4049ecd209e7a1a0104620c18c5c11"}, + {file = "importlib_resources-6.4.4.tar.gz", hash = "sha256:20600c8b7361938dc0bb2d5ec0297802e575df486f5a544fa414da65e13721f7"}, ] [package.dependencies] zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""} [package.extras] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] +cover = ["pytest-cov"] doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] -test = ["jaraco.test (>=5.4)", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-ruff (>=0.2.1)", "zipp (>=3.17)"] +enabler = ["pytest-enabler (>=2.2)"] +test = ["jaraco.test (>=5.4)", "pytest (>=6,!=8.1.*)", "zipp (>=3.17)"] +type = ["pytest-mypy"] [[package]] name = "ipykernel" @@ -1812,13 +1816,13 @@ files = [ [[package]] name = "openai" -version = "1.41.1" +version = "1.42.0" description = "The official Python library for the openai API" optional = false python-versions = ">=3.7.1" files = [ - {file = "openai-1.41.1-py3-none-any.whl", hash = "sha256:56fb04105263f79559aff3ceea2e1dd16f8c5385e8238cb66cf0e6888fa8bfcf"}, - {file = "openai-1.41.1.tar.gz", hash = "sha256:e38e376efd91e0d4db071e2a6517b6b4cac1c2a6fd63efdc5ec6be10c5967c1b"}, + {file = "openai-1.42.0-py3-none-any.whl", hash = "sha256:dc91e0307033a4f94931e5d03cc3b29b9717014ad5e73f9f2051b6cb5eda4d80"}, + {file = "openai-1.42.0.tar.gz", hash = "sha256:c9d31853b4e0bc2dc8bd08003b462a006035655a701471695d0bfdc08529cde3"}, ] [package.dependencies] @@ -2370,13 +2374,13 @@ diagrams = ["jinja2", "railroad-diagrams"] [[package]] name = "pyright" -version = "1.1.376" +version = "1.1.377" description = "Command line wrapper for pyright" optional = false python-versions = ">=3.7" files = [ - {file = "pyright-1.1.376-py3-none-any.whl", hash = "sha256:0f2473b12c15c46b3207f0eec224c3cea2bdc07cd45dd4a037687cbbca0fbeff"}, - {file = "pyright-1.1.376.tar.gz", hash = "sha256:bffd63b197cd0810395bb3245c06b01f95a85ddf6bfa0e5644ed69c841e954dd"}, + {file = "pyright-1.1.377-py3-none-any.whl", hash = "sha256:af0dd2b6b636c383a6569a083f8c5a8748ae4dcde5df7914b3f3f267e14dd162"}, + {file = "pyright-1.1.377.tar.gz", hash = "sha256:aabc30fedce0ded34baa0c49b24f10e68f4bfc8f68ae7f3d175c4b0f256b4fcf"}, ] [package.dependencies] @@ -2572,120 +2576,120 @@ files = [ [[package]] name = "pyzmq" -version = "26.1.1" +version = "26.2.0" description = "Python bindings for 0MQ" optional = false python-versions = ">=3.7" files = [ - {file = "pyzmq-26.1.1-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:b1bb952d1e407463c9333ea7e0c0600001e54e08ce836d4f0aff1fb3f902cf63"}, - {file = "pyzmq-26.1.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:65e2a18e845c6ea7ab849c70db932eaeadee5edede9e379eb21c0a44cf523b2e"}, - {file = "pyzmq-26.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:def7ae3006924b8a0c146a89ab4008310913fa903beedb95e25dea749642528e"}, - {file = "pyzmq-26.1.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a8234571df7816f99dde89c3403cb396d70c6554120b795853a8ea56fcc26cd3"}, - {file = "pyzmq-26.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18da8e84dbc30688fd2baefd41df7190607511f916be34f9a24b0e007551822e"}, - {file = "pyzmq-26.1.1-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:c70dab93d98b2bf3f0ac1265edbf6e7f83acbf71dabcc4611889bb0dea45bed7"}, - {file = "pyzmq-26.1.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:fcb90592c5d5c562e1b1a1ceccf6f00036d73c51db0271bf4d352b8d6b31d468"}, - {file = "pyzmq-26.1.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:cf4be7460a0c1bc71e9b0e64ecdd75a86386ca6afaa36641686f5542d0314e9d"}, - {file = "pyzmq-26.1.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a4cbecda4ddbfc1e309c3be04d333f9be3fc6178b8b6592b309676f929767a15"}, - {file = "pyzmq-26.1.1-cp310-cp310-win32.whl", hash = "sha256:583f73b113b8165713b6ce028d221402b1b69483055b5aa3f991937e34dd1ead"}, - {file = "pyzmq-26.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:5e6f39ecb8eb7bfcb976c49262e8cf83ff76e082b77ca23ba90c9b6691a345be"}, - {file = "pyzmq-26.1.1-cp310-cp310-win_arm64.whl", hash = "sha256:8d042d6446cab3a1388b38596f5acabb9926b0b95c3894c519356b577a549458"}, - {file = "pyzmq-26.1.1-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:362cac2423e36966d336d79d3ec3eafeabc153ee3e7a5cf580d7e74a34b3d912"}, - {file = "pyzmq-26.1.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0841633446cb1539a832a19bb24c03a20c00887d0cedd1d891b495b07e5c5cb5"}, - {file = "pyzmq-26.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e1fcdc333afbf9918d0a614a6e10858aede7da49a60f6705a77e343fe86a317"}, - {file = "pyzmq-26.1.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cc8d655627d775475eafdcf0e49e74bcc1e5e90afd9ab813b4da98f092ed7b93"}, - {file = "pyzmq-26.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:32de51744820857a6f7c3077e620ab3f607d0e4388dfead885d5124ab9bcdc5e"}, - {file = "pyzmq-26.1.1-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:a880240597010914ffb1d6edd04d3deb7ce6a2abf79a0012751438d13630a671"}, - {file = "pyzmq-26.1.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:26131b1cec02f941ed2d2b4b8cc051662b1c248b044eff5069df1f500bbced56"}, - {file = "pyzmq-26.1.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:ce05841322b58510607f9508a573138d995a46c7928887bc433de9cb760fd2ad"}, - {file = "pyzmq-26.1.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:32123ff0a6db521aadf2b95201e967a4e0d11fb89f73663a99d2f54881c07214"}, - {file = "pyzmq-26.1.1-cp311-cp311-win32.whl", hash = "sha256:e790602d7ea1d6c7d8713d571226d67de7ffe47b1e22ae2c043ebd537de1bccb"}, - {file = "pyzmq-26.1.1-cp311-cp311-win_amd64.whl", hash = "sha256:717960855f2d6fdc2dba9df49dff31c414187bb11c76af36343a57d1f7083d9a"}, - {file = "pyzmq-26.1.1-cp311-cp311-win_arm64.whl", hash = "sha256:08956c26dbcd4fd8835cb777a16e21958ed2412317630e19f0018d49dbeeb470"}, - {file = "pyzmq-26.1.1-cp312-cp312-macosx_10_15_universal2.whl", hash = "sha256:e80345900ae241c2c51bead7c9fa247bba6d4b2a83423e9791bae8b0a7f12c52"}, - {file = "pyzmq-26.1.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ec8fe214fcc45dfb0c32e4a7ad1db20244ba2d2fecbf0cbf9d5242d81ca0a375"}, - {file = "pyzmq-26.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf4e283f97688d993cb7a8acbc22889effbbb7cbaa19ee9709751f44be928f5d"}, - {file = "pyzmq-26.1.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2508bdc8ab246e5ed7c92023d4352aaad63020ca3b098a4e3f1822db202f703d"}, - {file = "pyzmq-26.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:741bdb4d96efe8192616abdc3671931d51a8bcd38c71da2d53fb3127149265d1"}, - {file = "pyzmq-26.1.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:76154943e4c4054b2591792eb3484ef1dd23d59805759f9cebd2f010aa30ee8c"}, - {file = "pyzmq-26.1.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:9498ac427d20d0e0ef0e4bbd6200841e91640dfdf619f544ceec7f464cfb6070"}, - {file = "pyzmq-26.1.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:6f34453ef3496ca3462f30435bf85f535f9550392987341f9ccc92c102825a79"}, - {file = "pyzmq-26.1.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:50f0669324e27cc2091ef6ab76ca7112f364b6249691790b4cffce31e73fda28"}, - {file = "pyzmq-26.1.1-cp312-cp312-win32.whl", hash = "sha256:3ee5cbf2625b94de21c68d0cefd35327c8dfdbd6a98fcc41682b4e8bb00d841f"}, - {file = "pyzmq-26.1.1-cp312-cp312-win_amd64.whl", hash = "sha256:75bd448a28b1001b6928679015bc95dd5f172703ed30135bb9e34fc9cda0a3e7"}, - {file = "pyzmq-26.1.1-cp312-cp312-win_arm64.whl", hash = "sha256:4350233569b4bbef88595c5e77ee38995a6f1f1790fae148b578941bfffd1c24"}, - {file = "pyzmq-26.1.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:6c8087a3281c20b1d11042d372ed5a47734af05975d78e4d1d6e7bd1018535f3"}, - {file = "pyzmq-26.1.1-cp313-cp313-macosx_10_15_universal2.whl", hash = "sha256:ebef7d3fe11fe4c688f08bc0211a976c3318c097057f258428200737b9fff4da"}, - {file = "pyzmq-26.1.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7a5342110510045a47de1e87f5f1dcc1d9d90109522316dc9830cfc6157c800f"}, - {file = "pyzmq-26.1.1-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:af690ea4be6ca92a67c2b44a779a023bf0838e92d48497a2268175dc4a505691"}, - {file = "pyzmq-26.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc994e220c1403ae087d7f0fa45129d583e46668a019e389060da811a5a9320e"}, - {file = "pyzmq-26.1.1-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:b8e153f5dffb0310af71fc6fc9cd8174f4c8ea312c415adcb815d786fee78179"}, - {file = "pyzmq-26.1.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:0065026e624052a51033857e5cd45a94b52946b44533f965f0bdf182460e965d"}, - {file = "pyzmq-26.1.1-cp313-cp313-musllinux_1_1_i686.whl", hash = "sha256:63351392f948b5d50b9f55161994bc4feedbfb3f3cfe393d2f503dea2c3ec445"}, - {file = "pyzmq-26.1.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ffecc43b3c18e36b62fcec995761829b6ac325d8dd74a4f2c5c1653afbb4495a"}, - {file = "pyzmq-26.1.1-cp313-cp313-win32.whl", hash = "sha256:6ff14c2fae6c0c2c1c02590c5c5d75aa1db35b859971b3ca2fcd28f983d9f2b6"}, - {file = "pyzmq-26.1.1-cp313-cp313-win_amd64.whl", hash = "sha256:85f2d2ee5ea9a8f1de86a300e1062fbab044f45b5ce34d20580c0198a8196db0"}, - {file = "pyzmq-26.1.1-cp313-cp313-win_arm64.whl", hash = "sha256:cc09b1de8b985ca5a0ca343dd7fb007267c6b329347a74e200f4654268084239"}, - {file = "pyzmq-26.1.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:bc904e86de98f8fc5bd41597da5d61232d2d6d60c4397f26efffabb961b2b245"}, - {file = "pyzmq-26.1.1-cp313-cp313t-macosx_10_15_universal2.whl", hash = "sha256:00f39c367bbd6aa8e4bc36af6510561944c619b58eb36199fa334b594a18f615"}, - {file = "pyzmq-26.1.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:de6f384864a959866b782e6a3896538d1424d183f2d3c7ef079f71dcecde7284"}, - {file = "pyzmq-26.1.1-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3abb15df0c763339edb27a644c19381b2425ddd1aea3dbd77c1601a3b31867b8"}, - {file = "pyzmq-26.1.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40908ec2dd3b29bbadc0916a0d3c87f8dbeebbd8fead8e618539f09e0506dec4"}, - {file = "pyzmq-26.1.1-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:c11a95d3f6fc7e714ccd1066f68f9c1abd764a8b3596158be92f46dd49f41e03"}, - {file = "pyzmq-26.1.1-cp313-cp313t-musllinux_1_1_aarch64.whl", hash = "sha256:4437af9fee7a58302dbd511cc49f0cc2b35c112a33a1111fb123cf0be45205ca"}, - {file = "pyzmq-26.1.1-cp313-cp313t-musllinux_1_1_i686.whl", hash = "sha256:76390d3d66406cb01b9681c382874400e9dfd77f30ecdea4bd1bf5226dd4aff0"}, - {file = "pyzmq-26.1.1-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:4d4c7fe5e50e269f9c63a260638488fec194a73993008618a59b54c47ef6ae72"}, - {file = "pyzmq-26.1.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:25d128524207f53f7aae7c5abdc2b63f8957a060b00521af5ffcd20986b5d8f4"}, - {file = "pyzmq-26.1.1-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:d74b925d997e4f92b042bdd7085cd0a309ee0fd7cb4dc376059bbff6b32ff34f"}, - {file = "pyzmq-26.1.1-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:732f957441e5b1c65a7509395e6b6cafee9e12df9aa5f4bf92ed266fe0ba70ee"}, - {file = "pyzmq-26.1.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f0a45102ad7ed9f9ddf2bd699cc5df37742cf7301111cba06001b927efecb120"}, - {file = "pyzmq-26.1.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:9f380d5333fc7cd17423f486125dcc073918676e33db70a6a8172b19fc78d23d"}, - {file = "pyzmq-26.1.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:8eaffcd6bf6a9d00b66a2052a33fa7e6a6575427e9644395f13c3d070f2918dc"}, - {file = "pyzmq-26.1.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:f1483d4975ae1b387b39bb8e23d1ff32fe5621aa9e4ed3055d05e9c5613fea53"}, - {file = "pyzmq-26.1.1-cp37-cp37m-win32.whl", hash = "sha256:a83653c6bbe5887caea55e49fbd2909c14b73acf43bcc051eb60b2d514bbd46e"}, - {file = "pyzmq-26.1.1-cp37-cp37m-win_amd64.whl", hash = "sha256:9763a8d3f5f74ef679989b373c37cc22e8d07e56d26439205cb83edb7722357f"}, - {file = "pyzmq-26.1.1-cp38-cp38-macosx_10_15_universal2.whl", hash = "sha256:2b045647caf620ce0ed6c8fd9fb6a73116f99aceed966b152a5ba1b416d25311"}, - {file = "pyzmq-26.1.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:f66dcb6625c002f209cdc12cae1a1fec926493cd2262efe37dc6b25a30cea863"}, - {file = "pyzmq-26.1.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:0cf1d980c969fb9e538f52abd2227f09e015096bc5c3ef7aa26e0d64051c1db8"}, - {file = "pyzmq-26.1.1-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:443ebf5e261a95ee9725693f2a5a71401f89b89df0e0ea58844b074067aac2f1"}, - {file = "pyzmq-26.1.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:29de77ba1b1877fe7defc1b9140e65cbd35f72a63bc501e56c2eae55bde5fff4"}, - {file = "pyzmq-26.1.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2f6071ec95af145d7b659dae6786871cd85f0acc599286b6f8ba0c74592d83dd"}, - {file = "pyzmq-26.1.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:6f0512fc87629ad968889176bf2165d721cd817401a281504329e2a2ed0ca6a3"}, - {file = "pyzmq-26.1.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:5ccfcf13e80719f6a2d9c0a021d9e47d4550907a29253554be2c09582f6d7963"}, - {file = "pyzmq-26.1.1-cp38-cp38-win32.whl", hash = "sha256:809673947e95752e407aaaaf03f205ee86ebfff9ca51db6d4003dfd87b8428d1"}, - {file = "pyzmq-26.1.1-cp38-cp38-win_amd64.whl", hash = "sha256:62b5180e23e6f581600459cd983473cd723fdc64350f606d21407c99832aaf5f"}, - {file = "pyzmq-26.1.1-cp39-cp39-macosx_10_15_universal2.whl", hash = "sha256:fe73d7c89d6f803bed122135ff5783364e8cdb479cf6fe2d764a44b6349e7e0f"}, - {file = "pyzmq-26.1.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:db1b7e2b50ef21f398036786da4c153db63203a402396d9f21e08ea61f3f8dba"}, - {file = "pyzmq-26.1.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:7c506a51cb01bb997a3f6440db0d121e5e7a32396e9948b1fdb6a7bfa67243f4"}, - {file = "pyzmq-26.1.1-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:92eca4f80e8a748d880e55d3cf57ef487692e439f12d5c5a2e1cce84aaa7f6cb"}, - {file = "pyzmq-26.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:14bdbae02f72f4716b0ffe7500e9da303d719ddde1f3dcfb4c4f6cc1cf73bb02"}, - {file = "pyzmq-26.1.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:e03be7ed17836c9434cce0668ac1e2cc9143d7169f90f46a0167f6155e176e32"}, - {file = "pyzmq-26.1.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc5df31e36e4fddd4c8b5c42daee8d54d7b529e898ac984be97bf5517de166a7"}, - {file = "pyzmq-26.1.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:f218179c90a12d660906e04b25a340dd63e9743000ba16232ddaf46888f269da"}, - {file = "pyzmq-26.1.1-cp39-cp39-win32.whl", hash = "sha256:7dfabc180a4da422a4b349c63077347392463a75fa07aa3be96712ed6d42c547"}, - {file = "pyzmq-26.1.1-cp39-cp39-win_amd64.whl", hash = "sha256:c5248e6e0fcbbbc912982e99cdd51c342601f495b0fa5bd667f3bdbdbf3e170f"}, - {file = "pyzmq-26.1.1-cp39-cp39-win_arm64.whl", hash = "sha256:2ae7aa1408778dc74582a1226052b930f9083b54b64d7e6ef6ec0466cfdcdec2"}, - {file = "pyzmq-26.1.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:be3fc2b11c0c384949cf1f01f9a48555039408b0f3e877863b1754225635953e"}, - {file = "pyzmq-26.1.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:48dee75c2a9fa4f4a583d4028d564a0453447ee1277a29b07acc3743c092e259"}, - {file = "pyzmq-26.1.1-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:23f2fe4fb567e8098ebaa7204819658195b10ddd86958a97a6058eed2901eed3"}, - {file = "pyzmq-26.1.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:472cacd16f627c06d3c8b2d374345ab74446bae913584a6245e2aa935336d929"}, - {file = "pyzmq-26.1.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:8285b25aa20fcc46f1ca4afbc39fd3d5f2fe4c4bbf7f2c7f907a214e87a70024"}, - {file = "pyzmq-26.1.1-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:2067e63fd9d5c13cfe12624dab0366053e523b37a7a01678ce4321f839398939"}, - {file = "pyzmq-26.1.1-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:cc109be2ee3638035d276e18eaf66a1e1f44201c0c4bea4ee0c692766bbd3570"}, - {file = "pyzmq-26.1.1-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:d0da97e65ee73261dba70469cc8f63d8da3a8a825337a2e3d246b9e95141cdd0"}, - {file = "pyzmq-26.1.1-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aa79c528706561306938b275f89bb2c6985ce08469c27e5de05bc680df5e826f"}, - {file = "pyzmq-26.1.1-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:3ddbd851a3a2651fdc5065a2804d50cf2f4b13b1bcd66de8e9e855d0217d4fcd"}, - {file = "pyzmq-26.1.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:d3df226ab7464684ae6706e20a5cbab717c3735a7e409b3fa598b754d49f1946"}, - {file = "pyzmq-26.1.1-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:abad7b897e960d577eb4a0f3f789c1780bc3ffe2e7c27cf317e7c90ad26acf12"}, - {file = "pyzmq-26.1.1-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:c513d829a548c2d5c88983167be2b3aa537f6d1191edcdc6fcd8999e18bdd994"}, - {file = "pyzmq-26.1.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:70af4c9c991714ef1c65957605a8de42ef0d0620dd5f125953c8e682281bdb80"}, - {file = "pyzmq-26.1.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:8d4234f335b0d0842f7d661d8cd50cbad0729be58f1c4deb85cd96b38fe95025"}, - {file = "pyzmq-26.1.1-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:2c0fdb7b758e0e1605157e480b00b3a599073068a37091a1c75ec65bf7498645"}, - {file = "pyzmq-26.1.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fc657577f057d60dd3642c9f95f28b432889b73143140061f7c1331d02f03df6"}, - {file = "pyzmq-26.1.1-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3e3b66fe6131b4f33d239f7d4c3bfb2f8532d8644bae3b3da4f3987073edac55"}, - {file = "pyzmq-26.1.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:59b57e912feef6951aec8bb03fe0faa5ad5f36962883c72a30a9c965e6d988fd"}, - {file = "pyzmq-26.1.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:146956aec7d947c5afc5e7da0841423d7a53f84fd160fff25e682361dcfb32cb"}, - {file = "pyzmq-26.1.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:9521b874fd489495865172f344e46e0159095d1f161858e3fc6e28e43ca15160"}, - {file = "pyzmq-26.1.1.tar.gz", hash = "sha256:a7db05d8b7cd1a8c6610e9e9aa55d525baae7a44a43e18bc3260eb3f92de96c6"}, + {file = "pyzmq-26.2.0-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:ddf33d97d2f52d89f6e6e7ae66ee35a4d9ca6f36eda89c24591b0c40205a3629"}, + {file = "pyzmq-26.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:dacd995031a01d16eec825bf30802fceb2c3791ef24bcce48fa98ce40918c27b"}, + {file = "pyzmq-26.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:89289a5ee32ef6c439086184529ae060c741334b8970a6855ec0b6ad3ff28764"}, + {file = "pyzmq-26.2.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5506f06d7dc6ecf1efacb4a013b1f05071bb24b76350832c96449f4a2d95091c"}, + {file = "pyzmq-26.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ea039387c10202ce304af74def5021e9adc6297067f3441d348d2b633e8166a"}, + {file = "pyzmq-26.2.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:a2224fa4a4c2ee872886ed00a571f5e967c85e078e8e8c2530a2fb01b3309b88"}, + {file = "pyzmq-26.2.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:28ad5233e9c3b52d76196c696e362508959741e1a005fb8fa03b51aea156088f"}, + {file = "pyzmq-26.2.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:1c17211bc037c7d88e85ed8b7d8f7e52db6dc8eca5590d162717c654550f7282"}, + {file = "pyzmq-26.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b8f86dd868d41bea9a5f873ee13bf5551c94cf6bc51baebc6f85075971fe6eea"}, + {file = "pyzmq-26.2.0-cp310-cp310-win32.whl", hash = "sha256:46a446c212e58456b23af260f3d9fb785054f3e3653dbf7279d8f2b5546b21c2"}, + {file = "pyzmq-26.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:49d34ab71db5a9c292a7644ce74190b1dd5a3475612eefb1f8be1d6961441971"}, + {file = "pyzmq-26.2.0-cp310-cp310-win_arm64.whl", hash = "sha256:bfa832bfa540e5b5c27dcf5de5d82ebc431b82c453a43d141afb1e5d2de025fa"}, + {file = "pyzmq-26.2.0-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:8f7e66c7113c684c2b3f1c83cdd3376103ee0ce4c49ff80a648643e57fb22218"}, + {file = "pyzmq-26.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3a495b30fc91db2db25120df5847d9833af237546fd59170701acd816ccc01c4"}, + {file = "pyzmq-26.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:77eb0968da535cba0470a5165468b2cac7772cfb569977cff92e240f57e31bef"}, + {file = "pyzmq-26.2.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ace4f71f1900a548f48407fc9be59c6ba9d9aaf658c2eea6cf2779e72f9f317"}, + {file = "pyzmq-26.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:92a78853d7280bffb93df0a4a6a2498cba10ee793cc8076ef797ef2f74d107cf"}, + {file = "pyzmq-26.2.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:689c5d781014956a4a6de61d74ba97b23547e431e9e7d64f27d4922ba96e9d6e"}, + {file = "pyzmq-26.2.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0aca98bc423eb7d153214b2df397c6421ba6373d3397b26c057af3c904452e37"}, + {file = "pyzmq-26.2.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:1f3496d76b89d9429a656293744ceca4d2ac2a10ae59b84c1da9b5165f429ad3"}, + {file = "pyzmq-26.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5c2b3bfd4b9689919db068ac6c9911f3fcb231c39f7dd30e3138be94896d18e6"}, + {file = "pyzmq-26.2.0-cp311-cp311-win32.whl", hash = "sha256:eac5174677da084abf378739dbf4ad245661635f1600edd1221f150b165343f4"}, + {file = "pyzmq-26.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:5a509df7d0a83a4b178d0f937ef14286659225ef4e8812e05580776c70e155d5"}, + {file = "pyzmq-26.2.0-cp311-cp311-win_arm64.whl", hash = "sha256:c0e6091b157d48cbe37bd67233318dbb53e1e6327d6fc3bb284afd585d141003"}, + {file = "pyzmq-26.2.0-cp312-cp312-macosx_10_15_universal2.whl", hash = "sha256:ded0fc7d90fe93ae0b18059930086c51e640cdd3baebdc783a695c77f123dcd9"}, + {file = "pyzmq-26.2.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:17bf5a931c7f6618023cdacc7081f3f266aecb68ca692adac015c383a134ca52"}, + {file = "pyzmq-26.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:55cf66647e49d4621a7e20c8d13511ef1fe1efbbccf670811864452487007e08"}, + {file = "pyzmq-26.2.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4661c88db4a9e0f958c8abc2b97472e23061f0bc737f6f6179d7a27024e1faa5"}, + {file = "pyzmq-26.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ea7f69de383cb47522c9c208aec6dd17697db7875a4674c4af3f8cfdac0bdeae"}, + {file = "pyzmq-26.2.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:7f98f6dfa8b8ccaf39163ce872bddacca38f6a67289116c8937a02e30bbe9711"}, + {file = "pyzmq-26.2.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:e3e0210287329272539eea617830a6a28161fbbd8a3271bf4150ae3e58c5d0e6"}, + {file = "pyzmq-26.2.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:6b274e0762c33c7471f1a7471d1a2085b1a35eba5cdc48d2ae319f28b6fc4de3"}, + {file = "pyzmq-26.2.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:29c6a4635eef69d68a00321e12a7d2559fe2dfccfa8efae3ffb8e91cd0b36a8b"}, + {file = "pyzmq-26.2.0-cp312-cp312-win32.whl", hash = "sha256:989d842dc06dc59feea09e58c74ca3e1678c812a4a8a2a419046d711031f69c7"}, + {file = "pyzmq-26.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:2a50625acdc7801bc6f74698c5c583a491c61d73c6b7ea4dee3901bb99adb27a"}, + {file = "pyzmq-26.2.0-cp312-cp312-win_arm64.whl", hash = "sha256:4d29ab8592b6ad12ebbf92ac2ed2bedcfd1cec192d8e559e2e099f648570e19b"}, + {file = "pyzmq-26.2.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:9dd8cd1aeb00775f527ec60022004d030ddc51d783d056e3e23e74e623e33726"}, + {file = "pyzmq-26.2.0-cp313-cp313-macosx_10_15_universal2.whl", hash = "sha256:28c812d9757fe8acecc910c9ac9dafd2ce968c00f9e619db09e9f8f54c3a68a3"}, + {file = "pyzmq-26.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4d80b1dd99c1942f74ed608ddb38b181b87476c6a966a88a950c7dee118fdf50"}, + {file = "pyzmq-26.2.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8c997098cc65e3208eca09303630e84d42718620e83b733d0fd69543a9cab9cb"}, + {file = "pyzmq-26.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ad1bc8d1b7a18497dda9600b12dc193c577beb391beae5cd2349184db40f187"}, + {file = "pyzmq-26.2.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:bea2acdd8ea4275e1278350ced63da0b166421928276c7c8e3f9729d7402a57b"}, + {file = "pyzmq-26.2.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:23f4aad749d13698f3f7b64aad34f5fc02d6f20f05999eebc96b89b01262fb18"}, + {file = "pyzmq-26.2.0-cp313-cp313-musllinux_1_1_i686.whl", hash = "sha256:a4f96f0d88accc3dbe4a9025f785ba830f968e21e3e2c6321ccdfc9aef755115"}, + {file = "pyzmq-26.2.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ced65e5a985398827cc9276b93ef6dfabe0273c23de8c7931339d7e141c2818e"}, + {file = "pyzmq-26.2.0-cp313-cp313-win32.whl", hash = "sha256:31507f7b47cc1ead1f6e86927f8ebb196a0bab043f6345ce070f412a59bf87b5"}, + {file = "pyzmq-26.2.0-cp313-cp313-win_amd64.whl", hash = "sha256:70fc7fcf0410d16ebdda9b26cbd8bf8d803d220a7f3522e060a69a9c87bf7bad"}, + {file = "pyzmq-26.2.0-cp313-cp313-win_arm64.whl", hash = "sha256:c3789bd5768ab5618ebf09cef6ec2b35fed88709b104351748a63045f0ff9797"}, + {file = "pyzmq-26.2.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:034da5fc55d9f8da09015d368f519478a52675e558c989bfcb5cf6d4e16a7d2a"}, + {file = "pyzmq-26.2.0-cp313-cp313t-macosx_10_15_universal2.whl", hash = "sha256:c92d73464b886931308ccc45b2744e5968cbaade0b1d6aeb40d8ab537765f5bc"}, + {file = "pyzmq-26.2.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:794a4562dcb374f7dbbfb3f51d28fb40123b5a2abadee7b4091f93054909add5"}, + {file = "pyzmq-26.2.0-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aee22939bb6075e7afededabad1a56a905da0b3c4e3e0c45e75810ebe3a52672"}, + {file = "pyzmq-26.2.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2ae90ff9dad33a1cfe947d2c40cb9cb5e600d759ac4f0fd22616ce6540f72797"}, + {file = "pyzmq-26.2.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:43a47408ac52647dfabbc66a25b05b6a61700b5165807e3fbd40063fcaf46386"}, + {file = "pyzmq-26.2.0-cp313-cp313t-musllinux_1_1_aarch64.whl", hash = "sha256:25bf2374a2a8433633c65ccb9553350d5e17e60c8eb4de4d92cc6bd60f01d306"}, + {file = "pyzmq-26.2.0-cp313-cp313t-musllinux_1_1_i686.whl", hash = "sha256:007137c9ac9ad5ea21e6ad97d3489af654381324d5d3ba614c323f60dab8fae6"}, + {file = "pyzmq-26.2.0-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:470d4a4f6d48fb34e92d768b4e8a5cc3780db0d69107abf1cd7ff734b9766eb0"}, + {file = "pyzmq-26.2.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:3b55a4229ce5da9497dd0452b914556ae58e96a4381bb6f59f1305dfd7e53fc8"}, + {file = "pyzmq-26.2.0-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:9cb3a6460cdea8fe8194a76de8895707e61ded10ad0be97188cc8463ffa7e3a8"}, + {file = "pyzmq-26.2.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:8ab5cad923cc95c87bffee098a27856c859bd5d0af31bd346035aa816b081fe1"}, + {file = "pyzmq-26.2.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9ed69074a610fad1c2fda66180e7b2edd4d31c53f2d1872bc2d1211563904cd9"}, + {file = "pyzmq-26.2.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:cccba051221b916a4f5e538997c45d7d136a5646442b1231b916d0164067ea27"}, + {file = "pyzmq-26.2.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:0eaa83fc4c1e271c24eaf8fb083cbccef8fde77ec8cd45f3c35a9a123e6da097"}, + {file = "pyzmq-26.2.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:9edda2df81daa129b25a39b86cb57dfdfe16f7ec15b42b19bfac503360d27a93"}, + {file = "pyzmq-26.2.0-cp37-cp37m-win32.whl", hash = "sha256:ea0eb6af8a17fa272f7b98d7bebfab7836a0d62738e16ba380f440fceca2d951"}, + {file = "pyzmq-26.2.0-cp37-cp37m-win_amd64.whl", hash = "sha256:4ff9dc6bc1664bb9eec25cd17506ef6672d506115095411e237d571e92a58231"}, + {file = "pyzmq-26.2.0-cp38-cp38-macosx_10_15_universal2.whl", hash = "sha256:2eb7735ee73ca1b0d71e0e67c3739c689067f055c764f73aac4cc8ecf958ee3f"}, + {file = "pyzmq-26.2.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1a534f43bc738181aa7cbbaf48e3eca62c76453a40a746ab95d4b27b1111a7d2"}, + {file = "pyzmq-26.2.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:aedd5dd8692635813368e558a05266b995d3d020b23e49581ddd5bbe197a8ab6"}, + {file = "pyzmq-26.2.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:8be4700cd8bb02cc454f630dcdf7cfa99de96788b80c51b60fe2fe1dac480289"}, + {file = "pyzmq-26.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fcc03fa4997c447dce58264e93b5aa2d57714fbe0f06c07b7785ae131512732"}, + {file = "pyzmq-26.2.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:402b190912935d3db15b03e8f7485812db350d271b284ded2b80d2e5704be780"}, + {file = "pyzmq-26.2.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:8685fa9c25ff00f550c1fec650430c4b71e4e48e8d852f7ddcf2e48308038640"}, + {file = "pyzmq-26.2.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:76589c020680778f06b7e0b193f4b6dd66d470234a16e1df90329f5e14a171cd"}, + {file = "pyzmq-26.2.0-cp38-cp38-win32.whl", hash = "sha256:8423c1877d72c041f2c263b1ec6e34360448decfb323fa8b94e85883043ef988"}, + {file = "pyzmq-26.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:76589f2cd6b77b5bdea4fca5992dc1c23389d68b18ccc26a53680ba2dc80ff2f"}, + {file = "pyzmq-26.2.0-cp39-cp39-macosx_10_15_universal2.whl", hash = "sha256:b1d464cb8d72bfc1a3adc53305a63a8e0cac6bc8c5a07e8ca190ab8d3faa43c2"}, + {file = "pyzmq-26.2.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4da04c48873a6abdd71811c5e163bd656ee1b957971db7f35140a2d573f6949c"}, + {file = "pyzmq-26.2.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:d049df610ac811dcffdc147153b414147428567fbbc8be43bb8885f04db39d98"}, + {file = "pyzmq-26.2.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:05590cdbc6b902101d0e65d6a4780af14dc22914cc6ab995d99b85af45362cc9"}, + {file = "pyzmq-26.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c811cfcd6a9bf680236c40c6f617187515269ab2912f3d7e8c0174898e2519db"}, + {file = "pyzmq-26.2.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:6835dd60355593de10350394242b5757fbbd88b25287314316f266e24c61d073"}, + {file = "pyzmq-26.2.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc6bee759a6bddea5db78d7dcd609397449cb2d2d6587f48f3ca613b19410cfc"}, + {file = "pyzmq-26.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c530e1eecd036ecc83c3407f77bb86feb79916d4a33d11394b8234f3bd35b940"}, + {file = "pyzmq-26.2.0-cp39-cp39-win32.whl", hash = "sha256:367b4f689786fca726ef7a6c5ba606958b145b9340a5e4808132cc65759abd44"}, + {file = "pyzmq-26.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:e6fa2e3e683f34aea77de8112f6483803c96a44fd726d7358b9888ae5bb394ec"}, + {file = "pyzmq-26.2.0-cp39-cp39-win_arm64.whl", hash = "sha256:7445be39143a8aa4faec43b076e06944b8f9d0701b669df4af200531b21e40bb"}, + {file = "pyzmq-26.2.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:706e794564bec25819d21a41c31d4df2d48e1cc4b061e8d345d7fb4dd3e94072"}, + {file = "pyzmq-26.2.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8b435f2753621cd36e7c1762156815e21c985c72b19135dac43a7f4f31d28dd1"}, + {file = "pyzmq-26.2.0-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:160c7e0a5eb178011e72892f99f918c04a131f36056d10d9c1afb223fc952c2d"}, + {file = "pyzmq-26.2.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2c4a71d5d6e7b28a47a394c0471b7e77a0661e2d651e7ae91e0cab0a587859ca"}, + {file = "pyzmq-26.2.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:90412f2db8c02a3864cbfc67db0e3dcdbda336acf1c469526d3e869394fe001c"}, + {file = "pyzmq-26.2.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:2ea4ad4e6a12e454de05f2949d4beddb52460f3de7c8b9d5c46fbb7d7222e02c"}, + {file = "pyzmq-26.2.0-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:fc4f7a173a5609631bb0c42c23d12c49df3966f89f496a51d3eb0ec81f4519d6"}, + {file = "pyzmq-26.2.0-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:878206a45202247781472a2d99df12a176fef806ca175799e1c6ad263510d57c"}, + {file = "pyzmq-26.2.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:17c412bad2eb9468e876f556eb4ee910e62d721d2c7a53c7fa31e643d35352e6"}, + {file = "pyzmq-26.2.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:0d987a3ae5a71c6226b203cfd298720e0086c7fe7c74f35fa8edddfbd6597eed"}, + {file = "pyzmq-26.2.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:39887ac397ff35b7b775db7201095fc6310a35fdbae85bac4523f7eb3b840e20"}, + {file = "pyzmq-26.2.0-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:fdb5b3e311d4d4b0eb8b3e8b4d1b0a512713ad7e6a68791d0923d1aec433d919"}, + {file = "pyzmq-26.2.0-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:226af7dcb51fdb0109f0016449b357e182ea0ceb6b47dfb5999d569e5db161d5"}, + {file = "pyzmq-26.2.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0bed0e799e6120b9c32756203fb9dfe8ca2fb8467fed830c34c877e25638c3fc"}, + {file = "pyzmq-26.2.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:29c7947c594e105cb9e6c466bace8532dc1ca02d498684128b339799f5248277"}, + {file = "pyzmq-26.2.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:cdeabcff45d1c219636ee2e54d852262e5c2e085d6cb476d938aee8d921356b3"}, + {file = "pyzmq-26.2.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:35cffef589bcdc587d06f9149f8d5e9e8859920a071df5a2671de2213bef592a"}, + {file = "pyzmq-26.2.0-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:18c8dc3b7468d8b4bdf60ce9d7141897da103c7a4690157b32b60acb45e333e6"}, + {file = "pyzmq-26.2.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7133d0a1677aec369d67dd78520d3fa96dd7f3dcec99d66c1762870e5ea1a50a"}, + {file = "pyzmq-26.2.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:6a96179a24b14fa6428cbfc08641c779a53f8fcec43644030328f44034c7f1f4"}, + {file = "pyzmq-26.2.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:4f78c88905461a9203eac9faac157a2a0dbba84a0fd09fd29315db27be40af9f"}, + {file = "pyzmq-26.2.0.tar.gz", hash = "sha256:070672c258581c8e4f640b5159297580a9974b026043bd4ab0470be9ed324f1f"}, ] [package.dependencies] @@ -3185,13 +3189,13 @@ files = [ [[package]] name = "types-python-dateutil" -version = "2.9.0.20240316" +version = "2.9.0.20240821" description = "Typing stubs for python-dateutil" optional = false python-versions = ">=3.8" files = [ - {file = "types-python-dateutil-2.9.0.20240316.tar.gz", hash = "sha256:5d2f2e240b86905e40944dd787db6da9263f0deabef1076ddaed797351ec0202"}, - {file = "types_python_dateutil-2.9.0.20240316-py3-none-any.whl", hash = "sha256:6b8cb66d960771ce5ff974e9dd45e38facb81718cc1e208b10b1baccbfdbee3b"}, + {file = "types-python-dateutil-2.9.0.20240821.tar.gz", hash = "sha256:9649d1dcb6fef1046fb18bebe9ea2aa0028b160918518c34589a46045f6ebd98"}, + {file = "types_python_dateutil-2.9.0.20240821-py3-none-any.whl", hash = "sha256:f5889fcb4e63ed4aaa379b44f93c32593d50b9a94c9a60a0c854d8cc3511cd57"}, ] [[package]] diff --git a/sdks/ts/src/api/index.ts b/sdks/ts/src/api/index.ts index 851e723b0..68ee1dd75 100644 --- a/sdks/ts/src/api/index.ts +++ b/sdks/ts/src/api/index.ts @@ -98,43 +98,28 @@ export type { Tasks_CaseThen } from "./models/Tasks_CaseThen"; export type { Tasks_CreateOrUpdateTaskRequest_id } from "./models/Tasks_CreateOrUpdateTaskRequest_id"; export type { Tasks_CreateTaskRequest } from "./models/Tasks_CreateTaskRequest"; export type { Tasks_EmbedStep } from "./models/Tasks_EmbedStep"; -export type { Tasks_EmbedStepDef } from "./models/Tasks_EmbedStepDef"; export type { Tasks_ErrorWorkflowStep } from "./models/Tasks_ErrorWorkflowStep"; export type { Tasks_EvaluateStep } from "./models/Tasks_EvaluateStep"; -export type { Tasks_EvaluateStepDef } from "./models/Tasks_EvaluateStepDef"; export type { Tasks_ForeachDo } from "./models/Tasks_ForeachDo"; export type { Tasks_ForeachStep } from "./models/Tasks_ForeachStep"; export type { Tasks_GetStep } from "./models/Tasks_GetStep"; -export type { Tasks_GetStepDef } from "./models/Tasks_GetStepDef"; export type { Tasks_IfElseWorkflowStep } from "./models/Tasks_IfElseWorkflowStep"; export type { Tasks_LogStep } from "./models/Tasks_LogStep"; -export type { Tasks_LogStepDef } from "./models/Tasks_LogStepDef"; -export type { Tasks_MapOverEmbed } from "./models/Tasks_MapOverEmbed"; -export type { Tasks_MapOverEvaluate } from "./models/Tasks_MapOverEvaluate"; -export type { Tasks_MapOverGet } from "./models/Tasks_MapOverGet"; -export type { Tasks_MapOverLog } from "./models/Tasks_MapOverLog"; -export type { Tasks_MapOverPrompt } from "./models/Tasks_MapOverPrompt"; -export type { Tasks_MapOverSearch } from "./models/Tasks_MapOverSearch"; -export type { Tasks_MapOverSet } from "./models/Tasks_MapOverSet"; -export type { Tasks_MapOverToolCall } from "./models/Tasks_MapOverToolCall"; export type { Tasks_ParallelStep } from "./models/Tasks_ParallelStep"; export type { Tasks_PatchTaskRequest } from "./models/Tasks_PatchTaskRequest"; export type { Tasks_PromptStep } from "./models/Tasks_PromptStep"; -export type { Tasks_PromptStepDef } from "./models/Tasks_PromptStepDef"; export type { Tasks_ReturnStep } from "./models/Tasks_ReturnStep"; export type { Tasks_SearchStep } from "./models/Tasks_SearchStep"; -export type { Tasks_SearchStepDef } from "./models/Tasks_SearchStepDef"; export type { Tasks_SetKey } from "./models/Tasks_SetKey"; export type { Tasks_SetStep } from "./models/Tasks_SetStep"; -export type { Tasks_SetStepDef } from "./models/Tasks_SetStepDef"; export type { Tasks_SleepFor } from "./models/Tasks_SleepFor"; export type { Tasks_SleepStep } from "./models/Tasks_SleepStep"; export type { Tasks_SwitchStep } from "./models/Tasks_SwitchStep"; export type { Tasks_Task } from "./models/Tasks_Task"; export type { Tasks_TaskTool } from "./models/Tasks_TaskTool"; export type { Tasks_ToolCallStep } from "./models/Tasks_ToolCallStep"; -export type { Tasks_ToolCallStepDef } from "./models/Tasks_ToolCallStepDef"; export type { Tasks_UpdateTaskRequest } from "./models/Tasks_UpdateTaskRequest"; +export type { Tasks_WaitForInputInfo } from "./models/Tasks_WaitForInputInfo"; export type { Tasks_WaitForInputStep } from "./models/Tasks_WaitForInputStep"; export type { Tasks_YieldStep } from "./models/Tasks_YieldStep"; export type { Tools_ChosenFunctionCall } from "./models/Tools_ChosenFunctionCall"; @@ -245,43 +230,28 @@ export { $Tasks_CaseThen } from "./schemas/$Tasks_CaseThen"; export { $Tasks_CreateOrUpdateTaskRequest_id } from "./schemas/$Tasks_CreateOrUpdateTaskRequest_id"; export { $Tasks_CreateTaskRequest } from "./schemas/$Tasks_CreateTaskRequest"; export { $Tasks_EmbedStep } from "./schemas/$Tasks_EmbedStep"; -export { $Tasks_EmbedStepDef } from "./schemas/$Tasks_EmbedStepDef"; export { $Tasks_ErrorWorkflowStep } from "./schemas/$Tasks_ErrorWorkflowStep"; export { $Tasks_EvaluateStep } from "./schemas/$Tasks_EvaluateStep"; -export { $Tasks_EvaluateStepDef } from "./schemas/$Tasks_EvaluateStepDef"; export { $Tasks_ForeachDo } from "./schemas/$Tasks_ForeachDo"; export { $Tasks_ForeachStep } from "./schemas/$Tasks_ForeachStep"; export { $Tasks_GetStep } from "./schemas/$Tasks_GetStep"; -export { $Tasks_GetStepDef } from "./schemas/$Tasks_GetStepDef"; export { $Tasks_IfElseWorkflowStep } from "./schemas/$Tasks_IfElseWorkflowStep"; export { $Tasks_LogStep } from "./schemas/$Tasks_LogStep"; -export { $Tasks_LogStepDef } from "./schemas/$Tasks_LogStepDef"; -export { $Tasks_MapOverEmbed } from "./schemas/$Tasks_MapOverEmbed"; -export { $Tasks_MapOverEvaluate } from "./schemas/$Tasks_MapOverEvaluate"; -export { $Tasks_MapOverGet } from "./schemas/$Tasks_MapOverGet"; -export { $Tasks_MapOverLog } from "./schemas/$Tasks_MapOverLog"; -export { $Tasks_MapOverPrompt } from "./schemas/$Tasks_MapOverPrompt"; -export { $Tasks_MapOverSearch } from "./schemas/$Tasks_MapOverSearch"; -export { $Tasks_MapOverSet } from "./schemas/$Tasks_MapOverSet"; -export { $Tasks_MapOverToolCall } from "./schemas/$Tasks_MapOverToolCall"; export { $Tasks_ParallelStep } from "./schemas/$Tasks_ParallelStep"; export { $Tasks_PatchTaskRequest } from "./schemas/$Tasks_PatchTaskRequest"; export { $Tasks_PromptStep } from "./schemas/$Tasks_PromptStep"; -export { $Tasks_PromptStepDef } from "./schemas/$Tasks_PromptStepDef"; export { $Tasks_ReturnStep } from "./schemas/$Tasks_ReturnStep"; export { $Tasks_SearchStep } from "./schemas/$Tasks_SearchStep"; -export { $Tasks_SearchStepDef } from "./schemas/$Tasks_SearchStepDef"; export { $Tasks_SetKey } from "./schemas/$Tasks_SetKey"; export { $Tasks_SetStep } from "./schemas/$Tasks_SetStep"; -export { $Tasks_SetStepDef } from "./schemas/$Tasks_SetStepDef"; export { $Tasks_SleepFor } from "./schemas/$Tasks_SleepFor"; export { $Tasks_SleepStep } from "./schemas/$Tasks_SleepStep"; export { $Tasks_SwitchStep } from "./schemas/$Tasks_SwitchStep"; export { $Tasks_Task } from "./schemas/$Tasks_Task"; export { $Tasks_TaskTool } from "./schemas/$Tasks_TaskTool"; export { $Tasks_ToolCallStep } from "./schemas/$Tasks_ToolCallStep"; -export { $Tasks_ToolCallStepDef } from "./schemas/$Tasks_ToolCallStepDef"; export { $Tasks_UpdateTaskRequest } from "./schemas/$Tasks_UpdateTaskRequest"; +export { $Tasks_WaitForInputInfo } from "./schemas/$Tasks_WaitForInputInfo"; export { $Tasks_WaitForInputStep } from "./schemas/$Tasks_WaitForInputStep"; export { $Tasks_YieldStep } from "./schemas/$Tasks_YieldStep"; export { $Tools_ChosenFunctionCall } from "./schemas/$Tools_ChosenFunctionCall"; diff --git a/sdks/ts/src/api/models/Executions_Transition.ts b/sdks/ts/src/api/models/Executions_Transition.ts index 8e8ae1f90..7d1194a03 100644 --- a/sdks/ts/src/api/models/Executions_Transition.ts +++ b/sdks/ts/src/api/models/Executions_Transition.ts @@ -7,7 +7,7 @@ import type { Executions_TransitionTarget } from "./Executions_TransitionTarget" export type Executions_Transition = { readonly type: "finish" | "wait" | "resume" | "error" | "step" | "cancelled"; readonly execution_id: Common_uuid; - readonly output: Record; + readonly output: any; readonly current: Executions_TransitionTarget; readonly next: Executions_TransitionTarget | null; readonly id: Common_uuid; diff --git a/sdks/ts/src/api/models/Tasks_CreateTaskRequest.ts b/sdks/ts/src/api/models/Tasks_CreateTaskRequest.ts index 6be4bf7a8..9590b4304 100644 --- a/sdks/ts/src/api/models/Tasks_CreateTaskRequest.ts +++ b/sdks/ts/src/api/models/Tasks_CreateTaskRequest.ts @@ -10,14 +10,6 @@ import type { Tasks_ForeachStep } from "./Tasks_ForeachStep"; import type { Tasks_GetStep } from "./Tasks_GetStep"; import type { Tasks_IfElseWorkflowStep } from "./Tasks_IfElseWorkflowStep"; import type { Tasks_LogStep } from "./Tasks_LogStep"; -import type { Tasks_MapOverEmbed } from "./Tasks_MapOverEmbed"; -import type { Tasks_MapOverEvaluate } from "./Tasks_MapOverEvaluate"; -import type { Tasks_MapOverGet } from "./Tasks_MapOverGet"; -import type { Tasks_MapOverLog } from "./Tasks_MapOverLog"; -import type { Tasks_MapOverPrompt } from "./Tasks_MapOverPrompt"; -import type { Tasks_MapOverSearch } from "./Tasks_MapOverSearch"; -import type { Tasks_MapOverSet } from "./Tasks_MapOverSet"; -import type { Tasks_MapOverToolCall } from "./Tasks_MapOverToolCall"; import type { Tasks_ParallelStep } from "./Tasks_ParallelStep"; import type { Tasks_PromptStep } from "./Tasks_PromptStep"; import type { Tasks_ReturnStep } from "./Tasks_ReturnStep"; @@ -58,25 +50,29 @@ export type Tasks_CreateTaskRequest = Record< readonly kind_: "map_reduce"; } & { readonly kind_: "map_reduce"; + /** + * The variable to iterate over + */ + over: Common_PyExpression; /** * The steps to run for each iteration */ map: - | Tasks_MapOverEvaluate - | Tasks_MapOverToolCall - | Tasks_MapOverPrompt - | Tasks_MapOverGet - | Tasks_MapOverSet - | Tasks_MapOverLog - | Tasks_MapOverEmbed - | Tasks_MapOverSearch; + | Tasks_EvaluateStep + | Tasks_ToolCallStep + | Tasks_PromptStep + | Tasks_GetStep + | Tasks_SetStep + | Tasks_LogStep + | Tasks_EmbedStep + | Tasks_SearchStep; /** * The expression to reduce the results. * If not provided, the results are collected and returned as a list. * A special parameter named `results` is the accumulator and `_` is the current value. */ reduce?: Common_PyExpression; - initial?: Common_PyExpression; + initial?: any; }) > >; diff --git a/sdks/ts/src/api/models/Tasks_EmbedStepDef.ts b/sdks/ts/src/api/models/Tasks_EmbedStepDef.ts deleted file mode 100644 index 409d61a98..000000000 --- a/sdks/ts/src/api/models/Tasks_EmbedStepDef.ts +++ /dev/null @@ -1,11 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { Docs_EmbedQueryRequest } from "./Docs_EmbedQueryRequest"; -export type Tasks_EmbedStepDef = { - /** - * The text to embed - */ - embed: Docs_EmbedQueryRequest; -}; diff --git a/sdks/ts/src/api/models/Tasks_EvaluateStepDef.ts b/sdks/ts/src/api/models/Tasks_EvaluateStepDef.ts deleted file mode 100644 index 21621bde3..000000000 --- a/sdks/ts/src/api/models/Tasks_EvaluateStepDef.ts +++ /dev/null @@ -1,11 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { Common_PyExpression } from "./Common_PyExpression"; -export type Tasks_EvaluateStepDef = { - /** - * The expression to evaluate - */ - evaluate: Record; -}; diff --git a/sdks/ts/src/api/models/Tasks_GetStepDef.ts b/sdks/ts/src/api/models/Tasks_GetStepDef.ts deleted file mode 100644 index 4fe0a6dd8..000000000 --- a/sdks/ts/src/api/models/Tasks_GetStepDef.ts +++ /dev/null @@ -1,10 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export type Tasks_GetStepDef = { - /** - * The key to get - */ - get: string; -}; diff --git a/sdks/ts/src/api/models/Tasks_MapOverEmbed.ts b/sdks/ts/src/api/models/Tasks_MapOverEmbed.ts deleted file mode 100644 index 7e0efd38e..000000000 --- a/sdks/ts/src/api/models/Tasks_MapOverEmbed.ts +++ /dev/null @@ -1,12 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { Common_PyExpression } from "./Common_PyExpression"; -import type { Tasks_EmbedStepDef } from "./Tasks_EmbedStepDef"; -export type Tasks_MapOverEmbed = Tasks_EmbedStepDef & { - /** - * The variable to iterate over - */ - over: Common_PyExpression; -}; diff --git a/sdks/ts/src/api/models/Tasks_MapOverEvaluate.ts b/sdks/ts/src/api/models/Tasks_MapOverEvaluate.ts deleted file mode 100644 index 42d070eb3..000000000 --- a/sdks/ts/src/api/models/Tasks_MapOverEvaluate.ts +++ /dev/null @@ -1,12 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { Common_PyExpression } from "./Common_PyExpression"; -import type { Tasks_EvaluateStepDef } from "./Tasks_EvaluateStepDef"; -export type Tasks_MapOverEvaluate = Tasks_EvaluateStepDef & { - /** - * The variable to iterate over - */ - over: Common_PyExpression; -}; diff --git a/sdks/ts/src/api/models/Tasks_MapOverGet.ts b/sdks/ts/src/api/models/Tasks_MapOverGet.ts deleted file mode 100644 index e0bbf048a..000000000 --- a/sdks/ts/src/api/models/Tasks_MapOverGet.ts +++ /dev/null @@ -1,12 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { Common_PyExpression } from "./Common_PyExpression"; -import type { Tasks_GetStepDef } from "./Tasks_GetStepDef"; -export type Tasks_MapOverGet = Tasks_GetStepDef & { - /** - * The variable to iterate over - */ - over: Common_PyExpression; -}; diff --git a/sdks/ts/src/api/models/Tasks_MapOverLog.ts b/sdks/ts/src/api/models/Tasks_MapOverLog.ts deleted file mode 100644 index 1b1c91801..000000000 --- a/sdks/ts/src/api/models/Tasks_MapOverLog.ts +++ /dev/null @@ -1,12 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { Common_PyExpression } from "./Common_PyExpression"; -import type { Tasks_LogStepDef } from "./Tasks_LogStepDef"; -export type Tasks_MapOverLog = Tasks_LogStepDef & { - /** - * The variable to iterate over - */ - over: Common_PyExpression; -}; diff --git a/sdks/ts/src/api/models/Tasks_MapOverPrompt.ts b/sdks/ts/src/api/models/Tasks_MapOverPrompt.ts deleted file mode 100644 index ec6d1016e..000000000 --- a/sdks/ts/src/api/models/Tasks_MapOverPrompt.ts +++ /dev/null @@ -1,12 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { Common_PyExpression } from "./Common_PyExpression"; -import type { Tasks_PromptStepDef } from "./Tasks_PromptStepDef"; -export type Tasks_MapOverPrompt = Tasks_PromptStepDef & { - /** - * The variable to iterate over - */ - over: Common_PyExpression; -}; diff --git a/sdks/ts/src/api/models/Tasks_MapOverSearch.ts b/sdks/ts/src/api/models/Tasks_MapOverSearch.ts deleted file mode 100644 index 272e9eeea..000000000 --- a/sdks/ts/src/api/models/Tasks_MapOverSearch.ts +++ /dev/null @@ -1,12 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { Common_PyExpression } from "./Common_PyExpression"; -import type { Tasks_SearchStepDef } from "./Tasks_SearchStepDef"; -export type Tasks_MapOverSearch = Tasks_SearchStepDef & { - /** - * The variable to iterate over - */ - over: Common_PyExpression; -}; diff --git a/sdks/ts/src/api/models/Tasks_MapOverSet.ts b/sdks/ts/src/api/models/Tasks_MapOverSet.ts deleted file mode 100644 index 78b06414c..000000000 --- a/sdks/ts/src/api/models/Tasks_MapOverSet.ts +++ /dev/null @@ -1,12 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { Common_PyExpression } from "./Common_PyExpression"; -import type { Tasks_SetStepDef } from "./Tasks_SetStepDef"; -export type Tasks_MapOverSet = Tasks_SetStepDef & { - /** - * The variable to iterate over - */ - over: Common_PyExpression; -}; diff --git a/sdks/ts/src/api/models/Tasks_MapOverToolCall.ts b/sdks/ts/src/api/models/Tasks_MapOverToolCall.ts deleted file mode 100644 index b7040f0b7..000000000 --- a/sdks/ts/src/api/models/Tasks_MapOverToolCall.ts +++ /dev/null @@ -1,12 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { Common_PyExpression } from "./Common_PyExpression"; -import type { Tasks_ToolCallStepDef } from "./Tasks_ToolCallStepDef"; -export type Tasks_MapOverToolCall = Tasks_ToolCallStepDef & { - /** - * The variable to iterate over - */ - over: Common_PyExpression; -}; diff --git a/sdks/ts/src/api/models/Tasks_PatchTaskRequest.ts b/sdks/ts/src/api/models/Tasks_PatchTaskRequest.ts index 28866dbb8..e511be553 100644 --- a/sdks/ts/src/api/models/Tasks_PatchTaskRequest.ts +++ b/sdks/ts/src/api/models/Tasks_PatchTaskRequest.ts @@ -10,14 +10,6 @@ import type { Tasks_ForeachStep } from "./Tasks_ForeachStep"; import type { Tasks_GetStep } from "./Tasks_GetStep"; import type { Tasks_IfElseWorkflowStep } from "./Tasks_IfElseWorkflowStep"; import type { Tasks_LogStep } from "./Tasks_LogStep"; -import type { Tasks_MapOverEmbed } from "./Tasks_MapOverEmbed"; -import type { Tasks_MapOverEvaluate } from "./Tasks_MapOverEvaluate"; -import type { Tasks_MapOverGet } from "./Tasks_MapOverGet"; -import type { Tasks_MapOverLog } from "./Tasks_MapOverLog"; -import type { Tasks_MapOverPrompt } from "./Tasks_MapOverPrompt"; -import type { Tasks_MapOverSearch } from "./Tasks_MapOverSearch"; -import type { Tasks_MapOverSet } from "./Tasks_MapOverSet"; -import type { Tasks_MapOverToolCall } from "./Tasks_MapOverToolCall"; import type { Tasks_ParallelStep } from "./Tasks_ParallelStep"; import type { Tasks_PromptStep } from "./Tasks_PromptStep"; import type { Tasks_ReturnStep } from "./Tasks_ReturnStep"; @@ -57,25 +49,29 @@ export type Tasks_PatchTaskRequest = Record< */ kind_?: string; } & { + /** + * The variable to iterate over + */ + over: Common_PyExpression; /** * The steps to run for each iteration */ map: - | Tasks_MapOverEvaluate - | Tasks_MapOverToolCall - | Tasks_MapOverPrompt - | Tasks_MapOverGet - | Tasks_MapOverSet - | Tasks_MapOverLog - | Tasks_MapOverEmbed - | Tasks_MapOverSearch; + | Tasks_EvaluateStep + | Tasks_ToolCallStep + | Tasks_PromptStep + | Tasks_GetStep + | Tasks_SetStep + | Tasks_LogStep + | Tasks_EmbedStep + | Tasks_SearchStep; /** * The expression to reduce the results. * If not provided, the results are collected and returned as a list. * A special parameter named `results` is the accumulator and `_` is the current value. */ reduce?: Common_PyExpression; - initial?: Common_PyExpression; + initial?: any; }) > >; diff --git a/sdks/ts/src/api/models/Tasks_PromptStepDef.ts b/sdks/ts/src/api/models/Tasks_PromptStepDef.ts deleted file mode 100644 index fb21d106f..000000000 --- a/sdks/ts/src/api/models/Tasks_PromptStepDef.ts +++ /dev/null @@ -1,16 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { Chat_ChatSettings } from "./Chat_ChatSettings"; -import type { Common_JinjaTemplate } from "./Common_JinjaTemplate"; -export type Tasks_PromptStepDef = { - /** - * The prompt to run - */ - prompt: Common_JinjaTemplate; - /** - * Settings for the prompt - */ - settings: Chat_ChatSettings; -}; diff --git a/sdks/ts/src/api/models/Tasks_SearchStepDef.ts b/sdks/ts/src/api/models/Tasks_SearchStepDef.ts deleted file mode 100644 index 3daedd7af..000000000 --- a/sdks/ts/src/api/models/Tasks_SearchStepDef.ts +++ /dev/null @@ -1,16 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { Docs_HybridDocSearchRequest } from "./Docs_HybridDocSearchRequest"; -import type { Docs_TextOnlyDocSearchRequest } from "./Docs_TextOnlyDocSearchRequest"; -import type { Docs_VectorDocSearchRequest } from "./Docs_VectorDocSearchRequest"; -export type Tasks_SearchStepDef = { - /** - * The search query - */ - search: - | Docs_VectorDocSearchRequest - | Docs_TextOnlyDocSearchRequest - | Docs_HybridDocSearchRequest; -}; diff --git a/sdks/ts/src/api/models/Tasks_SetStepDef.ts b/sdks/ts/src/api/models/Tasks_SetStepDef.ts deleted file mode 100644 index 41e81c59d..000000000 --- a/sdks/ts/src/api/models/Tasks_SetStepDef.ts +++ /dev/null @@ -1,11 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { Tasks_SetKey } from "./Tasks_SetKey"; -export type Tasks_SetStepDef = { - /** - * The value to set - */ - set: Tasks_SetKey; -}; diff --git a/sdks/ts/src/api/models/Tasks_Task.ts b/sdks/ts/src/api/models/Tasks_Task.ts index 97a3a3b97..e155187ae 100644 --- a/sdks/ts/src/api/models/Tasks_Task.ts +++ b/sdks/ts/src/api/models/Tasks_Task.ts @@ -10,14 +10,6 @@ import type { Tasks_ForeachStep } from "./Tasks_ForeachStep"; import type { Tasks_GetStep } from "./Tasks_GetStep"; import type { Tasks_IfElseWorkflowStep } from "./Tasks_IfElseWorkflowStep"; import type { Tasks_LogStep } from "./Tasks_LogStep"; -import type { Tasks_MapOverEmbed } from "./Tasks_MapOverEmbed"; -import type { Tasks_MapOverEvaluate } from "./Tasks_MapOverEvaluate"; -import type { Tasks_MapOverGet } from "./Tasks_MapOverGet"; -import type { Tasks_MapOverLog } from "./Tasks_MapOverLog"; -import type { Tasks_MapOverPrompt } from "./Tasks_MapOverPrompt"; -import type { Tasks_MapOverSearch } from "./Tasks_MapOverSearch"; -import type { Tasks_MapOverSet } from "./Tasks_MapOverSet"; -import type { Tasks_MapOverToolCall } from "./Tasks_MapOverToolCall"; import type { Tasks_ParallelStep } from "./Tasks_ParallelStep"; import type { Tasks_PromptStep } from "./Tasks_PromptStep"; import type { Tasks_ReturnStep } from "./Tasks_ReturnStep"; @@ -58,25 +50,29 @@ export type Tasks_Task = Record< readonly kind_: "map_reduce"; } & { readonly kind_: "map_reduce"; + /** + * The variable to iterate over + */ + over: Common_PyExpression; /** * The steps to run for each iteration */ map: - | Tasks_MapOverEvaluate - | Tasks_MapOverToolCall - | Tasks_MapOverPrompt - | Tasks_MapOverGet - | Tasks_MapOverSet - | Tasks_MapOverLog - | Tasks_MapOverEmbed - | Tasks_MapOverSearch; + | Tasks_EvaluateStep + | Tasks_ToolCallStep + | Tasks_PromptStep + | Tasks_GetStep + | Tasks_SetStep + | Tasks_LogStep + | Tasks_EmbedStep + | Tasks_SearchStep; /** * The expression to reduce the results. * If not provided, the results are collected and returned as a list. * A special parameter named `results` is the accumulator and `_` is the current value. */ reduce?: Common_PyExpression; - initial?: Common_PyExpression; + initial?: any; }) > >; diff --git a/sdks/ts/src/api/models/Tasks_ToolCallStepDef.ts b/sdks/ts/src/api/models/Tasks_ToolCallStepDef.ts deleted file mode 100644 index 106293d20..000000000 --- a/sdks/ts/src/api/models/Tasks_ToolCallStepDef.ts +++ /dev/null @@ -1,16 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -import type { Common_PyExpression } from "./Common_PyExpression"; -import type { Common_toolRef } from "./Common_toolRef"; -export type Tasks_ToolCallStepDef = { - /** - * The tool to run - */ - tool: Common_toolRef; - /** - * The input parameters for the tool (defaults to last step output) - */ - arguments: Record | "_"; -}; diff --git a/sdks/ts/src/api/models/Tasks_UpdateTaskRequest.ts b/sdks/ts/src/api/models/Tasks_UpdateTaskRequest.ts index 06e50f5c8..8f3afc2c0 100644 --- a/sdks/ts/src/api/models/Tasks_UpdateTaskRequest.ts +++ b/sdks/ts/src/api/models/Tasks_UpdateTaskRequest.ts @@ -10,14 +10,6 @@ import type { Tasks_ForeachStep } from "./Tasks_ForeachStep"; import type { Tasks_GetStep } from "./Tasks_GetStep"; import type { Tasks_IfElseWorkflowStep } from "./Tasks_IfElseWorkflowStep"; import type { Tasks_LogStep } from "./Tasks_LogStep"; -import type { Tasks_MapOverEmbed } from "./Tasks_MapOverEmbed"; -import type { Tasks_MapOverEvaluate } from "./Tasks_MapOverEvaluate"; -import type { Tasks_MapOverGet } from "./Tasks_MapOverGet"; -import type { Tasks_MapOverLog } from "./Tasks_MapOverLog"; -import type { Tasks_MapOverPrompt } from "./Tasks_MapOverPrompt"; -import type { Tasks_MapOverSearch } from "./Tasks_MapOverSearch"; -import type { Tasks_MapOverSet } from "./Tasks_MapOverSet"; -import type { Tasks_MapOverToolCall } from "./Tasks_MapOverToolCall"; import type { Tasks_ParallelStep } from "./Tasks_ParallelStep"; import type { Tasks_PromptStep } from "./Tasks_PromptStep"; import type { Tasks_ReturnStep } from "./Tasks_ReturnStep"; @@ -58,25 +50,29 @@ export type Tasks_UpdateTaskRequest = Record< readonly kind_: "map_reduce"; } & { readonly kind_: "map_reduce"; + /** + * The variable to iterate over + */ + over: Common_PyExpression; /** * The steps to run for each iteration */ map: - | Tasks_MapOverEvaluate - | Tasks_MapOverToolCall - | Tasks_MapOverPrompt - | Tasks_MapOverGet - | Tasks_MapOverSet - | Tasks_MapOverLog - | Tasks_MapOverEmbed - | Tasks_MapOverSearch; + | Tasks_EvaluateStep + | Tasks_ToolCallStep + | Tasks_PromptStep + | Tasks_GetStep + | Tasks_SetStep + | Tasks_LogStep + | Tasks_EmbedStep + | Tasks_SearchStep; /** * The expression to reduce the results. * If not provided, the results are collected and returned as a list. * A special parameter named `results` is the accumulator and `_` is the current value. */ reduce?: Common_PyExpression; - initial?: Common_PyExpression; + initial?: any; }) > >; diff --git a/sdks/ts/src/api/models/Tasks_LogStepDef.ts b/sdks/ts/src/api/models/Tasks_WaitForInputInfo.ts similarity index 64% rename from sdks/ts/src/api/models/Tasks_LogStepDef.ts rename to sdks/ts/src/api/models/Tasks_WaitForInputInfo.ts index a672c06b7..adef0d462 100644 --- a/sdks/ts/src/api/models/Tasks_LogStepDef.ts +++ b/sdks/ts/src/api/models/Tasks_WaitForInputInfo.ts @@ -3,9 +3,9 @@ /* tslint:disable */ /* eslint-disable */ import type { Common_PyExpression } from "./Common_PyExpression"; -export type Tasks_LogStepDef = { +export type Tasks_WaitForInputInfo = { /** - * The value to log + * Any additional info or data */ - log: Common_PyExpression; + info: Record; }; diff --git a/sdks/ts/src/api/models/Tasks_WaitForInputStep.ts b/sdks/ts/src/api/models/Tasks_WaitForInputStep.ts index 246d68813..d7b537ea3 100644 --- a/sdks/ts/src/api/models/Tasks_WaitForInputStep.ts +++ b/sdks/ts/src/api/models/Tasks_WaitForInputStep.ts @@ -2,7 +2,7 @@ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -import type { Common_PyExpression } from "./Common_PyExpression"; +import type { Tasks_WaitForInputInfo } from "./Tasks_WaitForInputInfo"; export type Tasks_WaitForInputStep = { /** * The kind of step @@ -13,5 +13,5 @@ export type Tasks_WaitForInputStep = { /** * Any additional info or data */ - wait_for_input: Record; + wait_for_input: Tasks_WaitForInputInfo; }; diff --git a/sdks/ts/src/api/schemas/$Executions_Transition.ts b/sdks/ts/src/api/schemas/$Executions_Transition.ts index e427b3c24..45731aff9 100644 --- a/sdks/ts/src/api/schemas/$Executions_Transition.ts +++ b/sdks/ts/src/api/schemas/$Executions_Transition.ts @@ -20,10 +20,7 @@ export const $Executions_Transition = { isRequired: true, }, output: { - type: "dictionary", - contains: { - properties: {}, - }, + properties: {}, isReadOnly: true, isRequired: true, }, diff --git a/sdks/ts/src/api/schemas/$Tasks_CreateTaskRequest.ts b/sdks/ts/src/api/schemas/$Tasks_CreateTaskRequest.ts index 06002e838..882c1cf13 100644 --- a/sdks/ts/src/api/schemas/$Tasks_CreateTaskRequest.ts +++ b/sdks/ts/src/api/schemas/$Tasks_CreateTaskRequest.ts @@ -79,33 +79,43 @@ export const $Tasks_CreateTaskRequest = { isReadOnly: true, isRequired: true, }, + over: { + type: "all-of", + description: `The variable to iterate over`, + contains: [ + { + type: "Common_PyExpression", + }, + ], + isRequired: true, + }, map: { type: "any-of", description: `The steps to run for each iteration`, contains: [ { - type: "Tasks_MapOverEvaluate", + type: "Tasks_EvaluateStep", }, { - type: "Tasks_MapOverToolCall", + type: "Tasks_ToolCallStep", }, { - type: "Tasks_MapOverPrompt", + type: "Tasks_PromptStep", }, { - type: "Tasks_MapOverGet", + type: "Tasks_GetStep", }, { - type: "Tasks_MapOverSet", + type: "Tasks_SetStep", }, { - type: "Tasks_MapOverLog", + type: "Tasks_LogStep", }, { - type: "Tasks_MapOverEmbed", + type: "Tasks_EmbedStep", }, { - type: "Tasks_MapOverSearch", + type: "Tasks_SearchStep", }, ], isRequired: true, @@ -122,12 +132,7 @@ export const $Tasks_CreateTaskRequest = { ], }, initial: { - type: "all-of", - contains: [ - { - type: "Common_PyExpression", - }, - ], + properties: {}, }, }, }, diff --git a/sdks/ts/src/api/schemas/$Tasks_EmbedStepDef.ts b/sdks/ts/src/api/schemas/$Tasks_EmbedStepDef.ts deleted file mode 100644 index 865826f90..000000000 --- a/sdks/ts/src/api/schemas/$Tasks_EmbedStepDef.ts +++ /dev/null @@ -1,18 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $Tasks_EmbedStepDef = { - properties: { - embed: { - type: "all-of", - description: `The text to embed`, - contains: [ - { - type: "Docs_EmbedQueryRequest", - }, - ], - isRequired: true, - }, - }, -} as const; diff --git a/sdks/ts/src/api/schemas/$Tasks_GetStepDef.ts b/sdks/ts/src/api/schemas/$Tasks_GetStepDef.ts deleted file mode 100644 index a5ca63603..000000000 --- a/sdks/ts/src/api/schemas/$Tasks_GetStepDef.ts +++ /dev/null @@ -1,13 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $Tasks_GetStepDef = { - properties: { - get: { - type: "string", - description: `The key to get`, - isRequired: true, - }, - }, -} as const; diff --git a/sdks/ts/src/api/schemas/$Tasks_LogStepDef.ts b/sdks/ts/src/api/schemas/$Tasks_LogStepDef.ts deleted file mode 100644 index 5941058c6..000000000 --- a/sdks/ts/src/api/schemas/$Tasks_LogStepDef.ts +++ /dev/null @@ -1,18 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $Tasks_LogStepDef = { - properties: { - log: { - type: "all-of", - description: `The value to log`, - contains: [ - { - type: "Common_PyExpression", - }, - ], - isRequired: true, - }, - }, -} as const; diff --git a/sdks/ts/src/api/schemas/$Tasks_MapOverEmbed.ts b/sdks/ts/src/api/schemas/$Tasks_MapOverEmbed.ts deleted file mode 100644 index ad2d0242a..000000000 --- a/sdks/ts/src/api/schemas/$Tasks_MapOverEmbed.ts +++ /dev/null @@ -1,26 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $Tasks_MapOverEmbed = { - type: "all-of", - contains: [ - { - type: "Tasks_EmbedStepDef", - }, - { - properties: { - over: { - type: "all-of", - description: `The variable to iterate over`, - contains: [ - { - type: "Common_PyExpression", - }, - ], - isRequired: true, - }, - }, - }, - ], -} as const; diff --git a/sdks/ts/src/api/schemas/$Tasks_MapOverEvaluate.ts b/sdks/ts/src/api/schemas/$Tasks_MapOverEvaluate.ts deleted file mode 100644 index 60f4191dd..000000000 --- a/sdks/ts/src/api/schemas/$Tasks_MapOverEvaluate.ts +++ /dev/null @@ -1,26 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $Tasks_MapOverEvaluate = { - type: "all-of", - contains: [ - { - type: "Tasks_EvaluateStepDef", - }, - { - properties: { - over: { - type: "all-of", - description: `The variable to iterate over`, - contains: [ - { - type: "Common_PyExpression", - }, - ], - isRequired: true, - }, - }, - }, - ], -} as const; diff --git a/sdks/ts/src/api/schemas/$Tasks_MapOverGet.ts b/sdks/ts/src/api/schemas/$Tasks_MapOverGet.ts deleted file mode 100644 index d9b6e75a8..000000000 --- a/sdks/ts/src/api/schemas/$Tasks_MapOverGet.ts +++ /dev/null @@ -1,26 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $Tasks_MapOverGet = { - type: "all-of", - contains: [ - { - type: "Tasks_GetStepDef", - }, - { - properties: { - over: { - type: "all-of", - description: `The variable to iterate over`, - contains: [ - { - type: "Common_PyExpression", - }, - ], - isRequired: true, - }, - }, - }, - ], -} as const; diff --git a/sdks/ts/src/api/schemas/$Tasks_MapOverLog.ts b/sdks/ts/src/api/schemas/$Tasks_MapOverLog.ts deleted file mode 100644 index dd3940542..000000000 --- a/sdks/ts/src/api/schemas/$Tasks_MapOverLog.ts +++ /dev/null @@ -1,26 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $Tasks_MapOverLog = { - type: "all-of", - contains: [ - { - type: "Tasks_LogStepDef", - }, - { - properties: { - over: { - type: "all-of", - description: `The variable to iterate over`, - contains: [ - { - type: "Common_PyExpression", - }, - ], - isRequired: true, - }, - }, - }, - ], -} as const; diff --git a/sdks/ts/src/api/schemas/$Tasks_MapOverPrompt.ts b/sdks/ts/src/api/schemas/$Tasks_MapOverPrompt.ts deleted file mode 100644 index 49825b727..000000000 --- a/sdks/ts/src/api/schemas/$Tasks_MapOverPrompt.ts +++ /dev/null @@ -1,26 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $Tasks_MapOverPrompt = { - type: "all-of", - contains: [ - { - type: "Tasks_PromptStepDef", - }, - { - properties: { - over: { - type: "all-of", - description: `The variable to iterate over`, - contains: [ - { - type: "Common_PyExpression", - }, - ], - isRequired: true, - }, - }, - }, - ], -} as const; diff --git a/sdks/ts/src/api/schemas/$Tasks_MapOverSearch.ts b/sdks/ts/src/api/schemas/$Tasks_MapOverSearch.ts deleted file mode 100644 index 48b376621..000000000 --- a/sdks/ts/src/api/schemas/$Tasks_MapOverSearch.ts +++ /dev/null @@ -1,26 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $Tasks_MapOverSearch = { - type: "all-of", - contains: [ - { - type: "Tasks_SearchStepDef", - }, - { - properties: { - over: { - type: "all-of", - description: `The variable to iterate over`, - contains: [ - { - type: "Common_PyExpression", - }, - ], - isRequired: true, - }, - }, - }, - ], -} as const; diff --git a/sdks/ts/src/api/schemas/$Tasks_MapOverSet.ts b/sdks/ts/src/api/schemas/$Tasks_MapOverSet.ts deleted file mode 100644 index 81e30335b..000000000 --- a/sdks/ts/src/api/schemas/$Tasks_MapOverSet.ts +++ /dev/null @@ -1,26 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $Tasks_MapOverSet = { - type: "all-of", - contains: [ - { - type: "Tasks_SetStepDef", - }, - { - properties: { - over: { - type: "all-of", - description: `The variable to iterate over`, - contains: [ - { - type: "Common_PyExpression", - }, - ], - isRequired: true, - }, - }, - }, - ], -} as const; diff --git a/sdks/ts/src/api/schemas/$Tasks_MapOverToolCall.ts b/sdks/ts/src/api/schemas/$Tasks_MapOverToolCall.ts deleted file mode 100644 index 0357c025a..000000000 --- a/sdks/ts/src/api/schemas/$Tasks_MapOverToolCall.ts +++ /dev/null @@ -1,26 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $Tasks_MapOverToolCall = { - type: "all-of", - contains: [ - { - type: "Tasks_ToolCallStepDef", - }, - { - properties: { - over: { - type: "all-of", - description: `The variable to iterate over`, - contains: [ - { - type: "Common_PyExpression", - }, - ], - isRequired: true, - }, - }, - }, - ], -} as const; diff --git a/sdks/ts/src/api/schemas/$Tasks_PatchTaskRequest.ts b/sdks/ts/src/api/schemas/$Tasks_PatchTaskRequest.ts index 22f27c59a..45ad2927f 100644 --- a/sdks/ts/src/api/schemas/$Tasks_PatchTaskRequest.ts +++ b/sdks/ts/src/api/schemas/$Tasks_PatchTaskRequest.ts @@ -73,33 +73,43 @@ export const $Tasks_PatchTaskRequest = { }, { properties: { + over: { + type: "all-of", + description: `The variable to iterate over`, + contains: [ + { + type: "Common_PyExpression", + }, + ], + isRequired: true, + }, map: { type: "any-of", description: `The steps to run for each iteration`, contains: [ { - type: "Tasks_MapOverEvaluate", + type: "Tasks_EvaluateStep", }, { - type: "Tasks_MapOverToolCall", + type: "Tasks_ToolCallStep", }, { - type: "Tasks_MapOverPrompt", + type: "Tasks_PromptStep", }, { - type: "Tasks_MapOverGet", + type: "Tasks_GetStep", }, { - type: "Tasks_MapOverSet", + type: "Tasks_SetStep", }, { - type: "Tasks_MapOverLog", + type: "Tasks_LogStep", }, { - type: "Tasks_MapOverEmbed", + type: "Tasks_EmbedStep", }, { - type: "Tasks_MapOverSearch", + type: "Tasks_SearchStep", }, ], isRequired: true, @@ -116,12 +126,7 @@ export const $Tasks_PatchTaskRequest = { ], }, initial: { - type: "all-of", - contains: [ - { - type: "Common_PyExpression", - }, - ], + properties: {}, }, }, }, diff --git a/sdks/ts/src/api/schemas/$Tasks_PromptStepDef.ts b/sdks/ts/src/api/schemas/$Tasks_PromptStepDef.ts deleted file mode 100644 index badb73d46..000000000 --- a/sdks/ts/src/api/schemas/$Tasks_PromptStepDef.ts +++ /dev/null @@ -1,28 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $Tasks_PromptStepDef = { - properties: { - prompt: { - type: "any-of", - description: `The prompt to run`, - contains: [ - { - type: "Common_JinjaTemplate", - }, - ], - isRequired: true, - }, - settings: { - type: "all-of", - description: `Settings for the prompt`, - contains: [ - { - type: "Chat_ChatSettings", - }, - ], - isRequired: true, - }, - }, -} as const; diff --git a/sdks/ts/src/api/schemas/$Tasks_SearchStepDef.ts b/sdks/ts/src/api/schemas/$Tasks_SearchStepDef.ts deleted file mode 100644 index 3ee574d3c..000000000 --- a/sdks/ts/src/api/schemas/$Tasks_SearchStepDef.ts +++ /dev/null @@ -1,24 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $Tasks_SearchStepDef = { - properties: { - search: { - type: "any-of", - description: `The search query`, - contains: [ - { - type: "Docs_VectorDocSearchRequest", - }, - { - type: "Docs_TextOnlyDocSearchRequest", - }, - { - type: "Docs_HybridDocSearchRequest", - }, - ], - isRequired: true, - }, - }, -} as const; diff --git a/sdks/ts/src/api/schemas/$Tasks_SetStepDef.ts b/sdks/ts/src/api/schemas/$Tasks_SetStepDef.ts deleted file mode 100644 index 7af72fcb4..000000000 --- a/sdks/ts/src/api/schemas/$Tasks_SetStepDef.ts +++ /dev/null @@ -1,18 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $Tasks_SetStepDef = { - properties: { - set: { - type: "all-of", - description: `The value to set`, - contains: [ - { - type: "Tasks_SetKey", - }, - ], - isRequired: true, - }, - }, -} as const; diff --git a/sdks/ts/src/api/schemas/$Tasks_Task.ts b/sdks/ts/src/api/schemas/$Tasks_Task.ts index aa183b7fb..c89bade35 100644 --- a/sdks/ts/src/api/schemas/$Tasks_Task.ts +++ b/sdks/ts/src/api/schemas/$Tasks_Task.ts @@ -79,33 +79,43 @@ export const $Tasks_Task = { isReadOnly: true, isRequired: true, }, + over: { + type: "all-of", + description: `The variable to iterate over`, + contains: [ + { + type: "Common_PyExpression", + }, + ], + isRequired: true, + }, map: { type: "any-of", description: `The steps to run for each iteration`, contains: [ { - type: "Tasks_MapOverEvaluate", + type: "Tasks_EvaluateStep", }, { - type: "Tasks_MapOverToolCall", + type: "Tasks_ToolCallStep", }, { - type: "Tasks_MapOverPrompt", + type: "Tasks_PromptStep", }, { - type: "Tasks_MapOverGet", + type: "Tasks_GetStep", }, { - type: "Tasks_MapOverSet", + type: "Tasks_SetStep", }, { - type: "Tasks_MapOverLog", + type: "Tasks_LogStep", }, { - type: "Tasks_MapOverEmbed", + type: "Tasks_EmbedStep", }, { - type: "Tasks_MapOverSearch", + type: "Tasks_SearchStep", }, ], isRequired: true, @@ -122,12 +132,7 @@ export const $Tasks_Task = { ], }, initial: { - type: "all-of", - contains: [ - { - type: "Common_PyExpression", - }, - ], + properties: {}, }, }, }, diff --git a/sdks/ts/src/api/schemas/$Tasks_ToolCallStepDef.ts b/sdks/ts/src/api/schemas/$Tasks_ToolCallStepDef.ts deleted file mode 100644 index 69b275101..000000000 --- a/sdks/ts/src/api/schemas/$Tasks_ToolCallStepDef.ts +++ /dev/null @@ -1,34 +0,0 @@ -/* generated using openapi-typescript-codegen -- do no edit */ -/* istanbul ignore file */ -/* tslint:disable */ -/* eslint-disable */ -export const $Tasks_ToolCallStepDef = { - properties: { - tool: { - type: "all-of", - description: `The tool to run`, - contains: [ - { - type: "Common_toolRef", - }, - ], - isRequired: true, - }, - arguments: { - type: "any-of", - description: `The input parameters for the tool (defaults to last step output)`, - contains: [ - { - type: "dictionary", - contains: { - type: "Common_PyExpression", - }, - }, - { - type: "Enum", - }, - ], - isRequired: true, - }, - }, -} as const; diff --git a/sdks/ts/src/api/schemas/$Tasks_UpdateTaskRequest.ts b/sdks/ts/src/api/schemas/$Tasks_UpdateTaskRequest.ts index a9cd8187b..84255c8ca 100644 --- a/sdks/ts/src/api/schemas/$Tasks_UpdateTaskRequest.ts +++ b/sdks/ts/src/api/schemas/$Tasks_UpdateTaskRequest.ts @@ -79,33 +79,43 @@ export const $Tasks_UpdateTaskRequest = { isReadOnly: true, isRequired: true, }, + over: { + type: "all-of", + description: `The variable to iterate over`, + contains: [ + { + type: "Common_PyExpression", + }, + ], + isRequired: true, + }, map: { type: "any-of", description: `The steps to run for each iteration`, contains: [ { - type: "Tasks_MapOverEvaluate", + type: "Tasks_EvaluateStep", }, { - type: "Tasks_MapOverToolCall", + type: "Tasks_ToolCallStep", }, { - type: "Tasks_MapOverPrompt", + type: "Tasks_PromptStep", }, { - type: "Tasks_MapOverGet", + type: "Tasks_GetStep", }, { - type: "Tasks_MapOverSet", + type: "Tasks_SetStep", }, { - type: "Tasks_MapOverLog", + type: "Tasks_LogStep", }, { - type: "Tasks_MapOverEmbed", + type: "Tasks_EmbedStep", }, { - type: "Tasks_MapOverSearch", + type: "Tasks_SearchStep", }, ], isRequired: true, @@ -122,12 +132,7 @@ export const $Tasks_UpdateTaskRequest = { ], }, initial: { - type: "all-of", - contains: [ - { - type: "Common_PyExpression", - }, - ], + properties: {}, }, }, }, diff --git a/sdks/ts/src/api/schemas/$Tasks_EvaluateStepDef.ts b/sdks/ts/src/api/schemas/$Tasks_WaitForInputInfo.ts similarity index 83% rename from sdks/ts/src/api/schemas/$Tasks_EvaluateStepDef.ts rename to sdks/ts/src/api/schemas/$Tasks_WaitForInputInfo.ts index acd724d29..81526c6a1 100644 --- a/sdks/ts/src/api/schemas/$Tasks_EvaluateStepDef.ts +++ b/sdks/ts/src/api/schemas/$Tasks_WaitForInputInfo.ts @@ -2,9 +2,9 @@ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ -export const $Tasks_EvaluateStepDef = { +export const $Tasks_WaitForInputInfo = { properties: { - evaluate: { + info: { type: "dictionary", contains: { type: "Common_PyExpression", diff --git a/sdks/ts/src/api/schemas/$Tasks_WaitForInputStep.ts b/sdks/ts/src/api/schemas/$Tasks_WaitForInputStep.ts index 72b24a415..91a9e7bc9 100644 --- a/sdks/ts/src/api/schemas/$Tasks_WaitForInputStep.ts +++ b/sdks/ts/src/api/schemas/$Tasks_WaitForInputStep.ts @@ -22,10 +22,13 @@ export const $Tasks_WaitForInputStep = { isRequired: true, }, wait_for_input: { - type: "dictionary", - contains: { - type: "Common_PyExpression", - }, + type: "all-of", + description: `Any additional info or data`, + contains: [ + { + type: "Tasks_WaitForInputInfo", + }, + ], isRequired: true, }, }, diff --git a/typespec/executions/models.tsp b/typespec/executions/models.tsp index 0f7be074f..ffaa10dc5 100644 --- a/typespec/executions/models.tsp +++ b/typespec/executions/models.tsp @@ -75,7 +75,7 @@ model StopExecutionRequest extends UpdateExecutionRequest { model ResumeExecutionRequest extends UpdateExecutionRequest { status: "running" = "running"; - + /** The input to resume the execution with */ input?: Record; } @@ -121,7 +121,7 @@ model Transition { execution_id: Execution.id; @visibility("read") - output: Record; + output: unknown; @visibility("read") current: TransitionTarget; diff --git a/typespec/tasks/steps.tsp b/typespec/tasks/steps.tsp index a32835b27..3b2236ac5 100644 --- a/typespec/tasks/steps.tsp +++ b/typespec/tasks/steps.tsp @@ -240,70 +240,22 @@ model ForeachStepDef { foreach: ForeachDo; } -model BaseMapOver { - /** The variable to iterate over */ - over: TypedExpression>; -} - -model MapOverEvaluate extends EvaluateStepDef { - ...BaseMapOver; -} - -model MapOverToolCall extends ToolCallStepDef { - ...BaseMapOver; -} - -model MapOverPrompt extends PromptStepDef { - ...BaseMapOver; -} - -model MapOverGet extends GetStepDef { - ...BaseMapOver; -} - -model MapOverSet extends SetStepDef { - ...BaseMapOver; -} - -model MapOverLog extends LogStepDef { - ...BaseMapOver; -} - -model MapOverEmbed extends EmbedStepDef { - ...BaseMapOver; -} - -model MapOverSearch extends SearchStepDef { - ...BaseMapOver; -} - -alias MapOver = - | MapOverEvaluate - | MapOverToolCall - | MapOverPrompt - | MapOverGet - | MapOverSet - | MapOverLog - | MapOverEmbed - | MapOverSearch; - model MapReduceStep> extends BaseWorkflowStep<"map_reduce"> { @visibility("read") kind_: "map_reduce" = "map_reduce"; - ...MapReduceStepDef; -} + /** The variable to iterate over */ + over: TypedExpression>; -model MapReduceStepDef> { /** The steps to run for each iteration */ - map: MapOver; + map: MappableWorkflowStep; /** The expression to reduce the results. - * If not provided, the results are collected and returned as a list. + * If not provided, the results are collected and returned as a list. * A special parameter named `results` is the accumulator and `_` is the current value. */ reduce?: ReduceExpression; - initial?: TypedExpression = "[]"; + initial?: unknown = #[]; } /////////////////////////