agentx-python 0.6.26__tar.gz → 0.6.27__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.26/agentx_python.egg-info → agentx_python-0.6.27}/PKG-INFO +1 -1
  2. {agentx_python-0.6.26 → agentx_python-0.6.27}/agentx/tracing/tracer.py +31 -3
  3. agentx_python-0.6.27/agentx/version.py +1 -0
  4. {agentx_python-0.6.26 → agentx_python-0.6.27/agentx_python.egg-info}/PKG-INFO +1 -1
  5. agentx_python-0.6.26/agentx/version.py +0 -1
  6. {agentx_python-0.6.26 → agentx_python-0.6.27}/LICENSE +0 -0
  7. {agentx_python-0.6.26 → agentx_python-0.6.27}/README.md +0 -0
  8. {agentx_python-0.6.26 → agentx_python-0.6.27}/agentx/__init__.py +0 -0
  9. {agentx_python-0.6.26 → agentx_python-0.6.27}/agentx/agentx.py +0 -0
  10. {agentx_python-0.6.26 → agentx_python-0.6.27}/agentx/cli.py +0 -0
  11. {agentx_python-0.6.26 → agentx_python-0.6.27}/agentx/evaluations/__init__.py +0 -0
  12. {agentx_python-0.6.26 → agentx_python-0.6.27}/agentx/evaluations/_term.py +0 -0
  13. {agentx_python-0.6.26 → agentx_python-0.6.27}/agentx/evaluations/adapters/__init__.py +0 -0
  14. {agentx_python-0.6.26 → agentx_python-0.6.27}/agentx/evaluations/adapters/http_endpoint.py +0 -0
  15. {agentx_python-0.6.26 → agentx_python-0.6.27}/agentx/evaluations/adapters/precomputed.py +0 -0
  16. {agentx_python-0.6.26 → agentx_python-0.6.27}/agentx/evaluations/adapters/raw.py +0 -0
  17. {agentx_python-0.6.26 → agentx_python-0.6.27}/agentx/evaluations/client.py +0 -0
  18. {agentx_python-0.6.26 → agentx_python-0.6.27}/agentx/evaluations/datasets.py +0 -0
  19. {agentx_python-0.6.26 → agentx_python-0.6.27}/agentx/evaluations/evaluation_settings.py +0 -0
  20. {agentx_python-0.6.26 → agentx_python-0.6.27}/agentx/evaluations/models.py +0 -0
  21. {agentx_python-0.6.26 → agentx_python-0.6.27}/agentx/evaluations/prompts.py +0 -0
  22. {agentx_python-0.6.26 → agentx_python-0.6.27}/agentx/evaluations/redaction.py +0 -0
  23. {agentx_python-0.6.26 → agentx_python-0.6.27}/agentx/evaluations/reporting.py +0 -0
  24. {agentx_python-0.6.26 → agentx_python-0.6.27}/agentx/evaluations/results.py +0 -0
  25. {agentx_python-0.6.26 → agentx_python-0.6.27}/agentx/evaluations/runner.py +0 -0
  26. {agentx_python-0.6.26 → agentx_python-0.6.27}/agentx/evaluations/tracing.py +0 -0
  27. {agentx_python-0.6.26 → agentx_python-0.6.27}/agentx/exceptions.py +0 -0
  28. {agentx_python-0.6.26 → agentx_python-0.6.27}/agentx/feedback.py +0 -0
  29. {agentx_python-0.6.26 → agentx_python-0.6.27}/agentx/integrations/__init__.py +0 -0
  30. {agentx_python-0.6.26 → agentx_python-0.6.27}/agentx/integrations/_traced_call.py +0 -0
  31. {agentx_python-0.6.26 → agentx_python-0.6.27}/agentx/integrations/anthropic.py +0 -0
  32. {agentx_python-0.6.26 → agentx_python-0.6.27}/agentx/integrations/autogen.py +0 -0
  33. {agentx_python-0.6.26 → agentx_python-0.6.27}/agentx/integrations/crewai.py +0 -0
  34. {agentx_python-0.6.26 → agentx_python-0.6.27}/agentx/integrations/databricks.py +0 -0
  35. {agentx_python-0.6.26 → agentx_python-0.6.27}/agentx/integrations/google_adk.py +0 -0
  36. {agentx_python-0.6.26 → agentx_python-0.6.27}/agentx/integrations/google_genai.py +0 -0
  37. {agentx_python-0.6.26 → agentx_python-0.6.27}/agentx/integrations/langchain.py +0 -0
  38. {agentx_python-0.6.26 → agentx_python-0.6.27}/agentx/integrations/litellm.py +0 -0
  39. {agentx_python-0.6.26 → agentx_python-0.6.27}/agentx/integrations/llamaindex.py +0 -0
  40. {agentx_python-0.6.26 → agentx_python-0.6.27}/agentx/integrations/moveworks.py +0 -0
  41. {agentx_python-0.6.26 → agentx_python-0.6.27}/agentx/integrations/openai.py +0 -0
  42. {agentx_python-0.6.26 → agentx_python-0.6.27}/agentx/integrations/openai_agents.py +0 -0
  43. {agentx_python-0.6.26 → agentx_python-0.6.27}/agentx/monitor/__init__.py +0 -0
  44. {agentx_python-0.6.26 → agentx_python-0.6.27}/agentx/monitor/client.py +0 -0
  45. {agentx_python-0.6.26 → agentx_python-0.6.27}/agentx/monitor/models.py +0 -0
  46. {agentx_python-0.6.26 → agentx_python-0.6.27}/agentx/monitor/online_evaluators.py +0 -0
  47. {agentx_python-0.6.26 → agentx_python-0.6.27}/agentx/monitor/patterns.py +0 -0
  48. {agentx_python-0.6.26 → agentx_python-0.6.27}/agentx/monitor/profile.py +0 -0
  49. {agentx_python-0.6.26 → agentx_python-0.6.27}/agentx/monitor/signals.py +0 -0
  50. {agentx_python-0.6.26 → agentx_python-0.6.27}/agentx/outcomes.py +0 -0
  51. {agentx_python-0.6.26 → agentx_python-0.6.27}/agentx/py.typed +0 -0
  52. {agentx_python-0.6.26 → agentx_python-0.6.27}/agentx/resources/__init__.py +0 -0
  53. {agentx_python-0.6.26 → agentx_python-0.6.27}/agentx/resources/agent.py +0 -0
  54. {agentx_python-0.6.26 → agentx_python-0.6.27}/agentx/resources/conversation.py +0 -0
  55. {agentx_python-0.6.26 → agentx_python-0.6.27}/agentx/resources/workforce.py +0 -0
  56. {agentx_python-0.6.26 → agentx_python-0.6.27}/agentx/tracing/__init__.py +0 -0
  57. {agentx_python-0.6.26 → agentx_python-0.6.27}/agentx/tracing/ci_types.py +0 -0
  58. {agentx_python-0.6.26 → agentx_python-0.6.27}/agentx/tracing/ingest_client.py +0 -0
  59. {agentx_python-0.6.26 → agentx_python-0.6.27}/agentx/util.py +0 -0
  60. {agentx_python-0.6.26 → agentx_python-0.6.27}/agentx_python.egg-info/SOURCES.txt +0 -0
  61. {agentx_python-0.6.26 → agentx_python-0.6.27}/agentx_python.egg-info/dependency_links.txt +0 -0
  62. {agentx_python-0.6.26 → agentx_python-0.6.27}/agentx_python.egg-info/entry_points.txt +0 -0
  63. {agentx_python-0.6.26 → agentx_python-0.6.27}/agentx_python.egg-info/not-zip-safe +0 -0
  64. {agentx_python-0.6.26 → agentx_python-0.6.27}/agentx_python.egg-info/requires.txt +0 -0
  65. {agentx_python-0.6.26 → agentx_python-0.6.27}/agentx_python.egg-info/top_level.txt +0 -0
  66. {agentx_python-0.6.26 → agentx_python-0.6.27}/setup.cfg +0 -0
  67. {agentx_python-0.6.26 → agentx_python-0.6.27}/setup.py +0 -0
  68. {agentx_python-0.6.26 → agentx_python-0.6.27}/tests/test_integration.py +0 -0
  69. {agentx_python-0.6.26 → agentx_python-0.6.27}/tests/test_integrations.py +0 -0
  70. {agentx_python-0.6.26 → agentx_python-0.6.27}/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.26
3
+ Version: 0.6.27
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
@@ -414,6 +414,7 @@ class _TraceSpan:
414
414
  duration_ms=step.get("duration_ms"),
415
415
  input=step.get("query"),
416
416
  output=step.get("output"),
417
+ metadata={"kind": "retrieval"},
417
418
  )
418
419
 
419
420
  if self.input is None and input is not None:
@@ -561,6 +562,7 @@ class Tracer:
561
562
  def __init__(self, ingest_client: IngestClient) -> None:
562
563
  self._client = ingest_client
563
564
  self._pending_tool_calls: List[Dict[str, Any]] = []
565
+ self._pending_retrievals: List[Dict[str, Any]] = []
564
566
  self._local = threading.local()
565
567
 
566
568
  # ------------------------------------------------------------------
@@ -736,12 +738,27 @@ class Tracer:
736
738
  Manually record a knowledge-base / vector-store retrieval that an
737
739
  auto-instrumented framework integration can't see on its own - e.g. a
738
740
  hand-rolled RAG lookup wrapped around a raw Anthropic/OpenAI call or a
739
- CrewAI kickoff. Sent as a real child-span row of the active span (see ``current_span``) -
740
- requires an enclosing ``with tracer.trace(...)`` block; a no-op (nothing to attach a child
741
- to) if called outside one.
741
+ CrewAI kickoff. Sent as a real child-span row of the active span (see ``current_span``);
742
+ with no active span it queues and merges into the very next trace this tracer sends
743
+ (same behavior as ``record_tool_call``, covering the patched-client flow where the
744
+ retrieval runs just before a standalone ``messages.create()`` /
745
+ ``chat.completions.create()`` call).
742
746
  """
743
747
  active_span = self.current_span
744
748
  if active_span is None:
749
+ latency_ms = (
750
+ int(duration_ms)
751
+ if duration_ms is not None
752
+ else int((end_time - start_time) * 1000)
753
+ if start_time is not None and end_time is not None
754
+ else None
755
+ )
756
+ self._pending_retrievals.append({
757
+ "name": name,
758
+ "query": _safe_serialize(query) if query is not None else None,
759
+ "output": _safe_serialize(output) if output is not None else None,
760
+ "duration_ms": latency_ms,
761
+ })
745
762
  return
746
763
  # The kind marker is what tells the engine (retrieval-context extraction for RAG
747
764
  # judges) and the dashboard timeline that this span is a retrieval regardless of its
@@ -1104,6 +1121,17 @@ class Tracer:
1104
1121
  # a projection that predates them would silently strip exactly the failure evidence.
1105
1122
  wire["tool_calls"] = list(wire.get("tool_calls") or []) + [dict(t) for t in pending_tool_calls]
1106
1123
 
1124
+ # record_retrieval entries queued with no active span ride the root's
1125
+ # performance_summary.retrieval_steps - the same shape older flat traces used, which the
1126
+ # engine's retrieval-context extraction and the dashboard's references panel both read.
1127
+ pending_retrievals, self._pending_retrievals = self._pending_retrievals, []
1128
+ if pending_retrievals:
1129
+ summary = dict(wire.get("performance_summary") or {})
1130
+ summary["retrieval_steps"] = list(summary.get("retrieval_steps") or []) + [
1131
+ dict(r) for r in pending_retrievals
1132
+ ]
1133
+ wire["performance_summary"] = summary
1134
+
1107
1135
  return self._dispatch(wire, sync=sync)
1108
1136
 
1109
1137
  def _dispatch(self, wire: Dict[str, Any], *, sync: bool = False) -> Optional[str]:
@@ -0,0 +1 @@
1
+ VERSION = "0.6.27"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agentx-python
3
- Version: 0.6.26
3
+ Version: 0.6.27
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.26"
File without changes
File without changes
File without changes
File without changes