@memberjunction/core-entities-server 6.2.0-edge.3 → 6.2.0-edge.4
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/MJAIAgentSessionEntityServer.server.d.ts +24 -0
- package/dist/custom/MJAIAgentSessionEntityServer.server.d.ts.map +1 -0
- package/dist/custom/MJAIAgentSessionEntityServer.server.js +63 -0
- package/dist/custom/MJAIAgentSessionEntityServer.server.js.map +1 -0
- package/dist/custom/MJAIPromptRunEntityServer.server.d.ts +32 -1
- package/dist/custom/MJAIPromptRunEntityServer.server.d.ts.map +1 -1
- package/dist/custom/MJAIPromptRunEntityServer.server.js +96 -31
- package/dist/custom/MJAIPromptRunEntityServer.server.js.map +1 -1
- package/dist/custom/MJApplicationEntityServer.server.js +5 -3
- package/dist/custom/MJApplicationEntityServer.server.js.map +1 -1
- package/dist/custom/MJArtifactVersionEntityServer.server.js +2 -2
- package/dist/custom/MJArtifactVersionEntityServer.server.js.map +1 -1
- package/dist/custom/MJConversationDetailEntityServer.server.d.ts +16 -3
- package/dist/custom/MJConversationDetailEntityServer.server.d.ts.map +1 -1
- package/dist/custom/MJConversationDetailEntityServer.server.js +62 -5
- package/dist/custom/MJConversationDetailEntityServer.server.js.map +1 -1
- package/dist/custom/MJVectorIndexEntityServer.server.d.ts +19 -0
- package/dist/custom/MJVectorIndexEntityServer.server.d.ts.map +1 -1
- package/dist/custom/MJVectorIndexEntityServer.server.js +31 -2
- package/dist/custom/MJVectorIndexEntityServer.server.js.map +1 -1
- package/dist/custom/rubrics/versionPublish.d.ts.map +1 -1
- package/dist/custom/rubrics/versionPublish.js +7 -5
- package/dist/custom/rubrics/versionPublish.js.map +1 -1
- package/dist/custom/sessionConfigGuard.d.ts +70 -0
- package/dist/custom/sessionConfigGuard.d.ts.map +1 -0
- package/dist/custom/sessionConfigGuard.js +125 -0
- package/dist/custom/sessionConfigGuard.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/package.json +30 -30
|
@@ -4,12 +4,13 @@ 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";
|
|
7
|
+
import { BaseEntity, BaseEntityResult, LogError, RunView } from "@memberjunction/core";
|
|
8
|
+
import { EscapeSQLString, RegisterClass, UUIDsEqual } from "@memberjunction/global";
|
|
9
9
|
import { MJConversationDetailEntityExtended } from "@memberjunction/core-entities";
|
|
10
10
|
/**
|
|
11
11
|
* Server-side subclass of MJConversationDetailEntity that automatically tracks
|
|
12
|
-
* when the original message content has been modified
|
|
12
|
+
* when the original message content has been modified, and checks the fork of
|
|
13
|
+
* each new message.
|
|
13
14
|
*
|
|
14
15
|
* When a user edits their message after initial creation, the OriginalMessageChanged
|
|
15
16
|
* flag is set to true, allowing the UI to display an "(Edited)" indicator. This is
|
|
@@ -31,18 +32,74 @@ import { MJConversationDetailEntityExtended } from "@memberjunction/core-entitie
|
|
|
31
32
|
* run server-side (`ProviderType === 'Database'`), which is exactly where it was being
|
|
32
33
|
* shadowed out. Inheriting composes the two behaviors instead: this class flags the edit,
|
|
33
34
|
* then delegates to the permission gate via `super.Save`.
|
|
35
|
+
*
|
|
36
|
+
* A new row keeps the `BranchID` its writer set (null is Main). On create, a non-null `BranchID`
|
|
37
|
+
* must name a fork of the same conversation; otherwise `Save` returns `false` with a result
|
|
38
|
+
* entry and nothing is written.
|
|
34
39
|
*/
|
|
35
40
|
let MJConversationDetailEntityServer = class MJConversationDetailEntityServer extends MJConversationDetailEntityExtended {
|
|
36
41
|
/**
|
|
37
|
-
*
|
|
38
|
-
*
|
|
42
|
+
* Sets the OriginalMessageChanged flag on a genuine message edit, checks a new row's fork,
|
|
43
|
+
* then calls super.Save(). Returns `false` without saving when the fork check fails.
|
|
39
44
|
*/
|
|
40
45
|
async Save(options) {
|
|
41
46
|
if (this.ShouldFlagOriginalMessageChanged()) {
|
|
42
47
|
this.OriginalMessageChanged = true;
|
|
43
48
|
}
|
|
49
|
+
const problem = await this.CheckBranchOnCreate();
|
|
50
|
+
if (problem) {
|
|
51
|
+
this.recordCreateFailure(problem);
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
44
54
|
return super.Save(options);
|
|
45
55
|
}
|
|
56
|
+
/**
|
|
57
|
+
* On create, a non-null BranchID must name a fork of the same conversation. Returns why the save
|
|
58
|
+
* must fail, or null when it may go on. An existing row, a Main row (null BranchID), a row with no
|
|
59
|
+
* ConversationID and a save with no context user are not checked.
|
|
60
|
+
*/
|
|
61
|
+
async CheckBranchOnCreate() {
|
|
62
|
+
if (this.IsSaved || this.BranchID == null || !this.ConversationID) {
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
const user = this.ContextCurrentUser;
|
|
66
|
+
if (!user) {
|
|
67
|
+
return null;
|
|
68
|
+
}
|
|
69
|
+
const branchId = this.BranchID;
|
|
70
|
+
try {
|
|
71
|
+
const rv = RunView.FromMetadataProvider(this.ProviderToUse);
|
|
72
|
+
const result = await rv.RunView({
|
|
73
|
+
EntityName: 'MJ: Conversation Branches',
|
|
74
|
+
ExtraFilter: `ID='${EscapeSQLString(branchId)}'`,
|
|
75
|
+
Fields: ['ID', 'ConversationID'],
|
|
76
|
+
ResultType: 'simple',
|
|
77
|
+
}, user);
|
|
78
|
+
if (!result.Success) {
|
|
79
|
+
LogError(`MJConversationDetailEntityServer: could not read fork ${branchId}: ${result.ErrorMessage}`);
|
|
80
|
+
return 'Unable to check the fork of this message.';
|
|
81
|
+
}
|
|
82
|
+
const fork = result.Results?.[0];
|
|
83
|
+
if (!fork || !UUIDsEqual(fork.ConversationID, this.ConversationID)) {
|
|
84
|
+
return `Fork ${branchId} does not belong to conversation ${this.ConversationID}.`;
|
|
85
|
+
}
|
|
86
|
+
return null;
|
|
87
|
+
}
|
|
88
|
+
catch (error) {
|
|
89
|
+
LogError(`MJConversationDetailEntityServer: could not read fork ${branchId}: ${error instanceof Error ? error.message : String(error)}`);
|
|
90
|
+
return 'Unable to check the fork of this message.';
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
/** Records a failed create in the result history, so callers see why nothing was written. */
|
|
94
|
+
recordCreateFailure(message) {
|
|
95
|
+
const result = new BaseEntityResult();
|
|
96
|
+
result.Success = false;
|
|
97
|
+
result.Type = 'create';
|
|
98
|
+
result.Message = message;
|
|
99
|
+
result.StartedAt = new Date();
|
|
100
|
+
result.EndedAt = new Date();
|
|
101
|
+
this.RegisterResultHistoryEntry(result);
|
|
102
|
+
}
|
|
46
103
|
/**
|
|
47
104
|
* True when this save is a genuine Message EDIT on an existing record — not one of
|
|
48
105
|
* the framework's own Message rewrites:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MJConversationDetailEntityServer.server.js","sourceRoot":"","sources":["../../src/custom/MJConversationDetailEntityServer.server.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"MJConversationDetailEntityServer.server.js","sourceRoot":"","sources":["../../src/custom/MJConversationDetailEntityServer.server.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,10 +4,23 @@ import { MJVectorIndexEntity } from "@memberjunction/core-entities";
|
|
|
4
4
|
* Server-side VectorIndex entity that syncs with the vector database provider.
|
|
5
5
|
* On create: calls vectorDB.CreateIndex() to provision the index in the provider (e.g., Pinecone).
|
|
6
6
|
* On delete: calls vectorDB.DeleteIndex() to remove the index from the provider.
|
|
7
|
+
*
|
|
8
|
+
* Provisioning is DETACHED from the save that triggers it: the save returns once the metadata row is
|
|
9
|
+
* written, and the provider call runs afterwards (see {@link Save}). That call is bounded by
|
|
10
|
+
* {@link CREATE_INDEX_TIMEOUT_MS}: past it the hook stops waiting, logs, and skips the metadata
|
|
11
|
+
* write-back. The provider call itself is abandoned, not cancelled (there is no cancellation handle),
|
|
12
|
+
* so the bound limits how long this record's provisioning stays open, not the provider's work.
|
|
13
|
+
* Pinecone's createIndex returns as soon as the request is accepted (we never pass waitUntilReady),
|
|
14
|
+
* so the bound only ever trips on a hung connection, not on a slow index build.
|
|
7
15
|
*/
|
|
8
16
|
export declare class MJVectorIndexEntityServer extends MJVectorIndexEntity {
|
|
17
|
+
/** Upper bound on one provider CreateIndex call. */
|
|
18
|
+
static readonly CREATE_INDEX_TIMEOUT_MS = 60000;
|
|
9
19
|
/**
|
|
10
20
|
* After saving, if this is a new record, create the index in the provider.
|
|
21
|
+
* The provider call is deliberately NOT awaited: the client only needs the metadata row, and the
|
|
22
|
+
* request that triggered the save (an "Auto" index from the UI, or the Config page) must not wait
|
|
23
|
+
* on the provider. Failures are logged; the record keeps its metadata row either way.
|
|
11
24
|
*/
|
|
12
25
|
Save(options?: EntitySaveOptions): Promise<boolean>;
|
|
13
26
|
/**
|
|
@@ -45,6 +58,12 @@ export declare class MJVectorIndexEntityServer extends MJVectorIndexEntity {
|
|
|
45
58
|
* 1536 (OpenAI text-embedding-3-small) remains the fallback for records that never set it.
|
|
46
59
|
*/
|
|
47
60
|
private resolveDimensions;
|
|
61
|
+
/**
|
|
62
|
+
* Resolve `work` or reject after `timeoutMs`, whichever comes first. The timer is cleared when the
|
|
63
|
+
* work settles, so a fast provider leaves nothing behind. On timeout the provider may still finish
|
|
64
|
+
* on its side; the record simply does not get its metadata written back, and the log says so.
|
|
65
|
+
*/
|
|
66
|
+
private static withTimeout;
|
|
48
67
|
/**
|
|
49
68
|
* After provider creates the index, save the returned metadata back to our record.
|
|
50
69
|
* Stores ExternalID, Dimensions, Metric, and full provider config as JSON.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MJVectorIndexEntityServer.server.d.ts","sourceRoot":"","sources":["../../src/custom/MJVectorIndexEntityServer.server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,iBAAiB,EAA0C,MAAM,sBAAsB,CAAC;AAE7G,OAAO,EAAE,mBAAmB,EAA0B,MAAM,+BAA+B,CAAC;AAK5F
|
|
1
|
+
{"version":3,"file":"MJVectorIndexEntityServer.server.d.ts","sourceRoot":"","sources":["../../src/custom/MJVectorIndexEntityServer.server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,iBAAiB,EAA0C,MAAM,sBAAsB,CAAC;AAE7G,OAAO,EAAE,mBAAmB,EAA0B,MAAM,+BAA+B,CAAC;AAK5F;;;;;;;;;;;;GAYG;AACH,qBACa,yBAA0B,SAAQ,mBAAmB;IAC9D,oDAAoD;IACpD,gBAAuB,uBAAuB,SAAU;IAExD;;;;;OAKG;IACmB,IAAI,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;IAazE;;OAEG;IACmB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAShD;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAoBzB;;OAEG;YACW,qBAAqB;IA2CnC;;OAEG;YACW,uBAAuB;IAmBrC;;;OAGG;YACW,mBAAmB;IAgDjC;;;;;;;;;;OAUG;IACH,OAAO,CAAC,iBAAiB;IAIzB;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,WAAW;IAe1B;;;OAGG;YACW,oBAAoB;CAiCrC"}
|
|
@@ -4,6 +4,7 @@ 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
|
+
var MJVectorIndexEntityServer_1;
|
|
7
8
|
import { BaseEntity, LogError, LogStatus, RunView } from "@memberjunction/core";
|
|
8
9
|
import { RegisterClass, MJGlobal } from "@memberjunction/global";
|
|
9
10
|
import { MJVectorIndexEntity } from "@memberjunction/core-entities";
|
|
@@ -14,10 +15,24 @@ import { AIEngineBase } from "@memberjunction/ai-engine-base";
|
|
|
14
15
|
* Server-side VectorIndex entity that syncs with the vector database provider.
|
|
15
16
|
* On create: calls vectorDB.CreateIndex() to provision the index in the provider (e.g., Pinecone).
|
|
16
17
|
* On delete: calls vectorDB.DeleteIndex() to remove the index from the provider.
|
|
18
|
+
*
|
|
19
|
+
* Provisioning is DETACHED from the save that triggers it: the save returns once the metadata row is
|
|
20
|
+
* written, and the provider call runs afterwards (see {@link Save}). That call is bounded by
|
|
21
|
+
* {@link CREATE_INDEX_TIMEOUT_MS}: past it the hook stops waiting, logs, and skips the metadata
|
|
22
|
+
* write-back. The provider call itself is abandoned, not cancelled (there is no cancellation handle),
|
|
23
|
+
* so the bound limits how long this record's provisioning stays open, not the provider's work.
|
|
24
|
+
* Pinecone's createIndex returns as soon as the request is accepted (we never pass waitUntilReady),
|
|
25
|
+
* so the bound only ever trips on a hung connection, not on a slow index build.
|
|
17
26
|
*/
|
|
18
27
|
let MJVectorIndexEntityServer = class MJVectorIndexEntityServer extends MJVectorIndexEntity {
|
|
28
|
+
static { MJVectorIndexEntityServer_1 = this; }
|
|
29
|
+
/** Upper bound on one provider CreateIndex call. */
|
|
30
|
+
static { this.CREATE_INDEX_TIMEOUT_MS = 60_000; }
|
|
19
31
|
/**
|
|
20
32
|
* After saving, if this is a new record, create the index in the provider.
|
|
33
|
+
* The provider call is deliberately NOT awaited: the client only needs the metadata row, and the
|
|
34
|
+
* request that triggered the save (an "Auto" index from the UI, or the Config page) must not wait
|
|
35
|
+
* on the provider. Failures are logged; the record keeps its metadata row either way.
|
|
21
36
|
*/
|
|
22
37
|
async Save(options) {
|
|
23
38
|
const isNew = this.IsSaved === false;
|
|
@@ -87,7 +102,7 @@ let MJVectorIndexEntityServer = class MJVectorIndexEntityServer extends MJVector
|
|
|
87
102
|
};
|
|
88
103
|
LogStatus(`Creating index "${sanitizedName}" in vector DB provider...`);
|
|
89
104
|
try {
|
|
90
|
-
const result = await vectorDB.CreateIndex(params);
|
|
105
|
+
const result = await MJVectorIndexEntityServer_1.withTimeout(vectorDB.CreateIndex(params), MJVectorIndexEntityServer_1.CREATE_INDEX_TIMEOUT_MS, `CreateIndex("${sanitizedName}")`);
|
|
91
106
|
if (result.success) {
|
|
92
107
|
LogStatus(`Index "${sanitizedName}" created successfully in provider`);
|
|
93
108
|
await this.saveProviderMetadata(result.data, params, sanitizedName);
|
|
@@ -179,6 +194,20 @@ let MJVectorIndexEntityServer = class MJVectorIndexEntityServer extends MJVector
|
|
|
179
194
|
resolveDimensions() {
|
|
180
195
|
return this.Dimensions ?? 1536;
|
|
181
196
|
}
|
|
197
|
+
/**
|
|
198
|
+
* Resolve `work` or reject after `timeoutMs`, whichever comes first. The timer is cleared when the
|
|
199
|
+
* work settles, so a fast provider leaves nothing behind. On timeout the provider may still finish
|
|
200
|
+
* on its side; the record simply does not get its metadata written back, and the log says so.
|
|
201
|
+
*/
|
|
202
|
+
static withTimeout(work, timeoutMs, label) {
|
|
203
|
+
return new Promise((resolve, reject) => {
|
|
204
|
+
const timer = setTimeout(() => {
|
|
205
|
+
reject(new Error(`${label} timed out after ${timeoutMs}ms; the provider may still finish creating the index, ` +
|
|
206
|
+
`but its metadata was not written back to the record`));
|
|
207
|
+
}, timeoutMs);
|
|
208
|
+
Promise.resolve(work).then((value) => { clearTimeout(timer); resolve(value); }, (error) => { clearTimeout(timer); reject(error); });
|
|
209
|
+
});
|
|
210
|
+
}
|
|
182
211
|
/**
|
|
183
212
|
* After provider creates the index, save the returned metadata back to our record.
|
|
184
213
|
* Stores ExternalID, Dimensions, Metric, and full provider config as JSON.
|
|
@@ -215,7 +244,7 @@ let MJVectorIndexEntityServer = class MJVectorIndexEntityServer extends MJVector
|
|
|
215
244
|
}
|
|
216
245
|
}
|
|
217
246
|
};
|
|
218
|
-
MJVectorIndexEntityServer = __decorate([
|
|
247
|
+
MJVectorIndexEntityServer = MJVectorIndexEntityServer_1 = __decorate([
|
|
219
248
|
RegisterClass(BaseEntity, 'MJ: Vector Indexes')
|
|
220
249
|
], MJVectorIndexEntityServer);
|
|
221
250
|
export { MJVectorIndexEntityServer };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MJVectorIndexEntityServer.server.js","sourceRoot":"","sources":["../../src/custom/MJVectorIndexEntityServer.server.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MJVectorIndexEntityServer.server.js","sourceRoot":"","sources":["../../src/custom/MJVectorIndexEntityServer.server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"versionPublish.d.ts","sourceRoot":"","sources":["../../../src/custom/rubrics/versionPublish.ts"],"names":[],"mappings":"AACA,OAAO,EAA0E,KAAK,kBAAkB,EAAE,KAAK,qBAAqB,EAAE,KAAK,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE7L,qBAAa,kBAAmB,SAAQ,KAAK;IACzC,SAAgB,OAAO,EAAE,MAAM,EAAE,CAAC;gBACf,OAAO,EAAE,MAAM,EAAE;CAKvC;AAED,MAAM,WAAW,cAAc;IAC3B,QAAQ,EAAE,SAAS,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC1B,WAAW,EAAE,WAAW,CAAC;IACzB,YAAY,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;IACtD,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE;QACX,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;QAC7B,OAAO,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,OAAO,CAAC;YAAC,EAAE,EAAE,OAAO,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;KAC3F,CAAC;IACF,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,WAAW,EAAE,IAAI,CAAC;CACrB;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,qBAAqB,GAAG;IAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,cAAc,EAAE,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"versionPublish.d.ts","sourceRoot":"","sources":["../../../src/custom/rubrics/versionPublish.ts"],"names":[],"mappings":"AACA,OAAO,EAA0E,KAAK,kBAAkB,EAAE,KAAK,qBAAqB,EAAE,KAAK,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE7L,qBAAa,kBAAmB,SAAQ,KAAK;IACzC,SAAgB,OAAO,EAAE,MAAM,EAAE,CAAC;gBACf,OAAO,EAAE,MAAM,EAAE;CAKvC;AAED,MAAM,WAAW,cAAc;IAC3B,QAAQ,EAAE,SAAS,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC1B,WAAW,EAAE,WAAW,CAAC;IACzB,YAAY,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;IACtD,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE;QACX,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;QAC7B,OAAO,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,OAAO,CAAC;YAAC,EAAE,EAAE,OAAO,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;KAC3F,CAAC;IACF,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,WAAW,EAAE,IAAI,CAAC;CACrB;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,qBAAqB,GAAG;IAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,cAAc,EAAE,CAAA;CAAE,CAuDnH;AAoBD;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACtC,IAAI,EAAE,qBAAqB,GAAG,IAAI,EAClC,KAAK,EAAE,qBAAqB,EAC5B,aAAa,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,IAAI,GACnD,OAAO,CAAC,aAAa,CAAC,CA4BxB;AAED,4FAA4F;AAC5F,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,kBAAkB,EAAE,GAAG,kBAAkB,EAAE,CAOnF;AAED,KAAK,MAAM,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAA;CAAE,CAAC,CAAC;AAQzG;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC;IAAE,IAAI,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAAC,KAAK,EAAE,qBAAqB,CAAA;CAAE,CAAC,CAK1M"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { NormalizeUUID, UUIDsEqual } from '@memberjunction/global';
|
|
1
|
+
import { NormalizeUUID, UUIDMap, UUIDsEqual } from '@memberjunction/global';
|
|
2
2
|
import { HighestNonDraftVersion, RubricVersionDiff, SnapshotFromRows, Sha256Hex } from '@memberjunction/rubrics-base';
|
|
3
3
|
export class RubricPublishError extends Error {
|
|
4
4
|
constructor(details) {
|
|
@@ -18,14 +18,16 @@ export class RubricPublishError extends Error {
|
|
|
18
18
|
export function ValidateRubricTree(version) {
|
|
19
19
|
const errors = [];
|
|
20
20
|
const warnings = [];
|
|
21
|
-
|
|
21
|
+
// UUIDMap, so every lookup below is case-insensitive. The advisory-ancestor walk used to look up
|
|
22
|
+
// a raw parentId in a normalized-key Map and silently stopped on upper-case (SQL Server) IDs.
|
|
23
|
+
const byId = new UUIDMap(version.nodes.map((node) => [node.id, node]));
|
|
22
24
|
const keys = new Set();
|
|
23
25
|
const childrenOf = (id) => version.nodes.filter(item => UUIDsEqual(item.parentId, id));
|
|
24
26
|
for (const node of version.nodes) {
|
|
25
27
|
if (keys.has(node.key))
|
|
26
28
|
errors.push(`Duplicate key ${node.key}.`);
|
|
27
29
|
keys.add(node.key);
|
|
28
|
-
if (node.parentId && !byId.
|
|
30
|
+
if (node.parentId && !byId.Has(node.parentId))
|
|
29
31
|
errors.push(`${node.key} points at a missing parent.`);
|
|
30
32
|
if (node.nodeType === 'Criterion' && !node.scaleId)
|
|
31
33
|
errors.push(`${node.key} is a criterion with no scale.`);
|
|
@@ -51,9 +53,9 @@ export function ValidateRubricTree(version) {
|
|
|
51
53
|
for (const leaf of version.nodes.filter(node => node.nodeType === 'Criterion' && !node.isAdvisory)) {
|
|
52
54
|
const seen = new Set();
|
|
53
55
|
let parentId = leaf.parentId;
|
|
54
|
-
while (parentId && byId.
|
|
56
|
+
while (parentId && byId.Has(parentId) && !seen.has(parentId)) {
|
|
55
57
|
seen.add(parentId);
|
|
56
|
-
const parent = byId.
|
|
58
|
+
const parent = byId.Get(parentId);
|
|
57
59
|
if (parent.isAdvisory) {
|
|
58
60
|
errors.push(`${leaf.key} is a non-advisory leaf under the advisory group ${parent.key}.`);
|
|
59
61
|
break;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"versionPublish.js","sourceRoot":"","sources":["../../../src/custom/rubrics/versionPublish.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"versionPublish.js","sourceRoot":"","sources":["../../../src/custom/rubrics/versionPublish.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Server-authoritative keys inside `MJ: AI Agent Sessions.Config`, and the in-process
|
|
3
|
+
* capability that lets server code (and only server code) change them.
|
|
4
|
+
*
|
|
5
|
+
* ## The problem this solves
|
|
6
|
+
*
|
|
7
|
+
* `AIAgentSession.Config` is a free-form JSON column that the **session owner can write directly**:
|
|
8
|
+
* the `UI` and `Widget Guest` roles hold `CanUpdate` on the entity (scoped to their own rows), and the
|
|
9
|
+
* generated `UpdateMJAIAgentSession` mutation plus `StartAgentSession(configJson)` hand client JSON
|
|
10
|
+
* straight to `Save()`. A few keys in that blob are not preferences — they are **server decisions the
|
|
11
|
+
* client must not be able to make for itself**:
|
|
12
|
+
*
|
|
13
|
+
* - `maxSessionDeadlineIso` — the absolute wall-clock deadline the `SessionJanitor` enforces. A guest
|
|
14
|
+
* who could rewrite it could extend its own (cost-bearing) voice session indefinitely.
|
|
15
|
+
* - `identityVerification` — the verification state of the session (pending hashed token/code,
|
|
16
|
+
* attempt counters, and the verified identity). A client who could write it could mark itself
|
|
17
|
+
* verified, reset its attempt counter, or forge the policy it is held to.
|
|
18
|
+
* - `channels` — the session's resolved channel scope (which interactive channels the server put IN
|
|
19
|
+
* the session). A client who could delete or widen it could unscope the session and save state or
|
|
20
|
+
* artifacts for channels its agent/app configuration excluded.
|
|
21
|
+
*
|
|
22
|
+
* `MJAIAgentSessionEntityServer` calls {@link FindProtectedSessionConfigChanges} from `Validate()` and
|
|
23
|
+
* refuses any save that changes one of these keys — **unless** the save runs inside
|
|
24
|
+
* {@link RunWithTrustedSessionConfigWrites}.
|
|
25
|
+
*
|
|
26
|
+
* ## Why an in-process scope, not a role or flag
|
|
27
|
+
*
|
|
28
|
+
* Trust must be something a remote caller cannot assert. A request body, a header, an entity field —
|
|
29
|
+
* all attacker-controlled. An `AsyncLocalStorage` scope entered by server code is invisible to the
|
|
30
|
+
* network: only code already running inside the MJServer process can enter it. Every legitimate
|
|
31
|
+
* writer (the mint resolver, the verification service) is such code.
|
|
32
|
+
*
|
|
33
|
+
* The scope is held in the **global object store**, not a module-level variable, for the same reason
|
|
34
|
+
* `BaseSingleton` is: if a bundler or a duplicated install loads this module twice, a module-level
|
|
35
|
+
* `AsyncLocalStorage` would give the writer and the validator two different scopes and every trusted
|
|
36
|
+
* write would be refused.
|
|
37
|
+
*
|
|
38
|
+
* @module @memberjunction/core-entities-server
|
|
39
|
+
*/
|
|
40
|
+
/**
|
|
41
|
+
* The `Config` keys only trusted server code may add, change or remove.
|
|
42
|
+
* New server-authoritative session keys belong here (and nowhere else).
|
|
43
|
+
*/
|
|
44
|
+
export declare const PROTECTED_SESSION_CONFIG_KEYS: readonly string[];
|
|
45
|
+
/**
|
|
46
|
+
* Runs `work` with permission to change {@link PROTECTED_SESSION_CONFIG_KEYS}. The permission follows
|
|
47
|
+
* the async call chain started inside `work` (every `await`, timer and promise it spawns) and ends
|
|
48
|
+
* when `work` settles.
|
|
49
|
+
*
|
|
50
|
+
* **Server code only.** Never call this from anything that forwards client-supplied JSON into the
|
|
51
|
+
* session `Config` — wrap exactly the statement that writes server-decided values, nothing wider.
|
|
52
|
+
*
|
|
53
|
+
* @param work - the asynchronous operation that saves the trusted values
|
|
54
|
+
* @returns whatever `work` returns
|
|
55
|
+
*/
|
|
56
|
+
export declare function RunWithTrustedSessionConfigWrites<T>(work: () => Promise<T>): Promise<T>;
|
|
57
|
+
/** True while inside {@link RunWithTrustedSessionConfigWrites}. */
|
|
58
|
+
export declare function IsTrustedSessionConfigWriteActive(): boolean;
|
|
59
|
+
/**
|
|
60
|
+
* Which protected keys differ between two `Config` JSON values.
|
|
61
|
+
*
|
|
62
|
+
* Comparison is semantic (key order and whitespace are ignored), so a server rewrite that merely
|
|
63
|
+
* re-serializes the blob is not a change. Adding, altering or removing a protected key is.
|
|
64
|
+
*
|
|
65
|
+
* @param previousRaw - the stored `Config` (null/undefined for a new record)
|
|
66
|
+
* @param nextRaw - the `Config` about to be saved
|
|
67
|
+
* @returns the protected keys that changed (empty when none did)
|
|
68
|
+
*/
|
|
69
|
+
export declare function FindProtectedSessionConfigChanges(previousRaw: string | null | undefined, nextRaw: string | null | undefined): string[];
|
|
70
|
+
//# sourceMappingURL=sessionConfigGuard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sessionConfigGuard.d.ts","sourceRoot":"","sources":["../../src/custom/sessionConfigGuard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAKH;;;GAGG;AACH,eAAO,MAAM,6BAA6B,EAAE,SAAS,MAAM,EAAkE,CAAC;AAgB9H;;;;;;;;;;GAUG;AACH,wBAAgB,iCAAiC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAEvF;AAED,mEAAmE;AACnE,wBAAgB,iCAAiC,IAAI,OAAO,CAE3D;AAoCD;;;;;;;;;GASG;AACH,wBAAgB,iCAAiC,CAC7C,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACtC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACnC,MAAM,EAAE,CAIV"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Server-authoritative keys inside `MJ: AI Agent Sessions.Config`, and the in-process
|
|
3
|
+
* capability that lets server code (and only server code) change them.
|
|
4
|
+
*
|
|
5
|
+
* ## The problem this solves
|
|
6
|
+
*
|
|
7
|
+
* `AIAgentSession.Config` is a free-form JSON column that the **session owner can write directly**:
|
|
8
|
+
* the `UI` and `Widget Guest` roles hold `CanUpdate` on the entity (scoped to their own rows), and the
|
|
9
|
+
* generated `UpdateMJAIAgentSession` mutation plus `StartAgentSession(configJson)` hand client JSON
|
|
10
|
+
* straight to `Save()`. A few keys in that blob are not preferences — they are **server decisions the
|
|
11
|
+
* client must not be able to make for itself**:
|
|
12
|
+
*
|
|
13
|
+
* - `maxSessionDeadlineIso` — the absolute wall-clock deadline the `SessionJanitor` enforces. A guest
|
|
14
|
+
* who could rewrite it could extend its own (cost-bearing) voice session indefinitely.
|
|
15
|
+
* - `identityVerification` — the verification state of the session (pending hashed token/code,
|
|
16
|
+
* attempt counters, and the verified identity). A client who could write it could mark itself
|
|
17
|
+
* verified, reset its attempt counter, or forge the policy it is held to.
|
|
18
|
+
* - `channels` — the session's resolved channel scope (which interactive channels the server put IN
|
|
19
|
+
* the session). A client who could delete or widen it could unscope the session and save state or
|
|
20
|
+
* artifacts for channels its agent/app configuration excluded.
|
|
21
|
+
*
|
|
22
|
+
* `MJAIAgentSessionEntityServer` calls {@link FindProtectedSessionConfigChanges} from `Validate()` and
|
|
23
|
+
* refuses any save that changes one of these keys — **unless** the save runs inside
|
|
24
|
+
* {@link RunWithTrustedSessionConfigWrites}.
|
|
25
|
+
*
|
|
26
|
+
* ## Why an in-process scope, not a role or flag
|
|
27
|
+
*
|
|
28
|
+
* Trust must be something a remote caller cannot assert. A request body, a header, an entity field —
|
|
29
|
+
* all attacker-controlled. An `AsyncLocalStorage` scope entered by server code is invisible to the
|
|
30
|
+
* network: only code already running inside the MJServer process can enter it. Every legitimate
|
|
31
|
+
* writer (the mint resolver, the verification service) is such code.
|
|
32
|
+
*
|
|
33
|
+
* The scope is held in the **global object store**, not a module-level variable, for the same reason
|
|
34
|
+
* `BaseSingleton` is: if a bundler or a duplicated install loads this module twice, a module-level
|
|
35
|
+
* `AsyncLocalStorage` would give the writer and the validator two different scopes and every trusted
|
|
36
|
+
* write would be refused.
|
|
37
|
+
*
|
|
38
|
+
* @module @memberjunction/core-entities-server
|
|
39
|
+
*/
|
|
40
|
+
import { AsyncLocalStorage } from 'node:async_hooks';
|
|
41
|
+
import { MJGlobal } from '@memberjunction/global';
|
|
42
|
+
/**
|
|
43
|
+
* The `Config` keys only trusted server code may add, change or remove.
|
|
44
|
+
* New server-authoritative session keys belong here (and nowhere else).
|
|
45
|
+
*/
|
|
46
|
+
export const PROTECTED_SESSION_CONFIG_KEYS = ['maxSessionDeadlineIso', 'identityVerification', 'channels'];
|
|
47
|
+
/** Global-object-store key holding the one process-wide trusted-write scope. */
|
|
48
|
+
const TRUSTED_SCOPE_STORE_KEY = '___MJCoreEntitiesServer___TrustedSessionConfigWriteScope';
|
|
49
|
+
/** The process-wide scope (created on first use). The stored value is just a marker. */
|
|
50
|
+
function trustedScope() {
|
|
51
|
+
const store = MJGlobal.Instance.GetGlobalObjectStore();
|
|
52
|
+
let scope = store[TRUSTED_SCOPE_STORE_KEY];
|
|
53
|
+
if (!scope) {
|
|
54
|
+
scope = new AsyncLocalStorage();
|
|
55
|
+
store[TRUSTED_SCOPE_STORE_KEY] = scope;
|
|
56
|
+
}
|
|
57
|
+
return scope;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Runs `work` with permission to change {@link PROTECTED_SESSION_CONFIG_KEYS}. The permission follows
|
|
61
|
+
* the async call chain started inside `work` (every `await`, timer and promise it spawns) and ends
|
|
62
|
+
* when `work` settles.
|
|
63
|
+
*
|
|
64
|
+
* **Server code only.** Never call this from anything that forwards client-supplied JSON into the
|
|
65
|
+
* session `Config` — wrap exactly the statement that writes server-decided values, nothing wider.
|
|
66
|
+
*
|
|
67
|
+
* @param work - the asynchronous operation that saves the trusted values
|
|
68
|
+
* @returns whatever `work` returns
|
|
69
|
+
*/
|
|
70
|
+
export function RunWithTrustedSessionConfigWrites(work) {
|
|
71
|
+
return trustedScope().run(true, work);
|
|
72
|
+
}
|
|
73
|
+
/** True while inside {@link RunWithTrustedSessionConfigWrites}. */
|
|
74
|
+
export function IsTrustedSessionConfigWriteActive() {
|
|
75
|
+
return trustedScope().getStore() === true;
|
|
76
|
+
}
|
|
77
|
+
/** Parses a `Config` JSON string into a plain object; anything else (null, garbage, arrays) is `{}`. */
|
|
78
|
+
function parseConfigObject(raw) {
|
|
79
|
+
if (typeof raw !== 'string' || raw.trim().length === 0) {
|
|
80
|
+
return {};
|
|
81
|
+
}
|
|
82
|
+
try {
|
|
83
|
+
const parsed = JSON.parse(raw);
|
|
84
|
+
return typeof parsed === 'object' && parsed !== null && !Array.isArray(parsed)
|
|
85
|
+
? parsed
|
|
86
|
+
: {};
|
|
87
|
+
}
|
|
88
|
+
catch {
|
|
89
|
+
// Unparseable Config carries no protected keys. If the PREVIOUS value had some, the diff below
|
|
90
|
+
// reports them as removed — which is the correct refusal for a client that corrupts the blob
|
|
91
|
+
// to wipe a server decision.
|
|
92
|
+
return {};
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
/** Key-order-independent serialization, so semantically equal JSON compares equal. */
|
|
96
|
+
function canonicalize(value) {
|
|
97
|
+
if (value === undefined) {
|
|
98
|
+
return 'undefined';
|
|
99
|
+
}
|
|
100
|
+
if (Array.isArray(value)) {
|
|
101
|
+
return `[${value.map(canonicalize).join(',')}]`;
|
|
102
|
+
}
|
|
103
|
+
if (typeof value === 'object' && value !== null) {
|
|
104
|
+
const record = value;
|
|
105
|
+
const keys = Object.keys(record).sort();
|
|
106
|
+
return `{${keys.map((k) => `${JSON.stringify(k)}:${canonicalize(record[k])}`).join(',')}}`;
|
|
107
|
+
}
|
|
108
|
+
return JSON.stringify(value);
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Which protected keys differ between two `Config` JSON values.
|
|
112
|
+
*
|
|
113
|
+
* Comparison is semantic (key order and whitespace are ignored), so a server rewrite that merely
|
|
114
|
+
* re-serializes the blob is not a change. Adding, altering or removing a protected key is.
|
|
115
|
+
*
|
|
116
|
+
* @param previousRaw - the stored `Config` (null/undefined for a new record)
|
|
117
|
+
* @param nextRaw - the `Config` about to be saved
|
|
118
|
+
* @returns the protected keys that changed (empty when none did)
|
|
119
|
+
*/
|
|
120
|
+
export function FindProtectedSessionConfigChanges(previousRaw, nextRaw) {
|
|
121
|
+
const previous = parseConfigObject(previousRaw);
|
|
122
|
+
const next = parseConfigObject(nextRaw);
|
|
123
|
+
return PROTECTED_SESSION_CONFIG_KEYS.filter((key) => canonicalize(previous[key]) !== canonicalize(next[key]));
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=sessionConfigGuard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sessionConfigGuard.js","sourceRoot":"","sources":["../../src/custom/sessionConfigGuard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD;;;GAGG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAsB,CAAC,uBAAuB,EAAE,sBAAsB,EAAE,UAAU,CAAC,CAAC;AAE9H,gFAAgF;AAChF,MAAM,uBAAuB,GAAG,0DAA0D,CAAC;AAE3F,wFAAwF;AACxF,SAAS,YAAY;IACjB,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,oBAAoB,EAAE,CAAC;IACvD,IAAI,KAAK,GAAG,KAAK,CAAC,uBAAuB,CAAwC,CAAC;IAClF,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,KAAK,GAAG,IAAI,iBAAiB,EAAQ,CAAC;QACtC,KAAK,CAAC,uBAAuB,CAAC,GAAG,KAAK,CAAC;IAC3C,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,iCAAiC,CAAI,IAAsB;IACvE,OAAO,YAAY,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC1C,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,iCAAiC;IAC7C,OAAO,YAAY,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC;AAC9C,CAAC;AAED,wGAAwG;AACxG,SAAS,iBAAiB,CAAC,GAA8B;IACrD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrD,OAAO,EAAE,CAAC;IACd,CAAC;IACD,IAAI,CAAC;QACD,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxC,OAAO,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAC1E,CAAC,CAAE,MAAkC;YACrC,CAAC,CAAC,EAAE,CAAC;IACb,CAAC;IAAC,MAAM,CAAC;QACL,+FAA+F;QAC/F,6FAA6F;QAC7F,6BAA6B;QAC7B,OAAO,EAAE,CAAC;IACd,CAAC;AACL,CAAC;AAED,sFAAsF;AACtF,SAAS,YAAY,CAAC,KAAc;IAChC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,WAAW,CAAC;IACvB,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IACpD,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC9C,MAAM,MAAM,GAAG,KAAgC,CAAC;QAChD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QACxC,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IAC/F,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,iCAAiC,CAC7C,WAAsC,EACtC,OAAkC;IAElC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACxC,OAAO,6BAA6B,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAClH,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -29,6 +29,8 @@ export * from './custom/MJAIBridgeProviderEntityServer.server.js';
|
|
|
29
29
|
export * from './custom/MJAIBridgeAgentIdentityEntityServer.server.js';
|
|
30
30
|
export * from './custom/MJAIBridgeProviderChannelEntityServer.server.js';
|
|
31
31
|
export * from './custom/MJAIAgentSessionBridgeEntityServer.server.js';
|
|
32
|
+
export * from './custom/sessionConfigGuard.js';
|
|
33
|
+
export * from './custom/MJAIAgentSessionEntityServer.server.js';
|
|
32
34
|
export * from './custom/MJAIAgentSessionBridgeParticipantEntityServer.server.js';
|
|
33
35
|
export * from './custom/MJAIRemoteBrowserProviderEntityServer.server.js';
|
|
34
36
|
export * from './custom/MJMaterializedResultEntityServer.server.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,wCAAwC,CAAC;AACvD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,wCAAwC,CAAC;AACvD,cAAc,oCAAoC,CAAC;AACnD,cAAc,0CAA0C,CAAC;AACzD,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,0CAA0C,CAAC;AACzD,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,kDAAkD,CAAC;AACjE,cAAc,iDAAiD,CAAC;AAChE,cAAc,uCAAuC,CAAC;AACtD,cAAc,kDAAkD,CAAC;AACjE,cAAc,oCAAoC,CAAC;AACnD,cAAc,oCAAoC,CAAC;AACnD,cAAc,wCAAwC,CAAC;AACvD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,oDAAoD,CAAC;AACnE,cAAc,2CAA2C,CAAC;AAC1D,cAAc,mDAAmD,CAAC;AAClE,cAAc,sDAAsD,CAAC;AACrE,cAAc,qDAAqD,CAAC;AACpE,cAAc,sCAAsC,CAAC;AACrD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oCAAoC,CAAC;AACnD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mCAAmC,CAAC;AAClD,cAAc,eAAe,CAAC;AAE9B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yCAAyC,CAAC;AACxD,cAAc,qCAAqC,CAAC;AACpD,cAAc,+CAA+C,CAAC;AAC9D,OAAO,EACH,wBAAwB,EACxB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,KAAK,mBAAmB,GAC3B,MAAM,yBAAyB,CAAC;AACjC,cAAc,kDAAkD,CAAC;AACjE,cAAc,sDAAsD,CAAC;AACrE,cAAc,4CAA4C,CAAC;AAC3D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,oDAAoD,CAAC;AACnE,cAAc,0CAA0C,CAAC;AACzD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,qDAAqD,CAAC;AACpE,cAAc,2CAA2C,CAAC;AAC1D,cAAc,gDAAgD,CAAC;AAC/D,cAAc,iCAAiC,CAAC;AAChD,cAAc,mCAAmC,CAAC;AAClD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gDAAgD,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,wCAAwC,CAAC;AACvD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,wCAAwC,CAAC;AACvD,cAAc,oCAAoC,CAAC;AACnD,cAAc,0CAA0C,CAAC;AACzD,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,0CAA0C,CAAC;AACzD,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,6BAA6B,CAAC;AAC5C,cAAc,8CAA8C,CAAC;AAC7D,cAAc,+DAA+D,CAAC;AAC9E,cAAc,uDAAuD,CAAC;AACtE,cAAc,kDAAkD,CAAC;AACjE,cAAc,iDAAiD,CAAC;AAChE,cAAc,uCAAuC,CAAC;AACtD,cAAc,kDAAkD,CAAC;AACjE,cAAc,oCAAoC,CAAC;AACnD,cAAc,oCAAoC,CAAC;AACnD,cAAc,wCAAwC,CAAC;AACvD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,oDAAoD,CAAC;AACnE,cAAc,2CAA2C,CAAC;AAC1D,cAAc,mDAAmD,CAAC;AAClE,cAAc,sDAAsD,CAAC;AACrE,cAAc,qDAAqD,CAAC;AACpE,cAAc,sCAAsC,CAAC;AACrD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oCAAoC,CAAC;AACnD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mCAAmC,CAAC;AAClD,cAAc,eAAe,CAAC;AAE9B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yCAAyC,CAAC;AACxD,cAAc,qCAAqC,CAAC;AACpD,cAAc,+CAA+C,CAAC;AAC9D,OAAO,EACH,wBAAwB,EACxB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,KAAK,mBAAmB,GAC3B,MAAM,yBAAyB,CAAC;AACjC,cAAc,kDAAkD,CAAC;AACjE,cAAc,sDAAsD,CAAC;AACrE,cAAc,4CAA4C,CAAC;AAC3D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,oDAAoD,CAAC;AACnE,cAAc,0CAA0C,CAAC;AACzD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,qDAAqD,CAAC;AACpE,cAAc,2CAA2C,CAAC;AAC1D,cAAc,gDAAgD,CAAC;AAC/D,cAAc,iCAAiC,CAAC;AAChD,cAAc,mCAAmC,CAAC;AAClD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gDAAgD,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -29,6 +29,8 @@ export * from './custom/MJAIBridgeProviderEntityServer.server.js';
|
|
|
29
29
|
export * from './custom/MJAIBridgeAgentIdentityEntityServer.server.js';
|
|
30
30
|
export * from './custom/MJAIBridgeProviderChannelEntityServer.server.js';
|
|
31
31
|
export * from './custom/MJAIAgentSessionBridgeEntityServer.server.js';
|
|
32
|
+
export * from './custom/sessionConfigGuard.js';
|
|
33
|
+
export * from './custom/MJAIAgentSessionEntityServer.server.js';
|
|
32
34
|
export * from './custom/MJAIAgentSessionBridgeParticipantEntityServer.server.js';
|
|
33
35
|
export * from './custom/MJAIRemoteBrowserProviderEntityServer.server.js';
|
|
34
36
|
export * from './custom/MJMaterializedResultEntityServer.server.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,wCAAwC,CAAC;AACvD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,wCAAwC,CAAC;AACvD,cAAc,oCAAoC,CAAC;AACnD,cAAc,0CAA0C,CAAC;AACzD,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,0CAA0C,CAAC;AACzD,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,kDAAkD,CAAC;AACjE,cAAc,iDAAiD,CAAC;AAChE,cAAc,uCAAuC,CAAC;AACtD,cAAc,kDAAkD,CAAC;AACjE,cAAc,oCAAoC,CAAC;AACnD,cAAc,oCAAoC,CAAC;AACnD,cAAc,wCAAwC,CAAC;AACvD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,oDAAoD,CAAC;AACnE,cAAc,2CAA2C,CAAC;AAC1D,cAAc,mDAAmD,CAAC;AAClE,cAAc,sDAAsD,CAAC;AACrE,cAAc,qDAAqD,CAAC;AACpE,cAAc,sCAAsC,CAAC;AACrD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oCAAoC,CAAC;AACnD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mCAAmC,CAAC;AAClD,cAAc,eAAe,CAAC;AAE9B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yCAAyC,CAAC;AACxD,cAAc,qCAAqC,CAAC;AACpD,cAAc,+CAA+C,CAAC;AAC9D,OAAO,EACH,wBAAwB,EACxB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,GAEzB,MAAM,yBAAyB,CAAC;AACjC,cAAc,kDAAkD,CAAC;AACjE,cAAc,sDAAsD,CAAC;AACrE,cAAc,4CAA4C,CAAC;AAC3D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,oDAAoD,CAAC;AACnE,cAAc,0CAA0C,CAAC;AACzD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,qDAAqD,CAAC;AACpE,cAAc,2CAA2C,CAAC;AAC1D,cAAc,gDAAgD,CAAC;AAC/D,cAAc,iCAAiC,CAAC;AAChD,cAAc,mCAAmC,CAAC;AAClD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gDAAgD,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,wCAAwC,CAAC;AACvD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,wCAAwC,CAAC;AACvD,cAAc,oCAAoC,CAAC;AACnD,cAAc,0CAA0C,CAAC;AACzD,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,0CAA0C,CAAC;AACzD,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,6BAA6B,CAAC;AAC5C,cAAc,8CAA8C,CAAC;AAC7D,cAAc,+DAA+D,CAAC;AAC9E,cAAc,uDAAuD,CAAC;AACtE,cAAc,kDAAkD,CAAC;AACjE,cAAc,iDAAiD,CAAC;AAChE,cAAc,uCAAuC,CAAC;AACtD,cAAc,kDAAkD,CAAC;AACjE,cAAc,oCAAoC,CAAC;AACnD,cAAc,oCAAoC,CAAC;AACnD,cAAc,wCAAwC,CAAC;AACvD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,oDAAoD,CAAC;AACnE,cAAc,2CAA2C,CAAC;AAC1D,cAAc,mDAAmD,CAAC;AAClE,cAAc,sDAAsD,CAAC;AACrE,cAAc,qDAAqD,CAAC;AACpE,cAAc,sCAAsC,CAAC;AACrD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oCAAoC,CAAC;AACnD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mCAAmC,CAAC;AAClD,cAAc,eAAe,CAAC;AAE9B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yCAAyC,CAAC;AACxD,cAAc,qCAAqC,CAAC;AACpD,cAAc,+CAA+C,CAAC;AAC9D,OAAO,EACH,wBAAwB,EACxB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,GAEzB,MAAM,yBAAyB,CAAC;AACjC,cAAc,kDAAkD,CAAC;AACjE,cAAc,sDAAsD,CAAC;AACrE,cAAc,4CAA4C,CAAC;AAC3D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,oDAAoD,CAAC;AACnE,cAAc,0CAA0C,CAAC;AACzD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,qDAAqD,CAAC;AACpE,cAAc,2CAA2C,CAAC;AAC1D,cAAc,gDAAgD,CAAC;AAC/D,cAAc,iCAAiC,CAAC;AAChD,cAAc,mCAAmC,CAAC;AAClD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gDAAgD,CAAC"}
|