From be6bcb64a73e1b64bc0dbf82725e74832cfd1950 Mon Sep 17 00:00:00 2001 From: Arpit Roopchandani <17565234+whoisarpit@users.noreply.github.com> Date: Fri, 11 Apr 2025 19:03:10 +0800 Subject: [PATCH 1/5] Fix types and keys on GithubAgent --- patchwork/steps/GitHubAgent/GitHubAgent.py | 12 +++++++----- patchwork/steps/GitHubAgent/typed.py | 4 +++- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/patchwork/steps/GitHubAgent/GitHubAgent.py b/patchwork/steps/GitHubAgent/GitHubAgent.py index 4fe3125ce..e431cfd70 100644 --- a/patchwork/steps/GitHubAgent/GitHubAgent.py +++ b/patchwork/steps/GitHubAgent/GitHubAgent.py @@ -21,7 +21,7 @@ def __init__(self, inputs): model="claude-3-5-sonnet-latest", llm_client=AioLlmClient.create_aio_client(inputs), template_data=dict(), - system_prompt_template=f"""\ + system_prompt_template="""\ Please summarise the conversation given and provide the result in the structure that is asked of you. """, user_prompt_template=f"""\ @@ -34,15 +34,17 @@ def __init__(self, inputs): AgentConfig( name="Assistant", model="gemini-2.0-flash", - tool_set=dict(github_tool=GitHubTool(base_path, inputs["github_api_token"])), + tool_set=dict(github_tool=GitHubTool(base_path, inputs["github_api_key"])), system_prompt="""\ -You are a senior software developer helping the program manager to obtain some data from GitHub. -You can access github through the `gh` CLI app. +You are a senior software developer helping the program manager to obtain some data from GitHub. +You can access github through the `gh` CLI app. Your `gh` app has already been authenticated. """, ) ], - example_json=inputs.get("example_json"), + example_json=inputs.get( + "example_json", '{"summary_of_actions": "1. Retrieved the list of repositories. 2. ..."}' + ), ) def run(self) -> dict: diff --git a/patchwork/steps/GitHubAgent/typed.py b/patchwork/steps/GitHubAgent/typed.py index b54b132de..aa72f0e48 100644 --- a/patchwork/steps/GitHubAgent/typed.py +++ b/patchwork/steps/GitHubAgent/typed.py @@ -1,4 +1,4 @@ -from typing_extensions import Annotated, Any, Dict, TypedDict +from typing_extensions import Annotated, Any, Dict, Optional, TypedDict from patchwork.common.utils.step_typing import StepTypeConfig @@ -11,6 +11,8 @@ class GitHubAgentInputs(__GitHubAgentRequiredInputs, total=False): base_path: str prompt_value: Dict[str, Any] max_llm_calls: Annotated[int, StepTypeConfig(is_config=True)] + github_api_key: str + example_json: Optional[Dict] openai_api_key: Annotated[ str, StepTypeConfig( From 8c97643802f957463baee43d013625d97acceb0c Mon Sep 17 00:00:00 2001 From: Arpit Roopchandani <17565234+whoisarpit@users.noreply.github.com> Date: Fri, 11 Apr 2025 19:03:24 +0800 Subject: [PATCH 2/5] Fix types on AgenticLLMV2 and DatabaseAgent --- patchwork/steps/AgenticLLMV2/AgenticLLMV2.py | 4 ++-- patchwork/steps/AgenticLLMV2/typed.py | 6 +++++- patchwork/steps/DatabaseAgent/typed.py | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/patchwork/steps/AgenticLLMV2/AgenticLLMV2.py b/patchwork/steps/AgenticLLMV2/AgenticLLMV2.py index da781d0f2..a6abd04e6 100644 --- a/patchwork/steps/AgenticLLMV2/AgenticLLMV2.py +++ b/patchwork/steps/AgenticLLMV2/AgenticLLMV2.py @@ -18,7 +18,7 @@ def __init__(self, inputs): base_path = str(Path.cwd()) self.conversation_limit = int(inputs.get("max_agent_calls", 1)) self.agentic_strategy = AgenticStrategyV2( - model="claude-3-5-sonnet-latest", + model=inputs.get("strategy_model", "claude-3-5-sonnet-latest"), llm_client=AioLlmClient.create_aio_client(inputs), template_data=inputs.get("prompt_value", {}), system_prompt_template=inputs.get("system_prompt", "Summarise from our previous conversation"), @@ -26,7 +26,7 @@ def __init__(self, inputs): agent_configs=[ AgentConfig( name="Assistant", - model="claude-3-7-sonnet-latest", + model=inputs.get("agent_model", "claude-3-7-sonnet-latest"), tool_set=Tool.get_tools(path=base_path), system_prompt=inputs.get("agent_system_prompt"), ) diff --git a/patchwork/steps/AgenticLLMV2/typed.py b/patchwork/steps/AgenticLLMV2/typed.py index 0cdd56c3c..6601ca682 100644 --- a/patchwork/steps/AgenticLLMV2/typed.py +++ b/patchwork/steps/AgenticLLMV2/typed.py @@ -9,9 +9,13 @@ class AgenticLLMV2Inputs(TypedDict, total=False): system_prompt: str user_prompt: str max_agent_calls: Annotated[int, StepTypeConfig(is_config=True)] + google_api_key: str anthropic_api_key: str + openai_api_key: str + strategy_model: str + agent_model: str agent_system_prompt: str - example_json: str + example_json: Dict class AgenticLLMV2Outputs(TypedDict): diff --git a/patchwork/steps/DatabaseAgent/typed.py b/patchwork/steps/DatabaseAgent/typed.py index 4f997ca83..b3b54312c 100644 --- a/patchwork/steps/DatabaseAgent/typed.py +++ b/patchwork/steps/DatabaseAgent/typed.py @@ -28,7 +28,7 @@ class DatabaseAgentInputs(__DatabaseAgentOutputsRequiredInputs, total=False): google_api_key: Annotated[ str, StepTypeConfig(is_config=True, or_op=["patched_api_key", "openai_api_key", "anthropic_api_key"]) ] - example_json: str + example_json: Dict class DatabaseAgentOutputs(TypedDict): From 4f33d2e6092849418562c5f1a377721f155edab4 Mon Sep 17 00:00:00 2001 From: Arpit Roopchandani <17565234+whoisarpit@users.noreply.github.com> Date: Fri, 11 Apr 2025 19:04:20 +0800 Subject: [PATCH 3/5] Bump version to 0.0.122 --- poetry.lock | 50 +++++++++++++++++++++++++------------------------- pyproject.toml | 2 +- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/poetry.lock b/poetry.lock index 647f9e91e..329e5c47e 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 2.1.1 and should not be changed by hand. +# This file is automatically @generated by Poetry 2.1.2 and should not be changed by hand. [[package]] name = "agate" @@ -348,7 +348,7 @@ description = "Timeout context manager for asyncio programs" optional = false python-versions = ">=3.8" groups = ["dev"] -markers = "python_version <= \"3.10\"" +markers = "python_version < \"3.11\"" files = [ {file = "async_timeout-5.0.1-py3-none-any.whl", hash = "sha256:39e3809566ff85354557ec2398b55e096c8364bacac9405a7a1fa429e77fe76c"}, {file = "async_timeout-5.0.1.tar.gz", hash = "sha256:d9321a7a3d5a6a5e187e824d2fa0793ce379a202935782d555d6e9d2735677d3"}, @@ -586,8 +586,8 @@ files = [ jmespath = ">=0.7.1,<2.0.0" python-dateutil = ">=2.1,<3.0.0" urllib3 = [ - {version = ">=1.25.4,<1.27", markers = "python_version < \"3.10\""}, {version = ">=1.25.4,<2.2.0 || >2.2.0,<3", markers = "python_version >= \"3.10\""}, + {version = ">=1.25.4,<1.27", markers = "python_version < \"3.10\""}, ] [package.extras] @@ -784,7 +784,7 @@ files = [ {file = "cffi-1.17.1-cp39-cp39-win_amd64.whl", hash = "sha256:d016c76bdd850f3c626af19b0542c9677ba156e4ee4fccfdd7848803533ef662"}, {file = "cffi-1.17.1.tar.gz", hash = "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824"}, ] -markers = {dev = "(sys_platform == \"linux\" or sys_platform == \"darwin\") and platform_python_implementation != \"PyPy\" or sys_platform == \"darwin\""} +markers = {dev = "(sys_platform == \"linux\" or sys_platform == \"darwin\") and (platform_python_implementation != \"PyPy\" or sys_platform == \"darwin\")"} [package.dependencies] pycparser = "*" @@ -1069,7 +1069,7 @@ files = [ {file = "cryptography-43.0.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:2ce6fae5bdad59577b44e4dfed356944fbf1d925269114c28be377692643b4ff"}, {file = "cryptography-43.0.3.tar.gz", hash = "sha256:315b9001266a492a6ff443b61238f956b214dbec9910a081ba5b6646a055a805"}, ] -markers = {main = "python_version < \"3.10\"", dev = "python_version < \"3.10\" and sys_platform == \"linux\""} +markers = {main = "python_version == \"3.9\"", dev = "python_version == \"3.9\" and sys_platform == \"linux\""} [package.dependencies] cffi = {version = ">=1.12", markers = "platform_python_implementation != \"PyPy\""} @@ -1242,7 +1242,7 @@ description = "XML bomb protection for Python stdlib modules" optional = true python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" groups = ["main"] -markers = "(extra == \"security\" or extra == \"all\" or extra == \"browser-use\") and (extra == \"security\" or extra == \"all\" or python_version >= \"3.11\")" +markers = "python_version >= \"3.11\" and (extra == \"security\" or extra == \"all\" or extra == \"browser-use\") or extra == \"security\" or extra == \"all\"" files = [ {file = "defusedxml-0.7.1-py2.py3-none-any.whl", hash = "sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61"}, {file = "defusedxml-0.7.1.tar.gz", hash = "sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69"}, @@ -1478,7 +1478,7 @@ description = "Backport of PEP 654 (exception groups)" optional = false python-versions = ">=3.7" groups = ["main", "dev"] -markers = "python_version <= \"3.10\"" +markers = "python_version < \"3.11\"" files = [ {file = "exceptiongroup-1.2.2-py3-none-any.whl", hash = "sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b"}, {file = "exceptiongroup-1.2.2.tar.gz", hash = "sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc"}, @@ -1849,8 +1849,8 @@ files = [ google-api-core = {version = ">=1.34.1,<2.0.dev0 || >=2.11.dev0,<3.0.0dev", extras = ["grpc"]} google-auth = ">=2.14.1,<2.24.0 || >2.24.0,<2.25.0 || >2.25.0,<3.0.0dev" proto-plus = [ - {version = ">=1.22.3,<2.0.0dev"}, {version = ">=1.25.0,<2.0.0dev", markers = "python_version >= \"3.13\""}, + {version = ">=1.22.3,<2.0.0dev"}, ] protobuf = ">=3.20.2,<4.21.0 || >4.21.0,<4.21.1 || >4.21.1,<4.21.2 || >4.21.2,<4.21.3 || >4.21.3,<4.21.4 || >4.21.4,<4.21.5 || >4.21.5,<6.0.0dev" @@ -1870,16 +1870,16 @@ files = [ google-auth = ">=2.14.1,<3.0.0" googleapis-common-protos = ">=1.56.2,<2.0.0" grpcio = [ - {version = ">=1.33.2,<2.0dev", optional = true, markers = "extra == \"grpc\""}, {version = ">=1.49.1,<2.0dev", optional = true, markers = "python_version >= \"3.11\" and extra == \"grpc\""}, + {version = ">=1.33.2,<2.0dev", optional = true, markers = "python_version < \"3.11\" and extra == \"grpc\""}, ] grpcio-status = [ - {version = ">=1.33.2,<2.0.dev0", optional = true, markers = "extra == \"grpc\""}, {version = ">=1.49.1,<2.0.dev0", optional = true, markers = "python_version >= \"3.11\" and extra == \"grpc\""}, + {version = ">=1.33.2,<2.0.dev0", optional = true, markers = "extra == \"grpc\""}, ] proto-plus = [ - {version = ">=1.22.3,<2.0.0"}, {version = ">=1.25.0,<2.0.0", markers = "python_version >= \"3.13\""}, + {version = ">=1.22.3,<2.0.0"}, ] protobuf = ">=3.19.5,<3.20.0 || >3.20.0,<3.20.1 || >3.20.1,<4.21.0 || >4.21.0,<4.21.1 || >4.21.1,<4.21.2 || >4.21.2,<4.21.3 || >4.21.3,<4.21.4 || >4.21.4,<4.21.5 || >4.21.5,<7.0.0" requests = ">=2.18.0,<3.0.0" @@ -2035,8 +2035,8 @@ google-api-core = {version = ">=1.34.1,<2.0.dev0 || >=2.11.dev0,<3.0.0dev", extr google-auth = ">=2.14.1,<2.24.0 || >2.24.0,<2.25.0 || >2.25.0,<3.0.0dev" grpc-google-iam-v1 = ">=0.14.0,<1.0.0dev" proto-plus = [ - {version = ">=1.22.3,<2.0.0dev"}, {version = ">=1.25.0,<2.0.0dev", markers = "python_version >= \"3.13\""}, + {version = ">=1.22.3,<2.0.0dev"}, ] protobuf = ">=3.20.2,<4.21.0 || >4.21.0,<4.21.1 || >4.21.1,<4.21.2 || >4.21.2,<4.21.3 || >4.21.3,<4.21.4 || >4.21.4,<4.21.5 || >4.21.5,<6.0.0dev" @@ -2170,7 +2170,7 @@ description = "Lightweight in-process concurrent programming" optional = false python-versions = ">=3.7" groups = ["main"] -markers = "python_version < \"3.14\" and (platform_machine == \"aarch64\" or platform_machine == \"ppc64le\" or platform_machine == \"x86_64\" or platform_machine == \"amd64\" or platform_machine == \"AMD64\" or platform_machine == \"win32\" or platform_machine == \"WIN32\") or extra == \"browser-use\" or extra == \"all\"" +markers = "(platform_machine == \"aarch64\" or platform_machine == \"ppc64le\" or platform_machine == \"x86_64\" or platform_machine == \"amd64\" or platform_machine == \"AMD64\" or platform_machine == \"win32\" or platform_machine == \"WIN32\") and python_version <= \"3.13\" or extra == \"browser-use\" or extra == \"all\"" files = [ {file = "greenlet-3.1.1-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:0bbae94a29c9e5c7e4a2b7f0aae5c17e8e90acbfd3bf6270eeba60c39fce3563"}, {file = "greenlet-3.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0fde093fb93f35ca72a556cf72c92ea3ebfda3d79fc35bb19fbe685853869a83"}, @@ -2589,7 +2589,7 @@ files = [ {file = "importlib_metadata-8.6.1-py3-none-any.whl", hash = "sha256:02a89390c1e15fdfdc0d7c6b25cb3e62650d0494005c97d6f148bf5b9787525e"}, {file = "importlib_metadata-8.6.1.tar.gz", hash = "sha256:310b41d755445d74569f993ccfc22838295d9fe005425094fad953d7f15c8580"}, ] -markers = {dev = "python_version < \"3.12\""} +markers = {dev = "python_version <= \"3.11\""} [package.dependencies] zipp = ">=3.20" @@ -2973,7 +2973,7 @@ description = "An integration package connecting AnthropicMessages and LangChain optional = true python-versions = "<4.0,>=3.9" groups = ["main"] -markers = "python_version <= \"3.10\" and (extra == \"browser-use\" or extra == \"all\")" +markers = "(extra == \"browser-use\" or extra == \"all\") and python_version < \"3.11\"" files = [ {file = "langchain_anthropic-0.3.9-py3-none-any.whl", hash = "sha256:adbbfaf3ce9798d46fb43d6fc01105630238f375dc6043d35d0aafab61fdbb71"}, {file = "langchain_anthropic-0.3.9.tar.gz", hash = "sha256:e8012d7986ad1d8412df6914c56f3c0d2797f231766a03bb1ad22cc7023e6e1d"}, @@ -3002,8 +3002,8 @@ jsonpatch = ">=1.33,<2.0" langsmith = ">=0.1.125,<0.4" packaging = ">=23.2,<25" pydantic = [ - {version = ">=2.5.2,<3.0.0", markers = "python_full_version < \"3.12.4\""}, {version = ">=2.7.4,<3.0.0", markers = "python_full_version >= \"3.12.4\""}, + {version = ">=2.5.2,<3.0.0", markers = "python_full_version < \"3.12.4\""}, ] PyYAML = ">=5.3" tenacity = ">=8.1.0,<8.4.0 || >8.4.0,<10.0.0" @@ -3070,7 +3070,7 @@ description = "An integration package connecting OpenAI and LangChain" optional = true python-versions = "<4.0,>=3.9" groups = ["main"] -markers = "python_version <= \"3.10\" and (extra == \"browser-use\" or extra == \"all\")" +markers = "(extra == \"browser-use\" or extra == \"all\") and python_version < \"3.11\"" files = [ {file = "langchain_openai-0.3.8-py3-none-any.whl", hash = "sha256:9004dc8ef853aece0d8f0feca7753dc97f710fa3e53874c8db66466520436dbb"}, {file = "langchain_openai-0.3.8.tar.gz", hash = "sha256:4d73727eda8102d1d07a2ca036278fccab0bb5e0abf353cec9c3973eb72550ec"}, @@ -3099,8 +3099,8 @@ httpx = ">=0.23.0,<1" orjson = {version = ">=3.9.14,<4.0.0", markers = "platform_python_implementation != \"PyPy\""} packaging = ">=23.2" pydantic = [ - {version = ">=1,<3", markers = "python_full_version < \"3.12.4\""}, {version = ">=2.7.4,<3.0.0", markers = "python_full_version >= \"3.12.4\""}, + {version = ">=1,<3", markers = "python_full_version < \"3.12.4\""}, ] requests = ">=2,<3" requests-toolbelt = ">=1.0.0,<2.0.0" @@ -3836,7 +3836,7 @@ description = "Fast, correct Python JSON library supporting dataclasses, datetim optional = true python-versions = ">=3.8" groups = ["main"] -markers = "(extra == \"browser-use\" or extra == \"all\" or extra == \"security\") and platform_python_implementation != \"PyPy\" or (extra == \"browser-use\" or extra == \"all\" or extra == \"security\") and (extra == \"security\" or extra == \"all\")" +markers = "(extra == \"browser-use\" or extra == \"all\" or extra == \"security\") and (platform_python_implementation != \"PyPy\" or extra == \"security\" or extra == \"all\")" files = [ {file = "orjson-3.10.15-cp310-cp310-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:552c883d03ad185f720d0c09583ebde257e41b9521b74ff40e08b7dec4559c04"}, {file = "orjson-3.10.15-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:616e3e8d438d02e4854f70bfdc03a6bcdb697358dbaa6bcd19cbe24d24ece1f8"}, @@ -4033,9 +4033,9 @@ files = [ [package.dependencies] numpy = [ - {version = ">=1.22.4", markers = "python_version < \"3.11\""}, - {version = ">=1.23.2", markers = "python_version == \"3.11\""}, {version = ">=1.26.0", markers = "python_version >= \"3.12\""}, + {version = ">=1.23.2", markers = "python_version == \"3.11\""}, + {version = ">=1.22.4", markers = "python_version < \"3.11\""}, ] python-dateutil = ">=2.8.2" pytz = ">=2020.1" @@ -4746,7 +4746,7 @@ files = [ {file = "pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc"}, {file = "pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6"}, ] -markers = {dev = "(sys_platform == \"linux\" or sys_platform == \"darwin\") and platform_python_implementation != \"PyPy\" or sys_platform == \"darwin\""} +markers = {dev = "(sys_platform == \"linux\" or sys_platform == \"darwin\") and (platform_python_implementation != \"PyPy\" or sys_platform == \"darwin\")"} [[package]] name = "pydantic" @@ -5851,7 +5851,7 @@ description = "C version of reader, parser and emitter for ruamel.yaml derived f optional = true python-versions = ">=3.9" groups = ["main"] -markers = "platform_python_implementation == \"CPython\" and python_version <= \"3.12\" and (extra == \"security\" or extra == \"all\")" +markers = "(extra == \"security\" or extra == \"all\") and platform_python_implementation == \"CPython\" and python_version < \"3.13\"" files = [ {file = "ruamel.yaml.clib-0.2.12-cp310-cp310-macosx_13_0_arm64.whl", hash = "sha256:11f891336688faf5156a36293a9c362bdc7c88f03a8a027c2c1d8e0bcde998e5"}, {file = "ruamel.yaml.clib-0.2.12-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:a606ef75a60ecf3d924613892cc603b154178ee25abb3055db5062da811fd969"}, @@ -6360,7 +6360,7 @@ description = "backport of asyncio.TaskGroup, asyncio.Runner and asyncio.timeout optional = true python-versions = "*" groups = ["main"] -markers = "(extra == \"security\" or extra == \"all\") and python_version <= \"3.10\"" +markers = "(extra == \"security\" or extra == \"all\") and python_version < \"3.11\"" files = [ {file = "taskgroup-0.2.2-py2.py3-none-any.whl", hash = "sha256:e2c53121609f4ae97303e9ea1524304b4de6faf9eb2c9280c7f87976479a52fb"}, {file = "taskgroup-0.2.2.tar.gz", hash = "sha256:078483ac3e78f2e3f973e2edbf6941374fbea81b9c5d0a96f51d297717f4752d"}, @@ -7378,7 +7378,7 @@ files = [ {file = "zipp-3.21.0-py3-none-any.whl", hash = "sha256:ac1bbe05fd2991f160ebce24ffbac5f6d11d83dc90891255885223d42b3cd931"}, {file = "zipp-3.21.0.tar.gz", hash = "sha256:2c9958f6430a2040341a52eb608ed6dd93ef4392e02ffe219417c1b28b5dd1f4"}, ] -markers = {dev = "python_version < \"3.12\""} +markers = {dev = "python_version <= \"3.11\""} [package.extras] check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1) ; sys_platform != \"cygwin\""] diff --git a/pyproject.toml b/pyproject.toml index 2b232bf6f..b5ee43dc2 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "patchwork-cli" -version = "0.0.121" +version = "0.0.122" description = "" authors = ["patched.codes"] license = "AGPL" From 7f7b18424067f846ba31659641863ba3073fb967 Mon Sep 17 00:00:00 2001 From: Arpit Roopchandani <17565234+whoisarpit@users.noreply.github.com> Date: Fri, 11 Apr 2025 19:29:00 +0800 Subject: [PATCH 4/5] example_json Dict -> str for agentic steps --- patchwork/steps/AgenticLLMV2/typed.py | 2 +- patchwork/steps/DatabaseAgent/typed.py | 2 +- patchwork/steps/GitHubAgent/typed.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/patchwork/steps/AgenticLLMV2/typed.py b/patchwork/steps/AgenticLLMV2/typed.py index 6601ca682..b28dc53b9 100644 --- a/patchwork/steps/AgenticLLMV2/typed.py +++ b/patchwork/steps/AgenticLLMV2/typed.py @@ -15,7 +15,7 @@ class AgenticLLMV2Inputs(TypedDict, total=False): strategy_model: str agent_model: str agent_system_prompt: str - example_json: Dict + example_json: str class AgenticLLMV2Outputs(TypedDict): diff --git a/patchwork/steps/DatabaseAgent/typed.py b/patchwork/steps/DatabaseAgent/typed.py index b3b54312c..4f997ca83 100644 --- a/patchwork/steps/DatabaseAgent/typed.py +++ b/patchwork/steps/DatabaseAgent/typed.py @@ -28,7 +28,7 @@ class DatabaseAgentInputs(__DatabaseAgentOutputsRequiredInputs, total=False): google_api_key: Annotated[ str, StepTypeConfig(is_config=True, or_op=["patched_api_key", "openai_api_key", "anthropic_api_key"]) ] - example_json: Dict + example_json: str class DatabaseAgentOutputs(TypedDict): diff --git a/patchwork/steps/GitHubAgent/typed.py b/patchwork/steps/GitHubAgent/typed.py index aa72f0e48..a066a3b95 100644 --- a/patchwork/steps/GitHubAgent/typed.py +++ b/patchwork/steps/GitHubAgent/typed.py @@ -12,7 +12,7 @@ class GitHubAgentInputs(__GitHubAgentRequiredInputs, total=False): prompt_value: Dict[str, Any] max_llm_calls: Annotated[int, StepTypeConfig(is_config=True)] github_api_key: str - example_json: Optional[Dict] + example_json: Optional[str] openai_api_key: Annotated[ str, StepTypeConfig( From cfc1dbeaf0759d5758ea684f4ea18e382fa965a0 Mon Sep 17 00:00:00 2001 From: TIANYOU CHEN <42710806+CTY-git@users.noreply.github.com> Date: Fri, 11 Apr 2025 19:35:20 +0800 Subject: [PATCH 5/5] typing fixes --- patchwork/steps/AgenticLLMV2/typed.py | 25 ++++++++++++++++++++++--- patchwork/steps/GitHubAgent/typed.py | 4 ++-- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/patchwork/steps/AgenticLLMV2/typed.py b/patchwork/steps/AgenticLLMV2/typed.py index b28dc53b9..519100ff8 100644 --- a/patchwork/steps/AgenticLLMV2/typed.py +++ b/patchwork/steps/AgenticLLMV2/typed.py @@ -9,13 +9,32 @@ class AgenticLLMV2Inputs(TypedDict, total=False): system_prompt: str user_prompt: str max_agent_calls: Annotated[int, StepTypeConfig(is_config=True)] - google_api_key: str - anthropic_api_key: str - openai_api_key: str strategy_model: str agent_model: str agent_system_prompt: str example_json: str + openai_api_key: Annotated[ + str, + StepTypeConfig( + is_config=True, or_op=["patched_api_key", "google_api_key", "client_is_gcp", "anthropic_api_key"] + ), + ] + anthropic_api_key: Annotated[ + str, + StepTypeConfig(is_config=True, or_op=["patched_api_key", "google_api_key", "client_is_gcp", "openai_api_key"]), + ] + google_api_key: Annotated[ + str, + StepTypeConfig( + is_config=True, or_op=["patched_api_key", "openai_api_key", "client_is_gcp", "anthropic_api_key"] + ), + ] + client_is_gcp: Annotated[ + str, + StepTypeConfig( + is_config=True, or_op=["patched_api_key", "openai_api_key", "anthropic_api_key", "google_api_key"] + ), + ] class AgenticLLMV2Outputs(TypedDict): diff --git a/patchwork/steps/GitHubAgent/typed.py b/patchwork/steps/GitHubAgent/typed.py index a066a3b95..a338dddfd 100644 --- a/patchwork/steps/GitHubAgent/typed.py +++ b/patchwork/steps/GitHubAgent/typed.py @@ -4,6 +4,7 @@ class __GitHubAgentRequiredInputs(TypedDict): + github_api_key: str task: str @@ -11,8 +12,7 @@ class GitHubAgentInputs(__GitHubAgentRequiredInputs, total=False): base_path: str prompt_value: Dict[str, Any] max_llm_calls: Annotated[int, StepTypeConfig(is_config=True)] - github_api_key: str - example_json: Optional[str] + example_json: str openai_api_key: Annotated[ str, StepTypeConfig(