@memberjunction/core-actions 5.33.0 → 5.34.1

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
@@ -86,6 +86,14 @@ Several abstract base classes reduce duplication across related actions:
86
86
 
87
87
  The file `src/generated/action_subclasses.ts` contains actions produced by the MJ CodeGen system from natural-language `UserPrompt` descriptions stored in the database. Generated actions use a **composition pattern** -- they always extend `BaseAction` (never their parent action class) and invoke the parent action via `ActionEngineServer.Instance.RunAction()` at runtime. See the [parent README](../README.md) for details on the generated/child action architecture.
88
88
 
89
+ ### Scheduled Geocoding (`Scheduled Geocoding` action)
90
+
91
+ `src/custom/geo/scheduled-geocoding.action.ts` is a safety-net maintenance action that finds records in geo-enabled entities (`Entity.SupportsGeoCoding = 1`) missing a `RecordGeoCode` row, retries failed geocoding attempts, and cleans up orphaned `RecordGeoCode` rows. **Live geocoding-on-save runs inline via `BaseEntity.OnSaveCompleted`** — this scheduled action is only needed to catch records inserted via bulk SQL imports or direct DB writes that bypass `BaseEntity.Save()`.
92
+
93
+ The "find missing records" phase uses **keyset (seek) pagination** when the target entity has a single-column orderable PK (the common case for MJ entities). This keeps each page O(log N) regardless of how deep the iteration goes — important on multi-million-row entities like `Tax Returns`. Composite-PK entities fall back to `StartRow`-based OFFSET pagination automatically. See **[KEYSET_PAGINATION_GUIDE.md](../../../guides/KEYSET_PAGINATION_GUIDE.md)** for the pattern.
94
+
95
+ Default cadence is **Saturday 2 AM UTC** (configured in `metadata/scheduled-jobs/.geocoding-maintenance-job.json`). Administrators can adjust the `CronExpression` per environment.
96
+
89
97
  ### Configuration
90
98
 
91
99
  External API keys used by certain actions (Perplexity, Google Custom Search, Gamma) are loaded from `mj.config.cjs` or environment variables via the `config.ts` module:
@@ -58,11 +58,21 @@ export declare class ScheduledGeocodingAction extends BaseAction {
58
58
  */
59
59
  private processMissingForEntity;
60
60
  /**
61
- * Load a single page of entity records with non-null geo fields.
62
- * Uses OrderBy on PK + MaxRows + offset simulation via GreaterThan filter
63
- * to paginate without loading the full result set.
61
+ * Load a single page of entity records using **keyset (seek) pagination**.
62
+ *
63
+ * Each page costs O(log N) regardless of depth because the server resolves
64
+ * `WHERE pk > @lastSeen ORDER BY pk LIMIT N` as a clustered-index seek — the
65
+ * deeper-page slowdown of OFFSET-based pagination doesn't apply.
66
+ *
67
+ * On the first page, `lastSeenKey` is undefined and the query reduces to
68
+ * `WHERE (filter) ORDER BY pk LIMIT N`.
69
+ */
70
+ private loadEntityPageKeyset;
71
+ /**
72
+ * Load a single page using OFFSET-based pagination — the fallback path for entities
73
+ * with composite primary keys. Slower on deep pages but correctness is preserved.
64
74
  */
65
- private loadEntityPage;
75
+ private loadEntityPageOffset;
66
76
  /**
67
77
  * Retry failed geocoding attempts using pagination.
68
78
  * Loads pages of failed RecordGeoCode rows, then loads source entity records
@@ -1 +1 @@
1
- {"version":3,"file":"scheduled-geocoding.action.d.ts","sourceRoot":"","sources":["../../../src/custom/geo/scheduled-geocoding.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACnF,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAUrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,qBACa,wBAAyB,SAAQ,UAAU;IACpD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAK;IAChD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAM;IAChD,qGAAqG;IACrG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAU;IACnD,oGAAoG;IACpG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAO;cAExB,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA8CvF;;;;OAIG;YACW,qBAAqB;IA2BnC;;;;;;;;;;OAUG;YACW,uBAAuB;IA+DrC;;;;OAIG;YACW,cAAc;IA2B5B;;;;OAIG;YACW,oBAAoB;IAkElC;;;OAGG;YACW,kBAAkB;IA6BhC;;;;OAIG;YACW,sBAAsB;IAgDpC;;;;OAIG;YACW,uBAAuB;IAmDrC;;;;;;;;;;;;;;;OAeG;YACW,YAAY;IA2B1B;;;;;;;;;;OAUG;YACW,oBAAoB;IA2BlC;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,sBAAsB;IAsB9B;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAO3B;;;;;;;;;OASG;YACW,uBAAuB;IAoCrC;;;OAGG;IACH,OAAO,CAAC,aAAa;IAOrB;;OAEG;IACH,OAAO,CAAC,eAAe;CAO1B"}
1
+ {"version":3,"file":"scheduled-geocoding.action.d.ts","sourceRoot":"","sources":["../../../src/custom/geo/scheduled-geocoding.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACnF,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAWrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,qBACa,wBAAyB,SAAQ,UAAU;IACpD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAK;IAChD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAM;IAChD,qGAAqG;IACrG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAU;IACnD,oGAAoG;IACpG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAO;cAExB,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA8CvF;;;;OAIG;YACW,qBAAqB;IA2BnC;;;;;;;;;;OAUG;YACW,uBAAuB;IA+ErC;;;;;;;;;OASG;YACW,oBAAoB;IAwBlC;;;OAGG;YACW,oBAAoB;IA2BlC;;;;OAIG;YACW,oBAAoB;IAkElC;;;OAGG;YACW,kBAAkB;IA6BhC;;;;OAIG;YACW,sBAAsB;IAgDpC;;;;OAIG;YACW,uBAAuB;IAmDrC;;;;;;;;;;;;;;;OAeG;YACW,YAAY;IA2B1B;;;;;;;;;;OAUG;YACW,oBAAoB;IA2BlC;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,sBAAsB;IAsB9B;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAO3B;;;;;;;;;OASG;YACW,uBAAuB;IAoCrC;;;OAGG;IACH,OAAO,CAAC,aAAa;IAOrB;;OAEG;IACH,OAAO,CAAC,eAAe;CAO1B"}
@@ -7,7 +7,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  var ScheduledGeocodingAction_1;
8
8
  import { BaseAction } from '@memberjunction/actions';
9
9
  import { RegisterClass, MJGlobal, MJEventType } from '@memberjunction/global';
10
- import { RunView, Metadata, LogStatus, LogError, CompositeKey, BaseEntity, BaseEntityEvent } from '@memberjunction/core';
10
+ import { RunView, Metadata, LogStatus, LogError, CompositeKey, BaseEntity, BaseEntityEvent, IsKeysetPaginationOrderableType } from '@memberjunction/core';
11
11
  import { GeoCodeSyncService } from '@memberjunction/geo-core';
12
12
  import { GetDialect } from '@memberjunction/sql-dialect';
13
13
  /**
@@ -122,6 +122,9 @@ let ScheduledGeocodingAction = class ScheduledGeocodingAction extends BaseAction
122
122
  const pkField = entityInfo.FirstPrimaryKey;
123
123
  if (!pkField)
124
124
  return { Processed: 0, Success: 0 };
125
+ // Keyset pagination requires a single-column PK. For composite-PK entities, the action
126
+ // falls back to OFFSET-based pagination (slower on deep pages but correct).
127
+ const canUseKeyset = entityInfo.PrimaryKeys.length === 1 && IsKeysetPaginationOrderableType(pkField.Type);
125
128
  const geoFields = this.getGeoAddressFields(entityInfo);
126
129
  if (geoFields.length === 0)
127
130
  return { Processed: 0, Success: 0 };
@@ -133,10 +136,15 @@ let ScheduledGeocodingAction = class ScheduledGeocodingAction extends BaseAction
133
136
  const nonNullConditions = geoFields.map(f => `${f.Name} IS NOT NULL`).join(' OR ');
134
137
  let totalProcessed = 0;
135
138
  let totalSuccess = 0;
136
- let pageOffset = 0;
137
- // Paginate through entity records to avoid loading all into memory at once
139
+ let pageOffset = 0; // OFFSET-mode (composite-PK fallback)
140
+ let lastSeenKey; // keyset mode
141
+ // Paginate through entity records to avoid loading all into memory at once.
142
+ // Keyset pagination keeps each page O(log N) regardless of depth — a critical
143
+ // win when the entity has millions of rows. See guides/KEYSET_PAGINATION_GUIDE.md.
138
144
  while (totalProcessed < maxRows) {
139
- const pageResult = await this.loadEntityPage(entityInfo.Name, nonNullConditions, pageOffset, contextUser);
145
+ const pageResult = canUseKeyset
146
+ ? await this.loadEntityPageKeyset(entityInfo.Name, pkField.Name, nonNullConditions, lastSeenKey, contextUser)
147
+ : await this.loadEntityPageOffset(entityInfo.Name, nonNullConditions, pageOffset, contextUser);
140
148
  if (!pageResult.Success || pageResult.Results.length === 0)
141
149
  break;
142
150
  const pageEntities = pageResult.Results;
@@ -158,7 +166,17 @@ let ScheduledGeocodingAction = class ScheduledGeocodingAction extends BaseAction
158
166
  // If this page was smaller than PAGE_SIZE, we've exhausted the entity
159
167
  if (pageEntities.length < ScheduledGeocodingAction_1.PAGE_SIZE)
160
168
  break;
161
- pageOffset += ScheduledGeocodingAction_1.PAGE_SIZE;
169
+ if (canUseKeyset) {
170
+ // Advance the seek cursor to the last record's PK on this page
171
+ const lastRecord = pageEntities[pageEntities.length - 1];
172
+ const lastValue = lastRecord[pkField.Name];
173
+ if (lastValue == null)
174
+ break;
175
+ lastSeenKey = CompositeKey.FromKeyValuePair(pkField.Name, lastValue);
176
+ }
177
+ else {
178
+ pageOffset += ScheduledGeocodingAction_1.PAGE_SIZE;
179
+ }
162
180
  }
163
181
  return { Processed: totalProcessed, Success: totalSuccess };
164
182
  }
@@ -169,11 +187,36 @@ let ScheduledGeocodingAction = class ScheduledGeocodingAction extends BaseAction
169
187
  }
170
188
  }
171
189
  /**
172
- * Load a single page of entity records with non-null geo fields.
173
- * Uses OrderBy on PK + MaxRows + offset simulation via GreaterThan filter
174
- * to paginate without loading the full result set.
190
+ * Load a single page of entity records using **keyset (seek) pagination**.
191
+ *
192
+ * Each page costs O(log N) regardless of depth because the server resolves
193
+ * `WHERE pk > @lastSeen ORDER BY pk LIMIT N` as a clustered-index seek — the
194
+ * deeper-page slowdown of OFFSET-based pagination doesn't apply.
195
+ *
196
+ * On the first page, `lastSeenKey` is undefined and the query reduces to
197
+ * `WHERE (filter) ORDER BY pk LIMIT N`.
198
+ */
199
+ async loadEntityPageKeyset(entityName, pkColumnName, nonNullFilter, lastSeenKey, contextUser) {
200
+ const rv = new RunView();
201
+ const result = await rv.RunView({
202
+ EntityName: entityName,
203
+ ExtraFilter: `(${nonNullFilter})`,
204
+ OrderBy: pkColumnName,
205
+ MaxRows: ScheduledGeocodingAction_1.PAGE_SIZE,
206
+ AfterKey: lastSeenKey,
207
+ BypassCache: true,
208
+ ResultType: 'entity_object'
209
+ }, contextUser);
210
+ return {
211
+ Success: result.Success,
212
+ Results: result.Success ? result.Results : []
213
+ };
214
+ }
215
+ /**
216
+ * Load a single page using OFFSET-based pagination — the fallback path for entities
217
+ * with composite primary keys. Slower on deep pages but correctness is preserved.
175
218
  */
176
- async loadEntityPage(entityName, nonNullFilter, offset, contextUser) {
219
+ async loadEntityPageOffset(entityName, nonNullFilter, offset, contextUser) {
177
220
  const rv = new RunView();
178
221
  const result = await rv.RunView({
179
222
  EntityName: entityName,
@@ -1 +1 @@
1
- {"version":3,"file":"scheduled-geocoding.action.js","sourceRoot":"","sources":["../../../src/custom/geo/scheduled-geocoding.action.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scheduled-geocoding.action.js","sourceRoot":"","sources":["../../../src/custom/geo/scheduled-geocoding.action.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,143 @@
1
+ import { ActionResultSimple, RunActionParams } from "@memberjunction/actions-base";
2
+ import { BaseAction } from "@memberjunction/actions";
3
+ /**
4
+ * `__Scoped_Search` — scope-aware universal search for AI agents.
5
+ *
6
+ * Enforces the calling agent's `SearchScopeAccess` setting and restricts the requested
7
+ * scope against the agent's `MJ: AI Agent Search Scopes` rows (Phase IN 'AgentInvoked','Both').
8
+ * Delegates the actual search to `SearchEngine.Search()` with `ScopeIDs: [resolvedScopeID]`.
9
+ *
10
+ * Agent identity is resolved from (in order):
11
+ * 1. The explicit `AgentID` input parameter (most common — passed by the agent executor).
12
+ * 2. `params.Context?.AgentID` (when the agent executor stamps context).
13
+ * 3. `params.Context?.agentID` (lowercased variant used in some execution paths).
14
+ *
15
+ * Enforcement rules (Section 5 of plans/search-scopes-rag-plus.md):
16
+ * - `SearchScopeAccess='None'` → rejects with `ACCESS_DENIED`.
17
+ * - `SearchScopeAccess='Assigned'`:
18
+ * - If `ScopeID` supplied: must match one of the agent's active AgentInvoked/Both rows.
19
+ * - If omitted: uses the agent's `IsDefault=1` row (falling back to lowest Priority).
20
+ * - If the agent has no such rows: rejects with `NO_DEFAULT_SCOPE`.
21
+ * - `SearchScopeAccess='All'`:
22
+ * - If `ScopeID` supplied: used as-is.
23
+ * - If omitted: uses the Global scope.
24
+ *
25
+ * Multi-tenant `SearchContext` (per-call):
26
+ * Two optional inputs assemble a `SearchContext` that is threaded into
27
+ * `SearchParams.SearchContext`. The engine renders the values into every
28
+ * scope-level Nunjucks template (MetadataFilter, ExtraFilter, UserSearchString,
29
+ * FolderPath) at search time — so one scope definition serves many tenants.
30
+ *
31
+ * - `PrimaryScopeRecordID` (string) — primary tenant key (e.g. OrganizationID).
32
+ * Available in templates as `{{ context.PrimaryScopeRecordID }}`.
33
+ * - `SecondaryScopes` (JSON string) — flat object of additional dimensions.
34
+ * Each value must be `string | number | boolean | string[]`. Available in
35
+ * templates as `{{ context.SecondaryScopes.<key> }}`. Incompatible value
36
+ * types are dropped with a log; malformed JSON falls back to undefined
37
+ * rather than failing the call.
38
+ *
39
+ * `SearchContext` is included only when at least one of the two inputs is
40
+ * provided — omitting both preserves the original "no per-call tenant
41
+ * filter" behavior. See `guides/SEARCH_SCOPES_AND_RAG_GUIDE.md` §10 for the
42
+ * full multi-tenant model and template-rendering details.
43
+ *
44
+ * @example Agent tool call
45
+ * ```
46
+ * { "tool": "Scoped Search", "params": { "Query": "refund policy", "AgentID": "<agent-uuid>" } }
47
+ * ```
48
+ *
49
+ * @example Per-tenant scoped call
50
+ * ```
51
+ * {
52
+ * "tool": "Scoped Search",
53
+ * "params": {
54
+ * "Query": "Q3 budget approval",
55
+ * "AgentID": "<agent-uuid>",
56
+ * "PrimaryScopeRecordID": "<org-uuid>",
57
+ * "SecondaryScopes": "{\"Department\":\"Finance\",\"Tags\":[\"q3\",\"approved\"]}"
58
+ * }
59
+ * }
60
+ * ```
61
+ */
62
+ export declare class ScopedSearchAction extends BaseAction {
63
+ protected InternalRunAction(params: RunActionParams): Promise<ActionResultSimple>;
64
+ /**
65
+ * Step 1 helper — validate `query`, `ContextUser`, resolve the calling
66
+ * agent's ID, and load the agent entity. Returns either the resolved
67
+ * pieces the rest of the pipeline needs or an error response to short-
68
+ * circuit on.
69
+ */
70
+ private validateInputsAndAgent;
71
+ /**
72
+ * Step 2 helper — resolve the scope through the agent's SearchScopeAccess
73
+ * rule. Logs Forbidden to SearchExecutionLog for ACCESS_DENIED outcomes
74
+ * (P3.2) so the analytics dashboard surfaces agent-side denials. Other
75
+ * resolution failures (NO_DEFAULT_SCOPE, SCOPE_NOT_FOUND) are not access
76
+ * denials and stay out of the Forbidden bucket.
77
+ */
78
+ private resolveAndLogScope;
79
+ /**
80
+ * Step 3 helper — Phase 2A user-side permission check. Returns null when
81
+ * the user is allowed to invoke; returns a denial response (with a
82
+ * Forbidden SearchExecutionLog row already written) otherwise.
83
+ *
84
+ * Two distinct denial paths:
85
+ * - Resolver Allowed=false ⇒ ACCESS_DENIED (agent-side) or PERMISSION_DENIED (user-side)
86
+ * - Resolver Allowed=true with Level='Read' ⇒ Read grants visibility, not invocation
87
+ */
88
+ private enforceUserPermission;
89
+ /**
90
+ * Step 4 helper — execute the search via either the synchronous
91
+ * `Search()` path or the streaming `streamSearch()` path. Returns the
92
+ * `SearchResult` plus a `progressEvents` array (only populated when
93
+ * streamingMode='partials').
94
+ */
95
+ private runSearch;
96
+ /**
97
+ * Step 5 helper — pack the SearchResult into the action's output
98
+ * envelope (Results + counts + scope echo + optional ProgressEvents).
99
+ */
100
+ private buildSuccessResult;
101
+ private resolveScope;
102
+ /**
103
+ * `SearchScopeAccess='Assigned'` path — agent can only use scopes listed
104
+ * in its `AIAgentSearchScope` rows (Phase IN AgentInvoked|Both). When no
105
+ * explicit scope is requested, picks the row with `IsDefault=true` or
106
+ * the lowest priority.
107
+ */
108
+ private resolveScopeAssigned;
109
+ /**
110
+ * `SearchScopeAccess='All'` path — agent can use any active scope, or
111
+ * the Global scope (which is "no filter") when no scope is requested.
112
+ */
113
+ private resolveScopeAll;
114
+ /**
115
+ * Resolve a SearchScope by ID into a successful or `SCOPE_NOT_FOUND`
116
+ * result. Caller can override the not-found message (used for the
117
+ * Assigned-mode "default scope not active" wording).
118
+ */
119
+ private lookupActiveScope;
120
+ private pickDefaultRow;
121
+ private resolveAgentID;
122
+ private loadAgent;
123
+ private formatResults;
124
+ private getStringParam;
125
+ /**
126
+ * Parse the optional SecondaryScopes input. Accepts a JSON string
127
+ * containing a flat object of dimension keys to values. Values are
128
+ * passed through verbatim; the SearchEngine's Nunjucks render handles
129
+ * type coercion when interpolating into MetadataFilter / ExtraFilter
130
+ * templates. Malformed input is logged and treated as undefined rather
131
+ * than failing the whole search — a stray bad payload shouldn't kill
132
+ * an otherwise-valid query.
133
+ */
134
+ private parseSecondaryScopes;
135
+ /** Type guard mirroring `SecondaryScopeValue` from @memberjunction/ai-core-plus. */
136
+ private isSecondaryScopeValue;
137
+ private getNumericParam;
138
+ private createErrorResult;
139
+ }
140
+ /** Tree-shake-prevention hook. Call from consumer `public-api.ts` (or the
141
+ * top-level index) to guarantee the `@RegisterClass` side-effect runs. */
142
+ export declare function LoadScopedSearchAction(): void;
143
+ //# sourceMappingURL=scoped-search.action.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scoped-search.action.d.ts","sourceRoot":"","sources":["../../../src/custom/search/scoped-search.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAe,MAAM,8BAA8B,CAAC;AAChG,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAsCrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AACH,qBACa,kBAAmB,SAAQ,UAAU;cAE9B,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA2DvF;;;;;OAKG;YACW,sBAAsB;IAyBpC;;;;;;OAMG;YACW,kBAAkB;IA+BhC;;;;;;;;OAQG;YACW,qBAAqB;IA4DnC;;;;;OAKG;YACW,SAAS;IAoFvB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;YA4BZ,YAAY;IAmB1B;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IAmC5B;;;OAGG;IACH,OAAO,CAAC,eAAe;IAQvB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,cAAc;YAeR,SAAS;IAgBvB,OAAO,CAAC,aAAa;IA4BrB,OAAO,CAAC,cAAc;IAOtB;;;;;;;;OAQG;IACH,OAAO,CAAC,oBAAoB;IA4B5B,oFAAoF;IACpF,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,iBAAiB;CAO5B;AAED;0EAC0E;AAC1E,wBAAgB,sBAAsB,IAAI,IAAI,CAG7C"}
@@ -0,0 +1,572 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { BaseAction } from "@memberjunction/actions";
8
+ import { RegisterClass, UUIDsEqual } from "@memberjunction/global";
9
+ import { LogError, LogStatusEx, IsVerboseLoggingEnabled, Metadata } from "@memberjunction/core";
10
+ import { SearchEngine, SearchScopePermissionResolver } from "@memberjunction/search-engine";
11
+ import { SearchEngineBase } from "@memberjunction/core-entities";
12
+ /**
13
+ * `__Scoped_Search` — scope-aware universal search for AI agents.
14
+ *
15
+ * Enforces the calling agent's `SearchScopeAccess` setting and restricts the requested
16
+ * scope against the agent's `MJ: AI Agent Search Scopes` rows (Phase IN 'AgentInvoked','Both').
17
+ * Delegates the actual search to `SearchEngine.Search()` with `ScopeIDs: [resolvedScopeID]`.
18
+ *
19
+ * Agent identity is resolved from (in order):
20
+ * 1. The explicit `AgentID` input parameter (most common — passed by the agent executor).
21
+ * 2. `params.Context?.AgentID` (when the agent executor stamps context).
22
+ * 3. `params.Context?.agentID` (lowercased variant used in some execution paths).
23
+ *
24
+ * Enforcement rules (Section 5 of plans/search-scopes-rag-plus.md):
25
+ * - `SearchScopeAccess='None'` → rejects with `ACCESS_DENIED`.
26
+ * - `SearchScopeAccess='Assigned'`:
27
+ * - If `ScopeID` supplied: must match one of the agent's active AgentInvoked/Both rows.
28
+ * - If omitted: uses the agent's `IsDefault=1` row (falling back to lowest Priority).
29
+ * - If the agent has no such rows: rejects with `NO_DEFAULT_SCOPE`.
30
+ * - `SearchScopeAccess='All'`:
31
+ * - If `ScopeID` supplied: used as-is.
32
+ * - If omitted: uses the Global scope.
33
+ *
34
+ * Multi-tenant `SearchContext` (per-call):
35
+ * Two optional inputs assemble a `SearchContext` that is threaded into
36
+ * `SearchParams.SearchContext`. The engine renders the values into every
37
+ * scope-level Nunjucks template (MetadataFilter, ExtraFilter, UserSearchString,
38
+ * FolderPath) at search time — so one scope definition serves many tenants.
39
+ *
40
+ * - `PrimaryScopeRecordID` (string) — primary tenant key (e.g. OrganizationID).
41
+ * Available in templates as `{{ context.PrimaryScopeRecordID }}`.
42
+ * - `SecondaryScopes` (JSON string) — flat object of additional dimensions.
43
+ * Each value must be `string | number | boolean | string[]`. Available in
44
+ * templates as `{{ context.SecondaryScopes.<key> }}`. Incompatible value
45
+ * types are dropped with a log; malformed JSON falls back to undefined
46
+ * rather than failing the call.
47
+ *
48
+ * `SearchContext` is included only when at least one of the two inputs is
49
+ * provided — omitting both preserves the original "no per-call tenant
50
+ * filter" behavior. See `guides/SEARCH_SCOPES_AND_RAG_GUIDE.md` §10 for the
51
+ * full multi-tenant model and template-rendering details.
52
+ *
53
+ * @example Agent tool call
54
+ * ```
55
+ * { "tool": "Scoped Search", "params": { "Query": "refund policy", "AgentID": "<agent-uuid>" } }
56
+ * ```
57
+ *
58
+ * @example Per-tenant scoped call
59
+ * ```
60
+ * {
61
+ * "tool": "Scoped Search",
62
+ * "params": {
63
+ * "Query": "Q3 budget approval",
64
+ * "AgentID": "<agent-uuid>",
65
+ * "PrimaryScopeRecordID": "<org-uuid>",
66
+ * "SecondaryScopes": "{\"Department\":\"Finance\",\"Tags\":[\"q3\",\"approved\"]}"
67
+ * }
68
+ * }
69
+ * ```
70
+ */
71
+ let ScopedSearchAction = class ScopedSearchAction extends BaseAction {
72
+ async InternalRunAction(params) {
73
+ // Track action-call wall-clock so any Forbidden log row reports
74
+ // accurate latency for "denial took 12ms" telemetry.
75
+ const startTime = Date.now();
76
+ try {
77
+ // 1. Validate inputs + load agent
78
+ const validation = await this.validateInputsAndAgent(params);
79
+ if ('result' in validation)
80
+ return validation.result;
81
+ const { query, agent } = validation;
82
+ // 2. Resolve scope (agent-side SearchScopeAccess gate, with denial logging)
83
+ await SearchEngineBase.Instance.Config(false, params.ContextUser);
84
+ const requestedScopeID = this.getStringParam(params, "scopeid");
85
+ const scopeOutcome = await this.resolveAndLogScope(agent, query, requestedScopeID, params, startTime);
86
+ if ('result' in scopeOutcome)
87
+ return scopeOutcome.result;
88
+ const { scope, scopeID } = scopeOutcome;
89
+ // 3. User-side permission check (Phase 2A) + Read-level gate, with denial logging
90
+ const permDenial = await this.enforceUserPermission(agent, scopeID, query, params, startTime);
91
+ if (permDenial)
92
+ return permDenial;
93
+ // 4. Run the search (sync or streaming)
94
+ const maxResults = this.getNumericParam(params, "maxresults", 25);
95
+ const minScore = this.getNumericParam(params, "minscore", 0);
96
+ const streamingMode = (this.getStringParam(params, "streamingmode") ?? 'finalOnly').toLowerCase();
97
+ // Per-call multi-tenant context. PrimaryScopeRecordID is the
98
+ // primary tenant key (e.g. OrganizationID). SecondaryScopes is
99
+ // an opaque JSON object of additional dimensions; each key
100
+ // becomes `{{ context.SecondaryScopes.<key> }}` available to
101
+ // the scope's Nunjucks-rendered MetadataFilter / ExtraFilter /
102
+ // UserSearchString / FolderPath. Dimensions are fully dynamic
103
+ // here — validation against scope.SearchContextConfig.dimensions
104
+ // (if desired) is the engine's responsibility, not the action's.
105
+ const primaryScopeRecordID = this.getStringParam(params, "primaryscoperecordid");
106
+ const secondaryScopes = this.parseSecondaryScopes(params);
107
+ LogStatusEx({
108
+ message: `ScopedSearchAction: Agent="${agent.Name}" scope="${scope?.Name ?? 'Global'}" query="${query}" streamingMode="${streamingMode}" primaryScopeRecordID="${primaryScopeRecordID ?? ''}" secondaryScopeKeys=[${Object.keys(secondaryScopes ?? {}).join(',')}]`,
109
+ verboseOnly: true,
110
+ isVerboseEnabled: IsVerboseLoggingEnabled
111
+ });
112
+ const exec = await this.runSearch({
113
+ query, maxResults, minScore, scopeID, agent,
114
+ contextUser: params.ContextUser, streamingMode,
115
+ primaryScopeRecordID, secondaryScopes,
116
+ });
117
+ if ('result' in exec)
118
+ return exec.result;
119
+ // 5. Build the success response
120
+ return this.buildSuccessResult(exec.sr, scope, scopeID, exec.progressEvents);
121
+ }
122
+ catch (error) {
123
+ const msg = error instanceof Error ? error.message : String(error);
124
+ LogError(`ScopedSearchAction error: ${msg}`);
125
+ return this.createErrorResult(`Unexpected error during scoped search: ${msg}`, "UNEXPECTED_ERROR");
126
+ }
127
+ }
128
+ /**
129
+ * Step 1 helper — validate `query`, `ContextUser`, resolve the calling
130
+ * agent's ID, and load the agent entity. Returns either the resolved
131
+ * pieces the rest of the pipeline needs or an error response to short-
132
+ * circuit on.
133
+ */
134
+ async validateInputsAndAgent(params) {
135
+ const query = this.getStringParam(params, "query");
136
+ if (!query) {
137
+ return { ok: false, result: this.createErrorResult("Query parameter is required", "MISSING_QUERY") };
138
+ }
139
+ if (!params.ContextUser) {
140
+ return { ok: false, result: this.createErrorResult("User context is required", "MISSING_USER_CONTEXT") };
141
+ }
142
+ const agentID = this.resolveAgentID(params);
143
+ if (!agentID) {
144
+ return { ok: false, result: this.createErrorResult("Calling agent identity could not be resolved. Pass the AgentID parameter or stamp params.Context.AgentID before invoking this action.", "MISSING_AGENT_CONTEXT") };
145
+ }
146
+ const agent = await this.loadAgent(agentID, params.ContextUser);
147
+ if (!agent) {
148
+ return { ok: false, result: this.createErrorResult(`Agent "${agentID}" not found.`, "MISSING_AGENT_CONTEXT") };
149
+ }
150
+ return { ok: true, query, agent };
151
+ }
152
+ /**
153
+ * Step 2 helper — resolve the scope through the agent's SearchScopeAccess
154
+ * rule. Logs Forbidden to SearchExecutionLog for ACCESS_DENIED outcomes
155
+ * (P3.2) so the analytics dashboard surfaces agent-side denials. Other
156
+ * resolution failures (NO_DEFAULT_SCOPE, SCOPE_NOT_FOUND) are not access
157
+ * denials and stay out of the Forbidden bucket.
158
+ */
159
+ async resolveAndLogScope(agent, query, requestedScopeID, params, startTime) {
160
+ const scopeResolution = await this.resolveScope(agent, requestedScopeID);
161
+ if (!scopeResolution.success) {
162
+ if (scopeResolution.errorCode === 'ACCESS_DENIED') {
163
+ await SearchEngine.Instance.LogForbiddenSearch({
164
+ Query: query,
165
+ // Attribute the denial to the SCOPE the caller asked for
166
+ // (so `WHERE SearchScopeID=<requested>` surfaces it).
167
+ // Falls back to undefined when the agent didn't pass an
168
+ // explicit scope.
169
+ ScopeIDs: requestedScopeID ? [requestedScopeID] : undefined,
170
+ FailureReason: scopeResolution.errorMessage,
171
+ StartTime: startTime,
172
+ ContextUser: params.ContextUser,
173
+ AIAgentID: agent.ID,
174
+ });
175
+ }
176
+ return { ok: false, result: this.createErrorResult(scopeResolution.errorMessage, scopeResolution.errorCode) };
177
+ }
178
+ return { ok: true, scope: scopeResolution.scope, scopeID: scopeResolution.scopeID };
179
+ }
180
+ /**
181
+ * Step 3 helper — Phase 2A user-side permission check. Returns null when
182
+ * the user is allowed to invoke; returns a denial response (with a
183
+ * Forbidden SearchExecutionLog row already written) otherwise.
184
+ *
185
+ * Two distinct denial paths:
186
+ * - Resolver Allowed=false ⇒ ACCESS_DENIED (agent-side) or PERMISSION_DENIED (user-side)
187
+ * - Resolver Allowed=true with Level='Read' ⇒ Read grants visibility, not invocation
188
+ */
189
+ async enforceUserPermission(agent, scopeID, query, params, startTime) {
190
+ if (!scopeID)
191
+ return null;
192
+ const permResolver = new SearchScopePermissionResolver();
193
+ const verdict = await permResolver.ResolveEffectivePermission({
194
+ User: params.ContextUser,
195
+ SearchScopeID: scopeID,
196
+ Agent: agent,
197
+ ContextUser: params.ContextUser,
198
+ });
199
+ if (!verdict.Allowed) {
200
+ LogStatusEx({
201
+ message: `ScopedSearchAction denied: ${verdict.Reason} (scope=${scopeID}, source=${verdict.Source})`,
202
+ verboseOnly: true,
203
+ isVerboseEnabled: IsVerboseLoggingEnabled
204
+ });
205
+ // ACCESS_DENIED is reserved for agent-side denials so calling code
206
+ // can distinguish "the agent isn't permitted to use this scope"
207
+ // from "the user isn't permitted".
208
+ const isAgentDenial = verdict.Source === 'AgentNone' || verdict.Source === 'AgentAssignedNotListed';
209
+ await SearchEngine.Instance.LogForbiddenSearch({
210
+ Query: query,
211
+ ScopeIDs: [scopeID],
212
+ FailureReason: verdict.Reason ?? 'Permission denied',
213
+ StartTime: startTime,
214
+ ContextUser: params.ContextUser,
215
+ AIAgentID: agent.ID,
216
+ });
217
+ return this.createErrorResult(`Forbidden: ${verdict.Reason}`, isAgentDenial ? 'ACCESS_DENIED' : 'PERMISSION_DENIED');
218
+ }
219
+ // Read level grants metadata visibility but not search execution.
220
+ // Mirror the GraphQL resolvers' gate.
221
+ if (verdict.Level === 'Read') {
222
+ const reason = `User '${params.ContextUser.Name}' has Read-level access on this scope, which permits metadata visibility but not search execution. Search or Manage is required to run a query.`;
223
+ LogStatusEx({
224
+ message: `ScopedSearchAction denied: ${reason} (scope=${scopeID}, source=${verdict.Source})`,
225
+ verboseOnly: true,
226
+ isVerboseEnabled: IsVerboseLoggingEnabled
227
+ });
228
+ await SearchEngine.Instance.LogForbiddenSearch({
229
+ Query: query,
230
+ ScopeIDs: [scopeID],
231
+ FailureReason: reason,
232
+ StartTime: startTime,
233
+ ContextUser: params.ContextUser,
234
+ AIAgentID: agent.ID,
235
+ });
236
+ return this.createErrorResult(`Forbidden: ${reason}`, 'PERMISSION_DENIED');
237
+ }
238
+ return null;
239
+ }
240
+ /**
241
+ * Step 4 helper — execute the search via either the synchronous
242
+ * `Search()` path or the streaming `streamSearch()` path. Returns the
243
+ * `SearchResult` plus a `progressEvents` array (only populated when
244
+ * streamingMode='partials').
245
+ */
246
+ async runSearch(input) {
247
+ // Construct a SearchContext only when the caller supplied at least
248
+ // one runtime dimension. Leaving it undefined preserves the existing
249
+ // "no per-call tenant filter" behavior for callers that never pass
250
+ // these inputs.
251
+ const searchContext = (input.primaryScopeRecordID || (input.secondaryScopes && Object.keys(input.secondaryScopes).length > 0))
252
+ ? {
253
+ PrimaryScopeRecordID: input.primaryScopeRecordID,
254
+ SecondaryScopes: input.secondaryScopes,
255
+ }
256
+ : undefined;
257
+ const baseParams = {
258
+ Query: input.query,
259
+ MaxResults: input.maxResults,
260
+ MinScore: input.minScore,
261
+ ScopeIDs: input.scopeID ? [input.scopeID] : undefined,
262
+ Mode: 'full',
263
+ // P3.2 — attribute the search to the calling agent so
264
+ // SearchExecutionLog.AIAgentID is populated. Mirror the pre-
265
+ // execution RAG and Forbidden-path threading.
266
+ AIAgentID: input.agent.ID,
267
+ // Multi-tenant runtime context. The engine renders this into the
268
+ // scope's Nunjucks MetadataFilter / ExtraFilter / UserSearchString
269
+ // / FolderPath fields at search time so a single scope definition
270
+ // can serve many tenants.
271
+ SearchContext: searchContext,
272
+ };
273
+ if (input.streamingMode !== 'partials') {
274
+ const sr = await SearchEngine.Instance.Search(baseParams, input.contextUser);
275
+ if (!sr.Success) {
276
+ return { ok: false, result: this.createErrorResult(sr.ErrorMessage ?? "Search failed with no error message", "SEARCH_FAILED") };
277
+ }
278
+ return { ok: true, sr, progressEvents: [] };
279
+ }
280
+ // Phase 2C: streamingMode='partials' — consume the streaming
281
+ // iterable and accumulate progress events so the agent can observe
282
+ // intermediate provider returns. The aggregate is identical to the
283
+ // synchronous Search() — we collect the 'final' event as authoritative.
284
+ const progressEvents = [];
285
+ let finalEvent;
286
+ let errorMsg;
287
+ for await (const ev of SearchEngine.Instance.streamSearch(baseParams, input.contextUser)) {
288
+ // Skip 'final' event's results from the progress trail to keep
289
+ // the param size sane — the final results are returned via the
290
+ // Results output param anyway.
291
+ if (ev.phase === 'final') {
292
+ finalEvent = { results: ev.results, sourceCounts: ev.sourceCounts, elapsedMs: ev.elapsedMs };
293
+ progressEvents.push({ phase: 'final', count: ev.results.length, elapsedMs: ev.elapsedMs });
294
+ }
295
+ else if (ev.phase === 'provider') {
296
+ progressEvents.push({ phase: 'provider', providerName: ev.providerName, count: ev.results.length, durationMs: ev.durationMs });
297
+ }
298
+ else if (ev.phase === 'fused') {
299
+ progressEvents.push({ phase: 'fused', count: ev.results.length });
300
+ }
301
+ else if (ev.phase === 'reranked') {
302
+ progressEvents.push({ phase: 'reranked', rerankerName: ev.rerankerName, count: ev.results.length });
303
+ }
304
+ else if (ev.phase === 'error') {
305
+ errorMsg = ev.error;
306
+ progressEvents.push({ phase: 'error', error: ev.error });
307
+ }
308
+ }
309
+ if (errorMsg || !finalEvent) {
310
+ return { ok: false, result: this.createErrorResult(errorMsg ?? 'Stream completed without a final event', 'SEARCH_FAILED') };
311
+ }
312
+ const sr = {
313
+ Success: true,
314
+ Results: finalEvent.results,
315
+ TotalCount: finalEvent.results.length,
316
+ ElapsedMs: finalEvent.elapsedMs,
317
+ SourceCounts: finalEvent.sourceCounts,
318
+ Providers: [],
319
+ };
320
+ return { ok: true, sr, progressEvents };
321
+ }
322
+ /**
323
+ * Step 5 helper — pack the SearchResult into the action's output
324
+ * envelope (Results + counts + scope echo + optional ProgressEvents).
325
+ */
326
+ buildSuccessResult(sr, scope, scopeID, progressEvents) {
327
+ const formatted = this.formatResults(sr.Results);
328
+ const outputParams = [
329
+ { Name: "Results", Value: formatted, Type: "Output" },
330
+ { Name: "TotalCount", Value: sr.TotalCount, Type: "Output" },
331
+ { Name: "ElapsedMs", Value: sr.ElapsedMs, Type: "Output" },
332
+ { Name: "SourceCounts", Value: sr.SourceCounts, Type: "Output" },
333
+ { Name: "ScopeID_Resolved", Value: scopeID ?? null, Type: "Output" },
334
+ { Name: "ScopeName_Resolved", Value: scope?.Name ?? "Global", Type: "Output" }
335
+ ];
336
+ if (progressEvents.length > 0) {
337
+ outputParams.push({ Name: 'ProgressEvents', Value: progressEvents, Type: 'Output' });
338
+ }
339
+ return {
340
+ Success: true,
341
+ ResultCode: "SUCCESS",
342
+ Message: `Found ${sr.TotalCount} result(s) in scope "${scope?.Name ?? 'Global'}" in ${sr.ElapsedMs}ms`,
343
+ Params: outputParams
344
+ };
345
+ }
346
+ // ─── Scope resolution & SearchScopeAccess enforcement ──────────────
347
+ async resolveScope(agent, requestedScopeID) {
348
+ const access = agent.SearchScopeAccess;
349
+ if (access === 'None') {
350
+ return {
351
+ success: false,
352
+ errorCode: 'ACCESS_DENIED',
353
+ errorMessage: `Agent "${agent.Name}" has SearchScopeAccess='None' and cannot invoke scoped search.`,
354
+ };
355
+ }
356
+ if (access === 'Assigned') {
357
+ return this.resolveScopeAssigned(agent, requestedScopeID);
358
+ }
359
+ // access === 'All'
360
+ return this.resolveScopeAll(requestedScopeID);
361
+ }
362
+ /**
363
+ * `SearchScopeAccess='Assigned'` path — agent can only use scopes listed
364
+ * in its `AIAgentSearchScope` rows (Phase IN AgentInvoked|Both). When no
365
+ * explicit scope is requested, picks the row with `IsDefault=true` or
366
+ * the lowest priority.
367
+ */
368
+ resolveScopeAssigned(agent, requestedScopeID) {
369
+ const rows = SearchEngineBase.Instance.GetAgentScopes(agent.ID, 'AgentInvoked');
370
+ if (rows.length === 0) {
371
+ return {
372
+ success: false,
373
+ errorCode: 'NO_DEFAULT_SCOPE',
374
+ errorMessage: `Agent "${agent.Name}" has SearchScopeAccess='Assigned' but no active AgentInvoked/Both scopes are configured.`,
375
+ };
376
+ }
377
+ if (requestedScopeID) {
378
+ const allowedRow = rows.find(r => UUIDsEqual(r.SearchScopeID, requestedScopeID));
379
+ if (!allowedRow) {
380
+ return {
381
+ success: false,
382
+ errorCode: 'ACCESS_DENIED',
383
+ errorMessage: `Agent "${agent.Name}" is not permitted to use scope "${requestedScopeID}".`,
384
+ };
385
+ }
386
+ return this.lookupActiveScope(requestedScopeID);
387
+ }
388
+ // No explicit scope — use default (IsDefault=true) or lowest-priority row
389
+ const def = this.pickDefaultRow(rows);
390
+ if (!def) {
391
+ return {
392
+ success: false,
393
+ errorCode: 'NO_DEFAULT_SCOPE',
394
+ errorMessage: `Agent "${agent.Name}" has no default scope and no ScopeID was provided.`,
395
+ };
396
+ }
397
+ return this.lookupActiveScope(def.SearchScopeID, `Default scope "${def.SearchScopeID}" is not active.`);
398
+ }
399
+ /**
400
+ * `SearchScopeAccess='All'` path — agent can use any active scope, or
401
+ * the Global scope (which is "no filter") when no scope is requested.
402
+ */
403
+ resolveScopeAll(requestedScopeID) {
404
+ if (requestedScopeID) {
405
+ return this.lookupActiveScope(requestedScopeID);
406
+ }
407
+ const global = SearchEngineBase.Instance.GlobalScope;
408
+ return { success: true, scope: global, scopeID: global?.ID };
409
+ }
410
+ /**
411
+ * Resolve a SearchScope by ID into a successful or `SCOPE_NOT_FOUND`
412
+ * result. Caller can override the not-found message (used for the
413
+ * Assigned-mode "default scope not active" wording).
414
+ */
415
+ lookupActiveScope(scopeID, notFoundMessage) {
416
+ const scope = SearchEngineBase.Instance.GetActiveScopeByID(scopeID);
417
+ if (!scope) {
418
+ return {
419
+ success: false,
420
+ errorCode: 'SCOPE_NOT_FOUND',
421
+ errorMessage: notFoundMessage ?? `Scope "${scopeID}" is not active or does not exist.`,
422
+ };
423
+ }
424
+ return { success: true, scope, scopeID: scope.ID };
425
+ }
426
+ pickDefaultRow(rows) {
427
+ const explicit = rows.find(r => r.IsDefault);
428
+ if (explicit)
429
+ return explicit;
430
+ return [...rows].sort((a, b) => a.Priority - b.Priority)[0];
431
+ }
432
+ // ─── Agent identity ────────────────────────────────────────────────
433
+ resolveAgentID(params) {
434
+ const explicit = this.getStringParam(params, "agentid");
435
+ if (explicit)
436
+ return explicit;
437
+ const ctx = params.Context;
438
+ if (ctx) {
439
+ const candidates = ['AgentID', 'agentID', 'agentId'];
440
+ for (const key of candidates) {
441
+ const v = ctx[key];
442
+ if (typeof v === 'string' && v.trim().length > 0)
443
+ return v;
444
+ }
445
+ }
446
+ return undefined;
447
+ }
448
+ async loadAgent(agentID, contextUser) {
449
+ try {
450
+ const md = new Metadata(); // global-provider-ok: BaseAction has no bound IMetadataProvider; contextUser is the per-request scope
451
+ const entity = await md.GetEntityObject('MJ: AI Agents', contextUser);
452
+ const loaded = await entity.Load(agentID);
453
+ if (!loaded)
454
+ return null;
455
+ return entity;
456
+ }
457
+ catch (error) {
458
+ const msg = error instanceof Error ? error.message : String(error);
459
+ LogError(`ScopedSearchAction: Failed to load agent "${agentID}": ${msg}`);
460
+ return null;
461
+ }
462
+ }
463
+ // ─── Result formatting ─────────────────────────────────────────────
464
+ formatResults(items) {
465
+ return items.map(item => ({
466
+ ID: item.ID,
467
+ EntityName: item.EntityName,
468
+ RecordID: item.RecordID,
469
+ SourceType: item.SourceType,
470
+ ResultType: item.ResultType,
471
+ Title: item.Title,
472
+ Snippet: item.Snippet,
473
+ Score: item.Score,
474
+ ScoreBreakdown: {
475
+ Vector: item.ScoreBreakdown.Vector,
476
+ FullText: item.ScoreBreakdown.FullText,
477
+ Entity: item.ScoreBreakdown.Entity,
478
+ Storage: item.ScoreBreakdown.Storage
479
+ },
480
+ Tags: item.Tags,
481
+ EntityIcon: item.EntityIcon,
482
+ RecordName: item.RecordName,
483
+ MatchedAt: item.MatchedAt instanceof Date
484
+ ? item.MatchedAt.toISOString()
485
+ : String(item.MatchedAt),
486
+ RawMetadata: item.RawMetadata
487
+ }));
488
+ }
489
+ // ─── Parameter extraction helpers ─────────────────────────────────
490
+ getStringParam(params, paramName) {
491
+ const param = params.Params.find(p => p.Name.trim().toLowerCase() === paramName.toLowerCase());
492
+ if (!param || param.Value === undefined || param.Value === null)
493
+ return undefined;
494
+ const value = String(param.Value).trim();
495
+ return value.length > 0 ? value : undefined;
496
+ }
497
+ /**
498
+ * Parse the optional SecondaryScopes input. Accepts a JSON string
499
+ * containing a flat object of dimension keys to values. Values are
500
+ * passed through verbatim; the SearchEngine's Nunjucks render handles
501
+ * type coercion when interpolating into MetadataFilter / ExtraFilter
502
+ * templates. Malformed input is logged and treated as undefined rather
503
+ * than failing the whole search — a stray bad payload shouldn't kill
504
+ * an otherwise-valid query.
505
+ */
506
+ parseSecondaryScopes(params) {
507
+ const raw = this.getStringParam(params, "secondaryscopes");
508
+ if (!raw)
509
+ return undefined;
510
+ let parsed;
511
+ try {
512
+ parsed = JSON.parse(raw);
513
+ }
514
+ catch (e) {
515
+ LogError(`ScopedSearchAction: SecondaryScopes was not valid JSON; ignoring: ${e instanceof Error ? e.message : String(e)}`);
516
+ return undefined;
517
+ }
518
+ if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) {
519
+ LogError(`ScopedSearchAction: SecondaryScopes must be a JSON object, got ${Array.isArray(parsed) ? 'array' : typeof parsed} — ignoring.`);
520
+ return undefined;
521
+ }
522
+ // Validate each value against SecondaryScopeValue = string | number | boolean | string[].
523
+ // Drop incompatible entries (with a log) rather than failing the whole call — partial
524
+ // context is more useful than no context.
525
+ const cleaned = {};
526
+ for (const [key, value] of Object.entries(parsed)) {
527
+ if (this.isSecondaryScopeValue(value)) {
528
+ cleaned[key] = value;
529
+ }
530
+ else {
531
+ LogError(`ScopedSearchAction: SecondaryScopes key '${key}' has unsupported value type (${Array.isArray(value) ? 'mixed-array' : typeof value}); skipping.`);
532
+ }
533
+ }
534
+ return Object.keys(cleaned).length > 0 ? cleaned : undefined;
535
+ }
536
+ /** Type guard mirroring `SecondaryScopeValue` from @memberjunction/ai-core-plus. */
537
+ isSecondaryScopeValue(value) {
538
+ if (value === null || value === undefined)
539
+ return false;
540
+ const t = typeof value;
541
+ if (t === 'string' || t === 'number' || t === 'boolean')
542
+ return true;
543
+ if (Array.isArray(value))
544
+ return value.every(v => typeof v === 'string');
545
+ return false;
546
+ }
547
+ getNumericParam(params, paramName, defaultValue) {
548
+ const param = params.Params.find(p => p.Name.trim().toLowerCase() === paramName.toLowerCase());
549
+ if (!param || param.Value === undefined || param.Value === null)
550
+ return defaultValue;
551
+ const parsed = Number(param.Value);
552
+ return isNaN(parsed) ? defaultValue : parsed;
553
+ }
554
+ createErrorResult(message, code) {
555
+ return {
556
+ Success: false,
557
+ Message: message,
558
+ ResultCode: code
559
+ };
560
+ }
561
+ };
562
+ ScopedSearchAction = __decorate([
563
+ RegisterClass(BaseAction, "__Scoped_Search")
564
+ ], ScopedSearchAction);
565
+ export { ScopedSearchAction };
566
+ /** Tree-shake-prevention hook. Call from consumer `public-api.ts` (or the
567
+ * top-level index) to guarantee the `@RegisterClass` side-effect runs. */
568
+ export function LoadScopedSearchAction() {
569
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
570
+ const _ref = ScopedSearchAction;
571
+ }
572
+ //# sourceMappingURL=scoped-search.action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scoped-search.action.js","sourceRoot":"","sources":["../../../src/custom/search/scoped-search.action.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -85,4 +85,5 @@ export * from './custom/visualization/shared/svg-theming.js';
85
85
  export * from './custom/visualization/shared/mermaid-types.js';
86
86
  export * from './custom/mcp/index.js';
87
87
  export * from './custom/search/search.action.js';
88
+ export * from './custom/search/scoped-search.action.js';
88
89
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAC;AAGjD,cAAc,mDAAmD,CAAC;AAClE,cAAc,6CAA6C,CAAC;AAC5D,cAAc,6CAA6C,CAAC;AAG5D,cAAc,oCAAoC,CAAC;AACnD,cAAc,iCAAiC,CAAC;AAChD,cAAc,oCAAoC,CAAC;AACnD,cAAc,oCAAoC,CAAC;AAGnD,cAAc,kCAAkC,CAAC;AACjD,cAAc,sCAAsC,CAAC;AACrD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,sCAAsC,CAAC;AACrD,cAAc,oCAAoC,CAAC;AACnD,cAAc,qCAAqC,CAAC;AAGpD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,oDAAoD,CAAC;AACnE,cAAc,0CAA0C,CAAC;AACzD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,qDAAqD,CAAC;AACpE,cAAc,mCAAmC,CAAC;AAClD,cAAc,4CAA4C,CAAC;AAG3D,cAAc,yCAAyC,CAAC;AAGxD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sCAAsC,CAAC;AACrD,cAAc,wCAAwC,CAAC;AACvD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,uCAAuC,CAAC;AACtD,cAAc,0CAA0C,CAAC;AAGzD,cAAc,iCAAiC,CAAC;AAChD,cAAc,qCAAqC,CAAC;AACpD,cAAc,iCAAiC,CAAC;AAChD,cAAc,qCAAqC,CAAC;AACpD,cAAc,kCAAkC,CAAC;AACjD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,sCAAsC,CAAC;AACrD,cAAc,yCAAyC,CAAC;AACxD,cAAc,sCAAsC,CAAC;AACrD,cAAc,uCAAuC,CAAC;AACtD,cAAc,2CAA2C,CAAC;AAG1D,cAAc,6CAA6C,CAAC;AAG5D,cAAc,qCAAqC,CAAC;AACpD,cAAc,oCAAoC,CAAC;AACnD,cAAc,qCAAqC,CAAC;AAGpD,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wCAAwC,CAAC;AAGvD,cAAc,0CAA0C,CAAC;AACzD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,wCAAwC,CAAC;AACvD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,yDAAyD,CAAC;AACxE,cAAc,kDAAkD,CAAC;AAGjE,cAAc,4CAA4C,CAAC;AAG3D,cAAc,6CAA6C,CAAC;AAG5D,cAAc,sCAAsC,CAAC;AACrD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2CAA2C,CAAC;AAC1D,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAG/C,cAAc,sCAAsC,CAAC;AACrD,cAAc,kCAAkC,CAAC;AACjD,cAAc,0CAA0C,CAAC;AACzD,cAAc,wCAAwC,CAAC;AACvD,cAAc,sCAAsC,CAAC;AACrD,cAAc,0CAA0C,CAAC;AACzD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,oCAAoC,CAAC;AACnD,cAAc,mCAAmC,CAAC;AAClD,cAAc,+BAA+B,CAAC;AAG9C,cAAc,uDAAuD,CAAC;AACtE,cAAc,6CAA6C,CAAC;AAC5D,cAAc,iDAAiD,CAAC;AAChE,cAAc,mDAAmD,CAAC;AAClE,cAAc,uDAAuD,CAAC;AAGtE,cAAc,gBAAgB,CAAC;AAG/B,cAAc,gDAAgD,CAAC;AAC/D,cAAc,kDAAkD,CAAC;AACjE,cAAc,qDAAqD,CAAC;AACpE,cAAc,kDAAkD,CAAC;AACjE,cAAc,sDAAsD,CAAC;AACrE,cAAc,yDAAyD,CAAC;AACxE,cAAc,sDAAsD,CAAC;AACrE,cAAc,yCAAyC,CAAC;AACxD,cAAc,yCAAyC,CAAC;AACxD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,6CAA6C,CAAC;AAG5D,cAAc,cAAc,CAAC;AAE7B,cAAc,+BAA+B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -104,4 +104,5 @@ export * from './custom/visualization/shared/mermaid-types.js';
104
104
  // MCP Actions
105
105
  export * from './custom/mcp/index.js';
106
106
  export * from './custom/search/search.action.js';
107
+ export * from './custom/search/scoped-search.action.js';
107
108
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@memberjunction/core-actions",
3
3
  "type": "module",
4
- "version": "5.33.0",
4
+ "version": "5.34.1",
5
5
  "description": "Library of generated and custom actions for the core MemberJunction framework. This library is maintained by MemberJunction and includes actions for use within the framework itself.",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
@@ -25,35 +25,35 @@
25
25
  "dependencies": {
26
26
  "@asamuzakjp/css-color": "^4.1.2",
27
27
  "@dagrejs/dagre": "^1.1.8",
28
- "@memberjunction/actions": "5.33.0",
29
- "@memberjunction/actions-base": "5.33.0",
30
- "@memberjunction/ai": "5.33.0",
31
- "@memberjunction/ai-mcp-client": "5.33.0",
32
- "@memberjunction/ai-agent-manager": "5.33.0",
33
- "@memberjunction/ai-agents": "5.33.0",
34
- "@memberjunction/ai-betty-bot": "5.33.0",
35
- "@memberjunction/ai-core-plus": "5.33.0",
36
- "@memberjunction/ai-engine-base": "5.33.0",
37
- "@memberjunction/ai-prompts": "5.33.0",
38
- "@memberjunction/ai-vector-sync": "5.33.0",
39
- "@memberjunction/aiengine": "5.33.0",
40
- "@memberjunction/geo-core": "5.33.0",
41
- "@memberjunction/code-execution": "5.33.0",
42
- "@memberjunction/communication-engine": "5.33.0",
43
- "@memberjunction/communication-types": "5.33.0",
44
- "@memberjunction/content-autotagging": "5.33.0",
45
- "@memberjunction/core": "5.33.0",
46
- "@memberjunction/core-entities": "5.33.0",
47
- "@memberjunction/core-entities-server": "5.33.0",
48
- "@memberjunction/export-engine": "5.33.0",
49
- "@memberjunction/external-change-detection": "5.33.0",
50
- "@memberjunction/generic-database-provider": "5.33.0",
51
- "@memberjunction/global": "5.33.0",
52
- "@memberjunction/integration-engine": "5.33.0",
53
- "@memberjunction/search-engine": "5.33.0",
54
- "@memberjunction/sql-dialect": "5.33.0",
55
- "@memberjunction/sqlserver-dataprovider": "5.33.0",
56
- "@memberjunction/storage": "5.33.0",
28
+ "@memberjunction/actions": "5.34.1",
29
+ "@memberjunction/actions-base": "5.34.1",
30
+ "@memberjunction/ai": "5.34.1",
31
+ "@memberjunction/ai-mcp-client": "5.34.1",
32
+ "@memberjunction/ai-agent-manager": "5.34.1",
33
+ "@memberjunction/ai-agents": "5.34.1",
34
+ "@memberjunction/ai-betty-bot": "5.34.1",
35
+ "@memberjunction/ai-core-plus": "5.34.1",
36
+ "@memberjunction/ai-engine-base": "5.34.1",
37
+ "@memberjunction/ai-prompts": "5.34.1",
38
+ "@memberjunction/ai-vector-sync": "5.34.1",
39
+ "@memberjunction/aiengine": "5.34.1",
40
+ "@memberjunction/geo-core": "5.34.1",
41
+ "@memberjunction/code-execution": "5.34.1",
42
+ "@memberjunction/communication-engine": "5.34.1",
43
+ "@memberjunction/communication-types": "5.34.1",
44
+ "@memberjunction/content-autotagging": "5.34.1",
45
+ "@memberjunction/core": "5.34.1",
46
+ "@memberjunction/core-entities": "5.34.1",
47
+ "@memberjunction/core-entities-server": "5.34.1",
48
+ "@memberjunction/export-engine": "5.34.1",
49
+ "@memberjunction/external-change-detection": "5.34.1",
50
+ "@memberjunction/generic-database-provider": "5.34.1",
51
+ "@memberjunction/global": "5.34.1",
52
+ "@memberjunction/integration-engine": "5.34.1",
53
+ "@memberjunction/search-engine": "5.34.1",
54
+ "@memberjunction/sql-dialect": "5.34.1",
55
+ "@memberjunction/sqlserver-dataprovider": "5.34.1",
56
+ "@memberjunction/storage": "5.34.1",
57
57
  "@types/d3-cloud": "^1.2.9",
58
58
  "@types/d3-force": "^3.0.10",
59
59
  "@types/d3-hierarchy": "^3.1.7",