From 7ddbd01cacd440dd00197c74ad984000b6886f0a Mon Sep 17 00:00:00 2001 From: Man Yue Mo Date: Mon, 27 Apr 2026 15:16:47 +0000 Subject: [PATCH 1/4] add cli argument for model config --- src/seclab_taskflow_agent/cli.py | 6 +++++- src/seclab_taskflow_agent/runner.py | 4 ++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/seclab_taskflow_agent/cli.py b/src/seclab_taskflow_agent/cli.py index 7569431..9b1ac21 100644 --- a/src/seclab_taskflow_agent/cli.py +++ b/src/seclab_taskflow_agent/cli.py @@ -107,6 +107,10 @@ def main( list[str] | None, typer.Argument(help="Remaining prompt text."), ] = None, + model_config: Annotated[ + str | None, + typer.Option("-m", "--model-config", help="Model configuration module path. Only relevant when running taskflows"), + ] = None, ) -> None: """Run a taskflow or personality-based agent session.""" # Debug mode from flag or env var @@ -156,7 +160,7 @@ def main( asyncio.run( run_main( available_tools, personality, effective_taskflow, - cli_globals, user_prompt, resume_session_id=resume, + cli_globals, user_prompt, cli_model_config = model_config, resume_session_id=resume, ), debug=debug, ) diff --git a/src/seclab_taskflow_agent/runner.py b/src/seclab_taskflow_agent/runner.py index 7c56bea..93aca17 100644 --- a/src/seclab_taskflow_agent/runner.py +++ b/src/seclab_taskflow_agent/runner.py @@ -451,6 +451,7 @@ async def run_main( taskflow_path: str | None, cli_globals: dict[str, str], prompt: str | None, + cli_model_config: str | None, resume_session_id: str | None = None, ) -> None: """Main entry point for taskflow/personality execution. @@ -461,6 +462,7 @@ async def run_main( taskflow_path: Taskflow module path, or None. cli_globals: Global variables from CLI. prompt: User prompt text. + cli_model_config: Model configuration module path, or None. resume_session_id: Session ID to resume from a checkpoint. """ from .session import TaskflowSession @@ -511,6 +513,8 @@ async def on_handoff_hook(context: RunContextWrapper[TContext], agent: Agent[TCo # Resolve model config model_config_ref = taskflow_doc.model_config_ref + if cli_model_config: + model_config_ref = cli_model_config model_keys: list[str] = [] model_dict: dict[str, str] = {} models_params: dict[str, dict[str, Any]] = {} From bcfefa2e80d3a33d8a73c216953c9f2184598950 Mon Sep 17 00:00:00 2001 From: Kevin Backhouse Date: Mon, 27 Apr 2026 19:10:26 +0100 Subject: [PATCH 2/4] Update src/seclab_taskflow_agent/cli.py Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- src/seclab_taskflow_agent/cli.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/seclab_taskflow_agent/cli.py b/src/seclab_taskflow_agent/cli.py index 9b1ac21..0d25895 100644 --- a/src/seclab_taskflow_agent/cli.py +++ b/src/seclab_taskflow_agent/cli.py @@ -109,7 +109,7 @@ def main( ] = None, model_config: Annotated[ str | None, - typer.Option("-m", "--model-config", help="Model configuration module path. Only relevant when running taskflows"), + typer.Option("-m", "--model-config", help="Model configuration module path. Only relevant when running taskflows."), ] = None, ) -> None: """Run a taskflow or personality-based agent session.""" From 1e40a63e9728d6c1eade7a48e8dbc1de9a500bd1 Mon Sep 17 00:00:00 2001 From: Man Yue Mo Date: Tue, 28 Apr 2026 14:42:34 +0000 Subject: [PATCH 3/4] addressed comments --- src/seclab_taskflow_agent/cli.py | 2 +- src/seclab_taskflow_agent/runner.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/seclab_taskflow_agent/cli.py b/src/seclab_taskflow_agent/cli.py index 0d25895..6977315 100644 --- a/src/seclab_taskflow_agent/cli.py +++ b/src/seclab_taskflow_agent/cli.py @@ -160,7 +160,7 @@ def main( asyncio.run( run_main( available_tools, personality, effective_taskflow, - cli_globals, user_prompt, cli_model_config = model_config, resume_session_id=resume, + cli_globals, user_prompt, resume_session_id=resume, cli_model_config=model_config, ), debug=debug, ) diff --git a/src/seclab_taskflow_agent/runner.py b/src/seclab_taskflow_agent/runner.py index 93aca17..1de13d6 100644 --- a/src/seclab_taskflow_agent/runner.py +++ b/src/seclab_taskflow_agent/runner.py @@ -451,8 +451,8 @@ async def run_main( taskflow_path: str | None, cli_globals: dict[str, str], prompt: str | None, - cli_model_config: str | None, resume_session_id: str | None = None, + cli_model_config: str | None = None, ) -> None: """Main entry point for taskflow/personality execution. From 085f113014eeda0850300c8cf2b984f10616ff83 Mon Sep 17 00:00:00 2001 From: Kevin Backhouse Date: Fri, 22 May 2026 11:15:07 +0100 Subject: [PATCH 4/4] Fix indentation in cli.py --- src/seclab_taskflow_agent/cli.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/seclab_taskflow_agent/cli.py b/src/seclab_taskflow_agent/cli.py index 3eff06a..b5bf2eb 100644 --- a/src/seclab_taskflow_agent/cli.py +++ b/src/seclab_taskflow_agent/cli.py @@ -162,7 +162,7 @@ def main( asyncio.run( run_main( available_tools, personality, effective_taskflow, - cli_globals, user_prompt, resume_session_id=resume, cli_model_config=model_config, + cli_globals, user_prompt, resume_session_id=resume, cli_model_config=model_config, ), debug=debug, )