context-forge-cli 0.4.9__tar.gz → 0.4.10__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 (58) hide show
  1. {context_forge_cli-0.4.9 → context_forge_cli-0.4.10}/PKG-INFO +1 -1
  2. {context_forge_cli-0.4.9 → context_forge_cli-0.4.10}/contextforge/core/token_analyzer.py +6 -0
  3. {context_forge_cli-0.4.9 → context_forge_cli-0.4.10}/contextforge/mcp_server.py +13 -3
  4. {context_forge_cli-0.4.9 → context_forge_cli-0.4.10}/pyproject.toml +1 -1
  5. {context_forge_cli-0.4.9 → context_forge_cli-0.4.10}/.contextforge.toml +0 -0
  6. {context_forge_cli-0.4.9 → context_forge_cli-0.4.10}/.github/workflows/publish.yml +0 -0
  7. {context_forge_cli-0.4.9 → context_forge_cli-0.4.10}/.gitignore +0 -0
  8. {context_forge_cli-0.4.9 → context_forge_cli-0.4.10}/.python-version +0 -0
  9. {context_forge_cli-0.4.9 → context_forge_cli-0.4.10}/AGENTS.md +0 -0
  10. {context_forge_cli-0.4.9 → context_forge_cli-0.4.10}/PLAN.md +0 -0
  11. {context_forge_cli-0.4.9 → context_forge_cli-0.4.10}/README.md +0 -0
  12. {context_forge_cli-0.4.9 → context_forge_cli-0.4.10}/contextforge/__init__.py +0 -0
  13. {context_forge_cli-0.4.9 → context_forge_cli-0.4.10}/contextforge/adapters/__init__.py +0 -0
  14. {context_forge_cli-0.4.9 → context_forge_cli-0.4.10}/contextforge/adapters/altimate_code.py +0 -0
  15. {context_forge_cli-0.4.9 → context_forge_cli-0.4.10}/contextforge/adapters/base.py +0 -0
  16. {context_forge_cli-0.4.9 → context_forge_cli-0.4.10}/contextforge/adapters/claude_code.py +0 -0
  17. {context_forge_cli-0.4.9 → context_forge_cli-0.4.10}/contextforge/adapters/claude_desktop.py +0 -0
  18. {context_forge_cli-0.4.9 → context_forge_cli-0.4.10}/contextforge/adapters/codex.py +0 -0
  19. {context_forge_cli-0.4.9 → context_forge_cli-0.4.10}/contextforge/adapters/gemini.py +0 -0
  20. {context_forge_cli-0.4.9 → context_forge_cli-0.4.10}/contextforge/adapters/registry.py +0 -0
  21. {context_forge_cli-0.4.9 → context_forge_cli-0.4.10}/contextforge/cli.py +0 -0
  22. {context_forge_cli-0.4.9 → context_forge_cli-0.4.10}/contextforge/core/__init__.py +0 -0
  23. {context_forge_cli-0.4.9 → context_forge_cli-0.4.10}/contextforge/core/analytics.py +0 -0
  24. {context_forge_cli-0.4.9 → context_forge_cli-0.4.10}/contextforge/core/compactor.py +0 -0
  25. {context_forge_cli-0.4.9 → context_forge_cli-0.4.10}/contextforge/core/db.py +0 -0
  26. {context_forge_cli-0.4.9 → context_forge_cli-0.4.10}/contextforge/core/injector.py +0 -0
  27. {context_forge_cli-0.4.9 → context_forge_cli-0.4.10}/contextforge/core/scanner.py +0 -0
  28. {context_forge_cli-0.4.9 → context_forge_cli-0.4.10}/contextforge/core/summarizer.py +0 -0
  29. {context_forge_cli-0.4.9 → context_forge_cli-0.4.10}/contextforge/models/__init__.py +0 -0
  30. {context_forge_cli-0.4.9 → context_forge_cli-0.4.10}/contextforge/models/config.py +0 -0
  31. {context_forge_cli-0.4.9 → context_forge_cli-0.4.10}/contextforge/models/session.py +0 -0
  32. {context_forge_cli-0.4.9 → context_forge_cli-0.4.10}/contextforge/tui/__init__.py +0 -0
  33. {context_forge_cli-0.4.9 → context_forge_cli-0.4.10}/contextforge/tui/app.py +0 -0
  34. {context_forge_cli-0.4.9 → context_forge_cli-0.4.10}/contextforge/tui/clipboard.py +0 -0
  35. {context_forge_cli-0.4.9 → context_forge_cli-0.4.10}/contextforge/tui/styles.tcss +0 -0
  36. {context_forge_cli-0.4.9 → context_forge_cli-0.4.10}/contextforge/tui/widgets/__init__.py +0 -0
  37. {context_forge_cli-0.4.9 → context_forge_cli-0.4.10}/contextforge/tui/widgets/session_detail.py +0 -0
  38. {context_forge_cli-0.4.9 → context_forge_cli-0.4.10}/contextforge/tui/widgets/session_table.py +0 -0
  39. {context_forge_cli-0.4.9 → context_forge_cli-0.4.10}/contextforge/tui/widgets/stats_panel.py +0 -0
  40. {context_forge_cli-0.4.9 → context_forge_cli-0.4.10}/contextforge/tui/widgets/status_bar.py +0 -0
  41. {context_forge_cli-0.4.9 → context_forge_cli-0.4.10}/contextforge/tui/widgets/tokens_panel.py +0 -0
  42. {context_forge_cli-0.4.9 → context_forge_cli-0.4.10}/contextforge/tui/widgets/transfer_panel.py +0 -0
  43. {context_forge_cli-0.4.9 → context_forge_cli-0.4.10}/contextforge/utils/__init__.py +0 -0
  44. {context_forge_cli-0.4.9 → context_forge_cli-0.4.10}/contextforge/utils/display.py +0 -0
  45. {context_forge_cli-0.4.9 → context_forge_cli-0.4.10}/contextforge/utils/tokens.py +0 -0
  46. {context_forge_cli-0.4.9 → context_forge_cli-0.4.10}/tests/__init__.py +0 -0
  47. {context_forge_cli-0.4.9 → context_forge_cli-0.4.10}/tests/adapters/__init__.py +0 -0
  48. {context_forge_cli-0.4.9 → context_forge_cli-0.4.10}/tests/adapters/test_claude_code.py +0 -0
  49. {context_forge_cli-0.4.9 → context_forge_cli-0.4.10}/tests/conftest.py +0 -0
  50. {context_forge_cli-0.4.9 → context_forge_cli-0.4.10}/tests/core/__init__.py +0 -0
  51. {context_forge_cli-0.4.9 → context_forge_cli-0.4.10}/tests/core/test_compactor.py +0 -0
  52. {context_forge_cli-0.4.9 → context_forge_cli-0.4.10}/tests/core/test_db.py +0 -0
  53. {context_forge_cli-0.4.9 → context_forge_cli-0.4.10}/tests/core/test_injector.py +0 -0
  54. {context_forge_cli-0.4.9 → context_forge_cli-0.4.10}/tests/core/test_summarizer.py +0 -0
  55. {context_forge_cli-0.4.9 → context_forge_cli-0.4.10}/tests/core/test_token_analyzer.py +0 -0
  56. {context_forge_cli-0.4.9 → context_forge_cli-0.4.10}/tests/fixtures/claude_session_sample.jsonl +0 -0
  57. {context_forge_cli-0.4.9 → context_forge_cli-0.4.10}/tests/test_mcp_server.py +0 -0
  58. {context_forge_cli-0.4.9 → context_forge_cli-0.4.10}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: context-forge-cli
3
- Version: 0.4.9
3
+ Version: 0.4.10
4
4
  Summary: Session manager and context bridge for agentic CLI tools
5
5
  Project-URL: Homepage, https://github.com/emmver/contextforge
6
6
  Project-URL: Repository, https://github.com/emmver/contextforge
@@ -21,6 +21,9 @@ class TurnStats:
21
21
  text_tokens: int = 0
22
22
  tool_call_tokens: int = 0
23
23
  tool_result_tokens: int = 0
24
+ content: str = "" # full message text content
25
+ tool_calls: list[dict] = field(default_factory=list) # [{name, input}]
26
+ tool_results: list[dict] = field(default_factory=list) # [{output}]
24
27
 
25
28
 
26
29
  @dataclass
@@ -102,6 +105,9 @@ def analyze_tokens(
102
105
  text_tokens=text_tokens,
103
106
  tool_call_tokens=tool_call_tokens,
104
107
  tool_result_tokens=tool_result_tokens,
108
+ content=msg.content,
109
+ tool_calls=msg.tool_calls,
110
+ tool_results=msg.tool_results,
105
111
  ))
106
112
 
107
113
  return SessionTokenReport(
@@ -16,9 +16,10 @@ mcp = FastMCP(
16
16
  "ContextForge provides read-only access to indexed agentic-tool sessions "
17
17
  "and their token usage. Start with list_sessions to discover what's available "
18
18
  "(supports pagination via offset/limit and date filtering via window). "
19
- "Use get_session_tokens for token stats — pass include_turns=True with "
20
- "turns_limit/turns_offset to page through per-turn data without blowing up "
21
- "the context window. Use get_token_analytics for aggregated stats across all tools."
19
+ "Use get_session_tokens for token stats and conversation content — pass "
20
+ "include_turns=True with turns_limit/turns_offset to page through per-turn "
21
+ "data including full message text, tool calls, and tool results. "
22
+ "Use get_token_analytics for aggregated stats across all tools."
22
23
  ),
23
24
  )
24
25
 
@@ -187,6 +188,15 @@ def get_session_tokens(
187
188
  "text_tokens": t.text_tokens,
188
189
  "tool_call_tokens": t.tool_call_tokens,
189
190
  "tool_result_tokens": t.tool_result_tokens,
191
+ "content": t.content[:8000],
192
+ "tool_calls": [
193
+ {"name": tc.get("name", "?"), "input": tc.get("input", "")[:4000]}
194
+ for tc in t.tool_calls
195
+ ],
196
+ "tool_results": [
197
+ {"output": tr.get("output", "")[:4000]}
198
+ for tr in t.tool_results
199
+ ],
190
200
  }
191
201
  for t in turns
192
202
  ]
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "context-forge-cli"
3
- version = "0.4.9"
3
+ version = "0.4.10"
4
4
  description = "Session manager and context bridge for agentic CLI tools"
5
5
  readme = "README.md"
6
6
  license = { text = "MIT" }