maf-cachebench 0.2.0__tar.gz → 0.3.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.
Files changed (29) hide show
  1. {maf_cachebench-0.2.0 → maf_cachebench-0.3.1}/PKG-INFO +7 -7
  2. {maf_cachebench-0.2.0 → maf_cachebench-0.3.1}/pyproject.toml +7 -7
  3. {maf_cachebench-0.2.0 → maf_cachebench-0.3.1}/pyproject.toml.orig +8 -8
  4. {maf_cachebench-0.2.0 → maf_cachebench-0.3.1}/src/maf_cachebench/__init__.py +1 -1
  5. {maf_cachebench-0.2.0 → maf_cachebench-0.3.1}/src/maf_cachebench/_tokenizers.py +2 -3
  6. {maf_cachebench-0.2.0 → maf_cachebench-0.3.1}/LICENSE +0 -0
  7. {maf_cachebench-0.2.0 → maf_cachebench-0.3.1}/README.md +0 -0
  8. {maf_cachebench-0.2.0 → maf_cachebench-0.3.1}/src/maf_cachebench/__main__.py +0 -0
  9. {maf_cachebench-0.2.0 → maf_cachebench-0.3.1}/src/maf_cachebench/_advise_cli.py +0 -0
  10. {maf_cachebench-0.2.0 → maf_cachebench-0.3.1}/src/maf_cachebench/_advisor.py +0 -0
  11. {maf_cachebench-0.2.0 → maf_cachebench-0.3.1}/src/maf_cachebench/_cli.py +0 -0
  12. {maf_cachebench-0.2.0 → maf_cachebench-0.3.1}/src/maf_cachebench/_cli_selection.py +0 -0
  13. {maf_cachebench-0.2.0 → maf_cachebench-0.3.1}/src/maf_cachebench/_fill.py +0 -0
  14. {maf_cachebench-0.2.0 → maf_cachebench-0.3.1}/src/maf_cachebench/_live.py +0 -0
  15. {maf_cachebench-0.2.0 → maf_cachebench-0.3.1}/src/maf_cachebench/_live_cli.py +0 -0
  16. {maf_cachebench-0.2.0 → maf_cachebench-0.3.1}/src/maf_cachebench/_metrics.py +0 -0
  17. {maf_cachebench-0.2.0 → maf_cachebench-0.3.1}/src/maf_cachebench/_providers.py +0 -0
  18. {maf_cachebench-0.2.0 → maf_cachebench-0.3.1}/src/maf_cachebench/_recall.py +0 -0
  19. {maf_cachebench-0.2.0 → maf_cachebench-0.3.1}/src/maf_cachebench/_recall_cli.py +0 -0
  20. {maf_cachebench-0.2.0 → maf_cachebench-0.3.1}/src/maf_cachebench/_records.py +0 -0
  21. {maf_cachebench-0.2.0 → maf_cachebench-0.3.1}/src/maf_cachebench/_report.py +0 -0
  22. {maf_cachebench-0.2.0 → maf_cachebench-0.3.1}/src/maf_cachebench/_run_identity.py +0 -0
  23. {maf_cachebench-0.2.0 → maf_cachebench-0.3.1}/src/maf_cachebench/_runner.py +0 -0
  24. {maf_cachebench-0.2.0 → maf_cachebench-0.3.1}/src/maf_cachebench/_strategies.py +0 -0
  25. {maf_cachebench-0.2.0 → maf_cachebench-0.3.1}/src/maf_cachebench/_summary.py +0 -0
  26. {maf_cachebench-0.2.0 → maf_cachebench-0.3.1}/src/maf_cachebench/_summary_cli.py +0 -0
  27. {maf_cachebench-0.2.0 → maf_cachebench-0.3.1}/src/maf_cachebench/_transcripts.py +0 -0
  28. {maf_cachebench-0.2.0 → maf_cachebench-0.3.1}/src/maf_cachebench/_types.py +0 -0
  29. {maf_cachebench-0.2.0 → maf_cachebench-0.3.1}/src/maf_cachebench/py.typed +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: maf-cachebench
3
- Version: 0.2.0
3
+ Version: 0.3.1
4
4
  Summary: Benchmark for Microsoft Agent Framework compaction strategies: what each one costs in prompt-cache hits and what it loses, measured on a replayed conversation or a live agent.
5
5
  Keywords: benchmark,compaction,prompt-cache,agent-framework,microsoft-agent-framework
6
6
  Author: SOKOLAI BV
@@ -15,15 +15,15 @@ Classifier: Programming Language :: Python :: 3.12
15
15
  Classifier: Programming Language :: Python :: 3.13
16
16
  Classifier: Programming Language :: Python :: 3.14
17
17
  Classifier: Topic :: Software Development :: Testing
18
- Requires-Dist: agent-framework-core>=1.21.0,<1.22
19
- Requires-Dist: maf-compaction>=0.3.0,<0.4
18
+ Requires-Dist: agent-framework-core>=1.22.0,<1.23
19
+ Requires-Dist: maf-compaction>=0.8.0,<0.9
20
20
  Requires-Dist: httpx>=0.27,<1
21
- Requires-Dist: agent-framework-foundry>=1.14.0,<2 ; extra == 'foundry'
21
+ Requires-Dist: agent-framework-foundry>=1.15.0,<2 ; extra == 'foundry'
22
22
  Requires-Dist: azure-identity>=1.17,<2 ; extra == 'foundry'
23
- Requires-Dist: agent-framework-mistral>=1.0.0b260918,<2 ; extra == 'mistral'
24
- Requires-Dist: agent-framework-ollama>=1.0.0b261002,<2 ; extra == 'ollama'
23
+ Requires-Dist: agent-framework-mistral>=1.0.0b261015,<2 ; extra == 'mistral'
24
+ Requires-Dist: agent-framework-ollama>=1.0.0b261015,<2 ; extra == 'ollama'
25
25
  Requires-Dist: ollama>=0.5.3,<0.6 ; extra == 'ollama'
26
- Requires-Dist: agent-framework-openai>=1.15.0,<2 ; extra == 'openai'
26
+ Requires-Dist: agent-framework-openai>=1.17.0,<2 ; extra == 'openai'
27
27
  Requires-Dist: azure-identity>=1.17,<2 ; extra == 'openai'
28
28
  Requires-Dist: tiktoken>=0.8,<1 ; extra == 'tiktoken'
29
29
  Requires-Python: >=3.12, <3.15
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "maf-cachebench"
3
- version = "0.2.0"
3
+ version = "0.3.1"
4
4
  description = "Benchmark for Microsoft Agent Framework compaction strategies: what each one costs in prompt-cache hits and what it loses, measured on a replayed conversation or a live agent."
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.12,<3.15"
@@ -24,8 +24,8 @@ classifiers = [
24
24
  "Topic :: Software Development :: Testing",
25
25
  ]
26
26
  dependencies = [
27
- "agent-framework-core>=1.21.0,<1.22",
28
- "maf-compaction>=0.3.0,<0.4",
27
+ "agent-framework-core>=1.22.0,<1.23",
28
+ "maf-compaction>=0.8.0,<0.9",
29
29
  "httpx>=0.27,<1",
30
30
  ]
31
31
 
@@ -35,16 +35,16 @@ email = "info@sokolai.com"
35
35
 
36
36
  [project.optional-dependencies]
37
37
  openai = [
38
- "agent-framework-openai>=1.15.0,<2",
38
+ "agent-framework-openai>=1.17.0,<2",
39
39
  "azure-identity>=1.17,<2",
40
40
  ]
41
41
  foundry = [
42
- "agent-framework-foundry>=1.14.0,<2",
42
+ "agent-framework-foundry>=1.15.0,<2",
43
43
  "azure-identity>=1.17,<2",
44
44
  ]
45
- mistral = ["agent-framework-mistral>=1.0.0b260918,<2"]
45
+ mistral = ["agent-framework-mistral>=1.0.0b261015,<2"]
46
46
  ollama = [
47
- "agent-framework-ollama>=1.0.0b261002,<2",
47
+ "agent-framework-ollama>=1.0.0b261015,<2",
48
48
  "ollama>=0.5.3,<0.6",
49
49
  ]
50
50
  tiktoken = ["tiktoken>=0.8,<1"]
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "maf-cachebench"
3
- version = "0.2.0"
3
+ version = "0.3.1"
4
4
  description = "Benchmark for Microsoft Agent Framework compaction strategies: what each one costs in prompt-cache hits and what it loses, measured on a replayed conversation or a live agent."
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.12,<3.15"
@@ -27,22 +27,22 @@ classifiers = [
27
27
  dependencies = [
28
28
  # The strategies under measurement, and the private `_compaction` helpers both packages
29
29
  # read; the same minor as maf-compaction pins, for the same reason.
30
- "agent-framework-core>=1.21.0,<1.22",
30
+ "agent-framework-core>=1.22.0,<1.23",
31
31
  # The record strategy must accept the same target as the recall tool.
32
- "maf-compaction>=0.3.0,<0.4",
32
+ "maf-compaction>=0.8.0,<0.9",
33
33
  # Model prices are fetched from OpenRouter for the advisor's cost table.
34
34
  "httpx>=0.27,<1",
35
35
  ]
36
36
 
37
37
  [project.optional-dependencies]
38
38
  # One extra per provider route; a run needs only the client it points at. The floors are the
39
- # client versions the published measurements were made with; the Mistral and Ollama clients
39
+ # client versions qualified with the framework band; the Mistral and Ollama clients
40
40
  # have only pre-release versions on the index, so their floors name one.
41
- openai = ["agent-framework-openai>=1.15.0,<2", "azure-identity>=1.17,<2"]
42
- foundry = ["agent-framework-foundry>=1.14.0,<2", "azure-identity>=1.17,<2"]
43
- mistral = ["agent-framework-mistral>=1.0.0b260918,<2"]
41
+ openai = ["agent-framework-openai>=1.17.0,<2", "azure-identity>=1.17,<2"]
42
+ foundry = ["agent-framework-foundry>=1.15.0,<2", "azure-identity>=1.17,<2"]
43
+ mistral = ["agent-framework-mistral>=1.0.0b261015,<2"]
44
44
  # The Ollama route builds the client's own async HTTP client, so that package is named too.
45
- ollama = ["agent-framework-ollama>=1.0.0b261002,<2", "ollama>=0.5.3,<0.6"]
45
+ ollama = ["agent-framework-ollama>=1.0.0b261015,<2", "ollama>=0.5.3,<0.6"]
46
46
  tiktoken = ["tiktoken>=0.8,<1"]
47
47
 
48
48
  [project.scripts]
@@ -107,7 +107,7 @@ from ._types import CellKey, CellSummary, Transcript, TranscriptTurn, TurnRecord
107
107
  try:
108
108
  __version__ = importlib.metadata.version(__name__)
109
109
  except importlib.metadata.PackageNotFoundError:
110
- __version__ = "0.2.0" # Fallback for development mode
110
+ __version__ = "0.3.1" # Fallback for development mode
111
111
 
112
112
  __all__ = [
113
113
  "AGENT_KINDS",
@@ -28,9 +28,8 @@ REASONING_TOKENS_KEY: Final[str] = "reasoning_output_token_count"
28
28
 
29
29
  _STAMP_MARKER: Final[str] = f'"{REASONING_TOKENS_KEY}"'
30
30
 
31
- #: The member a provider's replayed reasoning item keeps its encrypted payload under. The
32
- #: framework drops it from the top level of a content's ``additional_properties``; this
33
- #: wrapper drops it at any depth below, where the Foundry client keeps a copy of the item.
31
+ #: Legacy serialized prompts can retain the Foundry replay payload even though the
32
+ #: framework's current compaction serializer removes it before token counting.
34
33
  _OPAQUE_KEY: Final[str] = "encrypted_content"
35
34
  _OPAQUE_MARKER: Final[str] = f'"{_OPAQUE_KEY}"'
36
35
 
File without changes
File without changes