@memberjunction/core-entities-server 5.43.0 → 5.44.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.
- package/dist/custom/MJAISkillPermissionEntityServer.server.d.ts +19 -0
- package/dist/custom/MJAISkillPermissionEntityServer.server.d.ts.map +1 -0
- package/dist/custom/MJAISkillPermissionEntityServer.server.js +39 -0
- package/dist/custom/MJAISkillPermissionEntityServer.server.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +24 -24
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ValidationResult } from '@memberjunction/core';
|
|
2
|
+
import { MJAISkillPermissionEntity } from '@memberjunction/core-entities';
|
|
3
|
+
/**
|
|
4
|
+
* Server-side AISkillPermission entity enforcing the grantee-exclusivity invariant:
|
|
5
|
+
* **exactly one** of `UserID` / `RoleID` must be set — never both, never neither.
|
|
6
|
+
*
|
|
7
|
+
* This mirrors the generated `MJAIAgentPermissionEntity.ValidateRoleIDAndUserIDExclusive`
|
|
8
|
+
* rule (which AIAgentPermission gets from a DB-authored, LLM-generated table-level
|
|
9
|
+
* validation baked into the shared entity). We enforce it here as a **version-controlled,
|
|
10
|
+
* deterministic** server-side gate so the invariant holds on every server save path
|
|
11
|
+
* (`Save()` calls `Validate()` and the ClassFactory resolves this higher-priority subclass
|
|
12
|
+
* server-side) without depending on non-deterministic LLM codegen. The sharing UI sets a
|
|
13
|
+
* single grantee per row by construction, so this is the integrity backstop for any other
|
|
14
|
+
* write path (Remote Operations, scripts, imports).
|
|
15
|
+
*/
|
|
16
|
+
export declare class MJAISkillPermissionEntityServer extends MJAISkillPermissionEntity {
|
|
17
|
+
Validate(): ValidationResult;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=MJAISkillPermissionEntityServer.server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MJAISkillPermissionEntityServer.server.d.ts","sourceRoot":"","sources":["../../src/custom/MJAISkillPermissionEntityServer.server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwD,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE9G,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAE1E;;;;;;;;;;;;GAYG;AACH,qBACa,+BAAgC,SAAQ,yBAAyB;IAC1D,QAAQ,IAAI,gBAAgB;CAe/C"}
|
|
@@ -0,0 +1,39 @@
|
|
|
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, ValidationErrorInfo, ValidationErrorType } from '@memberjunction/core';
|
|
8
|
+
import { RegisterClass } from '@memberjunction/global';
|
|
9
|
+
import { MJAISkillPermissionEntity } from '@memberjunction/core-entities';
|
|
10
|
+
/**
|
|
11
|
+
* Server-side AISkillPermission entity enforcing the grantee-exclusivity invariant:
|
|
12
|
+
* **exactly one** of `UserID` / `RoleID` must be set — never both, never neither.
|
|
13
|
+
*
|
|
14
|
+
* This mirrors the generated `MJAIAgentPermissionEntity.ValidateRoleIDAndUserIDExclusive`
|
|
15
|
+
* rule (which AIAgentPermission gets from a DB-authored, LLM-generated table-level
|
|
16
|
+
* validation baked into the shared entity). We enforce it here as a **version-controlled,
|
|
17
|
+
* deterministic** server-side gate so the invariant holds on every server save path
|
|
18
|
+
* (`Save()` calls `Validate()` and the ClassFactory resolves this higher-priority subclass
|
|
19
|
+
* server-side) without depending on non-deterministic LLM codegen. The sharing UI sets a
|
|
20
|
+
* single grantee per row by construction, so this is the integrity backstop for any other
|
|
21
|
+
* write path (Remote Operations, scripts, imports).
|
|
22
|
+
*/
|
|
23
|
+
let MJAISkillPermissionEntityServer = class MJAISkillPermissionEntityServer extends MJAISkillPermissionEntity {
|
|
24
|
+
Validate() {
|
|
25
|
+
const result = super.Validate();
|
|
26
|
+
const hasRole = this.RoleID != null;
|
|
27
|
+
const hasUser = this.UserID != null;
|
|
28
|
+
if ((hasRole && hasUser) || (!hasRole && !hasUser)) {
|
|
29
|
+
result.Errors.push(new ValidationErrorInfo('RoleID/UserID', 'You must specify either a Role or a User, but not both and not neither.', `RoleID: ${this.RoleID}, UserID: ${this.UserID}`, ValidationErrorType.Failure));
|
|
30
|
+
}
|
|
31
|
+
result.Success = result.Success && result.Errors.length === 0;
|
|
32
|
+
return result;
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
MJAISkillPermissionEntityServer = __decorate([
|
|
36
|
+
RegisterClass(BaseEntity, 'MJ: AI Skill Permissions')
|
|
37
|
+
], MJAISkillPermissionEntityServer);
|
|
38
|
+
export { MJAISkillPermissionEntityServer };
|
|
39
|
+
//# sourceMappingURL=MJAISkillPermissionEntityServer.server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MJAISkillPermissionEntityServer.server.js","sourceRoot":"","sources":["../../src/custom/MJAISkillPermissionEntityServer.server.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,mBAAmB,EAAoB,MAAM,sBAAsB,CAAC;AAC9G,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAE1E;;;;;;;;;;;;GAYG;AAEI,IAAM,+BAA+B,GAArC,MAAM,+BAAgC,SAAQ,yBAAyB;IAC1D,QAAQ;QACpB,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC;QACpC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACjD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,mBAAmB,CACtC,eAAe,EACf,yEAAyE,EACzE,WAAW,IAAI,CAAC,MAAM,aAAa,IAAI,CAAC,MAAM,EAAE,EAChD,mBAAmB,CAAC,OAAO,CAC9B,CAAC,CAAC;QACP,CAAC;QACD,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;QAC9D,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ,CAAA;AAhBY,+BAA+B;IAD3C,aAAa,CAAC,UAAU,EAAE,0BAA0B,CAAC;GACzC,+BAA+B,CAgB3C"}
|
package/dist/index.d.ts
CHANGED
|
@@ -27,6 +27,7 @@ export * from './custom/MJAIBridgeProviderChannelEntityServer.server.js';
|
|
|
27
27
|
export * from './custom/MJAIAgentSessionBridgeEntityServer.server.js';
|
|
28
28
|
export * from './custom/MJAIAgentSessionBridgeParticipantEntityServer.server.js';
|
|
29
29
|
export * from './custom/MJAIRemoteBrowserProviderEntityServer.server.js';
|
|
30
|
+
export * from './custom/MJAISkillPermissionEntityServer.server.js';
|
|
30
31
|
export * from './custom/json-schema-lite.js';
|
|
31
32
|
export * from './custom/IntegrationLLMPKCallback.js';
|
|
32
33
|
export * from './custom/util.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wCAAwC,CAAC;AACvD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,kDAAkD,CAAC;AACjE,cAAc,4DAA4D,CAAC;AAC3E,cAAc,4CAA4C,CAAC;AAC3D,cAAc,qCAAqC,CAAC;AACpD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,wCAAwC,CAAC;AACvD,cAAc,sCAAsC,CAAC;AACrD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,yCAAyC,CAAC;AACxD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,mCAAmC,CAAC;AAClD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,wCAAwC,CAAC;AACvD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,kDAAkD,CAAC;AACjE,cAAc,uCAAuC,CAAC;AACtD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,gDAAgD,CAAC;AAC/D,cAAc,qDAAqD,CAAC;AACpE,cAAc,uDAAuD,CAAC;AACtE,cAAc,oDAAoD,CAAC;AACnE,cAAc,+DAA+D,CAAC;AAC9E,cAAc,uDAAuD,CAAC;AACtE,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mCAAmC,CAAC;AAClD,cAAc,eAAe,CAAC;AAE9B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yCAAyC,CAAC;AAAA,cAAc,+CAA+C,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wCAAwC,CAAC;AACvD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,kDAAkD,CAAC;AACjE,cAAc,4DAA4D,CAAC;AAC3E,cAAc,4CAA4C,CAAC;AAC3D,cAAc,qCAAqC,CAAC;AACpD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,wCAAwC,CAAC;AACvD,cAAc,sCAAsC,CAAC;AACrD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,yCAAyC,CAAC;AACxD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,mCAAmC,CAAC;AAClD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,wCAAwC,CAAC;AACvD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,kDAAkD,CAAC;AACjE,cAAc,uCAAuC,CAAC;AACtD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,gDAAgD,CAAC;AAC/D,cAAc,qDAAqD,CAAC;AACpE,cAAc,uDAAuD,CAAC;AACtE,cAAc,oDAAoD,CAAC;AACnE,cAAc,+DAA+D,CAAC;AAC9E,cAAc,uDAAuD,CAAC;AACtE,cAAc,iDAAiD,CAAC;AAChE,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mCAAmC,CAAC;AAClD,cAAc,eAAe,CAAC;AAE9B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yCAAyC,CAAC;AAAA,cAAc,+CAA+C,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -27,6 +27,7 @@ export * from './custom/MJAIBridgeProviderChannelEntityServer.server.js';
|
|
|
27
27
|
export * from './custom/MJAIAgentSessionBridgeEntityServer.server.js';
|
|
28
28
|
export * from './custom/MJAIAgentSessionBridgeParticipantEntityServer.server.js';
|
|
29
29
|
export * from './custom/MJAIRemoteBrowserProviderEntityServer.server.js';
|
|
30
|
+
export * from './custom/MJAISkillPermissionEntityServer.server.js';
|
|
30
31
|
export * from './custom/json-schema-lite.js';
|
|
31
32
|
export * from './custom/IntegrationLLMPKCallback.js';
|
|
32
33
|
export * from './custom/util.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wCAAwC,CAAC;AACvD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,kDAAkD,CAAC;AACjE,cAAc,4DAA4D,CAAC;AAC3E,cAAc,4CAA4C,CAAC;AAC3D,cAAc,qCAAqC,CAAC;AACpD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,wCAAwC,CAAC;AACvD,cAAc,sCAAsC,CAAC;AACrD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,yCAAyC,CAAC;AACxD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,mCAAmC,CAAC;AAClD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,wCAAwC,CAAC;AACvD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,kDAAkD,CAAC;AACjE,cAAc,uCAAuC,CAAC;AACtD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,gDAAgD,CAAC;AAC/D,cAAc,qDAAqD,CAAC;AACpE,cAAc,uDAAuD,CAAC;AACtE,cAAc,oDAAoD,CAAC;AACnE,cAAc,+DAA+D,CAAC;AAC9E,cAAc,uDAAuD,CAAC;AACtE,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mCAAmC,CAAC;AAClD,cAAc,eAAe,CAAC;AAE9B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yCAAyC,CAAC;AAAA,cAAc,+CAA+C,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wCAAwC,CAAC;AACvD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,kDAAkD,CAAC;AACjE,cAAc,4DAA4D,CAAC;AAC3E,cAAc,4CAA4C,CAAC;AAC3D,cAAc,qCAAqC,CAAC;AACpD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,wCAAwC,CAAC;AACvD,cAAc,sCAAsC,CAAC;AACrD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,yCAAyC,CAAC;AACxD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,mCAAmC,CAAC;AAClD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,wCAAwC,CAAC;AACvD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,kDAAkD,CAAC;AACjE,cAAc,uCAAuC,CAAC;AACtD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,gDAAgD,CAAC;AAC/D,cAAc,qDAAqD,CAAC;AACpE,cAAc,uDAAuD,CAAC;AACtE,cAAc,oDAAoD,CAAC;AACnE,cAAc,+DAA+D,CAAC;AAC9E,cAAc,uDAAuD,CAAC;AACtE,cAAc,iDAAiD,CAAC;AAChE,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mCAAmC,CAAC;AAClD,cAAc,eAAe,CAAC;AAE9B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yCAAyC,CAAC;AAAA,cAAc,+CAA+C,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/core-entities-server",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "5.
|
|
4
|
+
"version": "5.44.0",
|
|
5
5
|
"description": "Entity subclasses for the metadata layer of MemberJunction that are only used on server side applications like MJAPI, distributed as part of each release of MemberJunction",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
@@ -21,29 +21,29 @@
|
|
|
21
21
|
"typescript": "^5.9.3"
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@memberjunction/actions-base": "5.
|
|
25
|
-
"@memberjunction/ai": "5.
|
|
26
|
-
"@memberjunction/ai-core-plus": "5.
|
|
27
|
-
"@memberjunction/ai-engine-base": "5.
|
|
28
|
-
"@memberjunction/ai-prompts": "5.
|
|
29
|
-
"@memberjunction/ai-provider-bundle": "5.
|
|
30
|
-
"@memberjunction/ai-vector-dupe": "5.
|
|
31
|
-
"@memberjunction/ai-vectordb": "5.
|
|
32
|
-
"@memberjunction/ai-vectors-memory": "5.
|
|
33
|
-
"@memberjunction/aiengine": "5.
|
|
34
|
-
"@memberjunction/core": "5.
|
|
35
|
-
"@memberjunction/core-entities": "5.
|
|
36
|
-
"@memberjunction/doc-utils": "5.
|
|
37
|
-
"@memberjunction/generic-database-provider": "5.
|
|
38
|
-
"@memberjunction/global": "5.
|
|
39
|
-
"@memberjunction/integration-engine": "5.
|
|
40
|
-
"@memberjunction/integration-pk-classifier": "5.
|
|
41
|
-
"@memberjunction/skip-types": "5.
|
|
42
|
-
"@memberjunction/sql-converter": "5.
|
|
43
|
-
"@memberjunction/sql-dialect": "5.
|
|
44
|
-
"@memberjunction/sql-parser": "5.
|
|
45
|
-
"@memberjunction/sqlserver-dataprovider": "5.
|
|
46
|
-
"@memberjunction/tag-engine": "5.
|
|
24
|
+
"@memberjunction/actions-base": "5.44.0",
|
|
25
|
+
"@memberjunction/ai": "5.44.0",
|
|
26
|
+
"@memberjunction/ai-core-plus": "5.44.0",
|
|
27
|
+
"@memberjunction/ai-engine-base": "5.44.0",
|
|
28
|
+
"@memberjunction/ai-prompts": "5.44.0",
|
|
29
|
+
"@memberjunction/ai-provider-bundle": "5.44.0",
|
|
30
|
+
"@memberjunction/ai-vector-dupe": "5.44.0",
|
|
31
|
+
"@memberjunction/ai-vectordb": "5.44.0",
|
|
32
|
+
"@memberjunction/ai-vectors-memory": "5.44.0",
|
|
33
|
+
"@memberjunction/aiengine": "5.44.0",
|
|
34
|
+
"@memberjunction/core": "5.44.0",
|
|
35
|
+
"@memberjunction/core-entities": "5.44.0",
|
|
36
|
+
"@memberjunction/doc-utils": "5.44.0",
|
|
37
|
+
"@memberjunction/generic-database-provider": "5.44.0",
|
|
38
|
+
"@memberjunction/global": "5.44.0",
|
|
39
|
+
"@memberjunction/integration-engine": "5.44.0",
|
|
40
|
+
"@memberjunction/integration-pk-classifier": "5.44.0",
|
|
41
|
+
"@memberjunction/skip-types": "5.44.0",
|
|
42
|
+
"@memberjunction/sql-converter": "5.44.0",
|
|
43
|
+
"@memberjunction/sql-dialect": "5.44.0",
|
|
44
|
+
"@memberjunction/sql-parser": "5.44.0",
|
|
45
|
+
"@memberjunction/sqlserver-dataprovider": "5.44.0",
|
|
46
|
+
"@memberjunction/tag-engine": "5.44.0",
|
|
47
47
|
"nunjucks": "3.2.4",
|
|
48
48
|
"rxjs": "~7.8.1",
|
|
49
49
|
"zod": "~3.24.4"
|