codevault 1.3.0-beta.7 → 1.4.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 (56) hide show
  1. package/.env.example +49 -27
  2. package/README.md +512 -71
  3. package/dist/cli/commands/ask-cmd.d.ts +3 -0
  4. package/dist/cli/commands/ask-cmd.d.ts.map +1 -0
  5. package/dist/cli/commands/ask-cmd.js +113 -0
  6. package/dist/cli/commands/ask-cmd.js.map +1 -0
  7. package/dist/cli.js +2 -0
  8. package/dist/cli.js.map +1 -1
  9. package/dist/config/apply-env.d.ts.map +1 -1
  10. package/dist/config/apply-env.js +54 -22
  11. package/dist/config/apply-env.js.map +1 -1
  12. package/dist/config/loader.d.ts.map +1 -1
  13. package/dist/config/loader.js +72 -20
  14. package/dist/config/loader.js.map +1 -1
  15. package/dist/config/types.d.ts +11 -0
  16. package/dist/config/types.d.ts.map +1 -1
  17. package/dist/mcp/tools/ask-codebase.d.ts +85 -0
  18. package/dist/mcp/tools/ask-codebase.d.ts.map +1 -0
  19. package/dist/mcp/tools/ask-codebase.js +125 -0
  20. package/dist/mcp/tools/ask-codebase.js.map +1 -0
  21. package/dist/mcp-server.js +76 -0
  22. package/dist/mcp-server.js.map +1 -1
  23. package/dist/providers/base.js +4 -4
  24. package/dist/providers/base.js.map +1 -1
  25. package/dist/providers/chat-llm.d.ts +41 -0
  26. package/dist/providers/chat-llm.d.ts.map +1 -0
  27. package/dist/providers/chat-llm.js +155 -0
  28. package/dist/providers/chat-llm.js.map +1 -0
  29. package/dist/providers/index.d.ts.map +1 -1
  30. package/dist/providers/index.js +2 -1
  31. package/dist/providers/index.js.map +1 -1
  32. package/dist/providers/ollama.d.ts.map +1 -1
  33. package/dist/providers/ollama.js +3 -3
  34. package/dist/providers/ollama.js.map +1 -1
  35. package/dist/providers/openai.d.ts.map +1 -1
  36. package/dist/providers/openai.js +9 -8
  37. package/dist/providers/openai.js.map +1 -1
  38. package/dist/ranking/api-reranker.d.ts.map +1 -1
  39. package/dist/ranking/api-reranker.js +14 -28
  40. package/dist/ranking/api-reranker.js.map +1 -1
  41. package/dist/synthesis/markdown-formatter.d.ts +13 -0
  42. package/dist/synthesis/markdown-formatter.d.ts.map +1 -0
  43. package/dist/synthesis/markdown-formatter.js +104 -0
  44. package/dist/synthesis/markdown-formatter.js.map +1 -0
  45. package/dist/synthesis/prompt-builder.d.ts +21 -0
  46. package/dist/synthesis/prompt-builder.d.ts.map +1 -0
  47. package/dist/synthesis/prompt-builder.js +129 -0
  48. package/dist/synthesis/prompt-builder.js.map +1 -0
  49. package/dist/synthesis/synthesizer.d.ts +30 -0
  50. package/dist/synthesis/synthesizer.d.ts.map +1 -0
  51. package/dist/synthesis/synthesizer.js +210 -0
  52. package/dist/synthesis/synthesizer.js.map +1 -0
  53. package/dist/utils/rate-limiter.d.ts.map +1 -1
  54. package/dist/utils/rate-limiter.js +4 -3
  55. package/dist/utils/rate-limiter.js.map +1 -1
  56. package/package.json +4 -4
package/.env.example CHANGED
@@ -1,36 +1,58 @@
1
- # OpenAI / Nebius API Configuration
2
- # For Nebius AI (Qwen embeddings), use your Nebius JWT token and base URL
3
- OPENAI_API_KEY=your-api-key-here
4
- OPENAI_BASE_URL=https://api.openai.com/v1
1
+ # Embedding API Configuration
2
+ # Using Nebius AI Studio for Qwen embeddings
3
+ CODEVAULT_EMBEDDING_API_KEY=your-nebius-jwt-token-here
4
+ CODEVAULT_EMBEDDING_BASE_URL=https://api.studio.nebius.com/v1
5
5
 
6
6
  # Embedding Model Configuration
7
- # For standard OpenAI: text-embedding-3-large
8
- # For Nebius/Qwen: Qwen/Qwen3-Embedding-8B
9
- CODEVAULT_OPENAI_EMBEDDING_MODEL=text-embedding-3-large
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
+ CODEVAULT_EMBEDDING_MODEL=Qwen/Qwen3-Embedding-8B
10
12
 
11
- # For Ollama (local embeddings)
12
- CODEVAULT_OLLAMA_MODEL=nomic-embed-text
13
+ # For Ollama (local embeddings, no API key needed)
14
+ # CODEVAULT_OLLAMA_EMBEDDING_MODEL=nomic-embed-text
13
15
 
14
- # Chunking Configuration
15
- # Standard: 8192 tokens, Qwen: 32000 tokens
16
- CODEVAULT_MAX_TOKENS=8192
16
+ # Embedding Chunking Configuration
17
+ # Qwen supports 32K tokens per chunk
18
+ CODEVAULT_EMBEDDING_MAX_TOKENS=32000
17
19
 
18
20
  # Embedding Dimensions
19
- # OpenAI text-embedding-3-large: 3072
20
- # Qwen3-Embedding-8B: 4096
21
- # Ollama nomic-embed-text: 768
22
- CODEVAULT_DIMENSIONS=3072
23
-
24
- # Rate Limiting
25
- # Adjust based on your API tier
26
- CODEVAULT_RATE_LIMIT_RPM=10000
27
- CODEVAULT_RATE_LIMIT_TPM=600000
28
-
29
- # Reranking API (Optional)
30
- # For NVIDIA reranking service
31
- CODEVAULT_RERANK_API_URL=https://ai.api.nvidia.com/v1/retrieval/nvidia/nv-rerankqa-mistral-4b-v3/reranking
32
- CODEVAULT_RERANK_API_KEY=your-nvidia-api-key-here
33
- CODEVAULT_RERANK_MODEL=nvidia/nv-rerankqa-mistral-4b-v3
21
+ # Must match your model: Qwen = 4096, OpenAI large = 3072, small = 1536, Ollama = 768
22
+ CODEVAULT_EMBEDDING_DIMENSIONS=4096
23
+
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
28
+
29
+ # Reranking API (Optional - improves search relevance by 5-10%)
30
+ # Novita Qwen3-Reranker - 32K context, great for code
31
+ CODEVAULT_RERANK_API_URL=https://api.novita.ai/openai/v1/rerank
32
+ CODEVAULT_RERANK_API_KEY=your-novita-api-key-here
33
+ CODEVAULT_RERANK_MODEL=qwen/qwen3-reranker-8b
34
+
35
+ # Alternatives:
36
+ # Cohere - 4K context, $25 free credits
37
+ # CODEVAULT_RERANK_API_URL=https://api.cohere.ai/v1/rerank
38
+ # CODEVAULT_RERANK_API_KEY=your-cohere-key-here
39
+ # CODEVAULT_RERANK_MODEL=rerank-english-v3.0
40
+
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
45
+
46
+ # Chat LLM Configuration (for ask_codebase feature)
47
+ # Uses same API as embeddings by default, but can be different
48
+ CODEVAULT_CHAT_API_KEY=your-nebius-jwt-token-here
49
+ CODEVAULT_CHAT_BASE_URL=https://api.studio.nebius.com/v1
50
+ CODEVAULT_CHAT_MODEL=Qwen/Qwen2.5-72B-Instruct
51
+ CODEVAULT_CHAT_MAX_TOKENS=4096
52
+ CODEVAULT_CHAT_TEMPERATURE=0.7
53
+
54
+ # For Ollama Chat (local, no API key needed)
55
+ # CODEVAULT_OLLAMA_CHAT_MODEL=llama3.1
34
56
 
35
57
  # Encryption (Optional)
36
58
  # 32-byte key encoded as base64 or hex