codebaxing 0.2.52 → 0.2.53

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.
package/README.md CHANGED
@@ -90,9 +90,12 @@ After installing, AI agents can use these tools:
90
90
 
91
91
  ### Cloud Embedding (Fastest)
92
92
 
93
- Use OpenAI or Voyage for ~25x faster indexing:
93
+ Use cloud APIs for ~25x faster indexing:
94
94
 
95
95
  ```bash
96
+ # Gemini (FREE - recommended)
97
+ CODEBAXING_EMBEDDING_PROVIDER=gemini GEMINI_API_KEY=... npx codebaxing@latest index /path
98
+
96
99
  # OpenAI (text-embedding-3-small, 384 dims)
97
100
  CODEBAXING_EMBEDDING_PROVIDER=openai OPENAI_API_KEY=sk-... npx codebaxing@latest index /path
98
101
 
@@ -107,7 +110,7 @@ CODEBAXING_EMBEDDING_PROVIDER=voyage VOYAGE_API_KEY=va-... npx codebaxing@latest
107
110
  | Variable | Description | Default |
108
111
  |----------|-------------|---------|
109
112
  | `CHROMADB_URL` | ChromaDB server URL | `http://localhost:8000` |
110
- | `CODEBAXING_EMBEDDING_PROVIDER` | Embedding backend: `local`, `openai`, `voyage` | `local` |
113
+ | `CODEBAXING_EMBEDDING_PROVIDER` | Embedding backend: `local`, `gemini`, `openai`, `voyage` | `local` |
111
114
  | `CODEBAXING_DEVICE` | Compute device (local only): `cpu`, `cuda` | `cpu` |
112
115
  | `CODEBAXING_DTYPE` | Model quantization (local only): `fp32`, `fp16`, `q8`, `q4` | `q8` |
113
116
  | `CODEBAXING_WORKERS` | Worker threads for parallel embedding (local only, 0=off) | `2` |
@@ -119,6 +122,7 @@ CODEBAXING_EMBEDDING_PROVIDER=voyage VOYAGE_API_KEY=va-... npx codebaxing@latest
119
122
  | `CODEBAXING_MODEL_CACHE` | Model cache directory (local only) | `~/.cache/codebaxing/models` |
120
123
  | `CODEBAXING_OPENAI_API_KEY` | OpenAI API key (or use `OPENAI_API_KEY`) | - |
121
124
  | `CODEBAXING_VOYAGE_API_KEY` | Voyage API key (or use `VOYAGE_API_KEY`) | - |
125
+ | `CODEBAXING_GEMINI_API_KEY` | Gemini API key (or use `GEMINI_API_KEY`) | - |
122
126
  | `CODEBAXING_EMBEDDING_MODEL` | Override embedding model name | per-provider default |
123
127
  | `CODEBAXING_EMBEDDING_DIMENSIONS` | Override embedding dimensions | per-provider default |
124
128
  | `CODEBAXING_EMBEDDING_BASE_URL` | Custom API endpoint for cloud providers | provider default |
@@ -185,7 +189,7 @@ Python, JavaScript, TypeScript, Go, Rust, Java, C/C++, C#, Ruby, PHP, Kotlin, Sw
185
189
  | Component | Technology |
186
190
  |-----------|------------|
187
191
  | Local Embedding | `all-MiniLM-L6-v2` (384 dims, ONNX, q8 quantized) |
188
- | Cloud Embedding | OpenAI `text-embedding-3-small` or Voyage `voyage-code-3` |
192
+ | Cloud Embedding | Gemini `text-embedding-004` (free), OpenAI, or Voyage |
189
193
  | Model Cache | `~/.cache/codebaxing/models/` (local only, downloaded once) |
190
194
  | Vector Database | ChromaDB |
191
195
  | Code Parser | Tree-sitter (28 languages) |
package/README.vi.md CHANGED
@@ -90,9 +90,12 @@ Sau khi cài, AI agents có thể dùng các tools:
90
90
 
91
91
  ### Cloud Embedding (Nhanh nhất)
92
92
 
93
- Dùng OpenAI hoặc Voyage để index nhanh ~25x:
93
+ Dùng cloud API để index nhanh ~25x:
94
94
 
95
95
  ```bash
96
+ # Gemini (MIỄN PHÍ - khuyên dùng)
97
+ CODEBAXING_EMBEDDING_PROVIDER=gemini GEMINI_API_KEY=... npx codebaxing@latest index /path
98
+
96
99
  # OpenAI (text-embedding-3-small, 384 dims)
97
100
  CODEBAXING_EMBEDDING_PROVIDER=openai OPENAI_API_KEY=sk-... npx codebaxing@latest index /path
98
101
 
@@ -107,7 +110,7 @@ CODEBAXING_EMBEDDING_PROVIDER=voyage VOYAGE_API_KEY=va-... npx codebaxing@latest
107
110
  | Biến | Mô tả | Mặc định |
108
111
  |------|-------|----------|
109
112
  | `CHROMADB_URL` | URL ChromaDB server | `http://localhost:8000` |
110
- | `CODEBAXING_EMBEDDING_PROVIDER` | Backend embedding: `local`, `openai`, `voyage` | `local` |
113
+ | `CODEBAXING_EMBEDDING_PROVIDER` | Backend embedding: `local`, `gemini`, `openai`, `voyage` | `local` |
111
114
  | `CODEBAXING_DEVICE` | Compute device (chỉ local): `cpu`, `cuda` | `cpu` |
112
115
  | `CODEBAXING_DTYPE` | Quantization (chỉ local): `fp32`, `fp16`, `q8`, `q4` | `q8` |
113
116
  | `CODEBAXING_WORKERS` | Worker threads cho embedding (chỉ local, 0=tắt) | `2` |
@@ -118,6 +121,7 @@ CODEBAXING_EMBEDDING_PROVIDER=voyage VOYAGE_API_KEY=va-... npx codebaxing@latest
118
121
  | `CODEBAXING_METADATA_SAVE_INTERVAL` | Lưu tiến trình mỗi N batches | `10` |
119
122
  | `CODEBAXING_OPENAI_API_KEY` | OpenAI API key (hoặc dùng `OPENAI_API_KEY`) | - |
120
123
  | `CODEBAXING_VOYAGE_API_KEY` | Voyage API key (hoặc dùng `VOYAGE_API_KEY`) | - |
124
+ | `CODEBAXING_GEMINI_API_KEY` | Gemini API key (hoặc dùng `GEMINI_API_KEY`) | - |
121
125
  | `CODEBAXING_EMBEDDING_MODEL` | Override tên model embedding | mặc định theo provider |
122
126
  | `CODEBAXING_EMBEDDING_DIMENSIONS` | Override số dimensions | mặc định theo provider |
123
127
 
@@ -183,7 +187,7 @@ Python, JavaScript, TypeScript, Go, Rust, Java, C/C++, C#, Ruby, PHP, Kotlin, Sw
183
187
  | Component | Công nghệ |
184
188
  |-----------|-----------|
185
189
  | Local Embedding | `all-MiniLM-L6-v2` (384 dims, ONNX, q8 quantized) |
186
- | Cloud Embedding | OpenAI `text-embedding-3-small` hoặc Voyage `voyage-code-3` |
190
+ | Cloud Embedding | Gemini `text-embedding-004` (miễn phí), OpenAI, hoặc Voyage |
187
191
  | Vector Database | ChromaDB |
188
192
  | Code Parser | Tree-sitter (28 ngôn ngữ) |
189
193
  | MCP SDK | `@modelcontextprotocol/sdk` |
@@ -5,7 +5,7 @@
5
5
  * Significantly faster for large codebases (~10,000+ texts/sec vs ~400 on CPU).
6
6
  */
7
7
  import type { IEmbeddingService } from '../core/interfaces.js';
8
- export type CloudProvider = 'openai' | 'voyage';
8
+ export type CloudProvider = 'openai' | 'voyage' | 'gemini';
9
9
  export interface CloudEmbeddingConfig {
10
10
  provider: CloudProvider;
11
11
  apiKey: string;
@@ -31,6 +31,8 @@ export declare class CloudEmbeddingService implements IEmbeddingService {
31
31
  embed(text: string, isQuery?: boolean): Promise<number[]>;
32
32
  embedBatch(texts: string[], _isQuery?: boolean): Promise<number[][]>;
33
33
  private callApi;
34
+ private callOpenAiCompatibleApi;
35
+ private callGeminiApi;
34
36
  getStats(): Record<string, unknown>;
35
37
  clearCache(): void;
36
38
  unload(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"cloud-embedding-service.d.ts","sourceRoot":"","sources":["../../src/indexing/cloud-embedding-service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAK/D,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEhD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,aAAa,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AA0BD,qBAAa,qBAAsB,YAAW,iBAAiB;IAC7D,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAS;IAG5B,OAAO,CAAC,KAAK,CAAoC;IACjD,OAAO,CAAC,YAAY,CAAQ;IAG5B,OAAO,CAAC,KAAK,CAQX;gBAEU,MAAM,EAAE,oBAAoB;IAgBxC,IAAI,UAAU,IAAI,MAAM,CAEvB;IAEK,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,OAAe,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAYhE,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,GAAE,OAAe,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YA8CnE,OAAO;IAoErB,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAWnC,UAAU,IAAI,IAAI;IAMZ,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAG9B"}
1
+ {"version":3,"file":"cloud-embedding-service.d.ts","sourceRoot":"","sources":["../../src/indexing/cloud-embedding-service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAK/D,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE3D,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,aAAa,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAgCD,qBAAa,qBAAsB,YAAW,iBAAiB;IAC7D,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAS;IAG5B,OAAO,CAAC,KAAK,CAAoC;IACjD,OAAO,CAAC,YAAY,CAAQ;IAG5B,OAAO,CAAC,KAAK,CAQX;gBAEU,MAAM,EAAE,oBAAoB;IAgBxC,IAAI,UAAU,IAAI,MAAM,CAEvB;IAEK,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,OAAe,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAYhE,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,GAAE,OAAe,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YA8CnE,OAAO;YAQP,uBAAuB;YAkEvB,aAAa;IAsD3B,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAWnC,UAAU,IAAI,IAAI;IAMZ,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAG9B"}
@@ -18,6 +18,12 @@ const PROVIDER_DEFAULTS = {
18
18
  batchSize: 128,
19
19
  baseUrl: 'https://api.voyageai.com/v1/embeddings',
20
20
  },
21
+ gemini: {
22
+ model: 'text-embedding-004',
23
+ dimensions: 768,
24
+ batchSize: 100, // Gemini batch limit: 100 texts per request
25
+ baseUrl: 'https://generativelanguage.googleapis.com/v1',
26
+ },
21
27
  };
22
28
  // ─── CloudEmbeddingService ───────────────────────────────────────────────────
23
29
  export class CloudEmbeddingService {
@@ -104,15 +110,20 @@ export class CloudEmbeddingService {
104
110
  return allEmbeddings;
105
111
  }
106
112
  async callApi(texts, retries = 3) {
113
+ if (this.provider === 'gemini') {
114
+ return this.callGeminiApi(texts, retries);
115
+ }
116
+ return this.callOpenAiCompatibleApi(texts, retries);
117
+ }
118
+ // OpenAI and Voyage share the same API format
119
+ async callOpenAiCompatibleApi(texts, retries) {
107
120
  const body = {
108
121
  model: this.model,
109
122
  input: texts,
110
123
  };
111
- // OpenAI supports dimension reduction
112
124
  if (this.provider === 'openai' && this._dimensions) {
113
125
  body.dimensions = this._dimensions;
114
126
  }
115
- // Voyage uses input_type
116
127
  if (this.provider === 'voyage') {
117
128
  body.input_type = 'document';
118
129
  }
@@ -142,7 +153,6 @@ export class CloudEmbeddingService {
142
153
  if (json.usage) {
143
154
  this.stats.totalTokens += json.usage.total_tokens ?? json.usage.prompt_tokens ?? 0;
144
155
  }
145
- // Sort by index to maintain order
146
156
  const sorted = json.data.sort((a, b) => a.index - b.index);
147
157
  return sorted.map(d => d.embedding);
148
158
  }
@@ -159,6 +169,52 @@ export class CloudEmbeddingService {
159
169
  }
160
170
  throw new EmbeddingError(`${this.provider} API failed after ${retries} retries`);
161
171
  }
172
+ // Gemini uses a different API format (batchEmbedContents)
173
+ async callGeminiApi(texts, retries) {
174
+ const url = `${this.baseUrl}/models/${this.model}:batchEmbedContents?key=${this.apiKey}`;
175
+ const body = {
176
+ requests: texts.map(text => ({
177
+ model: `models/${this.model}`,
178
+ content: { parts: [{ text }] },
179
+ taskType: 'RETRIEVAL_DOCUMENT',
180
+ outputDimensionality: this._dimensions,
181
+ })),
182
+ };
183
+ for (let attempt = 0; attempt < retries; attempt++) {
184
+ try {
185
+ const response = await fetch(url, {
186
+ method: 'POST',
187
+ headers: { 'Content-Type': 'application/json' },
188
+ body: JSON.stringify(body),
189
+ });
190
+ if (response.status === 429 || response.status >= 500) {
191
+ const retryAfter = response.headers.get('retry-after');
192
+ const waitMs = retryAfter ? parseInt(retryAfter, 10) * 1000 : Math.pow(2, attempt) * 1000;
193
+ console.error(`[codebaxing] Gemini rate limited (${response.status}), retrying in ${waitMs}ms...`);
194
+ await new Promise(r => setTimeout(r, waitMs));
195
+ continue;
196
+ }
197
+ if (!response.ok) {
198
+ const errorText = await response.text();
199
+ throw new EmbeddingError(`Gemini API error (${response.status}): ${errorText.slice(0, 200)}`);
200
+ }
201
+ const json = await response.json();
202
+ this.stats.apiCalls++;
203
+ return json.embeddings.map(e => e.values);
204
+ }
205
+ catch (e) {
206
+ if (e instanceof EmbeddingError)
207
+ throw e;
208
+ if (attempt === retries - 1) {
209
+ throw new EmbeddingError(`Gemini API call failed: ${e.message}`);
210
+ }
211
+ const waitMs = Math.pow(2, attempt) * 1000;
212
+ console.error(`[codebaxing] Gemini error, retrying in ${waitMs}ms: ${e.message}`);
213
+ await new Promise(r => setTimeout(r, waitMs));
214
+ }
215
+ }
216
+ throw new EmbeddingError(`Gemini API failed after ${retries} retries`);
217
+ }
162
218
  getStats() {
163
219
  return {
164
220
  ...this.stats,
@@ -1 +1 @@
1
- {"version":3,"file":"cloud-embedding-service.js","sourceRoot":"","sources":["../../src/indexing/cloud-embedding-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cloud-embedding-service.js","sourceRoot":"","sources":["../../src/indexing/cloud-embedding-service.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@
6
6
  */
7
7
  import type { IEmbeddingService } from '../core/interfaces.js';
8
8
  import { type DeviceType, type DType } from './embedding-service.js';
9
- export type EmbeddingProvider = 'local' | 'openai' | 'voyage';
9
+ export type EmbeddingProvider = 'local' | 'openai' | 'voyage' | 'gemini';
10
10
  export declare function getConfiguredProvider(): EmbeddingProvider;
11
11
  export interface CreateEmbeddingServiceOptions {
12
12
  modelName?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"embedding-factory.d.ts","sourceRoot":"","sources":["../../src/indexing/embedding-factory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAAmC,KAAK,UAAU,EAAE,KAAK,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAKtG,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAM9D,wBAAgB,qBAAqB,IAAI,iBAAiB,CAMzD;AAID,MAAM,WAAW,6BAA6B;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,wBAAgB,sBAAsB,CACpC,OAAO,GAAE,6BAAkC,GAC1C,iBAAiB,CA0BnB"}
1
+ {"version":3,"file":"embedding-factory.d.ts","sourceRoot":"","sources":["../../src/indexing/embedding-factory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAAmC,KAAK,UAAU,EAAE,KAAK,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAKtG,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAMzE,wBAAgB,qBAAqB,IAAI,iBAAiB,CAMzD;AAID,MAAM,WAAW,6BAA6B;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,wBAAgB,sBAAsB,CACpC,OAAO,GAAE,6BAAkC,GAC1C,iBAAiB,CA0BnB"}
@@ -7,7 +7,7 @@
7
7
  import { EmbeddingError } from '../core/exceptions.js';
8
8
  import { EmbeddingService, DEFAULT_MODEL } from './embedding-service.js';
9
9
  import { CloudEmbeddingService } from './cloud-embedding-service.js';
10
- const VALID_PROVIDERS = ['local', 'openai', 'voyage'];
10
+ const VALID_PROVIDERS = ['local', 'openai', 'voyage', 'gemini'];
11
11
  // ─── Configuration ───────────────────────────────────────────────────────────
12
12
  export function getConfiguredProvider() {
13
13
  const envProvider = process.env.CODEBAXING_EMBEDDING_PROVIDER?.toLowerCase();
@@ -54,6 +54,12 @@ function getApiKey(provider) {
54
54
  throw new EmbeddingError('Voyage API key required. Set CODEBAXING_VOYAGE_API_KEY or VOYAGE_API_KEY environment variable.');
55
55
  }
56
56
  }
57
+ else if (provider === 'gemini') {
58
+ apiKey = process.env.CODEBAXING_GEMINI_API_KEY ?? process.env.GEMINI_API_KEY;
59
+ if (!apiKey) {
60
+ throw new EmbeddingError('Gemini API key required. Set CODEBAXING_GEMINI_API_KEY or GEMINI_API_KEY environment variable.');
61
+ }
62
+ }
57
63
  else {
58
64
  throw new EmbeddingError(`Unknown cloud provider: ${provider}`);
59
65
  }
@@ -1 +1 @@
1
- {"version":3,"file":"embedding-factory.js","sourceRoot":"","sources":["../../src/indexing/embedding-factory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAA+B,MAAM,wBAAwB,CAAC;AACtG,OAAO,EAAE,qBAAqB,EAAsB,MAAM,8BAA8B,CAAC;AAMzF,MAAM,eAAe,GAAwB,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAE3E,gFAAgF;AAEhF,MAAM,UAAU,qBAAqB;IACnC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,WAAW,EAAE,CAAC;IAC7E,IAAI,WAAW,IAAI,eAAe,CAAC,QAAQ,CAAC,WAAgC,CAAC,EAAE,CAAC;QAC9E,OAAO,WAAgC,CAAC;IAC1C,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAYD,MAAM,UAAU,sBAAsB,CACpC,UAAyC,EAAE;IAE3C,MAAM,QAAQ,GAAG,qBAAqB,EAAE,CAAC;IAEzC,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,OAAO,IAAI,gBAAgB,CAAC,OAAO,CAAC,SAAS,IAAI,aAAa,EAAE;YAC9D,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;SAC7C,CAAC,CAAC;IACL,CAAC;IAED,kBAAkB;IAClB,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IACnC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC;IACrD,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC;IAClE,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3E,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC;IAE1D,OAAO,IAAI,qBAAqB,CAAC;QAC/B,QAAQ,EAAE,QAAyB;QACnC,MAAM;QACN,KAAK;QACL,UAAU;QACV,OAAO;KACR,CAAC,CAAC;AACL,CAAC;AAED,SAAS,SAAS,CAAC,QAA2B;IAC5C,IAAI,MAA0B,CAAC;IAE/B,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;QAC7E,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,cAAc,CACtB,gGAAgG,CACjG,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;QAC7E,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,cAAc,CACtB,gGAAgG,CACjG,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,cAAc,CAAC,2BAA2B,QAAQ,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"embedding-factory.js","sourceRoot":"","sources":["../../src/indexing/embedding-factory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAA+B,MAAM,wBAAwB,CAAC;AACtG,OAAO,EAAE,qBAAqB,EAAsB,MAAM,8BAA8B,CAAC;AAMzF,MAAM,eAAe,GAAwB,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAErF,gFAAgF;AAEhF,MAAM,UAAU,qBAAqB;IACnC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,WAAW,EAAE,CAAC;IAC7E,IAAI,WAAW,IAAI,eAAe,CAAC,QAAQ,CAAC,WAAgC,CAAC,EAAE,CAAC;QAC9E,OAAO,WAAgC,CAAC;IAC1C,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAYD,MAAM,UAAU,sBAAsB,CACpC,UAAyC,EAAE;IAE3C,MAAM,QAAQ,GAAG,qBAAqB,EAAE,CAAC;IAEzC,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,OAAO,IAAI,gBAAgB,CAAC,OAAO,CAAC,SAAS,IAAI,aAAa,EAAE;YAC9D,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;SAC7C,CAAC,CAAC;IACL,CAAC;IAED,kBAAkB;IAClB,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IACnC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC;IACrD,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC;IAClE,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3E,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC;IAE1D,OAAO,IAAI,qBAAqB,CAAC;QAC/B,QAAQ,EAAE,QAAyB;QACnC,MAAM;QACN,KAAK;QACL,UAAU;QACV,OAAO;KACR,CAAC,CAAC;AACL,CAAC;AAED,SAAS,SAAS,CAAC,QAA2B;IAC5C,IAAI,MAA0B,CAAC;IAE/B,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;QAC7E,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,cAAc,CACtB,gGAAgG,CACjG,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;QAC7E,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,cAAc,CACtB,gGAAgG,CACjG,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;QAC7E,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,cAAc,CACtB,gGAAgG,CACjG,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,cAAc,CAAC,2BAA2B,QAAQ,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codebaxing",
3
- "version": "0.2.52",
3
+ "version": "0.2.53",
4
4
  "description": "MCP server for semantic code search. Index your codebase and search using natural language.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",