codevault 1.5.0 → 1.6.0

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 (211) hide show
  1. package/.env.example +75 -40
  2. package/README.md +112 -345
  3. package/package.json +4 -3
  4. package/dist/chunking/file-grouper.d.ts +0 -39
  5. package/dist/chunking/file-grouper.d.ts.map +0 -1
  6. package/dist/chunking/file-grouper.js +0 -181
  7. package/dist/chunking/file-grouper.js.map +0 -1
  8. package/dist/chunking/semantic-chunker.d.ts +0 -37
  9. package/dist/chunking/semantic-chunker.d.ts.map +0 -1
  10. package/dist/chunking/semantic-chunker.js +0 -172
  11. package/dist/chunking/semantic-chunker.js.map +0 -1
  12. package/dist/chunking/token-counter.d.ts +0 -28
  13. package/dist/chunking/token-counter.d.ts.map +0 -1
  14. package/dist/chunking/token-counter.js +0 -207
  15. package/dist/chunking/token-counter.js.map +0 -1
  16. package/dist/cli/commands/ask-cmd.d.ts +0 -3
  17. package/dist/cli/commands/ask-cmd.d.ts.map +0 -1
  18. package/dist/cli/commands/ask-cmd.js +0 -130
  19. package/dist/cli/commands/ask-cmd.js.map +0 -1
  20. package/dist/cli/commands/config-cmd.d.ts +0 -3
  21. package/dist/cli/commands/config-cmd.d.ts.map +0 -1
  22. package/dist/cli/commands/config-cmd.js +0 -245
  23. package/dist/cli/commands/config-cmd.js.map +0 -1
  24. package/dist/cli/commands/context.d.ts +0 -3
  25. package/dist/cli/commands/context.d.ts.map +0 -1
  26. package/dist/cli/commands/context.js +0 -98
  27. package/dist/cli/commands/context.js.map +0 -1
  28. package/dist/cli/commands/interactive-config.d.ts +0 -2
  29. package/dist/cli/commands/interactive-config.d.ts.map +0 -1
  30. package/dist/cli/commands/interactive-config.js +0 -274
  31. package/dist/cli/commands/interactive-config.js.map +0 -1
  32. package/dist/cli.d.ts +0 -3
  33. package/dist/cli.d.ts.map +0 -1
  34. package/dist/cli.js +0 -398
  35. package/dist/cli.js.map +0 -1
  36. package/dist/codemap/io.d.ts +0 -5
  37. package/dist/codemap/io.d.ts.map +0 -1
  38. package/dist/codemap/io.js +0 -30
  39. package/dist/codemap/io.js.map +0 -1
  40. package/dist/config/apply-env.d.ts +0 -15
  41. package/dist/config/apply-env.d.ts.map +0 -1
  42. package/dist/config/apply-env.js +0 -91
  43. package/dist/config/apply-env.js.map +0 -1
  44. package/dist/config/loader.d.ts +0 -57
  45. package/dist/config/loader.d.ts.map +0 -1
  46. package/dist/config/loader.js +0 -279
  47. package/dist/config/loader.js.map +0 -1
  48. package/dist/config/types.d.ts +0 -46
  49. package/dist/config/types.d.ts.map +0 -1
  50. package/dist/config/types.js +0 -2
  51. package/dist/config/types.js.map +0 -1
  52. package/dist/context/packs.d.ts +0 -33
  53. package/dist/context/packs.d.ts.map +0 -1
  54. package/dist/context/packs.js +0 -180
  55. package/dist/context/packs.js.map +0 -1
  56. package/dist/core/batch-indexer.d.ts +0 -44
  57. package/dist/core/batch-indexer.d.ts.map +0 -1
  58. package/dist/core/batch-indexer.js +0 -161
  59. package/dist/core/batch-indexer.js.map +0 -1
  60. package/dist/core/indexer.d.ts +0 -3
  61. package/dist/core/indexer.d.ts.map +0 -1
  62. package/dist/core/indexer.js +0 -624
  63. package/dist/core/indexer.js.map +0 -1
  64. package/dist/core/metadata.d.ts +0 -19
  65. package/dist/core/metadata.d.ts.map +0 -1
  66. package/dist/core/metadata.js +0 -161
  67. package/dist/core/metadata.js.map +0 -1
  68. package/dist/core/search.d.ts +0 -7
  69. package/dist/core/search.d.ts.map +0 -1
  70. package/dist/core/search.js +0 -542
  71. package/dist/core/search.js.map +0 -1
  72. package/dist/core/symbol-extractor.d.ts +0 -3
  73. package/dist/core/symbol-extractor.d.ts.map +0 -1
  74. package/dist/core/symbol-extractor.js +0 -78
  75. package/dist/core/symbol-extractor.js.map +0 -1
  76. package/dist/core/types.d.ts +0 -104
  77. package/dist/core/types.d.ts.map +0 -1
  78. package/dist/core/types.js +0 -2
  79. package/dist/core/types.js.map +0 -1
  80. package/dist/database/db.d.ts +0 -63
  81. package/dist/database/db.d.ts.map +0 -1
  82. package/dist/database/db.js +0 -205
  83. package/dist/database/db.js.map +0 -1
  84. package/dist/indexer/merkle.d.ts +0 -13
  85. package/dist/indexer/merkle.d.ts.map +0 -1
  86. package/dist/indexer/merkle.js +0 -86
  87. package/dist/indexer/merkle.js.map +0 -1
  88. package/dist/indexer/update.d.ts +0 -19
  89. package/dist/indexer/update.d.ts.map +0 -1
  90. package/dist/indexer/update.js +0 -40
  91. package/dist/indexer/update.js.map +0 -1
  92. package/dist/indexer/watch.d.ts +0 -21
  93. package/dist/indexer/watch.d.ts.map +0 -1
  94. package/dist/indexer/watch.js +0 -222
  95. package/dist/indexer/watch.js.map +0 -1
  96. package/dist/languages/rules.d.ts +0 -11
  97. package/dist/languages/rules.d.ts.map +0 -1
  98. package/dist/languages/rules.js +0 -371
  99. package/dist/languages/rules.js.map +0 -1
  100. package/dist/languages/tree-sitter-loader.d.ts +0 -27
  101. package/dist/languages/tree-sitter-loader.d.ts.map +0 -1
  102. package/dist/languages/tree-sitter-loader.js +0 -76
  103. package/dist/languages/tree-sitter-loader.js.map +0 -1
  104. package/dist/mcp/tools/ask-codebase.d.ts +0 -85
  105. package/dist/mcp/tools/ask-codebase.d.ts.map +0 -1
  106. package/dist/mcp/tools/ask-codebase.js +0 -125
  107. package/dist/mcp/tools/ask-codebase.js.map +0 -1
  108. package/dist/mcp/tools/use-context-pack.d.ts +0 -57
  109. package/dist/mcp/tools/use-context-pack.d.ts.map +0 -1
  110. package/dist/mcp/tools/use-context-pack.js +0 -91
  111. package/dist/mcp/tools/use-context-pack.js.map +0 -1
  112. package/dist/mcp-server.d.ts +0 -3
  113. package/dist/mcp-server.d.ts.map +0 -1
  114. package/dist/mcp-server.js +0 -518
  115. package/dist/mcp-server.js.map +0 -1
  116. package/dist/providers/base.d.ts +0 -39
  117. package/dist/providers/base.d.ts.map +0 -1
  118. package/dist/providers/base.js +0 -198
  119. package/dist/providers/base.js.map +0 -1
  120. package/dist/providers/chat-llm.d.ts +0 -30
  121. package/dist/providers/chat-llm.d.ts.map +0 -1
  122. package/dist/providers/chat-llm.js +0 -82
  123. package/dist/providers/chat-llm.js.map +0 -1
  124. package/dist/providers/index.d.ts +0 -5
  125. package/dist/providers/index.d.ts.map +0 -1
  126. package/dist/providers/index.js +0 -12
  127. package/dist/providers/index.js.map +0 -1
  128. package/dist/providers/ollama.d.ts +0 -13
  129. package/dist/providers/ollama.d.ts.map +0 -1
  130. package/dist/providers/ollama.js +0 -50
  131. package/dist/providers/ollama.js.map +0 -1
  132. package/dist/providers/openai.d.ts +0 -14
  133. package/dist/providers/openai.d.ts.map +0 -1
  134. package/dist/providers/openai.js +0 -122
  135. package/dist/providers/openai.js.map +0 -1
  136. package/dist/providers/token-counter.d.ts +0 -2
  137. package/dist/providers/token-counter.d.ts.map +0 -1
  138. package/dist/providers/token-counter.js +0 -18
  139. package/dist/providers/token-counter.js.map +0 -1
  140. package/dist/ranking/api-reranker.d.ts +0 -18
  141. package/dist/ranking/api-reranker.d.ts.map +0 -1
  142. package/dist/ranking/api-reranker.js +0 -134
  143. package/dist/ranking/api-reranker.js.map +0 -1
  144. package/dist/ranking/symbol-boost.d.ts +0 -15
  145. package/dist/ranking/symbol-boost.d.ts.map +0 -1
  146. package/dist/ranking/symbol-boost.js +0 -154
  147. package/dist/ranking/symbol-boost.js.map +0 -1
  148. package/dist/search/bm25.d.ts +0 -17
  149. package/dist/search/bm25.d.ts.map +0 -1
  150. package/dist/search/bm25.js +0 -56
  151. package/dist/search/bm25.js.map +0 -1
  152. package/dist/search/hybrid.d.ts +0 -21
  153. package/dist/search/hybrid.d.ts.map +0 -1
  154. package/dist/search/hybrid.js +0 -50
  155. package/dist/search/hybrid.js.map +0 -1
  156. package/dist/search/scope.d.ts +0 -5
  157. package/dist/search/scope.d.ts.map +0 -1
  158. package/dist/search/scope.js +0 -107
  159. package/dist/search/scope.js.map +0 -1
  160. package/dist/storage/encrypted-chunks.d.ts +0 -40
  161. package/dist/storage/encrypted-chunks.d.ts.map +0 -1
  162. package/dist/storage/encrypted-chunks.js +0 -237
  163. package/dist/storage/encrypted-chunks.js.map +0 -1
  164. package/dist/symbols/extract.d.ts +0 -15
  165. package/dist/symbols/extract.d.ts.map +0 -1
  166. package/dist/symbols/extract.js +0 -187
  167. package/dist/symbols/extract.js.map +0 -1
  168. package/dist/symbols/graph.d.ts +0 -3
  169. package/dist/symbols/graph.d.ts.map +0 -1
  170. package/dist/symbols/graph.js +0 -89
  171. package/dist/symbols/graph.js.map +0 -1
  172. package/dist/synthesis/markdown-formatter.d.ts +0 -13
  173. package/dist/synthesis/markdown-formatter.d.ts.map +0 -1
  174. package/dist/synthesis/markdown-formatter.js +0 -104
  175. package/dist/synthesis/markdown-formatter.js.map +0 -1
  176. package/dist/synthesis/prompt-builder.d.ts +0 -21
  177. package/dist/synthesis/prompt-builder.d.ts.map +0 -1
  178. package/dist/synthesis/prompt-builder.js +0 -129
  179. package/dist/synthesis/prompt-builder.js.map +0 -1
  180. package/dist/synthesis/synthesizer.d.ts +0 -30
  181. package/dist/synthesis/synthesizer.d.ts.map +0 -1
  182. package/dist/synthesis/synthesizer.js +0 -210
  183. package/dist/synthesis/synthesizer.js.map +0 -1
  184. package/dist/types/ast.d.ts +0 -3
  185. package/dist/types/ast.d.ts.map +0 -1
  186. package/dist/types/ast.js +0 -2
  187. package/dist/types/ast.js.map +0 -1
  188. package/dist/types/codemap.d.ts +0 -58
  189. package/dist/types/codemap.d.ts.map +0 -1
  190. package/dist/types/codemap.js +0 -224
  191. package/dist/types/codemap.js.map +0 -1
  192. package/dist/types/context-pack.d.ts +0 -47
  193. package/dist/types/context-pack.d.ts.map +0 -1
  194. package/dist/types/context-pack.js +0 -44
  195. package/dist/types/context-pack.js.map +0 -1
  196. package/dist/types/search.d.ts +0 -15
  197. package/dist/types/search.d.ts.map +0 -1
  198. package/dist/types/search.js +0 -11
  199. package/dist/types/search.js.map +0 -1
  200. package/dist/utils/cli-ui.d.ts +0 -44
  201. package/dist/utils/cli-ui.d.ts.map +0 -1
  202. package/dist/utils/cli-ui.js +0 -139
  203. package/dist/utils/cli-ui.js.map +0 -1
  204. package/dist/utils/indexer-with-progress.d.ts +0 -10
  205. package/dist/utils/indexer-with-progress.d.ts.map +0 -1
  206. package/dist/utils/indexer-with-progress.js +0 -58
  207. package/dist/utils/indexer-with-progress.js.map +0 -1
  208. package/dist/utils/rate-limiter.d.ts +0 -34
  209. package/dist/utils/rate-limiter.d.ts.map +0 -1
  210. package/dist/utils/rate-limiter.js +0 -178
  211. package/dist/utils/rate-limiter.js.map +0 -1
package/.env.example CHANGED
@@ -1,59 +1,94 @@
1
- # Embedding API Configuration
2
- # Using Nebius AI Studio for Qwen embeddings
1
+ # CodeVault Environment Variables Example
2
+ # Copy this file to .env and fill in your API keys
3
+
4
+ # ============================================================================
5
+ # EMBEDDING PROVIDER (Required)
6
+ # ============================================================================
7
+
8
+ # Option 1: Nebius AI Studio + Qwen3-Embedding-8B (Recommended)
9
+ # - 4096 dimensions, 32K context window
10
+ # - Best quality for code embeddings
11
+ # - Sign up: https://nebius.com/
3
12
  CODEVAULT_EMBEDDING_API_KEY=your-nebius-api-token-here
4
13
  CODEVAULT_EMBEDDING_BASE_URL=https://api.studio.nebius.com/v1
5
-
6
- # Embedding Model Configuration
7
- # Qwen/Qwen3-Embedding-8B (4096 dimensions, 32K context)
8
- # Alternatives:
9
- # - text-embedding-3-large (OpenAI, 3072 dims, 8K context)
10
- # - text-embedding-3-small (OpenAI, 1536 dims, 8K context)
11
14
  CODEVAULT_EMBEDDING_MODEL=Qwen/Qwen3-Embedding-8B
15
+ CODEVAULT_EMBEDDING_DIMENSIONS=4096
16
+ CODEVAULT_EMBEDDING_MAX_TOKENS=32000
17
+ CODEVAULT_EMBEDDING_RATE_LIMIT_RPM=10000
18
+ CODEVAULT_EMBEDDING_RATE_LIMIT_TPM=600000
12
19
 
13
- # For Ollama (local embeddings, no API key needed)
14
- # CODEVAULT_OLLAMA_EMBEDDING_MODEL=nomic-embed-text
20
+ # Option 2: Ollama (Local, Free, Private)
21
+ # - 768 dimensions, 8K context window
22
+ # - No API key needed, runs locally
23
+ # - Install: https://ollama.com/
24
+ # CODEVAULT_EMBEDDING_BASE_URL=http://localhost:11434/v1
25
+ # CODEVAULT_EMBEDDING_MODEL=nomic-embed-text
26
+ # CODEVAULT_EMBEDDING_DIMENSIONS=768
27
+ # CODEVAULT_EMBEDDING_MAX_TOKENS=8192
15
28
 
16
- # Embedding Chunking Configuration
17
- # Qwen supports 32K tokens per chunk
18
- CODEVAULT_EMBEDDING_MAX_TOKENS=32000
29
+ # Option 3: OpenAI
30
+ # - 3072 dimensions (large) or 1536 (small), 8K context
31
+ # - Reliable but more expensive
32
+ # CODEVAULT_EMBEDDING_API_KEY=sk-your-openai-key
33
+ # CODEVAULT_EMBEDDING_BASE_URL=https://api.openai.com/v1
34
+ # CODEVAULT_EMBEDDING_MODEL=text-embedding-3-large
35
+ # CODEVAULT_EMBEDDING_DIMENSIONS=3072
36
+ # CODEVAULT_EMBEDDING_MAX_TOKENS=8192
19
37
 
20
- # Embedding Dimensions
21
- # Must match your model: Qwen = 4096, OpenAI large = 3072, small = 1536, Ollama = 768
22
- CODEVAULT_EMBEDDING_DIMENSIONS=4096
38
+ # ============================================================================
39
+ # CHAT LLM PROVIDER (Required for ask feature)
40
+ # ============================================================================
23
41
 
24
- # Embedding API Rate Limiting
25
- # Nebius AI Studio limits (adjust based on your tier)
26
- CODEVAULT_EMBEDDING_RATE_LIMIT_RPM=10000
27
- CODEVAULT_EMBEDDING_RATE_LIMIT_TPM=600000
42
+ # Option 1: OpenRouter + Claude Sonnet 4.5 (Recommended)
43
+ # - 200K context window
44
+ # - Best code understanding
45
+ # - Sign up: https://openrouter.ai/
46
+ CODEVAULT_CHAT_API_KEY=your-openrouter-api-key-here
47
+ CODEVAULT_CHAT_BASE_URL=https://openrouter.ai/api/v1
48
+ CODEVAULT_CHAT_MODEL=anthropic/claude-sonnet-4.5
49
+ CODEVAULT_CHAT_MAX_TOKENS=32000
50
+ CODEVAULT_CHAT_TEMPERATURE=0.1
51
+
52
+ # Option 2: Ollama (Local, Free, Private)
53
+ # - 32K context window with qwen2.5-coder
54
+ # - Good for development and testing
55
+ # CODEVAULT_CHAT_BASE_URL=http://localhost:11434/v1
56
+ # CODEVAULT_CHAT_MODEL=qwen2.5-coder:7b
57
+ # CODEVAULT_CHAT_MAX_TOKENS=32000
58
+ # CODEVAULT_CHAT_TEMPERATURE=0.1
59
+
60
+ # ============================================================================
61
+ # RERANKING API (Optional - improves search relevance by 5-10%)
62
+ # ============================================================================
28
63
 
29
- # Reranking API (Optional - improves search relevance by 5-10%)
30
- # Novita Qwen3-Reranker - 32K context, great for code
64
+ # Option 1: Novita AI + Qwen3-Reranker-8B (Recommended)
65
+ # - 32K context window
66
+ # - Optimized for code
67
+ # - Sign up: https://novita.ai/
31
68
  CODEVAULT_RERANK_API_URL=https://api.novita.ai/openai/v1/rerank
32
69
  CODEVAULT_RERANK_API_KEY=your-novita-api-key-here
33
70
  CODEVAULT_RERANK_MODEL=qwen/qwen3-reranker-8b
34
71
 
35
- # Alternatives:
36
- # Cohere - 4K context, $25 free credits
72
+ # Option 2: Cohere (Alternative)
73
+ # - 4K context window
74
+ # - $25 free credits
37
75
  # CODEVAULT_RERANK_API_URL=https://api.cohere.ai/v1/rerank
38
76
  # CODEVAULT_RERANK_API_KEY=your-cohere-key-here
39
77
  # CODEVAULT_RERANK_MODEL=rerank-english-v3.0
40
78
 
41
- # Jina AI - 8K context, free tier available
42
- # CODEVAULT_RERANK_API_URL=https://api.jina.ai/v1/rerank
43
- # CODEVAULT_RERANK_API_KEY=your-jina-key-here
44
- # CODEVAULT_RERANK_MODEL=jina-reranker-v2-base-multilingual
79
+ # ============================================================================
80
+ # ENCRYPTION (Optional - for sensitive codebases)
81
+ # ============================================================================
45
82
 
46
- # Chat LLM Configuration (for ask_codebase feature)
47
- # Using OpenRouter for Claude Sonnet 4.5 (best for code Q&A)
48
- CODEVAULT_CHAT_API_KEY=your-openrouter-api-key-here
49
- CODEVAULT_CHAT_BASE_URL=https://openrouter.ai/api/v1
50
- CODEVAULT_CHAT_MODEL=anthropic/claude-sonnet-4.5
51
- CODEVAULT_CHAT_MAX_TOKENS=32000
52
- CODEVAULT_CHAT_TEMPERATURE=0.1
83
+ # Generate a secure key: openssl rand -base64 32
84
+ # CODEVAULT_ENCRYPTION_KEY=your-32-byte-base64-key-here
85
+
86
+ # ============================================================================
87
+ # ADVANCED SETTINGS (Optional)
88
+ # ============================================================================
53
89
 
54
- # For Ollama Chat (local, no API key needed)
55
- # CODEVAULT_OLLAMA_CHAT_MODEL=llama3.1
90
+ # Memory management
91
+ # CODEVAULT_CACHE_CLEAR_INTERVAL=3600000
56
92
 
57
- # Encryption (Optional)
58
- # 32-byte key encoded as base64 or hex
59
- # CODEVAULT_ENCRYPTION_KEY=your-encryption-key-here
93
+ # Batch processing
94
+ # BATCH_SIZE=50