@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
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ValidationResult } from '@memberjunction/core';
|
|
2
|
+
import { MJAIAgentSessionEntity } from '@memberjunction/core-entities';
|
|
3
|
+
/**
|
|
4
|
+
* Server-side `MJ: AI Agent Sessions` entity.
|
|
5
|
+
*
|
|
6
|
+
* Its single job is to keep the **server-authoritative keys** inside `Config` (the janitor's
|
|
7
|
+
* `maxSessionDeadlineIso`, the `identityVerification` state) out of the session owner's reach. The
|
|
8
|
+
* owner can legitimately write the row — the `UI` and `Widget Guest` roles hold `CanUpdate` on their
|
|
9
|
+
* own sessions — so the protection has to live at the entity, where the generated CRUD mutations,
|
|
10
|
+
* `StartAgentSession(configJson)` and every other path converge on `Save()`.
|
|
11
|
+
*
|
|
12
|
+
* See {@link FindProtectedSessionConfigChanges} for what is protected and why, and
|
|
13
|
+
* `RunWithTrustedSessionConfigWrites` for how server code opts in.
|
|
14
|
+
*
|
|
15
|
+
* Uses the **synchronous** `Validate()` rather than `ValidateAsync()` on purpose: `Validate()` runs on
|
|
16
|
+
* every save, whereas async validation can be skipped by an option, and a guard that a caller can opt
|
|
17
|
+
* out of is not a guard.
|
|
18
|
+
*/
|
|
19
|
+
export declare class MJAIAgentSessionEntityServer extends MJAIAgentSessionEntity {
|
|
20
|
+
Validate(): ValidationResult;
|
|
21
|
+
/** Returns a refusal when an untrusted save changes a protected `Config` key, else null. */
|
|
22
|
+
private checkProtectedConfigKeys;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=MJAIAgentSessionEntityServer.server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MJAIAgentSessionEntityServer.server.d.ts","sourceRoot":"","sources":["../../src/custom/MJAIAgentSessionEntityServer.server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwD,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE9G,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAGvE;;;;;;;;;;;;;;;GAeG;AACH,qBACa,4BAA6B,SAAQ,sBAAsB;IACpD,QAAQ,IAAI,gBAAgB;IAU5C,4FAA4F;IAC5F,OAAO,CAAC,wBAAwB;CAyBnC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
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 { MJAIAgentSessionEntity } from '@memberjunction/core-entities';
|
|
10
|
+
import { FindProtectedSessionConfigChanges, IsTrustedSessionConfigWriteActive } from './sessionConfigGuard.js';
|
|
11
|
+
/**
|
|
12
|
+
* Server-side `MJ: AI Agent Sessions` entity.
|
|
13
|
+
*
|
|
14
|
+
* Its single job is to keep the **server-authoritative keys** inside `Config` (the janitor's
|
|
15
|
+
* `maxSessionDeadlineIso`, the `identityVerification` state) out of the session owner's reach. The
|
|
16
|
+
* owner can legitimately write the row — the `UI` and `Widget Guest` roles hold `CanUpdate` on their
|
|
17
|
+
* own sessions — so the protection has to live at the entity, where the generated CRUD mutations,
|
|
18
|
+
* `StartAgentSession(configJson)` and every other path converge on `Save()`.
|
|
19
|
+
*
|
|
20
|
+
* See {@link FindProtectedSessionConfigChanges} for what is protected and why, and
|
|
21
|
+
* `RunWithTrustedSessionConfigWrites` for how server code opts in.
|
|
22
|
+
*
|
|
23
|
+
* Uses the **synchronous** `Validate()` rather than `ValidateAsync()` on purpose: `Validate()` runs on
|
|
24
|
+
* every save, whereas async validation can be skipped by an option, and a guard that a caller can opt
|
|
25
|
+
* out of is not a guard.
|
|
26
|
+
*/
|
|
27
|
+
let MJAIAgentSessionEntityServer = class MJAIAgentSessionEntityServer extends MJAIAgentSessionEntity {
|
|
28
|
+
Validate() {
|
|
29
|
+
const result = super.Validate();
|
|
30
|
+
const violation = this.checkProtectedConfigKeys();
|
|
31
|
+
if (violation) {
|
|
32
|
+
result.Errors.push(violation);
|
|
33
|
+
result.Success = false;
|
|
34
|
+
}
|
|
35
|
+
return result;
|
|
36
|
+
}
|
|
37
|
+
/** Returns a refusal when an untrusted save changes a protected `Config` key, else null. */
|
|
38
|
+
checkProtectedConfigKeys() {
|
|
39
|
+
if (IsTrustedSessionConfigWriteActive()) {
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
const configField = this.GetFieldByName('Config');
|
|
43
|
+
if (!configField) {
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
// A saved record is compared against what was loaded; a new record against nothing. For a
|
|
47
|
+
// saved record whose Config was not touched there is nothing to compare.
|
|
48
|
+
if (this.IsSaved && !configField.Dirty) {
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
const previous = this.IsSaved && typeof configField.OldValue === 'string' ? configField.OldValue : null;
|
|
52
|
+
const changed = FindProtectedSessionConfigChanges(previous, this.Config_);
|
|
53
|
+
if (changed.length === 0) {
|
|
54
|
+
return null;
|
|
55
|
+
}
|
|
56
|
+
return new ValidationErrorInfo('Config', `Config keys [${changed.join(', ')}] are server-managed and cannot be set by the session owner.`, null, ValidationErrorType.Failure);
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
MJAIAgentSessionEntityServer = __decorate([
|
|
60
|
+
RegisterClass(BaseEntity, 'MJ: AI Agent Sessions')
|
|
61
|
+
], MJAIAgentSessionEntityServer);
|
|
62
|
+
export { MJAIAgentSessionEntityServer };
|
|
63
|
+
//# sourceMappingURL=MJAIAgentSessionEntityServer.server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MJAIAgentSessionEntityServer.server.js","sourceRoot":"","sources":["../../src/custom/MJAIAgentSessionEntityServer.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,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,iCAAiC,EAAE,iCAAiC,EAAE,MAAM,sBAAsB,CAAC;AAE5G;;;;;;;;;;;;;;;GAeG;AAEI,IAAM,4BAA4B,GAAlC,MAAM,4BAA6B,SAAQ,sBAAsB;IACpD,QAAQ;QACpB,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;QAChC,MAAM,SAAS,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAClD,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;IAED,4FAA4F;IACpF,wBAAwB;QAC5B,IAAI,iCAAiC,EAAE,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,0FAA0F;QAC1F,yEAAyE;QACzE,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,IAAI,OAAO,WAAW,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;QACxG,MAAM,OAAO,GAAG,iCAAiC,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1E,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,IAAI,mBAAmB,CAC1B,QAAQ,EACR,gBAAgB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,8DAA8D,EAChG,IAAI,EACJ,mBAAmB,CAAC,OAAO,CAC9B,CAAC;IACN,CAAC;CACJ,CAAA;AArCY,4BAA4B;IADxC,aAAa,CAAC,UAAU,EAAE,uBAAuB,CAAC;GACtC,4BAA4B,CAqCxC"}
|
|
@@ -74,9 +74,40 @@ export declare class MJAIPromptRunEntityServer extends MJAIPromptRunEntityExtend
|
|
|
74
74
|
*/
|
|
75
75
|
protected ShouldCalculateCost(): boolean;
|
|
76
76
|
/**
|
|
77
|
-
* Calculates the cost for this prompt run based on token usage and active pricing
|
|
77
|
+
* Calculates the cost for this prompt run based on token usage and active pricing.
|
|
78
|
+
*
|
|
79
|
+
* A realtime run that stored a usage record (`ModelSpecificResponseDetails.RealtimeUsage`) may add an avatar
|
|
80
|
+
* video line, priced from the model vendor's resolved configuration (`Realtime.Pricing.AvatarVideoOutput`): its
|
|
81
|
+
* output video seconds at a per-minute price, or its output video tokens at a per-1M-token price. The output tokens
|
|
82
|
+
* the provider counted as video then leave the default row's output bucket, and the run's cost lines are written
|
|
83
|
+
* into its details (`CostLines`). Without a default row the run stays unpriced, video or not; without a usable
|
|
84
|
+
* video price the run prices as before.
|
|
78
85
|
*/
|
|
79
86
|
protected CalculateAndSetCost(): Promise<void>;
|
|
87
|
+
/**
|
|
88
|
+
* The run's default cost row, its calculator and the quantities it prices; `null` (logged) when the run cannot be
|
|
89
|
+
* priced. The row is selected by the measure this run actually recorded, not just by model+vendor: a model with
|
|
90
|
+
* rows in two measures would otherwise hand back whichever started most recently and be refused, reporting a
|
|
91
|
+
* measure mismatch where the real answer was "pick the other row".
|
|
92
|
+
*/
|
|
93
|
+
private resolveDefaultPricing;
|
|
94
|
+
/**
|
|
95
|
+
* The run's avatar video line, priced from the model vendor's resolved configuration; `null` when the run stored
|
|
96
|
+
* no avatar video, or when the video cannot be priced on its own line (one log line), in which case it prices as
|
|
97
|
+
* before.
|
|
98
|
+
*/
|
|
99
|
+
private priceAvatarVideo;
|
|
100
|
+
/**
|
|
101
|
+
* The model configuration the run's model resolves to on its vendor (type < model < vendor defaults < model
|
|
102
|
+
* vendor). The model-vendor row is the run's vendor's inference-provider row, or any row for that vendor.
|
|
103
|
+
*/
|
|
104
|
+
private resolveModelConfiguration;
|
|
105
|
+
/** The default row's quantities without the output tokens a priced video line covers (logged when they ran out). */
|
|
106
|
+
private withoutVideoTokens;
|
|
107
|
+
/** Sets the run's cost; a root run's total is its cost, a child's is rolled up by its parent. */
|
|
108
|
+
private setCost;
|
|
109
|
+
/** Writes the run's cost lines into its details, beside the usage record they price. */
|
|
110
|
+
private writeCostLines;
|
|
80
111
|
/**
|
|
81
112
|
* Resolves the processing type for active model cost resolution ('Realtime' vs 'Batch').
|
|
82
113
|
* Returns 'Realtime' by default. Batch producers (such as offline batch evaluation
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MJAIPromptRunEntityServer.server.d.ts","sourceRoot":"","sources":["../../src/custom/MJAIPromptRunEntityServer.server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,iBAAiB,
|
|
1
|
+
{"version":3,"file":"MJAIPromptRunEntityServer.server.d.ts","sourceRoot":"","sources":["../../src/custom/MJAIPromptRunEntityServer.server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,iBAAiB,EAA6D,MAAM,sBAAsB,CAAC;AAEhI,OAAO,EAAwB,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAE3E,OAAO,EAGH,iBAAiB,EAGjB,eAAe,EAOlB,MAAM,gCAAgC,CAAC;AAkBxC;;;;;;;;;;GAUG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,SAAS,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,2EAA2E;AAC3E,MAAM,MAAM,oBAAoB,GAC1B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,eAAe,CAAA;CAAE,GACpC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpC;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAIpE;AAED,gDAAgD;AAChD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAEpE;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAClC,QAAQ,EAAE,gBAAgB,EAC1B,cAAc,EAAE,kBAAkB,GACnC,oBAAoB,CA0EtB;AAED,sDAAsD;AACtD,wBAAgB,sBAAsB,CAClC,QAAQ,EAAE,gBAAgB,EAC1B,cAAc,EAAE,kBAAkB,GACnC,oBAAoB,CAEtB;AAED;;;;;;GAMG;AACH,qBACa,yBAA0B,SAAQ,2BAA2B;IAEtE;;OAEG;IACY,IAAI,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;IAkClE;;;OAGG;IACH,SAAS,CAAC,mBAAmB,IAAI,OAAO;IAkCxC;;;;;;;;;OASG;cACa,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAkCpD;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IAqB7B;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAWxB;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IAOjC,oHAAoH;IACpH,OAAO,CAAC,kBAAkB;IAW1B,iGAAiG;IACjG,OAAO,CAAC,OAAO;IAQf,wFAAwF;IACxF,OAAO,CAAC,cAAc;IAOtB;;;;;OAKG;IACH,SAAS,CAAC,qBAAqB,IAAI,UAAU,GAAG,OAAO;IAIvD;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,aAAa,IAAI,gBAAgB;IAmB3C;;;;;;;OAOG;IACH,SAAS,CAAC,oBAAoB,CAC1B,eAAe,EAAE,iBAAiB,EAClC,QAAQ,GAAE,gBAAuC,GAClD,eAAe,GAAG,IAAI;IASzB;;OAEG;cACa,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC;IAmBxD;;;;OAIG;IACU,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IA6BlD;;;;OAIG;IACH,IAAW,cAAc,CAAC,KAAK,EAAE,MAAM,EAGtC;IAED,IAAW,cAAc,IAAI,MAAM,CAElC;IAED;;;;OAIG;IACH,IAAW,IAAI,CAAC,KAAK,EAAE,MAAM,EAG5B;IAED,IAAW,IAAI,IAAI,MAAM,CAExB;IACD;;;;;OAKG;IACH,SAAS,CAAC,eAAe,IAAI,IAAI;CAKpC"}
|
|
@@ -4,10 +4,18 @@ 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, LogError } from "@memberjunction/core";
|
|
8
|
-
import { RegisterClass } from "@memberjunction/global";
|
|
7
|
+
import { BaseEntity, LogError, LogStatus } from "@memberjunction/core";
|
|
8
|
+
import { NormalizeUUID, RegisterClass, UUIDsEqual } from "@memberjunction/global";
|
|
9
9
|
import { MJAIPromptRunEntityExtended } from "@memberjunction/ai-core-plus";
|
|
10
|
-
import { AIEngineBase } from "@memberjunction/ai-engine-base";
|
|
10
|
+
import { AIEngineBase, BuildCostLines, ExcludeAvatarVideoTokens, PriceAvatarVideoOutput, ReadRealtimeUsageRecord, WriteCostLines } from "@memberjunction/ai-engine-base";
|
|
11
|
+
/** What each reason an avatar's video stays priced as before means, for the one log line. */
|
|
12
|
+
const AVATAR_VIDEO_UNPRICED_REASONS = {
|
|
13
|
+
'no-price': 'the model vendor configuration has no usable Realtime.Pricing.AvatarVideoOutput price',
|
|
14
|
+
'unit': "the avatar video price's unit is neither 'Per Minute' nor 'Per 1M Tokens'",
|
|
15
|
+
'currency': "the avatar video price is not in the cost row's currency",
|
|
16
|
+
'no-seconds': 'the run stored video tokens but no video seconds to price',
|
|
17
|
+
'no-tokens': 'the run stored video seconds but no video tokens to price',
|
|
18
|
+
};
|
|
11
19
|
/**
|
|
12
20
|
* Whether a run recorded any work at all worth pricing.
|
|
13
21
|
*
|
|
@@ -176,33 +184,28 @@ let MJAIPromptRunEntityServer = class MJAIPromptRunEntityServer extends MJAIProm
|
|
|
176
184
|
return true;
|
|
177
185
|
}
|
|
178
186
|
/**
|
|
179
|
-
* Calculates the cost for this prompt run based on token usage and active pricing
|
|
187
|
+
* Calculates the cost for this prompt run based on token usage and active pricing.
|
|
188
|
+
*
|
|
189
|
+
* A realtime run that stored a usage record (`ModelSpecificResponseDetails.RealtimeUsage`) may add an avatar
|
|
190
|
+
* video line, priced from the model vendor's resolved configuration (`Realtime.Pricing.AvatarVideoOutput`): its
|
|
191
|
+
* output video seconds at a per-minute price, or its output video tokens at a per-1M-token price. The output tokens
|
|
192
|
+
* the provider counted as video then leave the default row's output bucket, and the run's cost lines are written
|
|
193
|
+
* into its details (`CostLines`). Without a default row the run stays unpriced, video or not; without a usable
|
|
194
|
+
* video price the run prices as before.
|
|
180
195
|
*/
|
|
181
196
|
async CalculateAndSetCost() {
|
|
182
197
|
try {
|
|
183
198
|
// Ensure AI metadata is loaded
|
|
184
199
|
await AIEngineBase.Instance.Config(false, this.ContextCurrentUser);
|
|
185
|
-
// Select the cost row by the measure this run actually recorded, not just by
|
|
186
|
-
// model+vendor: a model with rows in two measures would otherwise hand back whichever
|
|
187
|
-
// started most recently and be refused below, reporting a measure mismatch where the
|
|
188
|
-
// real answer was "pick the other row".
|
|
189
200
|
const recorded = this.RecordedUsage();
|
|
190
|
-
const
|
|
191
|
-
if (!
|
|
192
|
-
LogError(`No active cost configuration priced in ${recorded.unitsKind ?? 'Tokens'} found for ` +
|
|
193
|
-
`Model: ${this.ModelID}, Vendor: ${this.VendorID}`);
|
|
194
|
-
return;
|
|
195
|
-
}
|
|
196
|
-
// Resolve the calculator the cost row's unit type names (logs and returns null when
|
|
197
|
-
// the unit type or its driver class is missing)
|
|
198
|
-
const priceCalculator = AIEngineBase.Instance.GetPriceCalculator(activeCost);
|
|
199
|
-
if (!priceCalculator) {
|
|
200
|
-
return;
|
|
201
|
-
}
|
|
202
|
-
const usage = this.BuildNormalizedUsage(priceCalculator, recorded);
|
|
203
|
-
if (!usage) {
|
|
201
|
+
const pricing = this.resolveDefaultPricing(recorded);
|
|
202
|
+
if (!pricing) {
|
|
204
203
|
return;
|
|
205
204
|
}
|
|
205
|
+
const record = ReadRealtimeUsageRecord(this.ModelSpecificResponseDetails);
|
|
206
|
+
const video = record ? this.priceAvatarVideo(record, pricing.CostRow.Currency) : null;
|
|
207
|
+
// The video's tokens leave a token-measured default line only; a run measured in seconds has none to give.
|
|
208
|
+
const usage = video && pricing.Calculator.UnitKind === 'Tokens' ? this.withoutVideoTokens(pricing.Usage, video) : pricing.Usage;
|
|
206
209
|
// Token pricing prices each input bucket at its own rate: uncached/net-new (TokensPrompt)
|
|
207
210
|
// at the standard input rate, cache reads/writes at CacheReadPricePerUnit /
|
|
208
211
|
// CacheWritePricePerUnit when the cost row records them. When those cache rates are NULL
|
|
@@ -210,22 +213,84 @@ let MJAIPromptRunEntityServer = class MJAIPromptRunEntityServer extends MJAIProm
|
|
|
210
213
|
// single-bucket behavior for models without cache pricing — while models that DO have
|
|
211
214
|
// cache rates get the (usually much cheaper) cached-token cost instead of being billed as
|
|
212
215
|
// full input. Continuous-media pricing ignores the cache buckets entirely.
|
|
213
|
-
const
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
if (!this.ParentID) {
|
|
219
|
-
// This is a root prompt run, so total cost = cost
|
|
220
|
-
this.TotalCost = normalizedCost;
|
|
216
|
+
const defaultCost = pricing.Calculator.CalculateCost(pricing.CostRow, usage);
|
|
217
|
+
this.setCost(defaultCost + (video?.Cost ?? 0), pricing.CostRow.Currency);
|
|
218
|
+
if (record) {
|
|
219
|
+
const measure = recorded.unitsKind ?? 'Tokens';
|
|
220
|
+
this.writeCostLines(BuildCostLines({ CostRowID: pricing.CostRow.ID, Measure: measure, Usage: usage, Cost: defaultCost }, video));
|
|
221
221
|
}
|
|
222
|
-
// For child nodes, TotalCost will be calculated during rollup
|
|
223
222
|
}
|
|
224
223
|
catch (err) {
|
|
225
224
|
LogError(`Error calculating cost for AIPromptRun ${this.ID}: ${err}`);
|
|
226
225
|
// Don't throw - we don't want to prevent saving just because cost calc failed
|
|
227
226
|
}
|
|
228
227
|
}
|
|
228
|
+
/**
|
|
229
|
+
* The run's default cost row, its calculator and the quantities it prices; `null` (logged) when the run cannot be
|
|
230
|
+
* priced. The row is selected by the measure this run actually recorded, not just by model+vendor: a model with
|
|
231
|
+
* rows in two measures would otherwise hand back whichever started most recently and be refused, reporting a
|
|
232
|
+
* measure mismatch where the real answer was "pick the other row".
|
|
233
|
+
*/
|
|
234
|
+
resolveDefaultPricing(recorded) {
|
|
235
|
+
const costRow = AIEngineBase.Instance.GetActiveModelCost(this.ModelID, this.VendorID, this.ResolveProcessingType(), recorded.unitsKind ?? 'Tokens');
|
|
236
|
+
if (!costRow) {
|
|
237
|
+
LogError(`No active cost configuration priced in ${recorded.unitsKind ?? 'Tokens'} found for ` +
|
|
238
|
+
`Model: ${this.ModelID}, Vendor: ${this.VendorID}`);
|
|
239
|
+
return null;
|
|
240
|
+
}
|
|
241
|
+
// Resolve the calculator the cost row's unit type names (logs and returns null when
|
|
242
|
+
// the unit type or its driver class is missing)
|
|
243
|
+
const calculator = AIEngineBase.Instance.GetPriceCalculator(costRow);
|
|
244
|
+
const usage = calculator ? this.BuildNormalizedUsage(calculator, recorded) : null;
|
|
245
|
+
return calculator && usage ? { CostRow: costRow, Calculator: calculator, Usage: usage } : null;
|
|
246
|
+
}
|
|
247
|
+
/**
|
|
248
|
+
* The run's avatar video line, priced from the model vendor's resolved configuration; `null` when the run stored
|
|
249
|
+
* no avatar video, or when the video cannot be priced on its own line (one log line), in which case it prices as
|
|
250
|
+
* before.
|
|
251
|
+
*/
|
|
252
|
+
priceAvatarVideo(record, rowCurrency) {
|
|
253
|
+
const pricing = PriceAvatarVideoOutput(record, this.resolveModelConfiguration(), rowCurrency);
|
|
254
|
+
if (pricing?.Priced === false) {
|
|
255
|
+
LogStatus(`[AIPromptRun cost] AIPromptRun ${this.ID}: avatar video is priced as before, not on its own line: ` +
|
|
256
|
+
`${AVATAR_VIDEO_UNPRICED_REASONS[pricing.Reason]}.`);
|
|
257
|
+
}
|
|
258
|
+
return pricing?.Priced ? pricing : null;
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* The model configuration the run's model resolves to on its vendor (type < model < vendor defaults < model
|
|
262
|
+
* vendor). The model-vendor row is the run's vendor's inference-provider row, or any row for that vendor.
|
|
263
|
+
*/
|
|
264
|
+
resolveModelConfiguration() {
|
|
265
|
+
const engine = AIEngineBase.Instance;
|
|
266
|
+
const rows = (engine.ModelVendorsByModelID.get(NormalizeUUID(this.ModelID)) ?? []).filter((row) => UUIDsEqual(row.VendorID, this.VendorID));
|
|
267
|
+
const modelVendor = rows.find((row) => engine.IsInferenceProvider(row)) ?? rows[0];
|
|
268
|
+
return engine.GetEffectiveModelConfiguration(this.ModelID, modelVendor?.ID);
|
|
269
|
+
}
|
|
270
|
+
/** The default row's quantities without the output tokens a priced video line covers (logged when they ran out). */
|
|
271
|
+
withoutVideoTokens(usage, video) {
|
|
272
|
+
const exclusion = ExcludeAvatarVideoTokens(usage, video.VideoTokens);
|
|
273
|
+
if (exclusion.Clamped) {
|
|
274
|
+
LogStatus(`[AIPromptRun cost] AIPromptRun ${this.ID}: ${video.VideoTokens} video tokens exceed the ${usage.output} ` +
|
|
275
|
+
`output tokens recorded; the default line prices no output.`);
|
|
276
|
+
}
|
|
277
|
+
return exclusion.Usage;
|
|
278
|
+
}
|
|
279
|
+
/** Sets the run's cost; a root run's total is its cost, a child's is rolled up by its parent. */
|
|
280
|
+
setCost(cost, currency) {
|
|
281
|
+
this.Cost = cost;
|
|
282
|
+
this.CostCurrency = currency;
|
|
283
|
+
if (!this.ParentID) {
|
|
284
|
+
this.TotalCost = cost;
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
/** Writes the run's cost lines into its details, beside the usage record they price. */
|
|
288
|
+
writeCostLines(lines) {
|
|
289
|
+
const details = WriteCostLines(this.ModelSpecificResponseDetails, lines);
|
|
290
|
+
if (details !== null) {
|
|
291
|
+
this.ModelSpecificResponseDetails = details;
|
|
292
|
+
}
|
|
293
|
+
}
|
|
229
294
|
/**
|
|
230
295
|
* Resolves the processing type for active model cost resolution ('Realtime' vs 'Batch').
|
|
231
296
|
* Returns 'Realtime' by default. Batch producers (such as offline batch evaluation
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MJAIPromptRunEntityServer.server.js","sourceRoot":"","sources":["../../src/custom/MJAIPromptRunEntityServer.server.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAqB,QAAQ,EAAwC,MAAM,sBAAsB,CAAC;AACrH,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAsC,MAAM,gCAAgC,CAAC;AAgClG;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAA0B;IACvD,MAAM,gBAAgB,GAAG,QAAQ,CAAC,YAAY,GAAG,QAAQ,CAAC,eAAe,GAAG,QAAQ,CAAC,gBAAgB,CAAC;IACtG,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,GAAG,QAAQ,CAAC,WAAW,CAAC;IAC9D,OAAO,gBAAgB,GAAG,CAAC,IAAI,QAAQ,CAAC,gBAAgB,GAAG,CAAC,IAAI,UAAU,GAAG,CAAC,CAAC;AACnF,CAAC;AAED,gDAAgD;AAChD,MAAM,UAAU,gBAAgB,CAAC,QAA0B;IACvD,OAAO,gBAAgB,CAAC,QAAQ,CAAC,CAAC;AACtC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CAClC,QAA0B,EAC1B,cAAkC;IAElC,iGAAiG;IACjG,gGAAgG;IAChG,gGAAgG;IAChG,iGAAiG;IACjG,kGAAkG;IAClG,IAAI,QAAQ,CAAC,SAAS,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,CAAC,IAAI,QAAQ,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE,CAAC;QACtF,OAAO;YACH,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,gBAAgB,QAAQ,CAAC,UAAU,YAAY,QAAQ,CAAC,WAAW,uBAAuB;gBAC9F,gEAAgE;SACvE,CAAC;IACN,CAAC;IAED,MAAM,YAAY,GAAuB,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC;IAExE,gGAAgG;IAChG,gGAAgG;IAChG,gFAAgF;IAChF,iGAAiG;IACjG,uDAAuD;IACvD,EAAE;IACF,+FAA+F;IAC/F,iGAAiG;IACjG,+FAA+F;IAC/F,qFAAqF;IACrF,+FAA+F;IAC/F,+FAA+F;IAC/F,8FAA8F;IAC9F,IAAI,YAAY,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,CAAC,IAAI,QAAQ,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE,CAAC;QACrF,OAAO;YACH,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,gBAAgB,QAAQ,CAAC,UAAU,YAAY,QAAQ,CAAC,WAAW,4BAA4B;gBACnG,kGAAkG;gBAClG,qBAAqB;SAC5B,CAAC;IACN,CAAC;IAED,4FAA4F;IAC5F,6FAA6F;IAC7F,4FAA4F;IAC5F,2FAA2F;IAC3F,wFAAwF;IACxF,wFAAwF;IACxF,kEAAkE;IAClE,IAAI,YAAY,KAAK,QAAQ,IAAI,QAAQ,CAAC,UAAU,KAAK,CAAC,IAAI,QAAQ,CAAC,WAAW,KAAK,CAAC,EAAE,CAAC;QACvF,OAAO;YACH,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,yBAAyB,YAAY,gDAAgD;gBACzF,mDAAmD;SAC1D,CAAC;IACN,CAAC;IAED,IAAI,cAAc,KAAK,YAAY,EAAE,CAAC;QAClC,OAAO;YACH,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,yBAAyB,YAAY,kCAAkC,cAAc,EAAE;gBAC3F,oCAAoC;SAC3C,CAAC;IACN,CAAC;IAED,IAAI,YAAY,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO;YACH,EAAE,EAAE,IAAI;YACR,KAAK,EAAE;gBACH,KAAK,EAAE,QAAQ,CAAC,YAAY;gBAC5B,MAAM,EAAE,QAAQ,CAAC,gBAAgB;gBACjC,SAAS,EAAE,QAAQ,CAAC,eAAe;gBACnC,UAAU,EAAE,QAAQ,CAAC,gBAAgB;aACxC;SACJ,CAAC;IACN,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;AAC7F,CAAC;AAED,sDAAsD;AACtD,MAAM,UAAU,sBAAsB,CAClC,QAA0B,EAC1B,cAAkC;IAElC,OAAO,sBAAsB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;AAC5D,CAAC;AAED;;;;;;GAMG;AAEI,IAAM,yBAAyB,GAA/B,MAAM,yBAA0B,SAAQ,2BAA2B;IAEtE;;OAEG;IACM,KAAK,CAAC,IAAI,CAAC,OAA2B;QAC3C,IAAI,CAAC;YACD,sCAAsC;YACtC,MAAM,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAEvD,IAAI,mBAAmB,EAAE,CAAC;gBACtB,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACrC,CAAC;YAED,uGAAuG;YACvG,IAAI,IAAI,CAAC,OAAO,KAAK,gBAAgB,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,IAAI,IAAI,CAAC,cAAc,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;gBAC7G,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;YACtC,CAAC;YAED,sEAAsE;YACtE,IAAI,CAAC,eAAe,EAAE,CAAC;YAEvB,gDAAgD;YAChD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAEzC,0FAA0F;YAC1F,8CAA8C;YAC9C,IAAI,MAAM,IAAI,mBAAmB,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;gBACtE,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;YACzC,CAAC;YAED,OAAO,MAAM,CAAC;QAClB,CAAC;QACD,OAAO,GAAG,EAAE,CAAC;YACT,QAAQ,CAAC,4CAA4C,GAAG,EAAE,CAAC,CAAC;YAC5D,MAAM,GAAG,CAAC;QACd,CAAC;IACL,CAAC;IAED;;;OAGG;IACO,mBAAmB;QACzB,oDAAoD;QACpD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACpB,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,wEAAwE;QACxE,yDAAyD;QACzD,MAAM,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;QAC7C,MAAM,kBAAkB,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,EAAE,KAAK,CAAC;QAErD,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,2CAA2C;QAC3C,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACrC,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,yFAAyF;QACzF,0FAA0F;QAC1F,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC;YAC1C,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,yCAAyC;QACzC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClC,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,mBAAmB;QAC/B,IAAI,CAAC;YACD,+BAA+B;YAC/B,MAAM,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAEnE,6EAA6E;YAC7E,sFAAsF;YACtF,qFAAqF;YACrF,wCAAwC;YACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YACtC,MAAM,UAAU,GAAG,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CACvD,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,qBAAqB,EAAE,EAC5B,QAAQ,CAAC,SAAS,IAAI,QAAQ,CACjC,CAAC;YAEF,IAAI,CAAC,UAAU,EAAE,CAAC;gBACd,QAAQ,CACJ,0CAA0C,QAAQ,CAAC,SAAS,IAAI,QAAQ,aAAa;oBACrF,UAAU,IAAI,CAAC,OAAO,aAAa,IAAI,CAAC,QAAQ,EAAE,CACrD,CAAC;gBACF,OAAO;YACX,CAAC;YAED,oFAAoF;YACpF,gDAAgD;YAChD,MAAM,eAAe,GAAG,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;YAC7E,IAAI,CAAC,eAAe,EAAE,CAAC;gBACnB,OAAO;YACX,CAAC;YAED,MAAM,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;YACnE,IAAI,CAAC,KAAK,EAAE,CAAC;gBACT,OAAO;YACX,CAAC;YAED,0FAA0F;YAC1F,4EAA4E;YAC5E,yFAAyF;YACzF,uFAAuF;YACvF,sFAAsF;YACtF,0FAA0F;YAC1F,2EAA2E;YAC3E,MAAM,cAAc,GAAG,eAAe,CAAC,aAAa,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAExE,sBAAsB;YACtB,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;YAC3B,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC;YAExC,mDAAmD;YACnD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACjB,kDAAkD;gBAClD,IAAI,CAAC,SAAS,GAAG,cAAc,CAAC;YACpC,CAAC;YACD,8DAA8D;QAElE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,QAAQ,CAAC,0CAA0C,IAAI,CAAC,EAAE,KAAK,GAAG,EAAE,CAAC,CAAC;YACtE,8EAA8E;QAClF,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACO,qBAAqB;QAC3B,OAAO,UAAU,CAAC;IACtB,CAAC;IAED;;;;;;;;;;;;;OAaG;IACO,aAAa;QACnB,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC1G,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;YACzB,QAAQ,CACJ,eAAe,IAAI,CAAC,EAAE,0BAA0B,IAAI,CAAC,WAAW,wBAAwB;gBACxF,6CAA6C,CAChD,CAAC;QACN,CAAC;QACD,OAAO;YACH,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,CAAC;YACpC,eAAe,EAAE,IAAI,CAAC,eAAe,IAAI,CAAC;YAC1C,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,IAAI,CAAC;YAC5C,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,IAAI,CAAC;YAC5C,SAAS,EAAE,aAA0C;YACrD,UAAU,EAAE,IAAI,CAAC,cAAc,IAAI,CAAC;YACpC,WAAW,EAAE,IAAI,CAAC,eAAe,IAAI,CAAC;SACzC,CAAC;IACN,CAAC;IAED;;;;;;;OAOG;IACO,oBAAoB,CAC1B,eAAkC,EAClC,WAA6B,IAAI,CAAC,aAAa,EAAE;QAEjD,MAAM,MAAM,GAAG,sBAAsB,CAAC,QAAQ,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC1E,IAAI,MAAM,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC;YACtB,QAAQ,CAAC,2BAA2B,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;YAClE,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,MAAM,CAAC,KAAK,CAAC;IACxB,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,uBAAuB;QACnC,IAAI,CAAC;YACD,qDAAqD;YACrD,MAAM,EAAE,GAAG,IAAI,CAAC,aAAyC,CAAC;YAC1D,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,eAAe,CACnC,oBAAoB,EACpB,IAAI,CAAC,kBAAkB,CAC1B,CAAC;YAEF,IAAI,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACnC,sCAAsC;gBACtC,MAAM,MAAM,CAAC,oBAAoB,EAAE,CAAC;gBACpC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YACxB,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,QAAQ,CAAC,wCAAwC,GAAG,EAAE,CAAC,CAAC;QAC5D,CAAC;IACL,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,oBAAoB;QAC7B,IAAI,CAAC;YACD,qCAAqC;YACrC,IAAI,cAAc,GAAG,CAAC,CAAC;YAEvB,qBAAqB;YACrB,MAAM,EAAE,GAAG,IAAI,CAAC,oBAAoB,CAAC;YACrC,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC;gBAC/B,UAAU,EAAE,oBAAoB;gBAChC,WAAW,EAAE,eAAe,IAAI,CAAC,EAAE,GAAG;gBACtC,UAAU,EAAE,QAAQ;aACvB,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAE5B,IAAI,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;gBACzC,+BAA+B;gBAC/B,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;oBACpC,IAAI,KAAK,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;wBAC1B,cAAc,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;oBAC9C,CAAC;gBACL,CAAC;YACL,CAAC;YAED,6BAA6B;YAC7B,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACzC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,QAAQ,CAAC,iDAAiD,IAAI,CAAC,EAAE,KAAK,GAAG,EAAE,CAAC,CAAC;QACjF,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,IAAW,cAAc,CAAC,KAAa;QACnC,KAAK,CAAC,cAAc,GAAG,KAAK,CAAC,CAAC,6BAA6B;QAC3D,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,oBAAoB;IAChD,CAAC;IACD,sDAAsD;IACtD,IAAW,cAAc;QACrB,OAAO,KAAK,CAAC,cAAc,CAAC,CAAC,6BAA6B;IAC9D,CAAC;IAED;;;;OAIG;IACH,IAAW,IAAI,CAAC,KAAa;QACzB,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,6BAA6B;QACjD,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,oBAAoB;IAChD,CAAC;IACD,sDAAsD;IACtD,IAAW,IAAI;QACX,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,6BAA6B;IACpD,CAAC;IACD;;;;;OAKG;IACO,eAAe;QACrB,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,cAAc,GAAG,IAAI,CAAC,CAAC,oBAAoB;IAChE,CAAC;CACJ,CAAA;AA5SY,yBAAyB;IADrC,aAAa,CAAC,UAAU,EAAE,oBAAoB,CAAC;GACnC,yBAAyB,CA4SrC"}
|
|
1
|
+
{"version":3,"file":"MJAIPromptRunEntityServer.server.js","sourceRoot":"","sources":["../../src/custom/MJAIPromptRunEntityServer.server.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
9
9
|
};
|
|
10
10
|
import { BaseEntity, EntityInfo, LogError, LogStatus, Metadata } from "@memberjunction/core";
|
|
11
11
|
import { MJApplicationEntity } from "@memberjunction/core-entities";
|
|
12
|
-
import { RegisterClass, UUIDsEqual } from "@memberjunction/global";
|
|
12
|
+
import { GroupByUUID, RegisterClass, UUIDsEqual } from "@memberjunction/global";
|
|
13
13
|
/**
|
|
14
14
|
* Server-Only custom sub-class for Applications entity.
|
|
15
15
|
* Handles:
|
|
@@ -199,17 +199,19 @@ let MJApplicationEntityServer = class MJApplicationEntityServer extends MJApplic
|
|
|
199
199
|
const users = (usersResult.Results ?? []);
|
|
200
200
|
const allUserApps = (allUserAppsResult.Results ?? []);
|
|
201
201
|
LogStatus(`Found ${users.length} active users`);
|
|
202
|
+
// Group once rather than scanning every user's applications for every user.
|
|
203
|
+
const userAppsByUser = GroupByUUID(allUserApps, ua => ua.UserID);
|
|
202
204
|
// For each user, create a UserApplication record
|
|
203
205
|
for (const user of users) {
|
|
206
|
+
const userApps = userAppsByUser.Get(user.ID) ?? [];
|
|
204
207
|
// Filter existing UserApplications for this user/app combination (client-side)
|
|
205
|
-
const existingForUserApp =
|
|
208
|
+
const existingForUserApp = userApps.filter(ua => UUIDsEqual(ua.ApplicationID, this.ID));
|
|
206
209
|
// Skip if already exists
|
|
207
210
|
if (existingForUserApp.length > 0) {
|
|
208
211
|
LogStatus(`UserApplication already exists for user ${user.Name}, skipping`);
|
|
209
212
|
continue;
|
|
210
213
|
}
|
|
211
214
|
// Calculate sequence using DefaultSequence to place the app in its intended position
|
|
212
|
-
const userApps = allUserApps.filter((ua) => UUIDsEqual(ua.UserID, user.ID));
|
|
213
215
|
const sequence = this.calculateSequenceFromDefault(userApps);
|
|
214
216
|
// Create new UserApplication record
|
|
215
217
|
const userApp = await md.GetEntityObject('MJ: User Applications', this.ContextCurrentUser);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MJApplicationEntityServer.server.js","sourceRoot":"","sources":["../../src/custom/MJApplicationEntityServer.server.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAwB,UAAU,EAA0C,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAA8B,MAAM,sBAAsB,CAAC;AACvL,OAAO,EAAE,mBAAmB,EAA2B,MAAM,+BAA+B,CAAC;AAC7F,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"MJApplicationEntityServer.server.js","sourceRoot":"","sources":["../../src/custom/MJApplicationEntityServer.server.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAwB,UAAU,EAA0C,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAA8B,MAAM,sBAAsB,CAAC;AACvL,OAAO,EAAE,mBAAmB,EAA2B,MAAM,+BAA+B,CAAC;AAC7F,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEhF;;;;;;;GAOG;AAEI,IAAM,yBAAyB,GAA/B,MAAM,yBAA0B,SAAQ,mBAAmB;IAC9D,YAAY,MAAkB,EAAE,WAAuC,IAAI;QACvE,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAExB,0CAA0C;QAC1C,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC,CAAC,2DAA2D;QACtF,IAAI,EAAE,CAAC,YAAY,KAAK,UAAU;YAC9B,MAAM,IAAI,KAAK,CAAC,6GAA6G,CAAC,CAAC;IACvI,CAAC;IAED;;;;OAIG;IACa,KAAK,CAAC,IAAI,CAAC,OAA2B;QAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAgD,CAAC;QAEvE,yDAAyD;QACzD,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAE9B,0BAA0B;QAC1B,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;QAClC,MAAM,sBAAsB,GAAG,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;QACxE,MAAM,oBAAoB,GAAG,CAAC,WAAW,IAAI,CAAC,sBAAsB,CAAC,KAAK;YACtE,CAAC,CAAC,IAAI,CAAC,iBAAiB;YACxB,CAAC,CAAC,KAAK,CAAC;QACZ,MAAM,sBAAsB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAEtD,yDAAyD;QACzD,MAAM,oBAAoB,GAAG,sBAAsB,IAAI,CACnD,WAAW,IAAI,qCAAqC;YACpD,CAAC,CAAC,oBAAoB,IAAI,sBAAsB,CAAC,CAAC,6BAA6B;SAClF,CAAC;QAEF,oBAAoB;QACpB,MAAM,QAAQ,CAAC,gBAAgB,EAAE,CAAC;QAElC,IAAI,CAAC;YACD,6BAA6B;YAC7B,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC7B,MAAM,QAAQ,CAAC,mBAAmB,EAAE,CAAC;gBACrC,OAAO,KAAK,CAAC;YACjB,CAAC;YAED,2CAA2C;YAC3C,IAAI,oBAAoB,EAAE,CAAC;gBACvB,MAAM,IAAI,CAAC,iCAAiC,EAAE,CAAC;YACnD,CAAC;YAED,qBAAqB;YACrB,MAAM,QAAQ,CAAC,iBAAiB,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACP,oBAAoB;YACpB,MAAM,QAAQ,CAAC,mBAAmB,EAAE,CAAC;YACrC,QAAQ,CAAC,8BAA8B,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC;YACxD,MAAM,CAAC,CAAC;QACZ,CAAC;IACL,CAAC;IAED;;;;OAIG;IACO,KAAK,CAAC,gBAAgB;QAC5B,+CAA+C;QAC/C,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACvB,OAAO;QACX,CAAC;QAED,sDAAsD;QACtD,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;QAElC,IAAI,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAChD,OAAO,CAAC,8CAA8C;QAC1D,CAAC;QAED,+BAA+B;QAC/B,IAAI,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEpD,mDAAmD;QACnD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAEzD,eAAe;QACf,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACO,oBAAoB,CAAC,IAAY;QACvC,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,OAAO,EAAE,CAAC;QACd,CAAC;QAED,OAAO,IAAI;aACN,WAAW,EAAE;aACb,IAAI,EAAE;aACN,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAW,gCAAgC;aAC/D,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAM,kCAAkC;aACjE,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAG,kCAAkC;aACjE,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAW,8BAA8B;aAC7D,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAY,4BAA4B;aAC3D,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAS,kCAAkC;IAC1E,CAAC;IAED;;;OAGG;IACO,KAAK,CAAC,gBAAgB,CAAC,QAAgB;QAC7C,MAAM,EAAE,GAAG,IAAI,CAAC,oBAAoB,CAAC;QAErC,kEAAkE;QAClE,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAAsB;YACjD,UAAU,EAAE,kBAAkB;YAC9B,WAAW,EAAE,WAAW,QAAQ,mBAAmB,QAAQ,KAAK;YAChE,UAAU,EAAE,QAAQ;SACvB,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAE5B,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpE,OAAO,QAAQ,CAAC,CAAC,8BAA8B;QACnD,CAAC;QAED,kDAAkD;QAClD,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO;aAC/B,MAAM,CAAC,CAAC,GAAmB,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;aAC7D,GAAG,CAAC,CAAC,GAAqB,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAE9C,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,QAAQ,CAAC,CAAC,oCAAoC;QACzD,CAAC;QAED,oCAAoC;QACpC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpC,OAAO,QAAQ,CAAC;QACpB,CAAC;QAED,wCAAwC;QACxC,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,OAAO,aAAa,CAAC,QAAQ,CAAC,GAAG,QAAQ,IAAI,MAAM,EAAE,CAAC,EAAE,CAAC;YACrD,MAAM,EAAE,CAAC;QACb,CAAC;QAED,OAAO,GAAG,QAAQ,IAAI,MAAM,EAAE,CAAC;IACnC,CAAC;IAED;;;;;OAKG;IACO,4BAA4B,CAAC,gBAAsC;QACzE,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,IAAI,GAAG,CAAC;QAE/C,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,OAAO,UAAU,CAAC;QACtB,CAAC;QAED,+DAA+D;QAC/D,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC;QAChF,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YACrC,OAAO,UAAU,CAAC;QACtB,CAAC;QAED,+DAA+D;QAC/D,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,iBAAiB,CAAC,CAAC;QACnD,OAAO,WAAW,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,iCAAiC;QAC7C,IAAI,CAAC;YACD,SAAS,CAAC,mEAAmE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAE1F,+DAA+D;YAC/D,8DAA8D;YAC9D,6DAA6D;YAC7D,oEAAoE;YACpE,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAgD,CAAC;YACvE,MAAM,EAAE,GAAG,QAAwC,CAAC;YACpD,MAAM,EAAE,GAAG,IAAI,CAAC,oBAAoB,CAAC;YAOrC,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YACtD,MAAM,CAAC,WAAW,EAAE,iBAAiB,CAAC,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC;gBACvD;oBACI,UAAU,EAAE,WAAW;oBACvB,WAAW,EAAE,cAAc,OAAO,EAAE;oBACpC,UAAU,EAAE,QAAQ;iBACvB;gBACD;oBACI,UAAU,EAAE,uBAAuB;oBACnC,WAAW,EAAE,EAAE,EAAE,4BAA4B;oBAC7C,UAAU,EAAE,QAAQ;iBACvB;aACJ,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAE5B,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CAAC,yBAAyB,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC;YACzE,CAAC;YAED,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CAAC,qCAAqC,iBAAiB,CAAC,YAAY,EAAE,CAAC,CAAC;YAC3F,CAAC;YAED,MAAM,KAAK,GAAG,CAAC,WAAW,CAAC,OAAO,IAAI,EAAE,CAAc,CAAC;YACvD,MAAM,WAAW,GAAG,CAAC,iBAAiB,CAAC,OAAO,IAAI,EAAE,CAAiB,CAAC;YAEtE,SAAS,CAAC,SAAS,KAAK,CAAC,MAAM,eAAe,CAAC,CAAC;YAChD,4EAA4E;YAC5E,MAAM,cAAc,GAAG,WAAW,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;YAEjE,iDAAiD;YACjD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACvB,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;gBACnD,+EAA+E;gBAC/E,MAAM,kBAAkB,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBAExF,yBAAyB;gBACzB,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAChC,SAAS,CAAC,2CAA2C,IAAI,CAAC,IAAI,YAAY,CAAC,CAAC;oBAC5E,SAAS;gBACb,CAAC;gBAED,qFAAqF;gBACrF,MAAM,QAAQ,GAAG,IAAI,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAC;gBAE7D,oCAAoC;gBACpC,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,eAAe,CAA0B,uBAAuB,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBACpH,OAAO,CAAC,SAAS,EAAE,CAAC;gBACpB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;gBACzB,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC;gBAChC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;gBAC5B,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAExB,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;gBACxC,IAAI,UAAU,EAAE,CAAC;oBACb,SAAS,CAAC,oCAAoC,IAAI,CAAC,IAAI,kBAAkB,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACjG,CAAC;qBAAM,CAAC;oBACJ,MAAM,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;oBAC/F,QAAQ,CAAC,6CAA6C,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC,CAAC;gBACpF,CAAC;YACL,CAAC;YAED,SAAS,CAAC,uDAAuD,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAClF,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACP,QAAQ,CAAC,2CAA2C,EAAE,CAAC,CAAC,CAAC;YACzD,MAAM,CAAC,CAAC,CAAC,wCAAwC;QACrD,CAAC;IACL,CAAC;CACJ,CAAA;AAzQY,yBAAyB;IADrC,aAAa,CAAC,UAAU,EAAE,kBAAkB,CAAC;qCAEtB,UAAU;GADrB,yBAAyB,CAyQrC"}
|
|
@@ -42,7 +42,7 @@ let MJArtifactVersionEntityServer = class MJArtifactVersionEntityServer extends
|
|
|
42
42
|
}
|
|
43
43
|
// Automatically load attributes for this version
|
|
44
44
|
try {
|
|
45
|
-
const rv = new RunView();
|
|
45
|
+
const rv = new RunView(this.RunViewProviderToUse);
|
|
46
46
|
const result = await rv.RunView({
|
|
47
47
|
EntityName: 'MJ: Artifact Version Attributes',
|
|
48
48
|
ExtraFilter: `ArtifactVersionID='${this.ID}'`,
|
|
@@ -175,7 +175,7 @@ let MJArtifactVersionEntityServer = class MJArtifactVersionEntityServer extends
|
|
|
175
175
|
const operations = [];
|
|
176
176
|
const savedAttributes = [];
|
|
177
177
|
// Load existing attributes for this version
|
|
178
|
-
const rv = new RunView();
|
|
178
|
+
const rv = new RunView(this.RunViewProviderToUse);
|
|
179
179
|
const existingAttrsResult = await rv.RunView({
|
|
180
180
|
EntityName: 'MJ: Artifact Version Attributes',
|
|
181
181
|
ExtraFilter: `ArtifactVersionID='${this.ID}'`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MJArtifactVersionEntityServer.server.js","sourceRoot":"","sources":["../../src/custom/MJArtifactVersionEntityServer.server.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAA+B,OAAO,EAAE,QAAQ,EAAqB,MAAM,sBAAsB,CAAC;AACrH,OAAO,EAAE,uBAAuB,EAA4E,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACrK,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CAAC,OAAe;IACrD,OAAO,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AAC9C,CAAC;AAGM,IAAM,6BAA6B,GAAnC,MAAM,6BAA8B,SAAQ,uBAAuB;IAAnE;;QACK,uBAAkB,GAAiB,IAAI,CAAC;QACxC,sBAAiB,GAA8C,IAAI,CAAC;IAuRhF,CAAC;IArRG;;;;;OAKG;IACH,IAAW,UAAU;QACjB,OAAO,IAAI,CAAC,iBAAiB,IAAI,EAAE,CAAC;IACxC,CAAC;IAED;;OAEG;IACa,KAAK,CAAC,SAAS,CAAC,YAAiB,EAAE,yBAAoC;QACnF,6BAA6B;QAC7B,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,YAAY,EAAE,yBAAyB,CAAC,CAAC;QAE9E,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,iDAAiD;QACjD,IAAI,CAAC;YACD,MAAM,EAAE,GAAG,IAAI,OAAO,
|
|
1
|
+
{"version":3,"file":"MJArtifactVersionEntityServer.server.js","sourceRoot":"","sources":["../../src/custom/MJArtifactVersionEntityServer.server.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAA+B,OAAO,EAAE,QAAQ,EAAqB,MAAM,sBAAsB,CAAC;AACrH,OAAO,EAAE,uBAAuB,EAA4E,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACrK,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CAAC,OAAe;IACrD,OAAO,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AAC9C,CAAC;AAGM,IAAM,6BAA6B,GAAnC,MAAM,6BAA8B,SAAQ,uBAAuB;IAAnE;;QACK,uBAAkB,GAAiB,IAAI,CAAC;QACxC,sBAAiB,GAA8C,IAAI,CAAC;IAuRhF,CAAC;IArRG;;;;;OAKG;IACH,IAAW,UAAU;QACjB,OAAO,IAAI,CAAC,iBAAiB,IAAI,EAAE,CAAC;IACxC,CAAC;IAED;;OAEG;IACa,KAAK,CAAC,SAAS,CAAC,YAAiB,EAAE,yBAAoC;QACnF,6BAA6B;QAC7B,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,YAAY,EAAE,yBAAyB,CAAC,CAAC;QAE9E,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,iDAAiD;QACjD,IAAI,CAAC;YACD,MAAM,EAAE,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAClD,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAAmC;gBAC9D,UAAU,EAAE,iCAAiC;gBAC7C,WAAW,EAAE,sBAAsB,IAAI,CAAC,EAAE,GAAG;gBAC7C,UAAU,EAAE,eAAe;aAC9B,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAE5B,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnC,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,OAAO,CAAC;YAC5C,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;YAChC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,QAAQ,CAAC,iDAAiD,IAAI,CAAC,EAAE,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YACxH,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAChC,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACM,KAAK,CAAC,IAAI,CAAC,OAA2B;QAC3C,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,KAAK,KAAK,IAAI,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC;QAErF,IAAI,YAAY,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAC/B,IAAI,CAAC;gBACD,yCAAyC;gBACzC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAE3D,uEAAuE;gBACvE,4CAA4C;gBAC5C,IAAI,CAAC,gBAAgB,GAAG,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAEhE,8EAA8E;gBAC9E,MAAM,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAC1C,CAAC;YACD,OAAO,KAAK,EAAE,CAAC;gBACX,QAAQ,CAAC,+DAA+D,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YAC9H,CAAC;QACL,CAAC;QAED,uBAAuB;QACvB,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE7C,iEAAiE;QACjE,IAAI,UAAU,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9E,IAAI,CAAC;gBACD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBACjF,yDAAyD;gBACzD,IAAI,CAAC,iBAAiB,GAAG,eAAe,CAAC;gBACzC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC,2BAA2B;YAC/D,CAAC;YACD,OAAO,KAAK,EAAE,CAAC;gBACX,QAAQ,CAAC,kDAAkD,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC7G,kDAAkD;YACtD,CAAC;QACL,CAAC;QAED,OAAO,UAAU,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACO,oBAAoB,CAAC,OAAe;QAC1C,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACtE,CAAC;IAED;;;OAGG;IACO,KAAK,CAAC,wBAAwB;QACpC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAChB,OAAO,CAAC,qBAAqB;QACjC,CAAC;QAED,yCAAyC;QACzC,sEAAsE;QACtE,MAAM,EAAE,GAAG,IAAI,CAAC,aAAyC,CAAC;QAC1D,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,eAAe,CAAmB,eAAe,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACtG,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE5D,IAAI,CAAC,cAAc,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,oCAAoC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAC3E,CAAC;QAED,oDAAoD;QACpD,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAEhF,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,CAAC,4BAA4B;QACxC,CAAC;QAED,yCAAyC;QACzC,MAAM,YAAY,GAAG,iBAAiB,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;QAE9E,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,mBAAmB;QAC/B,CAAC;QAED,qBAAqB;QACrB,MAAM,gBAAgB,GAAG,MAAM,iBAAiB,CAAC,iBAAiB,CAAC;YAC/D,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,YAAY,EAAE,YAAY;YAC1B,YAAY,EAAE,KAAK,EAAE,8CAA8C;YACnE,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,KAAK;SACjB,CAAC,CAAC;QAEH,oDAAoD;QACpD,MAAM,SAAS,GAAG,iBAAiB,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAC7F,IAAI,SAAS,KAAK,IAAI,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;YACtD,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QAC1B,CAAC;QAED,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;QAC3G,IAAI,gBAAgB,KAAK,IAAI,IAAI,OAAO,gBAAgB,KAAK,QAAQ,EAAE,CAAC;YACpE,IAAI,CAAC,WAAW,GAAG,gBAAgB,CAAC;QACxC,CAAC;QAED,kFAAkF;QAClF,6EAA6E;QAC7E,0DAA0D;QAC1D,IAAI,CAAC,kBAAkB,GAAG,gBAAgB,CAAC,UAAU,CAAC;IAC1D,CAAC;IAED;;;;;;OAMG;IACO,KAAK,CAAC,oBAAoB,CAAC,UAAiB;QAClD,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC7E,CAAC;QAED,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzC,OAAO,EAAE,CAAC;QACd,CAAC;QAED,sEAAsE;QACtE,MAAM,EAAE,GAAG,IAAI,CAAC,aAAyC,CAAC;QAC1D,MAAM,UAAU,GAAuB,EAAE,CAAC;QAC1C,MAAM,eAAe,GAAuC,EAAE,CAAC;QAE/D,4CAA4C;QAC5C,MAAM,EAAE,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAClD,MAAM,mBAAmB,GAAG,MAAM,EAAE,CAAC,OAAO,CAAmC;YAC3E,UAAU,EAAE,iCAAiC;YAC7C,WAAW,EAAE,sBAAsB,IAAI,CAAC,EAAE,GAAG;YAC7C,UAAU,EAAE,eAAe;SAC9B,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAE5B,MAAM,aAAa,GAAG,mBAAmB,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9F,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QAE9E,mCAAmC;QACnC,MAAM,UAAU,GAAG,iBAAiB,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;QAErE,yCAAyC;QACzC,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;QAEzC,2CAA2C;QAC3C,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;YAChC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,YAAY,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAExD,qDAAqD;YACrD,IAAI,QAAQ,CAAC,KAAK,KAAK,IAAI,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC1D,IAAI,YAAY,EAAE,CAAC;oBACf,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC3C,CAAC;gBACD,SAAS;YACb,CAAC;YAED,4BAA4B;YAC5B,IAAI,YAAY,EAAE,CAAC;gBACf,YAAY,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;gBAClC,YAAY,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;gBACpC,YAAY,CAAC,gBAAgB,GAAI,QAAQ,CAAC,gBAAsF,IAAI,IAAI,CAAC;gBACzI,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;gBACrC,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACJ,uBAAuB;gBACvB,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,eAAe,CACpC,iCAAiC,EACjC,IAAI,CAAC,kBAAkB,CAC1B,CAAC;gBACF,OAAO,CAAC,SAAS,EAAE,CAAC;gBACpB,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,EAAE,CAAC;gBACpC,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;gBAC7B,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;gBAC7B,OAAO,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;gBAC/B,OAAO,CAAC,gBAAgB,GAAI,QAAQ,CAAC,gBAAsF,IAAI,IAAI,CAAC;gBACpI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;gBAChC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAClC,CAAC;QACL,CAAC;QAED,8DAA8D;QAC9D,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,eAAe,EAAE,CAAC;YACzC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5B,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YACnC,CAAC;QACL,CAAC;QAED,qCAAqC;QACrC,MAAM,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAE9B,OAAO,eAAe,CAAC;IAC3B,CAAC;IAED;;;;;OAKG;IACO,KAAK,CAAC,yBAAyB,CAAC,MAAc;QACpD,MAAM,SAAS,GAA2B,EAAE,CAAC;QAC7C,sEAAsE;QACtE,MAAM,EAAE,GAAG,IAAI,CAAC,aAAyC,CAAC;QAC1D,IAAI,aAAa,GAAkB,MAAM,CAAC;QAE1C,kEAAkE;QAClE,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,OAAO,aAAa,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YACnC,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,eAAe,CACzC,oBAAoB,EACpB,IAAI,CAAC,kBAAkB,CAC1B,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACtD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACV,MAAM,CAAC,iCAAiC;YAC5C,CAAC;YAED,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC7B,aAAa,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,iBAAiB;YACxD,QAAQ,EAAE,CAAC;QACf,CAAC;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ,CAAA;AAzRY,6BAA6B;IADzC,aAAa,CAAC,UAAU,EAAE,uBAAuB,CAAC;GACtC,6BAA6B,CAyRzC"}
|
|
@@ -2,7 +2,8 @@ import { EntitySaveOptions } from "@memberjunction/core";
|
|
|
2
2
|
import { MJConversationDetailEntityExtended } from "@memberjunction/core-entities";
|
|
3
3
|
/**
|
|
4
4
|
* Server-side subclass of MJConversationDetailEntity that automatically tracks
|
|
5
|
-
* when the original message content has been modified
|
|
5
|
+
* when the original message content has been modified, and checks the fork of
|
|
6
|
+
* each new message.
|
|
6
7
|
*
|
|
7
8
|
* When a user edits their message after initial creation, the OriginalMessageChanged
|
|
8
9
|
* flag is set to true, allowing the UI to display an "(Edited)" indicator. This is
|
|
@@ -24,13 +25,25 @@ import { MJConversationDetailEntityExtended } from "@memberjunction/core-entitie
|
|
|
24
25
|
* run server-side (`ProviderType === 'Database'`), which is exactly where it was being
|
|
25
26
|
* shadowed out. Inheriting composes the two behaviors instead: this class flags the edit,
|
|
26
27
|
* then delegates to the permission gate via `super.Save`.
|
|
28
|
+
*
|
|
29
|
+
* A new row keeps the `BranchID` its writer set (null is Main). On create, a non-null `BranchID`
|
|
30
|
+
* must name a fork of the same conversation; otherwise `Save` returns `false` with a result
|
|
31
|
+
* entry and nothing is written.
|
|
27
32
|
*/
|
|
28
33
|
export declare class MJConversationDetailEntityServer extends MJConversationDetailEntityExtended {
|
|
29
34
|
/**
|
|
30
|
-
*
|
|
31
|
-
*
|
|
35
|
+
* Sets the OriginalMessageChanged flag on a genuine message edit, checks a new row's fork,
|
|
36
|
+
* then calls super.Save(). Returns `false` without saving when the fork check fails.
|
|
32
37
|
*/
|
|
33
38
|
Save(options?: EntitySaveOptions): Promise<boolean>;
|
|
39
|
+
/**
|
|
40
|
+
* On create, a non-null BranchID must name a fork of the same conversation. Returns why the save
|
|
41
|
+
* must fail, or null when it may go on. An existing row, a Main row (null BranchID), a row with no
|
|
42
|
+
* ConversationID and a save with no context user are not checked.
|
|
43
|
+
*/
|
|
44
|
+
CheckBranchOnCreate(): Promise<string | null>;
|
|
45
|
+
/** Records a failed create in the result history, so callers see why nothing was written. */
|
|
46
|
+
private recordCreateFailure;
|
|
34
47
|
/**
|
|
35
48
|
* True when this save is a genuine Message EDIT on an existing record — not one of
|
|
36
49
|
* the framework's own Message rewrites:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MJConversationDetailEntityServer.server.d.ts","sourceRoot":"","sources":["../../src/custom/MJConversationDetailEntityServer.server.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"MJConversationDetailEntityServer.server.d.ts","sourceRoot":"","sources":["../../src/custom/MJConversationDetailEntityServer.server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,iBAAiB,EAAwC,MAAM,sBAAsB,CAAC;AAE7H,OAAO,EAAE,kCAAkC,EAAE,MAAM,+BAA+B,CAAC;AAEnF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBACa,gCAAiC,SAAQ,kCAAkC;IACpF;;;OAGG;IACY,IAAI,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;IAYlE;;;;OAIG;IACU,mBAAmB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAgC1D,6FAA6F;IAC7F,OAAO,CAAC,mBAAmB;IAU3B;;;;;;;;;;;OAWG;IACI,gCAAgC,IAAI,OAAO;CAiBrD"}
|