@memberjunction/react-runtime 5.50.0 → 6.1.0-edge.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +26 -18
- package/CHANGELOG.md +50 -0
- package/LICENSE +7 -0
- package/dist/324.runtime.umd.js +12 -12
- package/dist/{490.runtime.umd.js → 456.runtime.umd.js} +40 -40
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/runtime.umd.js +1037 -346
- package/dist/utilities/component-styles.d.ts +2 -1
- package/dist/utilities/component-styles.d.ts.map +1 -1
- package/dist/utilities/component-styles.js +79 -0
- package/dist/utilities/component-styles.js.map +1 -1
- package/dist/utilities/library-loader.d.ts.map +1 -1
- package/dist/utilities/library-loader.js +20 -5
- package/dist/utilities/library-loader.js.map +1 -1
- package/package.json +17 -17
- package/src/__tests__/component-styles.test.ts +252 -0
- package/src/__tests__/library-loader-load-order.test.ts +367 -0
- package/src/index.ts +2 -1
- package/src/utilities/component-styles.ts +130 -2
- package/src/utilities/library-loader.ts +32 -9
package/dist/runtime.umd.js
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
return /******/ (() => { // webpackBootstrap
|
|
12
12
|
/******/ var __webpack_modules__ = ({
|
|
13
13
|
|
|
14
|
-
/***/
|
|
14
|
+
/***/ 332
|
|
15
15
|
(module, exports, __webpack_require__) {
|
|
16
16
|
|
|
17
17
|
/* eslint-env browser */
|
|
@@ -271,7 +271,7 @@ function localstorage() {
|
|
|
271
271
|
}
|
|
272
272
|
}
|
|
273
273
|
|
|
274
|
-
module.exports = __webpack_require__(
|
|
274
|
+
module.exports = __webpack_require__(235)(exports);
|
|
275
275
|
|
|
276
276
|
const {formatters} = module.exports;
|
|
277
277
|
|
|
@@ -290,7 +290,7 @@ formatters.j = function (v) {
|
|
|
290
290
|
|
|
291
291
|
/***/ },
|
|
292
292
|
|
|
293
|
-
/***/
|
|
293
|
+
/***/ 235
|
|
294
294
|
(module, __unused_webpack_exports, __webpack_require__) {
|
|
295
295
|
|
|
296
296
|
|
|
@@ -306,7 +306,7 @@ function setup(env) {
|
|
|
306
306
|
createDebug.disable = disable;
|
|
307
307
|
createDebug.enable = enable;
|
|
308
308
|
createDebug.enabled = enabled;
|
|
309
|
-
createDebug.humanize = __webpack_require__(
|
|
309
|
+
createDebug.humanize = __webpack_require__(207);
|
|
310
310
|
createDebug.destroy = destroy;
|
|
311
311
|
|
|
312
312
|
Object.keys(env).forEach(key => {
|
|
@@ -589,7 +589,7 @@ module.exports = setup;
|
|
|
589
589
|
|
|
590
590
|
/***/ },
|
|
591
591
|
|
|
592
|
-
/***/
|
|
592
|
+
/***/ 923
|
|
593
593
|
(module, exports, __webpack_require__) {
|
|
594
594
|
|
|
595
595
|
/* module decorator */ module = __webpack_require__.nmd(module);
|
|
@@ -17838,7 +17838,7 @@ var __WEBPACK_AMD_DEFINE_RESULT__;/**
|
|
|
17838
17838
|
|
|
17839
17839
|
/***/ },
|
|
17840
17840
|
|
|
17841
|
-
/***/
|
|
17841
|
+
/***/ 207
|
|
17842
17842
|
(module) {
|
|
17843
17843
|
|
|
17844
17844
|
/**
|
|
@@ -18007,15 +18007,15 @@ function plural(ms, msAbs, n, name) {
|
|
|
18007
18007
|
|
|
18008
18008
|
/***/ },
|
|
18009
18009
|
|
|
18010
|
-
/***/
|
|
18010
|
+
/***/ 562
|
|
18011
18011
|
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
18012
18012
|
|
|
18013
18013
|
"use strict";
|
|
18014
18014
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
18015
18015
|
/* harmony export */ t: () => (/* binding */ BehaviorSubject)
|
|
18016
18016
|
/* harmony export */ });
|
|
18017
|
-
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
|
|
18018
|
-
/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
|
|
18017
|
+
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198);
|
|
18018
|
+
/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(291);
|
|
18019
18019
|
|
|
18020
18020
|
|
|
18021
18021
|
var BehaviorSubject = (function (_super) {
|
|
@@ -18055,7 +18055,7 @@ var BehaviorSubject = (function (_super) {
|
|
|
18055
18055
|
|
|
18056
18056
|
/***/ },
|
|
18057
18057
|
|
|
18058
|
-
/***/
|
|
18058
|
+
/***/ 942
|
|
18059
18059
|
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
18060
18060
|
|
|
18061
18061
|
"use strict";
|
|
@@ -18065,18 +18065,18 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
18065
18065
|
c: () => (/* binding */ Observable)
|
|
18066
18066
|
});
|
|
18067
18067
|
|
|
18068
|
-
// EXTERNAL MODULE: ../../../node_modules/rxjs/dist/esm5/internal/Subscriber.js + 1 modules
|
|
18069
|
-
var Subscriber = __webpack_require__(
|
|
18070
|
-
// EXTERNAL MODULE: ../../../node_modules/rxjs/dist/esm5/internal/Subscription.js + 1 modules
|
|
18071
|
-
var Subscription = __webpack_require__(
|
|
18072
|
-
// EXTERNAL MODULE: ../../../node_modules/rxjs/dist/esm5/internal/symbol/observable.js
|
|
18073
|
-
var observable = __webpack_require__(
|
|
18074
|
-
;// ../../../node_modules/rxjs/dist/esm5/internal/util/identity.js
|
|
18068
|
+
// EXTERNAL MODULE: ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/Subscriber.js + 1 modules
|
|
18069
|
+
var Subscriber = __webpack_require__(380);
|
|
18070
|
+
// EXTERNAL MODULE: ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/Subscription.js + 1 modules
|
|
18071
|
+
var Subscription = __webpack_require__(112);
|
|
18072
|
+
// EXTERNAL MODULE: ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/symbol/observable.js
|
|
18073
|
+
var observable = __webpack_require__(348);
|
|
18074
|
+
;// ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/identity.js
|
|
18075
18075
|
function identity(x) {
|
|
18076
18076
|
return x;
|
|
18077
18077
|
}
|
|
18078
18078
|
//# sourceMappingURL=identity.js.map
|
|
18079
|
-
;// ../../../node_modules/rxjs/dist/esm5/internal/util/pipe.js
|
|
18079
|
+
;// ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/pipe.js
|
|
18080
18080
|
|
|
18081
18081
|
function pipe() {
|
|
18082
18082
|
var fns = [];
|
|
@@ -18097,13 +18097,13 @@ function pipeFromArray(fns) {
|
|
|
18097
18097
|
};
|
|
18098
18098
|
}
|
|
18099
18099
|
//# sourceMappingURL=pipe.js.map
|
|
18100
|
-
// EXTERNAL MODULE: ../../../node_modules/rxjs/dist/esm5/internal/config.js
|
|
18101
|
-
var config = __webpack_require__(
|
|
18102
|
-
// EXTERNAL MODULE: ../../../node_modules/rxjs/dist/esm5/internal/util/isFunction.js
|
|
18103
|
-
var isFunction = __webpack_require__(
|
|
18104
|
-
// EXTERNAL MODULE: ../../../node_modules/rxjs/dist/esm5/internal/util/errorContext.js
|
|
18105
|
-
var errorContext = __webpack_require__(
|
|
18106
|
-
;// ../../../node_modules/rxjs/dist/esm5/internal/Observable.js
|
|
18100
|
+
// EXTERNAL MODULE: ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/config.js
|
|
18101
|
+
var config = __webpack_require__(656);
|
|
18102
|
+
// EXTERNAL MODULE: ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/isFunction.js
|
|
18103
|
+
var isFunction = __webpack_require__(41);
|
|
18104
|
+
// EXTERNAL MODULE: ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/errorContext.js
|
|
18105
|
+
var errorContext = __webpack_require__(640);
|
|
18106
|
+
;// ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/Observable.js
|
|
18107
18107
|
|
|
18108
18108
|
|
|
18109
18109
|
|
|
@@ -18209,16 +18209,16 @@ function isSubscriber(value) {
|
|
|
18209
18209
|
|
|
18210
18210
|
/***/ },
|
|
18211
18211
|
|
|
18212
|
-
/***/
|
|
18212
|
+
/***/ 205
|
|
18213
18213
|
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
18214
18214
|
|
|
18215
18215
|
"use strict";
|
|
18216
18216
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
18217
18217
|
/* harmony export */ m: () => (/* binding */ ReplaySubject)
|
|
18218
18218
|
/* harmony export */ });
|
|
18219
|
-
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
|
|
18220
|
-
/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
|
|
18221
|
-
/* harmony import */ var _scheduler_dateTimestampProvider__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
|
|
18219
|
+
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198);
|
|
18220
|
+
/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(291);
|
|
18221
|
+
/* harmony import */ var _scheduler_dateTimestampProvider__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(987);
|
|
18222
18222
|
|
|
18223
18223
|
|
|
18224
18224
|
|
|
@@ -18280,7 +18280,7 @@ var ReplaySubject = (function (_super) {
|
|
|
18280
18280
|
|
|
18281
18281
|
/***/ },
|
|
18282
18282
|
|
|
18283
|
-
/***/
|
|
18283
|
+
/***/ 291
|
|
18284
18284
|
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
18285
18285
|
|
|
18286
18286
|
"use strict";
|
|
@@ -18292,15 +18292,15 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
18292
18292
|
|
|
18293
18293
|
// UNUSED EXPORTS: AnonymousSubject
|
|
18294
18294
|
|
|
18295
|
-
// EXTERNAL MODULE: ../../../node_modules/tslib/tslib.es6.mjs
|
|
18296
|
-
var tslib_es6 = __webpack_require__(
|
|
18297
|
-
// EXTERNAL MODULE: ../../../node_modules/rxjs/dist/esm5/internal/Observable.js + 2 modules
|
|
18298
|
-
var Observable = __webpack_require__(
|
|
18299
|
-
// EXTERNAL MODULE: ../../../node_modules/rxjs/dist/esm5/internal/Subscription.js + 1 modules
|
|
18300
|
-
var Subscription = __webpack_require__(
|
|
18301
|
-
// EXTERNAL MODULE: ../../../node_modules/rxjs/dist/esm5/internal/util/createErrorClass.js
|
|
18302
|
-
var createErrorClass = __webpack_require__(
|
|
18303
|
-
;// ../../../node_modules/rxjs/dist/esm5/internal/util/ObjectUnsubscribedError.js
|
|
18295
|
+
// EXTERNAL MODULE: ../../../node_modules/.pnpm/tslib@2.8.1/node_modules/tslib/tslib.es6.mjs
|
|
18296
|
+
var tslib_es6 = __webpack_require__(198);
|
|
18297
|
+
// EXTERNAL MODULE: ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/Observable.js + 2 modules
|
|
18298
|
+
var Observable = __webpack_require__(942);
|
|
18299
|
+
// EXTERNAL MODULE: ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/Subscription.js + 1 modules
|
|
18300
|
+
var Subscription = __webpack_require__(112);
|
|
18301
|
+
// EXTERNAL MODULE: ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/createErrorClass.js
|
|
18302
|
+
var createErrorClass = __webpack_require__(755);
|
|
18303
|
+
;// ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/ObjectUnsubscribedError.js
|
|
18304
18304
|
|
|
18305
18305
|
var ObjectUnsubscribedError = (0,createErrorClass/* createErrorClass */.L)(function (_super) {
|
|
18306
18306
|
return function ObjectUnsubscribedErrorImpl() {
|
|
@@ -18310,11 +18310,11 @@ var ObjectUnsubscribedError = (0,createErrorClass/* createErrorClass */.L)(funct
|
|
|
18310
18310
|
};
|
|
18311
18311
|
});
|
|
18312
18312
|
//# sourceMappingURL=ObjectUnsubscribedError.js.map
|
|
18313
|
-
// EXTERNAL MODULE: ../../../node_modules/rxjs/dist/esm5/internal/util/arrRemove.js
|
|
18314
|
-
var arrRemove = __webpack_require__(
|
|
18315
|
-
// EXTERNAL MODULE: ../../../node_modules/rxjs/dist/esm5/internal/util/errorContext.js
|
|
18316
|
-
var errorContext = __webpack_require__(
|
|
18317
|
-
;// ../../../node_modules/rxjs/dist/esm5/internal/Subject.js
|
|
18313
|
+
// EXTERNAL MODULE: ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/arrRemove.js
|
|
18314
|
+
var arrRemove = __webpack_require__(750);
|
|
18315
|
+
// EXTERNAL MODULE: ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/errorContext.js
|
|
18316
|
+
var errorContext = __webpack_require__(640);
|
|
18317
|
+
;// ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/Subject.js
|
|
18318
18318
|
|
|
18319
18319
|
|
|
18320
18320
|
|
|
@@ -18480,7 +18480,7 @@ var AnonymousSubject = (function (_super) {
|
|
|
18480
18480
|
|
|
18481
18481
|
/***/ },
|
|
18482
18482
|
|
|
18483
|
-
/***/
|
|
18483
|
+
/***/ 380
|
|
18484
18484
|
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
18485
18485
|
|
|
18486
18486
|
"use strict";
|
|
@@ -18493,19 +18493,19 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
18493
18493
|
|
|
18494
18494
|
// UNUSED EXPORTS: EMPTY_OBSERVER
|
|
18495
18495
|
|
|
18496
|
-
// EXTERNAL MODULE: ../../../node_modules/tslib/tslib.es6.mjs
|
|
18497
|
-
var tslib_es6 = __webpack_require__(
|
|
18498
|
-
// EXTERNAL MODULE: ../../../node_modules/rxjs/dist/esm5/internal/util/isFunction.js
|
|
18499
|
-
var isFunction = __webpack_require__(
|
|
18500
|
-
// EXTERNAL MODULE: ../../../node_modules/rxjs/dist/esm5/internal/Subscription.js + 1 modules
|
|
18501
|
-
var Subscription = __webpack_require__(
|
|
18502
|
-
// EXTERNAL MODULE: ../../../node_modules/rxjs/dist/esm5/internal/config.js
|
|
18503
|
-
var config = __webpack_require__(
|
|
18504
|
-
// EXTERNAL MODULE: ../../../node_modules/rxjs/dist/esm5/internal/util/reportUnhandledError.js
|
|
18505
|
-
var reportUnhandledError = __webpack_require__(
|
|
18506
|
-
// EXTERNAL MODULE: ../../../node_modules/rxjs/dist/esm5/internal/util/noop.js
|
|
18507
|
-
var noop = __webpack_require__(
|
|
18508
|
-
;// ../../../node_modules/rxjs/dist/esm5/internal/NotificationFactories.js
|
|
18496
|
+
// EXTERNAL MODULE: ../../../node_modules/.pnpm/tslib@2.8.1/node_modules/tslib/tslib.es6.mjs
|
|
18497
|
+
var tslib_es6 = __webpack_require__(198);
|
|
18498
|
+
// EXTERNAL MODULE: ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/isFunction.js
|
|
18499
|
+
var isFunction = __webpack_require__(41);
|
|
18500
|
+
// EXTERNAL MODULE: ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/Subscription.js + 1 modules
|
|
18501
|
+
var Subscription = __webpack_require__(112);
|
|
18502
|
+
// EXTERNAL MODULE: ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/config.js
|
|
18503
|
+
var config = __webpack_require__(656);
|
|
18504
|
+
// EXTERNAL MODULE: ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/reportUnhandledError.js
|
|
18505
|
+
var reportUnhandledError = __webpack_require__(564);
|
|
18506
|
+
// EXTERNAL MODULE: ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/noop.js
|
|
18507
|
+
var noop = __webpack_require__(821);
|
|
18508
|
+
;// ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/NotificationFactories.js
|
|
18509
18509
|
var COMPLETE_NOTIFICATION = (function () { return createNotification('C', undefined, undefined); })();
|
|
18510
18510
|
function errorNotification(error) {
|
|
18511
18511
|
return createNotification('E', undefined, error);
|
|
@@ -18521,11 +18521,11 @@ function createNotification(kind, value, error) {
|
|
|
18521
18521
|
};
|
|
18522
18522
|
}
|
|
18523
18523
|
//# sourceMappingURL=NotificationFactories.js.map
|
|
18524
|
-
// EXTERNAL MODULE: ../../../node_modules/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js
|
|
18525
|
-
var timeoutProvider = __webpack_require__(
|
|
18526
|
-
// EXTERNAL MODULE: ../../../node_modules/rxjs/dist/esm5/internal/util/errorContext.js
|
|
18527
|
-
var errorContext = __webpack_require__(
|
|
18528
|
-
;// ../../../node_modules/rxjs/dist/esm5/internal/Subscriber.js
|
|
18524
|
+
// EXTERNAL MODULE: ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js
|
|
18525
|
+
var timeoutProvider = __webpack_require__(64);
|
|
18526
|
+
// EXTERNAL MODULE: ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/errorContext.js
|
|
18527
|
+
var errorContext = __webpack_require__(640);
|
|
18528
|
+
;// ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/Subscriber.js
|
|
18529
18529
|
|
|
18530
18530
|
|
|
18531
18531
|
|
|
@@ -18713,7 +18713,7 @@ var EMPTY_OBSERVER = {
|
|
|
18713
18713
|
|
|
18714
18714
|
/***/ },
|
|
18715
18715
|
|
|
18716
|
-
/***/
|
|
18716
|
+
/***/ 112
|
|
18717
18717
|
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
18718
18718
|
|
|
18719
18719
|
"use strict";
|
|
@@ -18725,13 +18725,13 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
18725
18725
|
Uv: () => (/* binding */ isSubscription)
|
|
18726
18726
|
});
|
|
18727
18727
|
|
|
18728
|
-
// EXTERNAL MODULE: ../../../node_modules/tslib/tslib.es6.mjs
|
|
18729
|
-
var tslib_es6 = __webpack_require__(
|
|
18730
|
-
// EXTERNAL MODULE: ../../../node_modules/rxjs/dist/esm5/internal/util/isFunction.js
|
|
18731
|
-
var isFunction = __webpack_require__(
|
|
18732
|
-
// EXTERNAL MODULE: ../../../node_modules/rxjs/dist/esm5/internal/util/createErrorClass.js
|
|
18733
|
-
var createErrorClass = __webpack_require__(
|
|
18734
|
-
;// ../../../node_modules/rxjs/dist/esm5/internal/util/UnsubscriptionError.js
|
|
18728
|
+
// EXTERNAL MODULE: ../../../node_modules/.pnpm/tslib@2.8.1/node_modules/tslib/tslib.es6.mjs
|
|
18729
|
+
var tslib_es6 = __webpack_require__(198);
|
|
18730
|
+
// EXTERNAL MODULE: ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/isFunction.js
|
|
18731
|
+
var isFunction = __webpack_require__(41);
|
|
18732
|
+
// EXTERNAL MODULE: ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/createErrorClass.js
|
|
18733
|
+
var createErrorClass = __webpack_require__(755);
|
|
18734
|
+
;// ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/UnsubscriptionError.js
|
|
18735
18735
|
|
|
18736
18736
|
var UnsubscriptionError = (0,createErrorClass/* createErrorClass */.L)(function (_super) {
|
|
18737
18737
|
return function UnsubscriptionErrorImpl(errors) {
|
|
@@ -18744,9 +18744,9 @@ var UnsubscriptionError = (0,createErrorClass/* createErrorClass */.L)(function
|
|
|
18744
18744
|
};
|
|
18745
18745
|
});
|
|
18746
18746
|
//# sourceMappingURL=UnsubscriptionError.js.map
|
|
18747
|
-
// EXTERNAL MODULE: ../../../node_modules/rxjs/dist/esm5/internal/util/arrRemove.js
|
|
18748
|
-
var arrRemove = __webpack_require__(
|
|
18749
|
-
;// ../../../node_modules/rxjs/dist/esm5/internal/Subscription.js
|
|
18747
|
+
// EXTERNAL MODULE: ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/arrRemove.js
|
|
18748
|
+
var arrRemove = __webpack_require__(750);
|
|
18749
|
+
;// ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/Subscription.js
|
|
18750
18750
|
|
|
18751
18751
|
|
|
18752
18752
|
|
|
@@ -18893,7 +18893,7 @@ function execFinalizer(finalizer) {
|
|
|
18893
18893
|
|
|
18894
18894
|
/***/ },
|
|
18895
18895
|
|
|
18896
|
-
/***/
|
|
18896
|
+
/***/ 656
|
|
18897
18897
|
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
18898
18898
|
|
|
18899
18899
|
"use strict";
|
|
@@ -18911,7 +18911,7 @@ var config = {
|
|
|
18911
18911
|
|
|
18912
18912
|
/***/ },
|
|
18913
18913
|
|
|
18914
|
-
/***/
|
|
18914
|
+
/***/ 987
|
|
18915
18915
|
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
18916
18916
|
|
|
18917
18917
|
"use strict";
|
|
@@ -18928,14 +18928,14 @@ var dateTimestampProvider = {
|
|
|
18928
18928
|
|
|
18929
18929
|
/***/ },
|
|
18930
18930
|
|
|
18931
|
-
/***/
|
|
18931
|
+
/***/ 64
|
|
18932
18932
|
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
18933
18933
|
|
|
18934
18934
|
"use strict";
|
|
18935
18935
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
18936
18936
|
/* harmony export */ f: () => (/* binding */ timeoutProvider)
|
|
18937
18937
|
/* harmony export */ });
|
|
18938
|
-
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
|
|
18938
|
+
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(198);
|
|
18939
18939
|
|
|
18940
18940
|
var timeoutProvider = {
|
|
18941
18941
|
setTimeout: function (handler, timeout) {
|
|
@@ -18959,7 +18959,7 @@ var timeoutProvider = {
|
|
|
18959
18959
|
|
|
18960
18960
|
/***/ },
|
|
18961
18961
|
|
|
18962
|
-
/***/
|
|
18962
|
+
/***/ 348
|
|
18963
18963
|
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
18964
18964
|
|
|
18965
18965
|
"use strict";
|
|
@@ -18971,7 +18971,7 @@ var observable = (function () { return (typeof Symbol === 'function' && Symbol.o
|
|
|
18971
18971
|
|
|
18972
18972
|
/***/ },
|
|
18973
18973
|
|
|
18974
|
-
/***/
|
|
18974
|
+
/***/ 750
|
|
18975
18975
|
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
18976
18976
|
|
|
18977
18977
|
"use strict";
|
|
@@ -18988,7 +18988,7 @@ function arrRemove(arr, item) {
|
|
|
18988
18988
|
|
|
18989
18989
|
/***/ },
|
|
18990
18990
|
|
|
18991
|
-
/***/
|
|
18991
|
+
/***/ 755
|
|
18992
18992
|
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
18993
18993
|
|
|
18994
18994
|
"use strict";
|
|
@@ -19009,7 +19009,7 @@ function createErrorClass(createImpl) {
|
|
|
19009
19009
|
|
|
19010
19010
|
/***/ },
|
|
19011
19011
|
|
|
19012
|
-
/***/
|
|
19012
|
+
/***/ 640
|
|
19013
19013
|
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
19014
19014
|
|
|
19015
19015
|
"use strict";
|
|
@@ -19017,7 +19017,7 @@ function createErrorClass(createImpl) {
|
|
|
19017
19017
|
/* harmony export */ Y: () => (/* binding */ errorContext),
|
|
19018
19018
|
/* harmony export */ l: () => (/* binding */ captureError)
|
|
19019
19019
|
/* harmony export */ });
|
|
19020
|
-
/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
|
|
19020
|
+
/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(656);
|
|
19021
19021
|
|
|
19022
19022
|
var context = null;
|
|
19023
19023
|
function errorContext(cb) {
|
|
@@ -19049,7 +19049,7 @@ function captureError(err) {
|
|
|
19049
19049
|
|
|
19050
19050
|
/***/ },
|
|
19051
19051
|
|
|
19052
|
-
/***/
|
|
19052
|
+
/***/ 41
|
|
19053
19053
|
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
19054
19054
|
|
|
19055
19055
|
"use strict";
|
|
@@ -19063,7 +19063,7 @@ function isFunction(value) {
|
|
|
19063
19063
|
|
|
19064
19064
|
/***/ },
|
|
19065
19065
|
|
|
19066
|
-
/***/
|
|
19066
|
+
/***/ 821
|
|
19067
19067
|
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
19068
19068
|
|
|
19069
19069
|
"use strict";
|
|
@@ -19075,15 +19075,15 @@ function noop() { }
|
|
|
19075
19075
|
|
|
19076
19076
|
/***/ },
|
|
19077
19077
|
|
|
19078
|
-
/***/
|
|
19078
|
+
/***/ 564
|
|
19079
19079
|
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
19080
19080
|
|
|
19081
19081
|
"use strict";
|
|
19082
19082
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
19083
19083
|
/* harmony export */ m: () => (/* binding */ reportUnhandledError)
|
|
19084
19084
|
/* harmony export */ });
|
|
19085
|
-
/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
|
|
19086
|
-
/* harmony import */ var _scheduler_timeoutProvider__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
|
|
19085
|
+
/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(656);
|
|
19086
|
+
/* harmony import */ var _scheduler_timeoutProvider__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64);
|
|
19087
19087
|
|
|
19088
19088
|
|
|
19089
19089
|
function reportUnhandledError(err) {
|
|
@@ -19101,7 +19101,7 @@ function reportUnhandledError(err) {
|
|
|
19101
19101
|
|
|
19102
19102
|
/***/ },
|
|
19103
19103
|
|
|
19104
|
-
/***/
|
|
19104
|
+
/***/ 63
|
|
19105
19105
|
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
19106
19106
|
|
|
19107
19107
|
"use strict";
|
|
@@ -19149,7 +19149,7 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
19149
19149
|
// UNUSED EXPORTS: AUTH_PROVIDER_TYPES, AfterKeyNotSupportedError, AllMetadata, AllMetadataArrays, ApplicationEntityInfo, ApplicationInfo, ApplicationSettingInfo, AuditLogTypeInfo, AuthorizationEvaluator, AuthorizationInfo, AuthorizationRoleInfo, AuthorizationRoleType, BaseEnginePropertyConfig, BaseEngineRegistry, BaseEntityAIActionParams, BaseEntityEvent, BaseEntitySaveQueue, BaseRemotableOperation, CacheCategory, ClearAllDataHooks, CodeNameFromString, ColumnDescriptor, CommonStopWords, ComputeRRF, Concurrent, ConsoleColor, DataObjectParams, DataObjectRelatedEntityParam, DataSnapshot, DataTable, DatabaseProviderBase, EntityDeleteOptions, EntityDependency, EntityDocumentTypeInfo, EntityField, EntityFieldGraphQLType, EntityFieldInfo, EntityFieldRules, EntityFieldValueInfo, EntityFieldValueListType, EntityInfo, EntityMergeOptions, EntityOrganicKeyInfo, EntityOrganicKeyRelatedEntityInfo, EntityPermissionEffect, EntityPermissionInfo, EntityRecordNameInput, EntityRecordNameResult, EntityRelationshipInfo, EntitySaveOptions, EntitySettingInfo, EntityUserPermissionInfo, ExplorerNavigationItem, ExternalDataSourceReadRouter, ExtractActualDefaultValue, FieldValueCollection, FormatConsoleMessage, FormatFileMessage, FormatValue, GeneratedFormSectionType, GetDataHooks, GetEntityNameFromSchemaAndViewString, GridColumnDescriptor, IsKeysetPaginationOrderableType, KEYSET_PAGINATION_ORDERABLE_PK_TYPES, KeyValuePair, LibraryInfo, LoadOnStartup, LocalCacheManager, LogDebug, MJColumnDescriptor, MJ_CORE_SCHEMA, MetadataFromSimpleObject, MetadataFromSimpleObjectWithoutUser, MetadataInfo, NormalizeToTables, ParsePlatformVariants, PermissionConstrainedError, PotentialDuplicate, PotentialDuplicateRequest, PotentialDuplicateResponse, PotentialDuplicateResult, ProjectRowsToFields, QueryCache, QueryCategoryInfo, QueryDependencyInfo, QueryEntityInfo, QueryExecutionSpec, QueryFieldInfo, QueryInfo, QueryParameterInfo, QueryPermissionInfo, QueryResultEnricherBase, QuerySQLInfo, RUN_QUERY_SQL_FILTERS, RUN_QUERY_SQL_FILTERS_WITH_IMPLEMENTATIONS, RecordChange, RecordChangeStatus, RecordDependency, RecordMergeDetailResult, RecordMergeRequest, RecordMergeResult, RegisterDataHook, ResolvePlatformVariant, ResolveStartupMode, RoleInfo, RowLevelSecurityFilterInfo, RunMaybeSerial, RunQuerySQLFilterManager, RunReport, RunViewParams, SQLDialectInfo, SQLFullType, SQLMaxLength, STARTUP_MODE_ENV_VAR, SetProductionStatus, SetVerboseLogging, SeverityType, StripContainingParens, StripSingleQuotes, StripStopWords, StripUnicodePrefix, TelemetryLevelValue, TelemetryManager, TotalAvailableRowCount, TotalRowCount, TransactionPreprocessingItem, TransactionVariable, TypeScriptTypeFromSQLType, TypeScriptTypeFromSQLTypeWithNullableOption, UpdateCurrentConsoleLine, UpdateCurrentConsoleProgress, dispatchRemoteOperationInProcess, getAnsiColorCode, getRunQuerySQLFilter, getRunQuerySQLFilterNames, getSchemaPrefix, isAIParams, isBatchRunQueryParams, isBatchRunViewParams, isCacheParams, isEngineParams, isNetworkParams, isSingleRunQueryParams, isSingleRunViewParams, resolveQueryResultEnricher, sanitizeGraphQLName
|
|
19150
19150
|
|
|
19151
19151
|
// EXTERNAL MODULE: ../../MJGlobal/dist/index.js + 24 modules
|
|
19152
|
-
var dist = __webpack_require__(
|
|
19152
|
+
var dist = __webpack_require__(899);
|
|
19153
19153
|
;// ../../MJCore/dist/generic/dataHooks.js
|
|
19154
19154
|
/* unused harmony import specifier */ var GetGlobalObjectStore;
|
|
19155
19155
|
/**
|
|
@@ -19204,8 +19204,8 @@ function ClearAllDataHooks() {
|
|
|
19204
19204
|
gos[DATA_HOOKS_KEY] = {};
|
|
19205
19205
|
}
|
|
19206
19206
|
}
|
|
19207
|
-
// EXTERNAL MODULE: ../../../node_modules/debug/src/browser.js
|
|
19208
|
-
var browser = __webpack_require__(
|
|
19207
|
+
// EXTERNAL MODULE: ../../../node_modules/.pnpm/debug@4.4.3_supports-color@5.5.0/node_modules/debug/src/browser.js
|
|
19208
|
+
var browser = __webpack_require__(332);
|
|
19209
19209
|
;// ../../MJCore/dist/generic/logging.js
|
|
19210
19210
|
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
|
|
19211
19211
|
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
@@ -22626,8 +22626,16 @@ function ResolvePlatformVariant(variants, fieldName, platform) {
|
|
|
22626
22626
|
}
|
|
22627
22627
|
;// ../../MJCore/dist/generic/securityInfo.js
|
|
22628
22628
|
function securityInfo_createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = securityInfo_unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
|
|
22629
|
+
function securityInfo_toConsumableArray(r) { return securityInfo_arrayWithoutHoles(r) || securityInfo_iterableToArray(r) || securityInfo_unsupportedIterableToArray(r) || securityInfo_nonIterableSpread(); }
|
|
22630
|
+
function securityInfo_nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
22631
|
+
function securityInfo_iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
22632
|
+
function securityInfo_arrayWithoutHoles(r) { if (Array.isArray(r)) return securityInfo_arrayLikeToArray(r); }
|
|
22633
|
+
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || securityInfo_unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
22634
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
22629
22635
|
function securityInfo_unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return securityInfo_arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? securityInfo_arrayLikeToArray(r, a) : void 0; } }
|
|
22630
22636
|
function securityInfo_arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
22637
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
22638
|
+
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
22631
22639
|
function securityInfo_typeof(o) { "@babel/helpers - typeof"; return securityInfo_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, securityInfo_typeof(o); }
|
|
22632
22640
|
function securityInfo_classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
|
|
22633
22641
|
function securityInfo_defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, securityInfo_toPropertyKey(o.key), o); } }
|
|
@@ -22753,6 +22761,8 @@ var UserInfo = /*#__PURE__*/function (_BaseInfo) {
|
|
|
22753
22761
|
_this.EmployeeSupervisorEmail = null;
|
|
22754
22762
|
_this._TenantContext = undefined;
|
|
22755
22763
|
_this._MagicLinkScope = undefined;
|
|
22764
|
+
_this._APIKeyActingContext = undefined;
|
|
22765
|
+
_this._APIKeyRowFilters = undefined;
|
|
22756
22766
|
_this._ReturningVisitorContext = undefined;
|
|
22757
22767
|
_this._WidgetGuestContext = undefined;
|
|
22758
22768
|
_this._IsMagicLinkAnonymous = false;
|
|
@@ -22799,6 +22809,41 @@ var UserInfo = /*#__PURE__*/function (_BaseInfo) {
|
|
|
22799
22809
|
set: function set(value) {
|
|
22800
22810
|
this._MagicLinkScope = value;
|
|
22801
22811
|
}
|
|
22812
|
+
/**
|
|
22813
|
+
* Per-request acting context for an API-key session. Set server-side in the
|
|
22814
|
+
* API-key auth path from an authenticated identity, ON A CLONED UserInfo
|
|
22815
|
+
* (the resolved userRecord may be the shared UserCache instance — stamping
|
|
22816
|
+
* it in place leaks one session's scope to every concurrent session of the
|
|
22817
|
+
* same user). Consumed by API-key row filters via the {{Acting*}} tokens.
|
|
22818
|
+
* Same getter/setter (non-enumerable accessor) rationale as TenantContext —
|
|
22819
|
+
* not a DB/GraphQL field, and it must NEVER be exposed via a resolver.
|
|
22820
|
+
*/
|
|
22821
|
+
}, {
|
|
22822
|
+
key: "APIKeyActingContext",
|
|
22823
|
+
get: function get() {
|
|
22824
|
+
return this._APIKeyActingContext;
|
|
22825
|
+
},
|
|
22826
|
+
set: function set(value) {
|
|
22827
|
+
this._APIKeyActingContext = value;
|
|
22828
|
+
}
|
|
22829
|
+
/**
|
|
22830
|
+
* Row-filter bindings for the API key this session authenticated with,
|
|
22831
|
+
* resolved per request from the key's scope rules and stamped on the CLONED
|
|
22832
|
+
* per-request UserInfo. Consumed by
|
|
22833
|
+
* {@link EntityInfo.GetEffectiveRowFilterWhereClause}, which AND-composes
|
|
22834
|
+
* each matching binding's filter with role RLS — outside the role-RLS
|
|
22835
|
+
* exemption. Plain data on purpose: MJCore cannot depend on the APIKeys
|
|
22836
|
+
* packages, so the bridge is this carrier. Never a DB/GraphQL field; never
|
|
22837
|
+
* exposed to or settable by a client.
|
|
22838
|
+
*/
|
|
22839
|
+
}, {
|
|
22840
|
+
key: "APIKeyRowFilters",
|
|
22841
|
+
get: function get() {
|
|
22842
|
+
return this._APIKeyRowFilters;
|
|
22843
|
+
},
|
|
22844
|
+
set: function set(value) {
|
|
22845
|
+
this._APIKeyRowFilters = value;
|
|
22846
|
+
}
|
|
22802
22847
|
/**
|
|
22803
22848
|
* Returning-visitor context for a public web-widget guest session. Set at request time from the
|
|
22804
22849
|
* verified session token's claims (the widget mint embeds the resolved VisitorKey / prior
|
|
@@ -23010,7 +23055,7 @@ var RowLevelSecurityFilterInfo = /*#__PURE__*/function (_BaseInfo4) {
|
|
|
23010
23055
|
*/
|
|
23011
23056
|
}, {
|
|
23012
23057
|
key: "MarkupFilterText",
|
|
23013
|
-
value: function MarkupFilterText(user) {
|
|
23058
|
+
value: function MarkupFilterText(user, options) {
|
|
23014
23059
|
var ret = this.FilterText;
|
|
23015
23060
|
if (user) {
|
|
23016
23061
|
var _scope$ResourceID, _scope$ResourceType;
|
|
@@ -23018,23 +23063,72 @@ var RowLevelSecurityFilterInfo = /*#__PURE__*/function (_BaseInfo4) {
|
|
|
23018
23063
|
for (var i = 0; i < keys.length; i++) {
|
|
23019
23064
|
var key = keys[i];
|
|
23020
23065
|
var val = user[key];
|
|
23021
|
-
|
|
23022
|
-
|
|
23066
|
+
// `val != null` deliberately excludes BOTH null and undefined. The old
|
|
23067
|
+
// `val !== null` guard let `undefined` through, substituting the literal
|
|
23068
|
+
// string "undefined" — which made negation-shaped filters
|
|
23069
|
+
// (Col <> '{{UserX}}') match every row. Undefined is unresolved, period.
|
|
23070
|
+
if (val != null && securityInfo_typeof(val) !== 'object') {
|
|
23071
|
+
// Escape embedded quotes in the substituted value: a user-sourced value
|
|
23072
|
+
// containing an apostrophe must not break (or rewrite) the predicate —
|
|
23073
|
+
// the same defect class as the tenant-header injection, in the engine
|
|
23074
|
+
// every RLS filter depends on.
|
|
23075
|
+
ret = ret.replace(new RegExp("{{User".concat(key, "}}"), 'g'), String(val).replace(/'/g, "''"));
|
|
23023
23076
|
}
|
|
23024
23077
|
}
|
|
23025
23078
|
// Per-session magic-link resource scope. Fail-closed: an absent scope resolves
|
|
23026
23079
|
// to '' so a resource-pinned predicate (e.g. ID = '{{ScopeResourceID}}') matches
|
|
23027
23080
|
// NO rows rather than leaking — a session without the scope sees nothing.
|
|
23028
23081
|
var scope = user.MagicLinkScope;
|
|
23029
|
-
ret = ret.replace(/\{\{ScopeResourceID\}\}/g, (_scope$ResourceID = scope === null || scope === void 0 ? void 0 : scope.ResourceID) !== null && _scope$ResourceID !== void 0 ? _scope$ResourceID : '');
|
|
23030
|
-
ret = ret.replace(/\{\{ScopeResourceType\}\}/g, (_scope$ResourceType = scope === null || scope === void 0 ? void 0 : scope.ResourceType) !== null && _scope$ResourceType !== void 0 ? _scope$ResourceType : '');
|
|
23082
|
+
ret = ret.replace(/\{\{ScopeResourceID\}\}/g, ((_scope$ResourceID = scope === null || scope === void 0 ? void 0 : scope.ResourceID) !== null && _scope$ResourceID !== void 0 ? _scope$ResourceID : '').replace(/'/g, "''"));
|
|
23083
|
+
ret = ret.replace(/\{\{ScopeResourceType\}\}/g, ((_scope$ResourceType = scope === null || scope === void 0 ? void 0 : scope.ResourceType) !== null && _scope$ResourceType !== void 0 ? _scope$ResourceType : '').replace(/'/g, "''"));
|
|
23084
|
+
ret = this.resolveActingTokens(ret, user);
|
|
23031
23085
|
}
|
|
23032
|
-
var unresolvedMatch = ret.match(/\{\{User\w+\}\}/);
|
|
23086
|
+
var unresolvedMatch = ret.match(/\{\{(?:User|Acting)\w+\}\}/);
|
|
23033
23087
|
if (unresolvedMatch) {
|
|
23088
|
+
if ((options === null || options === void 0 ? void 0 : options.unresolvedBehavior) === 'match-nothing') {
|
|
23089
|
+
// API-key row filters fail closed AND diagnosably: '' substitution is only
|
|
23090
|
+
// safe for equality shapes (Col <> '' or LIKE '%%' match everything), so an
|
|
23091
|
+
// unresolved token collapses the ENTIRE filter to a predicate that matches
|
|
23092
|
+
// nothing regardless of the expression's operators.
|
|
23093
|
+
LogError('Row filter has unresolved token after markup — resolving filter to (1=0): ' + unresolvedMatch[0] + ' in filter: ' + this.FilterText);
|
|
23094
|
+
return '(1=0)';
|
|
23095
|
+
}
|
|
23034
23096
|
LogError('RLS filter has unresolved token after markup: ' + unresolvedMatch[0] + ' in filter: ' + this.FilterText);
|
|
23035
23097
|
}
|
|
23036
23098
|
return ret;
|
|
23037
23099
|
}
|
|
23100
|
+
/**
|
|
23101
|
+
* Resolves the `{{Acting*}}` token family from {@link UserInfo.APIKeyActingContext}.
|
|
23102
|
+
* Scalars substitute escaped; the list token renders as a canonical (sorted),
|
|
23103
|
+
* per-element-escaped, quoted list for use inside `IN (...)`. Sorting is not
|
|
23104
|
+
* cosmetic: the resolved clause participates in the RunView cache fingerprint,
|
|
23105
|
+
* so the same set must always produce the same clause bytes (INV-2). An absent
|
|
23106
|
+
* context or empty list leaves tokens unresolved, which the caller's
|
|
23107
|
+
* unresolved-token handling turns into a match-nothing filter for key filters.
|
|
23108
|
+
*/
|
|
23109
|
+
}, {
|
|
23110
|
+
key: "resolveActingTokens",
|
|
23111
|
+
value: function resolveActingTokens(text, user) {
|
|
23112
|
+
var acting = user.APIKeyActingContext;
|
|
23113
|
+
var ret = text;
|
|
23114
|
+
var scalars = [['ActingOrganizationID', acting === null || acting === void 0 ? void 0 : acting.ActingOrganizationID], ['ActingPersonID', acting === null || acting === void 0 ? void 0 : acting.ActingPersonID], ['ActingScopeID', acting === null || acting === void 0 ? void 0 : acting.ActingScopeID]];
|
|
23115
|
+
for (var _i = 0, _scalars = scalars; _i < _scalars.length; _i++) {
|
|
23116
|
+
var _scalars$_i = _slicedToArray(_scalars[_i], 2),
|
|
23117
|
+
token = _scalars$_i[0],
|
|
23118
|
+
value = _scalars$_i[1];
|
|
23119
|
+
if (value != null && value.length > 0) {
|
|
23120
|
+
ret = ret.replace(new RegExp("\\{\\{".concat(token, "\\}\\}"), 'g'), value.replace(/'/g, "''"));
|
|
23121
|
+
}
|
|
23122
|
+
}
|
|
23123
|
+
var companies = acting === null || acting === void 0 ? void 0 : acting.ActingCompanyIDs;
|
|
23124
|
+
if (companies && companies.length > 0) {
|
|
23125
|
+
var rendered = securityInfo_toConsumableArray(companies).sort().map(function (c) {
|
|
23126
|
+
return "'".concat(c.replace(/'/g, "''"), "'");
|
|
23127
|
+
}).join(',');
|
|
23128
|
+
ret = ret.replace(/\{\{ActingCompanyIDs\}\}/g, rendered);
|
|
23129
|
+
}
|
|
23130
|
+
return ret;
|
|
23131
|
+
}
|
|
23038
23132
|
}]);
|
|
23039
23133
|
}(BaseInfo);
|
|
23040
23134
|
/**
|
|
@@ -23301,10 +23395,10 @@ var AuditLogTypeInfo = /*#__PURE__*/function (_BaseInfo7) {
|
|
|
23301
23395
|
;// ../../MJCore/dist/generic/compositeKey.js
|
|
23302
23396
|
function compositeKey_typeof(o) { "@babel/helpers - typeof"; return compositeKey_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, compositeKey_typeof(o); }
|
|
23303
23397
|
var _FieldValueCollection;
|
|
23304
|
-
function
|
|
23305
|
-
function
|
|
23306
|
-
function
|
|
23307
|
-
function
|
|
23398
|
+
function compositeKey_slicedToArray(r, e) { return compositeKey_arrayWithHoles(r) || compositeKey_iterableToArrayLimit(r, e) || compositeKey_unsupportedIterableToArray(r, e) || compositeKey_nonIterableRest(); }
|
|
23399
|
+
function compositeKey_nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
23400
|
+
function compositeKey_iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
23401
|
+
function compositeKey_arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
23308
23402
|
function compositeKey_callSuper(t, o, e) { return o = compositeKey_getPrototypeOf(o), compositeKey_possibleConstructorReturn(t, compositeKey_isNativeReflectConstruct() ? Reflect.construct(o, e || [], compositeKey_getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
23309
23403
|
function compositeKey_possibleConstructorReturn(t, e) { if (e && ("object" == compositeKey_typeof(e) || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return compositeKey_assertThisInitialized(t); }
|
|
23310
23404
|
function compositeKey_assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; }
|
|
@@ -23788,7 +23882,7 @@ var CompositeKey = /*#__PURE__*/function (_FieldValueCollection2) {
|
|
|
23788
23882
|
try {
|
|
23789
23883
|
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
23790
23884
|
var _kvPair$Value, _sourcekvPair$Value;
|
|
23791
|
-
var _step3$value =
|
|
23885
|
+
var _step3$value = compositeKey_slicedToArray(_step3.value, 2),
|
|
23792
23886
|
index = _step3$value[0],
|
|
23793
23887
|
kvPair = _step3$value[1];
|
|
23794
23888
|
var sourcekvPair = this.KeyValuePairs[index];
|
|
@@ -26787,6 +26881,30 @@ var EntityInfo = /*#__PURE__*/function (_BaseInfo0) {
|
|
|
26787
26881
|
* Whether the base view is generated by CodeGen (true) or manually created (false)
|
|
26788
26882
|
*/
|
|
26789
26883
|
_this0.BaseViewGenerated = null;
|
|
26884
|
+
/**
|
|
26885
|
+
* When set, CodeGen generates the entity's full base view under THIS name instead of
|
|
26886
|
+
* {@link BaseView}, and the application owns `BaseView` — which is expected to wrap it:
|
|
26887
|
+
*
|
|
26888
|
+
* ```sql
|
|
26889
|
+
* CREATE VIEW vwOrderHeaders AS
|
|
26890
|
+
* SELECT g.*, CASE WHEN ... END AS IsOverdue
|
|
26891
|
+
* FROM vwOrderHeadersGenerated g
|
|
26892
|
+
* ```
|
|
26893
|
+
*
|
|
26894
|
+
* This is how an entity gets a custom base view WITHOUT inheriting the generated SQL. With
|
|
26895
|
+
* `BaseViewGenerated = 0` alone the application takes over the whole view — every related-entity
|
|
26896
|
+
* display join, the geo join, the recursive root-ID apply — and must hand-maintain it forever;
|
|
26897
|
+
* a foreign key added later then silently never appears, because nothing regenerates the join.
|
|
26898
|
+
* Naming an inner view keeps all of that regenerating underneath a thin, reviewable custom layer.
|
|
26899
|
+
*
|
|
26900
|
+
* NULL (the default, and every pre-existing entity) preserves the original behaviour exactly:
|
|
26901
|
+
* `BaseViewGenerated` alone decides whether CodeGen writes `BaseView`, and there is no second view.
|
|
26902
|
+
*
|
|
26903
|
+
* `BaseView` remains the public surface either way — field discovery, permissions and the
|
|
26904
|
+
* generated CRUD procedures all target it, so a column added by the custom layer becomes a
|
|
26905
|
+
* first-class virtual `EntityField`.
|
|
26906
|
+
*/
|
|
26907
|
+
_this0.GeneratedBaseViewName = null;
|
|
26790
26908
|
/**
|
|
26791
26909
|
* Database schema that contains this entity's table and view
|
|
26792
26910
|
*/
|
|
@@ -26871,6 +26989,47 @@ var EntityInfo = /*#__PURE__*/function (_BaseInfo0) {
|
|
|
26871
26989
|
* Global flag controlling whether records can be deleted via API
|
|
26872
26990
|
*/
|
|
26873
26991
|
_this0.AllowDeleteAPI = false;
|
|
26992
|
+
/**
|
|
26993
|
+
* Whether rows may be INSERTed by SQL that does not go through {@link BaseEntity}.Save() —
|
|
26994
|
+
* bulk loads, ETL/integration sync, or rows created as a side effect of a stored procedure.
|
|
26995
|
+
*
|
|
26996
|
+
* `false` (the default, and every entity that has not opted in) means all inserts are expected
|
|
26997
|
+
* to flow through `BaseEntity`, which is the only path where record-change tracking, entity
|
|
26998
|
+
* actions, validation and cache invalidation actually run.
|
|
26999
|
+
*
|
|
27000
|
+
* **This DECLARES intent; it enforces nothing.** No constraint, trigger or grant prevents
|
|
27001
|
+
* anyone from executing SQL. It exists so the code paths and tooling that *choose* to honour
|
|
27002
|
+
* the platform contract — bulk/ETL and integration sync, record-set processing, and generators
|
|
27003
|
+
* or agents authoring SQL — have one authoritative answer instead of tribal knowledge.
|
|
27004
|
+
*
|
|
27005
|
+
* A database CHECK requires {@link TrackRecordChanges} and {@link TrustServerCacheCompletely}
|
|
27006
|
+
* to both be `false` when this is set, because a direct insert produces neither an audit row
|
|
27007
|
+
* nor a cache-invalidation event — leaving either on yields an audit trail that looks complete
|
|
27008
|
+
* but is not, and a server cache that serves stale rows indefinitely.
|
|
27009
|
+
*/
|
|
27010
|
+
_this0.AllowDirectSQLInsert = false;
|
|
27011
|
+
/**
|
|
27012
|
+
* Whether rows may be UPDATEd by SQL that does not go through {@link BaseEntity}.Save() —
|
|
27013
|
+
* bulk backfills, integration sync, or maintenance routines.
|
|
27014
|
+
*
|
|
27015
|
+
* `false` (the default) means all updates are expected to flow through `BaseEntity`. See
|
|
27016
|
+
* {@link AllowDirectSQLInsert} for the full rationale, the "declares, does not enforce"
|
|
27017
|
+
* caveat, and the `TrackRecordChanges` / `TrustServerCacheCompletely` requirement.
|
|
27018
|
+
*/
|
|
27019
|
+
_this0.AllowDirectSQLUpdate = false;
|
|
27020
|
+
/**
|
|
27021
|
+
* Whether rows may be DELETEd by SQL that does not go through {@link BaseEntity}.Delete() —
|
|
27022
|
+
* purge and retention routines, or integration sync reconciling against a remote source.
|
|
27023
|
+
*
|
|
27024
|
+
* `false` (the default) means all deletes are expected to flow through `BaseEntity`. See
|
|
27025
|
+
* {@link AllowDirectSQLInsert} for the full rationale and the `TrackRecordChanges` /
|
|
27026
|
+
* {@link TrustServerCacheCompletely} requirement.
|
|
27027
|
+
*
|
|
27028
|
+
* Additionally requires {@link DeleteType} to be `'Hard'`: a direct `DELETE` removes the row
|
|
27029
|
+
* outright rather than setting `DeletedAt`, so sanctioning it on a soft-delete entity would
|
|
27030
|
+
* quietly defeat soft delete. A database CHECK refuses the combination.
|
|
27031
|
+
*/
|
|
27032
|
+
_this0.AllowDirectSQLDelete = false;
|
|
26874
27033
|
/**
|
|
26875
27034
|
* If true, uses a custom resolver for GraphQL operations instead of standard CRUD
|
|
26876
27035
|
*/
|
|
@@ -27210,8 +27369,44 @@ var EntityInfo = /*#__PURE__*/function (_BaseInfo0) {
|
|
|
27210
27369
|
}
|
|
27211
27370
|
entityInfo_inherits(EntityInfo, _BaseInfo0);
|
|
27212
27371
|
return entityInfo_createClass(EntityInfo, [{
|
|
27213
|
-
key: "
|
|
27214
|
-
|
|
27372
|
+
key: "GeneratedViewName",
|
|
27373
|
+
get:
|
|
27374
|
+
/**
|
|
27375
|
+
* The view CodeGen actually WRITES for this entity.
|
|
27376
|
+
*
|
|
27377
|
+
* Normally {@link BaseView}. When {@link GeneratedBaseViewName} is set, the generated SQL goes
|
|
27378
|
+
* there instead and `BaseView` belongs to the application, which layers over it — see
|
|
27379
|
+
* {@link HasLayeredBaseView}.
|
|
27380
|
+
*
|
|
27381
|
+
* Resolved in ONE place because the two names must never drift: several call sites decide where
|
|
27382
|
+
* to write the view, what to call the emitted file, and which object to refresh, and a
|
|
27383
|
+
* disagreement between any two of them produces a view that exists under a name nothing reads.
|
|
27384
|
+
*
|
|
27385
|
+
* Derived FROM {@link HasLayeredBaseView} rather than re-testing `GeneratedBaseViewName`, so the
|
|
27386
|
+
* two getters cannot disagree by construction. Testing the raw column here would diverge on a
|
|
27387
|
+
* name that differs from `BaseView` only by case: `HasLayeredBaseView` would say "not layered"
|
|
27388
|
+
* (it compares case-insensitively, because SQL Server object names are) while this getter
|
|
27389
|
+
* returned the differently-cased string — leaving CodeGen writing to one object while every
|
|
27390
|
+
* layering-gated code path believed there was no second view at all.
|
|
27391
|
+
*/
|
|
27392
|
+
function get() {
|
|
27393
|
+
if (this.HasLayeredBaseView) return this.GeneratedBaseViewName.trim();
|
|
27394
|
+
return this.BaseView ? this.BaseView : "vw".concat(this.CodeName);
|
|
27395
|
+
}
|
|
27396
|
+
/**
|
|
27397
|
+
* True when this entity has a generated inner view with an application-owned `BaseView` on top.
|
|
27398
|
+
*
|
|
27399
|
+
* In that arrangement CodeGen still generates everything — related-entity display fields, geo
|
|
27400
|
+
* columns, recursive root-ID columns — into {@link GeneratedViewName}, so the custom layer stays
|
|
27401
|
+
* thin and does not go stale when the schema gains a foreign key.
|
|
27402
|
+
*/
|
|
27403
|
+
}, {
|
|
27404
|
+
key: "HasLayeredBaseView",
|
|
27405
|
+
get: function get() {
|
|
27406
|
+
var _this$GeneratedBaseVi, _this$BaseView;
|
|
27407
|
+
var layered = (_this$GeneratedBaseVi = this.GeneratedBaseViewName) === null || _this$GeneratedBaseVi === void 0 ? void 0 : _this$GeneratedBaseVi.trim();
|
|
27408
|
+
return !!layered && layered.toLowerCase() !== ((_this$BaseView = this.BaseView) !== null && _this$BaseView !== void 0 ? _this$BaseView : '').toLowerCase();
|
|
27409
|
+
}
|
|
27215
27410
|
/**
|
|
27216
27411
|
* O(1) case-insensitive field lookup by name. Use this instead of `Fields.find(f => f.Name === name)`
|
|
27217
27412
|
* on hot paths — it builds a lowercased+trimmed `Map` once (lazily) and reuses it.
|
|
@@ -27223,7 +27418,9 @@ var EntityInfo = /*#__PURE__*/function (_BaseInfo0) {
|
|
|
27223
27418
|
* @param name field name (matched case-insensitively, whitespace-trimmed)
|
|
27224
27419
|
* @returns the matching EntityFieldInfo, or undefined if not found
|
|
27225
27420
|
*/
|
|
27226
|
-
|
|
27421
|
+
}, {
|
|
27422
|
+
key: "FieldByName",
|
|
27423
|
+
value: function FieldByName(name) {
|
|
27227
27424
|
if (name == null) return undefined;
|
|
27228
27425
|
if (this._fieldByNameMap === null) {
|
|
27229
27426
|
var map = new Map();
|
|
@@ -27792,6 +27989,12 @@ var EntityInfo = /*#__PURE__*/function (_BaseInfo0) {
|
|
|
27792
27989
|
}
|
|
27793
27990
|
/**
|
|
27794
27991
|
* Generates a where clause for SQL filtering for a given entity for a given user and permission type. If there is no RLS for a given entity or the user is exempt from RLS for the entity, a blank string is returned.
|
|
27992
|
+
*
|
|
27993
|
+
* @deprecated ROLE RLS ONLY — this method is subject to the role-RLS exemption and
|
|
27994
|
+
* silently omits API-key row filters, so a caller reaching for this familiar name gets
|
|
27995
|
+
* a clause that is fail-open for filtered API-key sessions. Use
|
|
27996
|
+
* {@link GetEffectiveRowFilterWhereClause}, which composes every filter layer. A repo
|
|
27997
|
+
* test asserts no non-test caller exists outside that method.
|
|
27795
27998
|
* @param user
|
|
27796
27999
|
* @param type
|
|
27797
28000
|
* @param returnPrefix
|
|
@@ -27816,6 +28019,80 @@ var EntityInfo = /*#__PURE__*/function (_BaseInfo0) {
|
|
|
27816
28019
|
return sRLSSQL.length > 0 ? "".concat(returnPrefix && returnPrefix.length > 0 ? returnPrefix + ' ' : '').concat(sRLSSQL) : '';
|
|
27817
28020
|
} else return '';
|
|
27818
28021
|
}
|
|
28022
|
+
/**
|
|
28023
|
+
* The EFFECTIVE row-filter clause for a user + permission type: role RLS (subject to the
|
|
28024
|
+
* role exemption) AND the API-key row filters carried on the session (NOT subject to the
|
|
28025
|
+
* role exemption — a key ceiling exists precisely to bind principals whose roles are
|
|
28026
|
+
* unrestricted; see UserExemptFromRowLevelSecurity, which exempts off the mere presence
|
|
28027
|
+
* of a filter-less permission row). Composition: OR within the role layer (roles are
|
|
28028
|
+
* additive), AND across layers (no layer can widen another). Returns '' only when no
|
|
28029
|
+
* layer contributes.
|
|
28030
|
+
*
|
|
28031
|
+
* This is THE method every enforcement point must call. Deterministic by construction —
|
|
28032
|
+
* key-filter clauses render in FilterID order and list tokens sort their elements —
|
|
28033
|
+
* because the identical clause participates in the RunView cache fingerprint (INV-2):
|
|
28034
|
+
* any nondeterminism silently splits or merges cache slots.
|
|
28035
|
+
*
|
|
28036
|
+
* The application-ceiling layer (APIApplicationScope.RowFilterID) is deferred to v2 by
|
|
28037
|
+
* design decision; the column ships unused and the term composes here when it lands.
|
|
28038
|
+
*/
|
|
28039
|
+
}, {
|
|
28040
|
+
key: "GetEffectiveRowFilterWhereClause",
|
|
28041
|
+
value: function GetEffectiveRowFilterWhereClause(user, type, returnPrefix) {
|
|
28042
|
+
var layers = [];
|
|
28043
|
+
var roleClause = this.GetUserRowLevelSecurityWhereClause(user, type, '');
|
|
28044
|
+
if (roleClause && roleClause.length > 0) {
|
|
28045
|
+
layers.push("(".concat(roleClause, ")"));
|
|
28046
|
+
}
|
|
28047
|
+
var keyClause = this.getAPIKeyRowFilterClause(user, type);
|
|
28048
|
+
if (keyClause && keyClause.length > 0) {
|
|
28049
|
+
layers.push("(".concat(keyClause, ")"));
|
|
28050
|
+
}
|
|
28051
|
+
if (layers.length === 0) {
|
|
28052
|
+
return '';
|
|
28053
|
+
}
|
|
28054
|
+
var sql = layers.join(' AND ');
|
|
28055
|
+
return "".concat(returnPrefix && returnPrefix.length > 0 ? returnPrefix + ' ' : '').concat(sql);
|
|
28056
|
+
}
|
|
28057
|
+
/**
|
|
28058
|
+
* Resolves the API-key row-filter clause for this entity + permission type from the
|
|
28059
|
+
* bindings stamped on the session UserInfo. Multiple matching bindings AND together
|
|
28060
|
+
* (most-restrictive-wins — an unfiltered grant elsewhere cannot cancel a filter).
|
|
28061
|
+
* Fail-closed at every edge: a binding whose filter is missing from metadata (dangling
|
|
28062
|
+
* or unloaded) contributes `(1=0)`, and unresolved tokens inside a filter collapse it
|
|
28063
|
+
* to `(1=0)` via the match-nothing markup mode.
|
|
28064
|
+
*/
|
|
28065
|
+
}, {
|
|
28066
|
+
key: "getAPIKeyRowFilterClause",
|
|
28067
|
+
value: function getAPIKeyRowFilterClause(user, type) {
|
|
28068
|
+
var _this14 = this;
|
|
28069
|
+
var bindings = user === null || user === void 0 ? void 0 : user.APIKeyRowFilters;
|
|
28070
|
+
if (!bindings || bindings.length === 0) {
|
|
28071
|
+
return '';
|
|
28072
|
+
}
|
|
28073
|
+
var mine = bindings.filter(function (b) {
|
|
28074
|
+
return (0,dist/* UUIDsEqual */.jd)(b.EntityID, _this14.ID) && b.PermissionType === type;
|
|
28075
|
+
});
|
|
28076
|
+
if (mine.length === 0) {
|
|
28077
|
+
return '';
|
|
28078
|
+
}
|
|
28079
|
+
var clauses = entityInfo_toConsumableArray(mine).sort(function (a, b) {
|
|
28080
|
+
return a.FilterID.localeCompare(b.FilterID);
|
|
28081
|
+
}) // deterministic order for the cache fingerprint (INV-2)
|
|
28082
|
+
.map(function (b) {
|
|
28083
|
+
var filter = Metadata.Provider.RowLevelSecurityFilters.find(function (f) {
|
|
28084
|
+
return (0,dist/* UUIDsEqual */.jd)(f.ID, b.FilterID);
|
|
28085
|
+
}); // global-provider-ok: same resolution path as RLSFilter() above — stateless info class proxying to global metadata
|
|
28086
|
+
if (!filter) {
|
|
28087
|
+
LogError("API-key row filter ".concat(b.FilterID, " for entity ").concat(_this14.Name, " not found in metadata \u2014 resolving to (1=0)"));
|
|
28088
|
+
return '(1=0)';
|
|
28089
|
+
}
|
|
28090
|
+
return "(".concat(filter.MarkupFilterText(user, {
|
|
28091
|
+
unresolvedBehavior: 'match-nothing'
|
|
28092
|
+
}), ")");
|
|
28093
|
+
});
|
|
28094
|
+
return clauses.join(' AND ');
|
|
28095
|
+
}
|
|
27819
28096
|
/**
|
|
27820
28097
|
* Returns a RunViewParams object that is setup to filter the related entity for the provided record
|
|
27821
28098
|
* @param record
|
|
@@ -28484,11 +28761,11 @@ var AllMetadata = /*#__PURE__*/interfaces_createClass(function AllMetadata() {
|
|
|
28484
28761
|
this.AllLibraries = [];
|
|
28485
28762
|
this.AllExplorerNavigationItems = [];
|
|
28486
28763
|
});
|
|
28487
|
-
// EXTERNAL MODULE: ../../../node_modules/rxjs/dist/esm5/internal/Subject.js + 1 modules
|
|
28488
|
-
var Subject = __webpack_require__(
|
|
28489
|
-
// EXTERNAL MODULE: ../../../node_modules/rxjs/dist/esm5/internal/util/createErrorClass.js
|
|
28490
|
-
var createErrorClass = __webpack_require__(
|
|
28491
|
-
;// ../../../node_modules/rxjs/dist/esm5/internal/util/EmptyError.js
|
|
28764
|
+
// EXTERNAL MODULE: ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/Subject.js + 1 modules
|
|
28765
|
+
var Subject = __webpack_require__(291);
|
|
28766
|
+
// EXTERNAL MODULE: ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/createErrorClass.js
|
|
28767
|
+
var createErrorClass = __webpack_require__(755);
|
|
28768
|
+
;// ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/EmptyError.js
|
|
28492
28769
|
|
|
28493
28770
|
var EmptyError = (0,createErrorClass/* createErrorClass */.L)(function (_super) {
|
|
28494
28771
|
return function EmptyErrorImpl() {
|
|
@@ -28498,9 +28775,9 @@ var EmptyError = (0,createErrorClass/* createErrorClass */.L)(function (_super)
|
|
|
28498
28775
|
};
|
|
28499
28776
|
});
|
|
28500
28777
|
//# sourceMappingURL=EmptyError.js.map
|
|
28501
|
-
// EXTERNAL MODULE: ../../../node_modules/rxjs/dist/esm5/internal/Subscriber.js + 1 modules
|
|
28502
|
-
var Subscriber = __webpack_require__(
|
|
28503
|
-
;// ../../../node_modules/rxjs/dist/esm5/internal/firstValueFrom.js
|
|
28778
|
+
// EXTERNAL MODULE: ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/Subscriber.js + 1 modules
|
|
28779
|
+
var Subscriber = __webpack_require__(380);
|
|
28780
|
+
;// ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/firstValueFrom.js
|
|
28504
28781
|
|
|
28505
28782
|
|
|
28506
28783
|
function firstValueFrom(source, config) {
|
|
@@ -28525,15 +28802,15 @@ function firstValueFrom(source, config) {
|
|
|
28525
28802
|
});
|
|
28526
28803
|
}
|
|
28527
28804
|
//# sourceMappingURL=firstValueFrom.js.map
|
|
28528
|
-
// EXTERNAL MODULE: ../../../node_modules/rxjs/dist/esm5/internal/util/isFunction.js
|
|
28529
|
-
var isFunction = __webpack_require__(
|
|
28530
|
-
;// ../../../node_modules/rxjs/dist/esm5/internal/util/isScheduler.js
|
|
28805
|
+
// EXTERNAL MODULE: ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/isFunction.js
|
|
28806
|
+
var isFunction = __webpack_require__(41);
|
|
28807
|
+
;// ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/isScheduler.js
|
|
28531
28808
|
|
|
28532
28809
|
function isScheduler(value) {
|
|
28533
28810
|
return value && (0,isFunction/* isFunction */.T)(value.schedule);
|
|
28534
28811
|
}
|
|
28535
28812
|
//# sourceMappingURL=isScheduler.js.map
|
|
28536
|
-
;// ../../../node_modules/rxjs/dist/esm5/internal/util/args.js
|
|
28813
|
+
;// ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/args.js
|
|
28537
28814
|
/* unused harmony import specifier */ var args_isFunction;
|
|
28538
28815
|
|
|
28539
28816
|
|
|
@@ -28550,40 +28827,40 @@ function popNumber(args, defaultValue) {
|
|
|
28550
28827
|
return typeof last(args) === 'number' ? args.pop() : defaultValue;
|
|
28551
28828
|
}
|
|
28552
28829
|
//# sourceMappingURL=args.js.map
|
|
28553
|
-
// EXTERNAL MODULE: ../../../node_modules/tslib/tslib.es6.mjs
|
|
28554
|
-
var tslib_es6 = __webpack_require__(
|
|
28555
|
-
;// ../../../node_modules/rxjs/dist/esm5/internal/util/isArrayLike.js
|
|
28830
|
+
// EXTERNAL MODULE: ../../../node_modules/.pnpm/tslib@2.8.1/node_modules/tslib/tslib.es6.mjs
|
|
28831
|
+
var tslib_es6 = __webpack_require__(198);
|
|
28832
|
+
;// ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/isArrayLike.js
|
|
28556
28833
|
var isArrayLike = (function (x) { return x && typeof x.length === 'number' && typeof x !== 'function'; });
|
|
28557
28834
|
//# sourceMappingURL=isArrayLike.js.map
|
|
28558
|
-
;// ../../../node_modules/rxjs/dist/esm5/internal/util/isPromise.js
|
|
28835
|
+
;// ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/isPromise.js
|
|
28559
28836
|
|
|
28560
28837
|
function isPromise(value) {
|
|
28561
28838
|
return (0,isFunction/* isFunction */.T)(value === null || value === void 0 ? void 0 : value.then);
|
|
28562
28839
|
}
|
|
28563
28840
|
//# sourceMappingURL=isPromise.js.map
|
|
28564
|
-
// EXTERNAL MODULE: ../../../node_modules/rxjs/dist/esm5/internal/Observable.js + 2 modules
|
|
28565
|
-
var Observable = __webpack_require__(
|
|
28566
|
-
// EXTERNAL MODULE: ../../../node_modules/rxjs/dist/esm5/internal/symbol/observable.js
|
|
28567
|
-
var observable = __webpack_require__(
|
|
28568
|
-
;// ../../../node_modules/rxjs/dist/esm5/internal/util/isInteropObservable.js
|
|
28841
|
+
// EXTERNAL MODULE: ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/Observable.js + 2 modules
|
|
28842
|
+
var Observable = __webpack_require__(942);
|
|
28843
|
+
// EXTERNAL MODULE: ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/symbol/observable.js
|
|
28844
|
+
var observable = __webpack_require__(348);
|
|
28845
|
+
;// ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/isInteropObservable.js
|
|
28569
28846
|
|
|
28570
28847
|
|
|
28571
28848
|
function isInteropObservable(input) {
|
|
28572
28849
|
return (0,isFunction/* isFunction */.T)(input[observable/* observable */.s]);
|
|
28573
28850
|
}
|
|
28574
28851
|
//# sourceMappingURL=isInteropObservable.js.map
|
|
28575
|
-
;// ../../../node_modules/rxjs/dist/esm5/internal/util/isAsyncIterable.js
|
|
28852
|
+
;// ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/isAsyncIterable.js
|
|
28576
28853
|
|
|
28577
28854
|
function isAsyncIterable(obj) {
|
|
28578
28855
|
return Symbol.asyncIterator && (0,isFunction/* isFunction */.T)(obj === null || obj === void 0 ? void 0 : obj[Symbol.asyncIterator]);
|
|
28579
28856
|
}
|
|
28580
28857
|
//# sourceMappingURL=isAsyncIterable.js.map
|
|
28581
|
-
;// ../../../node_modules/rxjs/dist/esm5/internal/util/throwUnobservableError.js
|
|
28858
|
+
;// ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/throwUnobservableError.js
|
|
28582
28859
|
function createInvalidObservableTypeError(input) {
|
|
28583
28860
|
return new TypeError("You provided " + (input !== null && typeof input === 'object' ? 'an invalid object' : "'" + input + "'") + " where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.");
|
|
28584
28861
|
}
|
|
28585
28862
|
//# sourceMappingURL=throwUnobservableError.js.map
|
|
28586
|
-
;// ../../../node_modules/rxjs/dist/esm5/internal/symbol/iterator.js
|
|
28863
|
+
;// ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/symbol/iterator.js
|
|
28587
28864
|
function getSymbolIterator() {
|
|
28588
28865
|
if (typeof Symbol !== 'function' || !Symbol.iterator) {
|
|
28589
28866
|
return '@@iterator';
|
|
@@ -28592,14 +28869,14 @@ function getSymbolIterator() {
|
|
|
28592
28869
|
}
|
|
28593
28870
|
var iterator_iterator = getSymbolIterator();
|
|
28594
28871
|
//# sourceMappingURL=iterator.js.map
|
|
28595
|
-
;// ../../../node_modules/rxjs/dist/esm5/internal/util/isIterable.js
|
|
28872
|
+
;// ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/isIterable.js
|
|
28596
28873
|
|
|
28597
28874
|
|
|
28598
28875
|
function isIterable(input) {
|
|
28599
28876
|
return (0,isFunction/* isFunction */.T)(input === null || input === void 0 ? void 0 : input[iterator_iterator]);
|
|
28600
28877
|
}
|
|
28601
28878
|
//# sourceMappingURL=isIterable.js.map
|
|
28602
|
-
;// ../../../node_modules/rxjs/dist/esm5/internal/util/isReadableStreamLike.js
|
|
28879
|
+
;// ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/isReadableStreamLike.js
|
|
28603
28880
|
|
|
28604
28881
|
|
|
28605
28882
|
function readableStreamLikeToAsyncGenerator(readableStream) {
|
|
@@ -28640,9 +28917,9 @@ function isReadableStreamLike(obj) {
|
|
|
28640
28917
|
return (0,isFunction/* isFunction */.T)(obj === null || obj === void 0 ? void 0 : obj.getReader);
|
|
28641
28918
|
}
|
|
28642
28919
|
//# sourceMappingURL=isReadableStreamLike.js.map
|
|
28643
|
-
// EXTERNAL MODULE: ../../../node_modules/rxjs/dist/esm5/internal/util/reportUnhandledError.js
|
|
28644
|
-
var reportUnhandledError = __webpack_require__(
|
|
28645
|
-
;// ../../../node_modules/rxjs/dist/esm5/internal/observable/innerFrom.js
|
|
28920
|
+
// EXTERNAL MODULE: ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/reportUnhandledError.js
|
|
28921
|
+
var reportUnhandledError = __webpack_require__(564);
|
|
28922
|
+
;// ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/observable/innerFrom.js
|
|
28646
28923
|
|
|
28647
28924
|
|
|
28648
28925
|
|
|
@@ -28786,7 +29063,7 @@ function innerFrom_process(asyncIterable, subscriber) {
|
|
|
28786
29063
|
});
|
|
28787
29064
|
}
|
|
28788
29065
|
//# sourceMappingURL=innerFrom.js.map
|
|
28789
|
-
;// ../../../node_modules/rxjs/dist/esm5/internal/util/executeSchedule.js
|
|
29066
|
+
;// ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/executeSchedule.js
|
|
28790
29067
|
function executeSchedule(parentSubscription, scheduler, work, delay, repeat) {
|
|
28791
29068
|
if (delay === void 0) { delay = 0; }
|
|
28792
29069
|
if (repeat === void 0) { repeat = false; }
|
|
@@ -28805,7 +29082,7 @@ function executeSchedule(parentSubscription, scheduler, work, delay, repeat) {
|
|
|
28805
29082
|
}
|
|
28806
29083
|
}
|
|
28807
29084
|
//# sourceMappingURL=executeSchedule.js.map
|
|
28808
|
-
;// ../../../node_modules/rxjs/dist/esm5/internal/util/lift.js
|
|
29085
|
+
;// ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/lift.js
|
|
28809
29086
|
|
|
28810
29087
|
function hasLift(source) {
|
|
28811
29088
|
return (0,isFunction/* isFunction */.T)(source === null || source === void 0 ? void 0 : source.lift);
|
|
@@ -28826,7 +29103,7 @@ function operate(init) {
|
|
|
28826
29103
|
};
|
|
28827
29104
|
}
|
|
28828
29105
|
//# sourceMappingURL=lift.js.map
|
|
28829
|
-
;// ../../../node_modules/rxjs/dist/esm5/internal/operators/OperatorSubscriber.js
|
|
29106
|
+
;// ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/operators/OperatorSubscriber.js
|
|
28830
29107
|
|
|
28831
29108
|
|
|
28832
29109
|
function createOperatorSubscriber(destination, onNext, onComplete, onError, onFinalize) {
|
|
@@ -28888,7 +29165,7 @@ var OperatorSubscriber = (function (_super) {
|
|
|
28888
29165
|
}(Subscriber/* Subscriber */.vU));
|
|
28889
29166
|
|
|
28890
29167
|
//# sourceMappingURL=OperatorSubscriber.js.map
|
|
28891
|
-
;// ../../../node_modules/rxjs/dist/esm5/internal/operators/observeOn.js
|
|
29168
|
+
;// ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/operators/observeOn.js
|
|
28892
29169
|
|
|
28893
29170
|
|
|
28894
29171
|
|
|
@@ -28899,7 +29176,7 @@ function observeOn(scheduler, delay) {
|
|
|
28899
29176
|
});
|
|
28900
29177
|
}
|
|
28901
29178
|
//# sourceMappingURL=observeOn.js.map
|
|
28902
|
-
;// ../../../node_modules/rxjs/dist/esm5/internal/operators/subscribeOn.js
|
|
29179
|
+
;// ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/operators/subscribeOn.js
|
|
28903
29180
|
|
|
28904
29181
|
function subscribeOn(scheduler, delay) {
|
|
28905
29182
|
if (delay === void 0) { delay = 0; }
|
|
@@ -28908,7 +29185,7 @@ function subscribeOn(scheduler, delay) {
|
|
|
28908
29185
|
});
|
|
28909
29186
|
}
|
|
28910
29187
|
//# sourceMappingURL=subscribeOn.js.map
|
|
28911
|
-
;// ../../../node_modules/rxjs/dist/esm5/internal/scheduled/scheduleObservable.js
|
|
29188
|
+
;// ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleObservable.js
|
|
28912
29189
|
|
|
28913
29190
|
|
|
28914
29191
|
|
|
@@ -28916,7 +29193,7 @@ function scheduleObservable(input, scheduler) {
|
|
|
28916
29193
|
return innerFrom(input).pipe(subscribeOn(scheduler), observeOn(scheduler));
|
|
28917
29194
|
}
|
|
28918
29195
|
//# sourceMappingURL=scheduleObservable.js.map
|
|
28919
|
-
;// ../../../node_modules/rxjs/dist/esm5/internal/scheduled/schedulePromise.js
|
|
29196
|
+
;// ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/scheduled/schedulePromise.js
|
|
28920
29197
|
|
|
28921
29198
|
|
|
28922
29199
|
|
|
@@ -28924,7 +29201,7 @@ function schedulePromise(input, scheduler) {
|
|
|
28924
29201
|
return innerFrom(input).pipe(subscribeOn(scheduler), observeOn(scheduler));
|
|
28925
29202
|
}
|
|
28926
29203
|
//# sourceMappingURL=schedulePromise.js.map
|
|
28927
|
-
;// ../../../node_modules/rxjs/dist/esm5/internal/scheduled/scheduleArray.js
|
|
29204
|
+
;// ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleArray.js
|
|
28928
29205
|
|
|
28929
29206
|
function scheduleArray(input, scheduler) {
|
|
28930
29207
|
return new Observable/* Observable */.c(function (subscriber) {
|
|
@@ -28943,7 +29220,7 @@ function scheduleArray(input, scheduler) {
|
|
|
28943
29220
|
});
|
|
28944
29221
|
}
|
|
28945
29222
|
//# sourceMappingURL=scheduleArray.js.map
|
|
28946
|
-
;// ../../../node_modules/rxjs/dist/esm5/internal/scheduled/scheduleIterable.js
|
|
29223
|
+
;// ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleIterable.js
|
|
28947
29224
|
|
|
28948
29225
|
|
|
28949
29226
|
|
|
@@ -28976,7 +29253,7 @@ function scheduleIterable(input, scheduler) {
|
|
|
28976
29253
|
});
|
|
28977
29254
|
}
|
|
28978
29255
|
//# sourceMappingURL=scheduleIterable.js.map
|
|
28979
|
-
;// ../../../node_modules/rxjs/dist/esm5/internal/scheduled/scheduleAsyncIterable.js
|
|
29256
|
+
;// ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleAsyncIterable.js
|
|
28980
29257
|
|
|
28981
29258
|
|
|
28982
29259
|
function scheduleAsyncIterable(input, scheduler) {
|
|
@@ -29000,14 +29277,14 @@ function scheduleAsyncIterable(input, scheduler) {
|
|
|
29000
29277
|
});
|
|
29001
29278
|
}
|
|
29002
29279
|
//# sourceMappingURL=scheduleAsyncIterable.js.map
|
|
29003
|
-
;// ../../../node_modules/rxjs/dist/esm5/internal/scheduled/scheduleReadableStreamLike.js
|
|
29280
|
+
;// ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleReadableStreamLike.js
|
|
29004
29281
|
|
|
29005
29282
|
|
|
29006
29283
|
function scheduleReadableStreamLike(input, scheduler) {
|
|
29007
29284
|
return scheduleAsyncIterable(readableStreamLikeToAsyncGenerator(input), scheduler);
|
|
29008
29285
|
}
|
|
29009
29286
|
//# sourceMappingURL=scheduleReadableStreamLike.js.map
|
|
29010
|
-
;// ../../../node_modules/rxjs/dist/esm5/internal/scheduled/scheduled.js
|
|
29287
|
+
;// ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/scheduled/scheduled.js
|
|
29011
29288
|
|
|
29012
29289
|
|
|
29013
29290
|
|
|
@@ -29045,14 +29322,14 @@ function scheduled(input, scheduler) {
|
|
|
29045
29322
|
throw createInvalidObservableTypeError(input);
|
|
29046
29323
|
}
|
|
29047
29324
|
//# sourceMappingURL=scheduled.js.map
|
|
29048
|
-
;// ../../../node_modules/rxjs/dist/esm5/internal/observable/from.js
|
|
29325
|
+
;// ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/observable/from.js
|
|
29049
29326
|
|
|
29050
29327
|
|
|
29051
29328
|
function from(input, scheduler) {
|
|
29052
29329
|
return scheduler ? scheduled(input, scheduler) : innerFrom(input);
|
|
29053
29330
|
}
|
|
29054
29331
|
//# sourceMappingURL=from.js.map
|
|
29055
|
-
;// ../../../node_modules/rxjs/dist/esm5/internal/observable/of.js
|
|
29332
|
+
;// ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/observable/of.js
|
|
29056
29333
|
|
|
29057
29334
|
|
|
29058
29335
|
function of() {
|
|
@@ -29064,7 +29341,7 @@ function of() {
|
|
|
29064
29341
|
return from(args, scheduler);
|
|
29065
29342
|
}
|
|
29066
29343
|
//# sourceMappingURL=of.js.map
|
|
29067
|
-
;// ../../../node_modules/rxjs/dist/esm5/internal/operators/switchMap.js
|
|
29344
|
+
;// ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/operators/switchMap.js
|
|
29068
29345
|
|
|
29069
29346
|
|
|
29070
29347
|
|
|
@@ -29089,7 +29366,7 @@ function switchMap(project, resultSelector) {
|
|
|
29089
29366
|
});
|
|
29090
29367
|
}
|
|
29091
29368
|
//# sourceMappingURL=switchMap.js.map
|
|
29092
|
-
;// ../../../node_modules/rxjs/dist/esm5/internal/operators/finalize.js
|
|
29369
|
+
;// ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/operators/finalize.js
|
|
29093
29370
|
|
|
29094
29371
|
function finalize(callback) {
|
|
29095
29372
|
return operate(function (source, subscriber) {
|
|
@@ -29102,9 +29379,9 @@ function finalize(callback) {
|
|
|
29102
29379
|
});
|
|
29103
29380
|
}
|
|
29104
29381
|
//# sourceMappingURL=finalize.js.map
|
|
29105
|
-
// EXTERNAL MODULE: ../../../node_modules/rxjs/dist/esm5/internal/ReplaySubject.js
|
|
29106
|
-
var ReplaySubject = __webpack_require__(
|
|
29107
|
-
;// ../../../node_modules/rxjs/dist/esm5/internal/operators/share.js
|
|
29382
|
+
// EXTERNAL MODULE: ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/ReplaySubject.js
|
|
29383
|
+
var ReplaySubject = __webpack_require__(205);
|
|
29384
|
+
;// ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/operators/share.js
|
|
29108
29385
|
|
|
29109
29386
|
|
|
29110
29387
|
|
|
@@ -29190,7 +29467,7 @@ function handleReset(reset, on) {
|
|
|
29190
29467
|
return innerFrom(on.apply(void 0, (0,tslib_es6/* __spreadArray */.fX)([], (0,tslib_es6/* __read */.zs)(args)))).subscribe(onSubscriber);
|
|
29191
29468
|
}
|
|
29192
29469
|
//# sourceMappingURL=share.js.map
|
|
29193
|
-
;// ../../../node_modules/rxjs/dist/esm5/internal/operators/shareReplay.js
|
|
29470
|
+
;// ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/operators/shareReplay.js
|
|
29194
29471
|
|
|
29195
29472
|
|
|
29196
29473
|
function shareReplay(configOrBufferSize, windowTime, scheduler) {
|
|
@@ -31730,6 +32007,36 @@ var BaseEntity = /*#__PURE__*/function () {
|
|
|
31730
32007
|
* Debounces multiple calls so that if Save() is called again while a save is in progress,
|
|
31731
32008
|
* the second call will simply receive the same result as the first.
|
|
31732
32009
|
*
|
|
32010
|
+
* ## IS-A entities: one Save() writes the whole chain
|
|
32011
|
+
*
|
|
32012
|
+
* For a Table-Per-Type child, this saves EVERY level — root first, then down to this entity —
|
|
32013
|
+
* inside one transaction, with a single primary key shared across all of them. Set fields
|
|
32014
|
+
* belonging to any ancestor directly on this object; {@link Set} routes each one to the entity
|
|
32015
|
+
* that owns it. There is no depth limit.
|
|
32016
|
+
*
|
|
32017
|
+
* ```typescript
|
|
32018
|
+
* // Webinar IS-A Meeting IS-A Product
|
|
32019
|
+
* const webinar = await md.GetEntityObject<WebinarEntity>('Webinars', contextUser);
|
|
32020
|
+
* webinar.NewRecord();
|
|
32021
|
+
* webinar.RecordingURL = '...'; // Webinar's own
|
|
32022
|
+
* webinar.StartTime = start; // Meeting's
|
|
32023
|
+
* webinar.Name = 'Q1'; // Product's — set on the SAME object
|
|
32024
|
+
* await webinar.Save(); // writes Product, Meeting, Webinar
|
|
32025
|
+
* ```
|
|
32026
|
+
*
|
|
32027
|
+
* Do NOT create the parent separately and then try to attach a child to it — `NewRecord()`
|
|
32028
|
+
* starts a new chain rather than adopting an existing parent row, so that produces a second
|
|
32029
|
+
* parent and a primary-key conflict.
|
|
32030
|
+
*
|
|
32031
|
+
* If a PARENT level fails validation, this returns false and the failure is reported on THIS
|
|
32032
|
+
* entity's result as `Failed to save parent entity '<Name>': <detail>`. The commonest cause is a
|
|
32033
|
+
* NOT NULL column on an ancestor table that was never set — the child looks complete and the
|
|
32034
|
+
* save still fails. (Before v5.50.0 that result was recorded only on the parent object, so the
|
|
32035
|
+
* caller saw `false` with a null `LatestResult` and an empty `ResultHistory`.)
|
|
32036
|
+
*
|
|
32037
|
+
* @see {@link ISAParent} to inspect the parent instance directly
|
|
32038
|
+
* @see packages/MJCore/docs/isa-relationships.md — "Creating a Child Record"
|
|
32039
|
+
*
|
|
31733
32040
|
* @param options
|
|
31734
32041
|
* @returns Promise<boolean>
|
|
31735
32042
|
*/
|
|
@@ -35513,11 +35820,11 @@ _TelemetryManager.ENGINE_CACHE_SUGGESTION_ANALYZERS = new Set(['SameEntityMultip
|
|
|
35513
35820
|
_TelemetryManager.CACHE_SUGGESTION_REWRITE_ANALYZERS = new Set(['DuplicateRunViewAnalyzer']);
|
|
35514
35821
|
/** Replacement suggestion for cache-oriented findings on a non-cacheable entity. */
|
|
35515
35822
|
_TelemetryManager.NON_CACHEABLE_DEDUPE_SUGGESTION = 'This entity has caching disabled (AllowCaching=false), so caching is not an option — ' + 'deduplicate or consolidate the identical call at the call site (read once and reuse), or ' + 'mark an intentional repeat with RunView Telemetry.Exempt';
|
|
35516
|
-
// EXTERNAL MODULE: ../../../node_modules/rxjs/dist/esm5/internal/BehaviorSubject.js
|
|
35517
|
-
var BehaviorSubject = __webpack_require__(
|
|
35518
|
-
// EXTERNAL MODULE: ../../../node_modules/rxjs/dist/esm5/internal/util/noop.js
|
|
35519
|
-
var noop = __webpack_require__(
|
|
35520
|
-
;// ../../../node_modules/rxjs/dist/esm5/internal/operators/buffer.js
|
|
35823
|
+
// EXTERNAL MODULE: ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/BehaviorSubject.js
|
|
35824
|
+
var BehaviorSubject = __webpack_require__(562);
|
|
35825
|
+
// EXTERNAL MODULE: ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/noop.js
|
|
35826
|
+
var noop = __webpack_require__(821);
|
|
35827
|
+
;// ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/operators/buffer.js
|
|
35521
35828
|
|
|
35522
35829
|
|
|
35523
35830
|
|
|
@@ -35540,9 +35847,9 @@ function buffer(closingNotifier) {
|
|
|
35540
35847
|
});
|
|
35541
35848
|
}
|
|
35542
35849
|
//# sourceMappingURL=buffer.js.map
|
|
35543
|
-
// EXTERNAL MODULE: ../../../node_modules/rxjs/dist/esm5/internal/Subscription.js + 1 modules
|
|
35544
|
-
var Subscription = __webpack_require__(
|
|
35545
|
-
;// ../../../node_modules/rxjs/dist/esm5/internal/scheduler/Action.js
|
|
35850
|
+
// EXTERNAL MODULE: ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/Subscription.js + 1 modules
|
|
35851
|
+
var Subscription = __webpack_require__(112);
|
|
35852
|
+
;// ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/scheduler/Action.js
|
|
35546
35853
|
|
|
35547
35854
|
|
|
35548
35855
|
var Action = (function (_super) {
|
|
@@ -35558,7 +35865,7 @@ var Action = (function (_super) {
|
|
|
35558
35865
|
}(Subscription/* Subscription */.yU));
|
|
35559
35866
|
|
|
35560
35867
|
//# sourceMappingURL=Action.js.map
|
|
35561
|
-
;// ../../../node_modules/rxjs/dist/esm5/internal/scheduler/intervalProvider.js
|
|
35868
|
+
;// ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/scheduler/intervalProvider.js
|
|
35562
35869
|
|
|
35563
35870
|
var intervalProvider = {
|
|
35564
35871
|
setInterval: function (handler, timeout) {
|
|
@@ -35579,9 +35886,9 @@ var intervalProvider = {
|
|
|
35579
35886
|
delegate: undefined,
|
|
35580
35887
|
};
|
|
35581
35888
|
//# sourceMappingURL=intervalProvider.js.map
|
|
35582
|
-
// EXTERNAL MODULE: ../../../node_modules/rxjs/dist/esm5/internal/util/arrRemove.js
|
|
35583
|
-
var arrRemove = __webpack_require__(
|
|
35584
|
-
;// ../../../node_modules/rxjs/dist/esm5/internal/scheduler/AsyncAction.js
|
|
35889
|
+
// EXTERNAL MODULE: ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/arrRemove.js
|
|
35890
|
+
var arrRemove = __webpack_require__(750);
|
|
35891
|
+
;// ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/scheduler/AsyncAction.js
|
|
35585
35892
|
|
|
35586
35893
|
|
|
35587
35894
|
|
|
@@ -35672,9 +35979,9 @@ var AsyncAction = (function (_super) {
|
|
|
35672
35979
|
}(Action));
|
|
35673
35980
|
|
|
35674
35981
|
//# sourceMappingURL=AsyncAction.js.map
|
|
35675
|
-
// EXTERNAL MODULE: ../../../node_modules/rxjs/dist/esm5/internal/scheduler/dateTimestampProvider.js
|
|
35676
|
-
var dateTimestampProvider = __webpack_require__(
|
|
35677
|
-
;// ../../../node_modules/rxjs/dist/esm5/internal/Scheduler.js
|
|
35982
|
+
// EXTERNAL MODULE: ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/scheduler/dateTimestampProvider.js
|
|
35983
|
+
var dateTimestampProvider = __webpack_require__(987);
|
|
35984
|
+
;// ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/Scheduler.js
|
|
35678
35985
|
|
|
35679
35986
|
var Scheduler = (function () {
|
|
35680
35987
|
function Scheduler(schedulerActionCtor, now) {
|
|
@@ -35691,7 +35998,7 @@ var Scheduler = (function () {
|
|
|
35691
35998
|
}());
|
|
35692
35999
|
|
|
35693
36000
|
//# sourceMappingURL=Scheduler.js.map
|
|
35694
|
-
;// ../../../node_modules/rxjs/dist/esm5/internal/scheduler/AsyncScheduler.js
|
|
36001
|
+
;// ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/scheduler/AsyncScheduler.js
|
|
35695
36002
|
|
|
35696
36003
|
|
|
35697
36004
|
var AsyncScheduler = (function (_super) {
|
|
@@ -35728,13 +36035,13 @@ var AsyncScheduler = (function (_super) {
|
|
|
35728
36035
|
}(Scheduler));
|
|
35729
36036
|
|
|
35730
36037
|
//# sourceMappingURL=AsyncScheduler.js.map
|
|
35731
|
-
;// ../../../node_modules/rxjs/dist/esm5/internal/scheduler/async.js
|
|
36038
|
+
;// ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/scheduler/async.js
|
|
35732
36039
|
|
|
35733
36040
|
|
|
35734
36041
|
var asyncScheduler = new AsyncScheduler(AsyncAction);
|
|
35735
36042
|
var async_async = (/* unused pure expression or super */ null && (asyncScheduler));
|
|
35736
36043
|
//# sourceMappingURL=async.js.map
|
|
35737
|
-
;// ../../../node_modules/rxjs/dist/esm5/internal/operators/debounceTime.js
|
|
36044
|
+
;// ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/operators/debounceTime.js
|
|
35738
36045
|
|
|
35739
36046
|
|
|
35740
36047
|
|
|
@@ -35779,7 +36086,7 @@ function debounceTime(dueTime, scheduler) {
|
|
|
35779
36086
|
});
|
|
35780
36087
|
}
|
|
35781
36088
|
//# sourceMappingURL=debounceTime.js.map
|
|
35782
|
-
;// ../../../node_modules/rxjs/dist/esm5/internal/operators/filter.js
|
|
36089
|
+
;// ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/operators/filter.js
|
|
35783
36090
|
|
|
35784
36091
|
|
|
35785
36092
|
function filter(predicate, thisArg) {
|
|
@@ -45043,7 +45350,7 @@ var ProviderBase = /*#__PURE__*/function () {
|
|
|
45043
45350
|
if (!user || !params.EntityName) return '';
|
|
45044
45351
|
var entity = this.EntityByName(params.EntityName);
|
|
45045
45352
|
if (!entity) return '';
|
|
45046
|
-
return entity.
|
|
45353
|
+
return entity.GetEffectiveRowFilterWhereClause(user, EntityPermissionType.Read, '');
|
|
45047
45354
|
}
|
|
45048
45355
|
/**
|
|
45049
45356
|
* Pre-processing hook for RunView.
|
|
@@ -50874,7 +51181,7 @@ var BaseEngine = /*#__PURE__*/function (_BaseSingleton) {
|
|
|
50874
51181
|
key: "syncLocalCacheForConfig",
|
|
50875
51182
|
value: (function () {
|
|
50876
51183
|
var _syncLocalCacheForConfig = baseEngine_asyncToGenerator(/*#__PURE__*/baseEngine_regenerator().m(function _callee16(config, event) {
|
|
50877
|
-
var entity, provider, connectionString,
|
|
51184
|
+
var entity, provider, connectionString, fingerprint, key, rawUpdatedAt, updatedAt, entityData;
|
|
50878
51185
|
return baseEngine_regenerator().w(function (_context17) {
|
|
50879
51186
|
while (1) switch (_context17.n) {
|
|
50880
51187
|
case 0:
|
|
@@ -50890,16 +51197,9 @@ var BaseEngine = /*#__PURE__*/function (_BaseSingleton) {
|
|
|
50890
51197
|
if (provider && 'InstanceConnectionString' in provider) {
|
|
50891
51198
|
connectionString = provider.InstanceConnectionString;
|
|
50892
51199
|
}
|
|
50893
|
-
//
|
|
50894
|
-
|
|
50895
|
-
|
|
50896
|
-
ExtraFilter: config.Filter || '',
|
|
50897
|
-
OrderBy: config.OrderBy || '',
|
|
50898
|
-
ResultType: 'entity_object',
|
|
50899
|
-
MaxRows: -1,
|
|
50900
|
-
StartRow: 0
|
|
50901
|
-
};
|
|
50902
|
-
fingerprint = LocalCacheManager.Instance.GenerateRunViewFingerprint(params, connectionString); // Build CompositeKey from the entity's primary key fields
|
|
51200
|
+
// Use the shared builder so the fingerprint matches what LoadSingleEntityConfig
|
|
51201
|
+
// and RegisterCacheChangeCallbacks produce — prevents silent cache-slot mismatches
|
|
51202
|
+
fingerprint = LocalCacheManager.Instance.GenerateRunViewFingerprint(this.BuildRunViewParamsForConfig(config), connectionString); // Build CompositeKey from the entity's primary key fields
|
|
50903
51203
|
key = entity.PrimaryKey;
|
|
50904
51204
|
if (!(!key || key.KeyValuePairs.length === 0 || key.KeyValuePairs.some(function (kv) {
|
|
50905
51205
|
return kv.Value == null;
|
|
@@ -50969,7 +51269,18 @@ var BaseEngine = /*#__PURE__*/function (_BaseSingleton) {
|
|
|
50969
51269
|
// Compare all primary key values
|
|
50970
51270
|
return primaryKeys.every(function (pk, idx) {
|
|
50971
51271
|
var entityValue = e[pk.Name];
|
|
50972
|
-
|
|
51272
|
+
var targetValue = targetKeyValues[idx];
|
|
51273
|
+
// UUID columns must compare case-insensitively: the SAME id can arrive with
|
|
51274
|
+
// different casing depending on its source (a client-minted lowercase UUID from
|
|
51275
|
+
// BaseEntity.NewRecord vs. an uppercase value loaded from SQL Server). A raw `===`
|
|
51276
|
+
// then misses the match, and the caller's "not found → add it" branch appends a
|
|
51277
|
+
// DUPLICATE copy of the row into the engine cache. Drive this off metadata
|
|
51278
|
+
// (EntityFieldInfo.IsUniqueIdentifier, which is PG-aware) — never a string-shape
|
|
51279
|
+
// heuristic. See guides/UUID_COMPARISON_GUIDE.md.
|
|
51280
|
+
if (pk.IsUniqueIdentifier) {
|
|
51281
|
+
return (0,dist/* UUIDsEqual */.jd)(entityValue, targetValue);
|
|
51282
|
+
}
|
|
51283
|
+
return entityValue === targetValue;
|
|
50973
51284
|
});
|
|
50974
51285
|
});
|
|
50975
51286
|
}
|
|
@@ -51173,6 +51484,31 @@ var BaseEngine = /*#__PURE__*/function (_BaseSingleton) {
|
|
|
51173
51484
|
value: function isLatestConfigRefresh(propertyName, generation) {
|
|
51174
51485
|
return this._configRefreshGeneration.get(propertyName) === generation;
|
|
51175
51486
|
}
|
|
51487
|
+
/**
|
|
51488
|
+
* Builds the RunViewParams for an engine config. Used by LoadSingleEntityConfig,
|
|
51489
|
+
* LoadMultipleEntityConfigs, RegisterCacheChangeCallbacks, and syncLocalCacheForConfig
|
|
51490
|
+
* to ensure the fingerprint-affecting params (EntityName, ExtraFilter, OrderBy,
|
|
51491
|
+
* IgnoreMaxRows) are always consistent — preventing cache key mismatches that break
|
|
51492
|
+
* cross-server invalidation via Redis pub/sub and local cache upsert/remove operations.
|
|
51493
|
+
*/
|
|
51494
|
+
}, {
|
|
51495
|
+
key: "BuildRunViewParamsForConfig",
|
|
51496
|
+
value: function BuildRunViewParamsForConfig(config) {
|
|
51497
|
+
var bypassCache = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
51498
|
+
return {
|
|
51499
|
+
EntityName: config.EntityName,
|
|
51500
|
+
ResultType: config.ResultType || this.EngineDefaultResultType,
|
|
51501
|
+
ExtraFilter: config.Filter,
|
|
51502
|
+
OrderBy: config.OrderBy,
|
|
51503
|
+
IgnoreMaxRows: true,
|
|
51504
|
+
// Engines always need ALL data — bypass entity-level UserViewMaxRows caps
|
|
51505
|
+
_fromEngine: true,
|
|
51506
|
+
// Mark as engine-initiated to avoid false positive telemetry warnings
|
|
51507
|
+
CacheLocal: config.CacheLocal,
|
|
51508
|
+
CacheLocalTTL: config.CacheLocalTTL,
|
|
51509
|
+
BypassCache: bypassCache
|
|
51510
|
+
};
|
|
51511
|
+
}
|
|
51176
51512
|
/**
|
|
51177
51513
|
* Handles the process of loading a single config of type 'entity'.
|
|
51178
51514
|
* @param config
|
|
@@ -51202,19 +51538,7 @@ var BaseEngine = /*#__PURE__*/function (_BaseSingleton) {
|
|
|
51202
51538
|
p = this.RunViewProviderToUse;
|
|
51203
51539
|
rv = new RunView(p);
|
|
51204
51540
|
_context20.n = 1;
|
|
51205
|
-
return rv.RunView(
|
|
51206
|
-
EntityName: config.EntityName,
|
|
51207
|
-
ResultType: config.ResultType || this.EngineDefaultResultType,
|
|
51208
|
-
ExtraFilter: config.Filter,
|
|
51209
|
-
OrderBy: config.OrderBy,
|
|
51210
|
-
IgnoreMaxRows: true,
|
|
51211
|
-
// Engines always need ALL data — bypass entity-level UserViewMaxRows caps
|
|
51212
|
-
_fromEngine: true,
|
|
51213
|
-
// Mark as engine-initiated to avoid false positive telemetry warnings
|
|
51214
|
-
CacheLocal: config.CacheLocal,
|
|
51215
|
-
CacheLocalTTL: config.CacheLocalTTL,
|
|
51216
|
-
BypassCache: bypassCache
|
|
51217
|
-
}, contextUser);
|
|
51541
|
+
return rv.RunView(this.BuildRunViewParamsForConfig(config, bypassCache), contextUser);
|
|
51218
51542
|
case 1:
|
|
51219
51543
|
result = _context20.v;
|
|
51220
51544
|
if (this.isLatestConfigRefresh(config.PropertyName, generation)) {
|
|
@@ -51367,19 +51691,7 @@ var BaseEngine = /*#__PURE__*/function (_BaseSingleton) {
|
|
|
51367
51691
|
p = this.RunViewProviderToUse;
|
|
51368
51692
|
rv = new RunView(p);
|
|
51369
51693
|
viewConfigs = configs.map(function (c) {
|
|
51370
|
-
return
|
|
51371
|
-
EntityName: c.EntityName,
|
|
51372
|
-
ResultType: c.ResultType || _this1.EngineDefaultResultType,
|
|
51373
|
-
ExtraFilter: c.Filter,
|
|
51374
|
-
OrderBy: c.OrderBy,
|
|
51375
|
-
IgnoreMaxRows: true,
|
|
51376
|
-
// Engines always need ALL data — bypass entity-level UserViewMaxRows caps
|
|
51377
|
-
_fromEngine: true,
|
|
51378
|
-
// Mark as engine-initiated to avoid false positive telemetry warnings
|
|
51379
|
-
CacheLocal: c.CacheLocal,
|
|
51380
|
-
CacheLocalTTL: c.CacheLocalTTL,
|
|
51381
|
-
BypassCache: bypassCache
|
|
51382
|
-
};
|
|
51694
|
+
return _this1.BuildRunViewParamsForConfig(c, bypassCache);
|
|
51383
51695
|
});
|
|
51384
51696
|
_context21.n = 1;
|
|
51385
51697
|
return rv.RunViews(viewConfigs, contextUser);
|
|
@@ -51643,12 +51955,7 @@ var BaseEngine = /*#__PURE__*/function (_BaseSingleton) {
|
|
|
51643
51955
|
try {
|
|
51644
51956
|
var _loop2 = function _loop2() {
|
|
51645
51957
|
var config = _step11.value;
|
|
51646
|
-
var fingerprint = LocalCacheManager.Instance.GenerateRunViewFingerprint(
|
|
51647
|
-
EntityName: config.EntityName,
|
|
51648
|
-
ExtraFilter: config.Filter,
|
|
51649
|
-
OrderBy: config.OrderBy,
|
|
51650
|
-
ResultType: 'entity_object'
|
|
51651
|
-
}, connectionPrefix);
|
|
51958
|
+
var fingerprint = LocalCacheManager.Instance.GenerateRunViewFingerprint(_this10.BuildRunViewParamsForConfig(config), connectionPrefix);
|
|
51652
51959
|
var unsubscribe = LocalCacheManager.Instance.RegisterChangeCallback(fingerprint, function (event) {
|
|
51653
51960
|
return _this10.OnExternalCacheChange(config, event);
|
|
51654
51961
|
});
|
|
@@ -55781,7 +56088,9 @@ var DatabaseProviderBase = /*#__PURE__*/function (_ProviderBase) {
|
|
|
55781
56088
|
var stringLiteralPattern = /(['"])(?:(?=(\\?))\2[\s\S])*?\1/g;
|
|
55782
56089
|
var clauseWithoutStrings = clause.replace(stringLiteralPattern, '');
|
|
55783
56090
|
var lowerClause = clauseWithoutStrings.toLowerCase();
|
|
55784
|
-
var forbiddenPatterns = [/\binsert\b/, /\bupdate\b/, /\bdelete\b/, /\bexec\b/, /\bexecute\b/, /\bdrop\b/, /--/, /\/\*/, /\*\//, /\bunion\b/, /\bxp_/,
|
|
56091
|
+
var forbiddenPatterns = [/\binsert\b/, /\bupdate\b/, /\bdelete\b/, /\bexec\b/, /\bexecute\b/, /\bdrop\b/, /--/, /\/\*/, /\*\//, /\bunion\b/, /\bxp_/, /;/,
|
|
56092
|
+
// Time-based blind injection vector — no legitimate filter/order-by clause uses WAITFOR.
|
|
56093
|
+
/\bwaitfor\b/];
|
|
55785
56094
|
for (var _i = 0, _forbiddenPatterns = forbiddenPatterns; _i < _forbiddenPatterns.length; _i++) {
|
|
55786
56095
|
var pattern = _forbiddenPatterns[_i];
|
|
55787
56096
|
if (pattern.test(lowerClause)) return false;
|
|
@@ -56185,7 +56494,7 @@ var DatabaseProviderBase = /*#__PURE__*/function (_ProviderBase) {
|
|
|
56185
56494
|
value: (function () {
|
|
56186
56495
|
var _Save = databaseProviderBase_asyncToGenerator(/*#__PURE__*/databaseProviderBase_regenerator().m(function _callee15(entity, user, options) {
|
|
56187
56496
|
var _this5 = this;
|
|
56188
|
-
var entityResult, bNewRecord, bReplay, saveContext, validationMessage, createRLSPass, updateRLSPass, sqlDetails, _sqlDetails$parameter, extraData, result, _sqlDetails$parameter2, execOptions, rawResult, patches, _t8;
|
|
56497
|
+
var entityResult, bNewRecord, bReplay, saveContext, validationMessage, createRLSPass, updateRLSPass, postHookCreatePass, postImagePass, sqlDetails, _sqlDetails$parameter, extraData, result, _sqlDetails$parameter2, execOptions, rawResult, patches, _t8;
|
|
56189
56498
|
return databaseProviderBase_regenerator().w(function (_context17) {
|
|
56190
56499
|
while (1) switch (_context17.p = _context17.n) {
|
|
56191
56500
|
case 0:
|
|
@@ -56222,7 +56531,7 @@ var DatabaseProviderBase = /*#__PURE__*/function (_ProviderBase) {
|
|
|
56222
56531
|
throw new Error("CREATE not allowed for entity ".concat(entity.EntityInfo.Name));
|
|
56223
56532
|
case 4:
|
|
56224
56533
|
if (!(entity.Dirty || options.IgnoreDirtyState || options.ReplayOnly)) {
|
|
56225
|
-
_context17.n =
|
|
56534
|
+
_context17.n = 28;
|
|
56226
56535
|
break;
|
|
56227
56536
|
}
|
|
56228
56537
|
entityResult.StartedAt = new Date();
|
|
@@ -56311,12 +56620,49 @@ var DatabaseProviderBase = /*#__PURE__*/function (_ProviderBase) {
|
|
|
56311
56620
|
_context17.n = 12;
|
|
56312
56621
|
return this.OnBeforeSaveExecute(entity, user, options, saveContext);
|
|
56313
56622
|
case 12:
|
|
56623
|
+
if (bReplay) {
|
|
56624
|
+
_context17.n = 17;
|
|
56625
|
+
break;
|
|
56626
|
+
}
|
|
56627
|
+
if (!bNewRecord) {
|
|
56628
|
+
_context17.n = 15;
|
|
56629
|
+
break;
|
|
56630
|
+
}
|
|
56314
56631
|
_context17.n = 13;
|
|
56315
|
-
return this.
|
|
56632
|
+
return this.CheckCreateRLS(entity, user);
|
|
56316
56633
|
case 13:
|
|
56634
|
+
postHookCreatePass = _context17.v;
|
|
56635
|
+
if (postHookCreatePass) {
|
|
56636
|
+
_context17.n = 14;
|
|
56637
|
+
break;
|
|
56638
|
+
}
|
|
56639
|
+
entityResult.Success = false;
|
|
56640
|
+
entityResult.EndedAt = new Date();
|
|
56641
|
+
entityResult.Message = "Access denied for new ".concat(entity.EntityInfo.Name, " record: a before-save hook produced field values that no longer pass row-level security");
|
|
56642
|
+
throw new Error(entityResult.Message);
|
|
56643
|
+
case 14:
|
|
56644
|
+
_context17.n = 17;
|
|
56645
|
+
break;
|
|
56646
|
+
case 15:
|
|
56647
|
+
_context17.n = 16;
|
|
56648
|
+
return this.CheckUpdateRLSPostImage(entity, user);
|
|
56649
|
+
case 16:
|
|
56650
|
+
postImagePass = _context17.v;
|
|
56651
|
+
if (postImagePass) {
|
|
56652
|
+
_context17.n = 17;
|
|
56653
|
+
break;
|
|
56654
|
+
}
|
|
56655
|
+
entityResult.Success = false;
|
|
56656
|
+
entityResult.EndedAt = new Date();
|
|
56657
|
+
entityResult.Message = "Access denied: the requested changes would move this ".concat(entity.EntityInfo.Name, " record outside your permitted row scope");
|
|
56658
|
+
throw new Error(entityResult.Message);
|
|
56659
|
+
case 17:
|
|
56660
|
+
_context17.n = 18;
|
|
56661
|
+
return this.GenerateSaveSQL(entity, bNewRecord, user);
|
|
56662
|
+
case 18:
|
|
56317
56663
|
sqlDetails = _context17.v;
|
|
56318
56664
|
if (!(entity.TransactionGroup && !bReplay)) {
|
|
56319
|
-
_context17.n =
|
|
56665
|
+
_context17.n = 19;
|
|
56320
56666
|
break;
|
|
56321
56667
|
}
|
|
56322
56668
|
// ---- Transaction Group path ----
|
|
@@ -56340,31 +56686,31 @@ var DatabaseProviderBase = /*#__PURE__*/function (_ProviderBase) {
|
|
|
56340
56686
|
}
|
|
56341
56687
|
}));
|
|
56342
56688
|
return _context17.a(2, true);
|
|
56343
|
-
case
|
|
56689
|
+
case 19:
|
|
56344
56690
|
// ---- Direct execution path ----
|
|
56345
56691
|
this.OnSuspendRefresh();
|
|
56346
56692
|
if (!bReplay) {
|
|
56347
|
-
_context17.n =
|
|
56693
|
+
_context17.n = 20;
|
|
56348
56694
|
break;
|
|
56349
56695
|
}
|
|
56350
56696
|
result = [entity.GetAll()];
|
|
56351
|
-
_context17.n =
|
|
56697
|
+
_context17.n = 23;
|
|
56352
56698
|
break;
|
|
56353
|
-
case
|
|
56699
|
+
case 20:
|
|
56354
56700
|
execOptions = this.BuildSaveExecuteOptions(entity, sqlDetails);
|
|
56355
|
-
_context17.n =
|
|
56701
|
+
_context17.n = 21;
|
|
56356
56702
|
return this.ExecuteSQL(sqlDetails.fullSQL, (_sqlDetails$parameter2 = sqlDetails.parameters) !== null && _sqlDetails$parameter2 !== void 0 ? _sqlDetails$parameter2 : undefined, execOptions, user);
|
|
56357
|
-
case
|
|
56703
|
+
case 21:
|
|
56358
56704
|
rawResult = _context17.v;
|
|
56359
|
-
_context17.n =
|
|
56705
|
+
_context17.n = 22;
|
|
56360
56706
|
return this.PostProcessRows(rawResult, entity.EntityInfo, user);
|
|
56361
|
-
case
|
|
56707
|
+
case 22:
|
|
56362
56708
|
result = _context17.v;
|
|
56363
|
-
case
|
|
56709
|
+
case 23:
|
|
56364
56710
|
this.OnResumeRefresh();
|
|
56365
56711
|
entityResult.EndedAt = new Date();
|
|
56366
56712
|
if (!(result && result.length > 0)) {
|
|
56367
|
-
_context17.n =
|
|
56713
|
+
_context17.n = 25;
|
|
56368
56714
|
break;
|
|
56369
56715
|
}
|
|
56370
56716
|
this.OnAfterSaveExecute(entity, user, options, saveContext);
|
|
@@ -56372,42 +56718,42 @@ var DatabaseProviderBase = /*#__PURE__*/function (_ProviderBase) {
|
|
|
56372
56718
|
// OnSaveCompleted may return patch fields (e.g., updated lat/lng
|
|
56373
56719
|
// from geocoding) that need to be merged onto the SP result before
|
|
56374
56720
|
// the entity loads the data via finalizeSave().
|
|
56375
|
-
_context17.n =
|
|
56721
|
+
_context17.n = 24;
|
|
56376
56722
|
return this.OnSaveCompleted(entity, sqlDetails, user, options, saveContext);
|
|
56377
|
-
case
|
|
56723
|
+
case 24:
|
|
56378
56724
|
patches = _context17.v;
|
|
56379
56725
|
if (patches) {
|
|
56380
56726
|
Object.assign(result[0], patches);
|
|
56381
56727
|
}
|
|
56382
56728
|
return _context17.a(2, result[0]);
|
|
56383
|
-
case
|
|
56729
|
+
case 25:
|
|
56384
56730
|
if (!bNewRecord) {
|
|
56385
|
-
_context17.n =
|
|
56731
|
+
_context17.n = 26;
|
|
56386
56732
|
break;
|
|
56387
56733
|
}
|
|
56388
56734
|
throw new Error("SQL Error: Error creating new record, no rows returned from SQL: ".concat(sqlDetails.fullSQL));
|
|
56389
|
-
case
|
|
56735
|
+
case 26:
|
|
56390
56736
|
throw new Error("SQL Error: Error updating record, no MATCHING rows found within the database: ".concat(sqlDetails.fullSQL));
|
|
56391
|
-
case
|
|
56392
|
-
_context17.n =
|
|
56737
|
+
case 27:
|
|
56738
|
+
_context17.n = 29;
|
|
56393
56739
|
break;
|
|
56394
|
-
case
|
|
56740
|
+
case 28:
|
|
56395
56741
|
return _context17.a(2, entity);
|
|
56396
|
-
case
|
|
56397
|
-
_context17.n =
|
|
56742
|
+
case 29:
|
|
56743
|
+
_context17.n = 31;
|
|
56398
56744
|
break;
|
|
56399
|
-
case
|
|
56400
|
-
_context17.p =
|
|
56745
|
+
case 30:
|
|
56746
|
+
_context17.p = 30;
|
|
56401
56747
|
_t8 = _context17.v;
|
|
56402
56748
|
this.OnResumeRefresh();
|
|
56403
56749
|
entityResult.EndedAt = new Date();
|
|
56404
56750
|
entityResult.Message = _t8.message;
|
|
56405
56751
|
LogError(_t8);
|
|
56406
56752
|
throw _t8;
|
|
56407
|
-
case
|
|
56753
|
+
case 31:
|
|
56408
56754
|
return _context17.a(2);
|
|
56409
56755
|
}
|
|
56410
|
-
}, _callee15, this, [[1,
|
|
56756
|
+
}, _callee15, this, [[1, 30]]);
|
|
56411
56757
|
}));
|
|
56412
56758
|
function Save(_x54, _x55, _x56) {
|
|
56413
56759
|
return _Save.apply(this, arguments);
|
|
@@ -58725,7 +59071,7 @@ function SetProvider(provider) {
|
|
|
58725
59071
|
|
|
58726
59072
|
/***/ },
|
|
58727
59073
|
|
|
58728
|
-
/***/
|
|
59074
|
+
/***/ 791
|
|
58729
59075
|
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
58730
59076
|
|
|
58731
59077
|
"use strict";
|
|
@@ -58733,8 +59079,8 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
58733
59079
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
58734
59080
|
/* harmony export */ UserViewEngine: () => (/* binding */ UserViewEngine)
|
|
58735
59081
|
/* harmony export */ });
|
|
58736
|
-
/* harmony import */ var _memberjunction_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
|
|
58737
|
-
/* harmony import */ var _memberjunction_global__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
|
|
59082
|
+
/* harmony import */ var _memberjunction_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(63);
|
|
59083
|
+
/* harmony import */ var _memberjunction_global__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(899);
|
|
58738
59084
|
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
58739
59085
|
function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i.return) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
|
|
58740
59086
|
function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
|
|
@@ -59088,7 +59434,7 @@ var UserViewEngine = /*#__PURE__*/function (_BaseEngine) {
|
|
|
59088
59434
|
|
|
59089
59435
|
/***/ },
|
|
59090
59436
|
|
|
59091
|
-
/***/
|
|
59437
|
+
/***/ 835
|
|
59092
59438
|
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
59093
59439
|
|
|
59094
59440
|
"use strict";
|
|
@@ -59102,10 +59448,10 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
59102
59448
|
// UNUSED EXPORTS: AIAgentPermissionProvider, AISkillExportMarkdownOperation, AISkillImportMarkdownOperation, AISkillPermissionProvider, AccessControlRuleProvider, ApplicationRolePermissionProvider, ApplicationSettingEngine, ArtifactExtractor, ArtifactMetadataEngine, ArtifactPermissionProvider, AuditLogTypeEngine, BuildUnregisteredMimeError, CollectionPermissionProvider, ConversationEngine, ConversationWindowFields, CreateShareNotification, DEFAULT_AGGREGATE_DISPLAY, DashboardEngine, DashboardPermissionProvider, DecideInlineStorage, EncryptionEngineBase, EntityPermissionProvider, EntityPermissionType, EntitySaveOptions, ExtractBase64FromDataUrl, FileStorageEngineBase, FindArtifactTypeConflicts, GeoDataEngine, INJECTABLE_NOTE_STATUSES, InjectableNoteStatusSQLList, InstanceConfigEngine, InteractiveFormsEngine, IsInjectableNoteStatus, IsTextyMime, KnowledgeHubMetadataEngine, LoadMJAccessControlRuleEntityExtended, LoadMJArtifactPermissionEntityExtended, LoadMJCollectionPermissionEntityExtended, LoadMJConversationDetailEntityExtended, LoadMJDashboardPermissionEntityExtended, LoadPermissionEntityExtensions, LoadPermissionProviders, MCPEngine, MJAIActionEntity, MJAIActionSchema, MJAIAgentActionEntity, MJAIAgentActionSchema, MJAIAgentArtifactTypeEntity, MJAIAgentArtifactTypeSchema, MJAIAgentCategoryEntity, MJAIAgentCategorySchema, MJAIAgentChannelEntity, MJAIAgentChannelSchema, MJAIAgentClientToolEntity, MJAIAgentClientToolSchema, MJAIAgentCoAgentEntity, MJAIAgentCoAgentSchema, MJAIAgentConfigurationEntity, MJAIAgentConfigurationSchema, MJAIAgentDataSourceEntity, MJAIAgentDataSourceSchema, MJAIAgentEntity, MJAIAgentExampleEntity, MJAIAgentExampleSchema, MJAIAgentLearningCycleEntity, MJAIAgentLearningCycleSchema, MJAIAgentModalityEntity, MJAIAgentModalitySchema, MJAIAgentModelEntity, MJAIAgentModelSchema, MJAIAgentNoteEntity, MJAIAgentNoteSchema, MJAIAgentNoteTypeEntity, MJAIAgentNoteTypeSchema, MJAIAgentPermissionEntity, MJAIAgentPermissionSchema, MJAIAgentPromptEntity, MJAIAgentPromptSchema, MJAIAgentRelationshipEntity, MJAIAgentRelationshipSchema, MJAIAgentRequestEntity, MJAIAgentRequestSchema, MJAIAgentRequestTypeEntity, MJAIAgentRequestTypeSchema, MJAIAgentRunEntity, MJAIAgentRunMediaEntity, MJAIAgentRunMediaSchema, MJAIAgentRunSchema, MJAIAgentRunStepEntity, MJAIAgentRunStepSchema, MJAIAgentSchema, MJAIAgentSearchScopeEntity, MJAIAgentSearchScopeSchema, MJAIAgentSessionBridgeEntity, MJAIAgentSessionBridgeParticipantEntity, MJAIAgentSessionBridgeParticipantSchema, MJAIAgentSessionBridgeSchema, MJAIAgentSessionChannelEntity, MJAIAgentSessionChannelSchema, MJAIAgentSessionEntity, MJAIAgentSessionSchema, MJAIAgentSkillEntity, MJAIAgentSkillSchema, MJAIAgentStepEntity, MJAIAgentStepPathEntity, MJAIAgentStepPathSchema, MJAIAgentStepSchema, MJAIAgentTypeEntity, MJAIAgentTypeSchema, MJAIArchitectureEntity, MJAIArchitectureSchema, MJAIBridgeAgentIdentityEntity, MJAIBridgeAgentIdentitySchema, MJAIBridgeProviderChannelEntity, MJAIBridgeProviderChannelSchema, MJAIBridgeProviderEntity, MJAIBridgeProviderSchema, MJAIClientToolDefinitionEntity, MJAIClientToolDefinitionSchema, MJAIConfigurationEntity, MJAIConfigurationParamEntity, MJAIConfigurationParamSchema, MJAIConfigurationSchema, MJAICredentialBindingEntity, MJAICredentialBindingSchema, MJAIModalityEntity, MJAIModalitySchema, MJAIModelActionEntity, MJAIModelActionSchema, MJAIModelArchitectureEntity, MJAIModelArchitectureSchema, MJAIModelCostEntity, MJAIModelCostSchema, MJAIModelEntity, MJAIModelModalityEntity, MJAIModelModalitySchema, MJAIModelPriceTypeEntity, MJAIModelPriceTypeSchema, MJAIModelPriceUnitTypeEntity, MJAIModelPriceUnitTypeSchema, MJAIModelSchema, MJAIModelTypeEntity, MJAIModelTypeSchema, MJAIModelVendorEntity, MJAIModelVendorSchema, MJAIPromptCategoryEntity, MJAIPromptCategorySchema, MJAIPromptEntity, MJAIPromptModelEntity, MJAIPromptModelSchema, MJAIPromptRunEntity, MJAIPromptRunMediaEntity, MJAIPromptRunMediaSchema, MJAIPromptRunSchema, MJAIPromptSchema, MJAIPromptTypeEntity, MJAIPromptTypeSchema, MJAIRemoteBrowserProviderEntity, MJAIRemoteBrowserProviderSchema, MJAIResultCacheEntity, MJAIResultCacheSchema, MJAISkillActionEntity, MJAISkillActionSchema, MJAISkillEntity, MJAISkillPermissionEntity, MJAISkillPermissionSchema, MJAISkillSchema, MJAISkillSearchScopeEntity, MJAISkillSearchScopeSchema, MJAISkillSubAgentEntity, MJAISkillSubAgentSchema, MJAIVendorEntity, MJAIVendorSchema, MJAIVendorTypeDefinitionEntity, MJAIVendorTypeDefinitionSchema, MJAIVendorTypeEntity, MJAIVendorTypeSchema, MJAPIApplicationEntity, MJAPIApplicationSchema, MJAPIApplicationScopeEntity, MJAPIApplicationScopeSchema, MJAPIKeyApplicationEntity, MJAPIKeyApplicationSchema, MJAPIKeyEntity, MJAPIKeySchema, MJAPIKeyScopeEntity, MJAPIKeyScopeSchema, MJAPIKeyUsageLogEntity, MJAPIKeyUsageLogSchema, MJAPIScopeEntity, MJAPIScopeSchema, MJAccessControlRuleEntity, MJAccessControlRuleEntityExtended, MJAccessControlRuleSchema, MJActionAuthorizationEntity, MJActionAuthorizationSchema, MJActionCategoryEntity, MJActionCategorySchema, MJActionContextEntity, MJActionContextSchema, MJActionContextTypeEntity, MJActionContextTypeSchema, MJActionEntity, MJActionExecutionLogEntity, MJActionExecutionLogSchema, MJActionFilterEntity, MJActionFilterSchema, MJActionLibraryEntity, MJActionLibrarySchema, MJActionParamEntity, MJActionParamSchema, MJActionResultCodeEntity, MJActionResultCodeSchema, MJActionSchema, MJApplicationEntity, MJApplicationEntityEntity, MJApplicationEntitySchema, MJApplicationRoleEntity, MJApplicationRoleSchema, MJApplicationSchema, MJApplicationSettingEntity, MJApplicationSettingSchema, MJArchiveConfigurationEntity, MJArchiveConfigurationEntityEntity, MJArchiveConfigurationEntitySchema, MJArchiveConfigurationSchema, MJArchiveRunDetailEntity, MJArchiveRunDetailSchema, MJArchiveRunEntity, MJArchiveRunSchema, MJArtifactEntity, MJArtifactPermissionEntity, MJArtifactPermissionEntityExtended, MJArtifactPermissionSchema, MJArtifactSchema, MJArtifactTypeEntity, MJArtifactTypeSchema, MJArtifactUseEntity, MJArtifactUseSchema, MJArtifactVersionAttributeEntity, MJArtifactVersionAttributeSchema, MJArtifactVersionEntity, MJArtifactVersionSchema, MJAuditLogEntity, MJAuditLogSchema, MJAuditLogTypeEntity, MJAuditLogTypeSchema, MJAuthorizationEntity, MJAuthorizationRoleEntity, MJAuthorizationRoleSchema, MJAuthorizationSchema, MJClusterAnalysisClusterEntity, MJClusterAnalysisClusterSchema, MJClusterAnalysisEntity, MJClusterAnalysisSchema, MJCollectionArtifactEntity, MJCollectionArtifactSchema, MJCollectionEntity, MJCollectionPermissionEntity, MJCollectionPermissionEntityExtended, MJCollectionPermissionSchema, MJCollectionSchema, MJCommunicationBaseMessageTypeEntity, MJCommunicationBaseMessageTypeSchema, MJCommunicationLogEntity, MJCommunicationLogSchema, MJCommunicationProviderEntity, MJCommunicationProviderMessageTypeEntity, MJCommunicationProviderMessageTypeSchema, MJCommunicationProviderSchema, MJCommunicationRunEntity, MJCommunicationRunSchema, MJCompanyEntity, MJCompanyIntegrationEntity, MJCompanyIntegrationEntityMapEntity, MJCompanyIntegrationEntityMapSchema, MJCompanyIntegrationFieldMapEntity, MJCompanyIntegrationFieldMapSchema, MJCompanyIntegrationRecordMapEntity, MJCompanyIntegrationRecordMapSchema, MJCompanyIntegrationRunAPILogEntity, MJCompanyIntegrationRunAPILogSchema, MJCompanyIntegrationRunDetailEntity, MJCompanyIntegrationRunDetailSchema, MJCompanyIntegrationRunEntity, MJCompanyIntegrationRunSchema, MJCompanyIntegrationSchema, MJCompanyIntegrationSyncWatermarkEntity, MJCompanyIntegrationSyncWatermarkSchema, MJCompanySchema, MJComponentDependencyEntity, MJComponentDependencySchema, MJComponentEntity, MJComponentEntityExtended, MJComponentLibraryEntity, MJComponentLibraryLinkEntity, MJComponentLibraryLinkSchema, MJComponentLibrarySchema, MJComponentRegistryEntity, MJComponentRegistrySchema, MJComponentSchema, MJContentFileTypeEntity, MJContentFileTypeSchema, MJContentItemAttributeEntity, MJContentItemAttributeSchema, MJContentItemChunkEntity, MJContentItemChunkSchema, MJContentItemDuplicateEntity, MJContentItemDuplicateSchema, MJContentItemEntity, MJContentItemSchema, MJContentItemTagEntity, MJContentItemTagSchema, MJContentProcessRunDetailEntity, MJContentProcessRunDetailSchema, MJContentProcessRunEntity, MJContentProcessRunPromptRunEntity, MJContentProcessRunPromptRunSchema, MJContentProcessRunSchema, MJContentSourceEntity, MJContentSourceParamEntity, MJContentSourceParamSchema, MJContentSourceSchema, MJContentSourceTypeEntity, MJContentSourceTypeParamEntity, MJContentSourceTypeParamSchema, MJContentSourceTypeSchema, MJContentTypeAttributeEntity, MJContentTypeAttributeSchema, MJContentTypeEntity, MJContentTypeSchema, MJConversationArtifactEntity, MJConversationArtifactPermissionEntity, MJConversationArtifactPermissionSchema, MJConversationArtifactSchema, MJConversationArtifactVersionEntity, MJConversationArtifactVersionSchema, MJConversationCompactionRunEntity, MJConversationCompactionRunSchema, MJConversationDetailArtifactEntity, MJConversationDetailArtifactSchema, MJConversationDetailAttachmentEntity, MJConversationDetailAttachmentSchema, MJConversationDetailEntity, MJConversationDetailEntityExtended, MJConversationDetailRatingEntity, MJConversationDetailRatingSchema, MJConversationDetailSchema, MJConversationEntity, MJConversationSchema, MJConversationWidgetInstanceEntity, MJConversationWidgetInstanceSchema, MJCountryEntity, MJCountrySchema, MJCredentialCategoryEntity, MJCredentialCategorySchema, MJCredentialEntity, MJCredentialSchema, MJCredentialTypeEntity, MJCredentialTypeSchema, MJDashboardCategoryEntity, MJDashboardCategoryLinkEntity, MJDashboardCategoryLinkSchema, MJDashboardCategoryPermissionEntity, MJDashboardCategoryPermissionSchema, MJDashboardCategorySchema, MJDashboardEntity, MJDashboardEntityExtended, MJDashboardPartTypeEntity, MJDashboardPartTypeSchema, MJDashboardPermissionEntity, MJDashboardPermissionEntityExtended, MJDashboardPermissionSchema, MJDashboardSchema, MJDashboardUserPreferenceEntity, MJDashboardUserPreferenceSchema, MJDashboardUserStateEntity, MJDashboardUserStateSchema, MJDataContextEntity, MJDataContextItemEntity, MJDataContextItemSchema, MJDataContextSchema, MJDatasetEntity, MJDatasetItemEntity, MJDatasetItemSchema, MJDatasetSchema, MJDuplicateRunDetailEntity, MJDuplicateRunDetailMatchEntity, MJDuplicateRunDetailMatchSchema, MJDuplicateRunDetailSchema, MJDuplicateRunEntity, MJDuplicateRunSchema, MJEmployeeCompanyIntegrationEntity, MJEmployeeCompanyIntegrationSchema, MJEmployeeEntity, MJEmployeeRoleEntity, MJEmployeeRoleSchema, MJEmployeeSchema, MJEmployeeSkillEntity, MJEmployeeSkillSchema, MJEncryptionAlgorithmEntity, MJEncryptionAlgorithmSchema, MJEncryptionKeyEntity, MJEncryptionKeySchema, MJEncryptionKeySourceEntity, MJEncryptionKeySourceSchema, MJEntityAIActionEntity, MJEntityAIActionSchema, MJEntityActionEntity, MJEntityActionFilterEntity, MJEntityActionFilterSchema, MJEntityActionInvocationEntity, MJEntityActionInvocationSchema, MJEntityActionInvocationTypeEntity, MJEntityActionInvocationTypeSchema, MJEntityActionParamEntity, MJEntityActionParamSchema, MJEntityActionSchema, MJEntityCommunicationFieldEntity, MJEntityCommunicationFieldSchema, MJEntityCommunicationMessageTypeEntity, MJEntityCommunicationMessageTypeSchema, MJEntityDocumentEntity, MJEntityDocumentRunEntity, MJEntityDocumentRunSchema, MJEntityDocumentSchema, MJEntityDocumentSettingEntity, MJEntityDocumentSettingSchema, MJEntityDocumentTypeEntity, MJEntityDocumentTypeSchema, MJEntityEntity, MJEntityEntityExtended, MJEntityFieldEntity, MJEntityFieldEntityExtended, MJEntityFieldSchema, MJEntityFieldValueEntity, MJEntityFieldValueSchema, MJEntityFormOverrideEntity, MJEntityFormOverrideSchema, MJEntityOrganicKeyEntity, MJEntityOrganicKeyRelatedEntityEntity, MJEntityOrganicKeyRelatedEntitySchema, MJEntityOrganicKeySchema, MJEntityPermissionEntity, MJEntityPermissionSchema, MJEntityRecordDocumentEntity, MJEntityRecordDocumentSchema, MJEntityRelationshipDisplayComponentEntity, MJEntityRelationshipDisplayComponentSchema, MJEntityRelationshipEntity, MJEntityRelationshipSchema, MJEntitySchema, MJEntitySettingEntity, MJEntitySettingSchema, MJEnvironmentEntity, MJEnvironmentEntityExtended, MJEnvironmentSchema, MJErrorLogEntity, MJErrorLogSchema, MJExperimentEntity, MJExperimentSchema, MJExperimentSessionEntity, MJExperimentSessionIterationEntity, MJExperimentSessionIterationSchema, MJExperimentSessionSchema, MJExplorerNavigationItemEntity, MJExplorerNavigationItemSchema, MJExternalDataSourceEntity, MJExternalDataSourceSchema, MJExternalDataSourceTypeEntity, MJExternalDataSourceTypeSchema, MJFileCategoryEntity, MJFileCategorySchema, MJFileEntity, MJFileEntityRecordLinkEntity, MJFileEntityRecordLinkSchema, MJFileSchema, MJFileStorageAccountEntity, MJFileStorageAccountPermissionEntity, MJFileStorageAccountPermissionSchema, MJFileStorageAccountSchema, MJFileStorageProviderEntity, MJFileStorageProviderSchema, MJGeneratedCodeCategoryEntity, MJGeneratedCodeCategorySchema, MJGeneratedCodeEntity, MJGeneratedCodeSchema, MJInstanceConfigurationEntity, MJInstanceConfigurationSchema, MJIntegrationEntity, MJIntegrationObjectEntity, MJIntegrationObjectFieldEntity, MJIntegrationObjectFieldSchema, MJIntegrationObjectSchema, MJIntegrationSchema, MJIntegrationSourceTypeEntity, MJIntegrationSourceTypeSchema, MJIntegrationURLFormatEntity, MJIntegrationURLFormatSchema, MJKnowledgeHubSavedSearchEntity, MJKnowledgeHubSavedSearchSchema, MJLibraryEntity, MJLibraryItemEntity, MJLibraryItemSchema, MJLibrarySchema, MJListCategoryEntity, MJListCategorySchema, MJListDetailEntity, MJListDetailEntityExtended, MJListDetailSchema, MJListEntity, MJListEntityExtended, MJListInvitationEntity, MJListInvitationSchema, MJListSchema, MJListShareEntity, MJListShareSchema, MJMCPServerConnectionEntity, MJMCPServerConnectionPermissionEntity, MJMCPServerConnectionPermissionSchema, MJMCPServerConnectionSchema, MJMCPServerConnectionToolEntity, MJMCPServerConnectionToolSchema, MJMCPServerEntity, MJMCPServerSchema, MJMCPServerToolEntity, MJMCPServerToolSchema, MJMCPToolExecutionLogEntity, MJMCPToolExecutionLogSchema, MJMCPToolFavoriteEntity, MJMCPToolFavoriteSchema, MJMLAlgorithmEntity, MJMLAlgorithmSchema, MJMLAlgorithmUseCaseEntity, MJMLAlgorithmUseCaseRankingEntity, MJMLAlgorithmUseCaseRankingSchema, MJMLAlgorithmUseCaseSchema, MJMLModelEntity, MJMLModelSchema, MJMLModelScoringBindingEntity, MJMLModelScoringBindingSchema, MJMLTrainingPipelineEntity, MJMLTrainingPipelineSchema, MJMLTrainingRunEntity, MJMLTrainingRunSchema, MJMagicLinkInviteAllowedDomainEntity, MJMagicLinkInviteAllowedDomainSchema, MJMagicLinkInviteAllowedPathEntity, MJMagicLinkInviteAllowedPathSchema, MJMagicLinkInviteApplicationEntity, MJMagicLinkInviteApplicationSchema, MJMagicLinkInviteEntity, MJMagicLinkInviteRoleEntity, MJMagicLinkInviteRoleSchema, MJMagicLinkInviteSchema, MJMagicLinkRedemptionEntity, MJMagicLinkRedemptionSchema, MJOAuthAuthServerMetadataCacheEntity, MJOAuthAuthServerMetadataCacheSchema, MJOAuthAuthorizationStateEntity, MJOAuthAuthorizationStateSchema, MJOAuthClientRegistrationEntity, MJOAuthClientRegistrationSchema, MJOAuthTokenEntity, MJOAuthTokenSchema, MJOpenAppDependencyEntity, MJOpenAppDependencySchema, MJOpenAppEntity, MJOpenAppInstallHistoryEntity, MJOpenAppInstallHistorySchema, MJOpenAppSchema, MJOutputDeliveryTypeEntity, MJOutputDeliveryTypeSchema, MJOutputFormatTypeEntity, MJOutputFormatTypeSchema, MJOutputTriggerTypeEntity, MJOutputTriggerTypeSchema, MJPermissionDomainEntity, MJPermissionDomainSchema, MJProcessRunDetailEntity, MJProcessRunDetailSchema, MJProcessRunEntity, MJProcessRunSchema, MJProjectEntity, MJProjectSchema, MJPublicLinkEntity, MJPublicLinkSchema, MJQueryCategoryEntity, MJQueryCategorySchema, MJQueryDependencyEntity, MJQueryDependencySchema, MJQueryEntity, MJQueryEntityEntity, MJQueryEntityExtended, MJQueryEntitySchema, MJQueryFieldEntity, MJQueryFieldSchema, MJQueryParameterEntity, MJQueryParameterSchema, MJQueryPermissionEntity, MJQueryPermissionSchema, MJQuerySQLEntity, MJQuerySQLSchema, MJQuerySchema, MJQueueEntity, MJQueueSchema, MJQueueTaskEntity, MJQueueTaskSchema, MJQueueTypeEntity, MJQueueTypeSchema, MJRecommendationEntity, MJRecommendationItemEntity, MJRecommendationItemSchema, MJRecommendationProviderEntity, MJRecommendationProviderSchema, MJRecommendationRunEntity, MJRecommendationRunSchema, MJRecommendationSchema, MJRecordChangeEntity, MJRecordChangeReplayRunEntity, MJRecordChangeReplayRunSchema, MJRecordChangeSchema, MJRecordGeoCodeEntity, MJRecordGeoCodeSchema, MJRecordLinkEntity, MJRecordLinkSchema, MJRecordMergeDeletionLogEntity, MJRecordMergeDeletionLogSchema, MJRecordMergeLogEntity, MJRecordMergeLogSchema, MJRecordProcessCategoryEntity, MJRecordProcessCategorySchema, MJRecordProcessEntity, MJRecordProcessSchema, MJRecordProcessWatermarkEntity, MJRecordProcessWatermarkSchema, MJRemoteOperationCategoryEntity, MJRemoteOperationCategorySchema, MJRemoteOperationEntity, MJRemoteOperationSchema, MJReportCategoryEntity, MJReportCategorySchema, MJReportEntity, MJReportSchema, MJReportSnapshotEntity, MJReportSnapshotSchema, MJReportUserStateEntity, MJReportUserStateSchema, MJReportVersionEntity, MJReportVersionSchema, MJResourceLinkEntity, MJResourceLinkSchema, MJResourcePermissionEntity, MJResourcePermissionEntityExtended, MJResourcePermissionSchema, MJResourceTypeEntity, MJResourceTypeSchema, MJRoleEntity, MJRoleSchema, MJRowLevelSecurityFilterEntity, MJRowLevelSecurityFilterSchema, MJSQLDialectEntity, MJSQLDialectSchema, MJScheduledActionEntity, MJScheduledActionEntityExtended, MJScheduledActionParamEntity, MJScheduledActionParamSchema, MJScheduledActionSchema, MJScheduledJobEntity, MJScheduledJobRunEntity, MJScheduledJobRunSchema, MJScheduledJobSchema, MJScheduledJobTypeEntity, MJScheduledJobTypeSchema, MJSchemaInfoEntity, MJSchemaInfoSchema, MJScopedPromptConfigEntity, MJScopedPromptConfigSchema, MJScopedPromptPartEntity, MJScopedPromptPartSchema, MJSearchExecutionLogEntity, MJSearchExecutionLogSchema, MJSearchProviderEntity, MJSearchProviderSchema, MJSearchScopeEntity, MJSearchScopeEntityEntity, MJSearchScopeEntitySchema, MJSearchScopeExternalIndexEntity, MJSearchScopeExternalIndexSchema, MJSearchScopePermissionEntity, MJSearchScopePermissionSchema, MJSearchScopeProviderEntity, MJSearchScopeProviderSchema, MJSearchScopeSchema, MJSearchScopeStorageAccountEntity, MJSearchScopeStorageAccountSchema, MJSearchScopeTestQueryEntity, MJSearchScopeTestQuerySchema, MJSignatureAccountEntity, MJSignatureAccountSchema, MJSignatureProviderEntity, MJSignatureProviderSchema, MJSignatureRequestDocumentEntity, MJSignatureRequestDocumentSchema, MJSignatureRequestEntity, MJSignatureRequestLogEntity, MJSignatureRequestLogSchema, MJSignatureRequestRecipientEntity, MJSignatureRequestRecipientSchema, MJSignatureRequestSchema, MJSkillEntity, MJSkillSchema, MJStateProvinceEntity, MJStateProvinceSchema, MJTagAuditLogEntity, MJTagAuditLogSchema, MJTagCoOccurrenceEntity, MJTagCoOccurrenceSchema, MJTagEntity, MJTagSchema, MJTagScopeEntity, MJTagScopeSchema, MJTagSuggestionEntity, MJTagSuggestionSchema, MJTagSynonymEntity, MJTagSynonymSchema, MJTaggedItemEntity, MJTaggedItemSchema, MJTaskDependencyEntity, MJTaskDependencySchema, MJTaskEntity, MJTaskSchema, MJTaskTypeEntity, MJTaskTypeSchema, MJTemplateCategoryEntity, MJTemplateCategorySchema, MJTemplateContentEntity, MJTemplateContentSchema, MJTemplateContentTypeEntity, MJTemplateContentTypeSchema, MJTemplateEntity, MJTemplateEntityExtended, MJTemplateParamEntity, MJTemplateParamSchema, MJTemplateSchema, MJTestEntity, MJTestRubricEntity, MJTestRubricSchema, MJTestRunEntity, MJTestRunFeedbackEntity, MJTestRunFeedbackSchema, MJTestRunOutputEntity, MJTestRunOutputSchema, MJTestRunOutputTypeEntity, MJTestRunOutputTypeSchema, MJTestRunSchema, MJTestSchema, MJTestSuiteEntity, MJTestSuiteRunEntity, MJTestSuiteRunSchema, MJTestSuiteSchema, MJTestSuiteTestEntity, MJTestSuiteTestSchema, MJTestTypeEntity, MJTestTypeSchema, MJThemeEntity, MJThemeSchema, MJUserApplicationEntity, MJUserApplicationEntityEntity, MJUserApplicationEntitySchema, MJUserApplicationSchema, MJUserEntity, MJUserFavoriteEntity, MJUserFavoriteSchema, MJUserNotificationEntity, MJUserNotificationPreferenceEntity, MJUserNotificationPreferenceSchema, MJUserNotificationSchema, MJUserNotificationTypeEntity, MJUserNotificationTypeSchema, MJUserRecordLogEntity, MJUserRecordLogSchema, MJUserRoleEntity, MJUserRoleSchema, MJUserRoutineEntity, MJUserRoutineRecipientEntity, MJUserRoutineRecipientSchema, MJUserRoutineRunEntity, MJUserRoutineRunSchema, MJUserRoutineSchema, MJUserSchema, MJUserSettingEntity, MJUserSettingSchema, MJUserViewCategoryEntity, MJUserViewCategorySchema, MJUserViewEntity, MJUserViewEntityExtended, MJUserViewRunDetailEntity, MJUserViewRunDetailSchema, MJUserViewRunEntity, MJUserViewRunSchema, MJUserViewSchema, MJVectorDatabaseEntity, MJVectorDatabaseSchema, MJVectorIndexEntity, MJVectorIndexSchema, MJVersionInstallationEntity, MJVersionInstallationSchema, MJVersionLabelEntity, MJVersionLabelItemEntity, MJVersionLabelItemSchema, MJVersionLabelRestoreEntity, MJVersionLabelRestoreSchema, MJVersionLabelSchema, MJViewTypeEntity, MJViewTypeSchema, MJWorkflowEngineEntity, MJWorkflowEngineSchema, MJWorkflowEntity, MJWorkflowRunEntity, MJWorkflowRunSchema, MJWorkflowSchema, MJWorkspaceEntity, MJWorkspaceItemEntity, MJWorkspaceItemSchema, MJWorkspaceSchema, PERMISSION_DOMAIN_ICONS, PERMISSION_DOMAIN_ICON_FALLBACK, PermissionEngine, PredictiveStudioControlExperimentSessionOperation, PredictiveStudioCreateScoringProcessOperation, PredictiveStudioPromoteModelOperation, PredictiveStudioRunFeaturePipelineOperation, PredictiveStudioScoreRecordSetOperation, PredictiveStudioStartExperimentSessionOperation, PredictiveStudioTrainModelOperation, QueryEngine, QueryPermissionProvider, ReadOnlyExternalBaseEntity, RecordComparisonCompareOperation, RecordProcessCancelRunOperation, RecordProcessGetRunStatusOperation, RecordProcessPauseRunOperation, RecordProcessResumeRunOperation, RecordProcessRunNowOperation, RegisterShareNotificationHandler, RemoteOperationEngineBase, ResolveArtifactTypeByMime, ResourceData, ResourcePermissionEngine, ResourcePermissionProvider, ResourceTypeEngine, SearchEngineBase, TemplateRunOperation, TypeTablesCache, UserInfoEngine, UserRoutineEngine, UserViewEngine, ViewColumnInfo, ViewFilterInfo, ViewFilterLogicInfo, ViewGridState, ViewSortDirectionInfo, ViewSortInfo, assertCallerMayCreateShare, buildActionsSummary, checkShareManagePermission, dispatchShareNotificationAfterSave, loadModule, parseConversationDetailComplete
|
|
59103
59449
|
|
|
59104
59450
|
// EXTERNAL MODULE: ../../MJCore/dist/index.js + 88 modules
|
|
59105
|
-
var dist = __webpack_require__(
|
|
59451
|
+
var dist = __webpack_require__(63);
|
|
59106
59452
|
// EXTERNAL MODULE: ../../MJGlobal/dist/index.js + 24 modules
|
|
59107
|
-
var MJGlobal_dist = __webpack_require__(
|
|
59108
|
-
;// ../../../node_modules/zod/v3/helpers/util.js
|
|
59453
|
+
var MJGlobal_dist = __webpack_require__(899);
|
|
59454
|
+
;// ../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/util.js
|
|
59109
59455
|
var util;
|
|
59110
59456
|
(function (util) {
|
|
59111
59457
|
util.assertEqual = (_) => { };
|
|
@@ -59240,7 +59586,7 @@ const getParsedType = (data) => {
|
|
|
59240
59586
|
}
|
|
59241
59587
|
};
|
|
59242
59588
|
|
|
59243
|
-
;// ../../../node_modules/zod/v3/ZodError.js
|
|
59589
|
+
;// ../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/ZodError.js
|
|
59244
59590
|
|
|
59245
59591
|
const ZodIssueCode = util.arrayToEnum([
|
|
59246
59592
|
"invalid_type",
|
|
@@ -59375,7 +59721,7 @@ ZodError.create = (issues) => {
|
|
|
59375
59721
|
return error;
|
|
59376
59722
|
};
|
|
59377
59723
|
|
|
59378
|
-
;// ../../../node_modules/zod/v3/locales/en.js
|
|
59724
|
+
;// ../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/locales/en.js
|
|
59379
59725
|
|
|
59380
59726
|
|
|
59381
59727
|
const errorMap = (issue, _ctx) => {
|
|
@@ -59486,7 +59832,7 @@ const errorMap = (issue, _ctx) => {
|
|
|
59486
59832
|
};
|
|
59487
59833
|
/* harmony default export */ const en = (errorMap);
|
|
59488
59834
|
|
|
59489
|
-
;// ../../../node_modules/zod/v3/errors.js
|
|
59835
|
+
;// ../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/errors.js
|
|
59490
59836
|
|
|
59491
59837
|
let overrideErrorMap = en;
|
|
59492
59838
|
|
|
@@ -59497,7 +59843,7 @@ function getErrorMap() {
|
|
|
59497
59843
|
return overrideErrorMap;
|
|
59498
59844
|
}
|
|
59499
59845
|
|
|
59500
|
-
;// ../../../node_modules/zod/v3/helpers/errorUtil.js
|
|
59846
|
+
;// ../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/errorUtil.js
|
|
59501
59847
|
var errorUtil;
|
|
59502
59848
|
(function (errorUtil) {
|
|
59503
59849
|
errorUtil.errToObj = (message) => typeof message === "string" ? { message } : message || {};
|
|
@@ -59505,7 +59851,7 @@ var errorUtil;
|
|
|
59505
59851
|
errorUtil.toString = (message) => typeof message === "string" ? message : message?.message;
|
|
59506
59852
|
})(errorUtil || (errorUtil = {}));
|
|
59507
59853
|
|
|
59508
|
-
;// ../../../node_modules/zod/v3/helpers/parseUtil.js
|
|
59854
|
+
;// ../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/parseUtil.js
|
|
59509
59855
|
|
|
59510
59856
|
|
|
59511
59857
|
const makeIssue = (params) => {
|
|
@@ -59616,7 +59962,7 @@ const isDirty = (x) => x.status === "dirty";
|
|
|
59616
59962
|
const isValid = (x) => x.status === "valid";
|
|
59617
59963
|
const isAsync = (x) => typeof Promise !== "undefined" && x instanceof Promise;
|
|
59618
59964
|
|
|
59619
|
-
;// ../../../node_modules/zod/v3/types.js
|
|
59965
|
+
;// ../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/types.js
|
|
59620
59966
|
/* unused harmony import specifier */ var types_INVALID;
|
|
59621
59967
|
|
|
59622
59968
|
|
|
@@ -63326,13 +63672,13 @@ function _regenerator(){/*! regenerator-runtime -- Copyright (c) 2014-present, F
|
|
|
63326
63672
|
* zod schema definition for the entity MJ: Action Contexts
|
|
63327
63673
|
*/var MJActionContextSchema=objectType({ID:stringType().describe("\n * * Field Name: ID\n * * Display Name: ID\n * * SQL Data Type: uniqueidentifier\n * * Default Value: newsequentialid()"),ActionID:stringType().describe("\n * * Field Name: ActionID\n * * Display Name: Action ID\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Actions (vwActions.ID)"),ContextTypeID:stringType().nullable().describe("\n * * Field Name: ContextTypeID\n * * Display Name: Context Type ID\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Action Context Types (vwActionContextTypes.ID)"),Status:unionType([literalType('Active'),literalType('Disabled'),literalType('Pending')]).describe("\n * * Field Name: Status\n * * Display Name: Status\n * * SQL Data Type: nvarchar(20)\n * * Default Value: Pending\n * * Value List Type: List\n * * Possible Values \n * * Active\n * * Disabled\n * * Pending\n * * Description: Status of the action context (Pending, Active, Disabled)."),__mj_CreatedAt:dateType().describe("\n * * Field Name: __mj_CreatedAt\n * * Display Name: Created At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),__mj_UpdatedAt:dateType().describe("\n * * Field Name: __mj_UpdatedAt\n * * Display Name: Updated At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),Action:stringType().describe("\n * * Field Name: Action\n * * Display Name: Action\n * * SQL Data Type: nvarchar(425)"),ContextType:stringType().nullable().describe("\n * * Field Name: ContextType\n * * Display Name: Context Type\n * * SQL Data Type: nvarchar(255)")});/**
|
|
63328
63674
|
* zod schema definition for the entity MJ: Action Execution Logs
|
|
63329
|
-
*/var MJActionExecutionLogSchema=objectType({ID:stringType().describe("\n * * Field Name: ID\n * * Display Name: ID\n * * SQL Data Type: uniqueidentifier\n * * Default Value: newsequentialid()"),ActionID:stringType().describe("\n * * Field Name: ActionID\n * * Display Name: Action ID\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Actions (vwActions.ID)"),StartedAt:dateType().describe("\n * * Field Name: StartedAt\n * * Display Name: Started At\n * * SQL Data Type: datetimeoffset\n * * Default Value: sysdatetimeoffset()\n * * Description: Timestamp when the action execution started (timezone-aware)"),EndedAt:dateType().nullable().describe("\n * * Field Name: EndedAt\n * * Display Name: Ended At\n * * SQL Data Type: datetimeoffset\n * * Description: Timestamp when the action execution ended (timezone-aware)"),Params:stringType().nullable().describe("\n * * Field Name: Params\n * * Display Name: Params\n * * SQL Data Type: nvarchar(MAX)\n * * Description: JSON-formatted input parameters
|
|
63675
|
+
*/var MJActionExecutionLogSchema=objectType({ID:stringType().describe("\n * * Field Name: ID\n * * Display Name: ID\n * * SQL Data Type: uniqueidentifier\n * * Default Value: newsequentialid()"),ActionID:stringType().describe("\n * * Field Name: ActionID\n * * Display Name: Action ID\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Actions (vwActions.ID)"),StartedAt:dateType().describe("\n * * Field Name: StartedAt\n * * Display Name: Started At\n * * SQL Data Type: datetimeoffset\n * * Default Value: sysdatetimeoffset()\n * * Description: Timestamp when the action execution started (timezone-aware)"),EndedAt:dateType().nullable().describe("\n * * Field Name: EndedAt\n * * Display Name: Ended At\n * * SQL Data Type: datetimeoffset\n * * Description: Timestamp when the action execution ended (timezone-aware)"),Params:stringType().nullable().describe("\n * * Field Name: Params\n * * Display Name: Params\n * * SQL Data Type: nvarchar(MAX)\n * * Description: JSON-formatted input parameters AS THE ACTION WAS CALLED, captured once when execution starts and never overwritten. Custom and Generated actions mutate their parameter array in place, so this is the only durable record of the values actually passed in; the final state lives in ResultParams. Parameter values may be redacted per ActionParam.LogValue / EntityActionParam.LogValue, and whole-record value types are never written - see the parameter's own documentation."),ResultCode:stringType().nullable().describe("\n * * Field Name: ResultCode\n * * Display Name: Result Code\n * * SQL Data Type: nvarchar(255)\n * * Description: The outcome code returned by the action execution, indicating success, failure, or specific error conditions as defined in Action Result Codes."),UserID:stringType().describe("\n * * Field Name: UserID\n * * Display Name: User ID\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Users (vwUsers.ID)"),RetentionPeriod:numberType().nullable().describe("\n * * Field Name: RetentionPeriod\n * * Display Name: Retention Period\n * * SQL Data Type: int\n * * Description: Number of days to retain the log; NULL for indefinite retention."),__mj_CreatedAt:dateType().describe("\n * * Field Name: __mj_CreatedAt\n * * Display Name: Created At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),__mj_UpdatedAt:dateType().describe("\n * * Field Name: __mj_UpdatedAt\n * * Display Name: Updated At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),Message:stringType().nullable().describe("\n * * Field Name: Message\n * * Display Name: Message\n * * SQL Data Type: nvarchar(MAX)\n * * Description: Human-readable summary message returned by the action - the reason for a refusal, or a short description of what was done. Not the action's output data: parameter values live in Params and ResultParams, and the outcome code in ResultCode."),EntityActionID:stringType().nullable().describe("\n * * Field Name: EntityActionID\n * * Display Name: Entity Action ID\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Entity Actions (vwEntityActions.ID)\n * * Description: Optional. The Entity Action binding that caused this run. NULL when the action was invoked directly - from a resolver, a script, an agent step or a scheduled action."),EntityActionInvocationTypeID:stringType().nullable().describe("\n * * Field Name: EntityActionInvocationTypeID\n * * Display Name: Entity Action Invocation Type ID\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Entity Action Invocation Types (vwEntityActionInvocationTypes.ID)\n * * Description: Optional. Which lifecycle event fired the binding - AfterUpdate, Validate, List and so on. Recorded separately from EntityActionID because one binding may be attached to several invocation types, and telling a Validate refusal apart from an AfterUpdate side effect is the first question anyone asks of this log."),TargetEntityID:stringType().nullable().describe("\n * * Field Name: TargetEntityID\n * * Display Name: Target Entity ID\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Entities (vwEntities.ID)\n * * Description: Optional. The entity of the record this run operated on. Deliberately denormalized rather than joined through EntityActionID: it survives the binding being deleted or retargeted, and it lets the log be queried by record with no join. Kept generic because every invoker has a subject - not only Entity Actions."),TargetRecordID:stringType().nullable().describe("\n * * Field Name: TargetRecordID\n * * Display Name: Target Record ID\n * * SQL Data Type: nvarchar(450)\n * * Description: Optional. The primary key of the record this run operated on, as text, paired with TargetEntityID. For multi-record invocation types (List, View) one log row is written per record, so this is always a single record."),ResultParams:stringType().nullable().describe("\n * * Field Name: ResultParams\n * * Display Name: Result Params\n * * SQL Data Type: nvarchar(MAX)\n * * Description: JSON-formatted FINAL parameter set captured when the action finished - the inputs as the action left them, plus any output parameters it produced. Written on FAILURE exactly as on success, under the same redaction rules: a failed run's partially-mutated inputs are usually the most diagnostic thing available, and an audit trail that records only successes is not an audit trail. Distinct from Params, which holds the values the action was called with and is never overwritten. NULL means one thing only - the run never finished (process died, host killed) - so it is a signal rather than an absence, and must not be backfilled."),Action:stringType().describe("\n * * Field Name: Action\n * * Display Name: Action\n * * SQL Data Type: nvarchar(425)"),User:stringType().describe("\n * * Field Name: User\n * * Display Name: User\n * * SQL Data Type: nvarchar(100)"),EntityAction:stringType().nullable().describe("\n * * Field Name: EntityAction\n * * Display Name: Entity Action\n * * SQL Data Type: nvarchar(425)"),EntityActionInvocationType:stringType().nullable().describe("\n * * Field Name: EntityActionInvocationType\n * * Display Name: Entity Action Invocation Type\n * * SQL Data Type: nvarchar(255)"),TargetEntity:stringType().nullable().describe("\n * * Field Name: TargetEntity\n * * Display Name: Target Entity\n * * SQL Data Type: nvarchar(255)")});/**
|
|
63330
63676
|
* zod schema definition for the entity MJ: Action Filters
|
|
63331
63677
|
*/var MJActionFilterSchema=objectType({ID:stringType().describe("\n * * Field Name: ID\n * * Display Name: ID\n * * SQL Data Type: uniqueidentifier\n * * Default Value: newsequentialid()"),UserDescription:stringType().describe("\n * * Field Name: UserDescription\n * * Display Name: User Description\n * * SQL Data Type: nvarchar(MAX)\n * * Description: Human-readable explanation of what this filter checks and when it should prevent action execution, written for non-technical users."),UserComments:stringType().nullable().describe("\n * * Field Name: UserComments\n * * Display Name: User Comments\n * * SQL Data Type: nvarchar(MAX)\n * * Description: Additional notes or implementation details about the filter logic, including examples or edge cases to consider."),Code:stringType().describe("\n * * Field Name: Code\n * * Display Name: Code\n * * SQL Data Type: nvarchar(MAX)\n * * Description: JavaScript code that evaluates to true (allow action) or false (prevent action), executed in the same context as the action."),CodeExplanation:stringType().nullable().describe("\n * * Field Name: CodeExplanation\n * * Display Name: Code Explanation\n * * SQL Data Type: nvarchar(MAX)\n * * Description: Technical documentation of the filter code logic, including expected inputs, outputs, and any dependencies or assumptions."),__mj_CreatedAt:dateType().describe("\n * * Field Name: __mj_CreatedAt\n * * Display Name: __mj _Created At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),__mj_UpdatedAt:dateType().describe("\n * * Field Name: __mj_UpdatedAt\n * * Display Name: __mj _Updated At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()")});/**
|
|
63332
63678
|
* zod schema definition for the entity MJ: Action Libraries
|
|
63333
63679
|
*/var MJActionLibrarySchema=objectType({ID:stringType().describe("\n * * Field Name: ID\n * * Display Name: ID\n * * SQL Data Type: uniqueidentifier\n * * Default Value: newsequentialid()"),ActionID:stringType().describe("\n * * Field Name: ActionID\n * * Display Name: Action ID\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Actions (vwActions.ID)"),LibraryID:stringType().describe("\n * * Field Name: LibraryID\n * * Display Name: Library ID\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Libraries (vwLibraries.ID)"),ItemsUsed:stringType().nullable().describe("\n * * Field Name: ItemsUsed\n * * Display Name: Items Used\n * * SQL Data Type: nvarchar(MAX)\n * * Description: List of classes and functions used by the action from the library."),__mj_CreatedAt:dateType().describe("\n * * Field Name: __mj_CreatedAt\n * * Display Name: Created At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),__mj_UpdatedAt:dateType().describe("\n * * Field Name: __mj_UpdatedAt\n * * Display Name: Updated At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),Action:stringType().describe("\n * * Field Name: Action\n * * Display Name: Action\n * * SQL Data Type: nvarchar(425)"),Library:stringType().describe("\n * * Field Name: Library\n * * Display Name: Library\n * * SQL Data Type: nvarchar(255)")});/**
|
|
63334
63680
|
* zod schema definition for the entity MJ: Action Params
|
|
63335
|
-
*/var MJActionParamSchema=objectType({ID:stringType().describe("\n * * Field Name: ID\n * * Display Name: ID\n * * SQL Data Type: uniqueidentifier\n * * Default Value: newsequentialid()"),ActionID:stringType().describe("\n * * Field Name: ActionID\n * * Display Name: Action\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Actions (vwActions.ID)"),Name:stringType().describe("\n * * Field Name: Name\n * * Display Name: Parameter Name\n * * SQL Data Type: nvarchar(255)"),DefaultValue:stringType().nullable().describe("\n * * Field Name: DefaultValue\n * * Display Name: Default Value\n * * SQL Data Type: nvarchar(MAX)\n * * Description: The default value for this parameter if not provided during action execution, can be a literal value or JSON for complex types."),Type:unionType([literalType('Both'),literalType('Input'),literalType('Output')]).describe("\n * * Field Name: Type\n * * Display Name: Parameter Direction\n * * SQL Data Type: nchar(10)\n * * Value List Type: List\n * * Possible Values \n * * Both\n * * Input\n * * Output\n * * Description: Specifies whether this parameter is used for Input, Output, or Both directions in the action execution flow."),ValueType:unionType([literalType('BaseEntity Sub-Class'),literalType('BaseEntity Sub-Class'),literalType('MediaOutput'),literalType('Other'),literalType('Other'),literalType('Scalar'),literalType('Scalar'),literalType('Simple Object'),literalType('Simple Object')]).describe("\n * * Field Name: ValueType\n * * Display Name: Value Type\n * * SQL Data Type: nvarchar(30)\n * * Value List Type: List\n * * Possible Values \n * * BaseEntity Sub-Class\n * * BaseEntity Sub-Class\n * * MediaOutput\n * * Other\n * * Other\n * * Scalar\n * * Scalar\n * * Simple Object\n * * Simple Object\n * * Description: Tracks the basic value type of the parameter, additional information can be provided in the Description field"),IsArray:booleanType().describe("\n * * Field Name: IsArray\n * * Display Name: Is Array\n * * SQL Data Type: bit\n * * Default Value: 0\n * * Description: Indicates whether this parameter accepts or returns an array of values rather than a single value."),Description:stringType().nullable().describe("\n * * Field Name: Description\n * * Display Name: Description\n * * SQL Data Type: nvarchar(MAX)"),IsRequired:booleanType().describe("\n * * Field Name: IsRequired\n * * Display Name: Is Required\n * * SQL Data Type: bit\n * * Default Value: 1\n * * Description: Determines if this parameter must be provided for input parameters or will always be populated for output parameters."),__mj_CreatedAt:dateType().describe("\n * * Field Name: __mj_CreatedAt\n * * Display Name: Created At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),__mj_UpdatedAt:dateType().describe("\n * * Field Name: __mj_UpdatedAt\n * * Display Name: Updated At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),MediaModality:unionType([literalType('Audio'),literalType('Image'),literalType('Video')]).nullable().describe("\n * * Field Name: MediaModality\n * * Display Name: Media Modality\n * * SQL Data Type: nvarchar(20)\n * * Value List Type: List\n * * Possible Values \n * * Audio\n * * Image\n * * Video\n * * Description: Specifies the type of media this parameter outputs when ValueType is MediaOutput. Used for action discovery and validation."),Action:stringType().describe("\n * * Field Name: Action\n * * Display Name: Action\n * * SQL Data Type: nvarchar(425)")});/**
|
|
63681
|
+
*/var MJActionParamSchema=objectType({ID:stringType().describe("\n * * Field Name: ID\n * * Display Name: ID\n * * SQL Data Type: uniqueidentifier\n * * Default Value: newsequentialid()"),ActionID:stringType().describe("\n * * Field Name: ActionID\n * * Display Name: Action\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Actions (vwActions.ID)"),Name:stringType().describe("\n * * Field Name: Name\n * * Display Name: Parameter Name\n * * SQL Data Type: nvarchar(255)"),DefaultValue:stringType().nullable().describe("\n * * Field Name: DefaultValue\n * * Display Name: Default Value\n * * SQL Data Type: nvarchar(MAX)\n * * Description: The default value for this parameter if not provided during action execution, can be a literal value or JSON for complex types."),Type:unionType([literalType('Both'),literalType('Input'),literalType('Output')]).describe("\n * * Field Name: Type\n * * Display Name: Parameter Direction\n * * SQL Data Type: nchar(10)\n * * Value List Type: List\n * * Possible Values \n * * Both\n * * Input\n * * Output\n * * Description: Specifies whether this parameter is used for Input, Output, or Both directions in the action execution flow."),ValueType:unionType([literalType('BaseEntity Sub-Class'),literalType('BaseEntity Sub-Class'),literalType('MediaOutput'),literalType('Other'),literalType('Other'),literalType('Scalar'),literalType('Scalar'),literalType('Simple Object'),literalType('Simple Object')]).describe("\n * * Field Name: ValueType\n * * Display Name: Value Type\n * * SQL Data Type: nvarchar(30)\n * * Value List Type: List\n * * Possible Values \n * * BaseEntity Sub-Class\n * * BaseEntity Sub-Class\n * * MediaOutput\n * * Other\n * * Other\n * * Scalar\n * * Scalar\n * * Simple Object\n * * Simple Object\n * * Description: Tracks the basic value type of the parameter, additional information can be provided in the Description field"),IsArray:booleanType().describe("\n * * Field Name: IsArray\n * * Display Name: Is Array\n * * SQL Data Type: bit\n * * Default Value: 0\n * * Description: Indicates whether this parameter accepts or returns an array of values rather than a single value."),Description:stringType().nullable().describe("\n * * Field Name: Description\n * * Display Name: Description\n * * SQL Data Type: nvarchar(MAX)"),IsRequired:booleanType().describe("\n * * Field Name: IsRequired\n * * Display Name: Is Required\n * * SQL Data Type: bit\n * * Default Value: 1\n * * Description: Determines if this parameter must be provided for input parameters or will always be populated for output parameters."),__mj_CreatedAt:dateType().describe("\n * * Field Name: __mj_CreatedAt\n * * Display Name: Created At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),__mj_UpdatedAt:dateType().describe("\n * * Field Name: __mj_UpdatedAt\n * * Display Name: Updated At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),MediaModality:unionType([literalType('Audio'),literalType('Image'),literalType('Video')]).nullable().describe("\n * * Field Name: MediaModality\n * * Display Name: Media Modality\n * * SQL Data Type: nvarchar(20)\n * * Value List Type: List\n * * Possible Values \n * * Audio\n * * Image\n * * Video\n * * Description: Specifies the type of media this parameter outputs when ValueType is MediaOutput. Used for action discovery and validation."),LogValue:booleanType().describe("\n * * Field Name: LogValue\n * * Display Name: Log Value\n * * SQL Data Type: bit\n * * Default Value: 1\n * * Description: Whether this parameter's VALUE may be written to ActionExecutionLog.Params. Default 1. Set to 0 for parameters that carry records, credentials or personal data - for example the Data payload of Execute Agent. Independent of the hard rule that Entity Action params of ValueType 'Entity Object' or 'Entity Object Data' are never logged regardless of this flag. When logging is suppressed the log records the parameter name, its type and a redaction marker, never the value."),Action:stringType().describe("\n * * Field Name: Action\n * * Display Name: Action\n * * SQL Data Type: nvarchar(425)")});/**
|
|
63336
63682
|
* zod schema definition for the entity MJ: Action Result Codes
|
|
63337
63683
|
*/var MJActionResultCodeSchema=objectType({ID:stringType().describe("\n * * Field Name: ID\n * * Display Name: ID\n * * SQL Data Type: uniqueidentifier\n * * Default Value: newsequentialid()"),ActionID:stringType().describe("\n * * Field Name: ActionID\n * * Display Name: Action ID\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Actions (vwActions.ID)"),ResultCode:stringType().describe("\n * * Field Name: ResultCode\n * * Display Name: Result Code\n * * SQL Data Type: nvarchar(255)\n * * Description: The unique code string returned by the action to indicate specific outcomes, used for programmatic handling of results."),IsSuccess:booleanType().describe("\n * * Field Name: IsSuccess\n * * Display Name: Is Success\n * * SQL Data Type: bit\n * * Default Value: 0\n * * Description: Indicates if the result code is a success or not. It is possible an action might have more than one failure condition/result code and same for success conditions."),Description:stringType().nullable().describe("\n * * Field Name: Description\n * * Display Name: Description\n * * SQL Data Type: nvarchar(MAX)\n * * Description: Description of the result code."),__mj_CreatedAt:dateType().describe("\n * * Field Name: __mj_CreatedAt\n * * Display Name: Created At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),__mj_UpdatedAt:dateType().describe("\n * * Field Name: __mj_UpdatedAt\n * * Display Name: Updated At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),Action:stringType().describe("\n * * Field Name: Action\n * * Display Name: Action\n * * SQL Data Type: nvarchar(425)")});/**
|
|
63338
63684
|
* zod schema definition for the entity MJ: Actions
|
|
@@ -63472,13 +63818,13 @@ function _regenerator(){/*! regenerator-runtime -- Copyright (c) 2014-present, F
|
|
|
63472
63818
|
* zod schema definition for the entity MJ: AI Vendors
|
|
63473
63819
|
*/var MJAIVendorSchema=objectType({ID:stringType().describe("\n * * Field Name: ID\n * * Display Name: ID\n * * SQL Data Type: uniqueidentifier\n * * Default Value: newsequentialid()"),Name:stringType().describe("\n * * Field Name: Name\n * * Display Name: Name\n * * SQL Data Type: nvarchar(50)\n * * Description: The unique name of the vendor."),Description:stringType().nullable().describe("\n * * Field Name: Description\n * * Display Name: Description\n * * SQL Data Type: nvarchar(MAX)\n * * Description: Detailed description of the vendor and their AI offerings."),__mj_CreatedAt:dateType().describe("\n * * Field Name: __mj_CreatedAt\n * * Display Name: Created At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),__mj_UpdatedAt:dateType().describe("\n * * Field Name: __mj_UpdatedAt\n * * Display Name: Updated At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),CredentialTypeID:stringType().nullable().describe("\n * * Field Name: CredentialTypeID\n * * Display Name: Credential Type ID\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Credential Types (vwCredentialTypes.ID)\n * * Description: Reference to the type of credential this vendor expects (e.g., API Key, GCP Service Account, Azure Service Principal). Used for type-based default credential resolution when no explicit binding exists, and for UI guidance when creating credentials."),CredentialType:stringType().nullable().describe("\n * * Field Name: CredentialType\n * * Display Name: Credential Type\n * * SQL Data Type: nvarchar(100)")});/**
|
|
63474
63820
|
* zod schema definition for the entity MJ: API Application Scopes
|
|
63475
|
-
*/var MJAPIApplicationScopeSchema=objectType({ID:stringType().describe("\n * * Field Name: ID\n * * Display Name: ID\n * * SQL Data Type: uniqueidentifier\n * * Default Value: newsequentialid()"),ApplicationID:stringType().describe("\n * * Field Name: ApplicationID\n * * Display Name: Application\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: API Applications (vwAPIApplications.ID)\n * * Description: Reference to the application this ceiling rule applies to."),ScopeID:stringType().describe("\n * * Field Name: ScopeID\n * * Display Name: Scope\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: API Scopes (vwAPIScopes.ID)\n * * Description: Reference to the scope this rule applies to."),ResourcePattern:stringType().nullable().describe("\n * * Field Name: ResourcePattern\n * * Display Name: Resource Pattern\n * * SQL Data Type: nvarchar(750)\n * * Description: Glob pattern for matching resources (e.g., Users,Accounts or Skip* or *). NULL means match all resources."),PatternType:unionType([literalType('Exclude'),literalType('Include')]).describe("\n * * Field Name: PatternType\n * * Display Name: Pattern Type\n * * SQL Data Type: nvarchar(20)\n * * Default Value: Include\n * * Value List Type: List\n * * Possible Values \n * * Exclude\n * * Include\n * * Description: How to interpret the pattern: Include (grant if matches) or Exclude (grant if does NOT match)."),IsDeny:booleanType().describe("\n * * Field Name: IsDeny\n * * Display Name: Deny\n * * SQL Data Type: bit\n * * Default Value: 0\n * * Description: If true, this rule explicitly DENIES access. Deny rules trump allow rules at the same priority level."),Priority:numberType().describe("\n * * Field Name: Priority\n * * Display Name: Priority\n * * SQL Data Type: int\n * * Default Value: 0\n * * Description: Rule evaluation order. Higher priority rules are evaluated first. Within same priority, deny rules are evaluated before allow rules."),__mj_CreatedAt:dateType().describe("\n * * Field Name: __mj_CreatedAt\n * * Display Name: Created At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),__mj_UpdatedAt:dateType().describe("\n * * Field Name: __mj_UpdatedAt\n * * Display Name: Updated At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),Application:stringType().describe("\n * * Field Name: Application\n * * Display Name: Application Name\n * * SQL Data Type: nvarchar(100)"),Scope:stringType().describe("\n * * Field Name: Scope\n * * Display Name: Scope Name\n * * SQL Data Type: nvarchar(100)")});/**
|
|
63821
|
+
*/var MJAPIApplicationScopeSchema=objectType({ID:stringType().describe("\n * * Field Name: ID\n * * Display Name: ID\n * * SQL Data Type: uniqueidentifier\n * * Default Value: newsequentialid()"),ApplicationID:stringType().describe("\n * * Field Name: ApplicationID\n * * Display Name: Application\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: API Applications (vwAPIApplications.ID)\n * * Description: Reference to the application this ceiling rule applies to."),ScopeID:stringType().describe("\n * * Field Name: ScopeID\n * * Display Name: Scope\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: API Scopes (vwAPIScopes.ID)\n * * Description: Reference to the scope this rule applies to."),ResourcePattern:stringType().nullable().describe("\n * * Field Name: ResourcePattern\n * * Display Name: Resource Pattern\n * * SQL Data Type: nvarchar(750)\n * * Description: Glob pattern for matching resources (e.g., Users,Accounts or Skip* or *). NULL means match all resources."),PatternType:unionType([literalType('Exclude'),literalType('Include')]).describe("\n * * Field Name: PatternType\n * * Display Name: Pattern Type\n * * SQL Data Type: nvarchar(20)\n * * Default Value: Include\n * * Value List Type: List\n * * Possible Values \n * * Exclude\n * * Include\n * * Description: How to interpret the pattern: Include (grant if matches) or Exclude (grant if does NOT match)."),IsDeny:booleanType().describe("\n * * Field Name: IsDeny\n * * Display Name: Deny\n * * SQL Data Type: bit\n * * Default Value: 0\n * * Description: If true, this rule explicitly DENIES access. Deny rules trump allow rules at the same priority level."),Priority:numberType().describe("\n * * Field Name: Priority\n * * Display Name: Priority\n * * SQL Data Type: int\n * * Default Value: 0\n * * Description: Rule evaluation order. Higher priority rules are evaluated first. Within same priority, deny rules are evaluated before allow rules."),__mj_CreatedAt:dateType().describe("\n * * Field Name: __mj_CreatedAt\n * * Display Name: Created At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),__mj_UpdatedAt:dateType().describe("\n * * Field Name: __mj_UpdatedAt\n * * Display Name: Updated At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),RowFilterID:stringType().nullable().describe("\n * * Field Name: RowFilterID\n * * Display Name: Row Filter ID\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Row Level Security Filters (vwRowLevelSecurityFilters.ID)\n * * Description: Optional row-level filter acting as a CEILING for every API key operating under this application \u2014 a restriction keys inherit and cannot widen. Composes with the per-key filter (APIKeyScope.RowFilterID) and with role-based RLS using AND, never OR, so no layer can broaden another. References the same RowLevelSecurityFilter catalog used by role-based RLS. NULL (the default) means the application imposes no row ceiling. The same authoring constraints as APIKeyScope.RowFilterID apply: exact single-entity resource pattern, all referenced columns must exist on that entity, and all referrers of the filter record must resolve to the same entity."),Application:stringType().describe("\n * * Field Name: Application\n * * Display Name: Application Name\n * * SQL Data Type: nvarchar(100)"),Scope:stringType().describe("\n * * Field Name: Scope\n * * Display Name: Scope Name\n * * SQL Data Type: nvarchar(100)"),RowFilter:stringType().nullable().describe("\n * * Field Name: RowFilter\n * * Display Name: Row Filter\n * * SQL Data Type: nvarchar(100)")});/**
|
|
63476
63822
|
* zod schema definition for the entity MJ: API Applications
|
|
63477
63823
|
*/var MJAPIApplicationSchema=objectType({ID:stringType().describe("\n * * Field Name: ID\n * * Display Name: ID\n * * SQL Data Type: uniqueidentifier\n * * Default Value: newsequentialid()"),Name:stringType().describe("\n * * Field Name: Name\n * * Display Name: Name\n * * SQL Data Type: nvarchar(100)\n * * Description: Unique name identifying the application (e.g., MJAPI, MCPServer, Portal, CLI)."),Description:stringType().nullable().describe("\n * * Field Name: Description\n * * Display Name: Description\n * * SQL Data Type: nvarchar(500)\n * * Description: Human-readable description of the application and its purpose."),IsActive:booleanType().describe("\n * * Field Name: IsActive\n * * Display Name: Active\n * * SQL Data Type: bit\n * * Default Value: 1\n * * Description: Whether this application is currently active. Inactive applications reject all API key authentication."),__mj_CreatedAt:dateType().describe("\n * * Field Name: __mj_CreatedAt\n * * Display Name: Created At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),__mj_UpdatedAt:dateType().describe("\n * * Field Name: __mj_UpdatedAt\n * * Display Name: Updated At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()")});/**
|
|
63478
63824
|
* zod schema definition for the entity MJ: API Key Applications
|
|
63479
63825
|
*/var MJAPIKeyApplicationSchema=objectType({ID:stringType().describe("\n * * Field Name: ID\n * * Display Name: ID\n * * SQL Data Type: uniqueidentifier\n * * Default Value: newsequentialid()"),APIKeyID:stringType().describe("\n * * Field Name: APIKeyID\n * * Display Name: API Key\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: API Keys (vwAPIKeys.ID)\n * * Description: Reference to the API key being bound to an application."),ApplicationID:stringType().describe("\n * * Field Name: ApplicationID\n * * Display Name: Application\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: API Applications (vwAPIApplications.ID)\n * * Description: Reference to the application this key is authorized to use."),__mj_CreatedAt:dateType().describe("\n * * Field Name: __mj_CreatedAt\n * * Display Name: Created At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),__mj_UpdatedAt:dateType().describe("\n * * Field Name: __mj_UpdatedAt\n * * Display Name: Updated At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),APIKey:stringType().describe("\n * * Field Name: APIKey\n * * Display Name: API Key Value\n * * SQL Data Type: nvarchar(255)"),Application:stringType().describe("\n * * Field Name: Application\n * * Display Name: Application Name\n * * SQL Data Type: nvarchar(100)")});/**
|
|
63480
63826
|
* zod schema definition for the entity MJ: API Key Scopes
|
|
63481
|
-
*/var MJAPIKeyScopeSchema=objectType({ID:stringType().describe("\n * * Field Name: ID\n * * Display Name: ID\n * * SQL Data Type: uniqueidentifier\n * * Default Value: newsequentialid()"),APIKeyID:stringType().describe("\n * * Field Name: APIKeyID\n * * Display Name: API Key\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: API Keys (vwAPIKeys.ID)"),ScopeID:stringType().describe("\n * * Field Name: ScopeID\n * * Display Name: Scope\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: API Scopes (vwAPIScopes.ID)"),__mj_CreatedAt:dateType().describe("\n * * Field Name: __mj_CreatedAt\n * * Display Name: Created At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),__mj_UpdatedAt:dateType().describe("\n * * Field Name: __mj_UpdatedAt\n * * Display Name: Updated At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),ResourcePattern:stringType().nullable().describe("\n * * Field Name: ResourcePattern\n * * Display Name: Resource Pattern\n * * SQL Data Type: nvarchar(750)\n * * Description: Glob pattern for matching resources (e.g., Users,Accounts or Skip* or *). NULL means match all resources under this scope."),PatternType:unionType([literalType('Exclude'),literalType('Include')]).describe("\n * * Field Name: PatternType\n * * Display Name: Pattern Type\n * * SQL Data Type: nvarchar(20)\n * * Default Value: Include\n * * Value List Type: List\n * * Possible Values \n * * Exclude\n * * Include\n * * Description: How to interpret the pattern: Include (grant if matches) or Exclude (grant if does NOT match)."),IsDeny:booleanType().describe("\n * * Field Name: IsDeny\n * * Display Name: Is Deny\n * * SQL Data Type: bit\n * * Default Value: 0\n * * Description: If true, this rule explicitly DENIES access. Deny rules trump allow rules at the same priority level."),Priority:numberType().describe("\n * * Field Name: Priority\n * * Display Name: Priority\n * * SQL Data Type: int\n * * Default Value: 0\n * * Description: Rule evaluation order. Higher priority rules are evaluated first. Within same priority, deny rules are evaluated before allow rules."),APIKey:stringType().describe("\n * * Field Name: APIKey\n * * Display Name: API Key\n * * SQL Data Type: nvarchar(255)"),Scope:stringType().describe("\n * * Field Name: Scope\n * * Display Name: Scope\n * * SQL Data Type: nvarchar(100)")});/**
|
|
63827
|
+
*/var MJAPIKeyScopeSchema=objectType({ID:stringType().describe("\n * * Field Name: ID\n * * Display Name: ID\n * * SQL Data Type: uniqueidentifier\n * * Default Value: newsequentialid()"),APIKeyID:stringType().describe("\n * * Field Name: APIKeyID\n * * Display Name: API Key\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: API Keys (vwAPIKeys.ID)"),ScopeID:stringType().describe("\n * * Field Name: ScopeID\n * * Display Name: Scope\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: API Scopes (vwAPIScopes.ID)"),__mj_CreatedAt:dateType().describe("\n * * Field Name: __mj_CreatedAt\n * * Display Name: Created At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),__mj_UpdatedAt:dateType().describe("\n * * Field Name: __mj_UpdatedAt\n * * Display Name: Updated At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),ResourcePattern:stringType().nullable().describe("\n * * Field Name: ResourcePattern\n * * Display Name: Resource Pattern\n * * SQL Data Type: nvarchar(750)\n * * Description: Glob pattern for matching resources (e.g., Users,Accounts or Skip* or *). NULL means match all resources under this scope."),PatternType:unionType([literalType('Exclude'),literalType('Include')]).describe("\n * * Field Name: PatternType\n * * Display Name: Pattern Type\n * * SQL Data Type: nvarchar(20)\n * * Default Value: Include\n * * Value List Type: List\n * * Possible Values \n * * Exclude\n * * Include\n * * Description: How to interpret the pattern: Include (grant if matches) or Exclude (grant if does NOT match)."),IsDeny:booleanType().describe("\n * * Field Name: IsDeny\n * * Display Name: Is Deny\n * * SQL Data Type: bit\n * * Default Value: 0\n * * Description: If true, this rule explicitly DENIES access. Deny rules trump allow rules at the same priority level."),Priority:numberType().describe("\n * * Field Name: Priority\n * * Display Name: Priority\n * * SQL Data Type: int\n * * Default Value: 0\n * * Description: Rule evaluation order. Higher priority rules are evaluated first. Within same priority, deny rules are evaluated before allow rules."),RowFilterID:stringType().nullable().describe("\n * * Field Name: RowFilterID\n * * Display Name: Row Filter ID\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Row Level Security Filters (vwRowLevelSecurityFilters.ID)\n * * Description: Optional row-level filter narrowing WHICH RECORDS this scope grant applies to, in addition to the resource pattern that governs which entities. References the same RowLevelSecurityFilter catalog used by role-based RLS, so the filter text flows through the standard {{Token}} substitution engine and every existing RLS enforcement point (RunView, Load by primary key, save, delete, search). NULL (the default) means no row restriction \u2014 behavior identical to before this column existed. When set, the rule's ResourcePattern must name a single exact entity (no wildcards, no comma-separated lists), every column the filter references must resolve to a real non-virtual field on that entity, and every other referrer of the same filter record must resolve to that same entity. Critically, this filter is evaluated INDEPENDENTLY of the role-RLS exemption: a user exempt from role RLS is still bound by their key's filter, because narrowing a principal below what their roles allow is the entire purpose of a key ceiling."),APIKey:stringType().describe("\n * * Field Name: APIKey\n * * Display Name: API Key\n * * SQL Data Type: nvarchar(255)"),Scope:stringType().describe("\n * * Field Name: Scope\n * * Display Name: Scope\n * * SQL Data Type: nvarchar(100)"),RowFilter:stringType().nullable().describe("\n * * Field Name: RowFilter\n * * Display Name: Row Filter\n * * SQL Data Type: nvarchar(100)")});/**
|
|
63482
63828
|
* zod schema definition for the entity MJ: API Key Usage Logs
|
|
63483
63829
|
*/var MJAPIKeyUsageLogSchema=objectType({ID:stringType().describe("\n * * Field Name: ID\n * * Display Name: ID\n * * SQL Data Type: uniqueidentifier\n * * Default Value: newsequentialid()"),APIKeyID:stringType().describe("\n * * Field Name: APIKeyID\n * * Display Name: API Key\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: API Keys (vwAPIKeys.ID)"),Endpoint:stringType().describe("\n * * Field Name: Endpoint\n * * Display Name: Endpoint\n * * SQL Data Type: nvarchar(500)\n * * Description: The API endpoint path that was accessed (e.g., /mcp, /graphql, /api/v1/entities)."),Operation:stringType().nullable().describe("\n * * Field Name: Operation\n * * Display Name: Operation\n * * SQL Data Type: nvarchar(255)\n * * Description: The specific operation performed, such as the GraphQL operation name or MCP tool invoked (e.g., Get_Users_Record, Run_Agent)."),Method:stringType().describe("\n * * Field Name: Method\n * * Display Name: Method\n * * SQL Data Type: nvarchar(10)\n * * Description: HTTP method used for the request (GET, POST, PUT, DELETE, etc.)."),StatusCode:numberType().describe("\n * * Field Name: StatusCode\n * * Display Name: Status Code\n * * SQL Data Type: int\n * * Description: HTTP response status code returned to the client (e.g., 200 for success, 401 for unauthorized, 500 for server error)."),ResponseTimeMs:numberType().nullable().describe("\n * * Field Name: ResponseTimeMs\n * * Display Name: Response Time (ms)\n * * SQL Data Type: int\n * * Description: Total time in milliseconds to process the request and return a response. Useful for performance monitoring."),IPAddress:stringType().nullable().describe("\n * * Field Name: IPAddress\n * * Display Name: IP Address\n * * SQL Data Type: nvarchar(45)\n * * Description: Client IP address that made the request. Supports both IPv4 and IPv6 addresses (up to 45 characters)."),UserAgent:stringType().nullable().describe("\n * * Field Name: UserAgent\n * * Display Name: User Agent\n * * SQL Data Type: nvarchar(500)\n * * Description: User-Agent header from the HTTP request, identifying the client application or library making the API call."),__mj_CreatedAt:dateType().describe("\n * * Field Name: __mj_CreatedAt\n * * Display Name: Created At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),__mj_UpdatedAt:dateType().describe("\n * * Field Name: __mj_UpdatedAt\n * * Display Name: Updated At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),ApplicationID:stringType().nullable().describe("\n * * Field Name: ApplicationID\n * * Display Name: Application\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: API Applications (vwAPIApplications.ID)\n * * Description: The application through which this request was made (MJAPI, MCPServer, etc.)."),RequestedResource:stringType().nullable().describe("\n * * Field Name: RequestedResource\n * * Display Name: Requested Resource\n * * SQL Data Type: nvarchar(500)\n * * Description: The specific resource that was requested (e.g., entity name, agent name, query name)."),ScopesEvaluated:stringType().nullable().describe("\n * * Field Name: ScopesEvaluated\n * * Display Name: Scopes Evaluated\n * * SQL Data Type: nvarchar(MAX)\n * * Description: JSON array containing detailed evaluation of each scope rule checked during authorization."),AuthorizationResult:unionType([literalType('Allowed'),literalType('Denied'),literalType('NoScopesRequired')]).describe("\n * * Field Name: AuthorizationResult\n * * Display Name: Authorization Result\n * * SQL Data Type: nvarchar(20)\n * * Default Value: Allowed\n * * Value List Type: List\n * * Possible Values \n * * Allowed\n * * Denied\n * * NoScopesRequired\n * * Description: Final authorization result: Allowed, Denied, or NoScopesRequired (for operations that do not require scope checks)."),DeniedReason:stringType().nullable().describe("\n * * Field Name: DeniedReason\n * * Display Name: Denied Reason\n * * SQL Data Type: nvarchar(500)\n * * Description: When authorization is denied, explains why (e.g., app ceiling blocked, no matching key scope, explicit deny rule)."),APIKey:stringType().describe("\n * * Field Name: APIKey\n * * Display Name: API Key\n * * SQL Data Type: nvarchar(255)"),Application:stringType().nullable().describe("\n * * Field Name: Application\n * * Display Name: Application\n * * SQL Data Type: nvarchar(100)")});/**
|
|
63484
63830
|
* zod schema definition for the entity MJ: API Keys
|
|
@@ -63574,7 +63920,7 @@ function _regenerator(){/*! regenerator-runtime -- Copyright (c) 2014-present, F
|
|
|
63574
63920
|
* zod schema definition for the entity MJ: Content Item Attributes
|
|
63575
63921
|
*/var MJContentItemAttributeSchema=objectType({ID:stringType().describe("\n * * Field Name: ID\n * * Display Name: ID\n * * SQL Data Type: uniqueidentifier\n * * Default Value: newsequentialid()"),ContentItemID:stringType().describe("\n * * Field Name: ContentItemID\n * * Display Name: Content Item ID\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Content Items (vwContentItems.ID)"),Name:stringType().describe("\n * * Field Name: Name\n * * Display Name: Name\n * * SQL Data Type: nvarchar(100)"),Value:stringType().describe("\n * * Field Name: Value\n * * Display Name: Value\n * * SQL Data Type: nvarchar(MAX)\n * * Description: The extracted or assigned value for this attribute on the content item."),__mj_CreatedAt:dateType().describe("\n * * Field Name: __mj_CreatedAt\n * * Display Name: Created At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),__mj_UpdatedAt:dateType().describe("\n * * Field Name: __mj_UpdatedAt\n * * Display Name: Updated At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),ContentItem:stringType().nullable().describe("\n * * Field Name: ContentItem\n * * Display Name: Content Item\n * * SQL Data Type: nvarchar(250)")});/**
|
|
63576
63922
|
* zod schema definition for the entity MJ: Content Item Chunks
|
|
63577
|
-
*/var MJContentItemChunkSchema=objectType({ID:stringType().describe("\n * * Field Name: ID\n * * Display Name: ID\n * * SQL Data Type: uniqueidentifier\n * * Default Value: newsequentialid()"),ContentItemID:stringType().describe("\n * * Field Name: ContentItemID\n * * Display Name: Content Item\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Content Items (vwContentItems.ID)"),Sequence:numberType().describe("\n * * Field Name: Sequence\n * * Display Name: Sequence\n * * SQL Data Type: int\n * * Description: Zero-based ordinal position of this chunk within the parent Content Item, preserving the original order in which the text was split."),Text:stringType().nullable().describe("\n * * Field Name: Text\n * * Display Name: Text\n * * SQL Data Type: nvarchar(MAX)\n * * Description: The chunk of extracted text (from the parent Content Item) that was embedded to produce this chunk's vector. NULL for media-only segments (for example an image, or a video window with no transcript), where the embedded payload is the media itself and any readable representation lives in Description/Transcript."),VectorRecordID:stringType().nullable().describe("\n * * Field Name: VectorRecordID\n * * Display Name: Vector Record ID\n * * SQL Data Type: nvarchar(100)\n * * Description: The identifier of this chunk's vector record in the vector database (e.g. Pinecone) \u2014 the deterministic key MemberJunction assigns and upserts the chunk's embedding under. Provides traceability from the chunk back to its stored vector."),EmbeddingStatus:unionType([literalType('Active'),literalType('Complete'),literalType('Failed'),literalType('Pending'),literalType('Processed'),literalType('Processing'),literalType('Skipped')]).describe("\n * * Field Name: EmbeddingStatus\n * * Display Name: Embedding Status\n * * SQL Data Type: nvarchar(20)\n * * Default Value: Pending\n * * Value List Type: List\n * * Possible Values \n * * Active\n * * Complete\n * * Failed\n * * Pending\n * * Processed\n * * Processing\n * * Skipped\n * * Description: Embedding lifecycle state of this chunk: Pending (default), Processing, Active, Complete, Processed, Failed, or Skipped."),TaggingStatus:unionType([literalType('Active'),literalType('Complete'),literalType('Failed'),literalType('Pending'),literalType('Processed'),literalType('Processing'),literalType('Skipped')]).describe("\n * * Field Name: TaggingStatus\n * * Display Name: Tagging Status\n * * SQL Data Type: nvarchar(20)\n * * Default Value: Pending\n * * Value List Type: List\n * * Possible Values \n * * Active\n * * Complete\n * * Failed\n * * Pending\n * * Processed\n * * Processing\n * * Skipped\n * * Description: Tagging lifecycle state of this chunk: Pending (default), Processing, Active, Complete, Processed, Failed, or Skipped."),DeleteStatus:unionType([literalType('Deleted'),literalType('Pending')]).nullable().describe("\n * * Field Name: DeleteStatus\n * * Display Name: Delete Status\n * * SQL Data Type: nvarchar(20)\n * * Value List Type: List\n * * Possible Values \n * * Deleted\n * * Pending\n * * Description: Deletion lifecycle state of this chunk's vector: NULL when not slated for deletion, Pending when vector removal is queued, or Deleted once the vector has been removed from the vector database."),LastEmbeddedAt:dateType().nullable().describe("\n * * Field Name: LastEmbeddedAt\n * * Display Name: Last Embedded At\n * * SQL Data Type: datetimeoffset\n * * Description: Timestamp of the last successful embedding of this chunk."),LastTaggedAt:dateType().nullable().describe("\n * * Field Name: LastTaggedAt\n * * Display Name: Last Tagged At\n * * SQL Data Type: datetimeoffset\n * * Description: Timestamp of the last successful tagging of this chunk."),LastDeletedAt:dateType().nullable().describe("\n * * Field Name: LastDeletedAt\n * * Display Name: Last Deleted At\n * * SQL Data Type: datetimeoffset\n * * Description: Timestamp of the last successful deletion of this chunk's vector from the vector database."),__mj_CreatedAt:dateType().describe("\n * * Field Name: __mj_CreatedAt\n * * Display Name: Created At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),__mj_UpdatedAt:dateType().describe("\n * * Field Name: __mj_UpdatedAt\n * * Display Name: Updated At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),Modality:unionType([literalType('audio'),literalType('image'),literalType('multimodal'),literalType('text'),literalType('video')]).describe("\n * * Field Name: Modality\n * * Display Name: Modality\n * * SQL Data Type: nvarchar(20)\n * * Default Value: text\n * * Value List Type: List\n * * Possible Values \n * * audio\n * * image\n * * multimodal\n * * text\n * * video\n * * Description: The modality of this chunk's embedded payload: text (default), image, audio, video, or multimodal (text and media fused into a single vector). Determines which vector index the chunk's embedding belongs to, since a multimodal embedding model produces vectors of a different dimension than a text model, and is used at retrieval time to merge results per modality rather than taking a single global top-k."),StartOffset:numberType().nullable().describe("\n * * Field Name: StartOffset\n * * Display Name: Start Offset\n * * SQL Data Type: int\n * * Description: Inclusive character offset where this chunk begins within the parent Content Item's extracted text. Together with EndOffset this is the provenance link that resolves a search hit back to the exact passage in the source document. NULL for media segments, which are positioned by StartMs/EndMs instead."),EndOffset:numberType().nullable().describe("\n * * Field Name: EndOffset\n * * Display Name: End Offset\n * * SQL Data Type: int\n * * Description: Exclusive character offset where this chunk ends within the parent Content Item's extracted text. See StartOffset. NULL for media segments."),StartMs:numberType().nullable().describe("\n * * Field Name: StartMs\n * * Display Name: Start (ms)\n * * SQL Data Type: int\n * * Description: Start of this chunk's time window, in milliseconds from the beginning of the parent audio or video asset. Set by transcript- or window-based segmentation; enables time-windowed playback deep-links from a search result (for example 14:22-15:05 of a session recording). NULL for text segments."),EndMs:numberType().nullable().describe("\n * * Field Name: EndMs\n * * Display Name: End (ms)\n * * SQL Data Type: int\n * * Description: End of this chunk's time window, in milliseconds from the beginning of the parent audio or video asset. See StartMs. NULL for text segments."),PageNumber:numberType().nullable().describe("\n * * Field Name: PageNumber\n * * Display Name: Page Number\n * * SQL Data Type: int\n * * Description: One-based page number this chunk came from, for paginated sources such as PDFs or slide decks. Provides citation-grade provenance alongside the character offsets. NULL when the source is not paginated."),SegmentTitle:stringType().nullable().describe("\n * * Field Name: SegmentTitle\n * * Display Name: Segment Title\n * * SQL Data Type: nvarchar(500)\n * * Description: Human-readable label for this segment \u2014 a document heading for structure-based segmentation, or a generated chapter title for topic- and transcript-based segmentation. Displayed with search results and prepended to the embedded text so a chunk's vector carries its own topic."),Description:stringType().nullable().describe("\n * * Field Name: Description\n * * Display Name: Description\n * * SQL Data Type: nvarchar(MAX)\n * * Description: An AI-generated description of this chunk's content, primarily for non-text segments. Retrieval of a media chunk otherwise yields only a pointer (an asset and a time window) that an agent cannot reason over; this column is the readable representation that an agent reads, a cross-encoder reranks, and lexical search matches. A short summary of it may be mirrored into the vector record's metadata for display and filtering, but the full text belongs here."),Transcript:stringType().nullable().describe("\n * * Field Name: Transcript\n * * Display Name: Transcript\n * * SQL Data Type: nvarchar(MAX)\n * * Description: The verbatim transcript covering this chunk's time window, for audio and video segments, including speaker labels where the source provides them. Distinct from Description, which is a generated summary: this is what was actually said, and it is what makes a recording findable by lexical search."),SegmenterKey:stringType().nullable().describe("\n * * Field Name: SegmenterKey\n * * Display Name: Segmenter Key\n * * SQL Data Type: nvarchar(100)\n * * Description: Registration key of the segmentation strategy that produced this chunk (for example StructuralText, SemanticText, Transcript, or FixedWindow). Provenance: when a Content Source's configured strategy changes, this identifies which chunks were produced by the previous strategy and therefore need re-chunking."),ParentChunkID:stringType().nullable().describe("\n * * Field Name: ParentChunkID\n * * Display Name: Parent Chunk\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Content Item Chunks (vwContentItemChunks.ID)\n * * Description: Optional self-reference to another chunk of the same Content Item that is the parent of this one, expressing a chapter to sub-chapter hierarchy \u2014 for example a five-minute chapter of a recording and the individual speaker turns within it, or a document section and its subsections. NULL for top-level segments."),ContentItem:stringType().nullable().describe("\n * * Field Name: ContentItem\n * * Display Name: Content Item\n * * SQL Data Type: nvarchar(250)"),RootParentChunkID:stringType().nullable().describe("\n * * Field Name: RootParentChunkID\n * * Display Name: Root Parent Chunk\n * * SQL Data Type: uniqueidentifier")});/**
|
|
63923
|
+
*/var MJContentItemChunkSchema=objectType({ID:stringType().describe("\n * * Field Name: ID\n * * Display Name: ID\n * * SQL Data Type: uniqueidentifier\n * * Default Value: newsequentialid()"),ContentItemID:stringType().describe("\n * * Field Name: ContentItemID\n * * Display Name: Content Item\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Content Items (vwContentItems.ID)"),Sequence:numberType().describe("\n * * Field Name: Sequence\n * * Display Name: Sequence\n * * SQL Data Type: int\n * * Description: Zero-based ordinal position of this chunk within the parent Content Item, preserving the original order in which the text was split."),Text:stringType().nullable().describe("\n * * Field Name: Text\n * * Display Name: Text\n * * SQL Data Type: nvarchar(MAX)\n * * Description: The chunk of extracted text (from the parent Content Item) that was embedded to produce this chunk's vector. NULL for media-only segments (for example an image, or a video window with no transcript), where the embedded payload is the media itself and any readable representation lives in Description/Transcript."),VectorRecordID:stringType().nullable().describe("\n * * Field Name: VectorRecordID\n * * Display Name: Vector Record ID\n * * SQL Data Type: nvarchar(100)\n * * Description: The identifier of this chunk's vector record in the vector database (e.g. Pinecone) \u2014 the deterministic key MemberJunction assigns and upserts the chunk's embedding under. Provides traceability from the chunk back to its stored vector."),EmbeddingStatus:unionType([literalType('Active'),literalType('Complete'),literalType('Failed'),literalType('Pending'),literalType('Processed'),literalType('Processing'),literalType('Skipped')]).describe("\n * * Field Name: EmbeddingStatus\n * * Display Name: Embedding Status\n * * SQL Data Type: nvarchar(20)\n * * Default Value: Pending\n * * Value List Type: List\n * * Possible Values \n * * Active\n * * Complete\n * * Failed\n * * Pending\n * * Processed\n * * Processing\n * * Skipped\n * * Description: Embedding lifecycle state of this chunk: Pending (default), Processing, Active, Complete, Processed, Failed, or Skipped."),TaggingStatus:unionType([literalType('Active'),literalType('Complete'),literalType('Failed'),literalType('Pending'),literalType('Processed'),literalType('Processing'),literalType('Skipped')]).describe("\n * * Field Name: TaggingStatus\n * * Display Name: Tagging Status\n * * SQL Data Type: nvarchar(20)\n * * Default Value: Pending\n * * Value List Type: List\n * * Possible Values \n * * Active\n * * Complete\n * * Failed\n * * Pending\n * * Processed\n * * Processing\n * * Skipped\n * * Description: Tagging lifecycle state of this chunk: Pending (default), Processing, Active, Complete, Processed, Failed, or Skipped."),DeleteStatus:unionType([literalType('Deleted'),literalType('Pending')]).nullable().describe("\n * * Field Name: DeleteStatus\n * * Display Name: Delete Status\n * * SQL Data Type: nvarchar(20)\n * * Value List Type: List\n * * Possible Values \n * * Deleted\n * * Pending\n * * Description: Deletion lifecycle state of this chunk's vector: NULL when not slated for deletion, Pending when vector removal is queued, or Deleted once the vector has been removed from the vector database."),LastEmbeddedAt:dateType().nullable().describe("\n * * Field Name: LastEmbeddedAt\n * * Display Name: Last Embedded At\n * * SQL Data Type: datetimeoffset\n * * Description: Timestamp of the last successful embedding of this chunk."),LastTaggedAt:dateType().nullable().describe("\n * * Field Name: LastTaggedAt\n * * Display Name: Last Tagged At\n * * SQL Data Type: datetimeoffset\n * * Description: Timestamp of the last successful tagging of this chunk."),LastDeletedAt:dateType().nullable().describe("\n * * Field Name: LastDeletedAt\n * * Display Name: Last Deleted At\n * * SQL Data Type: datetimeoffset\n * * Description: Timestamp of the last successful deletion of this chunk's vector from the vector database."),__mj_CreatedAt:dateType().describe("\n * * Field Name: __mj_CreatedAt\n * * Display Name: Created At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),__mj_UpdatedAt:dateType().describe("\n * * Field Name: __mj_UpdatedAt\n * * Display Name: Updated At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),Modality:unionType([literalType('audio'),literalType('image'),literalType('multimodal'),literalType('text'),literalType('video')]).describe("\n * * Field Name: Modality\n * * Display Name: Modality\n * * SQL Data Type: nvarchar(20)\n * * Default Value: text\n * * Value List Type: List\n * * Possible Values \n * * audio\n * * image\n * * multimodal\n * * text\n * * video\n * * Description: The modality of this chunk's embedded payload: text (default), image, audio, video, or multimodal (text and media fused into a single vector). Determines which vector index the chunk's embedding belongs to, since a multimodal embedding model produces vectors of a different dimension than a text model, and is used at retrieval time to merge results per modality rather than taking a single global top-k."),StartOffset:numberType().nullable().describe("\n * * Field Name: StartOffset\n * * Display Name: Start Offset\n * * SQL Data Type: int\n * * Description: Inclusive character offset where this chunk begins within the parent Content Item's extracted text. Together with EndOffset this is the provenance link that resolves a search hit back to the exact passage in the source document. NULL for media segments, which are positioned by StartMs/EndMs instead."),EndOffset:numberType().nullable().describe("\n * * Field Name: EndOffset\n * * Display Name: End Offset\n * * SQL Data Type: int\n * * Description: Exclusive character offset where this chunk ends within the parent Content Item's extracted text. See StartOffset. NULL for media segments."),StartMs:numberType().nullable().describe("\n * * Field Name: StartMs\n * * Display Name: Start Milliseconds\n * * SQL Data Type: int\n * * Description: Start of this chunk's time window, in milliseconds from the beginning of the parent audio or video asset. Set by transcript- or window-based segmentation; enables time-windowed playback deep-links from a search result (for example 14:22-15:05 of a session recording). NULL for text segments."),EndMs:numberType().nullable().describe("\n * * Field Name: EndMs\n * * Display Name: End Milliseconds\n * * SQL Data Type: int\n * * Description: End of this chunk's time window, in milliseconds from the beginning of the parent audio or video asset. See StartMs. NULL for text segments."),PageNumber:numberType().nullable().describe("\n * * Field Name: PageNumber\n * * Display Name: Page Number\n * * SQL Data Type: int\n * * Description: One-based page number this chunk came from, for paginated sources such as PDFs or slide decks. Provides citation-grade provenance alongside the character offsets. NULL when the source is not paginated."),SegmentTitle:stringType().nullable().describe("\n * * Field Name: SegmentTitle\n * * Display Name: Segment Title\n * * SQL Data Type: nvarchar(500)\n * * Description: Human-readable label for this segment \u2014 a document heading for structure-based segmentation, or a generated chapter title for topic- and transcript-based segmentation. Displayed with search results and prepended to the embedded text so a chunk's vector carries its own topic."),Description:stringType().nullable().describe("\n * * Field Name: Description\n * * Display Name: Description\n * * SQL Data Type: nvarchar(MAX)\n * * Description: An AI-generated description of this chunk's content, primarily for non-text segments. Retrieval of a media chunk otherwise yields only a pointer (an asset and a time window) that an agent cannot reason over; this column is the readable representation that an agent reads, a cross-encoder reranks, and lexical search matches. A short summary of it may be mirrored into the vector record's metadata for display and filtering, but the full text belongs here."),Transcript:stringType().nullable().describe("\n * * Field Name: Transcript\n * * Display Name: Transcript\n * * SQL Data Type: nvarchar(MAX)\n * * Description: The verbatim transcript covering this chunk's time window, for audio and video segments, including speaker labels where the source provides them. Distinct from Description, which is a generated summary: this is what was actually said, and it is what makes a recording findable by lexical search."),SegmenterKey:stringType().nullable().describe("\n * * Field Name: SegmenterKey\n * * Display Name: Segmenter Key\n * * SQL Data Type: nvarchar(100)\n * * Description: Registration key of the segmentation strategy that produced this chunk (for example StructuralText, SemanticText, Transcript, or FixedWindow). Provenance: when a Content Source's configured strategy changes, this identifies which chunks were produced by the previous strategy and therefore need re-chunking."),ParentChunkID:stringType().nullable().describe("\n * * Field Name: ParentChunkID\n * * Display Name: Parent Chunk\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Content Item Chunks (vwContentItemChunks.ID)\n * * Description: Optional self-reference to another chunk of the same Content Item that is the parent of this one, expressing a chapter to sub-chapter hierarchy \u2014 for example a five-minute chapter of a recording and the individual speaker turns within it, or a document section and its subsections. NULL for top-level segments."),ContentItem:stringType().nullable().describe("\n * * Field Name: ContentItem\n * * Display Name: Content Item Name\n * * SQL Data Type: nvarchar(250)"),ParentChunk:stringType().nullable().describe("\n * * Field Name: ParentChunk\n * * Display Name: Parent Chunk Name\n * * SQL Data Type: nvarchar(500)"),RootParentChunkID:stringType().nullable().describe("\n * * Field Name: RootParentChunkID\n * * Display Name: Root Parent Chunk\n * * SQL Data Type: uniqueidentifier")});/**
|
|
63578
63924
|
* zod schema definition for the entity MJ: Content Item Duplicates
|
|
63579
63925
|
*/var MJContentItemDuplicateSchema=objectType({ID:stringType().describe("\n * * Field Name: ID\n * * Display Name: ID\n * * SQL Data Type: uniqueidentifier\n * * Default Value: newsequentialid()"),ContentItemAID:stringType().describe("\n * * Field Name: ContentItemAID\n * * Display Name: Content Item A ID\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Content Items (vwContentItems.ID)"),ContentItemBID:stringType().describe("\n * * Field Name: ContentItemBID\n * * Display Name: Content Item B ID\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Content Items (vwContentItems.ID)"),SimilarityScore:numberType().describe("\n * * Field Name: SimilarityScore\n * * Display Name: Similarity Score\n * * SQL Data Type: decimal(5, 4)\n * * Description: Cosine similarity (for Vector) or exact match score (1.0 for Checksum/URL). Range 0.0-1.0."),DetectionMethod:unionType([literalType('Checksum'),literalType('Title'),literalType('URL'),literalType('Vector')]).describe("\n * * Field Name: DetectionMethod\n * * Display Name: Detection Method\n * * SQL Data Type: nvarchar(30)\n * * Default Value: Checksum\n * * Value List Type: List\n * * Possible Values \n * * Checksum\n * * Title\n * * URL\n * * Vector\n * * Description: How the duplicate was detected: Checksum (identical text hash), Vector (embedding similarity), Title (same title text), URL (same source URL)."),Status:unionType([literalType('Confirmed'),literalType('Dismissed'),literalType('Merged'),literalType('Pending')]).describe("\n * * Field Name: Status\n * * Display Name: Status\n * * SQL Data Type: nvarchar(20)\n * * Default Value: Pending\n * * Value List Type: List\n * * Possible Values \n * * Confirmed\n * * Dismissed\n * * Merged\n * * Pending\n * * Description: Current status: Pending (awaiting review), Confirmed (verified duplicate), Dismissed (not a duplicate), Merged (one item was removed)."),ResolvedByUserID:stringType().nullable().describe("\n * * Field Name: ResolvedByUserID\n * * Display Name: Resolved By User ID\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Users (vwUsers.ID)"),ResolvedAt:dateType().nullable().describe("\n * * Field Name: ResolvedAt\n * * Display Name: Resolved At\n * * SQL Data Type: datetimeoffset"),Resolution:unionType([literalType('KeepA'),literalType('KeepB'),literalType('MergeBoth'),literalType('NotDuplicate')]).nullable().describe("\n * * Field Name: Resolution\n * * Display Name: Resolution\n * * SQL Data Type: nvarchar(20)\n * * Value List Type: List\n * * Possible Values \n * * KeepA\n * * KeepB\n * * MergeBoth\n * * NotDuplicate\n * * Description: How the duplicate was resolved: KeepA (keep first, remove second), KeepB (keep second, remove first), MergeBoth (combine into one), NotDuplicate (false positive)."),__mj_CreatedAt:dateType().describe("\n * * Field Name: __mj_CreatedAt\n * * Display Name: Created At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),__mj_UpdatedAt:dateType().describe("\n * * Field Name: __mj_UpdatedAt\n * * Display Name: Updated At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),ContentItemA:stringType().nullable().describe("\n * * Field Name: ContentItemA\n * * Display Name: Content Item A\n * * SQL Data Type: nvarchar(250)"),ContentItemB:stringType().nullable().describe("\n * * Field Name: ContentItemB\n * * Display Name: Content Item B\n * * SQL Data Type: nvarchar(250)"),ResolvedByUser:stringType().nullable().describe("\n * * Field Name: ResolvedByUser\n * * Display Name: Resolved By User\n * * SQL Data Type: nvarchar(100)")});/**
|
|
63580
63926
|
* zod schema definition for the entity MJ: Content Item Tags
|
|
@@ -63672,7 +64018,7 @@ function _regenerator(){/*! regenerator-runtime -- Copyright (c) 2014-present, F
|
|
|
63672
64018
|
* zod schema definition for the entity MJ: Encryption Keys
|
|
63673
64019
|
*/var MJEncryptionKeySchema=objectType({ID:stringType().describe("\n * * Field Name: ID\n * * Display Name: ID\n * * SQL Data Type: uniqueidentifier\n * * Default Value: newsequentialid()\n * * Description: Unique identifier for the encryption key configuration."),Name:stringType().describe("\n * * Field Name: Name\n * * Display Name: Name\n * * SQL Data Type: nvarchar(100)\n * * Description: Unique name for this key (e.g., PII Master Key, API Secrets Key)."),Description:stringType().nullable().describe("\n * * Field Name: Description\n * * Display Name: Description\n * * SQL Data Type: nvarchar(MAX)\n * * Description: Description of this key purpose and scope."),EncryptionKeySourceID:stringType().describe("\n * * Field Name: EncryptionKeySourceID\n * * Display Name: Encryption Key Source ID\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Encryption Key Sources (vwEncryptionKeySources.ID)\n * * Description: References the key source that provides the key material."),EncryptionAlgorithmID:stringType().describe("\n * * Field Name: EncryptionAlgorithmID\n * * Display Name: Encryption Algorithm ID\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Encryption Algorithms (vwEncryptionAlgorithms.ID)\n * * Description: References the algorithm to use for encryption/decryption."),KeyLookupValue:stringType().describe("\n * * Field Name: KeyLookupValue\n * * Display Name: Key Lookup Value\n * * SQL Data Type: nvarchar(500)\n * * Description: Source-specific lookup value (e.g., environment variable name, vault path)."),KeyVersion:stringType().describe("\n * * Field Name: KeyVersion\n * * Display Name: Key Version\n * * SQL Data Type: nvarchar(20)\n * * Default Value: 1\n * * Description: Version string for key rotation tracking. Incremented during rotation."),Marker:stringType().describe("\n * * Field Name: Marker\n * * Display Name: Marker\n * * SQL Data Type: nvarchar(20)\n * * Default Value: $ENC$\n * * Description: Prefix marker for encrypted values (default: $ENC$)."),IsActive:booleanType().describe("\n * * Field Name: IsActive\n * * Display Name: Is Active\n * * SQL Data Type: bit\n * * Default Value: 1\n * * Description: Whether this key can be used for new encryption operations."),Status:unionType([literalType('Active'),literalType('Expired'),literalType('Inactive'),literalType('Rotating')]).describe("\n * * Field Name: Status\n * * Display Name: Status\n * * SQL Data Type: nvarchar(20)\n * * Default Value: Active\n * * Value List Type: List\n * * Possible Values \n * * Active\n * * Expired\n * * Inactive\n * * Rotating\n * * Description: Current status: Active, Inactive, Rotating, or Expired."),ActivatedAt:dateType().nullable().describe("\n * * Field Name: ActivatedAt\n * * Display Name: Activated At\n * * SQL Data Type: datetimeoffset\n * * Description: When the current key version was activated."),ExpiresAt:dateType().nullable().describe("\n * * Field Name: ExpiresAt\n * * Display Name: Expires At\n * * SQL Data Type: datetimeoffset\n * * Description: Optional expiration date. Keys past this date cannot be used for new encryption."),__mj_CreatedAt:dateType().describe("\n * * Field Name: __mj_CreatedAt\n * * Display Name: Created At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),__mj_UpdatedAt:dateType().describe("\n * * Field Name: __mj_UpdatedAt\n * * Display Name: Updated At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),EncryptionKeySource:stringType().describe("\n * * Field Name: EncryptionKeySource\n * * Display Name: Encryption Key Source\n * * SQL Data Type: nvarchar(100)"),EncryptionAlgorithm:stringType().describe("\n * * Field Name: EncryptionAlgorithm\n * * Display Name: Encryption Algorithm\n * * SQL Data Type: nvarchar(50)")});/**
|
|
63674
64020
|
* zod schema definition for the entity MJ: Entities
|
|
63675
|
-
*/var MJEntitySchema=objectType({ID:stringType().describe("\n * * Field Name: ID\n * * Display Name: ID\n * * SQL Data Type: uniqueidentifier\n * * Default Value: newsequentialid()"),ParentID:stringType().nullable().describe("\n * * Field Name: ParentID\n * * Display Name: Parent\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Entities (vwEntities.ID)"),Name:stringType().describe("\n * * Field Name: Name\n * * Display Name: Name\n * * SQL Data Type: nvarchar(255)\n * * Description: The canonical, unique name for this entity. For entities in schemas with an EntityNamePrefix configured (e.g., \"MJ: \" for the core schema), the Name includes the prefix: \"MJ: AI Models\", \"MJ: Users\", etc. This is the value used in GetEntityObject(), RunView({ EntityName }), and @RegisterClass decorators. The DisplayName column provides the shorter, UI-friendly alternative without the prefix."),NameSuffix:stringType().nullable().describe("\n * * Field Name: NameSuffix\n * * Display Name: Name Suffix\n * * SQL Data Type: nvarchar(255)\n * * Description: Optional suffix appended to entity names for display purposes."),Description:stringType().nullable().describe("\n * * Field Name: Description\n * * Display Name: Description\n * * SQL Data Type: nvarchar(MAX)"),AutoUpdateDescription:booleanType().describe("\n * * Field Name: AutoUpdateDescription\n * * Display Name: Auto-Update Description\n * * SQL Data Type: bit\n * * Default Value: 1\n * * Description: When set to 1 (default), whenever a description is modified in the underlying view (first choice) or table (second choice), the Description column in the entity definition will be automatically updated. If you never set metadata in the database directly, you can leave this alone. However, if you have metadata set in the database level for description, and you want to provide a DIFFERENT description in this entity definition, turn this bit off and then set the Description field and future CodeGen runs will NOT override the Description field here."),BaseTable:stringType().describe("\n * * Field Name: BaseTable\n * * Display Name: Base Table\n * * SQL Data Type: nvarchar(255)\n * * Description: The underlying database table name for this entity."),BaseView:stringType().describe("\n * * Field Name: BaseView\n * * Display Name: Base View\n * * SQL Data Type: nvarchar(255)\n * * Description: The \"wrapper\" database view used for querying this entity with joins and computed fields."),BaseViewGenerated:booleanType().describe("\n * * Field Name: BaseViewGenerated\n * * Display Name: Base View Generated\n * * SQL Data Type: bit\n * * Default Value: 1\n * * Description: When set to 0, CodeGen no longer generates a base view for the entity."),SchemaName:stringType().describe("\n * * Field Name: SchemaName\n * * Display Name: Schema Name\n * * SQL Data Type: nvarchar(255)\n * * Default Value: dbo\n * * Description: Database schema containing this entity's table and view."),VirtualEntity:booleanType().describe("\n * * Field Name: VirtualEntity\n * * Display Name: Is Virtual Entity\n * * SQL Data Type: bit\n * * Default Value: 0\n * * Description: Indicates if this is a virtual entity without a physical database table."),TrackRecordChanges:booleanType().describe("\n * * Field Name: TrackRecordChanges\n * * Display Name: Track Record Changes\n * * SQL Data Type: bit\n * * Default Value: 1\n * * Description: When set to 1, changes made via the MemberJunction architecture will result in tracking records being created in the RecordChange table. In addition, when turned on CodeGen will ensure that your table has two fields: __mj_CreatedAt and __mj_UpdatedAt which are special fields used in conjunction with the RecordChange table to track changes to rows in your entity."),AuditRecordAccess:booleanType().describe("\n * * Field Name: AuditRecordAccess\n * * Display Name: Audit Record Access\n * * SQL Data Type: bit\n * * Default Value: 1\n * * Description: When set to 1, accessing a record by an end-user will result in an Audit Log record being created"),AuditViewRuns:booleanType().describe("\n * * Field Name: AuditViewRuns\n * * Display Name: Audit View Runs\n * * SQL Data Type: bit\n * * Default Value: 1\n * * Description: When set to 1, users running a view against this entity will result in an Audit Log record being created."),IncludeInAPI:booleanType().describe("\n * * Field Name: IncludeInAPI\n * * Display Name: Include In API\n * * SQL Data Type: bit\n * * Default Value: 0\n * * Description: If set to 0, the entity will not be available at all in the GraphQL API or the object model."),AllowAllRowsAPI:booleanType().describe("\n * * Field Name: AllowAllRowsAPI\n * * Display Name: Allow All Rows API\n * * SQL Data Type: bit\n * * Default Value: 0\n * * Description: If set to 1, a GraphQL query will be enabled that allows access to all rows in the entity."),AllowUpdateAPI:booleanType().describe("\n * * Field Name: AllowUpdateAPI\n * * Display Name: Allow Update API\n * * SQL Data Type: bit\n * * Default Value: 0\n * * Description: Global flag controlling if updates are allowed for any user, or not. If set to 1, a GraqhQL mutation and stored procedure are created. Permissions are still required to perform the action but if this flag is set to 0, no user will be able to perform the action."),AllowCreateAPI:booleanType().describe("\n * * Field Name: AllowCreateAPI\n * * Display Name: Allow Create API\n * * SQL Data Type: bit\n * * Default Value: 0\n * * Description: Global flag controlling if creates are allowed for any user, or not. If set to 1, a GraqhQL mutation and stored procedure are created. Permissions are still required to perform the action but if this flag is set to 0, no user will be able to perform the action."),AllowDeleteAPI:booleanType().describe("\n * * Field Name: AllowDeleteAPI\n * * Display Name: Allow Delete API\n * * SQL Data Type: bit\n * * Default Value: 0\n * * Description: Global flag controlling if deletes are allowed for any user, or not. If set to 1, a GraqhQL mutation and stored procedure are created. Permissions are still required to perform the action but if this flag is set to 0, no user will be able to perform the action."),CustomResolverAPI:booleanType().describe("\n * * Field Name: CustomResolverAPI\n * * Display Name: Custom Resolver API\n * * SQL Data Type: bit\n * * Default Value: 0\n * * Description: Set to 1 if a custom resolver has been created for the entity."),AllowUserSearchAPI:booleanType().describe("\n * * Field Name: AllowUserSearchAPI\n * * Display Name: Allow User Search API\n * * SQL Data Type: bit\n * * Default Value: 0\n * * Description: Enabling this bit will result in search being possible at the API and UI layers"),FullTextSearchEnabled:booleanType().describe("\n * * Field Name: FullTextSearchEnabled\n * * Display Name: Full-Text Search Enabled\n * * SQL Data Type: bit\n * * Default Value: 0\n * * Description: Whether full-text search indexing is enabled for this entity."),FullTextCatalog:stringType().nullable().describe("\n * * Field Name: FullTextCatalog\n * * Display Name: Full-Text Catalog\n * * SQL Data Type: nvarchar(255)\n * * Description: Name of the SQL Server full-text catalog if search is enabled."),FullTextCatalogGenerated:booleanType().describe("\n * * Field Name: FullTextCatalogGenerated\n * * Display Name: Full-Text Catalog Generated\n * * SQL Data Type: bit\n * * Default Value: 1\n * * Description: Indicates if the full-text catalog was auto-generated by CodeGen."),FullTextIndex:stringType().nullable().describe("\n * * Field Name: FullTextIndex\n * * Display Name: Full-Text Index\n * * SQL Data Type: nvarchar(255)\n * * Description: Name of the full-text index on this entity's table."),FullTextIndexGenerated:booleanType().describe("\n * * Field Name: FullTextIndexGenerated\n * * Display Name: Full-Text Index Generated\n * * SQL Data Type: bit\n * * Default Value: 1\n * * Description: Indicates if the full-text index was auto-generated by CodeGen."),FullTextSearchFunction:stringType().nullable().describe("\n * * Field Name: FullTextSearchFunction\n * * Display Name: Full-Text Search Function\n * * SQL Data Type: nvarchar(255)\n * * Description: Name of the function used for full-text searching this entity."),FullTextSearchFunctionGenerated:booleanType().describe("\n * * Field Name: FullTextSearchFunctionGenerated\n * * Display Name: Full-Text Search Function Generated\n * * SQL Data Type: bit\n * * Default Value: 1\n * * Description: Indicates if the search function was auto-generated by CodeGen."),UserViewMaxRows:numberType().nullable().describe("\n * * Field Name: UserViewMaxRows\n * * Display Name: User View Max Rows\n * * SQL Data Type: int\n * * Default Value: 1000\n * * Description: Maximum number of rows to return in user-created views for this entity."),spCreate:stringType().nullable().describe("\n * * Field Name: spCreate\n * * Display Name: Create Procedure\n * * SQL Data Type: nvarchar(255)\n * * Description: Name of the stored procedure for creating records in this entity."),spUpdate:stringType().nullable().describe("\n * * Field Name: spUpdate\n * * Display Name: Update Procedure\n * * SQL Data Type: nvarchar(255)\n * * Description: Name of the stored procedure for updating records in this entity."),spDelete:stringType().nullable().describe("\n * * Field Name: spDelete\n * * Display Name: Delete Procedure\n * * SQL Data Type: nvarchar(255)\n * * Description: Name of the stored procedure for deleting records in this entity."),spCreateGenerated:booleanType().describe("\n * * Field Name: spCreateGenerated\n * * Display Name: Create Procedure Generated\n * * SQL Data Type: bit\n * * Default Value: 1\n * * Description: Indicates if the create procedure was auto-generated by CodeGen."),spUpdateGenerated:booleanType().describe("\n * * Field Name: spUpdateGenerated\n * * Display Name: Update Procedure Generated\n * * SQL Data Type: bit\n * * Default Value: 1\n * * Description: Indicates if the update procedure was auto-generated by CodeGen."),spDeleteGenerated:booleanType().describe("\n * * Field Name: spDeleteGenerated\n * * Display Name: Delete Procedure Generated\n * * SQL Data Type: bit\n * * Default Value: 1\n * * Description: Indicates if the delete procedure was auto-generated by CodeGen."),CascadeDeletes:booleanType().describe("\n * * Field Name: CascadeDeletes\n * * Display Name: Cascade Deletes\n * * SQL Data Type: bit\n * * Default Value: 0\n * * Description: When set to 1, the deleted spDelete will pre-process deletion to related entities that have 1:M cardinality with this entity. This does not have effect if spDeleteGenerated = 0"),DeleteType:unionType([literalType('Hard'),literalType('Soft')]).describe("\n * * Field Name: DeleteType\n * * Display Name: Delete Type\n * * SQL Data Type: nvarchar(10)\n * * Default Value: Hard\n * * Value List Type: List\n * * Possible Values \n * * Hard\n * * Soft\n * * Description: Hard deletes physically remove rows from the underlying BaseTable. Soft deletes do not remove rows but instead mark the row as deleted by using the special field __mj_DeletedAt which will automatically be added to the entity's basetable by the CodeGen tool."),AllowRecordMerge:booleanType().describe("\n * * Field Name: AllowRecordMerge\n * * Display Name: Allow Record Merge\n * * SQL Data Type: bit\n * * Default Value: 0\n * * Description: This field must be turned on in order to enable merging of records for the entity. For AllowRecordMerge to be turned on, AllowDeleteAPI must be set to 1, and DeleteType must be set to Soft"),spMatch:stringType().nullable().describe("\n * * Field Name: spMatch\n * * Display Name: Match Procedure\n * * SQL Data Type: nvarchar(255)\n * * Description: When specified, this stored procedure is used to find matching records in this particular entity. The convention is to pass in the primary key(s) columns for the given entity to the procedure and the return will be zero to many rows where there is a column for each primary key field(s) and a ProbabilityScore (numeric(1,12)) column that has a 0 to 1 value of the probability of a match."),RelationshipDefaultDisplayType:unionType([literalType('Dropdown'),literalType('Search')]).describe("\n * * Field Name: RelationshipDefaultDisplayType\n * * Display Name: Default Display Type\n * * SQL Data Type: nvarchar(20)\n * * Default Value: Search\n * * Value List Type: List\n * * Possible Values \n * * Dropdown\n * * Search\n * * Description: When another entity links to this entity with a foreign key, this is the default component type that will be used in the UI. CodeGen will populate the RelatedEntityDisplayType column in the Entity Fields entity with whatever is provided here whenever a new foreign key is detected by CodeGen. The selection can be overridden on a per-foreign-key basis in each row of the Entity Fields entity."),UserFormGenerated:booleanType().describe("\n * * Field Name: UserFormGenerated\n * * Display Name: User Form Generated\n * * SQL Data Type: bit\n * * Default Value: 1\n * * Description: Indicates if the default user form was auto-generated for this entity."),EntityObjectSubclassName:stringType().nullable().describe("\n * * Field Name: EntityObjectSubclassName\n * * Display Name: Subclass Name\n * * SQL Data Type: nvarchar(255)\n * * Description: TypeScript class name for the entity subclass in the codebase."),EntityObjectSubclassImport:stringType().nullable().describe("\n * * Field Name: EntityObjectSubclassImport\n * * Display Name: Subclass Import\n * * SQL Data Type: nvarchar(255)\n * * Description: Import path for the entity subclass in the TypeScript codebase."),PreferredCommunicationField:stringType().nullable().describe("\n * * Field Name: PreferredCommunicationField\n * * Display Name: Preferred Communication Field\n * * SQL Data Type: nvarchar(255)\n * * Description: Used to specify a field within the entity that in turn contains the field name that will be used for record-level communication preferences. For example in a hypothetical entity called Contacts, say there is a field called PreferredComm and that field had possible values of Email1, SMS, and Phone, and those value in turn corresponded to field names in the entity. Each record in the Contacts entity could have a specific preference for which field would be used for communication. The MJ Communication Framework will use this information when available, as a priority ahead of the data in the Entity Communication Fields entity which is entity-level and not record-level."),Icon:stringType().nullable().describe("\n * * Field Name: Icon\n * * Display Name: Icon\n * * SQL Data Type: nvarchar(500)\n * * Description: Optional, specify an icon (CSS Class) for each entity for display in the UI"),__mj_CreatedAt:dateType().describe("\n * * Field Name: __mj_CreatedAt\n * * Display Name: Created At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),__mj_UpdatedAt:dateType().describe("\n * * Field Name: __mj_UpdatedAt\n * * Display Name: Updated At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),ScopeDefault:stringType().nullable().describe("\n * * Field Name: ScopeDefault\n * * Display Name: Default Scope\n * * SQL Data Type: nvarchar(100)\n * * Description: Optional, comma-delimited string indicating the default scope for entity visibility. Options include Users, Admins, AI, and All. Defaults to All when NULL. This is used for simple defaults for filtering entity visibility, not security enforcement."),RowsToPackWithSchema:unionType([literalType('All'),literalType('None'),literalType('Sample')]).describe("\n * * Field Name: RowsToPackWithSchema\n * * Display Name: Rows To Pack With Schema\n * * SQL Data Type: nvarchar(20)\n * * Default Value: None\n * * Value List Type: List\n * * Possible Values \n * * All\n * * None\n * * Sample\n * * Description: Determines how entity rows should be packaged for external use. Options include None, Sample, and All. Defaults to None."),RowsToPackSampleMethod:unionType([literalType('bottom n'),literalType('random'),literalType('top n')]).describe("\n * * Field Name: RowsToPackSampleMethod\n * * Display Name: Rows To Pack Sample Method\n * * SQL Data Type: nvarchar(20)\n * * Default Value: random\n * * Value List Type: List\n * * Possible Values \n * * bottom n\n * * random\n * * top n\n * * Description: Defines the sampling method for row packing when RowsToPackWithSchema is set to Sample. Options include random, top n, and bottom n. Defaults to random."),RowsToPackSampleCount:numberType().describe("\n * * Field Name: RowsToPackSampleCount\n * * Display Name: Rows To Pack Sample Count\n * * SQL Data Type: int\n * * Default Value: 0\n * * Description: The number of rows to pack when RowsToPackWithSchema is set to Sample, based on the designated sampling method. Defaults to 0."),RowsToPackSampleOrder:stringType().nullable().describe("\n * * Field Name: RowsToPackSampleOrder\n * * Display Name: Rows To Pack Sample Order\n * * SQL Data Type: nvarchar(MAX)\n * * Description: An optional ORDER BY clause for row packing when RowsToPackWithSchema is set to Sample. Allows custom ordering for selected entity data when using top n and bottom n."),AutoRowCountFrequency:numberType().nullable().describe("\n * * Field Name: AutoRowCountFrequency\n * * Display Name: Auto Row Count Frequency\n * * SQL Data Type: int\n * * Description: Frequency in hours for automatically performing row counts on this entity. If NULL, automatic row counting is disabled. If greater than 0, schedules recurring SELECT COUNT(*) queries at the specified interval."),RowCount:numberType().nullable().describe("\n * * Field Name: RowCount\n * * Display Name: Row Count\n * * SQL Data Type: bigint\n * * Description: Cached row count for this entity, populated by automatic row count processes when AutoRowCountFrequency is configured."),RowCountRunAt:dateType().nullable().describe("\n * * Field Name: RowCountRunAt\n * * Display Name: Row Count Run At\n * * SQL Data Type: datetimeoffset\n * * Description: Timestamp indicating when the last automatic row count was performed for this entity."),Status:unionType([literalType('Active'),literalType('Deprecated'),literalType('Disabled')]).describe("\n * * Field Name: Status\n * * Display Name: Status\n * * SQL Data Type: nvarchar(25)\n * * Default Value: Active\n * * Value List Type: List\n * * Possible Values \n * * Active\n * * Deprecated\n * * Disabled\n * * Description: Status of the entity. Active: fully functional; Deprecated: functional but generates console warnings when used; Disabled: not available for use even though metadata and physical table remain."),DisplayName:stringType().nullable().describe("\n * * Field Name: DisplayName\n * * Display Name: Display Name\n * * SQL Data Type: nvarchar(255)\n * * Description: User-friendly display name shown in the Explorer UI and other interfaces. When set, this is used instead of the entity Name for display purposes. Typically contains the entity name without the schema prefix \u2014 e.g., \"AI Models\" when Name is \"MJ: AI Models\". If NULL, the UI falls back to using the full Name."),AllowMultipleSubtypes:booleanType().describe("\n * * Field Name: AllowMultipleSubtypes\n * * Display Name: Allow Multiple Subtypes\n * * SQL Data Type: bit\n * * Default Value: 0\n * * Description: When false (default), child types are disjoint - a record can only be one child type at a time. When true, a record can simultaneously exist as multiple child types (e.g., a Person can be both a Member and a Volunteer)."),AutoUpdateFullTextSearch:booleanType().describe("\n * * Field Name: AutoUpdateFullTextSearch\n * * Display Name: Auto-Update Full-Text Search\n * * SQL Data Type: bit\n * * Default Value: 1\n * * Description: When true, CodeGen LLM can auto-configure full-text search settings (FullTextSearchEnabled, catalog, index, function) during code generation runs."),AutoUpdateAllowUserSearchAPI:booleanType().describe("\n * * Field Name: AutoUpdateAllowUserSearchAPI\n * * Display Name: Auto-Update Search API\n * * SQL Data Type: bit\n * * Default Value: 1\n * * Description: When true, CodeGen LLM can auto-set AllowUserSearchAPI during code generation runs."),TrustServerCacheCompletely:booleanType().describe("\n * * Field Name: TrustServerCacheCompletely\n * * Display Name: Trust Server Cache Completely\n * * SQL Data Type: bit\n * * Default Value: 1\n * * Description: When true (default), the server-side RunView cache will store and return cached results for this entity, trusting that all mutations flow through BaseEntity.Save() which fires cache invalidation events. Set to false for entities whose rows are created as side-effects of other operations via raw SQL (e.g., Record Changes created by spCreateRecordChange_Internal), since those inserts bypass BaseEntity and never trigger cache invalidation."),SupportsGeoCoding:booleanType().describe("\n * * Field Name: SupportsGeoCoding\n * * Display Name: Supports Geo-Coding\n * * SQL Data Type: bit\n * * Default Value: 0\n * * Description: When true, CodeGen generates geo-aware subclass code, adds __mj_Latitude/__mj_Longitude virtual fields to the base view, and the UI shows a map view toggle. Auto-set by CodeGen when LLM detects geo-capable fields (address, lat/lng, etc.)."),AutoUpdateSupportsGeoCoding:booleanType().describe("\n * * Field Name: AutoUpdateSupportsGeoCoding\n * * Display Name: Auto-Update Geo-Coding\n * * SQL Data Type: bit\n * * Default Value: 1\n * * Description: When true (default), CodeGen can automatically set SupportsGeoCoding based on LLM analysis of entity fields. Set to 0 to lock the value and prevent CodeGen from changing it."),AllowCaching:booleanType().describe("\n * * Field Name: AllowCaching\n * * Display Name: Allow Caching\n * * SQL Data Type: bit\n * * Default Value: 0\n * * Description: Controls whether this entity participates in server-side and client-side caching. When false, all cache operations (PreRunView checks, auto-cache storage, BaseEntity event fingerprint scans, client-side IndexedDB cache) are skipped entirely. This column is the single source of truth at runtime; schema-level defaults are applied at CodeGen time via newEntityDefaults.AllowCachingBySchema."),DetectExternalChanges:booleanType().describe("\n * * Field Name: DetectExternalChanges\n * * Display Name: Detect External Changes\n * * SQL Data Type: bit\n * * Default Value: 0\n * * Description: When set to 1 AND TrackRecordChanges is also 1, the external change detection system will scan this entity for changes made outside the MJ framework (direct SQL, third-party tools, etc.) and replay them through Save() to create proper RecordChange audit entries. Default is 0 (opt-out) because most entities, especially __mj schema metadata tables, are managed by migrations/CodeGen and should not be scanned."),ExternalDataSourceID:stringType().nullable().describe("\n * * Field Name: ExternalDataSourceID\n * * Display Name: External Data Source ID\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: External Data Sources (vwExternalDataSources.ID)"),ExternalObjectName:stringType().nullable().describe("\n * * Field Name: ExternalObjectName\n * * Display Name: External Object Name\n * * SQL Data Type: nvarchar(255)\n * * Description: Remote object name (table / view / collection) on the external system that backs this entity. Resolved against the data source DefaultSchema/DefaultDatabase when unqualified. Only meaningful when ExternalDataSourceID is set."),CodeName:stringType().nullable().describe("\n * * Field Name: CodeName\n * * Display Name: Code Name\n * * SQL Data Type: nvarchar(MAX)\n * * Description: Schema-based programmatic code name derived from the entity Name. Uses GetClassNameSchemaPrefix(SchemaName) as the prefix, then strips EntityNamePrefix from the Name and removes spaces. For \"__mj\" schema with entity \"MJ: AI Models\", this produces \"MJAIModels\". For entities in other schemas, the sanitized schema name is prepended. Used in GraphQL type generation and internal code references."),ClassName:stringType().nullable().describe("\n * * Field Name: ClassName\n * * Display Name: Class Name\n * * SQL Data Type: nvarchar(MAX)\n * * Description: Schema-based programmatic class name used for TypeScript entity classes, Zod schemas, and Angular form components. Computed as GetProgrammaticName(GetClassNameSchemaPrefix(SchemaName) + BaseTable + NameSuffix). The prefix is derived from SchemaName (guaranteed unique by SQL Server), not from EntityNamePrefix. For the core __mj schema, the prefix is \"MJ\"; for all other schemas it is the alphanumeric-sanitized schema name. This prevents cross-schema collisions and aligns with GraphQL type naming in getGraphQLTypeNameBase()."),BaseTableCodeName:stringType().nullable().describe("\n * * Field Name: BaseTableCodeName\n * * Display Name: Base Table Code Name\n * * SQL Data Type: nvarchar(MAX)"),ParentEntity:stringType().nullable().describe("\n * * Field Name: ParentEntity\n * * Display Name: Parent Entity\n * * SQL Data Type: nvarchar(255)"),ParentBaseTable:stringType().nullable().describe("\n * * Field Name: ParentBaseTable\n * * Display Name: Parent Base Table\n * * SQL Data Type: nvarchar(255)"),ParentBaseView:stringType().nullable().describe("\n * * Field Name: ParentBaseView\n * * Display Name: Parent Base View\n * * SQL Data Type: nvarchar(255)"),CanonicalSchemaName:stringType().nullable().describe("\n * * Field Name: CanonicalSchemaName\n * * Display Name: Canonical Schema Name\n * * SQL Data Type: nvarchar(50)")});/**
|
|
64021
|
+
*/var MJEntitySchema=objectType({ID:stringType().describe("\n * * Field Name: ID\n * * Display Name: ID\n * * SQL Data Type: uniqueidentifier\n * * Default Value: newsequentialid()"),ParentID:stringType().nullable().describe("\n * * Field Name: ParentID\n * * Display Name: Parent\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Entities (vwEntities.ID)"),Name:stringType().describe("\n * * Field Name: Name\n * * Display Name: Name\n * * SQL Data Type: nvarchar(255)\n * * Description: The canonical, unique name for this entity. For entities in schemas with an EntityNamePrefix configured (e.g., \"MJ: \" for the core schema), the Name includes the prefix: \"MJ: AI Models\", \"MJ: Users\", etc. This is the value used in GetEntityObject(), RunView({ EntityName }), and @RegisterClass decorators. The DisplayName column provides the shorter, UI-friendly alternative without the prefix."),NameSuffix:stringType().nullable().describe("\n * * Field Name: NameSuffix\n * * Display Name: Name Suffix\n * * SQL Data Type: nvarchar(255)\n * * Description: Optional suffix appended to entity names for display purposes."),Description:stringType().nullable().describe("\n * * Field Name: Description\n * * Display Name: Description\n * * SQL Data Type: nvarchar(MAX)"),AutoUpdateDescription:booleanType().describe("\n * * Field Name: AutoUpdateDescription\n * * Display Name: Auto-Update Description\n * * SQL Data Type: bit\n * * Default Value: 1\n * * Description: When set to 1 (default), whenever a description is modified in the underlying view (first choice) or table (second choice), the Description column in the entity definition will be automatically updated. If you never set metadata in the database directly, you can leave this alone. However, if you have metadata set in the database level for description, and you want to provide a DIFFERENT description in this entity definition, turn this bit off and then set the Description field and future CodeGen runs will NOT override the Description field here."),BaseTable:stringType().describe("\n * * Field Name: BaseTable\n * * Display Name: Base Table\n * * SQL Data Type: nvarchar(255)\n * * Description: The underlying database table name for this entity."),BaseView:stringType().describe("\n * * Field Name: BaseView\n * * Display Name: Base View\n * * SQL Data Type: nvarchar(255)\n * * Description: The \"wrapper\" database view used for querying this entity with joins and computed fields."),BaseViewGenerated:booleanType().describe("\n * * Field Name: BaseViewGenerated\n * * Display Name: Base View Generated\n * * SQL Data Type: bit\n * * Default Value: 1\n * * Description: When set to 0, CodeGen no longer generates a base view for the entity."),SchemaName:stringType().describe("\n * * Field Name: SchemaName\n * * Display Name: Schema Name\n * * SQL Data Type: nvarchar(255)\n * * Default Value: dbo\n * * Description: Database schema containing this entity's table and view."),VirtualEntity:booleanType().describe("\n * * Field Name: VirtualEntity\n * * Display Name: Is Virtual Entity\n * * SQL Data Type: bit\n * * Default Value: 0\n * * Description: Indicates if this is a virtual entity without a physical database table."),TrackRecordChanges:booleanType().describe("\n * * Field Name: TrackRecordChanges\n * * Display Name: Track Record Changes\n * * SQL Data Type: bit\n * * Default Value: 1\n * * Description: When set to 1, changes made via the MemberJunction architecture will result in tracking records being created in the RecordChange table. In addition, when turned on CodeGen will ensure that your table has two fields: __mj_CreatedAt and __mj_UpdatedAt which are special fields used in conjunction with the RecordChange table to track changes to rows in your entity."),AuditRecordAccess:booleanType().describe("\n * * Field Name: AuditRecordAccess\n * * Display Name: Audit Record Access\n * * SQL Data Type: bit\n * * Default Value: 1\n * * Description: When set to 1, accessing a record by an end-user will result in an Audit Log record being created"),AuditViewRuns:booleanType().describe("\n * * Field Name: AuditViewRuns\n * * Display Name: Audit View Runs\n * * SQL Data Type: bit\n * * Default Value: 1\n * * Description: When set to 1, users running a view against this entity will result in an Audit Log record being created."),IncludeInAPI:booleanType().describe("\n * * Field Name: IncludeInAPI\n * * Display Name: Include In API\n * * SQL Data Type: bit\n * * Default Value: 0\n * * Description: If set to 0, the entity will not be available at all in the GraphQL API or the object model."),AllowAllRowsAPI:booleanType().describe("\n * * Field Name: AllowAllRowsAPI\n * * Display Name: Allow All Rows API\n * * SQL Data Type: bit\n * * Default Value: 0\n * * Description: If set to 1, a GraphQL query will be enabled that allows access to all rows in the entity."),AllowUpdateAPI:booleanType().describe("\n * * Field Name: AllowUpdateAPI\n * * Display Name: Allow Update API\n * * SQL Data Type: bit\n * * Default Value: 0\n * * Description: Global flag controlling if updates are allowed for any user, or not. If set to 1, a GraqhQL mutation and stored procedure are created. Permissions are still required to perform the action but if this flag is set to 0, no user will be able to perform the action."),AllowCreateAPI:booleanType().describe("\n * * Field Name: AllowCreateAPI\n * * Display Name: Allow Create API\n * * SQL Data Type: bit\n * * Default Value: 0\n * * Description: Global flag controlling if creates are allowed for any user, or not. If set to 1, a GraqhQL mutation and stored procedure are created. Permissions are still required to perform the action but if this flag is set to 0, no user will be able to perform the action."),AllowDeleteAPI:booleanType().describe("\n * * Field Name: AllowDeleteAPI\n * * Display Name: Allow Delete API\n * * SQL Data Type: bit\n * * Default Value: 0\n * * Description: Global flag controlling if deletes are allowed for any user, or not. If set to 1, a GraqhQL mutation and stored procedure are created. Permissions are still required to perform the action but if this flag is set to 0, no user will be able to perform the action."),CustomResolverAPI:booleanType().describe("\n * * Field Name: CustomResolverAPI\n * * Display Name: Custom Resolver API\n * * SQL Data Type: bit\n * * Default Value: 0\n * * Description: Set to 1 if a custom resolver has been created for the entity."),AllowUserSearchAPI:booleanType().describe("\n * * Field Name: AllowUserSearchAPI\n * * Display Name: Allow User Search API\n * * SQL Data Type: bit\n * * Default Value: 0\n * * Description: Enabling this bit will result in search being possible at the API and UI layers"),FullTextSearchEnabled:booleanType().describe("\n * * Field Name: FullTextSearchEnabled\n * * Display Name: Full-Text Search Enabled\n * * SQL Data Type: bit\n * * Default Value: 0\n * * Description: Whether full-text search indexing is enabled for this entity."),FullTextCatalog:stringType().nullable().describe("\n * * Field Name: FullTextCatalog\n * * Display Name: Full-Text Catalog\n * * SQL Data Type: nvarchar(255)\n * * Description: Name of the SQL Server full-text catalog if search is enabled."),FullTextCatalogGenerated:booleanType().describe("\n * * Field Name: FullTextCatalogGenerated\n * * Display Name: Full-Text Catalog Generated\n * * SQL Data Type: bit\n * * Default Value: 1\n * * Description: Indicates if the full-text catalog was auto-generated by CodeGen."),FullTextIndex:stringType().nullable().describe("\n * * Field Name: FullTextIndex\n * * Display Name: Full-Text Index\n * * SQL Data Type: nvarchar(255)\n * * Description: Name of the full-text index on this entity's table."),FullTextIndexGenerated:booleanType().describe("\n * * Field Name: FullTextIndexGenerated\n * * Display Name: Full-Text Index Generated\n * * SQL Data Type: bit\n * * Default Value: 1\n * * Description: Indicates if the full-text index was auto-generated by CodeGen."),FullTextSearchFunction:stringType().nullable().describe("\n * * Field Name: FullTextSearchFunction\n * * Display Name: Full-Text Search Function\n * * SQL Data Type: nvarchar(255)\n * * Description: Name of the function used for full-text searching this entity."),FullTextSearchFunctionGenerated:booleanType().describe("\n * * Field Name: FullTextSearchFunctionGenerated\n * * Display Name: Full-Text Search Function Generated\n * * SQL Data Type: bit\n * * Default Value: 1\n * * Description: Indicates if the search function was auto-generated by CodeGen."),UserViewMaxRows:numberType().nullable().describe("\n * * Field Name: UserViewMaxRows\n * * Display Name: User View Max Rows\n * * SQL Data Type: int\n * * Default Value: 1000\n * * Description: Maximum number of rows to return in user-created views for this entity."),spCreate:stringType().nullable().describe("\n * * Field Name: spCreate\n * * Display Name: Create Procedure\n * * SQL Data Type: nvarchar(255)\n * * Description: Name of the stored procedure for creating records in this entity."),spUpdate:stringType().nullable().describe("\n * * Field Name: spUpdate\n * * Display Name: Update Procedure\n * * SQL Data Type: nvarchar(255)\n * * Description: Name of the stored procedure for updating records in this entity."),spDelete:stringType().nullable().describe("\n * * Field Name: spDelete\n * * Display Name: Delete Procedure\n * * SQL Data Type: nvarchar(255)\n * * Description: Name of the stored procedure for deleting records in this entity."),spCreateGenerated:booleanType().describe("\n * * Field Name: spCreateGenerated\n * * Display Name: Create Procedure Generated\n * * SQL Data Type: bit\n * * Default Value: 1\n * * Description: Indicates if the create procedure was auto-generated by CodeGen."),spUpdateGenerated:booleanType().describe("\n * * Field Name: spUpdateGenerated\n * * Display Name: Update Procedure Generated\n * * SQL Data Type: bit\n * * Default Value: 1\n * * Description: Indicates if the update procedure was auto-generated by CodeGen."),spDeleteGenerated:booleanType().describe("\n * * Field Name: spDeleteGenerated\n * * Display Name: Delete Procedure Generated\n * * SQL Data Type: bit\n * * Default Value: 1\n * * Description: Indicates if the delete procedure was auto-generated by CodeGen."),CascadeDeletes:booleanType().describe("\n * * Field Name: CascadeDeletes\n * * Display Name: Cascade Deletes\n * * SQL Data Type: bit\n * * Default Value: 0\n * * Description: When set to 1, the deleted spDelete will pre-process deletion to related entities that have 1:M cardinality with this entity. This does not have effect if spDeleteGenerated = 0"),DeleteType:unionType([literalType('Hard'),literalType('Soft')]).describe("\n * * Field Name: DeleteType\n * * Display Name: Delete Type\n * * SQL Data Type: nvarchar(10)\n * * Default Value: Hard\n * * Value List Type: List\n * * Possible Values \n * * Hard\n * * Soft\n * * Description: Hard deletes physically remove rows from the underlying BaseTable. Soft deletes do not remove rows but instead mark the row as deleted by using the special field __mj_DeletedAt which will automatically be added to the entity's basetable by the CodeGen tool."),AllowRecordMerge:booleanType().describe("\n * * Field Name: AllowRecordMerge\n * * Display Name: Allow Record Merge\n * * SQL Data Type: bit\n * * Default Value: 0\n * * Description: This field must be turned on in order to enable merging of records for the entity. For AllowRecordMerge to be turned on, AllowDeleteAPI must be set to 1, and DeleteType must be set to Soft"),spMatch:stringType().nullable().describe("\n * * Field Name: spMatch\n * * Display Name: Match Procedure\n * * SQL Data Type: nvarchar(255)\n * * Description: When specified, this stored procedure is used to find matching records in this particular entity. The convention is to pass in the primary key(s) columns for the given entity to the procedure and the return will be zero to many rows where there is a column for each primary key field(s) and a ProbabilityScore (numeric(1,12)) column that has a 0 to 1 value of the probability of a match."),RelationshipDefaultDisplayType:unionType([literalType('Dropdown'),literalType('Search')]).describe("\n * * Field Name: RelationshipDefaultDisplayType\n * * Display Name: Default Display Type\n * * SQL Data Type: nvarchar(20)\n * * Default Value: Search\n * * Value List Type: List\n * * Possible Values \n * * Dropdown\n * * Search\n * * Description: When another entity links to this entity with a foreign key, this is the default component type that will be used in the UI. CodeGen will populate the RelatedEntityDisplayType column in the Entity Fields entity with whatever is provided here whenever a new foreign key is detected by CodeGen. The selection can be overridden on a per-foreign-key basis in each row of the Entity Fields entity."),UserFormGenerated:booleanType().describe("\n * * Field Name: UserFormGenerated\n * * Display Name: User Form Generated\n * * SQL Data Type: bit\n * * Default Value: 1\n * * Description: Indicates if the default user form was auto-generated for this entity."),EntityObjectSubclassName:stringType().nullable().describe("\n * * Field Name: EntityObjectSubclassName\n * * Display Name: Subclass Name\n * * SQL Data Type: nvarchar(255)\n * * Description: TypeScript class name for the entity subclass in the codebase."),EntityObjectSubclassImport:stringType().nullable().describe("\n * * Field Name: EntityObjectSubclassImport\n * * Display Name: Subclass Import\n * * SQL Data Type: nvarchar(255)\n * * Description: Import path for the entity subclass in the TypeScript codebase."),PreferredCommunicationField:stringType().nullable().describe("\n * * Field Name: PreferredCommunicationField\n * * Display Name: Preferred Communication Field\n * * SQL Data Type: nvarchar(255)\n * * Description: Used to specify a field within the entity that in turn contains the field name that will be used for record-level communication preferences. For example in a hypothetical entity called Contacts, say there is a field called PreferredComm and that field had possible values of Email1, SMS, and Phone, and those value in turn corresponded to field names in the entity. Each record in the Contacts entity could have a specific preference for which field would be used for communication. The MJ Communication Framework will use this information when available, as a priority ahead of the data in the Entity Communication Fields entity which is entity-level and not record-level."),Icon:stringType().nullable().describe("\n * * Field Name: Icon\n * * Display Name: Icon\n * * SQL Data Type: nvarchar(500)\n * * Description: Optional, specify an icon (CSS Class) for each entity for display in the UI"),__mj_CreatedAt:dateType().describe("\n * * Field Name: __mj_CreatedAt\n * * Display Name: Created At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),__mj_UpdatedAt:dateType().describe("\n * * Field Name: __mj_UpdatedAt\n * * Display Name: Updated At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),ScopeDefault:stringType().nullable().describe("\n * * Field Name: ScopeDefault\n * * Display Name: Default Scope\n * * SQL Data Type: nvarchar(100)\n * * Description: Optional, comma-delimited string indicating the default scope for entity visibility. Options include Users, Admins, AI, and All. Defaults to All when NULL. This is used for simple defaults for filtering entity visibility, not security enforcement."),RowsToPackWithSchema:unionType([literalType('All'),literalType('None'),literalType('Sample')]).describe("\n * * Field Name: RowsToPackWithSchema\n * * Display Name: Rows To Pack With Schema\n * * SQL Data Type: nvarchar(20)\n * * Default Value: None\n * * Value List Type: List\n * * Possible Values \n * * All\n * * None\n * * Sample\n * * Description: Determines how entity rows should be packaged for external use. Options include None, Sample, and All. Defaults to None."),RowsToPackSampleMethod:unionType([literalType('bottom n'),literalType('random'),literalType('top n')]).describe("\n * * Field Name: RowsToPackSampleMethod\n * * Display Name: Rows To Pack Sample Method\n * * SQL Data Type: nvarchar(20)\n * * Default Value: random\n * * Value List Type: List\n * * Possible Values \n * * bottom n\n * * random\n * * top n\n * * Description: Defines the sampling method for row packing when RowsToPackWithSchema is set to Sample. Options include random, top n, and bottom n. Defaults to random."),RowsToPackSampleCount:numberType().describe("\n * * Field Name: RowsToPackSampleCount\n * * Display Name: Rows To Pack Sample Count\n * * SQL Data Type: int\n * * Default Value: 0\n * * Description: The number of rows to pack when RowsToPackWithSchema is set to Sample, based on the designated sampling method. Defaults to 0."),RowsToPackSampleOrder:stringType().nullable().describe("\n * * Field Name: RowsToPackSampleOrder\n * * Display Name: Rows To Pack Sample Order\n * * SQL Data Type: nvarchar(MAX)\n * * Description: An optional ORDER BY clause for row packing when RowsToPackWithSchema is set to Sample. Allows custom ordering for selected entity data when using top n and bottom n."),AutoRowCountFrequency:numberType().nullable().describe("\n * * Field Name: AutoRowCountFrequency\n * * Display Name: Auto Row Count Frequency\n * * SQL Data Type: int\n * * Description: Frequency in hours for automatically performing row counts on this entity. If NULL, automatic row counting is disabled. If greater than 0, schedules recurring SELECT COUNT(*) queries at the specified interval."),RowCount:numberType().nullable().describe("\n * * Field Name: RowCount\n * * Display Name: Row Count\n * * SQL Data Type: bigint\n * * Description: Cached row count for this entity, populated by automatic row count processes when AutoRowCountFrequency is configured."),RowCountRunAt:dateType().nullable().describe("\n * * Field Name: RowCountRunAt\n * * Display Name: Row Count Run At\n * * SQL Data Type: datetimeoffset\n * * Description: Timestamp indicating when the last automatic row count was performed for this entity."),Status:unionType([literalType('Active'),literalType('Deprecated'),literalType('Disabled')]).describe("\n * * Field Name: Status\n * * Display Name: Status\n * * SQL Data Type: nvarchar(25)\n * * Default Value: Active\n * * Value List Type: List\n * * Possible Values \n * * Active\n * * Deprecated\n * * Disabled\n * * Description: Status of the entity. Active: fully functional; Deprecated: functional but generates console warnings when used; Disabled: not available for use even though metadata and physical table remain."),DisplayName:stringType().nullable().describe("\n * * Field Name: DisplayName\n * * Display Name: Display Name\n * * SQL Data Type: nvarchar(255)\n * * Description: User-friendly display name shown in the Explorer UI and other interfaces. When set, this is used instead of the entity Name for display purposes. Typically contains the entity name without the schema prefix \u2014 e.g., \"AI Models\" when Name is \"MJ: AI Models\". If NULL, the UI falls back to using the full Name."),AllowMultipleSubtypes:booleanType().describe("\n * * Field Name: AllowMultipleSubtypes\n * * Display Name: Allow Multiple Subtypes\n * * SQL Data Type: bit\n * * Default Value: 0\n * * Description: When false (default), child types are disjoint - a record can only be one child type at a time. When true, a record can simultaneously exist as multiple child types (e.g., a Person can be both a Member and a Volunteer)."),AutoUpdateFullTextSearch:booleanType().describe("\n * * Field Name: AutoUpdateFullTextSearch\n * * Display Name: Auto-Update Full-Text Search\n * * SQL Data Type: bit\n * * Default Value: 1\n * * Description: When true, CodeGen LLM can auto-configure full-text search settings (FullTextSearchEnabled, catalog, index, function) during code generation runs."),AutoUpdateAllowUserSearchAPI:booleanType().describe("\n * * Field Name: AutoUpdateAllowUserSearchAPI\n * * Display Name: Auto-Update Search API\n * * SQL Data Type: bit\n * * Default Value: 1\n * * Description: When true, CodeGen LLM can auto-set AllowUserSearchAPI during code generation runs."),TrustServerCacheCompletely:booleanType().describe("\n * * Field Name: TrustServerCacheCompletely\n * * Display Name: Trust Server Cache Completely\n * * SQL Data Type: bit\n * * Default Value: 1\n * * Description: When true (default), the server-side RunView cache will store and return cached results for this entity, trusting that all mutations flow through BaseEntity.Save() which fires cache invalidation events. Set to false for entities whose rows are created as side-effects of other operations via raw SQL (e.g., Record Changes created by spCreateRecordChange_Internal), since those inserts bypass BaseEntity and never trigger cache invalidation."),SupportsGeoCoding:booleanType().describe("\n * * Field Name: SupportsGeoCoding\n * * Display Name: Supports Geo-Coding\n * * SQL Data Type: bit\n * * Default Value: 0\n * * Description: When true, CodeGen generates geo-aware subclass code, adds __mj_Latitude/__mj_Longitude virtual fields to the base view, and the UI shows a map view toggle. Auto-set by CodeGen when LLM detects geo-capable fields (address, lat/lng, etc.)."),AutoUpdateSupportsGeoCoding:booleanType().describe("\n * * Field Name: AutoUpdateSupportsGeoCoding\n * * Display Name: Auto-Update Geo-Coding\n * * SQL Data Type: bit\n * * Default Value: 1\n * * Description: When true (default), CodeGen can automatically set SupportsGeoCoding based on LLM analysis of entity fields. Set to 0 to lock the value and prevent CodeGen from changing it."),AllowCaching:booleanType().describe("\n * * Field Name: AllowCaching\n * * Display Name: Allow Caching\n * * SQL Data Type: bit\n * * Default Value: 0\n * * Description: Controls whether this entity participates in server-side and client-side caching. When false, all cache operations (PreRunView checks, auto-cache storage, BaseEntity event fingerprint scans, client-side IndexedDB cache) are skipped entirely. This column is the single source of truth at runtime; schema-level defaults are applied at CodeGen time via newEntityDefaults.AllowCachingBySchema."),DetectExternalChanges:booleanType().describe("\n * * Field Name: DetectExternalChanges\n * * Display Name: Detect External Changes\n * * SQL Data Type: bit\n * * Default Value: 0\n * * Description: When set to 1 AND TrackRecordChanges is also 1, the external change detection system will scan this entity for changes made outside the MJ framework (direct SQL, third-party tools, etc.) and replay them through Save() to create proper RecordChange audit entries. Default is 0 (opt-out) because most entities, especially __mj schema metadata tables, are managed by migrations/CodeGen and should not be scanned."),ExternalDataSourceID:stringType().nullable().describe("\n * * Field Name: ExternalDataSourceID\n * * Display Name: External Data Source\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: External Data Sources (vwExternalDataSources.ID)"),ExternalObjectName:stringType().nullable().describe("\n * * Field Name: ExternalObjectName\n * * Display Name: External Object Name\n * * SQL Data Type: nvarchar(255)\n * * Description: Remote object name (table / view / collection) on the external system that backs this entity. Resolved against the data source DefaultSchema/DefaultDatabase when unqualified. Only meaningful when ExternalDataSourceID is set."),GeneratedBaseViewName:stringType().nullable().describe("\n * * Field Name: GeneratedBaseViewName\n * * Display Name: Generated Base View Name\n * * SQL Data Type: nvarchar(255)\n * * Description: When set, CodeGen generates the entity's full base view under THIS name instead of BaseView, and the application owns BaseView \u2014 which is expected to wrap it (SELECT g.*, <extras> FROM <GeneratedBaseViewName> g). This gives an entity a custom base view WITHOUT inheriting the generated SQL: related-entity display joins, geo columns and recursive root-ID columns keep regenerating underneath, so a foreign key added later still appears. NULL (the default, and every pre-existing row) means the previous all-or-nothing behaviour: BaseViewGenerated alone decides whether CodeGen writes BaseView, and there is no second view. BaseView remains the public surface \u2014 entity field discovery, permissions and the generated CRUD procedures all target it. SQL SERVER ONLY: layering relies on sp_refreshview to re-resolve the application-owned outer view's SELECT * against a regenerated inner view. PostgreSQL freezes a view's column list at creation and has no refresh equivalent, so CodeGen rejects this column on PostgreSQL rather than let the outer view go silently stale."),AllowDirectSQLInsert:booleanType().describe("\n * * Field Name: AllowDirectSQLInsert\n * * Display Name: Allow Direct SQL Insert\n * * SQL Data Type: bit\n * * Default Value: 0\n * * Description: When 1, this entity may be populated by INSERT statements that do not go through BaseEntity.Save() \u2014 bulk loads, ETL/integration sync, or rows created as a side effect of a stored procedure. Default 0, meaning every insert is expected to flow through BaseEntity so that record-change tracking, entity actions, validation and cache invalidation all run. This column DECLARES intent for the code paths and tooling that consult it; it does not and cannot prevent anyone from executing SQL. Requires TrackRecordChanges = 0 and TrustServerCacheCompletely = 0, because a direct insert produces neither an audit row nor a cache-invalidation event."),AllowDirectSQLUpdate:booleanType().describe("\n * * Field Name: AllowDirectSQLUpdate\n * * Display Name: Allow Direct SQL Update\n * * SQL Data Type: bit\n * * Default Value: 0\n * * Description: When 1, this entity may be modified by UPDATE statements that do not go through BaseEntity.Save() \u2014 bulk backfills, integration sync, or maintenance routines. Default 0, meaning every update is expected to flow through BaseEntity so that record-change tracking, entity actions, validation and cache invalidation all run. This column DECLARES intent for the code paths and tooling that consult it; it does not and cannot prevent anyone from executing SQL. Requires TrackRecordChanges = 0 and TrustServerCacheCompletely = 0, because a direct update produces neither an audit row nor a cache-invalidation event."),AllowDirectSQLDelete:booleanType().describe("\n * * Field Name: AllowDirectSQLDelete\n * * Display Name: Allow Direct SQL Delete\n * * SQL Data Type: bit\n * * Default Value: 0\n * * Description: When 1, this entity may have rows removed by DELETE statements that do not go through BaseEntity.Delete() \u2014 purge and retention routines, or integration sync reconciling a remote source. Default 0, meaning every delete is expected to flow through BaseEntity so that record-change tracking, entity actions, cascade handling and cache invalidation all run. This column DECLARES intent for the code paths and tooling that consult it; it does not and cannot prevent anyone from executing SQL. Requires TrackRecordChanges = 0 and TrustServerCacheCompletely = 0, and additionally requires DeleteType = 'Hard' \u2014 a direct DELETE removes the row outright rather than setting DeletedAt, which would defeat soft delete."),CodeName:stringType().nullable().describe("\n * * Field Name: CodeName\n * * Display Name: Code Name\n * * SQL Data Type: nvarchar(MAX)\n * * Description: Schema-based programmatic code name derived from the entity Name. Uses GetClassNameSchemaPrefix(SchemaName) as the prefix, then strips EntityNamePrefix from the Name and removes spaces. For \"__mj\" schema with entity \"MJ: AI Models\", this produces \"MJAIModels\". For entities in other schemas, the sanitized schema name is prepended. Used in GraphQL type generation and internal code references."),ClassName:stringType().nullable().describe("\n * * Field Name: ClassName\n * * Display Name: Class Name\n * * SQL Data Type: nvarchar(MAX)\n * * Description: Schema-based programmatic class name used for TypeScript entity classes, Zod schemas, and Angular form components. Computed as GetProgrammaticName(GetClassNameSchemaPrefix(SchemaName) + BaseTable + NameSuffix). The prefix is derived from SchemaName (guaranteed unique by SQL Server), not from EntityNamePrefix. For the core __mj schema, the prefix is \"MJ\"; for all other schemas it is the alphanumeric-sanitized schema name. This prevents cross-schema collisions and aligns with GraphQL type naming in getGraphQLTypeNameBase()."),BaseTableCodeName:stringType().nullable().describe("\n * * Field Name: BaseTableCodeName\n * * Display Name: Base Table Code Name\n * * SQL Data Type: nvarchar(MAX)"),ParentEntity:stringType().nullable().describe("\n * * Field Name: ParentEntity\n * * Display Name: Parent Entity\n * * SQL Data Type: nvarchar(255)"),ParentBaseTable:stringType().nullable().describe("\n * * Field Name: ParentBaseTable\n * * Display Name: Parent Base Table\n * * SQL Data Type: nvarchar(255)"),ParentBaseView:stringType().nullable().describe("\n * * Field Name: ParentBaseView\n * * Display Name: Parent Base View\n * * SQL Data Type: nvarchar(255)"),CanonicalSchemaName:stringType().nullable().describe("\n * * Field Name: CanonicalSchemaName\n * * Display Name: Canonical Schema Name\n * * SQL Data Type: nvarchar(50)")});/**
|
|
63676
64022
|
* zod schema definition for the entity MJ: Entity Action Filters
|
|
63677
64023
|
*/var MJEntityActionFilterSchema=objectType({ID:stringType().describe("\n * * Field Name: ID\n * * Display Name: ID\n * * SQL Data Type: uniqueidentifier\n * * Default Value: newsequentialid()"),EntityActionID:stringType().describe("\n * * Field Name: EntityActionID\n * * Display Name: Entity Action\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Entity Actions (vwEntityActions.ID)"),ActionFilterID:stringType().describe("\n * * Field Name: ActionFilterID\n * * Display Name: Action Filter\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Action Filters (vwActionFilters.ID)"),Sequence:numberType().describe("\n * * Field Name: Sequence\n * * Display Name: Sequence\n * * SQL Data Type: int\n * * Description: Order of filter execution."),Status:unionType([literalType('Active'),literalType('Disabled'),literalType('Pending')]).describe("\n * * Field Name: Status\n * * Display Name: Status\n * * SQL Data Type: nvarchar(20)\n * * Default Value: Pending\n * * Value List Type: List\n * * Possible Values \n * * Active\n * * Disabled\n * * Pending\n * * Description: Status of the entity action filter (Pending, Active, Disabled)."),__mj_CreatedAt:dateType().describe("\n * * Field Name: __mj_CreatedAt\n * * Display Name: Created At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),__mj_UpdatedAt:dateType().describe("\n * * Field Name: __mj_UpdatedAt\n * * Display Name: Updated At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),EntityAction:stringType().describe("\n * * Field Name: EntityAction\n * * Display Name: Entity Action Name\n * * SQL Data Type: nvarchar(425)"),ActionFilter:stringType().describe("\n * * Field Name: ActionFilter\n * * Display Name: Action Filter Name\n * * SQL Data Type: nvarchar(MAX)")});/**
|
|
63678
64024
|
* zod schema definition for the entity MJ: Entity Action Invocation Types
|
|
@@ -63680,9 +64026,9 @@ function _regenerator(){/*! regenerator-runtime -- Copyright (c) 2014-present, F
|
|
|
63680
64026
|
* zod schema definition for the entity MJ: Entity Action Invocations
|
|
63681
64027
|
*/var MJEntityActionInvocationSchema=objectType({ID:stringType().describe("\n * * Field Name: ID\n * * Display Name: ID\n * * SQL Data Type: uniqueidentifier\n * * Default Value: newsequentialid()"),EntityActionID:stringType().describe("\n * * Field Name: EntityActionID\n * * Display Name: Entity Action\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Entity Actions (vwEntityActions.ID)"),InvocationTypeID:stringType().describe("\n * * Field Name: InvocationTypeID\n * * Display Name: Invocation Type\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Entity Action Invocation Types (vwEntityActionInvocationTypes.ID)"),Status:unionType([literalType('Active'),literalType('Disabled'),literalType('Pending')]).describe("\n * * Field Name: Status\n * * Display Name: Status\n * * SQL Data Type: nvarchar(20)\n * * Default Value: Pending\n * * Value List Type: List\n * * Possible Values \n * * Active\n * * Disabled\n * * Pending\n * * Description: Status of the entity action invocation (Pending, Active, Disabled)."),__mj_CreatedAt:dateType().describe("\n * * Field Name: __mj_CreatedAt\n * * Display Name: Created At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),__mj_UpdatedAt:dateType().describe("\n * * Field Name: __mj_UpdatedAt\n * * Display Name: Updated At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),RuntimeUXDriverClass:stringType().nullable().describe("\n * * Field Name: RuntimeUXDriverClass\n * * Display Name: Runtime UX Driver Class\n * * SQL Data Type: nvarchar(255)\n * * Description: Optional class name of a registered runtime-UX driver component (a BaseEntityActionRuntimeUX subclass resolved via MJGlobal.ClassFactory) that owns this invocation's interaction \u2014 parameter collection, dry-run preview, confirmation, and progress. NULL invokes the action directly with no custom UX. This lets any action opt into a richer, reusable runtime experience while the grid/toolbar stays operation-agnostic."),EntityAction:stringType().describe("\n * * Field Name: EntityAction\n * * Display Name: Entity Action Name\n * * SQL Data Type: nvarchar(425)"),InvocationType:stringType().describe("\n * * Field Name: InvocationType\n * * Display Name: Invocation Type Name\n * * SQL Data Type: nvarchar(255)")});/**
|
|
63682
64028
|
* zod schema definition for the entity MJ: Entity Action Params
|
|
63683
|
-
*/var MJEntityActionParamSchema=objectType({ID:stringType().describe("\n * * Field Name: ID\n * * Display Name: ID\n * * SQL Data Type: uniqueidentifier\n * * Default Value: newsequentialid()"),EntityActionID:stringType().describe("\n * * Field Name: EntityActionID\n * * Display Name: Entity Action ID\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Entity Actions (vwEntityActions.ID)"),ActionParamID:stringType().describe("\n * * Field Name: ActionParamID\n * * Display Name: Action Parameter ID\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Action Params (vwActionParams.ID)"),ValueType:unionType([literalType('Entity Field'),literalType('Entity Object'),literalType('Script'),literalType('Static')]).describe("\n * * Field Name: ValueType\n * * Display Name: Value Type\n * * SQL Data Type: nvarchar(20)\n * * Value List Type: List\n * * Possible Values \n * * Entity Field\n * * Entity Object\n * * Script\n * * Static\n * * Description:
|
|
64029
|
+
*/var MJEntityActionParamSchema=objectType({ID:stringType().describe("\n * * Field Name: ID\n * * Display Name: ID\n * * SQL Data Type: uniqueidentifier\n * * Default Value: newsequentialid()"),EntityActionID:stringType().describe("\n * * Field Name: EntityActionID\n * * Display Name: Entity Action ID\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Entity Actions (vwEntityActions.ID)"),ActionParamID:stringType().describe("\n * * Field Name: ActionParamID\n * * Display Name: Action Parameter ID\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Action Params (vwActionParams.ID)"),ValueType:unionType([literalType('Entity Field'),literalType('Entity Object'),literalType('Entity Object Data'),literalType('Script'),literalType('Static')]).describe("\n * * Field Name: ValueType\n * * Display Name: Value Type\n * * SQL Data Type: nvarchar(20)\n * * Value List Type: List\n * * Possible Values \n * * Entity Field\n * * Entity Object\n * * Entity Object Data\n * * Script\n * * Static\n * * Description: How the parameter value is produced at invocation time. Static = the literal Value (parsed as JSON when it parses). Entity Object = the live BaseEntity instance, for actions that call entity methods. Entity Object Data = entity.GetAll(), a plain object - use this for any action that SERIALIZES the value, such as the Data payload of Execute Agent, because a BaseEntity serializes to {} (its fields are getters, not enumerable own properties). Entity Field = the named field's value. Script = evaluated expression with the entity in scope."),Value:stringType().nullable().describe("\n * * Field Name: Value\n * * Display Name: Value\n * * SQL Data Type: nvarchar(MAX)\n * * Description: Value of the parameter, used only when ValueType is Static or Script. When value is Script, any valid JavaScript code can be provided. The script will have access to an object called EntityActionContext. This object will have a property called EntityObject on it that will contain the BaseEntity derived sub-class with the current data for the entity object this action is operating against. The script must provide the parameter value to the EntityActionContext.result property. This scripting capabilty is designed for very small and simple code, for anything of meaningful complexity, create a sub-class instead."),Comments:stringType().nullable().describe("\n * * Field Name: Comments\n * * Display Name: Comments\n * * SQL Data Type: nvarchar(MAX)\n * * Description: Additional comments regarding the parameter."),__mj_CreatedAt:dateType().describe("\n * * Field Name: __mj_CreatedAt\n * * Display Name: Created At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),__mj_UpdatedAt:dateType().describe("\n * * Field Name: __mj_UpdatedAt\n * * Display Name: Updated At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),LogValue:booleanType().nullable().describe("\n * * Field Name: LogValue\n * * Display Name: Log Value\n * * SQL Data Type: bit\n * * Description: Optional per-binding override of ActionParam.LogValue. NULL (the default) inherits the parameter definition. Set to 0 when this particular binding passes something sensitive through a parameter that is ordinarily safe to log - a message body through a generic Text parameter, for instance. Cannot re-enable logging for a value type the hard rule suppresses."),EntityAction:stringType().describe("\n * * Field Name: EntityAction\n * * Display Name: Entity Action\n * * SQL Data Type: nvarchar(425)"),ActionParam:stringType().describe("\n * * Field Name: ActionParam\n * * Display Name: Action Parameter\n * * SQL Data Type: nvarchar(255)")});/**
|
|
63684
64030
|
* zod schema definition for the entity MJ: Entity Actions
|
|
63685
|
-
*/var MJEntityActionSchema=objectType({EntityID:stringType().describe("\n * * Field Name: EntityID\n * * Display Name: Entity ID\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Entities (vwEntities.ID)"),ActionID:stringType().describe("\n * * Field Name: ActionID\n * * Display Name: Action ID\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Actions (vwActions.ID)"),Status:unionType([literalType('Active'),literalType('Disabled'),literalType('Pending')]).describe("\n * * Field Name: Status\n * * Display Name: Status\n * * SQL Data Type: nvarchar(20)\n * * Default Value: Pending\n * * Value List Type: List\n * * Possible Values \n * * Active\n * * Disabled\n * * Pending\n * * Description: Status of the entity action (Pending, Active, Disabled)."),__mj_CreatedAt:dateType().describe("\n * * Field Name: __mj_CreatedAt\n * * Display Name: __mj _Created At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),__mj_UpdatedAt:dateType().describe("\n * * Field Name: __mj_UpdatedAt\n * * Display Name: __mj _Updated At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),ID:stringType().describe("\n * * Field Name: ID\n * * Display Name: ID\n * * SQL Data Type: uniqueidentifier\n * * Default Value: newsequentialid()"),Entity:stringType().describe("\n * * Field Name: Entity\n * * Display Name: Entity\n * * SQL Data Type: nvarchar(255)"),Action:stringType().describe("\n * * Field Name: Action\n * * Display Name: Action\n * * SQL Data Type: nvarchar(425)")});/**
|
|
64031
|
+
*/var MJEntityActionSchema=objectType({EntityID:stringType().describe("\n * * Field Name: EntityID\n * * Display Name: Entity ID\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Entities (vwEntities.ID)"),ActionID:stringType().describe("\n * * Field Name: ActionID\n * * Display Name: Action ID\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Actions (vwActions.ID)"),Status:unionType([literalType('Active'),literalType('Disabled'),literalType('Pending')]).describe("\n * * Field Name: Status\n * * Display Name: Status\n * * SQL Data Type: nvarchar(20)\n * * Default Value: Pending\n * * Value List Type: List\n * * Possible Values \n * * Active\n * * Disabled\n * * Pending\n * * Description: Status of the entity action (Pending, Active, Disabled)."),__mj_CreatedAt:dateType().describe("\n * * Field Name: __mj_CreatedAt\n * * Display Name: __mj _Created At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),__mj_UpdatedAt:dateType().describe("\n * * Field Name: __mj_UpdatedAt\n * * Display Name: __mj _Updated At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),ID:stringType().describe("\n * * Field Name: ID\n * * Display Name: ID\n * * SQL Data Type: uniqueidentifier\n * * Default Value: newsequentialid()"),Sequence:numberType().describe("\n * * Field Name: Sequence\n * * Display Name: Sequence\n * * SQL Data Type: int\n * * Default Value: 0\n * * Description: Execution order when multiple Entity Actions are bound to the same entity and invocation type. Lower runs first; ties fall back to creation order. Defaults to 0 so existing rows are unaffected."),ScopeEntityID:stringType().nullable().describe("\n * * Field Name: ScopeEntityID\n * * Display Name: Scope Entity ID\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Entities (vwEntities.ID)\n * * Description: Optional. Together with ScopeRecordID, narrows this Entity Action to records related to ONE specific record - for example a single Deal Type, Contract Type, Pipeline or Company - rather than every record of EntityID. NULL (the default) means the action applies to all records, which is the pre-existing behaviour. How a scope record relates to the subject record is resolved by the app that owns the scope entity; the framework only stores and filters on the pair."),ScopeRecordID:stringType().nullable().describe("\n * * Field Name: ScopeRecordID\n * * Display Name: Scope Record ID\n * * SQL Data Type: nvarchar(450)\n * * Description: Optional. The primary key of the scope record, as text, paired with ScopeEntityID. Both columns are NULL or both are set (CK_EntityAction_Scope). Lets a configuration record such as a Deal Type surface \"the workflows bound to me\" as a real relationship rather than something buried in filter code."),LoggingMode:unionType([literalType('All'),literalType('FailuresOnly'),literalType('None')]).describe("\n * * Field Name: LoggingMode\n * * Display Name: Logging Mode\n * * SQL Data Type: nvarchar(20)\n * * Default Value: All\n * * Value List Type: List\n * * Possible Values \n * * All\n * * FailuresOnly\n * * None\n * * Description: How much of this binding's activity reaches ActionExecutionLog. All (default) writes a row per invocation. FailuresOnly writes only runs that did not succeed - the right setting for a high-frequency binding on a busy entity, where the successful runs are noise. None disables logging for the binding entirely and should be rare, because it also removes the failure record."),Entity:stringType().describe("\n * * Field Name: Entity\n * * Display Name: Entity\n * * SQL Data Type: nvarchar(255)"),Action:stringType().describe("\n * * Field Name: Action\n * * Display Name: Action\n * * SQL Data Type: nvarchar(425)"),ScopeEntity:stringType().nullable().describe("\n * * Field Name: ScopeEntity\n * * Display Name: Scope Entity\n * * SQL Data Type: nvarchar(255)")});/**
|
|
63686
64032
|
* zod schema definition for the entity MJ: Entity AI Actions
|
|
63687
64033
|
*/var MJEntityAIActionSchema=objectType({ID:stringType().describe("\n * * Field Name: ID\n * * Display Name: ID\n * * SQL Data Type: uniqueidentifier\n * * Default Value: newsequentialid()"),EntityID:stringType().describe("\n * * Field Name: EntityID\n * * Display Name: Entity ID\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Entities (vwEntities.ID)"),AIModelID:stringType().describe("\n * * Field Name: AIModelID\n * * Display Name: AI Model ID\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: AI Models (vwAIModels.ID)"),AIActionID:stringType().describe("\n * * Field Name: AIActionID\n * * Display Name: AI Action ID\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: AI Actions (vwAIActions.ID)"),Name:stringType().describe("\n * * Field Name: Name\n * * Display Name: Name\n * * SQL Data Type: nvarchar(255)"),Prompt:stringType().nullable().describe("\n * * Field Name: Prompt\n * * Display Name: Prompt\n * * SQL Data Type: nvarchar(MAX)\n * * Description: The AI prompt template used when this action is triggered by entity changes."),TriggerEvent:unionType([literalType('after save'),literalType('before save')]).describe("\n * * Field Name: TriggerEvent\n * * Display Name: Trigger Event\n * * SQL Data Type: nchar(15)\n * * Default Value: After Save\n * * Value List Type: List\n * * Possible Values \n * * after save\n * * before save\n * * Description: The entity event that triggers this AI action (After Save, Before Delete, etc.)."),UserMessage:stringType().describe("\n * * Field Name: UserMessage\n * * Display Name: User Message\n * * SQL Data Type: nvarchar(MAX)\n * * Description: Message shown to users when this AI action is executed."),OutputType:unionType([literalType('entity'),literalType('field')]).describe("\n * * Field Name: OutputType\n * * Display Name: Output Type\n * * SQL Data Type: nchar(10)\n * * Default Value: FIeld\n * * Value List Type: List\n * * Possible Values \n * * entity\n * * field\n * * Description: Where the AI output should be stored (Field, Message, File)."),OutputField:stringType().nullable().describe("\n * * Field Name: OutputField\n * * Display Name: Output Field\n * * SQL Data Type: nvarchar(50)\n * * Description: The field name where AI output should be stored if OutputType is Field."),SkipIfOutputFieldNotEmpty:booleanType().describe("\n * * Field Name: SkipIfOutputFieldNotEmpty\n * * Display Name: Skip If Output Field Not Empty\n * * SQL Data Type: bit\n * * Default Value: 1\n * * Description: Whether to skip AI processing if the output field already contains data."),OutputEntityID:stringType().nullable().describe("\n * * Field Name: OutputEntityID\n * * Display Name: Output Entity ID\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Entities (vwEntities.ID)"),Comments:stringType().nullable().describe("\n * * Field Name: Comments\n * * Display Name: Comments\n * * SQL Data Type: nvarchar(MAX)"),__mj_CreatedAt:dateType().describe("\n * * Field Name: __mj_CreatedAt\n * * Display Name: __mj _Created At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),__mj_UpdatedAt:dateType().describe("\n * * Field Name: __mj_UpdatedAt\n * * Display Name: __mj _Updated At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),Entity:stringType().describe("\n * * Field Name: Entity\n * * Display Name: Entity\n * * SQL Data Type: nvarchar(255)"),AIModel:stringType().describe("\n * * Field Name: AIModel\n * * Display Name: AIModel\n * * SQL Data Type: nvarchar(50)"),AIAction:stringType().describe("\n * * Field Name: AIAction\n * * Display Name: AIAction\n * * SQL Data Type: nvarchar(50)"),OutputEntity:stringType().nullable().describe("\n * * Field Name: OutputEntity\n * * Display Name: Output Entity\n * * SQL Data Type: nvarchar(255)")});/**
|
|
63688
64034
|
* zod schema definition for the entity MJ: Entity Communication Fields
|
|
@@ -64050,7 +64396,7 @@ function _regenerator(){/*! regenerator-runtime -- Copyright (c) 2014-present, F
|
|
|
64050
64396
|
* zod schema definition for the entity MJ: User View Categories
|
|
64051
64397
|
*/var MJUserViewCategorySchema=objectType({ID:stringType().describe("\n * * Field Name: ID\n * * Display Name: ID\n * * SQL Data Type: uniqueidentifier\n * * Default Value: newsequentialid()"),Name:stringType().describe("\n * * Field Name: Name\n * * Display Name: Name\n * * SQL Data Type: nvarchar(100)"),Description:stringType().nullable().describe("\n * * Field Name: Description\n * * Display Name: Description\n * * SQL Data Type: nvarchar(MAX)"),ParentID:stringType().nullable().describe("\n * * Field Name: ParentID\n * * Display Name: Parent ID\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: User View Categories (vwUserViewCategories.ID)"),EntityID:stringType().describe("\n * * Field Name: EntityID\n * * Display Name: Entity ID\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Entities (vwEntities.ID)"),UserID:stringType().describe("\n * * Field Name: UserID\n * * Display Name: User ID\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Users (vwUsers.ID)"),__mj_CreatedAt:dateType().describe("\n * * Field Name: __mj_CreatedAt\n * * Display Name: Created At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),__mj_UpdatedAt:dateType().describe("\n * * Field Name: __mj_UpdatedAt\n * * Display Name: Updated At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),Parent:stringType().nullable().describe("\n * * Field Name: Parent\n * * Display Name: Parent\n * * SQL Data Type: nvarchar(100)"),Entity:stringType().describe("\n * * Field Name: Entity\n * * Display Name: Entity\n * * SQL Data Type: nvarchar(255)"),User:stringType().describe("\n * * Field Name: User\n * * Display Name: User\n * * SQL Data Type: nvarchar(100)"),RootParentID:stringType().nullable().describe("\n * * Field Name: RootParentID\n * * Display Name: Root Parent ID\n * * SQL Data Type: uniqueidentifier")});/**
|
|
64052
64398
|
* zod schema definition for the entity MJ: User View Run Details
|
|
64053
|
-
*/var MJUserViewRunDetailSchema=objectType({ID:stringType().describe("\n * * Field Name: ID\n * * SQL Data Type: uniqueidentifier\n * * Default Value: newsequentialid()"),UserViewRunID:stringType().describe("\n * * Field Name: UserViewRunID\n * * Display Name: User View Run
|
|
64399
|
+
*/var MJUserViewRunDetailSchema=objectType({ID:stringType().describe("\n * * Field Name: ID\n * * Display Name: ID\n * * SQL Data Type: uniqueidentifier\n * * Default Value: newsequentialid()"),UserViewRunID:stringType().describe("\n * * Field Name: UserViewRunID\n * * Display Name: User View Run\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: User View Runs (vwUserViewRuns.ID)"),RecordID:stringType().describe("\n * * Field Name: RecordID\n * * Display Name: Record\n * * SQL Data Type: nvarchar(450)\n * * Description: Field RecordID for entity User View Run Details."),__mj_CreatedAt:dateType().describe("\n * * Field Name: __mj_CreatedAt\n * * Display Name: Created At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),__mj_UpdatedAt:dateType().describe("\n * * Field Name: __mj_UpdatedAt\n * * Display Name: Updated At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),UserViewRun:stringType().describe("\n * * Field Name: UserViewRun\n * * Display Name: User View Run Name\n * * SQL Data Type: nvarchar(100)"),UserViewID:stringType().describe("\n * * Field Name: UserViewID\n * * Display Name: User View\n * * SQL Data Type: uniqueidentifier"),EntityID:stringType().describe("\n * * Field Name: EntityID\n * * Display Name: Entity\n * * SQL Data Type: uniqueidentifier")});/**
|
|
64054
64400
|
* zod schema definition for the entity MJ: User View Runs
|
|
64055
64401
|
*/var MJUserViewRunSchema=objectType({ID:stringType().describe("\n * * Field Name: ID\n * * Display Name: ID\n * * SQL Data Type: uniqueidentifier\n * * Default Value: newsequentialid()"),UserViewID:stringType().describe("\n * * Field Name: UserViewID\n * * Display Name: User View\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: User Views (vwUserViews.ID)"),RunAt:dateType().describe("\n * * Field Name: RunAt\n * * Display Name: Run At\n * * SQL Data Type: datetimeoffset\n * * Description: Timestamp when the view was executed."),RunByUserID:stringType().describe("\n * * Field Name: RunByUserID\n * * Display Name: Run By User\n * * SQL Data Type: uniqueidentifier\n * * Related Entity/Foreign Key: MJ: Users (vwUsers.ID)"),__mj_CreatedAt:dateType().describe("\n * * Field Name: __mj_CreatedAt\n * * Display Name: Created At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),__mj_UpdatedAt:dateType().describe("\n * * Field Name: __mj_UpdatedAt\n * * Display Name: Updated At\n * * SQL Data Type: datetimeoffset\n * * Default Value: getutcdate()"),UserView:stringType().describe("\n * * Field Name: UserView\n * * Display Name: User View\n * * SQL Data Type: nvarchar(100)"),RunByUser:stringType().describe("\n * * Field Name: RunByUser\n * * Display Name: Run By User\n * * SQL Data Type: nvarchar(100)")});/**
|
|
64056
64402
|
* zod schema definition for the entity MJ: User Views
|
|
@@ -64468,7 +64814,7 @@ function _regenerator(){/*! regenerator-runtime -- Copyright (c) 2014-present, F
|
|
|
64468
64814
|
* * Field Name: Params
|
|
64469
64815
|
* * Display Name: Params
|
|
64470
64816
|
* * SQL Data Type: nvarchar(MAX)
|
|
64471
|
-
* * Description: JSON-formatted input parameters
|
|
64817
|
+
* * Description: JSON-formatted input parameters AS THE ACTION WAS CALLED, captured once when execution starts and never overwritten. Custom and Generated actions mutate their parameter array in place, so this is the only durable record of the values actually passed in; the final state lives in ResultParams. Parameter values may be redacted per ActionParam.LogValue / EntityActionParam.LogValue, and whole-record value types are never written - see the parameter's own documentation.
|
|
64472
64818
|
*/},{key:"Params",get:function get(){return this.Get('Params');},set:function set(value){this.Set('Params',value);}/**
|
|
64473
64819
|
* * Field Name: ResultCode
|
|
64474
64820
|
* * Display Name: Result Code
|
|
@@ -64498,8 +64844,36 @@ function _regenerator(){/*! regenerator-runtime -- Copyright (c) 2014-present, F
|
|
|
64498
64844
|
* * Field Name: Message
|
|
64499
64845
|
* * Display Name: Message
|
|
64500
64846
|
* * SQL Data Type: nvarchar(MAX)
|
|
64501
|
-
* * Description:
|
|
64847
|
+
* * Description: Human-readable summary message returned by the action - the reason for a refusal, or a short description of what was done. Not the action's output data: parameter values live in Params and ResultParams, and the outcome code in ResultCode.
|
|
64502
64848
|
*/},{key:"Message",get:function get(){return this.Get('Message');},set:function set(value){this.Set('Message',value);}/**
|
|
64849
|
+
* * Field Name: EntityActionID
|
|
64850
|
+
* * Display Name: Entity Action ID
|
|
64851
|
+
* * SQL Data Type: uniqueidentifier
|
|
64852
|
+
* * Related Entity/Foreign Key: MJ: Entity Actions (vwEntityActions.ID)
|
|
64853
|
+
* * Description: Optional. The Entity Action binding that caused this run. NULL when the action was invoked directly - from a resolver, a script, an agent step or a scheduled action.
|
|
64854
|
+
*/},{key:"EntityActionID",get:function get(){return this.Get('EntityActionID');},set:function set(value){this.Set('EntityActionID',value);}/**
|
|
64855
|
+
* * Field Name: EntityActionInvocationTypeID
|
|
64856
|
+
* * Display Name: Entity Action Invocation Type ID
|
|
64857
|
+
* * SQL Data Type: uniqueidentifier
|
|
64858
|
+
* * Related Entity/Foreign Key: MJ: Entity Action Invocation Types (vwEntityActionInvocationTypes.ID)
|
|
64859
|
+
* * Description: Optional. Which lifecycle event fired the binding - AfterUpdate, Validate, List and so on. Recorded separately from EntityActionID because one binding may be attached to several invocation types, and telling a Validate refusal apart from an AfterUpdate side effect is the first question anyone asks of this log.
|
|
64860
|
+
*/},{key:"EntityActionInvocationTypeID",get:function get(){return this.Get('EntityActionInvocationTypeID');},set:function set(value){this.Set('EntityActionInvocationTypeID',value);}/**
|
|
64861
|
+
* * Field Name: TargetEntityID
|
|
64862
|
+
* * Display Name: Target Entity ID
|
|
64863
|
+
* * SQL Data Type: uniqueidentifier
|
|
64864
|
+
* * Related Entity/Foreign Key: MJ: Entities (vwEntities.ID)
|
|
64865
|
+
* * Description: Optional. The entity of the record this run operated on. Deliberately denormalized rather than joined through EntityActionID: it survives the binding being deleted or retargeted, and it lets the log be queried by record with no join. Kept generic because every invoker has a subject - not only Entity Actions.
|
|
64866
|
+
*/},{key:"TargetEntityID",get:function get(){return this.Get('TargetEntityID');},set:function set(value){this.Set('TargetEntityID',value);}/**
|
|
64867
|
+
* * Field Name: TargetRecordID
|
|
64868
|
+
* * Display Name: Target Record ID
|
|
64869
|
+
* * SQL Data Type: nvarchar(450)
|
|
64870
|
+
* * Description: Optional. The primary key of the record this run operated on, as text, paired with TargetEntityID. For multi-record invocation types (List, View) one log row is written per record, so this is always a single record.
|
|
64871
|
+
*/},{key:"TargetRecordID",get:function get(){return this.Get('TargetRecordID');},set:function set(value){this.Set('TargetRecordID',value);}/**
|
|
64872
|
+
* * Field Name: ResultParams
|
|
64873
|
+
* * Display Name: Result Params
|
|
64874
|
+
* * SQL Data Type: nvarchar(MAX)
|
|
64875
|
+
* * Description: JSON-formatted FINAL parameter set captured when the action finished - the inputs as the action left them, plus any output parameters it produced. Written on FAILURE exactly as on success, under the same redaction rules: a failed run's partially-mutated inputs are usually the most diagnostic thing available, and an audit trail that records only successes is not an audit trail. Distinct from Params, which holds the values the action was called with and is never overwritten. NULL means one thing only - the run never finished (process died, host killed) - so it is a signal rather than an absence, and must not be backfilled.
|
|
64876
|
+
*/},{key:"ResultParams",get:function get(){return this.Get('ResultParams');},set:function set(value){this.Set('ResultParams',value);}/**
|
|
64503
64877
|
* * Field Name: Action
|
|
64504
64878
|
* * Display Name: Action
|
|
64505
64879
|
* * SQL Data Type: nvarchar(425)
|
|
@@ -64507,7 +64881,19 @@ function _regenerator(){/*! regenerator-runtime -- Copyright (c) 2014-present, F
|
|
|
64507
64881
|
* * Field Name: User
|
|
64508
64882
|
* * Display Name: User
|
|
64509
64883
|
* * SQL Data Type: nvarchar(100)
|
|
64510
|
-
*/},{key:"User",get:function get(){return this.Get('User');}
|
|
64884
|
+
*/},{key:"User",get:function get(){return this.Get('User');}/**
|
|
64885
|
+
* * Field Name: EntityAction
|
|
64886
|
+
* * Display Name: Entity Action
|
|
64887
|
+
* * SQL Data Type: nvarchar(425)
|
|
64888
|
+
*/},{key:"EntityAction",get:function get(){return this.Get('EntityAction');}/**
|
|
64889
|
+
* * Field Name: EntityActionInvocationType
|
|
64890
|
+
* * Display Name: Entity Action Invocation Type
|
|
64891
|
+
* * SQL Data Type: nvarchar(255)
|
|
64892
|
+
*/},{key:"EntityActionInvocationType",get:function get(){return this.Get('EntityActionInvocationType');}/**
|
|
64893
|
+
* * Field Name: TargetEntity
|
|
64894
|
+
* * Display Name: Target Entity
|
|
64895
|
+
* * SQL Data Type: nvarchar(255)
|
|
64896
|
+
*/},{key:"TargetEntity",get:function get(){return this.Get('TargetEntity');}}]);}(dist/* BaseEntity */.HCJ);MJActionExecutionLogEntity=__decorate([(0,MJGlobal_dist/* RegisterClass */.Y5)(dist/* BaseEntity */.HCJ,'MJ: Action Execution Logs')],MJActionExecutionLogEntity);/**
|
|
64511
64897
|
* MJ: Action Filters - strongly typed entity sub-class
|
|
64512
64898
|
* * Schema: __mj
|
|
64513
64899
|
* * Base Table: ActionFilter
|
|
@@ -64722,6 +65108,12 @@ function _regenerator(){/*! regenerator-runtime -- Copyright (c) 2014-present, F
|
|
|
64722
65108
|
* * Video
|
|
64723
65109
|
* * Description: Specifies the type of media this parameter outputs when ValueType is MediaOutput. Used for action discovery and validation.
|
|
64724
65110
|
*/},{key:"MediaModality",get:function get(){return this.Get('MediaModality');},set:function set(value){this.Set('MediaModality',value);}/**
|
|
65111
|
+
* * Field Name: LogValue
|
|
65112
|
+
* * Display Name: Log Value
|
|
65113
|
+
* * SQL Data Type: bit
|
|
65114
|
+
* * Default Value: 1
|
|
65115
|
+
* * Description: Whether this parameter's VALUE may be written to ActionExecutionLog.Params. Default 1. Set to 0 for parameters that carry records, credentials or personal data - for example the Data payload of Execute Agent. Independent of the hard rule that Entity Action params of ValueType 'Entity Object' or 'Entity Object Data' are never logged regardless of this flag. When logging is suppressed the log records the parameter name, its type and a redaction marker, never the value.
|
|
65116
|
+
*/},{key:"LogValue",get:function get(){return this.Get('LogValue');},set:function set(value){this.Set('LogValue',value);}/**
|
|
64725
65117
|
* * Field Name: Action
|
|
64726
65118
|
* * Display Name: Action
|
|
64727
65119
|
* * SQL Data Type: nvarchar(425)
|
|
@@ -69015,7 +69407,7 @@ _context44.p=1;_context44.n=2;return provider.BeginTransaction();case 2:_context
|
|
|
69015
69407
|
* @param result - the ValidationResult object to add any errors or warnings to
|
|
69016
69408
|
* @public
|
|
69017
69409
|
* @method
|
|
69018
|
-
*/},{key:"ValidateCompactionTriggerPercentRange",value:function ValidateCompactionTriggerPercentRange(result){if(this.CompactionTriggerPercent
|
|
69410
|
+
*/},{key:"ValidateCompactionTriggerPercentRange",value:function ValidateCompactionTriggerPercentRange(result){if(this.CompactionTriggerPercent<1||this.CompactionTriggerPercent>100){result.Errors.push(new dist/* ValidationErrorInfo */.Omh("CompactionTriggerPercent","Compaction trigger percentage must be between 1 and 100.",this.CompactionTriggerPercent,dist/* ValidationErrorType */.wX$.Failure));}}/**
|
|
69019
69411
|
* The maximum tokens for the context window must be a positive number greater than 0.
|
|
69020
69412
|
* @param result - the ValidationResult object to add any errors or warnings to
|
|
69021
69413
|
* @public
|
|
@@ -73884,6 +74276,12 @@ _context74.p=1;_context74.n=2;return provider.BeginTransaction();case 2:_context
|
|
|
73884
74276
|
* * SQL Data Type: datetimeoffset
|
|
73885
74277
|
* * Default Value: getutcdate()
|
|
73886
74278
|
*/},{key:"__mj_UpdatedAt",get:function get(){return this.Get('__mj_UpdatedAt');}/**
|
|
74279
|
+
* * Field Name: RowFilterID
|
|
74280
|
+
* * Display Name: Row Filter ID
|
|
74281
|
+
* * SQL Data Type: uniqueidentifier
|
|
74282
|
+
* * Related Entity/Foreign Key: MJ: Row Level Security Filters (vwRowLevelSecurityFilters.ID)
|
|
74283
|
+
* * Description: Optional row-level filter acting as a CEILING for every API key operating under this application — a restriction keys inherit and cannot widen. Composes with the per-key filter (APIKeyScope.RowFilterID) and with role-based RLS using AND, never OR, so no layer can broaden another. References the same RowLevelSecurityFilter catalog used by role-based RLS. NULL (the default) means the application imposes no row ceiling. The same authoring constraints as APIKeyScope.RowFilterID apply: exact single-entity resource pattern, all referenced columns must exist on that entity, and all referrers of the filter record must resolve to the same entity.
|
|
74284
|
+
*/},{key:"RowFilterID",get:function get(){return this.Get('RowFilterID');},set:function set(value){this.Set('RowFilterID',value);}/**
|
|
73887
74285
|
* * Field Name: Application
|
|
73888
74286
|
* * Display Name: Application Name
|
|
73889
74287
|
* * SQL Data Type: nvarchar(100)
|
|
@@ -73891,7 +74289,11 @@ _context74.p=1;_context74.n=2;return provider.BeginTransaction();case 2:_context
|
|
|
73891
74289
|
* * Field Name: Scope
|
|
73892
74290
|
* * Display Name: Scope Name
|
|
73893
74291
|
* * SQL Data Type: nvarchar(100)
|
|
73894
|
-
*/},{key:"Scope",get:function get(){return this.Get('Scope');}
|
|
74292
|
+
*/},{key:"Scope",get:function get(){return this.Get('Scope');}/**
|
|
74293
|
+
* * Field Name: RowFilter
|
|
74294
|
+
* * Display Name: Row Filter
|
|
74295
|
+
* * SQL Data Type: nvarchar(100)
|
|
74296
|
+
*/},{key:"RowFilter",get:function get(){return this.Get('RowFilter');}}]);}(dist/* BaseEntity */.HCJ);MJAPIApplicationScopeEntity=__decorate([(0,MJGlobal_dist/* RegisterClass */.Y5)(dist/* BaseEntity */.HCJ,'MJ: API Application Scopes')],MJAPIApplicationScopeEntity);/**
|
|
73895
74297
|
* MJ: API Applications - strongly typed entity sub-class
|
|
73896
74298
|
* * Schema: __mj
|
|
73897
74299
|
* * Base Table: APIApplication
|
|
@@ -74070,6 +74472,12 @@ _context74.p=1;_context74.n=2;return provider.BeginTransaction();case 2:_context
|
|
|
74070
74472
|
* * Default Value: 0
|
|
74071
74473
|
* * Description: Rule evaluation order. Higher priority rules are evaluated first. Within same priority, deny rules are evaluated before allow rules.
|
|
74072
74474
|
*/},{key:"Priority",get:function get(){return this.Get('Priority');},set:function set(value){this.Set('Priority',value);}/**
|
|
74475
|
+
* * Field Name: RowFilterID
|
|
74476
|
+
* * Display Name: Row Filter ID
|
|
74477
|
+
* * SQL Data Type: uniqueidentifier
|
|
74478
|
+
* * Related Entity/Foreign Key: MJ: Row Level Security Filters (vwRowLevelSecurityFilters.ID)
|
|
74479
|
+
* * Description: Optional row-level filter narrowing WHICH RECORDS this scope grant applies to, in addition to the resource pattern that governs which entities. References the same RowLevelSecurityFilter catalog used by role-based RLS, so the filter text flows through the standard {{Token}} substitution engine and every existing RLS enforcement point (RunView, Load by primary key, save, delete, search). NULL (the default) means no row restriction — behavior identical to before this column existed. When set, the rule's ResourcePattern must name a single exact entity (no wildcards, no comma-separated lists), every column the filter references must resolve to a real non-virtual field on that entity, and every other referrer of the same filter record must resolve to that same entity. Critically, this filter is evaluated INDEPENDENTLY of the role-RLS exemption: a user exempt from role RLS is still bound by their key's filter, because narrowing a principal below what their roles allow is the entire purpose of a key ceiling.
|
|
74480
|
+
*/},{key:"RowFilterID",get:function get(){return this.Get('RowFilterID');},set:function set(value){this.Set('RowFilterID',value);}/**
|
|
74073
74481
|
* * Field Name: APIKey
|
|
74074
74482
|
* * Display Name: API Key
|
|
74075
74483
|
* * SQL Data Type: nvarchar(255)
|
|
@@ -74077,7 +74485,11 @@ _context74.p=1;_context74.n=2;return provider.BeginTransaction();case 2:_context
|
|
|
74077
74485
|
* * Field Name: Scope
|
|
74078
74486
|
* * Display Name: Scope
|
|
74079
74487
|
* * SQL Data Type: nvarchar(100)
|
|
74080
|
-
*/},{key:"Scope",get:function get(){return this.Get('Scope');}
|
|
74488
|
+
*/},{key:"Scope",get:function get(){return this.Get('Scope');}/**
|
|
74489
|
+
* * Field Name: RowFilter
|
|
74490
|
+
* * Display Name: Row Filter
|
|
74491
|
+
* * SQL Data Type: nvarchar(100)
|
|
74492
|
+
*/},{key:"RowFilter",get:function get(){return this.Get('RowFilter');}}]);}(dist/* BaseEntity */.HCJ);MJAPIKeyScopeEntity=__decorate([(0,MJGlobal_dist/* RegisterClass */.Y5)(dist/* BaseEntity */.HCJ,'MJ: API Key Scopes')],MJAPIKeyScopeEntity);/**
|
|
74081
74493
|
* MJ: API Key Usage Logs - strongly typed entity sub-class
|
|
74082
74494
|
* * Schema: __mj
|
|
74083
74495
|
* * Base Table: APIKeyUsageLog
|
|
@@ -78533,12 +78945,12 @@ _context96.p=1;_context96.n=2;return provider.BeginTransaction();case 2:_context
|
|
|
78533
78945
|
* * Description: Exclusive character offset where this chunk ends within the parent Content Item's extracted text. See StartOffset. NULL for media segments.
|
|
78534
78946
|
*/},{key:"EndOffset",get:function get(){return this.Get('EndOffset');},set:function set(value){this.Set('EndOffset',value);}/**
|
|
78535
78947
|
* * Field Name: StartMs
|
|
78536
|
-
* * Display Name: Start
|
|
78948
|
+
* * Display Name: Start Milliseconds
|
|
78537
78949
|
* * SQL Data Type: int
|
|
78538
78950
|
* * Description: Start of this chunk's time window, in milliseconds from the beginning of the parent audio or video asset. Set by transcript- or window-based segmentation; enables time-windowed playback deep-links from a search result (for example 14:22-15:05 of a session recording). NULL for text segments.
|
|
78539
78951
|
*/},{key:"StartMs",get:function get(){return this.Get('StartMs');},set:function set(value){this.Set('StartMs',value);}/**
|
|
78540
78952
|
* * Field Name: EndMs
|
|
78541
|
-
* * Display Name: End
|
|
78953
|
+
* * Display Name: End Milliseconds
|
|
78542
78954
|
* * SQL Data Type: int
|
|
78543
78955
|
* * Description: End of this chunk's time window, in milliseconds from the beginning of the parent audio or video asset. See StartMs. NULL for text segments.
|
|
78544
78956
|
*/},{key:"EndMs",get:function get(){return this.Get('EndMs');},set:function set(value){this.Set('EndMs',value);}/**
|
|
@@ -78574,9 +78986,13 @@ _context96.p=1;_context96.n=2;return provider.BeginTransaction();case 2:_context
|
|
|
78574
78986
|
* * Description: Optional self-reference to another chunk of the same Content Item that is the parent of this one, expressing a chapter to sub-chapter hierarchy — for example a five-minute chapter of a recording and the individual speaker turns within it, or a document section and its subsections. NULL for top-level segments.
|
|
78575
78987
|
*/},{key:"ParentChunkID",get:function get(){return this.Get('ParentChunkID');},set:function set(value){this.Set('ParentChunkID',value);}/**
|
|
78576
78988
|
* * Field Name: ContentItem
|
|
78577
|
-
* * Display Name: Content Item
|
|
78989
|
+
* * Display Name: Content Item Name
|
|
78578
78990
|
* * SQL Data Type: nvarchar(250)
|
|
78579
78991
|
*/},{key:"ContentItem",get:function get(){return this.Get('ContentItem');}/**
|
|
78992
|
+
* * Field Name: ParentChunk
|
|
78993
|
+
* * Display Name: Parent Chunk Name
|
|
78994
|
+
* * SQL Data Type: nvarchar(500)
|
|
78995
|
+
*/},{key:"ParentChunk",get:function get(){return this.Get('ParentChunk');}/**
|
|
78580
78996
|
* * Field Name: RootParentChunkID
|
|
78581
78997
|
* * Display Name: Root Parent Chunk
|
|
78582
78998
|
* * SQL Data Type: uniqueidentifier
|
|
@@ -83210,15 +83626,39 @@ _context176.p=1;_context176.n=2;return provider.BeginTransaction();case 2:_conte
|
|
|
83210
83626
|
*/function(){var _Load177=_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee191(ID,EntityRelationshipsToLoad){var compositeKey;return _regenerator().w(function(_context191){while(1)switch(_context191.n){case 0:compositeKey=new dist/* CompositeKey */.BT8();compositeKey.KeyValuePairs.push({FieldName:'ID',Value:ID});_context191.n=1;return _superPropGet(MJEntityEntity,"InnerLoad",this,3)([compositeKey,EntityRelationshipsToLoad]);case 1:return _context191.a(2,_context191.v);}},_callee191,this);}));function Load(_x369,_x370){return _Load177.apply(this,arguments);}return Load;}()/**
|
|
83211
83627
|
* Validate() method override for MJ: Entities entity. This is an auto-generated method that invokes the generated validators for this entity for the following fields:
|
|
83212
83628
|
* * Table-Level: This rule ensures that if deleting via the API is allowed and the delete type is set to 'Soft', then record merging must also be allowed. In other words, you cannot allow API deletes with a soft delete type without also allowing record merging.
|
|
83629
|
+
* * Table-Level: If direct SQL deletion is allowed, the delete type must be set to 'Hard' to ensure data integrity.
|
|
83630
|
+
* * Table-Level: Direct SQL operations (Insert, Update, and Delete) must be disabled if Track Record Changes or Trust Server Cache Completely is enabled, ensuring that cache integrity and change tracking are not bypassed.
|
|
83631
|
+
* * Table-Level: If the base view is marked as generated, the generated base view name must be null. A generated base view name can only be set when the base view is not marked as generated.
|
|
83632
|
+
* * Table-Level: If a generated base view name is specified, a base view must also be defined, and the generated base view name cannot be the same as the base view name to prevent naming conflicts.
|
|
83213
83633
|
* @public
|
|
83214
83634
|
* @method
|
|
83215
83635
|
* @override
|
|
83216
|
-
*/)},{key:"Validate",value:function Validate(){var result=_superPropGet(MJEntityEntity,"Validate",this,3)([]);this.ValidateAllowRecordMergeForSoftDeleteAPI(result);result.Success=result.Success&&result.Errors.length===0;return result;}/**
|
|
83636
|
+
*/)},{key:"Validate",value:function Validate(){var result=_superPropGet(MJEntityEntity,"Validate",this,3)([]);this.ValidateAllowRecordMergeForSoftDeleteAPI(result);this.ValidateDeleteTypeForDirectSQLDelete(result);this.ValidateDirectSQLAndTrackingConstraints(result);this.ValidateGeneratedBaseViewNameAndBaseViewGenerated(result);this.ValidateGeneratedBaseViewNameDifferentFromBaseView(result);result.Success=result.Success&&result.Errors.length===0;return result;}/**
|
|
83217
83637
|
* This rule ensures that if deleting via the API is allowed and the delete type is set to 'Soft', then record merging must also be allowed. In other words, you cannot allow API deletes with a soft delete type without also allowing record merging.
|
|
83218
83638
|
* @param result - the ValidationResult object to add any errors or warnings to
|
|
83219
83639
|
* @public
|
|
83220
83640
|
* @method
|
|
83221
83641
|
*/},{key:"ValidateAllowRecordMergeForSoftDeleteAPI",value:function ValidateAllowRecordMergeForSoftDeleteAPI(result){if(this.AllowDeleteAPI&&this.DeleteType==="Soft"&&!this.AllowRecordMerge){result.Errors.push(new dist/* ValidationErrorInfo */.Omh("AllowRecordMerge","When API deletes are allowed and delete type is 'Soft', record merging must be allowed.",this.AllowRecordMerge,dist/* ValidationErrorType */.wX$.Failure));}}/**
|
|
83642
|
+
* If direct SQL deletion is allowed, the delete type must be set to 'Hard' to ensure data integrity.
|
|
83643
|
+
* @param result - the ValidationResult object to add any errors or warnings to
|
|
83644
|
+
* @public
|
|
83645
|
+
* @method
|
|
83646
|
+
*/},{key:"ValidateDeleteTypeForDirectSQLDelete",value:function ValidateDeleteTypeForDirectSQLDelete(result){if(this.AllowDirectSQLDelete&&this.DeleteType!=="Hard"){result.Errors.push(new dist/* ValidationErrorInfo */.Omh("DeleteType","Delete Type must be 'Hard' if Allow Direct SQL Delete is enabled.",this.DeleteType,dist/* ValidationErrorType */.wX$.Failure));}}/**
|
|
83647
|
+
* Direct SQL operations (Insert, Update, and Delete) must be disabled if Track Record Changes or Trust Server Cache Completely is enabled, ensuring that cache integrity and change tracking are not bypassed.
|
|
83648
|
+
* @param result - the ValidationResult object to add any errors or warnings to
|
|
83649
|
+
* @public
|
|
83650
|
+
* @method
|
|
83651
|
+
*/},{key:"ValidateDirectSQLAndTrackingConstraints",value:function ValidateDirectSQLAndTrackingConstraints(result){if((this.AllowDirectSQLInsert||this.AllowDirectSQLUpdate||this.AllowDirectSQLDelete)&&(this.TrackRecordChanges||this.TrustServerCacheCompletely)){result.Errors.push(new dist/* ValidationErrorInfo */.Omh("AllowDirectSQLInsert","Direct SQL operations (Insert, Update, Delete) cannot be enabled when Track Record Changes or Trust Server Cache Completely is enabled.",this.AllowDirectSQLInsert,dist/* ValidationErrorType */.wX$.Failure));}}/**
|
|
83652
|
+
* If the base view is marked as generated, the generated base view name must be null. A generated base view name can only be set when the base view is not marked as generated.
|
|
83653
|
+
* @param result - the ValidationResult object to add any errors or warnings to
|
|
83654
|
+
* @public
|
|
83655
|
+
* @method
|
|
83656
|
+
*/},{key:"ValidateGeneratedBaseViewNameAndBaseViewGenerated",value:function ValidateGeneratedBaseViewNameAndBaseViewGenerated(result){if(this.GeneratedBaseViewName!=null&&this.BaseViewGenerated){result.Errors.push(new dist/* ValidationErrorInfo */.Omh("GeneratedBaseViewName","Generated Base View Name must be empty when Base View Generated is enabled.",this.GeneratedBaseViewName,dist/* ValidationErrorType */.wX$.Failure));}}/**
|
|
83657
|
+
* If a generated base view name is specified, a base view must also be defined, and the generated base view name cannot be the same as the base view name to prevent naming conflicts.
|
|
83658
|
+
* @param result - the ValidationResult object to add any errors or warnings to
|
|
83659
|
+
* @public
|
|
83660
|
+
* @method
|
|
83661
|
+
*/},{key:"ValidateGeneratedBaseViewNameDifferentFromBaseView",value:function ValidateGeneratedBaseViewNameDifferentFromBaseView(result){if(this.GeneratedBaseViewName!=null&&this.GeneratedBaseViewName.trim()!==""){if(this.BaseView==null||this.BaseView.trim()===""){result.Errors.push(new dist/* ValidationErrorInfo */.Omh("GeneratedBaseViewName","A Base View must be specified when a Generated Base View Name is provided.",this.GeneratedBaseViewName,dist/* ValidationErrorType */.wX$.Failure));}else if(this.GeneratedBaseViewName===this.BaseView){result.Errors.push(new dist/* ValidationErrorInfo */.Omh("GeneratedBaseViewName","The Generated Base View Name cannot be the same as the Base View name.",this.GeneratedBaseViewName,dist/* ValidationErrorType */.wX$.Failure));}}}/**
|
|
83222
83662
|
* * Field Name: ID
|
|
83223
83663
|
* * Display Name: ID
|
|
83224
83664
|
* * SQL Data Type: uniqueidentifier
|
|
@@ -83606,7 +84046,7 @@ _context176.p=1;_context176.n=2;return provider.BeginTransaction();case 2:_conte
|
|
|
83606
84046
|
* * Description: When set to 1 AND TrackRecordChanges is also 1, the external change detection system will scan this entity for changes made outside the MJ framework (direct SQL, third-party tools, etc.) and replay them through Save() to create proper RecordChange audit entries. Default is 0 (opt-out) because most entities, especially __mj schema metadata tables, are managed by migrations/CodeGen and should not be scanned.
|
|
83607
84047
|
*/},{key:"DetectExternalChanges",get:function get(){return this.Get('DetectExternalChanges');},set:function set(value){this.Set('DetectExternalChanges',value);}/**
|
|
83608
84048
|
* * Field Name: ExternalDataSourceID
|
|
83609
|
-
* * Display Name: External Data Source
|
|
84049
|
+
* * Display Name: External Data Source
|
|
83610
84050
|
* * SQL Data Type: uniqueidentifier
|
|
83611
84051
|
* * Related Entity/Foreign Key: MJ: External Data Sources (vwExternalDataSources.ID)
|
|
83612
84052
|
*/},{key:"ExternalDataSourceID",get:function get(){return this.Get('ExternalDataSourceID');},set:function set(value){this.Set('ExternalDataSourceID',value);}/**
|
|
@@ -83615,6 +84055,29 @@ _context176.p=1;_context176.n=2;return provider.BeginTransaction();case 2:_conte
|
|
|
83615
84055
|
* * SQL Data Type: nvarchar(255)
|
|
83616
84056
|
* * Description: Remote object name (table / view / collection) on the external system that backs this entity. Resolved against the data source DefaultSchema/DefaultDatabase when unqualified. Only meaningful when ExternalDataSourceID is set.
|
|
83617
84057
|
*/},{key:"ExternalObjectName",get:function get(){return this.Get('ExternalObjectName');},set:function set(value){this.Set('ExternalObjectName',value);}/**
|
|
84058
|
+
* * Field Name: GeneratedBaseViewName
|
|
84059
|
+
* * Display Name: Generated Base View Name
|
|
84060
|
+
* * SQL Data Type: nvarchar(255)
|
|
84061
|
+
* * Description: When set, CodeGen generates the entity's full base view under THIS name instead of BaseView, and the application owns BaseView — which is expected to wrap it (SELECT g.*, <extras> FROM <GeneratedBaseViewName> g). This gives an entity a custom base view WITHOUT inheriting the generated SQL: related-entity display joins, geo columns and recursive root-ID columns keep regenerating underneath, so a foreign key added later still appears. NULL (the default, and every pre-existing row) means the previous all-or-nothing behaviour: BaseViewGenerated alone decides whether CodeGen writes BaseView, and there is no second view. BaseView remains the public surface — entity field discovery, permissions and the generated CRUD procedures all target it. SQL SERVER ONLY: layering relies on sp_refreshview to re-resolve the application-owned outer view's SELECT * against a regenerated inner view. PostgreSQL freezes a view's column list at creation and has no refresh equivalent, so CodeGen rejects this column on PostgreSQL rather than let the outer view go silently stale.
|
|
84062
|
+
*/},{key:"GeneratedBaseViewName",get:function get(){return this.Get('GeneratedBaseViewName');},set:function set(value){this.Set('GeneratedBaseViewName',value);}/**
|
|
84063
|
+
* * Field Name: AllowDirectSQLInsert
|
|
84064
|
+
* * Display Name: Allow Direct SQL Insert
|
|
84065
|
+
* * SQL Data Type: bit
|
|
84066
|
+
* * Default Value: 0
|
|
84067
|
+
* * Description: When 1, this entity may be populated by INSERT statements that do not go through BaseEntity.Save() — bulk loads, ETL/integration sync, or rows created as a side effect of a stored procedure. Default 0, meaning every insert is expected to flow through BaseEntity so that record-change tracking, entity actions, validation and cache invalidation all run. This column DECLARES intent for the code paths and tooling that consult it; it does not and cannot prevent anyone from executing SQL. Requires TrackRecordChanges = 0 and TrustServerCacheCompletely = 0, because a direct insert produces neither an audit row nor a cache-invalidation event.
|
|
84068
|
+
*/},{key:"AllowDirectSQLInsert",get:function get(){return this.Get('AllowDirectSQLInsert');},set:function set(value){this.Set('AllowDirectSQLInsert',value);}/**
|
|
84069
|
+
* * Field Name: AllowDirectSQLUpdate
|
|
84070
|
+
* * Display Name: Allow Direct SQL Update
|
|
84071
|
+
* * SQL Data Type: bit
|
|
84072
|
+
* * Default Value: 0
|
|
84073
|
+
* * Description: When 1, this entity may be modified by UPDATE statements that do not go through BaseEntity.Save() — bulk backfills, integration sync, or maintenance routines. Default 0, meaning every update is expected to flow through BaseEntity so that record-change tracking, entity actions, validation and cache invalidation all run. This column DECLARES intent for the code paths and tooling that consult it; it does not and cannot prevent anyone from executing SQL. Requires TrackRecordChanges = 0 and TrustServerCacheCompletely = 0, because a direct update produces neither an audit row nor a cache-invalidation event.
|
|
84074
|
+
*/},{key:"AllowDirectSQLUpdate",get:function get(){return this.Get('AllowDirectSQLUpdate');},set:function set(value){this.Set('AllowDirectSQLUpdate',value);}/**
|
|
84075
|
+
* * Field Name: AllowDirectSQLDelete
|
|
84076
|
+
* * Display Name: Allow Direct SQL Delete
|
|
84077
|
+
* * SQL Data Type: bit
|
|
84078
|
+
* * Default Value: 0
|
|
84079
|
+
* * Description: When 1, this entity may have rows removed by DELETE statements that do not go through BaseEntity.Delete() — purge and retention routines, or integration sync reconciling a remote source. Default 0, meaning every delete is expected to flow through BaseEntity so that record-change tracking, entity actions, cascade handling and cache invalidation all run. This column DECLARES intent for the code paths and tooling that consult it; it does not and cannot prevent anyone from executing SQL. Requires TrackRecordChanges = 0 and TrustServerCacheCompletely = 0, and additionally requires DeleteType = 'Hard' — a direct DELETE removes the row outright rather than setting DeletedAt, which would defeat soft delete.
|
|
84080
|
+
*/},{key:"AllowDirectSQLDelete",get:function get(){return this.Get('AllowDirectSQLDelete');},set:function set(value){this.Set('AllowDirectSQLDelete',value);}/**
|
|
83618
84081
|
* * Field Name: CodeName
|
|
83619
84082
|
* * Display Name: Code Name
|
|
83620
84083
|
* * SQL Data Type: nvarchar(MAX)
|
|
@@ -83876,9 +84339,10 @@ _context176.p=1;_context176.n=2;return provider.BeginTransaction();case 2:_conte
|
|
|
83876
84339
|
* * Possible Values
|
|
83877
84340
|
* * Entity Field
|
|
83878
84341
|
* * Entity Object
|
|
84342
|
+
* * Entity Object Data
|
|
83879
84343
|
* * Script
|
|
83880
84344
|
* * Static
|
|
83881
|
-
* * Description:
|
|
84345
|
+
* * Description: How the parameter value is produced at invocation time. Static = the literal Value (parsed as JSON when it parses). Entity Object = the live BaseEntity instance, for actions that call entity methods. Entity Object Data = entity.GetAll(), a plain object - use this for any action that SERIALIZES the value, such as the Data payload of Execute Agent, because a BaseEntity serializes to {} (its fields are getters, not enumerable own properties). Entity Field = the named field's value. Script = evaluated expression with the entity in scope.
|
|
83882
84346
|
*/},{key:"ValueType",get:function get(){return this.Get('ValueType');},set:function set(value){this.Set('ValueType',value);}/**
|
|
83883
84347
|
* * Field Name: Value
|
|
83884
84348
|
* * Display Name: Value
|
|
@@ -83900,6 +84364,11 @@ _context176.p=1;_context176.n=2;return provider.BeginTransaction();case 2:_conte
|
|
|
83900
84364
|
* * SQL Data Type: datetimeoffset
|
|
83901
84365
|
* * Default Value: getutcdate()
|
|
83902
84366
|
*/},{key:"__mj_UpdatedAt",get:function get(){return this.Get('__mj_UpdatedAt');}/**
|
|
84367
|
+
* * Field Name: LogValue
|
|
84368
|
+
* * Display Name: Log Value
|
|
84369
|
+
* * SQL Data Type: bit
|
|
84370
|
+
* * Description: Optional per-binding override of ActionParam.LogValue. NULL (the default) inherits the parameter definition. Set to 0 when this particular binding passes something sensitive through a parameter that is ordinarily safe to log - a message body through a generic Text parameter, for instance. Cannot re-enable logging for a value type the hard rule suppresses.
|
|
84371
|
+
*/},{key:"LogValue",get:function get(){return this.Get('LogValue');},set:function set(value){this.Set('LogValue',value);}/**
|
|
83903
84372
|
* * Field Name: EntityAction
|
|
83904
84373
|
* * Display Name: Entity Action
|
|
83905
84374
|
* * SQL Data Type: nvarchar(425)
|
|
@@ -83928,11 +84397,22 @@ _context176.p=1;_context176.n=2;return provider.BeginTransaction();case 2:_conte
|
|
|
83928
84397
|
* @method
|
|
83929
84398
|
* @override
|
|
83930
84399
|
*/function(){var _Load182=_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee196(ID,EntityRelationshipsToLoad){var compositeKey;return _regenerator().w(function(_context196){while(1)switch(_context196.n){case 0:compositeKey=new dist/* CompositeKey */.BT8();compositeKey.KeyValuePairs.push({FieldName:'ID',Value:ID});_context196.n=1;return _superPropGet(MJEntityActionEntity,"InnerLoad",this,3)([compositeKey,EntityRelationshipsToLoad]);case 1:return _context196.a(2,_context196.v);}},_callee196,this);}));function Load(_x379,_x380){return _Load182.apply(this,arguments);}return Load;}()/**
|
|
84400
|
+
* Validate() method override for MJ: Entity Actions entity. This is an auto-generated method that invokes the generated validators for this entity for the following fields:
|
|
84401
|
+
* * Table-Level: Both Scope Entity and Scope Record must be provided together, or both must be left blank. You cannot specify one without the other.
|
|
84402
|
+
* @public
|
|
84403
|
+
* @method
|
|
84404
|
+
* @override
|
|
84405
|
+
*/)},{key:"Validate",value:function Validate(){var result=_superPropGet(MJEntityActionEntity,"Validate",this,3)([]);this.ValidateScopeEntityAndRecordCoexistence(result);result.Success=result.Success&&result.Errors.length===0;return result;}/**
|
|
84406
|
+
* Both Scope Entity and Scope Record must be provided together, or both must be left blank. You cannot specify one without the other.
|
|
84407
|
+
* @param result - the ValidationResult object to add any errors or warnings to
|
|
84408
|
+
* @public
|
|
84409
|
+
* @method
|
|
84410
|
+
*/},{key:"ValidateScopeEntityAndRecordCoexistence",value:function ValidateScopeEntityAndRecordCoexistence(result){if(this.ScopeEntityID==null&&this.ScopeRecordID!=null||this.ScopeEntityID!=null&&this.ScopeRecordID==null){result.Errors.push(new dist/* ValidationErrorInfo */.Omh("ScopeEntityID","Scope Entity and Scope Record must either both be specified or both be empty.",this.ScopeEntityID,dist/* ValidationErrorType */.wX$.Failure));}}/**
|
|
83931
84411
|
* * Field Name: EntityID
|
|
83932
84412
|
* * Display Name: Entity ID
|
|
83933
84413
|
* * SQL Data Type: uniqueidentifier
|
|
83934
84414
|
* * Related Entity/Foreign Key: MJ: Entities (vwEntities.ID)
|
|
83935
|
-
*/
|
|
84415
|
+
*/},{key:"EntityID",get:function get(){return this.Get('EntityID');},set:function set(value){this.Set('EntityID',value);}/**
|
|
83936
84416
|
* * Field Name: ActionID
|
|
83937
84417
|
* * Display Name: Action ID
|
|
83938
84418
|
* * SQL Data Type: uniqueidentifier
|
|
@@ -83964,6 +84444,34 @@ _context176.p=1;_context176.n=2;return provider.BeginTransaction();case 2:_conte
|
|
|
83964
84444
|
* * SQL Data Type: uniqueidentifier
|
|
83965
84445
|
* * Default Value: newsequentialid()
|
|
83966
84446
|
*/},{key:"ID",get:function get(){return this.Get('ID');},set:function set(value){this.Set('ID',value);}/**
|
|
84447
|
+
* * Field Name: Sequence
|
|
84448
|
+
* * Display Name: Sequence
|
|
84449
|
+
* * SQL Data Type: int
|
|
84450
|
+
* * Default Value: 0
|
|
84451
|
+
* * Description: Execution order when multiple Entity Actions are bound to the same entity and invocation type. Lower runs first; ties fall back to creation order. Defaults to 0 so existing rows are unaffected.
|
|
84452
|
+
*/},{key:"Sequence",get:function get(){return this.Get('Sequence');},set:function set(value){this.Set('Sequence',value);}/**
|
|
84453
|
+
* * Field Name: ScopeEntityID
|
|
84454
|
+
* * Display Name: Scope Entity ID
|
|
84455
|
+
* * SQL Data Type: uniqueidentifier
|
|
84456
|
+
* * Related Entity/Foreign Key: MJ: Entities (vwEntities.ID)
|
|
84457
|
+
* * Description: Optional. Together with ScopeRecordID, narrows this Entity Action to records related to ONE specific record - for example a single Deal Type, Contract Type, Pipeline or Company - rather than every record of EntityID. NULL (the default) means the action applies to all records, which is the pre-existing behaviour. How a scope record relates to the subject record is resolved by the app that owns the scope entity; the framework only stores and filters on the pair.
|
|
84458
|
+
*/},{key:"ScopeEntityID",get:function get(){return this.Get('ScopeEntityID');},set:function set(value){this.Set('ScopeEntityID',value);}/**
|
|
84459
|
+
* * Field Name: ScopeRecordID
|
|
84460
|
+
* * Display Name: Scope Record ID
|
|
84461
|
+
* * SQL Data Type: nvarchar(450)
|
|
84462
|
+
* * Description: Optional. The primary key of the scope record, as text, paired with ScopeEntityID. Both columns are NULL or both are set (CK_EntityAction_Scope). Lets a configuration record such as a Deal Type surface "the workflows bound to me" as a real relationship rather than something buried in filter code.
|
|
84463
|
+
*/},{key:"ScopeRecordID",get:function get(){return this.Get('ScopeRecordID');},set:function set(value){this.Set('ScopeRecordID',value);}/**
|
|
84464
|
+
* * Field Name: LoggingMode
|
|
84465
|
+
* * Display Name: Logging Mode
|
|
84466
|
+
* * SQL Data Type: nvarchar(20)
|
|
84467
|
+
* * Default Value: All
|
|
84468
|
+
* * Value List Type: List
|
|
84469
|
+
* * Possible Values
|
|
84470
|
+
* * All
|
|
84471
|
+
* * FailuresOnly
|
|
84472
|
+
* * None
|
|
84473
|
+
* * Description: How much of this binding's activity reaches ActionExecutionLog. All (default) writes a row per invocation. FailuresOnly writes only runs that did not succeed - the right setting for a high-frequency binding on a busy entity, where the successful runs are noise. None disables logging for the binding entirely and should be rare, because it also removes the failure record.
|
|
84474
|
+
*/},{key:"LoggingMode",get:function get(){return this.Get('LoggingMode');},set:function set(value){this.Set('LoggingMode',value);}/**
|
|
83967
84475
|
* * Field Name: Entity
|
|
83968
84476
|
* * Display Name: Entity
|
|
83969
84477
|
* * SQL Data Type: nvarchar(255)
|
|
@@ -83971,7 +84479,11 @@ _context176.p=1;_context176.n=2;return provider.BeginTransaction();case 2:_conte
|
|
|
83971
84479
|
* * Field Name: Action
|
|
83972
84480
|
* * Display Name: Action
|
|
83973
84481
|
* * SQL Data Type: nvarchar(425)
|
|
83974
|
-
*/},{key:"Action",get:function get(){return this.Get('Action');}
|
|
84482
|
+
*/},{key:"Action",get:function get(){return this.Get('Action');}/**
|
|
84483
|
+
* * Field Name: ScopeEntity
|
|
84484
|
+
* * Display Name: Scope Entity
|
|
84485
|
+
* * SQL Data Type: nvarchar(255)
|
|
84486
|
+
*/},{key:"ScopeEntity",get:function get(){return this.Get('ScopeEntity');}}]);}(dist/* BaseEntity */.HCJ);MJEntityActionEntity=__decorate([(0,MJGlobal_dist/* RegisterClass */.Y5)(dist/* BaseEntity */.HCJ,'MJ: Entity Actions')],MJEntityActionEntity);/**
|
|
83975
84487
|
* MJ: Entity AI Actions - strongly typed entity sub-class
|
|
83976
84488
|
* * Schema: __mj
|
|
83977
84489
|
* * Base Table: EntityAIAction
|
|
@@ -101663,11 +102175,12 @@ _context372.p=1;_context372.n=2;return provider.BeginTransaction();case 2:_conte
|
|
|
101663
102175
|
* @override
|
|
101664
102176
|
*/function(){var _Load366=_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee384(ID,EntityRelationshipsToLoad){var compositeKey;return _regenerator().w(function(_context384){while(1)switch(_context384.n){case 0:compositeKey=new dist/* CompositeKey */.BT8();compositeKey.KeyValuePairs.push({FieldName:'ID',Value:ID});_context384.n=1;return _superPropGet(MJUserViewRunDetailEntity,"InnerLoad",this,3)([compositeKey,EntityRelationshipsToLoad]);case 1:return _context384.a(2,_context384.v);}},_callee384,this);}));function Load(_x751,_x752){return _Load366.apply(this,arguments);}return Load;}()/**
|
|
101665
102177
|
* * Field Name: ID
|
|
102178
|
+
* * Display Name: ID
|
|
101666
102179
|
* * SQL Data Type: uniqueidentifier
|
|
101667
102180
|
* * Default Value: newsequentialid()
|
|
101668
102181
|
*/)},{key:"ID",get:function get(){return this.Get('ID');},set:function set(value){this.Set('ID',value);}/**
|
|
101669
102182
|
* * Field Name: UserViewRunID
|
|
101670
|
-
* * Display Name: User View Run
|
|
102183
|
+
* * Display Name: User View Run
|
|
101671
102184
|
* * SQL Data Type: uniqueidentifier
|
|
101672
102185
|
* * Related Entity/Foreign Key: MJ: User View Runs (vwUserViewRuns.ID)
|
|
101673
102186
|
*/},{key:"UserViewRunID",get:function get(){return this.Get('UserViewRunID');},set:function set(value){this.Set('UserViewRunID',value);}/**
|
|
@@ -101686,6 +102199,10 @@ _context372.p=1;_context372.n=2;return provider.BeginTransaction();case 2:_conte
|
|
|
101686
102199
|
* * SQL Data Type: datetimeoffset
|
|
101687
102200
|
* * Default Value: getutcdate()
|
|
101688
102201
|
*/},{key:"__mj_UpdatedAt",get:function get(){return this.Get('__mj_UpdatedAt');}/**
|
|
102202
|
+
* * Field Name: UserViewRun
|
|
102203
|
+
* * Display Name: User View Run Name
|
|
102204
|
+
* * SQL Data Type: nvarchar(100)
|
|
102205
|
+
*/},{key:"UserViewRun",get:function get(){return this.Get('UserViewRun');}/**
|
|
101689
102206
|
* * Field Name: UserViewID
|
|
101690
102207
|
* * Display Name: User View
|
|
101691
102208
|
* * SQL Data Type: uniqueidentifier
|
|
@@ -104741,7 +105258,7 @@ var ViewInfo = /*#__PURE__*/function () {
|
|
|
104741
105258
|
while (1) switch (_context0.n) {
|
|
104742
105259
|
case 0:
|
|
104743
105260
|
_context0.n = 1;
|
|
104744
|
-
return Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__,
|
|
105261
|
+
return Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 791));
|
|
104745
105262
|
case 1:
|
|
104746
105263
|
_yield$import = _context0.v;
|
|
104747
105264
|
UserViewEngine = _yield$import.UserViewEngine;
|
|
@@ -104786,7 +105303,7 @@ var ViewInfo = /*#__PURE__*/function () {
|
|
|
104786
105303
|
while (1) switch (_context1.n) {
|
|
104787
105304
|
case 0:
|
|
104788
105305
|
_context1.n = 1;
|
|
104789
|
-
return Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__,
|
|
105306
|
+
return Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 791));
|
|
104790
105307
|
case 1:
|
|
104791
105308
|
_yield$import2 = _context1.v;
|
|
104792
105309
|
UserViewEngine = _yield$import2.UserViewEngine;
|
|
@@ -107585,8 +108102,8 @@ var MJQueryEntityExtended = /*#__PURE__*/function (_MJQueryEntity) {
|
|
|
107585
108102
|
}(MJQueryEntity);
|
|
107586
108103
|
MJQueryEntityExtended = MJQueryEntityExtended_decorate([(0,MJGlobal_dist/* RegisterClass */.Y5)(dist/* BaseEntity */.HCJ, 'MJ: Queries')], MJQueryEntityExtended);
|
|
107587
108104
|
|
|
107588
|
-
// EXTERNAL MODULE: ../../../node_modules/rxjs/dist/esm5/internal/BehaviorSubject.js
|
|
107589
|
-
var BehaviorSubject = __webpack_require__(
|
|
108105
|
+
// EXTERNAL MODULE: ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/BehaviorSubject.js
|
|
108106
|
+
var BehaviorSubject = __webpack_require__(562);
|
|
107590
108107
|
;// ../../MJCoreEntities/dist/engines/artifact-mime-resolver.js
|
|
107591
108108
|
function artifact_mime_resolver_toConsumableArray(r) { return artifact_mime_resolver_arrayWithoutHoles(r) || artifact_mime_resolver_iterableToArray(r) || artifact_mime_resolver_unsupportedIterableToArray(r) || artifact_mime_resolver_nonIterableSpread(); }
|
|
107592
108109
|
function artifact_mime_resolver_nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
@@ -113651,7 +114168,8 @@ var UserInfoEngine = UserInfoEngine_1 = /*#__PURE__*/function (_BaseEngine) {
|
|
|
113651
114168
|
return workspaces.length > 0 ? workspaces[0] : null;
|
|
113652
114169
|
}
|
|
113653
114170
|
/**
|
|
113654
|
-
* Get all applications enabled for the current user, ordered by sequence then
|
|
114171
|
+
* Get all applications enabled for the current user, ordered by sequence, then the
|
|
114172
|
+
* application's DefaultSequence, then application name
|
|
113655
114173
|
*/
|
|
113656
114174
|
}, {
|
|
113657
114175
|
key: "UserApplications",
|
|
@@ -113661,13 +114179,39 @@ var UserInfoEngine = UserInfoEngine_1 = /*#__PURE__*/function (_BaseEngine) {
|
|
|
113661
114179
|
return this.GetConfigData('_UserApplications').filter(function (ua) {
|
|
113662
114180
|
return (0,MJGlobal_dist/* UUIDsEqual */.jd)(ua.UserID, _this6._loadedForUserId);
|
|
113663
114181
|
}).sort(function (a, b) {
|
|
113664
|
-
|
|
113665
|
-
if (a.Sequence !== b.Sequence) {
|
|
113666
|
-
return a.Sequence - b.Sequence;
|
|
113667
|
-
}
|
|
113668
|
-
return (a.Application || '').localeCompare(b.Application || '');
|
|
114182
|
+
return _this6.compareUserApplications(a, b);
|
|
113669
114183
|
});
|
|
113670
114184
|
}
|
|
114185
|
+
/**
|
|
114186
|
+
* Canonical ordering for a user's UserApplication rows: user-owned `Sequence` first,
|
|
114187
|
+
* ties broken by the application's `DefaultSequence` (Home ships at -1, so it wins a
|
|
114188
|
+
* tie it didn't ask for), then application name as the final stable tie-break.
|
|
114189
|
+
* Duplicate Sequences are reachable without user action (new rows default to 0 and
|
|
114190
|
+
* `nextUserApplicationSequence` returns 0 for a user with no active rows), so the
|
|
114191
|
+
* tie-break must be deliberate rather than incidental.
|
|
114192
|
+
*/
|
|
114193
|
+
}, {
|
|
114194
|
+
key: "compareUserApplications",
|
|
114195
|
+
value: function compareUserApplications(a, b) {
|
|
114196
|
+
if (a.Sequence !== b.Sequence) {
|
|
114197
|
+
return a.Sequence - b.Sequence;
|
|
114198
|
+
}
|
|
114199
|
+
var defaultSequenceDiff = this.applicationDefaultSequence(a.ApplicationID) - this.applicationDefaultSequence(b.ApplicationID);
|
|
114200
|
+
if (defaultSequenceDiff !== 0) {
|
|
114201
|
+
return defaultSequenceDiff;
|
|
114202
|
+
}
|
|
114203
|
+
return (a.Application || '').localeCompare(b.Application || '');
|
|
114204
|
+
}
|
|
114205
|
+
/**
|
|
114206
|
+
* The application's DefaultSequence from metadata, or the schema default (100) when
|
|
114207
|
+
* the application is not found.
|
|
114208
|
+
*/
|
|
114209
|
+
}, {
|
|
114210
|
+
key: "applicationDefaultSequence",
|
|
114211
|
+
value: function applicationDefaultSequence(applicationId) {
|
|
114212
|
+
var _this$GetApplicationI, _this$GetApplicationI2;
|
|
114213
|
+
return (_this$GetApplicationI = (_this$GetApplicationI2 = this.GetApplicationInfo(applicationId)) === null || _this$GetApplicationI2 === void 0 ? void 0 : _this$GetApplicationI2.DefaultSequence) !== null && _this$GetApplicationI !== void 0 ? _this$GetApplicationI : 100;
|
|
114214
|
+
}
|
|
113671
114215
|
/**
|
|
113672
114216
|
* Get all favorites for the current user, ordered by creation date (newest first)
|
|
113673
114217
|
*/
|
|
@@ -113737,13 +114281,11 @@ var UserInfoEngine = UserInfoEngine_1 = /*#__PURE__*/function (_BaseEngine) {
|
|
|
113737
114281
|
}, {
|
|
113738
114282
|
key: "GetUserApplicationsForUser",
|
|
113739
114283
|
value: function GetUserApplicationsForUser(userId) {
|
|
114284
|
+
var _this9 = this;
|
|
113740
114285
|
return (this._UserApplications || []).filter(function (ua) {
|
|
113741
114286
|
return (0,MJGlobal_dist/* UUIDsEqual */.jd)(ua.UserID, userId);
|
|
113742
114287
|
}).sort(function (a, b) {
|
|
113743
|
-
|
|
113744
|
-
return a.Sequence - b.Sequence;
|
|
113745
|
-
}
|
|
113746
|
-
return (a.Application || '').localeCompare(b.Application || '');
|
|
114288
|
+
return _this9.compareUserApplications(a, b);
|
|
113747
114289
|
});
|
|
113748
114290
|
}
|
|
113749
114291
|
// ========================================================================
|
|
@@ -114635,10 +115177,10 @@ var UserInfoEngine = UserInfoEngine_1 = /*#__PURE__*/function (_BaseEngine) {
|
|
|
114635
115177
|
}, {
|
|
114636
115178
|
key: "NotificationPreferences",
|
|
114637
115179
|
get: function get() {
|
|
114638
|
-
var
|
|
115180
|
+
var _this0 = this;
|
|
114639
115181
|
if (!this._loadedForUserId) return [];
|
|
114640
115182
|
return this.GetConfigData('_UserNotificationPreferences').filter(function (p) {
|
|
114641
|
-
return (0,MJGlobal_dist/* UUIDsEqual */.jd)(p.UserID,
|
|
115183
|
+
return (0,MJGlobal_dist/* UUIDsEqual */.jd)(p.UserID, _this0._loadedForUserId);
|
|
114642
115184
|
});
|
|
114643
115185
|
}
|
|
114644
115186
|
}, {
|
|
@@ -115578,7 +116120,7 @@ var ApplicationSettingEngine = /*#__PURE__*/function (_BaseEngine) {
|
|
|
115578
116120
|
ApplicationSettingEngine = ApplicationSettingEngine_decorate([(0,dist/* RegisterForStartup */.imK)()], ApplicationSettingEngine);
|
|
115579
116121
|
|
|
115580
116122
|
// EXTERNAL MODULE: ../../MJCoreEntities/dist/engines/UserViewEngine.js
|
|
115581
|
-
var UserViewEngine = __webpack_require__(
|
|
116123
|
+
var UserViewEngine = __webpack_require__(791);
|
|
115582
116124
|
;// ../../MJCoreEntities/dist/engines/FileStorageEngine.js
|
|
115583
116125
|
/* unused harmony import specifier */ var FileStorageEngine_BaseEngine;
|
|
115584
116126
|
/* unused harmony import specifier */ var FileStorageEngine_UUIDsEqual;
|
|
@@ -124228,7 +124770,7 @@ LoadPermissionEntityExtensions();
|
|
|
124228
124770
|
|
|
124229
124771
|
/***/ },
|
|
124230
124772
|
|
|
124231
|
-
/***/
|
|
124773
|
+
/***/ 899
|
|
124232
124774
|
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
124233
124775
|
|
|
124234
124776
|
"use strict";
|
|
@@ -124256,7 +124798,7 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
124256
124798
|
gZ: () => (/* reexport */ uuidv4)
|
|
124257
124799
|
});
|
|
124258
124800
|
|
|
124259
|
-
// UNUSED EXPORTS: ALLOWED_SQL_FUNCTIONS, BuildCronExpression, CRON_DAY_NAMES, ClassFactory, ClassIsOptionalKeyedSpecialization, ClassRegistration, ClassRequiresSubclass, CleanJSON, CleanJavaScript, ConvertMarkdownStringToHtmlList, CopyScalarsAndArrays, DANGEROUS_SQL_KEYWORDS, DEFAULT_RICH_TEXT_SCAN_LENGTH, DeepDiffer, DefaultCronSchedule, DeprecationWarningManager, DescribeCronExpression, DiffChangeType, ENCRYPTED_SENTINEL, EscapeHTML, FULL_QUERY_ALLOWED_KEYWORDS, FieldRulesEvaluator, FieldTransformEngine, FormatTimeOfDay, GetClassInheritance, GetClassName, GetFieldTransform, GetFullClassHierarchy, GetRootClass, GetSuperclass, HighlightSearchMatches, InvokeManualResize, IsClassConstructor, IsDescendantClassOf, IsEncryptedSentinel, IsOnlyTimezoneShift, IsPlausibleCronExpression, IsRootClass, IsSubclassOf, IsValidUUID, IsValueEncrypted, JSONValidator, KeyedSerialTaskQueue, MJEvent, MJGlobalProperty, OPTIONAL_KEYED_SPECIALIZATION_KEY, ObjectCache, ObjectCacheEntry, Ordinal, ParseCronExpression, ParseJSONRecursive, REQUIRES_SUBCLASS_KEY, RegisterClassEx, RegisterFieldTransform, SafeExpressionEvaluator, ShutdownRegistry, ToJSONSafe, adjustCasing, compareStringsByLine, convertCamelCaseToHaveSpaces, createDisplayName, defaultExpressionEvaluator, detectRichTextFormat, ensureRegExp, ensureRegExps, generatePluralName, getIrregularPlural, getValueAtPath, matchesAllPatterns, matchesAnyPattern, parsePattern, parsePatterns, replaceAllSpaces, resolveMappingRef, resolveValueMapping, stripTrailingChars, stripWhitespace
|
|
124801
|
+
// UNUSED EXPORTS: ALLOWED_SQL_FUNCTIONS, BLOCKED_SYSTEM_OBJECT_PATTERNS, BuildCronExpression, CRON_DAY_NAMES, ClassFactory, ClassIsOptionalKeyedSpecialization, ClassRegistration, ClassRequiresSubclass, CleanJSON, CleanJavaScript, ConvertMarkdownStringToHtmlList, CopyScalarsAndArrays, DANGEROUS_SQL_KEYWORDS, DEFAULT_RICH_TEXT_SCAN_LENGTH, DeepDiffer, DefaultCronSchedule, DeprecationWarningManager, DescribeCronExpression, DiffChangeType, ENCRYPTED_SENTINEL, EscapeHTML, FULL_QUERY_ALLOWED_KEYWORDS, FieldRulesEvaluator, FieldTransformEngine, FormatTimeOfDay, GetClassInheritance, GetClassName, GetFieldTransform, GetFullClassHierarchy, GetRootClass, GetSuperclass, HighlightSearchMatches, InvokeManualResize, IsClassConstructor, IsDescendantClassOf, IsEncryptedSentinel, IsOnlyTimezoneShift, IsPlausibleCronExpression, IsRootClass, IsSubclassOf, IsValidUUID, IsValueEncrypted, JSONValidator, KeyedSerialTaskQueue, MJEvent, MJGlobalProperty, OPTIONAL_KEYED_SPECIALIZATION_KEY, ObjectCache, ObjectCacheEntry, Ordinal, ParseCronExpression, ParseJSONRecursive, REQUIRES_SUBCLASS_KEY, RegisterClassEx, RegisterFieldTransform, SafeExpressionEvaluator, ShutdownRegistry, ToJSONSafe, adjustCasing, compareStringsByLine, convertCamelCaseToHaveSpaces, createDisplayName, defaultExpressionEvaluator, detectRichTextFormat, ensureRegExp, ensureRegExps, generatePluralName, getIrregularPlural, getValueAtPath, matchesAllPatterns, matchesAnyPattern, parsePattern, parsePatterns, replaceAllSpaces, resolveMappingRef, resolveValueMapping, stripTrailingChars, stripWhitespace
|
|
124260
124802
|
|
|
124261
124803
|
;// ../../MJGlobal/dist/ClassUtils.js
|
|
124262
124804
|
/**
|
|
@@ -125297,10 +125839,10 @@ var MJEventType = {
|
|
|
125297
125839
|
DisplaySimpleNotificationRequest: 'DisplaySimpleNotificationRequest',
|
|
125298
125840
|
TenantChanged: 'TenantChanged'
|
|
125299
125841
|
};
|
|
125300
|
-
// EXTERNAL MODULE: ../../../node_modules/uuid/dist/v4.js + 3 modules
|
|
125301
|
-
var v4 = __webpack_require__(
|
|
125302
|
-
// EXTERNAL MODULE: ../../../node_modules/lodash/lodash.js
|
|
125303
|
-
var lodash = __webpack_require__(
|
|
125842
|
+
// EXTERNAL MODULE: ../../../node_modules/.pnpm/uuid@13.0.0/node_modules/uuid/dist/v4.js + 3 modules
|
|
125843
|
+
var v4 = __webpack_require__(289);
|
|
125844
|
+
// EXTERNAL MODULE: ../../../node_modules/.pnpm/lodash@4.17.23/node_modules/lodash/lodash.js
|
|
125845
|
+
var lodash = __webpack_require__(923);
|
|
125304
125846
|
;// ../../MJGlobal/dist/util.js
|
|
125305
125847
|
/* unused harmony import specifier */ var _;
|
|
125306
125848
|
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || util_unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
@@ -129117,6 +129659,25 @@ var FULL_QUERY_ALLOWED_KEYWORDS = [
|
|
|
129117
129659
|
// standalone SELECT statement, so allowing FOR in full-query context is safe.
|
|
129118
129660
|
// (FOR UPDATE remains blocked via the independent UPDATE keyword.)
|
|
129119
129661
|
'FOR'];
|
|
129662
|
+
/**
|
|
129663
|
+
* System catalog / metadata objects that must never be referenced from a user-supplied
|
|
129664
|
+
* expression or ad-hoc query, in ANY context (including `full_query`). These sit outside
|
|
129665
|
+
* MemberJunction's entity-permission model, so allowing them turns a validated SELECT into
|
|
129666
|
+
* a schema-enumeration and credential-exfiltration primitive
|
|
129667
|
+
* (e.g. `SELECT name, password_hash FROM sys.sql_logins`,
|
|
129668
|
+
* `SELECT * FROM INFORMATION_SCHEMA.COLUMNS`, `SELECT * FROM pg_catalog.pg_authid`).
|
|
129669
|
+
* String literals are stripped before this check runs, so a literal value like `'sys.x'` is safe.
|
|
129670
|
+
*/
|
|
129671
|
+
var BLOCKED_SYSTEM_OBJECT_PATTERNS = [/\bSYS\s*\.\s*\w/i,
|
|
129672
|
+
// SQL Server system catalog schema: sys.sql_logins, sys.objects, sys.fn_*, ...
|
|
129673
|
+
/\bINFORMATION_SCHEMA\b/i,
|
|
129674
|
+
// ANSI catalog views — schema/table/column enumeration
|
|
129675
|
+
/\bSYSLOGINS\b/i,
|
|
129676
|
+
// legacy SQL Server logins view
|
|
129677
|
+
/\bPG_CATALOG\s*\./i,
|
|
129678
|
+
// PostgreSQL system catalog schema
|
|
129679
|
+
/\bPG_(AUTHID|SHADOW|USER|ROLES)\b/i // PostgreSQL credential / role catalogs
|
|
129680
|
+
];
|
|
129120
129681
|
/**
|
|
129121
129682
|
* Safe SQL functions allowed in expressions, organized by category
|
|
129122
129683
|
*/
|
|
@@ -129289,15 +129850,29 @@ var SQLExpressionValidator = /*#__PURE__*/function (_BaseSingleton) {
|
|
|
129289
129850
|
};
|
|
129290
129851
|
}
|
|
129291
129852
|
}
|
|
129292
|
-
//
|
|
129293
|
-
//
|
|
129294
|
-
//
|
|
129295
|
-
//
|
|
129853
|
+
// Block references to database system catalogs / metadata objects in ALL contexts
|
|
129854
|
+
// (including full_query). These live outside MemberJunction's entity-permission model, so
|
|
129855
|
+
// permitting them turns a validated SELECT into a schema-enumeration / credential-exfiltration
|
|
129856
|
+
// primitive. String literals were already stripped upstream, so legitimate literal values are safe.
|
|
129296
129857
|
} catch (err) {
|
|
129297
129858
|
_iterator.e(err);
|
|
129298
129859
|
} finally {
|
|
129299
129860
|
_iterator.f();
|
|
129300
129861
|
}
|
|
129862
|
+
for (var _i = 0, _BLOCKED_SYSTEM_OBJEC = BLOCKED_SYSTEM_OBJECT_PATTERNS; _i < _BLOCKED_SYSTEM_OBJEC.length; _i++) {
|
|
129863
|
+
var sysPattern = _BLOCKED_SYSTEM_OBJEC[_i];
|
|
129864
|
+
if (sysPattern.test(textToCheck)) {
|
|
129865
|
+
return {
|
|
129866
|
+
valid: false,
|
|
129867
|
+
error: 'Access to database system catalogs / metadata objects is not allowed',
|
|
129868
|
+
trigger: 'system-object'
|
|
129869
|
+
};
|
|
129870
|
+
}
|
|
129871
|
+
}
|
|
129872
|
+
// Check statement terminator (prevents multi-statement injection).
|
|
129873
|
+
// For full_query context, strip comments first (a trailing semicolon may be followed by
|
|
129874
|
+
// an inline comment like `ORDER BY x DESC; -- highest first`), then strip the trailing
|
|
129875
|
+
// semicolon. Only reject if semicolons remain mid-statement, indicating injection.
|
|
129301
129876
|
var textForSemicolonCheck = isFullQuery ? this.stripSQLComments(expression).replace(/;\s*$/, '') // strip comments then trailing semicolon
|
|
129302
129877
|
: expression;
|
|
129303
129878
|
if (textForSemicolonCheck.includes(';')) {
|
|
@@ -130067,10 +130642,10 @@ function IsValueEncrypted(value, encryptionMarker) {
|
|
|
130067
130642
|
function IsEncryptedSentinel(value) {
|
|
130068
130643
|
return value === ENCRYPTED_SENTINEL;
|
|
130069
130644
|
}
|
|
130070
|
-
// EXTERNAL MODULE: ../../../node_modules/rxjs/dist/esm5/internal/Subject.js + 1 modules
|
|
130071
|
-
var Subject = __webpack_require__(
|
|
130072
|
-
// EXTERNAL MODULE: ../../../node_modules/rxjs/dist/esm5/internal/ReplaySubject.js
|
|
130073
|
-
var ReplaySubject = __webpack_require__(
|
|
130645
|
+
// EXTERNAL MODULE: ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/Subject.js + 1 modules
|
|
130646
|
+
var Subject = __webpack_require__(291);
|
|
130647
|
+
// EXTERNAL MODULE: ../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/ReplaySubject.js
|
|
130648
|
+
var ReplaySubject = __webpack_require__(205);
|
|
130074
130649
|
;// ../../MJGlobal/dist/ObjectCache.js
|
|
130075
130650
|
function ObjectCache_typeof(o) { "@babel/helpers - typeof"; return ObjectCache_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, ObjectCache_typeof(o); }
|
|
130076
130651
|
function ObjectCache_defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, ObjectCache_toPropertyKey(o.key), o); } }
|
|
@@ -130438,7 +131013,7 @@ function RegisterClassEx(baseClass) {
|
|
|
130438
131013
|
|
|
130439
131014
|
/***/ },
|
|
130440
131015
|
|
|
130441
|
-
/***/
|
|
131016
|
+
/***/ 198
|
|
130442
131017
|
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
130443
131018
|
|
|
130444
131019
|
"use strict";
|
|
@@ -130859,7 +131434,7 @@ function __rewriteRelativeImportExtension(path, preserveJsx) {
|
|
|
130859
131434
|
|
|
130860
131435
|
/***/ },
|
|
130861
131436
|
|
|
130862
|
-
/***/
|
|
131437
|
+
/***/ 289
|
|
130863
131438
|
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
130864
131439
|
|
|
130865
131440
|
"use strict";
|
|
@@ -130869,11 +131444,11 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
130869
131444
|
A: () => (/* binding */ dist_v4)
|
|
130870
131445
|
});
|
|
130871
131446
|
|
|
130872
|
-
;// ../../../node_modules/uuid/dist/native.js
|
|
131447
|
+
;// ../../../node_modules/.pnpm/uuid@13.0.0/node_modules/uuid/dist/native.js
|
|
130873
131448
|
const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);
|
|
130874
131449
|
/* harmony default export */ const dist_native = ({ randomUUID });
|
|
130875
131450
|
|
|
130876
|
-
;// ../../../node_modules/uuid/dist/rng.js
|
|
131451
|
+
;// ../../../node_modules/.pnpm/uuid@13.0.0/node_modules/uuid/dist/rng.js
|
|
130877
131452
|
let getRandomValues;
|
|
130878
131453
|
const rnds8 = new Uint8Array(16);
|
|
130879
131454
|
function rng() {
|
|
@@ -130886,7 +131461,7 @@ function rng() {
|
|
|
130886
131461
|
return getRandomValues(rnds8);
|
|
130887
131462
|
}
|
|
130888
131463
|
|
|
130889
|
-
;// ../../../node_modules/uuid/dist/stringify.js
|
|
131464
|
+
;// ../../../node_modules/.pnpm/uuid@13.0.0/node_modules/uuid/dist/stringify.js
|
|
130890
131465
|
/* unused harmony import specifier */ var validate;
|
|
130891
131466
|
|
|
130892
131467
|
const byteToHex = [];
|
|
@@ -130924,7 +131499,7 @@ function stringify(arr, offset = 0) {
|
|
|
130924
131499
|
}
|
|
130925
131500
|
/* harmony default export */ const dist_stringify = ((/* unused pure expression or super */ null && (stringify)));
|
|
130926
131501
|
|
|
130927
|
-
;// ../../../node_modules/uuid/dist/v4.js
|
|
131502
|
+
;// ../../../node_modules/.pnpm/uuid@13.0.0/node_modules/uuid/dist/v4.js
|
|
130928
131503
|
|
|
130929
131504
|
|
|
130930
131505
|
|
|
@@ -131231,6 +131806,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
131231
131806
|
|
|
131232
131807
|
// EXPORTS
|
|
131233
131808
|
__webpack_require__.d(__webpack_exports__, {
|
|
131809
|
+
ApplyStyleOverrides: () => (/* reexport */ ApplyStyleOverrides),
|
|
131234
131810
|
BuildStylesFromTheme: () => (/* reexport */ BuildStylesFromTheme),
|
|
131235
131811
|
CacheManager: () => (/* reexport */ CacheManager),
|
|
131236
131812
|
ComponentCompiler: () => (/* reexport */ ComponentCompiler),
|
|
@@ -132643,27 +133219,45 @@ var LibraryLoader = /*#__PURE__*/function () {
|
|
|
132643
133219
|
value: function () {
|
|
132644
133220
|
var _loadLibrariesFromConfig = library_loader_asyncToGenerator(/*#__PURE__*/library_loader_regenerator().m(function _callee2(options, debug) {
|
|
132645
133221
|
var _this = this;
|
|
132646
|
-
var coreLibraries,
|
|
133222
|
+
var coreLibraries, reactLib, reactDOMLib, babelLib, React, phase2Promises, phase2Labels, phase2Results, ReactDOM, Babel, config, enabledLibraries, pluginLibraries, pluginPromises, pluginResults, libraries;
|
|
132647
133223
|
return library_loader_regenerator().w(function (_context2) {
|
|
132648
133224
|
while (1) switch (_context2.n) {
|
|
132649
133225
|
case 0:
|
|
132650
133226
|
coreLibraries = getCoreRuntimeLibraries(debug);
|
|
132651
|
-
|
|
132652
|
-
return
|
|
132653
|
-
});
|
|
132654
|
-
_context2.n = 1;
|
|
132655
|
-
return Promise.all(corePromises);
|
|
132656
|
-
case 1:
|
|
132657
|
-
coreResults = _context2.v;
|
|
132658
|
-
React = coreResults.find(function (_, i) {
|
|
132659
|
-
return coreLibraries[i].globalVariable === 'React';
|
|
133227
|
+
reactLib = coreLibraries.find(function (lib) {
|
|
133228
|
+
return lib.globalVariable === 'React';
|
|
132660
133229
|
});
|
|
132661
|
-
|
|
132662
|
-
return
|
|
133230
|
+
reactDOMLib = coreLibraries.find(function (lib) {
|
|
133231
|
+
return lib.globalVariable === 'ReactDOM';
|
|
132663
133232
|
});
|
|
132664
|
-
|
|
132665
|
-
return
|
|
133233
|
+
babelLib = coreLibraries.find(function (lib) {
|
|
133234
|
+
return lib.globalVariable === 'Babel';
|
|
132666
133235
|
});
|
|
133236
|
+
if (!reactLib) {
|
|
133237
|
+
_context2.n = 2;
|
|
133238
|
+
break;
|
|
133239
|
+
}
|
|
133240
|
+
_context2.n = 1;
|
|
133241
|
+
return this.loadScript(reactLib.cdnUrl, reactLib.globalVariable, debug, reactLib.fallbackCdnUrls);
|
|
133242
|
+
case 1:
|
|
133243
|
+
React = _context2.v;
|
|
133244
|
+
case 2:
|
|
133245
|
+
phase2Promises = [];
|
|
133246
|
+
phase2Labels = [];
|
|
133247
|
+
if (reactDOMLib) {
|
|
133248
|
+
phase2Promises.push(this.loadScript(reactDOMLib.cdnUrl, reactDOMLib.globalVariable, debug, reactDOMLib.fallbackCdnUrls));
|
|
133249
|
+
phase2Labels.push('ReactDOM');
|
|
133250
|
+
}
|
|
133251
|
+
if (babelLib) {
|
|
133252
|
+
phase2Promises.push(this.loadScript(babelLib.cdnUrl, babelLib.globalVariable, debug, babelLib.fallbackCdnUrls));
|
|
133253
|
+
phase2Labels.push('Babel');
|
|
133254
|
+
}
|
|
133255
|
+
_context2.n = 3;
|
|
133256
|
+
return Promise.all(phase2Promises);
|
|
133257
|
+
case 3:
|
|
133258
|
+
phase2Results = _context2.v;
|
|
133259
|
+
ReactDOM = phase2Labels.indexOf('ReactDOM') >= 0 ? phase2Results[phase2Labels.indexOf('ReactDOM')] : undefined;
|
|
133260
|
+
Babel = phase2Labels.indexOf('Babel') >= 0 ? phase2Results[phase2Labels.indexOf('Babel')] : undefined;
|
|
132667
133261
|
if (typeof window !== 'undefined') {
|
|
132668
133262
|
if (React && !window.React) {
|
|
132669
133263
|
window.React = React;
|
|
@@ -132700,9 +133294,9 @@ var LibraryLoader = /*#__PURE__*/function () {
|
|
|
132700
133294
|
pluginPromises = pluginLibraries.map(function (lib) {
|
|
132701
133295
|
return _this.loadScript(lib.cdnUrl, lib.globalVariable, debug, lib.fallbackCdnUrls);
|
|
132702
133296
|
});
|
|
132703
|
-
_context2.n =
|
|
133297
|
+
_context2.n = 4;
|
|
132704
133298
|
return Promise.all(pluginPromises);
|
|
132705
|
-
case
|
|
133299
|
+
case 4:
|
|
132706
133300
|
pluginResults = _context2.v;
|
|
132707
133301
|
libraries = {};
|
|
132708
133302
|
pluginLibraries.forEach(function (lib, index) {
|
|
@@ -132715,7 +133309,7 @@ var LibraryLoader = /*#__PURE__*/function () {
|
|
|
132715
133309
|
libraries: libraries
|
|
132716
133310
|
});
|
|
132717
133311
|
}
|
|
132718
|
-
}, _callee2);
|
|
133312
|
+
}, _callee2, this);
|
|
132719
133313
|
}));
|
|
132720
133314
|
function loadLibrariesFromConfig(_x4, _x5) {
|
|
132721
133315
|
return _loadLibrariesFromConfig.apply(this, arguments);
|
|
@@ -135027,11 +135621,11 @@ var ComponentRegistry = /*#__PURE__*/function () {
|
|
|
135027
135621
|
}]);
|
|
135028
135622
|
}();
|
|
135029
135623
|
// EXTERNAL MODULE: ../../MJCore/dist/index.js + 88 modules
|
|
135030
|
-
var dist = __webpack_require__(
|
|
135624
|
+
var dist = __webpack_require__(63);
|
|
135031
135625
|
// EXTERNAL MODULE: ../../MJGlobal/dist/index.js + 24 modules
|
|
135032
|
-
var MJGlobal_dist = __webpack_require__(
|
|
135626
|
+
var MJGlobal_dist = __webpack_require__(899);
|
|
135033
135627
|
// EXTERNAL MODULE: ../../MJCoreEntities/dist/index.js + 66 modules
|
|
135034
|
-
var MJCoreEntities_dist = __webpack_require__(
|
|
135628
|
+
var MJCoreEntities_dist = __webpack_require__(835);
|
|
135035
135629
|
;// ./dist/registry/component-registry-service.js
|
|
135036
135630
|
function component_registry_service_typeof(o) { "@babel/helpers - typeof"; return component_registry_service_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, component_registry_service_typeof(o); }
|
|
135037
135631
|
var _ComponentRegistryService;
|
|
@@ -135117,7 +135711,7 @@ var ComponentRegistryService = /*#__PURE__*/function () {
|
|
|
135117
135711
|
}
|
|
135118
135712
|
_context.p = 3;
|
|
135119
135713
|
_context.n = 4;
|
|
135120
|
-
return Promise.all(/* import() */[__webpack_require__.e(
|
|
135714
|
+
return Promise.all(/* import() */[__webpack_require__.e(456), __webpack_require__.e(324)]).then(__webpack_require__.bind(__webpack_require__, 324));
|
|
135121
135715
|
case 4:
|
|
135122
135716
|
graphqlModule = _context.v;
|
|
135123
135717
|
GraphQLComponentRegistryClient = graphqlModule.GraphQLComponentRegistryClient;
|
|
@@ -137836,7 +138430,7 @@ var ComponentManager = /*#__PURE__*/function () {
|
|
|
137836
138430
|
break;
|
|
137837
138431
|
}
|
|
137838
138432
|
_context0.n = 1;
|
|
137839
|
-
return Promise.all(/* import() */[__webpack_require__.e(
|
|
138433
|
+
return Promise.all(/* import() */[__webpack_require__.e(456), __webpack_require__.e(324)]).then(__webpack_require__.bind(__webpack_require__, 324));
|
|
137840
138434
|
case 1:
|
|
137841
138435
|
_yield$import = _context0.v;
|
|
137842
138436
|
GraphQLComponentRegistryClient = _yield$import.GraphQLComponentRegistryClient;
|
|
@@ -138391,7 +138985,7 @@ var ComponentHierarchyRegistrar = /*#__PURE__*/function () {
|
|
|
138391
138985
|
return _context.a(2, null);
|
|
138392
138986
|
case 1:
|
|
138393
138987
|
_context.n = 2;
|
|
138394
|
-
return Promise.all(/* import() */[__webpack_require__.e(
|
|
138988
|
+
return Promise.all(/* import() */[__webpack_require__.e(456), __webpack_require__.e(324)]).then(__webpack_require__.bind(__webpack_require__, 324));
|
|
138395
138989
|
case 2:
|
|
138396
138990
|
_yield$import = _context.v;
|
|
138397
138991
|
GraphQLComponentRegistryClient = _yield$import.GraphQLComponentRegistryClient;
|
|
@@ -139186,6 +139780,12 @@ var reactRootManager = new ReactRootManager();
|
|
|
139186
139780
|
|
|
139187
139781
|
|
|
139188
139782
|
;// ./dist/utilities/component-styles.js
|
|
139783
|
+
function component_styles_typeof(o) { "@babel/helpers - typeof"; return component_styles_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, component_styles_typeof(o); }
|
|
139784
|
+
function component_styles_ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
139785
|
+
function component_styles_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? component_styles_ownKeys(Object(t), !0).forEach(function (r) { component_styles_defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : component_styles_ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
139786
|
+
function component_styles_defineProperty(e, r, t) { return (r = component_styles_toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
139787
|
+
function component_styles_toPropertyKey(t) { var i = component_styles_toPrimitive(t, "string"); return "symbol" == component_styles_typeof(i) ? i : i + ""; }
|
|
139788
|
+
function component_styles_toPrimitive(t, r) { if ("object" != component_styles_typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != component_styles_typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
139189
139789
|
function component_styles_slicedToArray(r, e) { return component_styles_arrayWithHoles(r) || component_styles_iterableToArrayLimit(r, e) || component_styles_unsupportedIterableToArray(r, e) || component_styles_nonIterableRest(); }
|
|
139190
139790
|
function component_styles_nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
139191
139791
|
function component_styles_unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return component_styles_arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? component_styles_arrayLikeToArray(r, a) : void 0; } }
|
|
@@ -139203,15 +139803,24 @@ function SetupStyles() {
|
|
|
139203
139803
|
secondaryHover: '#475569',
|
|
139204
139804
|
success: '#10B981',
|
|
139205
139805
|
successLight: '#D1FAE5',
|
|
139806
|
+
successText: '#047857',
|
|
139807
|
+
successBorder: '#b7eb8f',
|
|
139206
139808
|
warning: '#F59E0B',
|
|
139207
139809
|
warningLight: '#FEF3C7',
|
|
139810
|
+
warningText: '#8c6c00',
|
|
139811
|
+
warningBorder: '#ffe58f',
|
|
139208
139812
|
error: '#EF4444',
|
|
139209
139813
|
errorLight: '#FEE2E2',
|
|
139814
|
+
errorText: '#B91C1C',
|
|
139815
|
+
errorBorder: '#FECACA',
|
|
139210
139816
|
info: '#3B82F6',
|
|
139211
139817
|
infoLight: '#DBEAFE',
|
|
139818
|
+
infoText: '#1D4ED8',
|
|
139819
|
+
infoBorder: '#91d5ff',
|
|
139212
139820
|
background: '#FFFFFF',
|
|
139213
139821
|
surface: '#F8FAFC',
|
|
139214
139822
|
surfaceHover: '#F1F5F9',
|
|
139823
|
+
overlay: 'rgba(0, 0, 0, 0.5)',
|
|
139215
139824
|
text: '#1E293B',
|
|
139216
139825
|
textSecondary: '#64748B',
|
|
139217
139826
|
textTertiary: '#94A3B8',
|
|
@@ -139285,7 +139894,13 @@ function SetupStyles() {
|
|
|
139285
139894
|
slow: '350ms ease-in-out'
|
|
139286
139895
|
},
|
|
139287
139896
|
overflow: 'auto',
|
|
139288
|
-
chartPalette: ['#2196F3', '#4CAF50', '#FF9800', '#E91E63', '#9C27B0', '#00BCD4', '#F44336', '#8BC34A', '#FF5722', '#3F51B5']
|
|
139897
|
+
chartPalette: ['#2196F3', '#4CAF50', '#FF9800', '#E91E63', '#9C27B0', '#00BCD4', '#F44336', '#8BC34A', '#FF5722', '#3F51B5'],
|
|
139898
|
+
sequentialScale: ['#E3F2FD', '#BBDEFB', '#90CAF9', '#42A5F5', '#2196F3', '#1976D2', '#0D47A1'],
|
|
139899
|
+
divergingScale: {
|
|
139900
|
+
low: '#F44336',
|
|
139901
|
+
mid: '#EEEEEE',
|
|
139902
|
+
high: '#4CAF50'
|
|
139903
|
+
}
|
|
139289
139904
|
};
|
|
139290
139905
|
}
|
|
139291
139906
|
var createDefaultComponentStyles = SetupStyles;
|
|
@@ -139294,17 +139909,28 @@ var THEME_COLOR_TOKEN_MAP = {
|
|
|
139294
139909
|
primaryHover: '--mj-brand-primary-hover',
|
|
139295
139910
|
primaryActive: '--mj-brand-primary-active',
|
|
139296
139911
|
primaryLight: '--mj-brand-primary-light',
|
|
139912
|
+
secondary: '--mj-brand-secondary',
|
|
139913
|
+
secondaryHover: '--mj-brand-secondary-hover',
|
|
139297
139914
|
success: '--mj-status-success',
|
|
139298
139915
|
successLight: '--mj-status-success-bg',
|
|
139916
|
+
successText: '--mj-status-success-text',
|
|
139917
|
+
successBorder: '--mj-status-success-border',
|
|
139299
139918
|
warning: '--mj-status-warning',
|
|
139300
139919
|
warningLight: '--mj-status-warning-bg',
|
|
139920
|
+
warningText: '--mj-status-warning-text',
|
|
139921
|
+
warningBorder: '--mj-status-warning-border',
|
|
139301
139922
|
error: '--mj-status-error',
|
|
139302
139923
|
errorLight: '--mj-status-error-bg',
|
|
139924
|
+
errorText: '--mj-status-error-text',
|
|
139925
|
+
errorBorder: '--mj-status-error-border',
|
|
139303
139926
|
info: '--mj-status-info',
|
|
139304
139927
|
infoLight: '--mj-status-info-bg',
|
|
139928
|
+
infoText: '--mj-status-info-text',
|
|
139929
|
+
infoBorder: '--mj-status-info-border',
|
|
139305
139930
|
background: '--mj-bg-page',
|
|
139306
139931
|
surface: '--mj-bg-surface',
|
|
139307
139932
|
surfaceHover: '--mj-bg-surface-hover',
|
|
139933
|
+
overlay: '--mj-bg-overlay',
|
|
139308
139934
|
text: '--mj-text-primary',
|
|
139309
139935
|
textSecondary: '--mj-text-secondary',
|
|
139310
139936
|
textTertiary: '--mj-text-muted',
|
|
@@ -139316,6 +139942,7 @@ var THEME_COLOR_TOKEN_MAP = {
|
|
|
139316
139942
|
borderFocus: '--mj-border-focus'
|
|
139317
139943
|
};
|
|
139318
139944
|
var VIZ_TOKEN_COUNT = 10;
|
|
139945
|
+
var VIZ_SEQ_TOKEN_COUNT = 7;
|
|
139319
139946
|
function BuildStylesFromTheme(root) {
|
|
139320
139947
|
var base = SetupStyles();
|
|
139321
139948
|
var el = root !== null && root !== void 0 ? root : typeof document !== 'undefined' ? document.documentElement : undefined;
|
|
@@ -139345,8 +139972,72 @@ function BuildStylesFromTheme(root) {
|
|
|
139345
139972
|
if (palette.length > 0) {
|
|
139346
139973
|
base.chartPalette = palette;
|
|
139347
139974
|
}
|
|
139975
|
+
var sequential = [];
|
|
139976
|
+
for (var _i2 = 1; _i2 <= VIZ_SEQ_TOKEN_COUNT; _i2++) {
|
|
139977
|
+
var _value2 = read("--mj-viz-seq-".concat(_i2));
|
|
139978
|
+
if (_value2) {
|
|
139979
|
+
sequential.push(_value2);
|
|
139980
|
+
}
|
|
139981
|
+
}
|
|
139982
|
+
if (sequential.length > 1) {
|
|
139983
|
+
base.sequentialScale = sequential;
|
|
139984
|
+
}
|
|
139985
|
+
var divLow = read('--mj-viz-div-low');
|
|
139986
|
+
var divHigh = read('--mj-viz-div-high');
|
|
139987
|
+
if (divLow && divHigh) {
|
|
139988
|
+
var divMid = read('--mj-viz-div-mid');
|
|
139989
|
+
base.divergingScale = divMid ? {
|
|
139990
|
+
low: divLow,
|
|
139991
|
+
mid: divMid,
|
|
139992
|
+
high: divHigh
|
|
139993
|
+
} : {
|
|
139994
|
+
low: divLow,
|
|
139995
|
+
high: divHigh
|
|
139996
|
+
};
|
|
139997
|
+
}
|
|
139348
139998
|
return base;
|
|
139349
139999
|
}
|
|
140000
|
+
var FONT_SCALE_FACTOR = {
|
|
140001
|
+
small: 0.875,
|
|
140002
|
+
large: 1.25
|
|
140003
|
+
};
|
|
140004
|
+
var MIN_FONT_SIZE_PX = 10;
|
|
140005
|
+
function scaleFontSizes(fontSize, factor) {
|
|
140006
|
+
var scaled = {};
|
|
140007
|
+
for (var _i3 = 0, _Object$entries2 = Object.entries(fontSize); _i3 < _Object$entries2.length; _i3++) {
|
|
140008
|
+
var _Object$entries2$_i = component_styles_slicedToArray(_Object$entries2[_i3], 2),
|
|
140009
|
+
key = _Object$entries2$_i[0],
|
|
140010
|
+
value = _Object$entries2$_i[1];
|
|
140011
|
+
var px = typeof value === 'string' ? /^\s*(\d+(?:\.\d+)?)px\s*$/.exec(value) : null;
|
|
140012
|
+
scaled[key] = px ? "".concat(Math.max(MIN_FONT_SIZE_PX, Math.round(parseFloat(px[1]) * factor)), "px") : value;
|
|
140013
|
+
}
|
|
140014
|
+
return scaled;
|
|
140015
|
+
}
|
|
140016
|
+
function ApplyStyleOverrides(base, overrides) {
|
|
140017
|
+
var _overrides$divergingS, _overrides$divergingS2, _base$typography;
|
|
140018
|
+
if (!overrides) {
|
|
140019
|
+
return base;
|
|
140020
|
+
}
|
|
140021
|
+
var hasChartPalette = Array.isArray(overrides.chartPalette) && overrides.chartPalette.length > 0;
|
|
140022
|
+
var hasSequential = Array.isArray(overrides.sequentialScale) && overrides.sequentialScale.length > 1;
|
|
140023
|
+
var hasDiverging = !!((_overrides$divergingS = overrides.divergingScale) !== null && _overrides$divergingS !== void 0 && _overrides$divergingS.low) && !!((_overrides$divergingS2 = overrides.divergingScale) !== null && _overrides$divergingS2 !== void 0 && _overrides$divergingS2.high);
|
|
140024
|
+
var fontFactor = overrides.fontScale ? FONT_SCALE_FACTOR[overrides.fontScale] : undefined;
|
|
140025
|
+
var hasFontScale = !!fontFactor && !!((_base$typography = base.typography) !== null && _base$typography !== void 0 && _base$typography.fontSize);
|
|
140026
|
+
if (!hasChartPalette && !hasSequential && !hasDiverging && !hasFontScale) {
|
|
140027
|
+
return base;
|
|
140028
|
+
}
|
|
140029
|
+
return component_styles_objectSpread(component_styles_objectSpread(component_styles_objectSpread(component_styles_objectSpread(component_styles_objectSpread({}, base), hasChartPalette ? {
|
|
140030
|
+
chartPalette: overrides.chartPalette
|
|
140031
|
+
} : {}), hasSequential ? {
|
|
140032
|
+
sequentialScale: overrides.sequentialScale
|
|
140033
|
+
} : {}), hasDiverging ? {
|
|
140034
|
+
divergingScale: overrides.divergingScale
|
|
140035
|
+
} : {}), hasFontScale ? {
|
|
140036
|
+
typography: component_styles_objectSpread(component_styles_objectSpread({}, base.typography), {}, {
|
|
140037
|
+
fontSize: scaleFontSizes(base.typography.fontSize, fontFactor)
|
|
140038
|
+
})
|
|
140039
|
+
} : {});
|
|
140040
|
+
}
|
|
139350
140041
|
;// ./dist/utilities/component-library-theming.js
|
|
139351
140042
|
|
|
139352
140043
|
function colorLuminance(color) {
|