voxagent 0.1.0__tar.gz → 0.1.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {voxagent-0.1.0 → voxagent-0.1.1}/PKG-INFO +1 -1
- {voxagent-0.1.0 → voxagent-0.1.1}/src/voxagent/_version.py +1 -4
- {voxagent-0.1.0 → voxagent-0.1.1}/src/voxagent/mcp/tool.py +2 -1
- {voxagent-0.1.0 → voxagent-0.1.1}/src/voxagent/tools/decorator.py +2 -2
- {voxagent-0.1.0 → voxagent-0.1.1}/src/voxagent/tools/definition.py +10 -24
- {voxagent-0.1.0 → voxagent-0.1.1}/.gitignore +0 -0
- {voxagent-0.1.0 → voxagent-0.1.1}/README.md +0 -0
- {voxagent-0.1.0 → voxagent-0.1.1}/examples/README.md +0 -0
- {voxagent-0.1.0 → voxagent-0.1.1}/pyproject.toml +0 -0
- {voxagent-0.1.0 → voxagent-0.1.1}/src/voxagent/__init__.py +0 -0
- {voxagent-0.1.0 → voxagent-0.1.1}/src/voxagent/agent/__init__.py +0 -0
- {voxagent-0.1.0 → voxagent-0.1.1}/src/voxagent/agent/abort.py +0 -0
- {voxagent-0.1.0 → voxagent-0.1.1}/src/voxagent/agent/core.py +0 -0
- {voxagent-0.1.0 → voxagent-0.1.1}/src/voxagent/code/__init__.py +0 -0
- {voxagent-0.1.0 → voxagent-0.1.1}/src/voxagent/mcp/__init__.py +0 -0
- {voxagent-0.1.0 → voxagent-0.1.1}/src/voxagent/mcp/manager.py +0 -0
- {voxagent-0.1.0 → voxagent-0.1.1}/src/voxagent/providers/__init__.py +0 -0
- {voxagent-0.1.0 → voxagent-0.1.1}/src/voxagent/providers/anthropic.py +0 -0
- {voxagent-0.1.0 → voxagent-0.1.1}/src/voxagent/providers/augment.py +0 -0
- {voxagent-0.1.0 → voxagent-0.1.1}/src/voxagent/providers/auth.py +0 -0
- {voxagent-0.1.0 → voxagent-0.1.1}/src/voxagent/providers/base.py +0 -0
- {voxagent-0.1.0 → voxagent-0.1.1}/src/voxagent/providers/chatgpt.py +0 -0
- {voxagent-0.1.0 → voxagent-0.1.1}/src/voxagent/providers/claudecode.py +0 -0
- {voxagent-0.1.0 → voxagent-0.1.1}/src/voxagent/providers/cli_base.py +0 -0
- {voxagent-0.1.0 → voxagent-0.1.1}/src/voxagent/providers/codex.py +0 -0
- {voxagent-0.1.0 → voxagent-0.1.1}/src/voxagent/providers/failover.py +0 -0
- {voxagent-0.1.0 → voxagent-0.1.1}/src/voxagent/providers/google.py +0 -0
- {voxagent-0.1.0 → voxagent-0.1.1}/src/voxagent/providers/groq.py +0 -0
- {voxagent-0.1.0 → voxagent-0.1.1}/src/voxagent/providers/ollama.py +0 -0
- {voxagent-0.1.0 → voxagent-0.1.1}/src/voxagent/providers/openai.py +0 -0
- {voxagent-0.1.0 → voxagent-0.1.1}/src/voxagent/providers/registry.py +0 -0
- {voxagent-0.1.0 → voxagent-0.1.1}/src/voxagent/py.typed +0 -0
- {voxagent-0.1.0 → voxagent-0.1.1}/src/voxagent/security/__init__.py +0 -0
- {voxagent-0.1.0 → voxagent-0.1.1}/src/voxagent/security/events.py +0 -0
- {voxagent-0.1.0 → voxagent-0.1.1}/src/voxagent/security/filter.py +0 -0
- {voxagent-0.1.0 → voxagent-0.1.1}/src/voxagent/security/registry.py +0 -0
- {voxagent-0.1.0 → voxagent-0.1.1}/src/voxagent/session/__init__.py +0 -0
- {voxagent-0.1.0 → voxagent-0.1.1}/src/voxagent/session/compaction.py +0 -0
- {voxagent-0.1.0 → voxagent-0.1.1}/src/voxagent/session/lock.py +0 -0
- {voxagent-0.1.0 → voxagent-0.1.1}/src/voxagent/session/model.py +0 -0
- {voxagent-0.1.0 → voxagent-0.1.1}/src/voxagent/session/storage.py +0 -0
- {voxagent-0.1.0 → voxagent-0.1.1}/src/voxagent/streaming/__init__.py +0 -0
- {voxagent-0.1.0 → voxagent-0.1.1}/src/voxagent/streaming/emitter.py +0 -0
- {voxagent-0.1.0 → voxagent-0.1.1}/src/voxagent/streaming/events.py +0 -0
- {voxagent-0.1.0 → voxagent-0.1.1}/src/voxagent/subagent/__init__.py +0 -0
- {voxagent-0.1.0 → voxagent-0.1.1}/src/voxagent/subagent/context.py +0 -0
- {voxagent-0.1.0 → voxagent-0.1.1}/src/voxagent/subagent/definition.py +0 -0
- {voxagent-0.1.0 → voxagent-0.1.1}/src/voxagent/tools/__init__.py +0 -0
- {voxagent-0.1.0 → voxagent-0.1.1}/src/voxagent/tools/context.py +0 -0
- {voxagent-0.1.0 → voxagent-0.1.1}/src/voxagent/tools/executor.py +0 -0
- {voxagent-0.1.0 → voxagent-0.1.1}/src/voxagent/tools/policy.py +0 -0
- {voxagent-0.1.0 → voxagent-0.1.1}/src/voxagent/tools/registry.py +0 -0
- {voxagent-0.1.0 → voxagent-0.1.1}/src/voxagent/types/__init__.py +0 -0
- {voxagent-0.1.0 → voxagent-0.1.1}/src/voxagent/types/messages.py +0 -0
- {voxagent-0.1.0 → voxagent-0.1.1}/src/voxagent/types/run.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: voxagent
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.1
|
|
4
4
|
Summary: A lightweight, model-agnostic LLM provider abstraction with streaming and tool support
|
|
5
5
|
Project-URL: Homepage, https://github.com/lensator/voxagent
|
|
6
6
|
Project-URL: Documentation, https://github.com/lensator/voxagent#readme
|
|
@@ -9,7 +9,8 @@ from __future__ import annotations
|
|
|
9
9
|
import re
|
|
10
10
|
from typing import TYPE_CHECKING, Any
|
|
11
11
|
|
|
12
|
-
from voxagent.tools.
|
|
12
|
+
from voxagent.tools.context import ToolContext
|
|
13
|
+
from voxagent.tools.definition import ToolDefinition
|
|
13
14
|
|
|
14
15
|
if TYPE_CHECKING:
|
|
15
16
|
pass
|
|
@@ -86,8 +86,8 @@ def _build_parameters_schema(fn: Callable[..., Any]) -> dict[str, Any]:
|
|
|
86
86
|
required: list[str] = []
|
|
87
87
|
|
|
88
88
|
for param_name, param in sig.parameters.items():
|
|
89
|
-
# Skip 'context' parameter (ToolContext)
|
|
90
|
-
if param_name
|
|
89
|
+
# Skip 'context' or 'ctx' parameter (ToolContext)
|
|
90
|
+
if param_name in ("context", "ctx"):
|
|
91
91
|
continue
|
|
92
92
|
|
|
93
93
|
# Skip *args and **kwargs
|
|
@@ -1,31 +1,16 @@
|
|
|
1
1
|
"""Tool definition classes.
|
|
2
2
|
|
|
3
|
-
This module provides ToolDefinition
|
|
3
|
+
This module provides ToolDefinition for the agent tool system.
|
|
4
|
+
ToolContext is now defined in context.py for centralized management.
|
|
4
5
|
"""
|
|
5
6
|
|
|
6
7
|
from __future__ import annotations
|
|
7
8
|
|
|
8
|
-
import asyncio
|
|
9
9
|
import inspect
|
|
10
|
-
from typing import Any, Callable
|
|
10
|
+
from typing import TYPE_CHECKING, Any, Callable
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
"""Context passed to tool functions during execution.
|
|
15
|
-
|
|
16
|
-
Provides access to abort signals, dependencies, and other runtime context.
|
|
17
|
-
|
|
18
|
-
Attributes:
|
|
19
|
-
abort_signal: An asyncio.Event that can be used to signal cancellation.
|
|
20
|
-
"""
|
|
21
|
-
|
|
22
|
-
def __init__(self, abort_signal: asyncio.Event | None = None) -> None:
|
|
23
|
-
"""Initialize ToolContext.
|
|
24
|
-
|
|
25
|
-
Args:
|
|
26
|
-
abort_signal: Optional event for signaling tool cancellation.
|
|
27
|
-
"""
|
|
28
|
-
self.abort_signal = abort_signal
|
|
12
|
+
if TYPE_CHECKING:
|
|
13
|
+
from voxagent.tools.context import ToolContext
|
|
29
14
|
|
|
30
15
|
|
|
31
16
|
class ToolDefinition:
|
|
@@ -86,15 +71,16 @@ class ToolDefinition:
|
|
|
86
71
|
The result from the tool execution.
|
|
87
72
|
"""
|
|
88
73
|
# Check if execute function accepts 'context' or 'ctx' parameter
|
|
74
|
+
# Prefer 'ctx' over 'context' since 'context' might be a user parameter
|
|
89
75
|
sig = inspect.signature(self.execute)
|
|
90
|
-
accepts_context = "context" in sig.parameters
|
|
91
76
|
accepts_ctx = "ctx" in sig.parameters
|
|
77
|
+
accepts_context = "context" in sig.parameters
|
|
92
78
|
|
|
93
79
|
call_params = dict(params)
|
|
94
|
-
if
|
|
95
|
-
call_params["context"] = context
|
|
96
|
-
elif accepts_ctx:
|
|
80
|
+
if accepts_ctx:
|
|
97
81
|
call_params["ctx"] = context
|
|
82
|
+
elif accepts_context:
|
|
83
|
+
call_params["context"] = context
|
|
98
84
|
|
|
99
85
|
if self.is_async:
|
|
100
86
|
return await self.execute(**call_params)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|