From fb5091946acbf26c5446b824d35c45113dae612b Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Mon, 26 Jan 2026 16:36:44 +0000 Subject: [PATCH 1/3] feat: Add toolset parameter for agent execution Add AgentToolset type and toolset parameter to agent.execute() method. This allows users to explicitly specify which tool categories to enable for agent execution requests. Available categories: core, image_analysis, image_generation, 3d_reconstruction, visualization, document, video, web, skills. Co-Authored-By: dinesh@vlm.run --- vlmrun/client/agent.py | 12 +++++++++++- vlmrun/client/types.py | 13 +++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/vlmrun/client/agent.py b/vlmrun/client/agent.py index 56f07cb..d59e607 100644 --- a/vlmrun/client/agent.py +++ b/vlmrun/client/agent.py @@ -3,7 +3,7 @@ from __future__ import annotations import warnings from functools import cached_property -from typing import Any, Optional, Union +from typing import Any, List, Optional, Union from pydantic import BaseModel @@ -16,6 +16,7 @@ AgentExecutionConfig, AgentCreationConfig, AgentCreationResponse, + AgentToolset, ) from vlmrun.client.exceptions import DependencyError @@ -169,6 +170,7 @@ def execute( metadata: Optional[RequestMetadata] = None, callback_url: Optional[str] = None, model: str = "vlmrun-orion-1:auto", + toolset: Optional[List[AgentToolset]] = None, ) -> AgentExecutionResponse: """Execute an agent with the given arguments. @@ -180,6 +182,11 @@ def execute( metadata: Optional request metadata callback_url: Optional URL to call when execution is complete model: VLM Run Agent model to use for execution (default: "vlmrun-orion-1:auto") + toolset: Optional list of tool categories to enable for this execution. + Available categories: core, image_analysis, image_generation, 3d_reconstruction, + visualization, document, video, web, skills. + When specified, only tools from these categories will be available. + If None, defaults to 'core' tools only. Returns: AgentExecutionResponse: Agent execution response @@ -203,6 +210,9 @@ def execute( if callback_url: data["callback_url"] = callback_url + if toolset is not None: + data["toolset"] = toolset + response, status_code, headers = self._requestor.request( method="POST", url="agent/execute", diff --git a/vlmrun/client/types.py b/vlmrun/client/types.py index fb32e38..76e050f 100644 --- a/vlmrun/client/types.py +++ b/vlmrun/client/types.py @@ -12,6 +12,19 @@ JobStatus = Literal["enqueued", "pending", "running", "completed", "failed", "paused"] +# AgentToolset type - tool categories available for agent execution +AgentToolset = Literal[ + "core", + "image_analysis", + "image_generation", + "3d_reconstruction", + "visualization", + "document", + "video", + "web", + "skills", +] + @dataclass class APIError(Exception): From 4dd5cbe28cea8ac6e933c95ce896176ba7b99df4 Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Mon, 26 Jan 2026 19:01:43 +0000 Subject: [PATCH 2/3] fix: Rename toolset to toolsets per PR feedback Co-Authored-By: dinesh@vlm.run --- vlmrun/client/agent.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/vlmrun/client/agent.py b/vlmrun/client/agent.py index d59e607..416ae29 100644 --- a/vlmrun/client/agent.py +++ b/vlmrun/client/agent.py @@ -170,7 +170,7 @@ def execute( metadata: Optional[RequestMetadata] = None, callback_url: Optional[str] = None, model: str = "vlmrun-orion-1:auto", - toolset: Optional[List[AgentToolset]] = None, + toolsets: Optional[List[AgentToolset]] = None, ) -> AgentExecutionResponse: """Execute an agent with the given arguments. @@ -182,7 +182,7 @@ def execute( metadata: Optional request metadata callback_url: Optional URL to call when execution is complete model: VLM Run Agent model to use for execution (default: "vlmrun-orion-1:auto") - toolset: Optional list of tool categories to enable for this execution. + toolsets: Optional list of tool categories to enable for this execution. Available categories: core, image_analysis, image_generation, 3d_reconstruction, visualization, document, video, web, skills. When specified, only tools from these categories will be available. @@ -210,8 +210,8 @@ def execute( if callback_url: data["callback_url"] = callback_url - if toolset is not None: - data["toolset"] = toolset + if toolsets is not None: + data["toolsets"] = toolsets response, status_code, headers = self._requestor.request( method="POST", From c23a4e5bc8986275b3a3cd3afff8945071a9b4ab Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Mon, 26 Jan 2026 19:02:47 +0000 Subject: [PATCH 3/3] fix: Update toolset category names per PR feedback - image_analysis -> image - image_generation -> image-gen - visualization -> viz - Remove skills category Co-Authored-By: dinesh@vlm.run --- vlmrun/client/agent.py | 4 ++-- vlmrun/client/types.py | 7 +++---- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/vlmrun/client/agent.py b/vlmrun/client/agent.py index 416ae29..3c02411 100644 --- a/vlmrun/client/agent.py +++ b/vlmrun/client/agent.py @@ -183,8 +183,8 @@ def execute( callback_url: Optional URL to call when execution is complete model: VLM Run Agent model to use for execution (default: "vlmrun-orion-1:auto") toolsets: Optional list of tool categories to enable for this execution. - Available categories: core, image_analysis, image_generation, 3d_reconstruction, - visualization, document, video, web, skills. + Available categories: core, image, image-gen, 3d_reconstruction, + viz, document, video, web. When specified, only tools from these categories will be available. If None, defaults to 'core' tools only. diff --git a/vlmrun/client/types.py b/vlmrun/client/types.py index 76e050f..bc869c3 100644 --- a/vlmrun/client/types.py +++ b/vlmrun/client/types.py @@ -15,14 +15,13 @@ # AgentToolset type - tool categories available for agent execution AgentToolset = Literal[ "core", - "image_analysis", - "image_generation", + "image", + "image-gen", "3d_reconstruction", - "visualization", + "viz", "document", "video", "web", - "skills", ]