margin-meter 0.6.4__tar.gz → 0.6.6__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.
- {margin_meter-0.6.4 → margin_meter-0.6.6}/PKG-INFO +1 -1
- {margin_meter-0.6.4 → margin_meter-0.6.6}/margin_meter/__init__.py +1 -1
- {margin_meter-0.6.4 → margin_meter-0.6.6}/margin_meter/instrument.py +8 -1
- {margin_meter-0.6.4 → margin_meter-0.6.6}/margin_meter.egg-info/PKG-INFO +1 -1
- {margin_meter-0.6.4 → margin_meter-0.6.6}/README.md +0 -0
- {margin_meter-0.6.4 → margin_meter-0.6.6}/margin_meter/__main__.py +0 -0
- {margin_meter-0.6.4 → margin_meter-0.6.6}/margin_meter/batching.py +0 -0
- {margin_meter-0.6.4 → margin_meter-0.6.6}/margin_meter/braintrust.py +0 -0
- {margin_meter-0.6.4 → margin_meter-0.6.6}/margin_meter/client.py +0 -0
- {margin_meter-0.6.4 → margin_meter-0.6.6}/margin_meter/deepeval.py +0 -0
- {margin_meter-0.6.4 → margin_meter-0.6.6}/margin_meter/doctor.py +0 -0
- {margin_meter-0.6.4 → margin_meter-0.6.6}/margin_meter/evals.py +0 -0
- {margin_meter-0.6.4 → margin_meter-0.6.6}/margin_meter/langfuse.py +0 -0
- {margin_meter-0.6.4 → margin_meter-0.6.6}/margin_meter/langsmith.py +0 -0
- {margin_meter-0.6.4 → margin_meter-0.6.6}/margin_meter/model_override.py +0 -0
- {margin_meter-0.6.4 → margin_meter-0.6.6}/margin_meter/promptfoo.py +0 -0
- {margin_meter-0.6.4 → margin_meter-0.6.6}/margin_meter/providers.py +0 -0
- {margin_meter-0.6.4 → margin_meter-0.6.6}/margin_meter/pytest_plugin.py +0 -0
- {margin_meter-0.6.4 → margin_meter-0.6.6}/margin_meter/ragas.py +0 -0
- {margin_meter-0.6.4 → margin_meter-0.6.6}/margin_meter/substrate.py +0 -0
- {margin_meter-0.6.4 → margin_meter-0.6.6}/margin_meter/values.py +0 -0
- {margin_meter-0.6.4 → margin_meter-0.6.6}/margin_meter.egg-info/SOURCES.txt +0 -0
- {margin_meter-0.6.4 → margin_meter-0.6.6}/margin_meter.egg-info/dependency_links.txt +0 -0
- {margin_meter-0.6.4 → margin_meter-0.6.6}/margin_meter.egg-info/entry_points.txt +0 -0
- {margin_meter-0.6.4 → margin_meter-0.6.6}/margin_meter.egg-info/top_level.txt +0 -0
- {margin_meter-0.6.4 → margin_meter-0.6.6}/pyproject.toml +0 -0
- {margin_meter-0.6.4 → margin_meter-0.6.6}/setup.cfg +0 -0
|
@@ -106,4 +106,4 @@ __all__ = [
|
|
|
106
106
|
# closing the invoice-reconcile coverage gap is "ship the fix, wait for the seed's
|
|
107
107
|
# dependency refresh, re-run the reconcile", and a runtime that misreports which
|
|
108
108
|
# SDK metered a call makes that unanswerable.
|
|
109
|
-
__version__ = "0.6.
|
|
109
|
+
__version__ = "0.6.6"
|
|
@@ -1030,7 +1030,7 @@ def _make_litellm_callback(
|
|
|
1030
1030
|
# A callback runs where litellm chose (a thread pool, a logging task, the end of a
|
|
1031
1031
|
# stream), not in the agent's frames: its file is the calling thread's hint or
|
|
1032
1032
|
# nothing, never a frame walk that would name an unrelated file (MAR-1236).
|
|
1033
|
-
from margin_meter.client import _NO_SITE, _SITE_HINT
|
|
1033
|
+
from margin_meter.client import _NO_SITE, _SITE_HINT, prompt_hash_from
|
|
1034
1034
|
site_token = _SITE_HINT.set(_SITE_HINT.get() or _NO_SITE)
|
|
1035
1035
|
try:
|
|
1036
1036
|
meter.record_call(
|
|
@@ -1048,6 +1048,13 @@ def _make_litellm_callback(
|
|
|
1048
1048
|
session_id=session_id,
|
|
1049
1049
|
substrate=_litellm_substrate(kwargs),
|
|
1050
1050
|
task_key=task_key,
|
|
1051
|
+
# MAR-1782: the litellm path (Aider, CrewAI, the run harness) was the one
|
|
1052
|
+
# record site without a fingerprint, so identical repeats never measured.
|
|
1053
|
+
# Only `messages`/`tools`/`system`: litellm sets `input` racily (absent on
|
|
1054
|
+
# some callbacks), which hashed one request two ways (2026-10-11).
|
|
1055
|
+
prompt_hash=prompt_hash_from(
|
|
1056
|
+
{k: kwargs.get(k) for k in ("messages", "tools", "system")}
|
|
1057
|
+
if isinstance(kwargs, dict) else {}),
|
|
1051
1058
|
# The stop reason was extracted with the usage and dropped here, so no
|
|
1052
1059
|
# litellm-routed call (CrewAI, Aider) ever carried one — and a cut-off or
|
|
1053
1060
|
# blocked call is the signal eval drafting reads (MAR-1371).
|
|
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
|