agentx-python 0.6.24__tar.gz → 0.6.25__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.
Files changed (70) hide show
  1. {agentx_python-0.6.24 → agentx_python-0.6.25}/PKG-INFO +1 -1
  2. {agentx_python-0.6.24 → agentx_python-0.6.25}/agentx/evaluations/datasets.py +11 -1
  3. {agentx_python-0.6.24 → agentx_python-0.6.25}/agentx/evaluations/models.py +5 -0
  4. {agentx_python-0.6.24 → agentx_python-0.6.25}/agentx/evaluations/results.py +3 -0
  5. agentx_python-0.6.25/agentx/version.py +1 -0
  6. {agentx_python-0.6.24 → agentx_python-0.6.25}/agentx_python.egg-info/PKG-INFO +1 -1
  7. agentx_python-0.6.24/agentx/version.py +0 -1
  8. {agentx_python-0.6.24 → agentx_python-0.6.25}/LICENSE +0 -0
  9. {agentx_python-0.6.24 → agentx_python-0.6.25}/README.md +0 -0
  10. {agentx_python-0.6.24 → agentx_python-0.6.25}/agentx/__init__.py +0 -0
  11. {agentx_python-0.6.24 → agentx_python-0.6.25}/agentx/agentx.py +0 -0
  12. {agentx_python-0.6.24 → agentx_python-0.6.25}/agentx/cli.py +0 -0
  13. {agentx_python-0.6.24 → agentx_python-0.6.25}/agentx/evaluations/__init__.py +0 -0
  14. {agentx_python-0.6.24 → agentx_python-0.6.25}/agentx/evaluations/_term.py +0 -0
  15. {agentx_python-0.6.24 → agentx_python-0.6.25}/agentx/evaluations/adapters/__init__.py +0 -0
  16. {agentx_python-0.6.24 → agentx_python-0.6.25}/agentx/evaluations/adapters/http_endpoint.py +0 -0
  17. {agentx_python-0.6.24 → agentx_python-0.6.25}/agentx/evaluations/adapters/precomputed.py +0 -0
  18. {agentx_python-0.6.24 → agentx_python-0.6.25}/agentx/evaluations/adapters/raw.py +0 -0
  19. {agentx_python-0.6.24 → agentx_python-0.6.25}/agentx/evaluations/client.py +0 -0
  20. {agentx_python-0.6.24 → agentx_python-0.6.25}/agentx/evaluations/evaluation_settings.py +0 -0
  21. {agentx_python-0.6.24 → agentx_python-0.6.25}/agentx/evaluations/prompts.py +0 -0
  22. {agentx_python-0.6.24 → agentx_python-0.6.25}/agentx/evaluations/redaction.py +0 -0
  23. {agentx_python-0.6.24 → agentx_python-0.6.25}/agentx/evaluations/reporting.py +0 -0
  24. {agentx_python-0.6.24 → agentx_python-0.6.25}/agentx/evaluations/runner.py +0 -0
  25. {agentx_python-0.6.24 → agentx_python-0.6.25}/agentx/evaluations/tracing.py +0 -0
  26. {agentx_python-0.6.24 → agentx_python-0.6.25}/agentx/exceptions.py +0 -0
  27. {agentx_python-0.6.24 → agentx_python-0.6.25}/agentx/feedback.py +0 -0
  28. {agentx_python-0.6.24 → agentx_python-0.6.25}/agentx/integrations/__init__.py +0 -0
  29. {agentx_python-0.6.24 → agentx_python-0.6.25}/agentx/integrations/_traced_call.py +0 -0
  30. {agentx_python-0.6.24 → agentx_python-0.6.25}/agentx/integrations/anthropic.py +0 -0
  31. {agentx_python-0.6.24 → agentx_python-0.6.25}/agentx/integrations/autogen.py +0 -0
  32. {agentx_python-0.6.24 → agentx_python-0.6.25}/agentx/integrations/crewai.py +0 -0
  33. {agentx_python-0.6.24 → agentx_python-0.6.25}/agentx/integrations/databricks.py +0 -0
  34. {agentx_python-0.6.24 → agentx_python-0.6.25}/agentx/integrations/google_adk.py +0 -0
  35. {agentx_python-0.6.24 → agentx_python-0.6.25}/agentx/integrations/google_genai.py +0 -0
  36. {agentx_python-0.6.24 → agentx_python-0.6.25}/agentx/integrations/langchain.py +0 -0
  37. {agentx_python-0.6.24 → agentx_python-0.6.25}/agentx/integrations/litellm.py +0 -0
  38. {agentx_python-0.6.24 → agentx_python-0.6.25}/agentx/integrations/llamaindex.py +0 -0
  39. {agentx_python-0.6.24 → agentx_python-0.6.25}/agentx/integrations/moveworks.py +0 -0
  40. {agentx_python-0.6.24 → agentx_python-0.6.25}/agentx/integrations/openai.py +0 -0
  41. {agentx_python-0.6.24 → agentx_python-0.6.25}/agentx/integrations/openai_agents.py +0 -0
  42. {agentx_python-0.6.24 → agentx_python-0.6.25}/agentx/monitor/__init__.py +0 -0
  43. {agentx_python-0.6.24 → agentx_python-0.6.25}/agentx/monitor/client.py +0 -0
  44. {agentx_python-0.6.24 → agentx_python-0.6.25}/agentx/monitor/models.py +0 -0
  45. {agentx_python-0.6.24 → agentx_python-0.6.25}/agentx/monitor/online_evaluators.py +0 -0
  46. {agentx_python-0.6.24 → agentx_python-0.6.25}/agentx/monitor/patterns.py +0 -0
  47. {agentx_python-0.6.24 → agentx_python-0.6.25}/agentx/monitor/profile.py +0 -0
  48. {agentx_python-0.6.24 → agentx_python-0.6.25}/agentx/monitor/signals.py +0 -0
  49. {agentx_python-0.6.24 → agentx_python-0.6.25}/agentx/outcomes.py +0 -0
  50. {agentx_python-0.6.24 → agentx_python-0.6.25}/agentx/py.typed +0 -0
  51. {agentx_python-0.6.24 → agentx_python-0.6.25}/agentx/resources/__init__.py +0 -0
  52. {agentx_python-0.6.24 → agentx_python-0.6.25}/agentx/resources/agent.py +0 -0
  53. {agentx_python-0.6.24 → agentx_python-0.6.25}/agentx/resources/conversation.py +0 -0
  54. {agentx_python-0.6.24 → agentx_python-0.6.25}/agentx/resources/workforce.py +0 -0
  55. {agentx_python-0.6.24 → agentx_python-0.6.25}/agentx/tracing/__init__.py +0 -0
  56. {agentx_python-0.6.24 → agentx_python-0.6.25}/agentx/tracing/ci_types.py +0 -0
  57. {agentx_python-0.6.24 → agentx_python-0.6.25}/agentx/tracing/ingest_client.py +0 -0
  58. {agentx_python-0.6.24 → agentx_python-0.6.25}/agentx/tracing/tracer.py +0 -0
  59. {agentx_python-0.6.24 → agentx_python-0.6.25}/agentx/util.py +0 -0
  60. {agentx_python-0.6.24 → agentx_python-0.6.25}/agentx_python.egg-info/SOURCES.txt +0 -0
  61. {agentx_python-0.6.24 → agentx_python-0.6.25}/agentx_python.egg-info/dependency_links.txt +0 -0
  62. {agentx_python-0.6.24 → agentx_python-0.6.25}/agentx_python.egg-info/entry_points.txt +0 -0
  63. {agentx_python-0.6.24 → agentx_python-0.6.25}/agentx_python.egg-info/not-zip-safe +0 -0
  64. {agentx_python-0.6.24 → agentx_python-0.6.25}/agentx_python.egg-info/requires.txt +0 -0
  65. {agentx_python-0.6.24 → agentx_python-0.6.25}/agentx_python.egg-info/top_level.txt +0 -0
  66. {agentx_python-0.6.24 → agentx_python-0.6.25}/setup.cfg +0 -0
  67. {agentx_python-0.6.24 → agentx_python-0.6.25}/setup.py +0 -0
  68. {agentx_python-0.6.24 → agentx_python-0.6.25}/tests/test_integration.py +0 -0
  69. {agentx_python-0.6.24 → agentx_python-0.6.25}/tests/test_integrations.py +0 -0
  70. {agentx_python-0.6.24 → agentx_python-0.6.25}/tests/test_span_tree.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agentx-python
3
- Version: 0.6.24
3
+ Version: 0.6.25
4
4
  Summary: Official Python SDK for AgentX (https://www.agentx.so/)
5
5
  Home-page: https://github.com/AgentX-ai/AgentX-python
6
6
  Author: Robin Wang and AgentX Team
@@ -3,7 +3,7 @@ from __future__ import annotations
3
3
  import csv
4
4
  import logging
5
5
  from pathlib import Path
6
- from typing import Any, Dict, List, Optional, TYPE_CHECKING
6
+ from typing import Any, Dict, List, Optional, TYPE_CHECKING, Union
7
7
 
8
8
  from agentx.evaluations.models import Dataset
9
9
 
@@ -88,6 +88,7 @@ class DatasetBuilder:
88
88
  smoke_test_guidance: Optional[str] = None,
89
89
  expected_tools: Optional[List[str]] = None,
90
90
  trajectory_match_mode: str = "strict",
91
+ expected_retrieval_context: Optional[Union[str, List[str]]] = None,
91
92
  ) -> "DatasetBuilder":
92
93
  """Add a case. `judge_guideline` is optional grading guidance specific to this question.
93
94
 
@@ -99,6 +100,13 @@ class DatasetBuilder:
99
100
  any order), "superset" (all expected present, extras allowed), or "subset" (no unexpected
100
101
  calls, missing allowed).
101
102
 
103
+ `expected_retrieval_context` (string or list of chunk strings) declares what a correct
104
+ retriever should have fetched for this case. When the run's result carries actual
105
+ retrieved context (a `retrieval_context` return value, or a linked trace with retrieval
106
+ spans), the engine compares the two with token-level Jaccard similarity and reports a
107
+ deterministic "Context match (jaccard)" scorer row (0-1) - a cheap retriever regression
108
+ check with no LLM judge call.
109
+
102
110
  `smoke_test_count`, when set (1-10), asks this question that many extra ways each
103
111
  evaluation run, LLM-paraphrased server-side, to catch agents that are brittle to phrasing
104
112
  rather than genuinely wrong. `smoke_test_guidance` optionally steers what kind of variants
@@ -123,6 +131,8 @@ class DatasetBuilder:
123
131
  main["smokeTest"]["guidance"] = smoke_test_guidance
124
132
  if expected_tools:
125
133
  main["expectedTrajectory"] = {"tools": expected_tools, "mode": trajectory_match_mode}
134
+ if expected_retrieval_context:
135
+ main["expectedRetrievalContext"] = expected_retrieval_context
126
136
  self._payload["questions"].append(
127
137
  {
128
138
  "main_question": main,
@@ -346,6 +346,11 @@ class EvaluationResult(BaseModel):
346
346
  # the dashboard's "Message Trace Details -> Execution Timeline" render the full execution
347
347
  # trace for this case, not just the lightweight observable_trace events above.
348
348
  trace_id: Optional[str] = Field(default=None, alias="traceId")
349
+ # What the agent actually retrieved for THIS case (a string, or list of chunk strings) - the
350
+ # {context} the RAG metric pack's judges grade faithfulness/relevancy against. Overrides the
351
+ # question's static retrievalContext; when absent, the engine falls back to the linked
352
+ # trace's recorded retrieval spans (trace_id above), then the case's pinned context.
353
+ retrieval_context: Optional[Any] = Field(default=None, alias="retrievalContext")
349
354
  # Smoke test: set by execute() from the originating EvaluationCase, not something you need to
350
355
  # set yourself when returning a plain str/dict from your callable.
351
356
  is_smoke_test_variant: Optional[bool] = Field(default=None, alias="isSmokeTestVariant")
@@ -37,6 +37,7 @@ def normalize_result(
37
37
  output: Optional[dict] = None
38
38
  trace = None
39
39
  trace_id: Optional[str] = None
40
+ retrieval_context = None
40
41
  metadata: Optional[dict] = None
41
42
  error: Optional[ResultError] = None
42
43
  input_tokens: Optional[int] = None
@@ -55,6 +56,7 @@ def normalize_result(
55
56
  trace = build_trace(raw.get("trace") or raw.get("observable_trace"))
56
57
  trace_id_raw = raw.get("trace_id") or raw.get("traceId")
57
58
  trace_id = str(trace_id_raw) if trace_id_raw else None
59
+ retrieval_context = raw.get("retrieval_context") or raw.get("retrievalContext")
58
60
  meta_raw = raw.get("metadata")
59
61
  if isinstance(meta_raw, dict):
60
62
  metadata = redact_dict(meta_raw)
@@ -108,6 +110,7 @@ def normalize_result(
108
110
  ),
109
111
  metadata=metadata,
110
112
  traceId=trace_id,
113
+ retrievalContext=retrieval_context,
111
114
  isSmokeTestVariant=case.is_smoke_test_variant,
112
115
  smokeTestVariantText=case.smoke_test_variant_text,
113
116
  )
@@ -0,0 +1 @@
1
+ VERSION = "0.6.25"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agentx-python
3
- Version: 0.6.24
3
+ Version: 0.6.25
4
4
  Summary: Official Python SDK for AgentX (https://www.agentx.so/)
5
5
  Home-page: https://github.com/AgentX-ai/AgentX-python
6
6
  Author: Robin Wang and AgentX Team
@@ -1 +0,0 @@
1
- VERSION = "0.6.24"
File without changes
File without changes
File without changes
File without changes