agentx-dev 3.1.1__tar.gz → 3.1.2__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.
- {agentx_dev-3.1.1/agentx_dev.egg-info → agentx_dev-3.1.2}/PKG-INFO +1 -1
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/agentx_dev/Evals.py +8 -2
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/agentx_dev/Tools.py +54 -0
- {agentx_dev-3.1.1 → agentx_dev-3.1.2/agentx_dev.egg-info}/PKG-INFO +1 -1
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/pyproject.toml +1 -1
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/AGENTX.md +0 -0
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/LICENSE +0 -0
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/MANIFEST.in +0 -0
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/README.md +0 -0
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/agentx_dev/Agents/Agent.py +0 -0
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/agentx_dev/Agents/__init__.py +0 -0
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/agentx_dev/AsyncTools.py +0 -0
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/agentx_dev/AutoSetup.py +0 -0
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/agentx_dev/Cache.py +0 -0
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/agentx_dev/ChatModel.py +0 -0
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/agentx_dev/Compiler.py +0 -0
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/agentx_dev/Config.py +0 -0
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/agentx_dev/DefaultTools.py +0 -0
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/agentx_dev/Embeddings.py +0 -0
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/agentx_dev/Handoffs.py +0 -0
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/agentx_dev/Loader.py +0 -0
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/agentx_dev/MCP.py +0 -0
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/agentx_dev/Memory.py +0 -0
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/agentx_dev/Observability.py +0 -0
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/agentx_dev/Planner.py +0 -0
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/agentx_dev/Runner/AgentRun.py +0 -0
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/agentx_dev/Runner/AsyncAgentRun.py +0 -0
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/agentx_dev/Runner/__init__.py +0 -0
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/agentx_dev/Runner/promptTemplate.yaml +0 -0
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/agentx_dev/Session.py +0 -0
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/agentx_dev/Splitters.py +0 -0
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/agentx_dev/Streaming.py +0 -0
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/agentx_dev/Supervisor.py +0 -0
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/agentx_dev/VectorStores/__init__.py +0 -0
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/agentx_dev/VectorStores/chroma_store.py +0 -0
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/agentx_dev/VectorStores/pg_store.py +0 -0
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/agentx_dev/VectorStores/qdrant_store.py +0 -0
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/agentx_dev/WebTools.py +0 -0
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/agentx_dev/__init__.py +0 -0
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/agentx_dev/resources/__init__.py +0 -0
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/agentx_dev/resources/promptTemplate.yaml +0 -0
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/agentx_dev.egg-info/SOURCES.txt +0 -0
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/agentx_dev.egg-info/dependency_links.txt +0 -0
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/agentx_dev.egg-info/requires.txt +0 -0
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/agentx_dev.egg-info/top_level.txt +0 -0
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/examples/README.md +0 -0
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/examples/agentic_rag_demo.py +0 -0
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/examples/async_example.py +0 -0
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/examples/async_quickstart.py +0 -0
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/examples/auto_features_example.py +0 -0
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/examples/caching_example.py +0 -0
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/examples/chatbot_example.py +0 -0
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/examples/complete_example.py +0 -0
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/examples/concurrent_example.py +0 -0
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/examples/concurrent_tool_example.py +0 -0
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/examples/file_agent_demo.py +0 -0
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/examples/function_calling_demo.py +0 -0
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/examples/mcp_demo.py +0 -0
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/examples/observability_example.py +0 -0
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/examples/orchestration_demo.py +0 -0
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/examples/planner_example.py +0 -0
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/examples/supervisor_codebase_analysis_demo.py +0 -0
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/examples/supervisor_example.py +0 -0
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/examples/sync_quickstart.py +0 -0
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/examples/v3_1_1_features_demo.py +0 -0
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/examples/v3_1_comprehensive_demo.py +0 -0
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/examples/v3_1_features_demo.py +0 -0
- {agentx_dev-3.1.1 → agentx_dev-3.1.2}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agentx-dev
|
|
3
|
-
Version: 3.1.
|
|
3
|
+
Version: 3.1.2
|
|
4
4
|
Summary: A production-grade Python framework for building LLM agents. Multi-provider chat, permission-gated tools, RAG (in-mem + Chroma/Qdrant/pgvector), semantic memory, Supervisor + Handoffs multi-agent orchestration with streaming, evals harness, prompt caching, Batch API, prompt-optimizer, MCP integration.
|
|
5
5
|
Author-email: Bruce-Arhin Shadrach <brucearhin098@gmail.com>
|
|
6
6
|
License: MIT License
|
|
@@ -168,8 +168,14 @@ def llm_judge(
|
|
|
168
168
|
except Exception as e:
|
|
169
169
|
return False, f"llm_judge({criterion!r}): ERROR calling judge -- {e}"
|
|
170
170
|
first_line = reply.splitlines()[0] if reply else ""
|
|
171
|
-
|
|
172
|
-
|
|
171
|
+
# Match YES or NO at the start of the reply, respecting word
|
|
172
|
+
# boundaries. Different providers punctuate the verdict
|
|
173
|
+
# differently ("YES", "Yes.", "YES,", "yes -- ") -- all of
|
|
174
|
+
# these should register as YES.
|
|
175
|
+
import re as _re
|
|
176
|
+
m = _re.match(r"\s*(YES|NO)\b", first_line, _re.IGNORECASE)
|
|
177
|
+
verdict = m.group(1).upper() if m else ""
|
|
178
|
+
ok = verdict == "YES"
|
|
173
179
|
return ok, f"llm_judge({criterion!r}): {'PASS' if ok else 'FAIL'} -- {first_line[:120]}"
|
|
174
180
|
return _check
|
|
175
181
|
|
|
@@ -167,6 +167,60 @@ from typing import List, Dict, Any
|
|
|
167
167
|
# # Suggestion: Placing local application imports after standard library imports is a common convention.
|
|
168
168
|
|
|
169
169
|
|
|
170
|
+
# ---------------------------------------------------------------------------
|
|
171
|
+
# Convenience re-exports so `agentx_dev.Tools` is a one-stop namespace
|
|
172
|
+
#
|
|
173
|
+
# Users can now import any tool from this module:
|
|
174
|
+
#
|
|
175
|
+
# from agentx_dev.Tools import (
|
|
176
|
+
# StandardTool, StructuredTool, # wrappers (defined above)
|
|
177
|
+
# web_search_tool, web_fetch_tool, # web
|
|
178
|
+
# vector_search_tool, # RAG
|
|
179
|
+
# handoff_tool, # multi-agent
|
|
180
|
+
# DefaultTools, Permissions, # sandboxed filesystem tools
|
|
181
|
+
# )
|
|
182
|
+
#
|
|
183
|
+
# The top-level imports (from agentx_dev import ...) still work; this is
|
|
184
|
+
# purely additive so callers who prefer the namespaced form get it too.
|
|
185
|
+
# Lazy-import-inside-getattr keeps import time low and avoids circular
|
|
186
|
+
# imports with modules that already import from Tools.py.
|
|
187
|
+
# ---------------------------------------------------------------------------
|
|
188
|
+
|
|
189
|
+
_TOOL_EXPORTS = {
|
|
190
|
+
# Web tools
|
|
191
|
+
"web_search_tool": ("agentx_dev.WebTools", "web_search_tool"),
|
|
192
|
+
"web_fetch_tool": ("agentx_dev.WebTools", "web_fetch_tool"),
|
|
193
|
+
# RAG
|
|
194
|
+
"vector_search_tool": ("agentx_dev.Embeddings", "vector_search_tool"),
|
|
195
|
+
# Multi-agent handoffs
|
|
196
|
+
"handoff_tool": ("agentx_dev.Handoffs", "handoff_tool"),
|
|
197
|
+
# Async tool wrappers (siblings to Standard/Structured)
|
|
198
|
+
"AsyncStandardTool": ("agentx_dev.AsyncTools", "AsyncStandardTool"),
|
|
199
|
+
"AsyncStructuredTool": ("agentx_dev.AsyncTools", "AsyncStructuredTool"),
|
|
200
|
+
# Filesystem / permissions
|
|
201
|
+
"DefaultTools": ("agentx_dev.DefaultTools", "DefaultTools"),
|
|
202
|
+
"Permissions": ("agentx_dev.DefaultTools", "Permissions"),
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
|
|
206
|
+
def __getattr__(name):
|
|
207
|
+
"""PEP 562 module __getattr__: lazy-load re-exports on first access."""
|
|
208
|
+
if name in _TOOL_EXPORTS:
|
|
209
|
+
import importlib
|
|
210
|
+
mod_name, attr_name = _TOOL_EXPORTS[name]
|
|
211
|
+
mod = importlib.import_module(mod_name)
|
|
212
|
+
obj = getattr(mod, attr_name)
|
|
213
|
+
# Cache on the module so subsequent lookups skip the importlib call.
|
|
214
|
+
globals()[name] = obj
|
|
215
|
+
return obj
|
|
216
|
+
raise AttributeError(f"module 'agentx_dev.Tools' has no attribute {name!r}")
|
|
217
|
+
|
|
218
|
+
|
|
219
|
+
def __dir__():
|
|
220
|
+
"""Expose the re-exports to `dir(agentx_dev.Tools)` and IDE autocomplete."""
|
|
221
|
+
return sorted(list(globals().keys()) + list(_TOOL_EXPORTS.keys()))
|
|
222
|
+
|
|
223
|
+
|
|
170
224
|
|
|
171
225
|
|
|
172
226
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agentx-dev
|
|
3
|
-
Version: 3.1.
|
|
3
|
+
Version: 3.1.2
|
|
4
4
|
Summary: A production-grade Python framework for building LLM agents. Multi-provider chat, permission-gated tools, RAG (in-mem + Chroma/Qdrant/pgvector), semantic memory, Supervisor + Handoffs multi-agent orchestration with streaming, evals harness, prompt caching, Batch API, prompt-optimizer, MCP integration.
|
|
5
5
|
Author-email: Bruce-Arhin Shadrach <brucearhin098@gmail.com>
|
|
6
6
|
License: MIT License
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
|
|
3
3
|
name = "agentx-dev"
|
|
4
|
-
version = "3.1.
|
|
4
|
+
version = "3.1.2"
|
|
5
5
|
description = "A production-grade Python framework for building LLM agents. Multi-provider chat, permission-gated tools, RAG (in-mem + Chroma/Qdrant/pgvector), semantic memory, Supervisor + Handoffs multi-agent orchestration with streaming, evals harness, prompt caching, Batch API, prompt-optimizer, MCP integration."
|
|
6
6
|
authors = [{ name = "Bruce-Arhin Shadrach", email = "brucearhin098@gmail.com" }]
|
|
7
7
|
# Best practice: link to the license file
|
|
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
|
|
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
|