@zabaca/lattice 1.0.21 → 1.0.22

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 (2) hide show
  1. package/dist/main.js +17 -11
  2. package/package.json +1 -1
package/dist/main.js CHANGED
@@ -1289,13 +1289,18 @@ class VoyageEmbeddingProvider {
1289
1289
  class EmbeddingService {
1290
1290
  configService;
1291
1291
  logger = new Logger3(EmbeddingService.name);
1292
- provider;
1292
+ provider = null;
1293
1293
  config;
1294
1294
  constructor(configService) {
1295
1295
  this.configService = configService;
1296
1296
  this.config = this.loadConfig();
1297
- this.provider = this.createProvider();
1298
- this.logger.log(`Initialized embedding service with provider: ${this.provider.name}`);
1297
+ }
1298
+ getProvider() {
1299
+ if (!this.provider) {
1300
+ this.provider = this.createProvider();
1301
+ this.logger.log(`Initialized embedding provider: ${this.provider.name}`);
1302
+ }
1303
+ return this.provider;
1299
1304
  }
1300
1305
  loadConfig() {
1301
1306
  const providerEnv = this.configService.get("EMBEDDING_PROVIDER");
@@ -1342,35 +1347,36 @@ class EmbeddingService {
1342
1347
  }
1343
1348
  }
1344
1349
  getProviderName() {
1345
- return this.provider.name;
1350
+ return this.getProvider().name;
1346
1351
  }
1347
1352
  getDimensions() {
1348
- return this.provider.dimensions;
1353
+ return this.getProvider().dimensions;
1349
1354
  }
1350
1355
  async generateEmbedding(text) {
1351
1356
  if (!text || text.trim().length === 0) {
1352
1357
  throw new Error("Cannot generate embedding for empty text");
1353
1358
  }
1354
- return this.provider.generateEmbedding(text);
1359
+ return this.getProvider().generateEmbedding(text);
1355
1360
  }
1356
1361
  async generateQueryEmbedding(text) {
1357
1362
  if (!text || text.trim().length === 0) {
1358
1363
  throw new Error("Cannot generate embedding for empty text");
1359
1364
  }
1360
- if (this.provider.generateQueryEmbedding) {
1361
- return this.provider.generateQueryEmbedding(text);
1365
+ const provider = this.getProvider();
1366
+ if (provider.generateQueryEmbedding) {
1367
+ return provider.generateQueryEmbedding(text);
1362
1368
  }
1363
- return this.provider.generateEmbedding(text);
1369
+ return provider.generateEmbedding(text);
1364
1370
  }
1365
1371
  async generateEmbeddings(texts) {
1366
1372
  const validTexts = texts.filter((t) => t && t.trim().length > 0);
1367
1373
  if (validTexts.length === 0) {
1368
1374
  return [];
1369
1375
  }
1370
- return this.provider.generateEmbeddings(validTexts);
1376
+ return this.getProvider().generateEmbeddings(validTexts);
1371
1377
  }
1372
1378
  isRealProvider() {
1373
- return this.provider.name !== "mock";
1379
+ return this.getProvider().name !== "mock";
1374
1380
  }
1375
1381
  }
1376
1382
  EmbeddingService = __legacyDecorateClassTS([
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zabaca/lattice",
3
- "version": "1.0.21",
3
+ "version": "1.0.22",
4
4
  "description": "Human-initiated, AI-powered knowledge graph for markdown documentation",
5
5
  "type": "module",
6
6
  "bin": {