code-context-engine 0.4.13__tar.gz → 0.4.14__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 (88) hide show
  1. {code_context_engine-0.4.13/src/code_context_engine.egg-info → code_context_engine-0.4.14}/PKG-INFO +1 -1
  2. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/pyproject.toml +1 -1
  3. {code_context_engine-0.4.13 → code_context_engine-0.4.14/src/code_context_engine.egg-info}/PKG-INFO +1 -1
  4. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/src/context_engine/integration/mcp_server.py +32 -0
  5. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/LICENSE +0 -0
  6. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/README.md +0 -0
  7. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/setup.cfg +0 -0
  8. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/src/code_context_engine.egg-info/SOURCES.txt +0 -0
  9. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/src/code_context_engine.egg-info/dependency_links.txt +0 -0
  10. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/src/code_context_engine.egg-info/entry_points.txt +0 -0
  11. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/src/code_context_engine.egg-info/requires.txt +0 -0
  12. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/src/code_context_engine.egg-info/top_level.txt +0 -0
  13. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/src/context_engine/__init__.py +0 -0
  14. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/src/context_engine/cli.py +0 -0
  15. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/src/context_engine/cli_style.py +0 -0
  16. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/src/context_engine/compression/__init__.py +0 -0
  17. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/src/context_engine/compression/compressor.py +0 -0
  18. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/src/context_engine/compression/ollama_client.py +0 -0
  19. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/src/context_engine/compression/output_rules.py +0 -0
  20. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/src/context_engine/compression/prompts.py +0 -0
  21. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/src/context_engine/compression/quality.py +0 -0
  22. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/src/context_engine/config.py +0 -0
  23. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/src/context_engine/dashboard/__init__.py +0 -0
  24. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/src/context_engine/dashboard/_page.py +0 -0
  25. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/src/context_engine/dashboard/server.py +0 -0
  26. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/src/context_engine/editors.py +0 -0
  27. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/src/context_engine/event_bus.py +0 -0
  28. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/src/context_engine/indexer/__init__.py +0 -0
  29. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/src/context_engine/indexer/chunker.py +0 -0
  30. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/src/context_engine/indexer/embedder.py +0 -0
  31. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/src/context_engine/indexer/embedding_cache.py +0 -0
  32. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/src/context_engine/indexer/git_hooks.py +0 -0
  33. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/src/context_engine/indexer/git_indexer.py +0 -0
  34. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/src/context_engine/indexer/ignorefile.py +0 -0
  35. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/src/context_engine/indexer/manifest.py +0 -0
  36. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/src/context_engine/indexer/pipeline.py +0 -0
  37. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/src/context_engine/indexer/secrets.py +0 -0
  38. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/src/context_engine/indexer/watcher.py +0 -0
  39. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/src/context_engine/integration/__init__.py +0 -0
  40. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/src/context_engine/integration/bootstrap.py +0 -0
  41. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/src/context_engine/integration/git_context.py +0 -0
  42. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/src/context_engine/integration/session_capture.py +0 -0
  43. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/src/context_engine/memory/__init__.py +0 -0
  44. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/src/context_engine/memory/compressor.py +0 -0
  45. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/src/context_engine/memory/db.py +0 -0
  46. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/src/context_engine/memory/extractive.py +0 -0
  47. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/src/context_engine/memory/grammar.py +0 -0
  48. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/src/context_engine/memory/hook_installer.py +0 -0
  49. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/src/context_engine/memory/hook_server.py +0 -0
  50. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/src/context_engine/memory/hooks.py +0 -0
  51. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/src/context_engine/memory/migrate.py +0 -0
  52. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/src/context_engine/models.py +0 -0
  53. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/src/context_engine/pricing.py +0 -0
  54. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/src/context_engine/project_commands.py +0 -0
  55. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/src/context_engine/retrieval/__init__.py +0 -0
  56. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/src/context_engine/retrieval/confidence.py +0 -0
  57. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/src/context_engine/retrieval/query_parser.py +0 -0
  58. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/src/context_engine/retrieval/retriever.py +0 -0
  59. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/src/context_engine/serve_http.py +0 -0
  60. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/src/context_engine/services.py +0 -0
  61. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/src/context_engine/storage/__init__.py +0 -0
  62. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/src/context_engine/storage/backend.py +0 -0
  63. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/src/context_engine/storage/fts_store.py +0 -0
  64. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/src/context_engine/storage/graph_store.py +0 -0
  65. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/src/context_engine/storage/local_backend.py +0 -0
  66. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/src/context_engine/storage/remote_backend.py +0 -0
  67. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/src/context_engine/storage/vector_store.py +0 -0
  68. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/src/context_engine/utils.py +0 -0
  69. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/tests/test_cli_init_probe.py +0 -0
  70. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/tests/test_cli_mcp_config.py +0 -0
  71. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/tests/test_cli_savings.py +0 -0
  72. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/tests/test_cli_savings_buckets.py +0 -0
  73. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/tests/test_cli_savings_e2e.py +0 -0
  74. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/tests/test_cli_serve.py +0 -0
  75. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/tests/test_cli_sessions_export.py +0 -0
  76. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/tests/test_cli_sessions_status.py +0 -0
  77. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/tests/test_cli_smoke.py +0 -0
  78. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/tests/test_cli_uninstall.py +0 -0
  79. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/tests/test_config.py +0 -0
  80. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/tests/test_e2e.py +0 -0
  81. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/tests/test_editors_opencode.py +0 -0
  82. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/tests/test_event_bus.py +0 -0
  83. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/tests/test_models.py +0 -0
  84. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/tests/test_project_commands.py +0 -0
  85. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/tests/test_real_life.py +0 -0
  86. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/tests/test_services.py +0 -0
  87. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/tests/test_token_efficiency.py +0 -0
  88. {code_context_engine-0.4.13 → code_context_engine-0.4.14}/tests/test_token_packing.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: code-context-engine
3
- Version: 0.4.13
3
+ Version: 0.4.14
4
4
  Summary: Index your codebase. AI searches instead of re-reading files. 94% token savings, benchmarked on FastAPI. Works with Claude Code, Cursor, VS Code, Gemini CLI, Codex, and OpenCode.
5
5
  Author-email: Fazle Elahee <felahee@gmail.com>, Raj <rajkumar.sakti@gmail.com>
6
6
  License-Expression: MIT
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "code-context-engine"
3
- version = "0.4.13"
3
+ version = "0.4.14"
4
4
  description = "Index your codebase. AI searches instead of re-reading files. 94% token savings, benchmarked on FastAPI. Works with Claude Code, Cursor, VS Code, Gemini CLI, Codex, and OpenCode."
5
5
  readme = {file = "README.md", content-type = "text/markdown"}
6
6
  license = "MIT"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: code-context-engine
3
- Version: 0.4.13
3
+ Version: 0.4.14
4
4
  Summary: Index your codebase. AI searches instead of re-reading files. 94% token savings, benchmarked on FastAPI. Works with Claude Code, Cursor, VS Code, Gemini CLI, Codex, and OpenCode.
5
5
  Author-email: Fazle Elahee <felahee@gmail.com>, Raj <rajkumar.sakti@gmail.com>
6
6
  License-Expression: MIT
@@ -61,6 +61,34 @@ def _count_tokens(text: str) -> int:
61
61
  return max(1, len(text) // _CHARS_PER_TOKEN)
62
62
 
63
63
 
64
+ # Files created by CCE itself — not user code. Filtering these from search
65
+ # results prevents config files from dominating results on small projects
66
+ # and inflating served_tokens (which causes negative savings).
67
+ _CCE_CONFIG_PREFIXES = (
68
+ ".claude/",
69
+ ".mcp.json",
70
+ ".cursor/",
71
+ ".cursorrules",
72
+ ".vscode/mcp.json",
73
+ ".gemini/",
74
+ "GEMINI.md",
75
+ ".codex/",
76
+ "opencode.json",
77
+ "opencode.jsonc",
78
+ )
79
+
80
+ _CCE_CONFIG_FILES = {
81
+ "CLAUDE.md",
82
+ }
83
+
84
+
85
+ def _is_cce_config(file_path: str) -> bool:
86
+ """True if the chunk comes from a CCE-managed or editor config file."""
87
+ if file_path in _CCE_CONFIG_FILES:
88
+ return True
89
+ return any(file_path.startswith(p) for p in _CCE_CONFIG_PREFIXES)
90
+
91
+
64
92
  def _cosine_sim(a, b) -> float:
65
93
  """Cosine similarity between two equal-length numeric sequences. Returns 0
66
94
  on degenerate input (zero norm) instead of NaN.
@@ -906,6 +934,10 @@ class ContextEngineMCP:
906
934
  )
907
935
  all_chunks = await self._compressor.compress(all_chunks, self._config.compression_level)
908
936
 
937
+ # Filter out CCE config/editor files — they inflate token counts on
938
+ # small projects and aren't what users are searching for.
939
+ all_chunks = [c for c in all_chunks if not _is_cce_config(c.file_path)]
940
+
909
941
  inline_chunks, overflow_chunks = _split_inline_overflow(all_chunks, max_tokens)
910
942
 
911
943
  # Accounting