@memberjunction/search-engine 6.1.0-edge.1 → 6.1.0-edge.3

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.
@@ -264,8 +264,11 @@ let VectorSearchProvider = class VectorSearchProvider extends BaseSearchProvider
264
264
  fusion: 'rrf',
265
265
  includeMetadata: true,
266
266
  }, contextUser);
267
- const fallbackEntity = await this.getFallbackEntityName(colocated.matches, vectorIndex, contextUser);
268
- return this.convertMatches(colocated.matches, vectorIndex.Name, fallbackEntity);
267
+ const [fallbackEntity, entityByContentSourceID] = await Promise.all([
268
+ this.getFallbackEntityName(colocated.matches, vectorIndex, contextUser),
269
+ this.resolveContentSourceEntities(colocated.matches, contextUser),
270
+ ]);
271
+ return this.convertMatches(colocated.matches, vectorIndex.Name, fallbackEntity, entityByContentSourceID);
269
272
  }
270
273
  // contextUser is passed as the 2nd arg per VectorDBBase.QueryIndex's
271
274
  // contract. Remote drivers (Pinecone/Qdrant) ignore it and authenticate
@@ -283,8 +286,11 @@ let VectorSearchProvider = class VectorSearchProvider extends BaseSearchProvider
283
286
  if (!response.success || !response.data?.matches) {
284
287
  return [];
285
288
  }
286
- const fallbackEntity = await this.getFallbackEntityName(response.data.matches, vectorIndex, contextUser);
287
- return this.convertMatches(response.data.matches, vectorIndex.Name, fallbackEntity);
289
+ const [fallbackEntity, entityByContentSourceID] = await Promise.all([
290
+ this.getFallbackEntityName(response.data.matches, vectorIndex, contextUser),
291
+ this.resolveContentSourceEntities(response.data.matches, contextUser),
292
+ ]);
293
+ return this.convertMatches(response.data.matches, vectorIndex.Name, fallbackEntity, entityByContentSourceID);
288
294
  }
289
295
  /**
290
296
  * Resolve a fallback entity name for matches whose metadata omits the `Entity` key
@@ -297,6 +303,192 @@ let VectorSearchProvider = class VectorSearchProvider extends BaseSearchProvider
297
303
  }
298
304
  return this.resolveIndexEntityName(vectorIndex.ID, contextUser);
299
305
  }
306
+ /**
307
+ * Resolve, per **content source**, the entity that source declares its vectors to be.
308
+ *
309
+ * This is the attribution path for an index populated by the ContentSource pipeline with
310
+ * `fieldStrategy: 'explicit'`, where `ContentSourceID` is present but the identity keys are not.
311
+ * It is strictly better than any index-wide fallback for two reasons:
312
+ *
313
+ * - **It is per match.** One index can hold vectors from many content sources, so an index-wide
314
+ * answer is wrong the moment a second source shares the index. A `ContentSourceID` is carried
315
+ * by the vector itself.
316
+ * - **It is declared, not inferred.** `Configuration.VectorEntityName` is set by the source's
317
+ * owner; nothing here guesses. That matters because attribution decides *which* entity's
318
+ * CanRead/RLS `SearchEngine.filterEntityResults` evaluates — an inferred name would put the
319
+ * wrong object's permissions in front of the records.
320
+ *
321
+ * Declaring it also lets a source point at an **ISA extension** rather than the base entity it
322
+ * inherits from, which an index-wide or pipeline-hardcoded name cannot express: the extension is
323
+ * usually where row-level security lives, so the distinction is a security one, not cosmetic.
324
+ *
325
+ * Returns a map keyed by `ContentSourceID`; sources with no declared entity are simply absent, so
326
+ * their matches fall through to the Entity Document path and then to 'Unknown' exactly as before.
327
+ */
328
+ async resolveContentSourceEntities(matches, contextUser) {
329
+ const byContentSourceID = new Map();
330
+ const needAttribution = matches?.filter(m => !m.metadata?.['Entity']) ?? [];
331
+ if (needAttribution.length === 0) {
332
+ return byContentSourceID;
333
+ }
334
+ const engine = KnowledgeHubMetadataEngine.Instance;
335
+ try {
336
+ // Pass `this.Provider`, not just the user: the declared entity is resolved through this
337
+ // provider a few methods down, so loading the sources against the process-global default
338
+ // would read one metadata set and validate against another.
339
+ await engine.Config(false, contextUser, this.Provider);
340
+ }
341
+ catch (error) {
342
+ // Attribution is best-effort — never let a metadata failure sink the query results.
343
+ LogError(`VectorSearchProvider: Failed to load knowledge-hub metadata: ${error}`);
344
+ return byContentSourceID;
345
+ }
346
+ // An empty content-source collection is NOT evidence that nothing is declared. On a
347
+ // permission-denied load `BaseEngine` empties every collection, records the load as
348
+ // SUCCESSFUL, flags itself constrained, and does not throw — and this engine exposes its
349
+ // backing arrays directly rather than through `GetConfigData`, so no PermissionConstrainedError
350
+ // surfaces. Declining explicitly (rather than reading "nothing declared") is the difference
351
+ // between "no declaration" and "cannot see the declaration".
352
+ //
353
+ // Two properties of that flag a reader should know, because they bound what this guard achieves:
354
+ // it is set when ANY of the engine's configs is denied — not necessarily the content sources —
355
+ // and it is process-wide and sticky, reset only on a fresh or forced load. So it reflects
356
+ // whoever warmed the singleton first, not the caller. Naming the denied entities rather than
357
+ // guessing is the least this can do; the real fix is registering the engine for startup so the
358
+ // first search does not decide this for everyone. See the PR's open questions.
359
+ if (engine.IsPermissionConstrained) {
360
+ // `?? []` because this is a diagnostic on the path that has just decided to return nothing,
361
+ // and it sits outside the try/catch above — a throw here would take the whole query down to
362
+ // improve a log message.
363
+ const denied = engine.PermissionConstrainedEntities ?? [];
364
+ LogStatus('VectorSearchProvider: the knowledge-hub metadata cache is permission-constrained, so ' +
365
+ 'vector matches cannot be attributed from their content source. Denied: ' +
366
+ (denied.length > 0 ? denied.join(', ') : 'not reported') +
367
+ '. Grant Read on those to this role, or set an `Entity` metadata key on the vectors. ' +
368
+ 'Note this state is process-wide and set by whichever user loaded the cache first.');
369
+ return byContentSourceID;
370
+ }
371
+ const seen = new Set();
372
+ for (const match of needAttribution) {
373
+ const contentSourceID = match.metadata?.['ContentSourceID'];
374
+ if (typeof contentSourceID !== 'string' || contentSourceID.trim().length === 0 || seen.has(contentSourceID)) {
375
+ continue; // distinct sources only — a batch of matches usually shares a handful
376
+ }
377
+ seen.add(contentSourceID);
378
+ try {
379
+ // Per source, NOT one guard around the loop: `ConfigurationObject` is a bare
380
+ // `JSON.parse`, so one malformed blob would otherwise abandon every source after it
381
+ // and silently downgrade those matches to a different entity's permissions.
382
+ const declared = this.declaredVectorEntityName(engine.GetContentSourceByID(contentSourceID));
383
+ if (declared) {
384
+ byContentSourceID.set(contentSourceID, declared);
385
+ }
386
+ }
387
+ catch (error) {
388
+ LogError(`VectorSearchProvider: content source ${contentSourceID} has unreadable configuration: ${error}`);
389
+ }
390
+ }
391
+ return byContentSourceID;
392
+ }
393
+ /**
394
+ * The entity a content source declares its VECTORS to be.
395
+ *
396
+ * ⚠️ REVIEWERS — this is the one open design decision in this PR. The key is read from the
397
+ * source's `Configuration` JSON, which is where every other per-source vector knob already lives
398
+ * (`EnableVectorization`, `VectorIDStrategy`, `ChunkTextStorage`, `Metadata`). The alternative is
399
+ * a dedicated `VectorEntityID` column with a real FK to `MJ: Entities`, which is more queryable
400
+ * and self-documenting at the cost of a migration. Either is a small change from here — the
401
+ * mechanism above does not care which.
402
+ *
403
+ * It is deliberately NOT `ContentSource.EntityID`. That column means "the MJ Entity to pull
404
+ * records **from**, NULL for non-entity sources (files, RSS, websites)" and is already consumed
405
+ * that way by `AutotagEntity` when it stamps `EntityRecordDocument.EntityID`. It is the opposite
406
+ * direction from what attribution needs, and it is null for precisely the source types that most
407
+ * need attributing.
408
+ *
409
+ * Read through the generated `ConfigurationObject` accessor, which CodeGen emits from the
410
+ * `IContentSourceConfiguration` JSONType definition — so the property name cannot drift from the
411
+ * metadata without failing to compile.
412
+ */
413
+ declaredVectorEntityName(source) {
414
+ if (!source) {
415
+ return null;
416
+ }
417
+ const declared = source.ConfigurationObject?.VectorEntityName;
418
+ if (typeof declared !== 'string' || declared.trim().length === 0) {
419
+ return null;
420
+ }
421
+ return this.validatedAttributionEntity(declared.trim(), source.ID);
422
+ }
423
+ /**
424
+ * Entities a content source is allowed to declare its vectors to be: the content-item entities
425
+ * themselves, or anything that IS-A one of them.
426
+ */
427
+ static { this.AttributionRoots = ['MJ: Content Items', 'MJ: Content Item Chunks']; }
428
+ /**
429
+ * Validate a declared attribution before it is trusted, and return the entity's CANONICAL name.
430
+ *
431
+ * Two checks, each closing a way this could go wrong, because whatever is returned here becomes
432
+ * the entity whose CanRead and row-level security `SearchEngine.filterEntityResults` evaluates —
433
+ * and that method never verifies the matched record ids actually belong to it.
434
+ *
435
+ * - **It must resolve.** An unresolvable name is not a labelling slip: the permission filter
436
+ * silently discards the whole group, so a typo (or a core-entity name missing its `MJ: `
437
+ * prefix) would delete a source's search results with no error anywhere. Declining instead
438
+ * leaves the index's own Entity Document to answer, which is the pre-existing behaviour.
439
+ * - **It must be a content-item entity.** Without this, the declaration is an arbitrary entity
440
+ * name in a writable configuration blob deciding which permissions apply — point it at
441
+ * something world-readable with no row filter and every vector from that source is admitted
442
+ * for every user. Restricting to the IS-A family of the content-item entities keeps the
443
+ * legitimate case (naming a subtype whose row-level security differs from its parent's) and
444
+ * removes the arbitrary-entity case entirely.
445
+ */
446
+ validatedAttributionEntity(declared, contentSourceID) {
447
+ const entity = this.Provider.EntityByName(declared);
448
+ if (!entity) {
449
+ LogError(`VectorSearchProvider: content source ${contentSourceID} declares vector entity ` +
450
+ `"${declared}", which does not resolve in metadata — ignoring it. Core entities carry ` +
451
+ `the \`MJ: \` prefix.`);
452
+ return null;
453
+ }
454
+ if (!this.isContentItemEntity(entity)) {
455
+ LogError(`VectorSearchProvider: content source ${contentSourceID} declares vector entity ` +
456
+ `"${entity.Name}", which is not a content-item entity — ignoring it. A source may only ` +
457
+ `declare ${VectorSearchProvider_1.AttributionRoots.join(' / ')} or a subtype of one.`);
458
+ return null;
459
+ }
460
+ return entity.Name; // canonical casing, so downstream grouping is consistent
461
+ }
462
+ /**
463
+ * Whether an entity IS-A content-item entity — itself one of {@link AttributionRoots}, or a subtype
464
+ * of one somewhere up its IS-A chain.
465
+ *
466
+ * Walks `ParentID` through **this provider** rather than using `EntityInfo.ParentChain`, which
467
+ * resolves each step against the process-global `Metadata.Provider` by design. Mixing the two would
468
+ * resolve the declared entity on the request's provider and then walk its ancestry on a different
469
+ * metadata set — under a non-default provider the chain comes back empty and a legitimate subtype is
470
+ * refused. Fail-closed, but wrong, and invisible until someone runs multi-provider.
471
+ */
472
+ isContentItemEntity(entity) {
473
+ const roots = VectorSearchProvider_1.AttributionRoots;
474
+ const provider = this.Provider;
475
+ const visited = new Set();
476
+ let current = entity;
477
+ while (current) {
478
+ if (roots.includes(current.Name)) {
479
+ return true;
480
+ }
481
+ if (!current.ParentID || visited.has(current.ID)) {
482
+ return false; // root reached, or a cycle in the metadata
483
+ }
484
+ visited.add(current.ID);
485
+ const parentID = current.ParentID;
486
+ current = provider.EntityByID
487
+ ? provider.EntityByID(parentID) ?? undefined
488
+ : provider.Entities?.find(e => UUIDsEqual(e.ID, parentID));
489
+ }
490
+ return false;
491
+ }
300
492
  /**
301
493
  * Resolve the entity name an index serves by inspecting its entity documents.
302
494
  *
@@ -311,7 +503,10 @@ let VectorSearchProvider = class VectorSearchProvider extends BaseSearchProvider
311
503
  */
312
504
  async resolveIndexEntityName(vectorIndexID, contextUser) {
313
505
  try {
314
- await KnowledgeHubMetadataEngine.Instance.Config(false, contextUser);
506
+ // Same provider argument as the content-source path — the engine is a process-wide
507
+ // singleton whose provider binds on first load, so if only one of its two callers passes
508
+ // one, which metadata set gets cached depends on which search happens to run first.
509
+ await KnowledgeHubMetadataEngine.Instance.Config(false, contextUser, this.Provider);
315
510
  const distinct = new Set(KnowledgeHubMetadataEngine.Instance.EntityDocuments
316
511
  .filter(d => UUIDsEqual(d.VectorIndexID, vectorIndexID) && d.Entity)
317
512
  .map(d => d.Entity));
@@ -325,14 +520,33 @@ let VectorSearchProvider = class VectorSearchProvider extends BaseSearchProvider
325
520
  }
326
521
  }
327
522
  /** Convert vector DB matches to SearchResultItem[] */
328
- convertMatches(matches, indexName, fallbackEntityName) {
329
- return matches.map(match => {
523
+ convertMatches(matches, indexName, fallbackEntityName, entityByContentSourceID) {
524
+ const unattributed = [];
525
+ const items = matches.map(match => {
330
526
  const meta = match.metadata ?? {};
331
- const entityName = meta['Entity'] ?? fallbackEntityName ?? 'Unknown';
527
+ // Attribution, most specific first: the vector's own key, then the entity its CONTENT
528
+ // SOURCE declares (per match), then the index's Entity Document (index-wide).
529
+ //
530
+ // `||` rather than `??` deliberately: an `Entity: ''` in the metadata is falsy, and the
531
+ // "does this match need attributing" test upstream treats it as needing one. With `??` a
532
+ // resolved name would then be discarded — '' is not nullish — and the result dropped by
533
+ // the permission filter with the resolution already paid for. The two tests must agree.
534
+ const contentSourceID = meta['ContentSourceID'];
535
+ const declaredBySource = typeof contentSourceID === 'string'
536
+ ? entityByContentSourceID?.get(contentSourceID)
537
+ : undefined;
538
+ const resolvedEntity = meta['Entity'] || declaredBySource || fallbackEntityName || null;
539
+ if (!resolvedEntity) {
540
+ unattributed.push(match.id);
541
+ }
542
+ const entityName = resolvedEntity ?? 'Unknown';
332
543
  // Vector metadata stores RecordID in CompositeKey URL format: "FieldName|Value" or "F1|V1||F2|V2"
333
544
  // Use CompositeKey to properly parse it, then extract just the values for consistent
334
545
  // matching with entity search results (which use plain record IDs)
335
- const rawRecordID = meta['RecordID'] ?? match.id;
546
+ // `||` for the same reason as the entity name above: a producer that writes `RecordID: ''`
547
+ // rather than omitting the key must still fall through to the vector's own id, or the item
548
+ // ships an empty RecordID and the permission filter drops it on an `IN ('')`.
549
+ const rawRecordID = meta['RecordID'] || match.id;
336
550
  const recordID = this.extractRecordIDFromCompositeKey(rawRecordID);
337
551
  const title = this.extractDisplayTitle(meta, entityName);
338
552
  const snippet = this.extractDisplaySnippet(meta, indexName, match.score);
@@ -357,12 +571,47 @@ let VectorSearchProvider = class VectorSearchProvider extends BaseSearchProvider
357
571
  RawMetadata: JSON.stringify(meta),
358
572
  };
359
573
  });
574
+ this.warnOnUnattributedMatches(unattributed, indexName);
575
+ return items;
576
+ }
577
+ /** How many vector ids to name in the unattributed-match warning. */
578
+ static { this.UnattributedSampleSize = 3; }
579
+ /**
580
+ * Report matches that no attribution step could name, because they are about to disappear.
581
+ *
582
+ * `SearchEngine.filterEntityResults` resolves each group's `EntityName` through `EntityByName` and
583
+ * returns before admitting a group it cannot resolve — fail-closed, and with no log of its own. The
584
+ * one trace that does exist is the aggregate `Residual permission filter removed N result(s)`, whose
585
+ * wording attributes the loss to incomplete provider push-down. So the only signal a deployment gets
586
+ * today points away from the cause: vectors are demonstrably in the index and never surface.
587
+ *
588
+ * Logged once per index per batch rather than per match, and it names the three ways to fix it,
589
+ * because the audience is whoever populated the index rather than whoever wrote this code.
590
+ */
591
+ warnOnUnattributedMatches(vectorIDs, indexName) {
592
+ if (vectorIDs.length === 0) {
593
+ return;
594
+ }
595
+ const sample = vectorIDs.slice(0, VectorSearchProvider_1.UnattributedSampleSize).join(', ');
596
+ LogError(`VectorSearchProvider: ${vectorIDs.length} match(es) from index "${indexName}" carry no ` +
597
+ `resolvable entity and will be dropped by the permission filter rather than returned. Give ` +
598
+ `the vectors an \`Entity\` metadata key, declare \`VectorEntityName\` on their content source ` +
599
+ `(which also needs \`ContentSourceID\` in the metadata to be found), or point an Entity ` +
600
+ `Document at this index. Sample vector id(s): ${sample}`);
360
601
  }
361
602
  /**
362
603
  * Extract best display title from vector metadata using entity field metadata.
363
604
  * Combines all IsNameField fields in Sequence order.
364
605
  */
365
606
  extractDisplayTitle(meta, fallbackEntity) {
607
+ // DELIBERATELY reads `meta['Entity']` and NOT the resolved entity name. It looks like an
608
+ // oversight and is not: when the metadata carries no name fields this method falls through to
609
+ // `` `${fallbackEntity} Record` ``, and that string is a SENTINEL —
610
+ // `SearchEnricher.resolveRecordNames` matches `RecordName === `${EntityName} Record`` and
611
+ // replaces it with the live name from the database. Feeding the resolved entity in here makes
612
+ // the name-field branch succeed off the embedding-time metadata snapshot instead, the sentinel
613
+ // never forms, and renamed records show a stale title in every search result until re-embedded.
614
+ // Titles for attributed-but-unlabelled matches are meant to come from the enricher.
366
615
  const entityName = meta['Entity'];
367
616
  if (entityName) {
368
617
  const md = this.Provider;
@@ -1 +1 @@
1
- {"version":3,"file":"VectorSearchProvider.js","sourceRoot":"","sources":["../../src/generic/VectorSearchProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VectorSearchProvider.js","sourceRoot":"","sources":["../../src/generic/VectorSearchProvider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * @fileoverview Internal helpers for reading deployment-time configuration overrides from the
3
+ * environment. Not part of the package's public API — `index.ts` does not re-export this module.
4
+ *
5
+ * @module @memberjunction/search-engine
6
+ */
7
+ /**
8
+ * Read a positive-integer deployment override from an environment variable, falling back to
9
+ * `defaultValue` when the variable is unset, non-numeric, or non-positive. The `typeof process`
10
+ * guard keeps this safe in browser bundles, where `process` is undefined. Mirrors the
11
+ * `Number(process.env.X)` + `Number.isFinite && > 0` idiom used for the `MJ_INTEGRATION_*`
12
+ * ceilings in `@memberjunction/integration`.
13
+ *
14
+ * When the variable is *present but invalid* (e.g. `"5s"`, `"0"`, `"-1"`) a warning is logged so
15
+ * an ops-side typo surfaces at boot instead of silently reverting to the default. An unset
16
+ * variable is the normal path and stays silent.
17
+ */
18
+ export declare function envIntOverride(name: string, defaultValue: number): number;
19
+ //# sourceMappingURL=env-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env-config.d.ts","sourceRoot":"","sources":["../../src/generic/env-config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAgBzE"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * @fileoverview Internal helpers for reading deployment-time configuration overrides from the
3
+ * environment. Not part of the package's public API — `index.ts` does not re-export this module.
4
+ *
5
+ * @module @memberjunction/search-engine
6
+ */
7
+ import { LogErrorEx } from '@memberjunction/core';
8
+ /**
9
+ * Read a positive-integer deployment override from an environment variable, falling back to
10
+ * `defaultValue` when the variable is unset, non-numeric, or non-positive. The `typeof process`
11
+ * guard keeps this safe in browser bundles, where `process` is undefined. Mirrors the
12
+ * `Number(process.env.X)` + `Number.isFinite && > 0` idiom used for the `MJ_INTEGRATION_*`
13
+ * ceilings in `@memberjunction/integration`.
14
+ *
15
+ * When the variable is *present but invalid* (e.g. `"5s"`, `"0"`, `"-1"`) a warning is logged so
16
+ * an ops-side typo surfaces at boot instead of silently reverting to the default. An unset
17
+ * variable is the normal path and stays silent.
18
+ */
19
+ export function envIntOverride(name, defaultValue) {
20
+ const raw = typeof process !== 'undefined' ? process.env?.[name] : undefined;
21
+ // Unset (or explicitly emptied) — the normal path, no override, no noise.
22
+ if (raw === undefined || raw === '') {
23
+ return defaultValue;
24
+ }
25
+ const override = Number(raw);
26
+ if (Number.isFinite(override) && override > 0) {
27
+ return Math.floor(override);
28
+ }
29
+ LogErrorEx({
30
+ message: `Ignoring invalid ${name}="${raw}" — expected a positive integer; using default ${defaultValue}.`,
31
+ severity: 'warning',
32
+ category: 'SearchEngineConfig',
33
+ });
34
+ return defaultValue;
35
+ }
36
+ //# sourceMappingURL=env-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env-config.js","sourceRoot":"","sources":["../../src/generic/env-config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,YAAoB;IAC7D,MAAM,GAAG,GAAG,OAAO,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7E,0EAA0E;IAC1E,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;QAClC,OAAO,YAAY,CAAC;IACxB,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IACD,UAAU,CAAC;QACP,OAAO,EAAE,oBAAoB,IAAI,KAAK,GAAG,kDAAkD,YAAY,GAAG;QAC1G,QAAQ,EAAE,SAAS;QACnB,QAAQ,EAAE,oBAAoB;KACjC,CAAC,CAAC;IACH,OAAO,YAAY,CAAC;AACxB,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@memberjunction/search-engine",
3
3
  "type": "module",
4
- "version": "6.1.0-edge.1",
4
+ "version": "6.1.0-edge.3",
5
5
  "description": "MemberJunction: Reusable server-side search engine - vector + full-text + entity search with RRF fusion",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
@@ -9,15 +9,15 @@
9
9
  "/dist"
10
10
  ],
11
11
  "author": "MemberJunction.com",
12
- "license": "ISC",
12
+ "license": "BUSL-1.1",
13
13
  "dependencies": {
14
- "@memberjunction/ai": "6.1.0-edge.1",
15
- "@memberjunction/ai-vectordb": "6.1.0-edge.1",
16
- "@memberjunction/aiengine": "6.1.0-edge.1",
17
- "@memberjunction/core": "6.1.0-edge.1",
18
- "@memberjunction/core-entities": "6.1.0-edge.1",
19
- "@memberjunction/global": "6.1.0-edge.1",
20
- "@memberjunction/storage": "6.1.0-edge.1",
14
+ "@memberjunction/ai": "6.1.0-edge.3",
15
+ "@memberjunction/ai-vectordb": "6.1.0-edge.3",
16
+ "@memberjunction/aiengine": "6.1.0-edge.3",
17
+ "@memberjunction/core": "6.1.0-edge.3",
18
+ "@memberjunction/core-entities": "6.1.0-edge.3",
19
+ "@memberjunction/global": "6.1.0-edge.3",
20
+ "@memberjunction/storage": "6.1.0-edge.3",
21
21
  "nunjucks": "^3.2.4"
22
22
  },
23
23
  "optionalDependencies": {