@memberjunction/core-entities-server 6.2.0-edge.7 → 6.2.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 (32) hide show
  1. package/dist/custom/AnchoredConversationReadSecurityHook.d.ts +22 -0
  2. package/dist/custom/AnchoredConversationReadSecurityHook.d.ts.map +1 -0
  3. package/dist/custom/AnchoredConversationReadSecurityHook.js +293 -0
  4. package/dist/custom/AnchoredConversationReadSecurityHook.js.map +1 -0
  5. package/dist/custom/MJConversationDetailEntityServer.server.d.ts +20 -30
  6. package/dist/custom/MJConversationDetailEntityServer.server.d.ts.map +1 -1
  7. package/dist/custom/MJConversationDetailEntityServer.server.js +89 -35
  8. package/dist/custom/MJConversationDetailEntityServer.server.js.map +1 -1
  9. package/dist/custom/MJConversationEntityServer.server.d.ts +19 -4
  10. package/dist/custom/MJConversationEntityServer.server.d.ts.map +1 -1
  11. package/dist/custom/MJConversationEntityServer.server.js +169 -11
  12. package/dist/custom/MJConversationEntityServer.server.js.map +1 -1
  13. package/dist/custom/MJProjectEntityServer.server.d.ts +21 -0
  14. package/dist/custom/MJProjectEntityServer.server.d.ts.map +1 -0
  15. package/dist/custom/MJProjectEntityServer.server.js +106 -0
  16. package/dist/custom/MJProjectEntityServer.server.js.map +1 -0
  17. package/dist/custom/MJQueryEntityServer.server.d.ts.map +1 -1
  18. package/dist/custom/MJQueryEntityServer.server.js +14 -2
  19. package/dist/custom/MJQueryEntityServer.server.js.map +1 -1
  20. package/dist/custom/RestrictedFieldCommentClassifier.d.ts +73 -0
  21. package/dist/custom/RestrictedFieldCommentClassifier.d.ts.map +1 -0
  22. package/dist/custom/RestrictedFieldCommentClassifier.js +240 -0
  23. package/dist/custom/RestrictedFieldCommentClassifier.js.map +1 -0
  24. package/dist/engines/QueryEngineServer.d.ts +4 -4
  25. package/dist/engines/QueryEngineServer.d.ts.map +1 -1
  26. package/dist/engines/QueryEngineServer.js +6 -16
  27. package/dist/engines/QueryEngineServer.js.map +1 -1
  28. package/dist/index.d.ts +3 -0
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +3 -0
  31. package/dist/index.js.map +1 -1
  32. package/package.json +30 -30
@@ -1 +1 @@
1
- {"version":3,"file":"MJConversationEntityServer.server.d.ts","sourceRoot":"","sources":["../../src/custom/MJConversationEntityServer.server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAEpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAGrE;;;;;;GAMG;AACH,qBACa,0BAA2B,SAAQ,oBAAoB;IAChD,QAAQ,IAAI,gBAAgB;CAS/C"}
1
+ {"version":3,"file":"MJConversationEntityServer.server.d.ts","sourceRoot":"","sources":["../../src/custom/MJConversationEntityServer.server.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,iBAAiB,EAIjB,gBAAgB,EAEnB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAKH,oBAAoB,EAIvB,MAAM,+BAA+B,CAAC;AAGvC;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBACa,0BAA2B,SAAQ,oBAAoB;IAChD,QAAQ,IAAI,gBAAgB;IAetB,IAAI,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;YAgB3D,+CAA+C;IAmG7D,OAAO,CAAC,gBAAgB;CAS3B"}
@@ -4,30 +4,188 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
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
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { BaseEntity } from '@memberjunction/core';
8
- import { RegisterClass } from '@memberjunction/global';
9
- import { MJConversationEntity } from '@memberjunction/core-entities';
10
- import { CheckAnonymousOwnershipKeyChange } from './anonymousOwnershipKeyGuard.js';
7
+ import { BaseEntity, BaseEntityResult, ValidationErrorInfo, ValidationErrorType, WellKnownUserSource } from '@memberjunction/core';
8
+ import { RegisterClass, UUIDsEqual } from '@memberjunction/global';
9
+ import { CanonicalizeConversationAdditionalData, IsConversationHiddenByFieldSecurity, IsInheritingFolderAccess, IsInheritingFolderAccessInSQL, MJConversationEntity, MergeRestrictedFieldsIntoAnchorMetadata, ParseConversationAnchorMetadata, UserCanReadLinkedRecord } from '@memberjunction/core-entities';
10
+ import { CheckAnonymousOwnershipKeyChange, IsSetByTransactionVariable } from './anonymousOwnershipKeyGuard.js';
11
11
  /**
12
12
  * Server-side `MJ: Conversations` entity.
13
13
  *
14
- * Keeps `ExternalID` — the scope identity an anonymous visitor's realtime session is owned through — out
15
- * of an anonymous visitor's reach once the conversation exists. See {@link CheckAnonymousOwnershipKeyChange}.
16
- * Uses the synchronous `Validate()` so the rule runs on every save, like `MJAIAgentSessionEntityServer`.
14
+ * 1. Keeps `ExternalID` — the scope identity an anonymous visitor's realtime session is owned through — out
15
+ * of an anonymous visitor's reach once the conversation exists. See {@link CheckAnonymousOwnershipKeyChange}.
16
+ * 2. Keeps who a conversation belongs to and who it is shared with in its owner's hands: see
17
+ * {@link checkOwnerOnlyChange}. Uses the synchronous `Validate()` so the rules run on every save, like
18
+ * `MJAIAgentSessionEntityServer`.
19
+ * 3. Saves `AdditionalData` as compact JSON when it holds an object, so the stored text always uses the spelling
20
+ * the conversation list's SQL filter matches (`INHERIT_FOLDER_ACCESS_SQL_CLAUSE`), and refuses a value the filter
21
+ * and the parser would still read differently: see {@link checkInheritanceReadingsAgree}.
22
+ * 4. Enforces Row-Level Security (RLS) and Field-Level Security (FLS) on anchored conversations
23
+ * (`LinkedEntityID` + `LinkedRecordID` / `AnchorType`):
24
+ * - Verifies the saving user can read the linked record (`UserCanReadLinkedRecord`).
25
+ * - Verifies the saving user is not denied Read access on the anchored field or `restrictedFields`
26
+ * (`IsConversationHiddenByFieldSecurity`).
27
+ * - When `AnchorType === 'Field'` targets an FLS-governed field (`HasFieldPermissions === true`),
28
+ * automatically stamps that canonical field name into `AnchorMetadataObject.restrictedFields`.
17
29
  */
18
30
  let MJConversationEntityServer = class MJConversationEntityServer extends MJConversationEntity {
19
31
  Validate() {
20
32
  const result = super.Validate();
21
- const violation = CheckAnonymousOwnershipKeyChange(this, 'ExternalID');
22
- if (violation) {
23
- result.Errors.push(violation);
24
- result.Success = false;
33
+ for (const violation of [
34
+ CheckAnonymousOwnershipKeyChange(this, 'ExternalID'),
35
+ checkOwnerOnlyChange(this),
36
+ checkInheritanceReadingsAgree(this),
37
+ ]) {
38
+ if (violation) {
39
+ result.Errors.push(violation);
40
+ result.Success = false;
41
+ }
25
42
  }
26
43
  return result;
27
44
  }
45
+ async Save(options) {
46
+ const additionalData = typeof this.GetFieldByName === 'function' ? this.GetFieldByName('AdditionalData') : undefined;
47
+ if (additionalData?.Dirty) {
48
+ const canonical = CanonicalizeConversationAdditionalData(additionalData.Value);
49
+ if (canonical !== additionalData.Value) {
50
+ additionalData.Value = canonical;
51
+ }
52
+ }
53
+ const refusal = await this.checkAnchoredConversationAccessAndStampMetadata();
54
+ if (refusal) {
55
+ this.recordSaveDenied(refusal);
56
+ return false;
57
+ }
58
+ return super.Save(options);
59
+ }
60
+ async checkAnchoredConversationAccessAndStampMetadata() {
61
+ if (!this.LinkedEntityID || !this.LinkedRecordID) {
62
+ return null;
63
+ }
64
+ const provider = this.ProviderToUse;
65
+ const entityInfo = (typeof provider?.EntityByID === 'function'
66
+ ? provider.EntityByID(this.LinkedEntityID)
67
+ : undefined) ??
68
+ provider?.Entities?.find((e) => UUIDsEqual(e.ID, this.LinkedEntityID)) ??
69
+ null;
70
+ if (this.AnchorType && entityInfo && entityInfo.AllowRecordComments === false) {
71
+ return `Record commenting is disabled for ${entityInfo.DisplayNameOrName}.`;
72
+ }
73
+ // Security invariant: never persist quotedValue snapshots for restricted (FLS) or encrypted fields,
74
+ // so protected field values cannot escape into plain AnchorMetadata JSON, Record Changes, or indexes.
75
+ if (entityInfo && this.AnchorType === 'Field' && this.AnchorKey) {
76
+ const targetLower = this.AnchorKey.trim().toLowerCase();
77
+ const targetField = entityInfo.Fields.find((f) => f.Name.toLowerCase() === targetLower);
78
+ if (targetField && (targetField.HasFieldPermissions || targetField.Encrypt)) {
79
+ const existingMeta = ParseConversationAnchorMetadata(this.AnchorMetadataObject ?? this.AnchorMetadata);
80
+ if (existingMeta && existingMeta.quotedValue !== undefined) {
81
+ const sanitized = { ...existingMeta };
82
+ delete sanitized.quotedValue;
83
+ this.AnchorMetadataObject = sanitized;
84
+ }
85
+ }
86
+ }
87
+ // Auto-stamp restrictedFields when anchored directly to an FLS-governed field
88
+ if (entityInfo?.FieldLevelSecurityApplies && this.AnchorType === 'Field' && this.AnchorKey) {
89
+ const targetLower = this.AnchorKey.trim().toLowerCase();
90
+ const flsField = entityInfo.Fields.find((f) => f.HasFieldPermissions && f.Name.toLowerCase() === targetLower);
91
+ if (flsField) {
92
+ const existingMeta = ParseConversationAnchorMetadata(this.AnchorMetadataObject ?? this.AnchorMetadata);
93
+ const { Metadata, Changed } = MergeRestrictedFieldsIntoAnchorMetadata(existingMeta, [
94
+ flsField.Name
95
+ ]);
96
+ if (Changed) {
97
+ this.AnchorMetadataObject = Metadata;
98
+ }
99
+ }
100
+ }
101
+ if (provider?.ProviderType !== 'Database') {
102
+ return null;
103
+ }
104
+ const user = this.ContextCurrentUser;
105
+ if (!user || WellKnownUserSource.Instance.IsSystemUser(user)) {
106
+ return null;
107
+ }
108
+ const recordAccess = await UserCanReadLinkedRecord(provider, user, this.LinkedEntityID, this.LinkedRecordID);
109
+ if (!recordAccess.Allowed) {
110
+ return recordAccess.Reason ?? 'You do not have access to the linked record.';
111
+ }
112
+ if (this.AnchorType &&
113
+ recordAccess.EntityInfo &&
114
+ typeof recordAccess.EntityInfo.CanUserComment === 'function' &&
115
+ !recordAccess.EntityInfo.CanUserComment(user)) {
116
+ return `You do not have permission to post or modify comments on ${recordAccess.EntityInfo.DisplayNameOrName} records.`;
117
+ }
118
+ // fls-guard: block creating or updating a conversation anchored to a restricted field the user cannot read
119
+ if (IsConversationHiddenByFieldSecurity(recordAccess.EntityInfo, user, this.AnchorType, this.AnchorKey, this.AnchorMetadataObject ?? this.AnchorMetadata)) {
120
+ return 'You do not have permission to access or comment on this restricted field.';
121
+ }
122
+ return null;
123
+ }
124
+ recordSaveDenied(message) {
125
+ const result = new BaseEntityResult();
126
+ result.Success = false;
127
+ result.Type = this.IsSaved ? 'update' : 'create';
128
+ result.Message = message;
129
+ result.StartedAt = new Date();
130
+ result.EndedAt = new Date();
131
+ this.RegisterResultHistoryEntry(result);
132
+ }
28
133
  };
29
134
  MJConversationEntityServer = __decorate([
30
135
  RegisterClass(BaseEntity, 'MJ: Conversations')
31
136
  ], MJConversationEntityServer);
32
137
  export { MJConversationEntityServer };
138
+ /**
139
+ * Refuses `AdditionalData` that the conversation list's SQL filter and the parser would read differently, from
140
+ * anyone, the owner and the server included. The `LIKE` filter also matches the key nested in another object,
141
+ * or in another letter case, where the parser sees no opt-in: search, which filters with the SQL alone, would
142
+ * then show the conversation to its folder's audience while the list and the owner's menu say it is not shared.
143
+ * Checks the compact form the save stores.
144
+ */
145
+ function checkInheritanceReadingsAgree(entity) {
146
+ const additionalData = entity.GetFieldByName('AdditionalData');
147
+ if (!additionalData?.Dirty) {
148
+ return null;
149
+ }
150
+ const stored = CanonicalizeConversationAdditionalData(additionalData.Value);
151
+ if (IsInheritingFolderAccess({ AdditionalData: stored }) === IsInheritingFolderAccessInSQL(stored)) {
152
+ return null;
153
+ }
154
+ return new ValidationErrorInfo('AdditionalData', 'Set folder inheritance only as a top-level "inheritFolderAccess": true, so every reader agrees on whether this conversation is shared.', null, ValidationErrorType.Failure);
155
+ }
156
+ /**
157
+ * Refuses a change to an existing conversation's folder (`ProjectID`), owner (`UserID`) or folder
158
+ * inheritance (`AdditionalData.inheritFolderAccess`) by anyone but its owner.
159
+ *
160
+ * Those three decide who else can see the conversation: turning inheritance on shows it to everyone its folder
161
+ * is shared with, and moving an inheriting conversation into a Shared or Public folder shows it to that folder's
162
+ * audience. An Edit grant lets someone work in a conversation, not publish it. The server itself (no context user, or the system user) is exempt, as is a conversation with
163
+ * no owner on record. A transaction variable that sets one of these fields, or `ID`, counts as a change:
164
+ * it is applied at submit, after this check has run.
165
+ */
166
+ function checkOwnerOnlyChange(entity) {
167
+ const user = entity.ContextCurrentUser;
168
+ if (!entity.IsSaved || !user || WellKnownUserSource.Instance.IsSystemUser(user)) {
169
+ return null;
170
+ }
171
+ const owner = entity.GetFieldByName('UserID')?.OldValue;
172
+ if (!owner || UUIDsEqual(owner, user.ID)) {
173
+ return null;
174
+ }
175
+ const additionalData = entity.GetFieldByName('AdditionalData');
176
+ const before = additionalData?.OldValue;
177
+ const after = additionalData?.Value;
178
+ // Both readings: the parser's, and the SQL filter's. A rewrite one of them reads differently (an odd
179
+ // spelling the LIKE misses) would otherwise re-share the conversation past a parser-only check.
180
+ const inheritanceChanged = !!additionalData?.Dirty &&
181
+ (IsInheritingFolderAccess({ AdditionalData: before }) !== IsInheritingFolderAccess({ AdditionalData: after }) ||
182
+ IsInheritingFolderAccessInSQL(before) !== IsInheritingFolderAccessInSQL(after));
183
+ const changed = ['ProjectID', 'UserID'].find((name) => entity.GetFieldByName(name)?.Dirty)
184
+ ?? (inheritanceChanged ? 'AdditionalData' : undefined)
185
+ ?? (IsSetByTransactionVariable(entity, ['ProjectID', 'UserID', 'AdditionalData', 'ID']) ? 'ProjectID' : undefined);
186
+ if (!changed) {
187
+ return null;
188
+ }
189
+ return new ValidationErrorInfo(changed, "Only the conversation's owner can move it to another folder, change its owner, or change whether it inherits its folder's access.", null, ValidationErrorType.Failure);
190
+ }
33
191
  //# sourceMappingURL=MJConversationEntityServer.server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MJConversationEntityServer.server.js","sourceRoot":"","sources":["../../src/custom/MJConversationEntityServer.server.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAoB,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,gCAAgC,EAAE,MAAM,8BAA8B,CAAC;AAEhF;;;;;;GAMG;AAEI,IAAM,0BAA0B,GAAhC,MAAM,0BAA2B,SAAQ,oBAAoB;IAChD,QAAQ;QACpB,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;QAChC,MAAM,SAAS,GAAG,gCAAgC,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QACvE,IAAI,SAAS,EAAE,CAAC;YACZ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9B,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;QAC3B,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ,CAAA;AAVY,0BAA0B;IADtC,aAAa,CAAC,UAAU,EAAE,mBAAmB,CAAC;GAClC,0BAA0B,CAUtC"}
1
+ {"version":3,"file":"MJConversationEntityServer.server.js","sourceRoot":"","sources":["../../src/custom/MJConversationEntityServer.server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { ValidationResult } from '@memberjunction/core';
2
+ import { MJProjectEntityExtended } from '@memberjunction/core-entities';
3
+ /**
4
+ * Server-side `MJ: Projects` (conversation folder) entity.
5
+ *
6
+ * Keeps a folder's owner and place in its owner's hands: see {@link checkFolderOwnerOnlyChange}. Uses the
7
+ * synchronous `Validate()` so the rule runs on every save, like `MJConversationEntityServer`. `ValidateAsync()`
8
+ * refuses a parent that would make the folder its own ancestor.
9
+ */
10
+ export declare class MJProjectEntityServer extends MJProjectEntityExtended {
11
+ Validate(): ValidationResult;
12
+ ValidateAsync(): Promise<ValidationResult>;
13
+ /**
14
+ * Refuses a `ParentID` that makes the folder its own ancestor. The sidebar builds the tree from the top, so a
15
+ * cycle hides every folder in it from everyone. Walks up from the new parent as the system user, since the
16
+ * chain can pass through folders the caller cannot read, for at most the engine's {@link MAX_BRANCH_DEPTH}
17
+ * levels.
18
+ */
19
+ private checkParentCycle;
20
+ }
21
+ //# sourceMappingURL=MJProjectEntityServer.server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MJProjectEntityServer.server.d.ts","sourceRoot":"","sources":["../../src/custom/MJProjectEntityServer.server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiE,gBAAgB,EAAuB,MAAM,sBAAsB,CAAC;AAE5I,OAAO,EAAoB,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAI1F;;;;;;GAMG;AACH,qBACa,qBAAsB,SAAQ,uBAAuB;IAC9C,QAAQ,IAAI,gBAAgB;IAUtB,aAAa,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAUhE;;;;;OAKG;YACW,gBAAgB;CA6BjC"}
@@ -0,0 +1,106 @@
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 { BaseEntity, RunView, ValidationErrorInfo, ValidationErrorType, WellKnownUserSource } from '@memberjunction/core';
8
+ import { EscapeSQLString, RegisterClass, UUIDsEqual } from '@memberjunction/global';
9
+ import { MAX_BRANCH_DEPTH, MJProjectEntityExtended } from '@memberjunction/core-entities';
10
+ import { UserCache } from '@memberjunction/generic-database-provider';
11
+ import { IsSetByTransactionVariable } from './anonymousOwnershipKeyGuard.js';
12
+ /**
13
+ * Server-side `MJ: Projects` (conversation folder) entity.
14
+ *
15
+ * Keeps a folder's owner and place in its owner's hands: see {@link checkFolderOwnerOnlyChange}. Uses the
16
+ * synchronous `Validate()` so the rule runs on every save, like `MJConversationEntityServer`. `ValidateAsync()`
17
+ * refuses a parent that would make the folder its own ancestor.
18
+ */
19
+ let MJProjectEntityServer = class MJProjectEntityServer extends MJProjectEntityExtended {
20
+ Validate() {
21
+ const result = super.Validate();
22
+ const violation = checkFolderOwnerOnlyChange(this);
23
+ if (violation) {
24
+ result.Errors.push(violation);
25
+ result.Success = false;
26
+ }
27
+ return result;
28
+ }
29
+ async ValidateAsync() {
30
+ const result = await super.ValidateAsync();
31
+ const violation = await this.checkParentCycle();
32
+ if (violation) {
33
+ result.Errors.push(violation);
34
+ result.Success = false;
35
+ }
36
+ return result;
37
+ }
38
+ /**
39
+ * Refuses a `ParentID` that makes the folder its own ancestor. The sidebar builds the tree from the top, so a
40
+ * cycle hides every folder in it from everyone. Walks up from the new parent as the system user, since the
41
+ * chain can pass through folders the caller cannot read, for at most the engine's {@link MAX_BRANCH_DEPTH}
42
+ * levels.
43
+ */
44
+ async checkParentCycle() {
45
+ if (!this.ParentID || !this.GetFieldByName('ParentID')?.Dirty) {
46
+ return null;
47
+ }
48
+ const refuse = (message) => new ValidationErrorInfo('ParentID', message, this.ParentID, ValidationErrorType.Failure);
49
+ if (UUIDsEqual(this.ParentID, this.ID)) {
50
+ return refuse('A folder cannot be moved into itself or one of its subfolders.');
51
+ }
52
+ if (!this.IsSaved) {
53
+ return null; // nothing points at a new folder yet
54
+ }
55
+ const rv = new RunView(this.RunViewProviderToUse);
56
+ const readUser = UserCache.Instance.GetSystemUser() ?? this.ContextCurrentUser;
57
+ let cursor = this.ParentID;
58
+ for (let depth = 0; cursor && depth < MAX_BRANCH_DEPTH; depth++) {
59
+ const read = await rv.RunView({ EntityName: 'MJ: Projects', ExtraFilter: `ID='${EscapeSQLString(cursor)}'`, Fields: ['ParentID'], ResultType: 'simple' }, readUser);
60
+ if (!read.Success) {
61
+ return refuse(`Could not check the folder's new place: ${read.ErrorMessage}`);
62
+ }
63
+ cursor = read.Results[0]?.ParentID ?? null;
64
+ if (cursor && UUIDsEqual(cursor, this.ID)) {
65
+ return refuse('A folder cannot be moved into itself or one of its subfolders.');
66
+ }
67
+ }
68
+ return cursor ? refuse(`Folders cannot be nested more than ${MAX_BRANCH_DEPTH} levels deep.`) : null;
69
+ }
70
+ };
71
+ MJProjectEntityServer = __decorate([
72
+ RegisterClass(BaseEntity, 'MJ: Projects')
73
+ ], MJProjectEntityServer);
74
+ export { MJProjectEntityServer };
75
+ /**
76
+ * Refuses a change to an existing folder's owner (`OwnerUserID`) or parent (`ParentID`) by anyone but its
77
+ * stored owner.
78
+ *
79
+ * `OwnerUserID` decides who sees the folder: clearing it makes the folder Public, which lists it, and the
80
+ * conversations in it that inherit its access, for everyone, and setting it to yourself lets you share someone
81
+ * else's folder. So only
82
+ * the owner may change it, including making it Public. A Public folder has no owner, so nobody may claim it;
83
+ * its `ParentID` stays open, since a parent grants no access. The server itself (no context user, or the
84
+ * system user) is exempt. A transaction variable that sets one of these fields, or `ID`, counts as a change:
85
+ * it is applied at submit, after this check has run.
86
+ */
87
+ function checkFolderOwnerOnlyChange(entity) {
88
+ const user = entity.ContextCurrentUser;
89
+ if (!entity.IsSaved || !user || WellKnownUserSource.Instance.IsSystemUser(user)) {
90
+ return null;
91
+ }
92
+ const owner = entity.GetFieldByName('OwnerUserID')?.OldValue;
93
+ if (owner && UUIDsEqual(owner, user.ID)) {
94
+ return null;
95
+ }
96
+ const guarded = owner ? ['OwnerUserID', 'ParentID'] : ['OwnerUserID'];
97
+ const changed = guarded.find((name) => entity.GetFieldByName(name)?.Dirty) ??
98
+ (IsSetByTransactionVariable(entity, [...guarded, 'ID']) ? guarded[0] : undefined);
99
+ if (!changed) {
100
+ return null;
101
+ }
102
+ return new ValidationErrorInfo(changed, owner
103
+ ? "Only the folder's owner can change its owner or move it to another folder."
104
+ : 'A Public folder has no owner, so it cannot be claimed.', null, ValidationErrorType.Failure);
105
+ }
106
+ //# sourceMappingURL=MJProjectEntityServer.server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MJProjectEntityServer.server.js","sourceRoot":"","sources":["../../src/custom/MJProjectEntityServer.server.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"MJQueryEntityServer.server.d.ts","sourceRoot":"","sources":["../../src/custom/MJQueryEntityServer.server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MJQueryEntityServer.server.d.ts","sourceRoot":"","sources":["../../src/custom/MJQueryEntityServer.server.ts"],"names":[],"mappings":"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"}
@@ -673,8 +673,20 @@ let MJQueryEntityServer = class MJQueryEntityServer extends MJQueryEntityExtende
673
673
  const md = this.extractionProvider;
674
674
  if (!md)
675
675
  return;
676
- // Look up existing record from QueryEngine cache instead of a RunView call
677
- const existing = QueryEngine.Instance.QuerySQLs.find(qs => UUIDsEqual(qs.QueryID, this.ID) && UUIDsEqual(qs.SQLDialectID, targetDialect.ID));
676
+ // Read through this entity's own provider rather than QueryEngine's cache. A cached record is
677
+ // bound to whichever provider loaded the engine, so saving it here would write outside the
678
+ // caller's transaction, blind to what that transaction has written.
679
+ const existingResult = await md.RunView({
680
+ EntityName: 'MJ: Query SQLs',
681
+ ExtraFilter: `QueryID='${EscapeSQLString(this.ID)}' AND SQLDialectID='${EscapeSQLString(targetDialect.ID)}'`,
682
+ ResultType: 'entity_object',
683
+ BypassCache: true,
684
+ }, this.ContextCurrentUser);
685
+ if (!existingResult.Success) {
686
+ console.warn(`Query "${this.Name}" - Could not read QuerySQL record for dialect "${targetDialect.Name}": ${existingResult.ErrorMessage}`);
687
+ return;
688
+ }
689
+ const existing = existingResult.Results?.[0];
678
690
  let record;
679
691
  if (existing) {
680
692
  record = existing;
@@ -1 +1 @@
1
- {"version":3,"file":"MJQueryEntityServer.server.js","sourceRoot":"","sources":["../../src/custom/MJQueryEntityServer.server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MJQueryEntityServer.server.js","sourceRoot":"","sources":["../../src/custom/MJQueryEntityServer.server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,73 @@
1
+ import { EntityInfo, IMetadataProvider, UserInfo } from '@memberjunction/core';
2
+ import { type MJConversationEntity } from '@memberjunction/core-entities';
3
+ /**
4
+ * Input passed to a semantic LLM classifier to determine whether an unanchored or
5
+ * section-anchored comment is discussing any Field-Level Security (FLS) restricted fields.
6
+ */
7
+ export interface RestrictedFieldClassifierPrompt {
8
+ EntityName: string;
9
+ EntityDisplayName: string;
10
+ MessageText: string;
11
+ AnchorType: MJConversationEntity['AnchorType'];
12
+ AnchorKey: string | null;
13
+ CandidateFields: ReadonlyArray<{
14
+ Name: string;
15
+ DisplayName: string;
16
+ Description: string | null;
17
+ }>;
18
+ }
19
+ /**
20
+ * Callback signature for classifying whether a comment semantically discusses one or more
21
+ * candidate FLS-restricted fields. Returns canonical `EntityFieldInfo.Name` strings.
22
+ */
23
+ export type RestrictedFieldLLMClassifierCallback = (prompt: RestrictedFieldClassifierPrompt, contextUser: UserInfo) => Promise<string[]>;
24
+ /**
25
+ * Registers (or clears with `null`) a custom semantic classifier callback for detecting
26
+ * references to FLS-restricted fields in record comments. Used by tests and custom
27
+ * enterprise classification policies; when `null`, the default `AIEngine` classifier runs.
28
+ */
29
+ export declare function RegisterRestrictedFieldLLMClassifier(callback: RestrictedFieldLLMClassifierCallback | null): void;
30
+ /**
31
+ * Returns the currently registered custom classifier callback, if any.
32
+ */
33
+ export declare function GetRegisteredRestrictedFieldLLMClassifier(): RestrictedFieldLLMClassifierCallback | null;
34
+ /**
35
+ * Result of inspecting a comment message against the linked entity's Field-Level Security rules.
36
+ */
37
+ export interface RestrictedFieldInspectionResult {
38
+ /**
39
+ * `false` when the authoring user is denied Read permission on a restricted field
40
+ * referenced by their own comment (prevents probing or spoofing restricted fields).
41
+ */
42
+ Allowed: boolean;
43
+ /** Human-readable refusal reason when `Allowed === false`. */
44
+ Reason: string | null;
45
+ /** Canonical `EntityFieldInfo.Name` values of all FLS-governed fields referenced by the comment. */
46
+ DetectedFields: string[];
47
+ /** Subset of `DetectedFields` that the authoring user is denied Read access to. */
48
+ AuthorDeniedFields: string[];
49
+ }
50
+ /**
51
+ * Inspects a comment (`messageText`) posted on an anchored conversation to detect whether it
52
+ * references any FLS-governed fields on `entityInfo`, and stamps any newly detected field names
53
+ * into `conversation.AnchorMetadataObject.restrictedFields`.
54
+ *
55
+ * Two-stage detection:
56
+ * 1. **Stage 1 (Deterministic, 0ms)**: Checks direct field anchors (`AnchorType === 'Field'`),
57
+ * restricted field names/labels (`Name`, camelCase words, `DisplayName`), and actual restricted
58
+ * field values loaded from the linked record.
59
+ * 2. **Stage 2 (Semantic LLM Classifier)**: If `entityInfo` has remaining unmatched FLS fields and
60
+ * `messageText` is non-empty, invokes either the registered `RestrictedFieldLLMClassifierCallback`
61
+ * or a lightweight `AIEngine` language model to detect semantic/paraphrased references
62
+ * (for example `"making six figures"` → `Salary`).
63
+ */
64
+ export declare function InspectAndStampRestrictedFieldsForComment(params: {
65
+ Provider: IMetadataProvider;
66
+ ContextUser: UserInfo;
67
+ Conversation: MJConversationEntity;
68
+ EntityInfo: EntityInfo;
69
+ MessageText: string | null | undefined;
70
+ RecordValues?: Readonly<Record<string, unknown>> | null;
71
+ SkipLLMStage?: boolean;
72
+ }): Promise<RestrictedFieldInspectionResult>;
73
+ //# sourceMappingURL=RestrictedFieldCommentClassifier.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RestrictedFieldCommentClassifier.d.ts","sourceRoot":"","sources":["../../src/custom/RestrictedFieldCommentClassifier.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,UAAU,EACV,iBAAiB,EAIjB,QAAQ,EAEX,MAAM,sBAAsB,CAAC;AAI9B,OAAO,EAKH,KAAK,oBAAoB,EAC5B,MAAM,+BAA+B,CAAC;AAEvC;;;GAGG;AACH,MAAM,WAAW,+BAA+B;IAC5C,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,oBAAoB,CAAC,YAAY,CAAC,CAAC;IAC/C,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,eAAe,EAAE,aAAa,CAAC;QAC3B,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;KAC9B,CAAC,CAAC;CACN;AAED;;;GAGG;AACH,MAAM,MAAM,oCAAoC,GAAG,CAC/C,MAAM,EAAE,+BAA+B,EACvC,WAAW,EAAE,QAAQ,KACpB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AAIvB;;;;GAIG;AACH,wBAAgB,oCAAoC,CAChD,QAAQ,EAAE,oCAAoC,GAAG,IAAI,GACtD,IAAI,CAEN;AAED;;GAEG;AACH,wBAAgB,yCAAyC,IAAI,oCAAoC,GAAG,IAAI,CAEvG;AAED;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC5C;;;OAGG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB,8DAA8D;IAC9D,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,oGAAoG;IACpG,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,mFAAmF;IACnF,kBAAkB,EAAE,MAAM,EAAE,CAAC;CAChC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,yCAAyC,CAAC,MAAM,EAAE;IACpE,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,WAAW,EAAE,QAAQ,CAAC;IACtB,YAAY,EAAE,oBAAoB,CAAC;IACnC,UAAU,EAAE,UAAU,CAAC;IACvB,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACvC,YAAY,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IACxD,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B,GAAG,OAAO,CAAC,+BAA+B,CAAC,CA2I3C"}