context-forge-cli 0.4.6__tar.gz → 0.4.7__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 (57) hide show
  1. {context_forge_cli-0.4.6 → context_forge_cli-0.4.7}/PKG-INFO +1 -1
  2. {context_forge_cli-0.4.6 → context_forge_cli-0.4.7}/contextforge/utils/tokens.py +2 -2
  3. {context_forge_cli-0.4.6 → context_forge_cli-0.4.7}/pyproject.toml +1 -1
  4. {context_forge_cli-0.4.6 → context_forge_cli-0.4.7}/.contextforge.toml +0 -0
  5. {context_forge_cli-0.4.6 → context_forge_cli-0.4.7}/.github/workflows/publish.yml +0 -0
  6. {context_forge_cli-0.4.6 → context_forge_cli-0.4.7}/.gitignore +0 -0
  7. {context_forge_cli-0.4.6 → context_forge_cli-0.4.7}/.python-version +0 -0
  8. {context_forge_cli-0.4.6 → context_forge_cli-0.4.7}/AGENTS.md +0 -0
  9. {context_forge_cli-0.4.6 → context_forge_cli-0.4.7}/PLAN.md +0 -0
  10. {context_forge_cli-0.4.6 → context_forge_cli-0.4.7}/README.md +0 -0
  11. {context_forge_cli-0.4.6 → context_forge_cli-0.4.7}/contextforge/__init__.py +0 -0
  12. {context_forge_cli-0.4.6 → context_forge_cli-0.4.7}/contextforge/adapters/__init__.py +0 -0
  13. {context_forge_cli-0.4.6 → context_forge_cli-0.4.7}/contextforge/adapters/altimate_code.py +0 -0
  14. {context_forge_cli-0.4.6 → context_forge_cli-0.4.7}/contextforge/adapters/base.py +0 -0
  15. {context_forge_cli-0.4.6 → context_forge_cli-0.4.7}/contextforge/adapters/claude_code.py +0 -0
  16. {context_forge_cli-0.4.6 → context_forge_cli-0.4.7}/contextforge/adapters/claude_desktop.py +0 -0
  17. {context_forge_cli-0.4.6 → context_forge_cli-0.4.7}/contextforge/adapters/codex.py +0 -0
  18. {context_forge_cli-0.4.6 → context_forge_cli-0.4.7}/contextforge/adapters/gemini.py +0 -0
  19. {context_forge_cli-0.4.6 → context_forge_cli-0.4.7}/contextforge/adapters/registry.py +0 -0
  20. {context_forge_cli-0.4.6 → context_forge_cli-0.4.7}/contextforge/cli.py +0 -0
  21. {context_forge_cli-0.4.6 → context_forge_cli-0.4.7}/contextforge/core/__init__.py +0 -0
  22. {context_forge_cli-0.4.6 → context_forge_cli-0.4.7}/contextforge/core/analytics.py +0 -0
  23. {context_forge_cli-0.4.6 → context_forge_cli-0.4.7}/contextforge/core/compactor.py +0 -0
  24. {context_forge_cli-0.4.6 → context_forge_cli-0.4.7}/contextforge/core/db.py +0 -0
  25. {context_forge_cli-0.4.6 → context_forge_cli-0.4.7}/contextforge/core/injector.py +0 -0
  26. {context_forge_cli-0.4.6 → context_forge_cli-0.4.7}/contextforge/core/scanner.py +0 -0
  27. {context_forge_cli-0.4.6 → context_forge_cli-0.4.7}/contextforge/core/summarizer.py +0 -0
  28. {context_forge_cli-0.4.6 → context_forge_cli-0.4.7}/contextforge/core/token_analyzer.py +0 -0
  29. {context_forge_cli-0.4.6 → context_forge_cli-0.4.7}/contextforge/mcp_server.py +0 -0
  30. {context_forge_cli-0.4.6 → context_forge_cli-0.4.7}/contextforge/models/__init__.py +0 -0
  31. {context_forge_cli-0.4.6 → context_forge_cli-0.4.7}/contextforge/models/config.py +0 -0
  32. {context_forge_cli-0.4.6 → context_forge_cli-0.4.7}/contextforge/models/session.py +0 -0
  33. {context_forge_cli-0.4.6 → context_forge_cli-0.4.7}/contextforge/tui/__init__.py +0 -0
  34. {context_forge_cli-0.4.6 → context_forge_cli-0.4.7}/contextforge/tui/app.py +0 -0
  35. {context_forge_cli-0.4.6 → context_forge_cli-0.4.7}/contextforge/tui/styles.tcss +0 -0
  36. {context_forge_cli-0.4.6 → context_forge_cli-0.4.7}/contextforge/tui/widgets/__init__.py +0 -0
  37. {context_forge_cli-0.4.6 → context_forge_cli-0.4.7}/contextforge/tui/widgets/session_detail.py +0 -0
  38. {context_forge_cli-0.4.6 → context_forge_cli-0.4.7}/contextforge/tui/widgets/session_table.py +0 -0
  39. {context_forge_cli-0.4.6 → context_forge_cli-0.4.7}/contextforge/tui/widgets/stats_panel.py +0 -0
  40. {context_forge_cli-0.4.6 → context_forge_cli-0.4.7}/contextforge/tui/widgets/status_bar.py +0 -0
  41. {context_forge_cli-0.4.6 → context_forge_cli-0.4.7}/contextforge/tui/widgets/tokens_panel.py +0 -0
  42. {context_forge_cli-0.4.6 → context_forge_cli-0.4.7}/contextforge/tui/widgets/transfer_panel.py +0 -0
  43. {context_forge_cli-0.4.6 → context_forge_cli-0.4.7}/contextforge/utils/__init__.py +0 -0
  44. {context_forge_cli-0.4.6 → context_forge_cli-0.4.7}/contextforge/utils/display.py +0 -0
  45. {context_forge_cli-0.4.6 → context_forge_cli-0.4.7}/tests/__init__.py +0 -0
  46. {context_forge_cli-0.4.6 → context_forge_cli-0.4.7}/tests/adapters/__init__.py +0 -0
  47. {context_forge_cli-0.4.6 → context_forge_cli-0.4.7}/tests/adapters/test_claude_code.py +0 -0
  48. {context_forge_cli-0.4.6 → context_forge_cli-0.4.7}/tests/conftest.py +0 -0
  49. {context_forge_cli-0.4.6 → context_forge_cli-0.4.7}/tests/core/__init__.py +0 -0
  50. {context_forge_cli-0.4.6 → context_forge_cli-0.4.7}/tests/core/test_compactor.py +0 -0
  51. {context_forge_cli-0.4.6 → context_forge_cli-0.4.7}/tests/core/test_db.py +0 -0
  52. {context_forge_cli-0.4.6 → context_forge_cli-0.4.7}/tests/core/test_injector.py +0 -0
  53. {context_forge_cli-0.4.6 → context_forge_cli-0.4.7}/tests/core/test_summarizer.py +0 -0
  54. {context_forge_cli-0.4.6 → context_forge_cli-0.4.7}/tests/core/test_token_analyzer.py +0 -0
  55. {context_forge_cli-0.4.6 → context_forge_cli-0.4.7}/tests/fixtures/claude_session_sample.jsonl +0 -0
  56. {context_forge_cli-0.4.6 → context_forge_cli-0.4.7}/tests/test_mcp_server.py +0 -0
  57. {context_forge_cli-0.4.6 → context_forge_cli-0.4.7}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: context-forge-cli
3
- Version: 0.4.6
3
+ Version: 0.4.7
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
@@ -23,12 +23,12 @@ def count_tokens(text) -> int:
23
23
  )
24
24
  else:
25
25
  text = str(text) if text is not None else ""
26
- return len(_get_encoding().encode(text))
26
+ return len(_get_encoding().encode(text, disallowed_special=()))
27
27
 
28
28
 
29
29
  def truncate_to_budget(text: str, budget: int) -> str:
30
30
  enc = _get_encoding()
31
- tokens = enc.encode(text)
31
+ tokens = enc.encode(text, disallowed_special=())
32
32
  if len(tokens) <= budget:
33
33
  return text
34
34
  return enc.decode(tokens[:budget])
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "context-forge-cli"
3
- version = "0.4.6"
3
+ version = "0.4.7"
4
4
  description = "Session manager and context bridge for agentic CLI tools"
5
5
  readme = "README.md"
6
6
  license = { text = "MIT" }