@memberjunction/search-engine 5.49.0 → 5.50.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 (63) hide show
  1. package/dist/generic/EntitySearchProvider.d.ts +17 -3
  2. package/dist/generic/EntitySearchProvider.d.ts.map +1 -1
  3. package/dist/generic/EntitySearchProvider.js +23 -6
  4. package/dist/generic/EntitySearchProvider.js.map +1 -1
  5. package/dist/generic/ExternalHitMapper.d.ts +48 -0
  6. package/dist/generic/ExternalHitMapper.d.ts.map +1 -0
  7. package/dist/generic/ExternalHitMapper.js +88 -0
  8. package/dist/generic/ExternalHitMapper.js.map +1 -0
  9. package/dist/generic/FullTextSearchProvider.d.ts +9 -1
  10. package/dist/generic/FullTextSearchProvider.d.ts.map +1 -1
  11. package/dist/generic/FullTextSearchProvider.js +11 -3
  12. package/dist/generic/FullTextSearchProvider.js.map +1 -1
  13. package/dist/generic/ScopeDimensionResolver.d.ts +146 -0
  14. package/dist/generic/ScopeDimensionResolver.d.ts.map +1 -0
  15. package/dist/generic/ScopeDimensionResolver.js +464 -0
  16. package/dist/generic/ScopeDimensionResolver.js.map +1 -0
  17. package/dist/generic/ScopeExplanation.d.ts +141 -0
  18. package/dist/generic/ScopeExplanation.d.ts.map +1 -0
  19. package/dist/generic/ScopeExplanation.js +72 -0
  20. package/dist/generic/ScopeExplanation.js.map +1 -0
  21. package/dist/generic/ScopeFilterGuard.d.ts +127 -0
  22. package/dist/generic/ScopeFilterGuard.d.ts.map +1 -0
  23. package/dist/generic/ScopeFilterGuard.js +290 -0
  24. package/dist/generic/ScopeFilterGuard.js.map +1 -0
  25. package/dist/generic/ScopeTemplateRenderer.d.ts +12 -2
  26. package/dist/generic/ScopeTemplateRenderer.d.ts.map +1 -1
  27. package/dist/generic/ScopeTemplateRenderer.js +25 -5
  28. package/dist/generic/ScopeTemplateRenderer.js.map +1 -1
  29. package/dist/generic/ScopeValueEscaper.d.ts +112 -0
  30. package/dist/generic/ScopeValueEscaper.d.ts.map +1 -0
  31. package/dist/generic/ScopeValueEscaper.js +152 -0
  32. package/dist/generic/ScopeValueEscaper.js.map +1 -0
  33. package/dist/generic/SearchEngine.d.ts +188 -8
  34. package/dist/generic/SearchEngine.d.ts.map +1 -1
  35. package/dist/generic/SearchEngine.js +600 -35
  36. package/dist/generic/SearchEngine.js.map +1 -1
  37. package/dist/generic/VectorSearchProvider.d.ts +2 -1
  38. package/dist/generic/VectorSearchProvider.d.ts.map +1 -1
  39. package/dist/generic/VectorSearchProvider.js +23 -26
  40. package/dist/generic/VectorSearchProvider.js.map +1 -1
  41. package/dist/generic/search.types.d.ts +160 -0
  42. package/dist/generic/search.types.d.ts.map +1 -1
  43. package/dist/index.d.ts +5 -0
  44. package/dist/index.d.ts.map +1 -1
  45. package/dist/index.js +5 -0
  46. package/dist/index.js.map +1 -1
  47. package/dist/permissions/SearchScopePermissionResolver.d.ts +37 -2
  48. package/dist/permissions/SearchScopePermissionResolver.d.ts.map +1 -1
  49. package/dist/permissions/SearchScopePermissionResolver.js +74 -2
  50. package/dist/permissions/SearchScopePermissionResolver.js.map +1 -1
  51. package/dist/providers/AzureAISearchProvider.d.ts.map +1 -1
  52. package/dist/providers/AzureAISearchProvider.js +24 -6
  53. package/dist/providers/AzureAISearchProvider.js.map +1 -1
  54. package/dist/providers/ElasticsearchSearchProvider.d.ts.map +1 -1
  55. package/dist/providers/ElasticsearchSearchProvider.js +17 -5
  56. package/dist/providers/ElasticsearchSearchProvider.js.map +1 -1
  57. package/dist/providers/OpenSearchSearchProvider.d.ts.map +1 -1
  58. package/dist/providers/OpenSearchSearchProvider.js +16 -5
  59. package/dist/providers/OpenSearchSearchProvider.js.map +1 -1
  60. package/dist/providers/TypesenseSearchProvider.d.ts.map +1 -1
  61. package/dist/providers/TypesenseSearchProvider.js +17 -6
  62. package/dist/providers/TypesenseSearchProvider.js.map +1 -1
  63. package/package.json +8 -8
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iCAAiC,CAAC;AAChD,cAAc,6CAA6C,CAAC;AAE5D,mFAAmF;AACnF,2FAA2F;AAC3F,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,iCAAiC,CAAC;AAEhD,kFAAkF;AAClF,kFAAkF;AAClF,sEAAsE;AACtE,cAAc,yCAAyC,CAAC;AACxD,cAAc,qCAAqC,CAAC;AACpD,cAAc,mCAAmC,CAAC;AAClD,cAAc,sCAAsC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iCAAiC,CAAC;AAChD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6CAA6C,CAAC;AAE5D,mFAAmF;AACnF,2FAA2F;AAC3F,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,iCAAiC,CAAC;AAEhD,kFAAkF;AAClF,kFAAkF;AAClF,sEAAsE;AACtE,cAAc,yCAAyC,CAAC;AACxD,cAAc,qCAAqC,CAAC;AACpD,cAAc,mCAAmC,CAAC;AAClD,cAAc,sCAAsC,CAAC;AACrD,cAAc,6BAA6B,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { UserInfo } from '@memberjunction/core';
2
- import type { MJSearchScopePermissionEntity, MJAIAgentEntity } from '@memberjunction/core-entities';
2
+ import type { MJSearchScopePermissionEntity, MJAIAgentEntity, MJAISkillEntity } from '@memberjunction/core-entities';
3
3
  /**
4
4
  * Permission level granted on a SearchScope. None is an explicit deny that
5
5
  * overrides role grants for that scope/principal pair. The resolver collapses
@@ -10,7 +10,7 @@ export type SearchScopePermissionLevel = 'None' | 'Read' | 'Search' | 'Manage';
10
10
  * Where the resolver picked up the effective permission. Used for audit
11
11
  * logging and explanatory error messages.
12
12
  */
13
- export type SearchScopePermissionSource = 'DirectGrant' | 'RoleGrant' | 'AgentUnscopedAll' | 'AgentNone' | 'AgentAssignedNotListed' | 'NoGrant';
13
+ export type SearchScopePermissionSource = 'DirectGrant' | 'RoleGrant' | 'AgentUnscopedAll' | 'AgentNone' | 'AgentAssignedNotListed' | 'SkillUnscopedAll' | 'SkillNone' | 'SkillAssignedNotListed' | 'NoGrant';
14
14
  export interface EffectivePermission {
15
15
  /** True when the principal can at least read the scope's metadata. */
16
16
  readonly Allowed: boolean;
@@ -51,6 +51,19 @@ export interface ResolvePermissionInput {
51
51
  * fallback paths.
52
52
  */
53
53
  Agent: MJAIAgentEntity | null;
54
+ /**
55
+ * The skill on whose behalf the search runs, or null. A skill is a PRINCIPAL in exactly the
56
+ * same sense an agent is: `AISkill.SearchScopeAccess` plus `MJ: AI Skill Search Scopes` rows
57
+ * let activating a skill reach a scope the user's own roles do not grant. Optional so every
58
+ * existing caller compiles and behaves unchanged.
59
+ */
60
+ Skill?: MJAISkillEntity | null;
61
+ /**
62
+ * Tenant this search is running for (`SearchContext.PrimaryScopeRecordID`). When supplied, a
63
+ * grant that carries its own `PrimaryScopeRecordID` applies only to that tenant. Grants with a
64
+ * NULL tenant continue to apply everywhere, so existing rows are unaffected.
65
+ */
66
+ PrimaryScopeRecordID?: string | null;
54
67
  /**
55
68
  * Optional ContextUser for RunView calls. Server-side code must always
56
69
  * pass this to enforce data isolation; it is the same UserInfo as `User`
@@ -89,6 +102,28 @@ export declare class SearchScopePermissionResolver {
89
102
  * UUIDsEqual to remain case-insensitive across SQL Server / PostgreSQL.
90
103
  */
91
104
  ResolveEffectivePermission(input: ResolvePermissionInput): Promise<EffectivePermission>;
105
+ /**
106
+ * Keep only grants that are in force at this moment and apply to this tenant.
107
+ *
108
+ * Both dimensions are additive: a row that leaves `StartAt`/`EndAt`/`PrimaryScopeRecordID`
109
+ * NULL is always in force and applies to every tenant, which is exactly how every row
110
+ * behaved before those columns existed.
111
+ */
112
+ protected applicableGrants(rows: MJSearchScopePermissionEntity[], primaryScopeRecordID: string | null, now?: Date): MJSearchScopePermissionEntity[];
113
+ /** A grant with no window is always in force; otherwise `now` must fall inside it. */
114
+ protected isGrantInWindow(row: MJSearchScopePermissionEntity, now: Date): boolean;
115
+ /**
116
+ * A grant with a NULL tenant applies everywhere. A tenant-scoped grant applies ONLY to that
117
+ * tenant — and, notably, does not apply when the search supplies no tenant at all, because
118
+ * "this grant is for org A" cannot be honoured by an untenanted search.
119
+ */
120
+ protected isGrantForTenant(row: MJSearchScopePermissionEntity, primaryScopeRecordID: string | null): boolean;
121
+ /**
122
+ * Whether the scope is in the skill's assigned-scope list via `__mj.AISkillSearchScope`.
123
+ * Mirrors `isScopeAssignedToAgent`, including honouring Status and the optional time window
124
+ * (which the agent table also has). Fails closed on an unreadable table.
125
+ */
126
+ protected isScopeAssignedToSkill(skillID: string, searchScopeID: string, contextUser: UserInfo): Promise<boolean>;
92
127
  /**
93
128
  * Checks whether the given scope is in the agent's assigned-scope list
94
129
  * via __mj.AIAgentSearchScope. Used to enforce the SearchScopeAccess='Assigned'
@@ -1 +1 @@
1
- {"version":3,"file":"SearchScopePermissionResolver.d.ts","sourceRoot":"","sources":["../../src/permissions/SearchScopePermissionResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEnE,OAAO,KAAK,EAAE,6BAA6B,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEpG;;;;GAIG;AACH,MAAM,MAAM,0BAA0B,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE/E;;;GAGG;AACH,MAAM,MAAM,2BAA2B,GACjC,aAAa,GACb,WAAW,GACX,kBAAkB,GAClB,WAAW,GACX,wBAAwB,GACxB,SAAS,CAAC;AAEhB,MAAM,WAAW,mBAAmB;IAChC,sEAAsE;IACtE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,8DAA8D;IAC9D,QAAQ,CAAC,KAAK,EAAE,0BAA0B,CAAC;IAC3C,oCAAoC;IACpC,QAAQ,CAAC,MAAM,EAAE,2BAA2B,CAAC;IAC7C,6EAA6E;IAC7E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;;;;;;;OAQG;IACH,cAAc,IAAI,MAAM,CAAC;CAC5B;AAED;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACnC;;;;OAIG;IACH,IAAI,EAAE,QAAQ,CAAC;IACf,wCAAwC;IACxC,aAAa,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,KAAK,EAAE,eAAe,GAAG,IAAI,CAAC;IAC9B;;;;OAIG;IACH,WAAW,CAAC,EAAE,QAAQ,CAAC;CAC1B;AAmBD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,6BAA6B;IACtC;;;OAGG;IACU,0BAA0B,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAmEpG;;;;;OAKG;cACa,sBAAsB,CAClC,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,QAAQ,GACtB,OAAO,CAAC,OAAO,CAAC;IAmBnB;;;;OAIG;cACa,uBAAuB,CACnC,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,QAAQ,GACtB,OAAO,CAAC,6BAA6B,EAAE,CAAC;IAqB3C,8EAA8E;IAC9E,OAAO,CAAC,WAAW;CActB;AAID,eAAO,MAAM,oCAAoC,+BAAsC,CAAC"}
1
+ {"version":3,"file":"SearchScopePermissionResolver.d.ts","sourceRoot":"","sources":["../../src/permissions/SearchScopePermissionResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEnE,OAAO,KAAK,EAAE,6BAA6B,EAAE,eAAe,EAAE,eAAe,EAA8B,MAAM,+BAA+B,CAAC;AAEjJ;;;;GAIG;AACH,MAAM,MAAM,0BAA0B,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE/E;;;GAGG;AACH,MAAM,MAAM,2BAA2B,GACjC,aAAa,GACb,WAAW,GACX,kBAAkB,GAClB,WAAW,GACX,wBAAwB,GACxB,kBAAkB,GAClB,WAAW,GACX,wBAAwB,GACxB,SAAS,CAAC;AAEhB,MAAM,WAAW,mBAAmB;IAChC,sEAAsE;IACtE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,8DAA8D;IAC9D,QAAQ,CAAC,KAAK,EAAE,0BAA0B,CAAC;IAC3C,oCAAoC;IACpC,QAAQ,CAAC,MAAM,EAAE,2BAA2B,CAAC;IAC7C,6EAA6E;IAC7E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;;;;;;;OAQG;IACH,cAAc,IAAI,MAAM,CAAC;CAC5B;AAED;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACnC;;;;OAIG;IACH,IAAI,EAAE,QAAQ,CAAC;IACf,wCAAwC;IACxC,aAAa,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,KAAK,EAAE,eAAe,GAAG,IAAI,CAAC;IAC9B;;;;;OAKG;IACH,KAAK,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IAC/B;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC;;;;OAIG;IACH,WAAW,CAAC,EAAE,QAAQ,CAAC;CAC1B;AAmBD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,6BAA6B;IACtC;;;OAGG;IACU,0BAA0B,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA6FpG;;;;;;OAMG;IACH,SAAS,CAAC,gBAAgB,CACtB,IAAI,EAAE,6BAA6B,EAAE,EACrC,oBAAoB,EAAE,MAAM,GAAG,IAAI,EACnC,GAAG,GAAE,IAAiB,GACvB,6BAA6B,EAAE;IAIlC,sFAAsF;IACtF,SAAS,CAAC,eAAe,CAAC,GAAG,EAAE,6BAA6B,EAAE,GAAG,EAAE,IAAI,GAAG,OAAO;IAMjF;;;;OAIG;IACH,SAAS,CAAC,gBAAgB,CAAC,GAAG,EAAE,6BAA6B,EAAE,oBAAoB,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO;IAM5G;;;;OAIG;cACa,sBAAsB,CAClC,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,QAAQ,GACtB,OAAO,CAAC,OAAO,CAAC;IAmBnB;;;;;OAKG;cACa,sBAAsB,CAClC,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,QAAQ,GACtB,OAAO,CAAC,OAAO,CAAC;IAmBnB;;;;OAIG;cACa,uBAAuB,CACnC,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,QAAQ,GACtB,OAAO,CAAC,6BAA6B,EAAE,CAAC;IAqB3C,8EAA8E;IAC9E,OAAO,CAAC,WAAW;CActB;AAID,eAAO,MAAM,oCAAoC,+BAAsC,CAAC"}
@@ -47,6 +47,7 @@ export class SearchScopePermissionResolver {
47
47
  */
48
48
  async ResolveEffectivePermission(input) {
49
49
  const { User, SearchScopeID, Agent } = input;
50
+ const Skill = input.Skill ?? null;
50
51
  const contextUser = input.ContextUser ?? User;
51
52
  // Step 1: agent-side explicit deny short-circuits everything.
52
53
  if (Agent && Agent.SearchScopeAccess === 'None') {
@@ -64,10 +65,26 @@ export class SearchScopePermissionResolver {
64
65
  // Falls through to user/role checks; Assigned restricts but does
65
66
  // not grant — the user must still have a per-scope grant.
66
67
  }
68
+ // Step 1c/1d: the SAME two rules for a SKILL principal. Deliberately identical in shape
69
+ // to the agent rules above so the two principals stay interchangeable — a reader who
70
+ // understands the agent path already understands this one.
71
+ if (Skill && Skill.SearchScopeAccess === 'None') {
72
+ return this.buildResult(false, 'None', 'SkillNone', `Skill '${Skill.Name}' has SearchScopeAccess='None'; refused without consulting per-scope grants.`);
73
+ }
74
+ if (Skill && Skill.SearchScopeAccess === 'Assigned') {
75
+ const isListed = await this.isScopeAssignedToSkill(Skill.ID, SearchScopeID, contextUser);
76
+ if (!isListed) {
77
+ return this.buildResult(false, 'None', 'SkillAssignedNotListed', `Skill '${Skill.Name}' has SearchScopeAccess='Assigned' and this scope is not in its assigned scope list; refused with ACCESS_DENIED.`);
78
+ }
79
+ // Restricts but does not grant — the user still needs a per-scope grant below.
80
+ }
67
81
  // Load all SearchScopePermission rows for this scope. We pull the
68
82
  // whole set (typically small per scope) and filter in JS so we can
69
83
  // apply the user-direct-None short-circuit deterministically.
70
- const rows = await this.loadPermissionsForScope(SearchScopeID, contextUser);
84
+ const allRows = await this.loadPermissionsForScope(SearchScopeID, contextUser);
85
+ // Narrow to grants that are in force RIGHT NOW and apply to THIS tenant. Both filters
86
+ // are no-ops for a row that leaves the new columns NULL, which is every pre-existing row.
87
+ const rows = this.applicableGrants(allRows, input.PrimaryScopeRecordID ?? null);
71
88
  // Step 2: direct grant for this user (highest priority).
72
89
  const userGrants = rows.filter(r => r.UserID && UUIDsEqual(r.UserID, User.ID));
73
90
  if (userGrants.length > 0) {
@@ -92,8 +109,63 @@ export class SearchScopePermissionResolver {
92
109
  if (Agent && Agent.SearchScopeAccess === 'All') {
93
110
  return this.buildResult(true, 'Search', 'AgentUnscopedAll', `Agent '${Agent.Name}' has SearchScopeAccess='All'; granting 'Search' as a fallback for this scope.`);
94
111
  }
112
+ // Step 4b: skill fallback, mirroring the agent's 'All'.
113
+ if (Skill && Skill.SearchScopeAccess === 'All') {
114
+ return this.buildResult(true, 'Search', 'SkillUnscopedAll', `Skill '${Skill.Name}' has SearchScopeAccess='All'; granting 'Search' as a fallback for this scope.`);
115
+ }
95
116
  // Step 5: no grant.
96
- return this.buildResult(false, 'None', 'NoGrant', `User '${User.Name}' has no direct grant, no qualifying role grant, and no agent-side fallback for this scope.`);
117
+ return this.buildResult(false, 'None', 'NoGrant', `User '${User.Name}' has no direct grant, no qualifying role grant, and no agent- or skill-side fallback for this scope.`);
118
+ }
119
+ /**
120
+ * Keep only grants that are in force at this moment and apply to this tenant.
121
+ *
122
+ * Both dimensions are additive: a row that leaves `StartAt`/`EndAt`/`PrimaryScopeRecordID`
123
+ * NULL is always in force and applies to every tenant, which is exactly how every row
124
+ * behaved before those columns existed.
125
+ */
126
+ applicableGrants(rows, primaryScopeRecordID, now = new Date()) {
127
+ return rows.filter((r) => this.isGrantInWindow(r, now) && this.isGrantForTenant(r, primaryScopeRecordID));
128
+ }
129
+ /** A grant with no window is always in force; otherwise `now` must fall inside it. */
130
+ isGrantInWindow(row, now) {
131
+ if (row.StartAt && new Date(row.StartAt) > now)
132
+ return false;
133
+ if (row.EndAt && new Date(row.EndAt) < now)
134
+ return false;
135
+ return true;
136
+ }
137
+ /**
138
+ * A grant with a NULL tenant applies everywhere. A tenant-scoped grant applies ONLY to that
139
+ * tenant — and, notably, does not apply when the search supplies no tenant at all, because
140
+ * "this grant is for org A" cannot be honoured by an untenanted search.
141
+ */
142
+ isGrantForTenant(row, primaryScopeRecordID) {
143
+ if (!row.PrimaryScopeRecordID)
144
+ return true;
145
+ if (!primaryScopeRecordID)
146
+ return false;
147
+ return UUIDsEqual(row.PrimaryScopeRecordID, primaryScopeRecordID);
148
+ }
149
+ /**
150
+ * Whether the scope is in the skill's assigned-scope list via `__mj.AISkillSearchScope`.
151
+ * Mirrors `isScopeAssignedToAgent`, including honouring Status and the optional time window
152
+ * (which the agent table also has). Fails closed on an unreadable table.
153
+ */
154
+ async isScopeAssignedToSkill(skillID, searchScopeID, contextUser) {
155
+ const rv = new RunView();
156
+ const result = await rv.RunView({
157
+ EntityName: 'MJ: AI Skill Search Scopes',
158
+ ExtraFilter: `SkillID='${skillID}' AND SearchScopeID='${searchScopeID}' AND Status='Active'`,
159
+ ResultType: 'simple',
160
+ // Same reasoning as loadPermissionsForScope: a permission decision must never read
161
+ // a stale cache.
162
+ BypassCache: true,
163
+ }, contextUser);
164
+ if (!result.Success) {
165
+ throw new Error(`SearchScopePermissionResolver: failed to check skill scope assignment for skill ${skillID}: ${result.ErrorMessage}`);
166
+ }
167
+ const now = new Date();
168
+ return (result.Results ?? []).some((r) => (!r.StartAt || new Date(r.StartAt) <= now) && (!r.EndAt || new Date(r.EndAt) >= now));
97
169
  }
98
170
  /**
99
171
  * Checks whether the given scope is in the agent's assigned-scope list
@@ -1 +1 @@
1
- {"version":3,"file":"SearchScopePermissionResolver.js","sourceRoot":"","sources":["../../src/permissions/SearchScopePermissionResolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SearchScopePermissionResolver.js","sourceRoot":"","sources":["../../src/permissions/SearchScopePermissionResolver.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AzureAISearchProvider.d.ts","sourceRoot":"","sources":["../../src/providers/AzureAISearchProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAY,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACtF,OAAO,EACH,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EACnB,MAAM,yBAAyB,CAAC;AAoBjC,qBACa,qBAAsB,SAAQ,kBAAkB;IACzD,SAAgB,UAAU,EAAE,YAAY,CAAc;IAEtD,OAAO,CAAC,YAAY,CAAoC;IACxD,OAAO,CAAC,SAAS,CAAS;IAEJ,UAAU,CAAC,MAAM,EAAE,oBAAoB,EAAE,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAS9E,iBAAiB,CAAC,YAAY,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAsB9D,WAAW,IAAI,OAAO;IAIzB,MAAM,CACf,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,aAAa,GAAG,SAAS,EACnC,YAAY,EAAE,QAAQ,EACtB,gBAAgB,CAAC,EAAE,gBAAgB,GACpC,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAsF9B,wEAAwE;IACxE,OAAO,CAAC,eAAe;CAS1B;AAED,oCAAoC;AACpC,wBAAgB,yBAAyB,IAAI,IAAI,CAGhD"}
1
+ {"version":3,"file":"AzureAISearchProvider.d.ts","sourceRoot":"","sources":["../../src/providers/AzureAISearchProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAY,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAEtF,OAAO,EACH,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EACnB,MAAM,yBAAyB,CAAC;AAqBjC,qBACa,qBAAsB,SAAQ,kBAAkB;IACzD,SAAgB,UAAU,EAAE,YAAY,CAAc;IAEtD,OAAO,CAAC,YAAY,CAAoC;IACxD,OAAO,CAAC,SAAS,CAAS;IAEJ,UAAU,CAAC,MAAM,EAAE,oBAAoB,EAAE,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAS9E,iBAAiB,CAAC,YAAY,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAsB9D,WAAW,IAAI,OAAO;IAIzB,MAAM,CACf,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,aAAa,GAAG,SAAS,EACnC,YAAY,EAAE,QAAQ,EACtB,gBAAgB,CAAC,EAAE,gBAAgB,GACpC,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAwG9B,wEAAwE;IACxE,OAAO,CAAC,eAAe;CAS1B;AAED,oCAAoC;AACpC,wBAAgB,yBAAyB,IAAI,IAAI,CAGhD"}
@@ -27,6 +27,8 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
27
27
  import { LogError } from '@memberjunction/core';
28
28
  import { RegisterClass } from '@memberjunction/global';
29
29
  import { BaseSearchProvider } from '../generic/ISearchProvider.js';
30
+ import { CheckScopeStringFilter } from '../generic/ScopeFilterGuard.js';
31
+ import { ExtractChunkProvenance, HasChunkProvenance, ResolveHitID, ResolveHitSnippet, ResolveHitTitle } from '../generic/ExternalHitMapper.js';
30
32
  let AzureAISearchProvider = class AzureAISearchProvider extends BaseSearchProvider {
31
33
  constructor() {
32
34
  super(...arguments);
@@ -103,8 +105,18 @@ let AzureAISearchProvider = class AzureAISearchProvider extends BaseSearchProvid
103
105
  if (this.parsedConfig?.defaultSearchFields) {
104
106
  body.searchFields = this.parsedConfig.defaultSearchFields;
105
107
  }
106
- if (idx.MetadataFilter && typeof idx.MetadataFilter === 'string') {
107
- body.filter = idx.MetadataFilter;
108
+ // Permission / tenant push-down for this lane lives ENTIRELY in the scope's
109
+ // MetadataFilter (see the file header), so if one was authored but cannot be
110
+ // applied we must NOT query — an unfiltered Azure request would read the whole
111
+ // index. Fail this index closed instead.
112
+ const filterCheck = CheckScopeStringFilter(idx.MetadataFilter);
113
+ if (filterCheck.Status === 'unusable') {
114
+ LogError(`AzureAISearchProvider: skipping index "${idx.ExternalIndexName}" — its scope MetadataFilter cannot be applied (${filterCheck.Reason}). ` +
115
+ `The index is NOT queried, because this lane's tenant/permission push-down lives entirely in that filter.`);
116
+ return { index: idx.ExternalIndexName, hits: [] };
117
+ }
118
+ if (filterCheck.Status === 'usable') {
119
+ body.filter = filterCheck.Value;
108
120
  }
109
121
  try {
110
122
  const response = await fetch(url, {
@@ -135,9 +147,10 @@ let AzureAISearchProvider = class AzureAISearchProvider extends BaseSearchProvid
135
147
  .sort((a, b) => b.hit['@search.score'] - a.hit['@search.score'])
136
148
  .slice(0, topK)
137
149
  .map((m) => {
138
- const id = String(m.hit['id'] ?? m.hit['Id'] ?? m.hit['ID'] ?? '');
139
- const title = String(m.hit['title'] ?? m.hit['name'] ?? m.hit['Name'] ?? id);
140
- const snippet = String(m.hit['content'] ?? m.hit['description'] ?? '');
150
+ const id = ResolveHitID(m.hit, '');
151
+ const title = ResolveHitTitle(m.hit, id);
152
+ const snippet = ResolveHitSnippet(m.hit);
153
+ const provenance = ExtractChunkProvenance(m.hit);
141
154
  const normalized = m.hit['@search.score'] / topScore;
142
155
  return {
143
156
  ID: `azs-${m.index}-${id}`,
@@ -153,7 +166,12 @@ let AzureAISearchProvider = class AzureAISearchProvider extends BaseSearchProvid
153
166
  MatchedAt: new Date(),
154
167
  EntityIcon: 'fa-solid fa-cloud',
155
168
  RecordName: title.slice(0, 200),
156
- RawMetadata: JSON.stringify({ index: m.index, id, _rawScore: m.hit['@search.score'] }),
169
+ RawMetadata: JSON.stringify({
170
+ index: m.index,
171
+ id,
172
+ _rawScore: m.hit['@search.score'],
173
+ ...(HasChunkProvenance(provenance) ? { chunk: provenance } : {}),
174
+ }),
157
175
  };
158
176
  });
159
177
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AzureAISearchProvider.js","sourceRoot":"","sources":["../../src/providers/AzureAISearchProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AzureAISearchProvider.js","sourceRoot":"","sources":["../../src/providers/AzureAISearchProvider.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ElasticsearchSearchProvider.d.ts","sourceRoot":"","sources":["../../src/providers/ElasticsearchSearchProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAAuB,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErE,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACtF,OAAO,EACH,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EACnB,MAAM,yBAAyB,CAAC;AA8DjC,qBACa,2BAA4B,SAAQ,kBAAkB;IAC/D,SAAgB,UAAU,EAAE,YAAY,CAAc;IAEtD,OAAO,CAAC,MAAM,CAAwC;IACtD,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,YAAY,CAA4C;IAE1C,UAAU,CAAC,MAAM,EAAE,oBAAoB,EAAE,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IA6B9E,iBAAiB,CAAC,YAAY,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAe9D,WAAW,IAAI,OAAO;IAIzB,MAAM,CACf,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,aAAa,GAAG,SAAS,EACnC,YAAY,EAAE,QAAQ,EACtB,gBAAgB,CAAC,EAAE,gBAAgB,GACpC,OAAO,CAAC,gBAAgB,EAAE,CAAC;CAiFjC;AAED,oCAAoC;AACpC,wBAAgB,+BAA+B,IAAI,IAAI,CAGtD;AAED,mFAAmF;AACnF,wBAAgB,wCAAwC,IAAI,IAAI,CAE/D"}
1
+ {"version":3,"file":"ElasticsearchSearchProvider.d.ts","sourceRoot":"","sources":["../../src/providers/ElasticsearchSearchProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAAuB,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErE,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAEtF,OAAO,EACH,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EACnB,MAAM,yBAAyB,CAAC;AA+DjC,qBACa,2BAA4B,SAAQ,kBAAkB;IAC/D,SAAgB,UAAU,EAAE,YAAY,CAAc;IAEtD,OAAO,CAAC,MAAM,CAAwC;IACtD,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,YAAY,CAA4C;IAE1C,UAAU,CAAC,MAAM,EAAE,oBAAoB,EAAE,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IA6B9E,iBAAiB,CAAC,YAAY,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAe9D,WAAW,IAAI,OAAO;IAIzB,MAAM,CACf,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,aAAa,GAAG,SAAS,EACnC,YAAY,EAAE,QAAQ,EACtB,gBAAgB,CAAC,EAAE,gBAAgB,GACpC,OAAO,CAAC,gBAAgB,EAAE,CAAC;CA6FjC;AAED,oCAAoC;AACpC,wBAAgB,+BAA+B,IAAI,IAAI,CAGtD;AAED,mFAAmF;AACnF,wBAAgB,wCAAwC,IAAI,IAAI,CAE/D"}
@@ -32,6 +32,8 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
32
32
  import { LogError } from '@memberjunction/core';
33
33
  import { RegisterClass } from '@memberjunction/global';
34
34
  import { BaseSearchProvider } from '../generic/ISearchProvider.js';
35
+ import { CheckScopeObjectFilter } from '../generic/ScopeFilterGuard.js';
36
+ import { ExtractChunkProvenance, HasChunkProvenance, ResolveHitSnippet, ResolveHitTitle } from '../generic/ExternalHitMapper.js';
35
37
  /**
36
38
  * Lazy-loader for the Elasticsearch SDK. Memoized so the dynamic import cost is
37
39
  * paid once per process even when many SearchProvider records reference the
@@ -132,8 +134,17 @@ let ElasticsearchSearchProvider = class ElasticsearchSearchProvider extends Base
132
134
  for (const idx of scopeConstraints?.ExternalIndexes ?? []) {
133
135
  if (idx.IndexType !== 'Elasticsearch')
134
136
  continue;
135
- if (idx.MetadataFilter && typeof idx.MetadataFilter === 'object') {
136
- filterClauses.push(idx.MetadataFilter);
137
+ const filterCheck = CheckScopeObjectFilter(idx.MetadataFilter);
138
+ if (filterCheck.Status === 'unusable') {
139
+ // All target indexes share ONE request here, so an inapplicable filter would
140
+ // under-filter the entire lane. Fail the lane closed rather than pushing down
141
+ // less restriction than the scope author declared.
142
+ LogError(`ElasticsearchSearchProvider: aborting search — index "${idx.ExternalIndexName}" has a scope MetadataFilter that cannot be applied (${filterCheck.Reason}). ` +
143
+ `No query is issued, because this lane composes one request across indexes and would otherwise run under-filtered.`);
144
+ return [];
145
+ }
146
+ if (filterCheck.Status === 'usable') {
147
+ filterClauses.push(filterCheck.Value);
137
148
  }
138
149
  }
139
150
  const queryBody = {
@@ -157,8 +168,9 @@ let ElasticsearchSearchProvider = class ElasticsearchSearchProvider extends Base
157
168
  const topScore = Math.max(1, hits[0]?._score ?? 1);
158
169
  return hits.map((hit, idx) => {
159
170
  const src = hit._source ?? {};
160
- const title = src['title'] ?? src[defaultField] ?? hit._id;
161
- const snippet = src[defaultField] ?? '';
171
+ const title = ResolveHitTitle(src, hit._id, defaultField);
172
+ const snippet = ResolveHitSnippet(src, defaultField);
173
+ const provenance = ExtractChunkProvenance(src);
162
174
  return {
163
175
  ID: `es-${hit._index}-${hit._id}`,
164
176
  EntityName: hit._index,
@@ -173,7 +185,7 @@ let ElasticsearchSearchProvider = class ElasticsearchSearchProvider extends Base
173
185
  MatchedAt: new Date(),
174
186
  EntityIcon: 'fa-solid fa-database',
175
187
  RecordName: title.slice(0, 200),
176
- RawMetadata: JSON.stringify({ _index: hit._index, _id: hit._id, _rank: idx, _rawScore: hit._score }),
188
+ RawMetadata: JSON.stringify({ _index: hit._index, _id: hit._id, _rank: idx, _rawScore: hit._score, ...(HasChunkProvenance(provenance) ? { chunk: provenance } : {}) }),
177
189
  };
178
190
  });
179
191
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ElasticsearchSearchProvider.js","sourceRoot":"","sources":["../../src/providers/ElasticsearchSearchProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ElasticsearchSearchProvider.js","sourceRoot":"","sources":["../../src/providers/ElasticsearchSearchProvider.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"OpenSearchSearchProvider.d.ts","sourceRoot":"","sources":["../../src/providers/OpenSearchSearchProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAY,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACtF,OAAO,EACH,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EACnB,MAAM,yBAAyB,CAAC;AAqBjC,qBACa,wBAAyB,SAAQ,kBAAkB;IAC5D,SAAgB,UAAU,EAAE,YAAY,CAAc;IAEtD,OAAO,CAAC,YAAY,CAAyC;IAC7D,OAAO,CAAC,SAAS,CAAS;IAEJ,UAAU,CAAC,MAAM,EAAE,oBAAoB,EAAE,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAS9E,iBAAiB,CAAC,YAAY,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB9D,WAAW,IAAI,OAAO;IAIzB,MAAM,CACf,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,aAAa,GAAG,SAAS,EACnC,YAAY,EAAE,QAAQ,EACtB,gBAAgB,CAAC,EAAE,gBAAgB,GACpC,OAAO,CAAC,gBAAgB,EAAE,CAAC;IA6E9B,OAAO,CAAC,gBAAgB;CAc3B;AAED,oCAAoC;AACpC,wBAAgB,4BAA4B,IAAI,IAAI,CAGnD"}
1
+ {"version":3,"file":"OpenSearchSearchProvider.d.ts","sourceRoot":"","sources":["../../src/providers/OpenSearchSearchProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAY,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAEtF,OAAO,EACH,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EACnB,MAAM,yBAAyB,CAAC;AAsBjC,qBACa,wBAAyB,SAAQ,kBAAkB;IAC5D,SAAgB,UAAU,EAAE,YAAY,CAAc;IAEtD,OAAO,CAAC,YAAY,CAAyC;IAC7D,OAAO,CAAC,SAAS,CAAS;IAEJ,UAAU,CAAC,MAAM,EAAE,oBAAoB,EAAE,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAS9E,iBAAiB,CAAC,YAAY,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB9D,WAAW,IAAI,OAAO;IAIzB,MAAM,CACf,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,aAAa,GAAG,SAAS,EACnC,YAAY,EAAE,QAAQ,EACtB,gBAAgB,CAAC,EAAE,gBAAgB,GACpC,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAwF9B,OAAO,CAAC,gBAAgB;CAc3B;AAED,oCAAoC;AACpC,wBAAgB,4BAA4B,IAAI,IAAI,CAGnD"}
@@ -27,6 +27,8 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
27
27
  import { LogError } from '@memberjunction/core';
28
28
  import { RegisterClass } from '@memberjunction/global';
29
29
  import { BaseSearchProvider } from '../generic/ISearchProvider.js';
30
+ import { CheckScopeObjectFilter } from '../generic/ScopeFilterGuard.js';
31
+ import { ExtractChunkProvenance, HasChunkProvenance, ResolveHitSnippet, ResolveHitTitle } from '../generic/ExternalHitMapper.js';
30
32
  let OpenSearchSearchProvider = class OpenSearchSearchProvider extends BaseSearchProvider {
31
33
  constructor() {
32
34
  super(...arguments);
@@ -81,8 +83,16 @@ let OpenSearchSearchProvider = class OpenSearchSearchProvider extends BaseSearch
81
83
  return [];
82
84
  const filterClauses = [];
83
85
  for (const idx of scopedRows) {
84
- if (idx.MetadataFilter && typeof idx.MetadataFilter === 'object') {
85
- filterClauses.push(idx.MetadataFilter);
86
+ const filterCheck = CheckScopeObjectFilter(idx.MetadataFilter);
87
+ if (filterCheck.Status === 'unusable') {
88
+ // One request spans all target indexes, so an inapplicable filter would
89
+ // under-filter the whole lane. Fail closed.
90
+ LogError(`OpenSearchSearchProvider: aborting search — index "${idx.ExternalIndexName}" has a scope MetadataFilter that cannot be applied (${filterCheck.Reason}). ` +
91
+ `No query is issued, because this lane composes one request across indexes and would otherwise run under-filtered.`);
92
+ return [];
93
+ }
94
+ if (filterCheck.Status === 'usable') {
95
+ filterClauses.push(filterCheck.Value);
86
96
  }
87
97
  }
88
98
  const url = `${node}/${indexNames.map(encodeURIComponent).join(',')}/_search`;
@@ -113,8 +123,9 @@ let OpenSearchSearchProvider = class OpenSearchSearchProvider extends BaseSearch
113
123
  const topScore = Math.max(1, hits[0]._score);
114
124
  return hits.slice(0, topK).map((hit, idx) => {
115
125
  const src = hit._source ?? {};
116
- const title = String(src['title'] ?? src[defaultField] ?? hit._id);
117
- const snippet = String(src[defaultField] ?? '');
126
+ const title = ResolveHitTitle(src, hit._id, defaultField);
127
+ const snippet = ResolveHitSnippet(src, defaultField);
128
+ const provenance = ExtractChunkProvenance(src);
118
129
  const normalized = hit._score / topScore;
119
130
  return {
120
131
  ID: `os-${hit._index}-${hit._id}`,
@@ -130,7 +141,7 @@ let OpenSearchSearchProvider = class OpenSearchSearchProvider extends BaseSearch
130
141
  MatchedAt: new Date(),
131
142
  EntityIcon: 'fa-solid fa-database',
132
143
  RecordName: title.slice(0, 200),
133
- RawMetadata: JSON.stringify({ _index: hit._index, _id: hit._id, _rank: idx, _rawScore: hit._score }),
144
+ RawMetadata: JSON.stringify({ _index: hit._index, _id: hit._id, _rank: idx, _rawScore: hit._score, ...(HasChunkProvenance(provenance) ? { chunk: provenance } : {}) }),
134
145
  };
135
146
  });
136
147
  }
@@ -1 +1 @@
1
- {"version":3,"file":"OpenSearchSearchProvider.js","sourceRoot":"","sources":["../../src/providers/OpenSearchSearchProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;;;;;;;AAEH,OAAO,EAAE,QAAQ,EAAY,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAwB,MAAM,4BAA4B,CAAC;AA4B/E,IAAM,wBAAwB,GAA9B,MAAM,wBAAyB,SAAQ,kBAAkB;IAAzD;;QACa,eAAU,GAAiB,UAAU,CAAC;QAE9C,iBAAY,GAAoC,IAAI,CAAC;QACrD,cAAS,GAAG,KAAK,CAAC;IAiI9B,CAAC;IA/HmB,KAAK,CAAC,UAAU,CAAC,MAA4B,EAAE,WAAqB;QAChF,MAAM,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAC5C,IAAI,CAAC,YAAY,GAAI,MAAM,CAAC,cAAkD,IAAI,IAAI,CAAC;QACvF,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC;YAC3B,QAAQ,CAAC,mEAAmE,CAAC,CAAC;YAC9E,OAAO;QACX,CAAC;IACL,CAAC;IAEe,KAAK,CAAC,iBAAiB,CAAC,YAAsB;QAC1D,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC;YAAC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YAAC,OAAO;QAAC,CAAC;QACjE,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,EAAE;gBAC1E,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE;aACnC,CAAC,CAAC;YACH,6EAA6E;YAC7E,oEAAoE;YACpE,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,CAAC;YACxD,IAAI,CAAC,IAAI,CAAC,SAAS;gBAAE,QAAQ,CAAC,4CAA4C,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QACjG,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,QAAQ,CAAC,4CAA4C,GAAG,EAAE,CAAC,CAAC;YAC5D,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QAC3B,CAAC;IACL,CAAC;IAEe,WAAW;QACvB,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAEM,KAAK,CAAC,MAAM,CACf,KAAa,EACb,IAAY,EACZ,QAAmC,EACnC,YAAsB,EACtB,gBAAmC;QAEnC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI;YAAE,OAAO,EAAE,CAAC;QAExC,MAAM,cAAc,GAAG,gBAAgB,EAAE,eAAe,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC;QACrF,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,IAAI,SAAS,CAAC;QACjE,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAEvD,MAAM,UAAU,GAAG,gBAAgB,EAAE,eAAe;YAChD,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,YAAY,IAAI,CAAC,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;QAC7E,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC;YACpC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAA2B,CAAC;YACpD,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC/E,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAEvC,MAAM,aAAa,GAAc,EAAE,CAAC;QACpC,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC3B,IAAI,GAAG,CAAC,cAAc,IAAI,OAAO,GAAG,CAAC,cAAc,KAAK,QAAQ,EAAE,CAAC;gBAC/D,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAC3C,CAAC;QACL,CAAC;QAED,MAAM,GAAG,GAAG,GAAG,IAAI,IAAI,UAAU,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;QAC9E,MAAM,IAAI,GAAG;YACT,IAAI,EAAE,IAAI;YACV,KAAK,EAAE;gBACH,IAAI,EAAE;oBACF,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,cAAc,EAAE,EAAE,CAAC;oBACrD,GAAG,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACjE;aACJ;SACJ,CAAC;QAEF,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBAC9B,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,gBAAgB,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC3E,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;aAC7B,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACf,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;gBACnD,QAAQ,CAAC,6BAA6B,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,QAAQ,CAAC,MAAM,KAAK,IAAI,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;gBAC1H,OAAO,EAAE,CAAC;YACd,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAwB,CAAC;YACzD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;YACnC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAC;YACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAE7C,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;gBACxC,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;gBAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;gBACnE,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;gBAChD,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,GAAG,QAAQ,CAAC;gBACzC,OAAO;oBACH,EAAE,EAAE,MAAM,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE;oBACjC,UAAU,EAAE,GAAG,CAAC,MAAM;oBACtB,QAAQ,EAAE,GAAG,CAAC,GAAG;oBACjB,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,UAAU,EAAE,eAAe;oBAC3B,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;oBAC1B,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;oBAC9B,KAAK,EAAE,UAAU;oBACjB,cAAc,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE;oBACxC,IAAI,EAAE,EAAE;oBACR,SAAS,EAAE,IAAI,IAAI,EAAE;oBACrB,UAAU,EAAE,sBAAsB;oBAClC,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;oBAC/B,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC;iBACvG,CAAC;YACN,CAAC,CAAC,CAAC;QACP,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,QAAQ,CAAC,2CAA2C,GAAG,EAAE,CAAC,CAAC;YAC3D,OAAO,EAAE,CAAC;QACd,CAAC;IACL,CAAC;IAEO,gBAAgB;QACpB,MAAM,OAAO,GAA2B,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;QACvE,IAAI,IAAI,CAAC,YAAY,EAAE,aAAa,EAAE,CAAC;YACnC,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;YAC3D,OAAO,OAAO,CAAC;QACnB,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,EAAE,QAAQ,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;YAC5D,MAAM,OAAO,GAAG,MAAM;iBACjB,IAAI,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;iBACnE,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACxB,OAAO,CAAC,eAAe,CAAC,GAAG,SAAS,OAAO,EAAE,CAAC;QAClD,CAAC;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;CACJ,CAAA;AArIY,wBAAwB;IADpC,aAAa,CAAC,kBAAkB,EAAE,0BAA0B,CAAC;GACjD,wBAAwB,CAqIpC;;AAED,oCAAoC;AACpC,MAAM,UAAU,4BAA4B;IACxC,6DAA6D;IAC7D,MAAM,IAAI,GAAG,wBAAwB,CAAC;AAC1C,CAAC"}
1
+ {"version":3,"file":"OpenSearchSearchProvider.js","sourceRoot":"","sources":["../../src/providers/OpenSearchSearchProvider.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"TypesenseSearchProvider.d.ts","sourceRoot":"","sources":["../../src/providers/TypesenseSearchProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAY,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACtF,OAAO,EACH,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EACnB,MAAM,yBAAyB,CAAC;AAmBjC,qBACa,uBAAwB,SAAQ,kBAAkB;IAC3D,SAAgB,UAAU,EAAE,YAAY,CAAc;IAEtD,OAAO,CAAC,YAAY,CAAwC;IAC5D,OAAO,CAAC,SAAS,CAAS;IAEJ,UAAU,CAAC,MAAM,EAAE,oBAAoB,EAAE,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAS9E,iBAAiB,CAAC,YAAY,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB9D,WAAW,IAAI,OAAO;IAIzB,MAAM,CACf,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,aAAa,GAAG,SAAS,EACnC,YAAY,EAAE,QAAQ,EACtB,gBAAgB,CAAC,EAAE,gBAAgB,GACpC,OAAO,CAAC,gBAAgB,EAAE,CAAC;CA0FjC;AAED,oCAAoC;AACpC,wBAAgB,2BAA2B,IAAI,IAAI,CAGlD"}
1
+ {"version":3,"file":"TypesenseSearchProvider.d.ts","sourceRoot":"","sources":["../../src/providers/TypesenseSearchProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAY,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAEtF,OAAO,EACH,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EACnB,MAAM,yBAAyB,CAAC;AAoBjC,qBACa,uBAAwB,SAAQ,kBAAkB;IAC3D,SAAgB,UAAU,EAAE,YAAY,CAAc;IAEtD,OAAO,CAAC,YAAY,CAAwC;IAC5D,OAAO,CAAC,SAAS,CAAS;IAEJ,UAAU,CAAC,MAAM,EAAE,oBAAoB,EAAE,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAS9E,iBAAiB,CAAC,YAAY,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB9D,WAAW,IAAI,OAAO;IAIzB,MAAM,CACf,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,aAAa,GAAG,SAAS,EACnC,YAAY,EAAE,QAAQ,EACtB,gBAAgB,CAAC,EAAE,gBAAgB,GACpC,OAAO,CAAC,gBAAgB,EAAE,CAAC;CAqGjC;AAED,oCAAoC;AACpC,wBAAgB,2BAA2B,IAAI,IAAI,CAGlD"}
@@ -28,6 +28,8 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
28
28
  import { LogError } from '@memberjunction/core';
29
29
  import { RegisterClass } from '@memberjunction/global';
30
30
  import { BaseSearchProvider } from '../generic/ISearchProvider.js';
31
+ import { CheckScopeStringFilter } from '../generic/ScopeFilterGuard.js';
32
+ import { ExtractChunkProvenance, HasChunkProvenance, ResolveHitID, ResolveHitSnippet, ResolveHitTitle } from '../generic/ExternalHitMapper.js';
31
33
  let TypesenseSearchProvider = class TypesenseSearchProvider extends BaseSearchProvider {
32
34
  constructor() {
33
35
  super(...arguments);
@@ -90,8 +92,16 @@ let TypesenseSearchProvider = class TypesenseSearchProvider extends BaseSearchPr
90
92
  query_by: queryBy,
91
93
  per_page: String(topK),
92
94
  });
93
- if (idx.MetadataFilter && typeof idx.MetadataFilter === 'string') {
94
- params.set('filter_by', idx.MetadataFilter);
95
+ // A filter authored but not applicable must not degrade into an unfiltered
96
+ // collection scan — fail this collection closed instead.
97
+ const filterCheck = CheckScopeStringFilter(idx.MetadataFilter);
98
+ if (filterCheck.Status === 'unusable') {
99
+ LogError(`TypesenseSearchProvider: skipping collection "${idx.ExternalIndexName}" — its scope MetadataFilter cannot be applied (${filterCheck.Reason}). ` +
100
+ `The collection is NOT queried, because running it without filter_by would ignore the scope's restriction.`);
101
+ return { collection: idx.ExternalIndexName, hits: [] };
102
+ }
103
+ if (filterCheck.Status === 'usable') {
104
+ params.set('filter_by', filterCheck.Value);
95
105
  }
96
106
  const url = `${node}/collections/${encodeURIComponent(idx.ExternalIndexName)}/documents/search?${params.toString()}`;
97
107
  try {
@@ -125,10 +135,11 @@ let TypesenseSearchProvider = class TypesenseSearchProvider extends BaseSearchPr
125
135
  .slice(0, topK)
126
136
  .map((m, idx) => {
127
137
  const doc = m.hit.document;
128
- const id = String(doc['id'] ?? `${m.collection}-${idx}`);
129
- const title = String(doc['title'] ?? doc['name'] ?? id);
138
+ const id = ResolveHitID(doc, `${m.collection}-${idx}`);
139
+ const title = ResolveHitTitle(doc, id);
140
+ const provenance = ExtractChunkProvenance(doc);
130
141
  const snippetField = (this.parsedConfig?.defaultQueryBy ?? 'content,title').split(',')[0].trim();
131
- const snippet = String(doc[snippetField] ?? '');
142
+ const snippet = ResolveHitSnippet(doc, snippetField);
132
143
  const normalized = m.hit.text_match / topMatch;
133
144
  return {
134
145
  ID: `ts-${m.collection}-${id}`,
@@ -144,7 +155,7 @@ let TypesenseSearchProvider = class TypesenseSearchProvider extends BaseSearchPr
144
155
  MatchedAt: new Date(),
145
156
  EntityIcon: 'fa-solid fa-database',
146
157
  RecordName: title.slice(0, 200),
147
- RawMetadata: JSON.stringify({ collection: m.collection, id, _rawMatch: m.hit.text_match }),
158
+ RawMetadata: JSON.stringify({ collection: m.collection, id, _rawMatch: m.hit.text_match, ...(HasChunkProvenance(provenance) ? { chunk: provenance } : {}) }),
148
159
  };
149
160
  });
150
161
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TypesenseSearchProvider.js","sourceRoot":"","sources":["../../src/providers/TypesenseSearchProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TypesenseSearchProvider.js","sourceRoot":"","sources":["../../src/providers/TypesenseSearchProvider.ts"],"names":[],"mappings":"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"}