@memberjunction/core-entities-server 6.2.0-edge.1 → 6.2.0-edge.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. package/README.md +7 -3
  2. package/dist/custom/FormComponentGuard.d.ts +48 -0
  3. package/dist/custom/FormComponentGuard.d.ts.map +1 -0
  4. package/dist/custom/FormComponentGuard.js +236 -0
  5. package/dist/custom/FormComponentGuard.js.map +1 -0
  6. package/dist/custom/FormScopeGuard.d.ts +52 -0
  7. package/dist/custom/FormScopeGuard.d.ts.map +1 -0
  8. package/dist/custom/FormScopeGuard.js +111 -0
  9. package/dist/custom/FormScopeGuard.js.map +1 -0
  10. package/dist/custom/MJAIAgentExampleEntityServer.server.d.ts.map +1 -1
  11. package/dist/custom/MJAIAgentExampleEntityServer.server.js +3 -2
  12. package/dist/custom/MJAIAgentExampleEntityServer.server.js.map +1 -1
  13. package/dist/custom/MJAIAgentNoteEntityServer.server.d.ts.map +1 -1
  14. package/dist/custom/MJAIAgentNoteEntityServer.server.js +3 -2
  15. package/dist/custom/MJAIAgentNoteEntityServer.server.js.map +1 -1
  16. package/dist/custom/MJActionEntityServer.server.js +1 -1
  17. package/dist/custom/MJActionEntityServer.server.js.map +1 -1
  18. package/dist/custom/MJComponentEntityServer.server.d.ts +30 -2
  19. package/dist/custom/MJComponentEntityServer.server.d.ts.map +1 -1
  20. package/dist/custom/MJComponentEntityServer.server.js +64 -5
  21. package/dist/custom/MJComponentEntityServer.server.js.map +1 -1
  22. package/dist/custom/MJDuplicateRunEntityServer.server.d.ts +2 -1
  23. package/dist/custom/MJDuplicateRunEntityServer.server.d.ts.map +1 -1
  24. package/dist/custom/MJDuplicateRunEntityServer.server.js +2 -2
  25. package/dist/custom/MJDuplicateRunEntityServer.server.js.map +1 -1
  26. package/dist/custom/MJEntityFormContributionEntityServer.server.d.ts +37 -0
  27. package/dist/custom/MJEntityFormContributionEntityServer.server.d.ts.map +1 -0
  28. package/dist/custom/MJEntityFormContributionEntityServer.server.js +89 -0
  29. package/dist/custom/MJEntityFormContributionEntityServer.server.js.map +1 -0
  30. package/dist/custom/MJEntityFormOverrideEntityServer.server.d.ts +37 -0
  31. package/dist/custom/MJEntityFormOverrideEntityServer.server.d.ts.map +1 -0
  32. package/dist/custom/MJEntityFormOverrideEntityServer.server.js +89 -0
  33. package/dist/custom/MJEntityFormOverrideEntityServer.server.js.map +1 -0
  34. package/dist/custom/MJInteractionEventEntityServer.server.d.ts +23 -0
  35. package/dist/custom/MJInteractionEventEntityServer.server.d.ts.map +1 -0
  36. package/dist/custom/MJInteractionEventEntityServer.server.js +70 -0
  37. package/dist/custom/MJInteractionEventEntityServer.server.js.map +1 -0
  38. package/dist/custom/MJQueryEntityServer.server.d.ts +9 -1
  39. package/dist/custom/MJQueryEntityServer.server.d.ts.map +1 -1
  40. package/dist/custom/MJQueryEntityServer.server.js +28 -8
  41. package/dist/custom/MJQueryEntityServer.server.js.map +1 -1
  42. package/dist/custom/MJRecordChangeEntityServer.server.d.ts +11 -0
  43. package/dist/custom/MJRecordChangeEntityServer.server.d.ts.map +1 -0
  44. package/dist/custom/MJRecordChangeEntityServer.server.js +103 -0
  45. package/dist/custom/MJRecordChangeEntityServer.server.js.map +1 -0
  46. package/dist/custom/MJRecordProcessEntityServer.server.d.ts +6 -2
  47. package/dist/custom/MJRecordProcessEntityServer.server.d.ts.map +1 -1
  48. package/dist/custom/MJRecordProcessEntityServer.server.js +6 -2
  49. package/dist/custom/MJRecordProcessEntityServer.server.js.map +1 -1
  50. package/dist/custom/MJRemoteOperationEntityServer.server.js +1 -1
  51. package/dist/custom/MJRemoteOperationEntityServer.server.js.map +1 -1
  52. package/dist/custom/MJRubricBandEntityServer.server.d.ts +9 -0
  53. package/dist/custom/MJRubricBandEntityServer.server.d.ts.map +1 -0
  54. package/dist/custom/MJRubricBandEntityServer.server.js +34 -0
  55. package/dist/custom/MJRubricBandEntityServer.server.js.map +1 -0
  56. package/dist/custom/MJRubricCriterionEntityServer.server.d.ts +16 -0
  57. package/dist/custom/MJRubricCriterionEntityServer.server.d.ts.map +1 -0
  58. package/dist/custom/MJRubricCriterionEntityServer.server.js +43 -0
  59. package/dist/custom/MJRubricCriterionEntityServer.server.js.map +1 -0
  60. package/dist/custom/MJRubricCriterionLevelEntityServer.server.d.ts +10 -0
  61. package/dist/custom/MJRubricCriterionLevelEntityServer.server.d.ts.map +1 -0
  62. package/dist/custom/MJRubricCriterionLevelEntityServer.server.js +43 -0
  63. package/dist/custom/MJRubricCriterionLevelEntityServer.server.js.map +1 -0
  64. package/dist/custom/MJRubricEvaluationEntityServer.server.d.ts +43 -0
  65. package/dist/custom/MJRubricEvaluationEntityServer.server.d.ts.map +1 -0
  66. package/dist/custom/MJRubricEvaluationEntityServer.server.js +243 -0
  67. package/dist/custom/MJRubricEvaluationEntityServer.server.js.map +1 -0
  68. package/dist/custom/MJRubricEvaluationScoreEntityServer.server.d.ts +26 -0
  69. package/dist/custom/MJRubricEvaluationScoreEntityServer.server.d.ts.map +1 -0
  70. package/dist/custom/MJRubricEvaluationScoreEntityServer.server.js +49 -0
  71. package/dist/custom/MJRubricEvaluationScoreEntityServer.server.js.map +1 -0
  72. package/dist/custom/MJRubricScaleEntityServer.server.d.ts +24 -0
  73. package/dist/custom/MJRubricScaleEntityServer.server.d.ts.map +1 -0
  74. package/dist/custom/MJRubricScaleEntityServer.server.js +88 -0
  75. package/dist/custom/MJRubricScaleEntityServer.server.js.map +1 -0
  76. package/dist/custom/MJRubricScaleLevelEntityServer.server.d.ts +16 -0
  77. package/dist/custom/MJRubricScaleLevelEntityServer.server.d.ts.map +1 -0
  78. package/dist/custom/MJRubricScaleLevelEntityServer.server.js +80 -0
  79. package/dist/custom/MJRubricScaleLevelEntityServer.server.js.map +1 -0
  80. package/dist/custom/MJRubricVersionEntityServer.server.d.ts +46 -0
  81. package/dist/custom/MJRubricVersionEntityServer.server.d.ts.map +1 -0
  82. package/dist/custom/MJRubricVersionEntityServer.server.js +131 -0
  83. package/dist/custom/MJRubricVersionEntityServer.server.js.map +1 -0
  84. package/dist/custom/MJTagEntityServer.server.d.ts +1 -1
  85. package/dist/custom/MJTagEntityServer.server.d.ts.map +1 -1
  86. package/dist/custom/MJTagEntityServer.server.js +7 -3
  87. package/dist/custom/MJTagEntityServer.server.js.map +1 -1
  88. package/dist/custom/MJVectorIndexEntityServer.server.d.ts +2 -1
  89. package/dist/custom/MJVectorIndexEntityServer.server.d.ts.map +1 -1
  90. package/dist/custom/MJVectorIndexEntityServer.server.js +6 -4
  91. package/dist/custom/MJVectorIndexEntityServer.server.js.map +1 -1
  92. package/dist/custom/query-extraction/pipeline.js +1 -1
  93. package/dist/custom/query-extraction/pipeline.js.map +1 -1
  94. package/dist/custom/query-extraction/resolve.d.ts +5 -2
  95. package/dist/custom/query-extraction/resolve.d.ts.map +1 -1
  96. package/dist/custom/query-extraction/resolve.js +6 -3
  97. package/dist/custom/query-extraction/resolve.js.map +1 -1
  98. package/dist/custom/query-extraction/sync.d.ts.map +1 -1
  99. package/dist/custom/query-extraction/sync.js +4 -2
  100. package/dist/custom/query-extraction/sync.js.map +1 -1
  101. package/dist/custom/rubrics/evaluationSubmit.d.ts +95 -0
  102. package/dist/custom/rubrics/evaluationSubmit.d.ts.map +1 -0
  103. package/dist/custom/rubrics/evaluationSubmit.js +142 -0
  104. package/dist/custom/rubrics/evaluationSubmit.js.map +1 -0
  105. package/dist/custom/rubrics/scaleFreeze.d.ts +21 -0
  106. package/dist/custom/rubrics/scaleFreeze.d.ts.map +1 -0
  107. package/dist/custom/rubrics/scaleFreeze.js +30 -0
  108. package/dist/custom/rubrics/scaleFreeze.js.map +1 -0
  109. package/dist/custom/rubrics/statusRules.d.ts +13 -0
  110. package/dist/custom/rubrics/statusRules.d.ts.map +1 -0
  111. package/dist/custom/rubrics/statusRules.js +57 -0
  112. package/dist/custom/rubrics/statusRules.js.map +1 -0
  113. package/dist/custom/rubrics/versionPublish.d.ts +67 -0
  114. package/dist/custom/rubrics/versionPublish.d.ts.map +1 -0
  115. package/dist/custom/rubrics/versionPublish.js +222 -0
  116. package/dist/custom/rubrics/versionPublish.js.map +1 -0
  117. package/dist/engines/IdentityClaimEngineServer.d.ts +9 -0
  118. package/dist/engines/IdentityClaimEngineServer.d.ts.map +1 -1
  119. package/dist/engines/IdentityClaimEngineServer.js +38 -8
  120. package/dist/engines/IdentityClaimEngineServer.js.map +1 -1
  121. package/dist/engines/QueryEngineServer.d.ts.map +1 -1
  122. package/dist/engines/QueryEngineServer.js +15 -16
  123. package/dist/engines/QueryEngineServer.js.map +1 -1
  124. package/dist/index.d.ts +16 -0
  125. package/dist/index.d.ts.map +1 -1
  126. package/dist/index.js +16 -0
  127. package/dist/index.js.map +1 -1
  128. package/package.json +30 -28
@@ -0,0 +1,80 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { BaseEntity } from '@memberjunction/core';
8
+ import { MJRubricScaleLevelEntity } from '@memberjunction/core-entities';
9
+ import { RegisterClass } from '@memberjunction/global';
10
+ import { FrozenScaleChange } from './rubrics/scaleFreeze.js';
11
+ /**
12
+ * A level whose scale is used by a published version cannot change its value
13
+ * or normalized value. Label and description may change. The scale server
14
+ * covers the scale row; this server covers the level row, which is a
15
+ * separate save.
16
+ */
17
+ let MJRubricScaleLevelEntityServer = class MJRubricScaleLevelEntityServer extends MJRubricScaleLevelEntity {
18
+ /**
19
+ * Refuses a value edit when a published version uses this scale.
20
+ * A description or label edit passes.
21
+ */
22
+ async ValidateAsync() {
23
+ const result = await super.ValidateAsync();
24
+ const provider = this.ProviderToUse;
25
+ if (!provider?.RunView || !this.ScaleID)
26
+ return result;
27
+ const criteria = await provider.RunView({ EntityName: 'MJ: Rubric Criteria', ExtraFilter: `ScaleID='${this.ScaleID}'` }, this.ContextCurrentUser);
28
+ const versionIds = [...new Set((criteria.Results ?? []).map(row => String(row.RubricVersionID ?? '')).filter(id => id))];
29
+ let used = false;
30
+ for (const versionId of versionIds) {
31
+ const versions = await provider.RunView({ EntityName: 'MJ: Rubric Versions', ExtraFilter: `ID='${versionId}'` }, this.ContextCurrentUser);
32
+ if ((versions.Results ?? []).some(row => row.Status === 'Published'))
33
+ used = true;
34
+ }
35
+ if (!used)
36
+ return result;
37
+ const stored = await provider.RunView({ EntityName: 'MJ: Rubric Scale Levels', ExtraFilter: `ID='${this.ID}'` }, this.ContextCurrentUser);
38
+ const scales = await provider.RunView({ EntityName: 'MJ: Rubric Scales', ExtraFilter: `ID='${this.ScaleID}'` }, this.ContextCurrentUser);
39
+ const storedLevel = stored.Results?.[0];
40
+ const scale = scales.Results?.[0];
41
+ if (!scale)
42
+ return result;
43
+ if (!storedLevel) {
44
+ result.Success = false;
45
+ result.Errors.push({ Message: 'A scale used by a published version cannot add a level.', FieldName: 'Value' });
46
+ return result;
47
+ }
48
+ const shape = (level) => ({
49
+ scaleType: String(scale.ScaleType ?? 'Levels'),
50
+ minValue: (scale.MinValue ?? null),
51
+ maxValue: (scale.MaxValue ?? null),
52
+ step: (scale.Step ?? null),
53
+ higherIsBetter: Boolean(scale.HigherIsBetter),
54
+ levels: [level],
55
+ });
56
+ const message = FrozenScaleChange(true, shape({
57
+ id: this.ID,
58
+ value: Number(storedLevel.Value),
59
+ normalizedValue: Number(storedLevel.NormalizedValue),
60
+ label: String(storedLevel.Label ?? ''),
61
+ description: (storedLevel.Description ?? null),
62
+ }), shape({
63
+ id: this.ID,
64
+ value: this.Value,
65
+ normalizedValue: this.NormalizedValue,
66
+ label: this.Label,
67
+ description: this.Description,
68
+ }));
69
+ if (message) {
70
+ result.Success = false;
71
+ result.Errors.push({ Message: message, FieldName: 'NormalizedValue' });
72
+ }
73
+ return result;
74
+ }
75
+ };
76
+ MJRubricScaleLevelEntityServer = __decorate([
77
+ RegisterClass(BaseEntity, 'MJ: Rubric Scale Levels')
78
+ ], MJRubricScaleLevelEntityServer);
79
+ export { MJRubricScaleLevelEntityServer };
80
+ //# sourceMappingURL=MJRubricScaleLevelEntityServer.server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MJRubricScaleLevelEntityServer.server.js","sourceRoot":"","sources":["../../src/custom/MJRubricScaleLevelEntityServer.server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ import { type EntitySaveOptions, type ValidationResult } from '@memberjunction/core';
2
+ import { MJRubricVersionEntity } from '@memberjunction/core-entities';
3
+ import type { RubricVersionSnapshot } from '@memberjunction/rubrics-base';
4
+ import { type PublishResult } from './rubrics/versionPublish.js';
5
+ /**
6
+ * Draft, publish, and hash a rubric version.
7
+ *
8
+ * `publish` refuses a tree with duplicate keys, a missing or cyclic parent, a
9
+ * criterion without a scale, or a gate without a minimum, and refuses a draft
10
+ * identical to its base. It writes the bump, version numbers, change details,
11
+ * ContentHash, and ScoringHash from RubricVersionDiff. It does not write a
12
+ * second copy of the scoring math.
13
+ */
14
+ export declare class MJRubricVersionEntityServer extends MJRubricVersionEntity {
15
+ /**
16
+ * Deep-clones criteria onto a new draft. Keys are kept. Ids and parent ids
17
+ * are new. The caller sets Status to Draft and BasedOnVersionID to the source.
18
+ */
19
+ CloneNodes(source: RubricVersionSnapshot['nodes']): RubricVersionSnapshot['nodes'];
20
+ /**
21
+ * Computes the publish result and copies it onto this version. Refuses the
22
+ * cases documented on the class. The caller saves inside its transaction.
23
+ */
24
+ Publish(base: RubricVersionSnapshot | null, draft: RubricVersionSnapshot, requestedBump?: 'Major' | 'Minor' | 'Patch' | null): Promise<PublishResult>;
25
+ /**
26
+ * A new version is Draft. Draft becomes Published only through Publish.
27
+ * A frozen version moves only between Published and Retired, and none of
28
+ * the columns the immutability trigger freezes may change on that move.
29
+ */
30
+ ValidateAsync(): Promise<ValidationResult>;
31
+ /**
32
+ * A repeat metadata push reapplies the draft file onto a version the
33
+ * publication file already published. Leaving Status untouched keeps the
34
+ * loaded row clean, so sync counts it unchanged instead of updating it.
35
+ */
36
+ Set(fieldName: string, value: unknown): void;
37
+ /**
38
+ * When Status moves Draft → Published, loads the draft tree and its base
39
+ * version and calls {@link publish}. Setting Status and saving is enough.
40
+ * Refuses the cases documented on the class. Writes PublishedAt with the
41
+ * status, which the published-version check constraint requires, and stamps
42
+ * PublishedByUserID from the current user. Retiring stamps RetiredAt.
43
+ */
44
+ Save(options?: EntitySaveOptions): Promise<boolean>;
45
+ }
46
+ //# sourceMappingURL=MJRubricVersionEntityServer.server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MJRubricVersionEntityServer.server.d.ts","sourceRoot":"","sources":["../../src/custom/MJRubricVersionEntityServer.server.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC/G,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAEtE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAE1E,OAAO,EAAgE,KAAK,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE/H;;;;;;;;GAQG;AACH,qBACa,2BAA4B,SAAQ,qBAAqB;IAClE;;;OAGG;IACI,UAAU,CAAC,MAAM,EAAE,qBAAqB,CAAC,OAAO,CAAC,GAAG,qBAAqB,CAAC,OAAO,CAAC;IAIzF;;;OAGG;IACU,OAAO,CAChB,IAAI,EAAE,qBAAqB,GAAG,IAAI,EAClC,KAAK,EAAE,qBAAqB,EAC5B,aAAa,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,IAAI,GACnD,OAAO,CAAC,aAAa,CAAC;IAezB;;;;OAIG;IACmB,aAAa,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAkBhE;;;;OAIG;IACa,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAK5D;;;;;;OAMG;IACmB,IAAI,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;CAmC5E"}
@@ -0,0 +1,131 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { BaseEntity, CompositeKey } from '@memberjunction/core';
8
+ import { MJRubricVersionEntity } from '@memberjunction/core-entities';
9
+ import { RegisterClass } from '@memberjunction/global';
10
+ import { FROZEN_VERSION_FIELDS, PushFailure, VersionStatusError } from './rubrics/statusRules.js';
11
+ import { CloneVersionNodes, LoadDraftForPublish, PublishRubricVersion } from './rubrics/versionPublish.js';
12
+ /**
13
+ * Draft, publish, and hash a rubric version.
14
+ *
15
+ * `publish` refuses a tree with duplicate keys, a missing or cyclic parent, a
16
+ * criterion without a scale, or a gate without a minimum, and refuses a draft
17
+ * identical to its base. It writes the bump, version numbers, change details,
18
+ * ContentHash, and ScoringHash from RubricVersionDiff. It does not write a
19
+ * second copy of the scoring math.
20
+ */
21
+ let MJRubricVersionEntityServer = class MJRubricVersionEntityServer extends MJRubricVersionEntity {
22
+ /**
23
+ * Deep-clones criteria onto a new draft. Keys are kept. Ids and parent ids
24
+ * are new. The caller sets Status to Draft and BasedOnVersionID to the source.
25
+ */
26
+ CloneNodes(source) {
27
+ return CloneVersionNodes(source);
28
+ }
29
+ /**
30
+ * Computes the publish result and copies it onto this version. Refuses the
31
+ * cases documented on the class. The caller saves inside its transaction.
32
+ */
33
+ async Publish(base, draft, requestedBump) {
34
+ const result = await PublishRubricVersion(base, draft, requestedBump);
35
+ this.Status = 'Published';
36
+ this.MajorVersion = result.majorVersion;
37
+ this.MinorVersion = result.minorVersion;
38
+ this.PatchVersion = result.patchVersion;
39
+ this.ComputedBump = result.computedBump;
40
+ this.AppliedBump = result.appliedBump;
41
+ this.ContentHash = result.contentHash;
42
+ this.ScoringHash = result.scoringHash;
43
+ this.ChangeDetails = JSON.stringify(result.changeDetails);
44
+ this.PublishedAt = result.publishedAt;
45
+ return result;
46
+ }
47
+ /**
48
+ * A new version is Draft. Draft becomes Published only through Publish.
49
+ * A frozen version moves only between Published and Retired, and none of
50
+ * the columns the immutability trigger freezes may change on that move.
51
+ */
52
+ async ValidateAsync() {
53
+ const result = await super.ValidateAsync();
54
+ const status = this.GetFieldByName('Status');
55
+ const previous = this.IsSaved === false ? null : String(status?.OldValue ?? this.Status);
56
+ const statusError = VersionStatusError(this.IsSaved === false, previous, this.Status);
57
+ if (statusError)
58
+ PushFailure(result, 'Status', statusError, this.Status);
59
+ if (this.IsSaved !== false && previous && previous !== 'Draft') {
60
+ for (const name of FROZEN_VERSION_FIELDS) {
61
+ const field = this.GetFieldByName(name);
62
+ if (field?.Dirty) {
63
+ PushFailure(result, name, 'A published rubric version is immutable. Create a new draft version to change it; only its Status may move between Published and Retired.', field.Value);
64
+ break;
65
+ }
66
+ }
67
+ }
68
+ return result;
69
+ }
70
+ /**
71
+ * A repeat metadata push reapplies the draft file onto a version the
72
+ * publication file already published. Leaving Status untouched keeps the
73
+ * loaded row clean, so sync counts it unchanged instead of updating it.
74
+ */
75
+ Set(fieldName, value) {
76
+ if (fieldName === 'Status' && value === 'Draft' && this.IsSaved !== false && (this.Status === 'Published' || this.Status === 'Retired'))
77
+ return;
78
+ super.Set(fieldName, value);
79
+ }
80
+ /**
81
+ * When Status moves Draft → Published, loads the draft tree and its base
82
+ * version and calls {@link publish}. Setting Status and saving is enough.
83
+ * Refuses the cases documented on the class. Writes PublishedAt with the
84
+ * status, which the published-version check constraint requires, and stamps
85
+ * PublishedByUserID from the current user. Retiring stamps RetiredAt.
86
+ */
87
+ async Save(options) {
88
+ const incoming = this.GetFieldByName('Status');
89
+ if (this.IsSaved !== false && incoming?.OldValue === 'Published' && this.Status === 'Draft') {
90
+ this.Status = 'Published';
91
+ if (!this.Dirty)
92
+ return true;
93
+ }
94
+ if (this.IsSaved === false && this.Status === 'Published' && this.ID) {
95
+ const provider = this.ProviderToUse;
96
+ if (provider?.GetEntityObject) {
97
+ const existing = await provider.GetEntityObject('MJ: Rubric Versions', this.ContextCurrentUser);
98
+ if (await existing.InnerLoad(CompositeKey.FromID(this.ID))) {
99
+ if (existing.Status === 'Draft') {
100
+ existing.Status = 'Published';
101
+ return existing.Save(options);
102
+ }
103
+ if (existing.Status === 'Published' || existing.Status === 'Retired')
104
+ return true;
105
+ }
106
+ }
107
+ }
108
+ const status = this.GetFieldByName('Status');
109
+ if (status?.Dirty && status.OldValue === 'Draft' && this.Status === 'Published') {
110
+ const provider = this.ProviderToUse;
111
+ if (!provider?.RunView)
112
+ throw new Error('Publishing a rubric version requires a provider that can load the draft tree.');
113
+ const run = (entityName, filter) => provider.RunView({ EntityName: entityName, ExtraFilter: filter }, this.ContextCurrentUser);
114
+ const loaded = await LoadDraftForPublish(run, this.ID, this.RubricID, this.BasedOnVersionID);
115
+ const requested = this.RequestedBump ?? null;
116
+ await this.Publish(loaded.base, loaded.draft, requested);
117
+ const userId = this.ContextCurrentUser?.ID;
118
+ if (userId && !this.PublishedByUserID)
119
+ this.PublishedByUserID = userId;
120
+ }
121
+ if (status?.Dirty && this.Status === 'Retired' && !this.RetiredAt) {
122
+ this.RetiredAt = new Date();
123
+ }
124
+ return super.Save(options);
125
+ }
126
+ };
127
+ MJRubricVersionEntityServer = __decorate([
128
+ RegisterClass(BaseEntity, 'MJ: Rubric Versions')
129
+ ], MJRubricVersionEntityServer);
130
+ export { MJRubricVersionEntityServer };
131
+ //# sourceMappingURL=MJRubricVersionEntityServer.server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MJRubricVersionEntityServer.server.js","sourceRoot":"","sources":["../../src/custom/MJRubricVersionEntityServer.server.ts"],"names":[],"mappings":"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"}
@@ -29,7 +29,7 @@ export declare class MJTagEntityServer extends MJTagEntity {
29
29
  Save(options?: EntitySaveOptions): Promise<boolean>;
30
30
  Delete(): Promise<boolean>;
31
31
  /**
32
- * Refresh `EmbeddingVector` + `EmbeddingModelID` when the tag is new or its
32
+ * Refresh `EmbeddingVector` + `EmbeddingVectorBinary` + `EmbeddingModelID` when the tag is new or its
33
33
  * Name/Description has changed. Failures here log and clear the vector
34
34
  * fields rather than blocking the save — the tag is still functional, just
35
35
  * without semantic matching until the next successful refresh.
@@ -1 +1 @@
1
- {"version":3,"file":"MJTagEntityServer.server.d.ts","sourceRoot":"","sources":["../../src/custom/MJTagEntityServer.server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,iBAAiB,EAAgC,qBAAqB,EAA4C,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAEtL,OAAO,EAAE,WAAW,EAAoB,MAAM,+BAA+B,CAAC;AAI9E;;;;;;;;;;;;;GAaG;AACH,qBACa,iBAAkB,SAAQ,WAAW;IAE9C,yEAAyE;IACzE,IAAoB,0BAA0B,IAAI,OAAO,CAExD;cAEwB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAI5E,sBAAsB,IAAI,OAAO;IAIjD;;;;;OAKG;IACmB,aAAa,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAsB1C,IAAI,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;IA0BnD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IA2ChD;;;;;OAKG;YACW,wBAAwB;YAkCxB,iBAAiB;CAUlC"}
1
+ {"version":3,"file":"MJTagEntityServer.server.d.ts","sourceRoot":"","sources":["../../src/custom/MJTagEntityServer.server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,iBAAiB,EAAgC,qBAAqB,EAA4C,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAEtL,OAAO,EAAE,WAAW,EAAoB,MAAM,+BAA+B,CAAC;AAI9E;;;;;;;;;;;;;GAaG;AACH,qBACa,iBAAkB,SAAQ,WAAW;IAE9C,yEAAyE;IACzE,IAAoB,0BAA0B,IAAI,OAAO,CAExD;cAEwB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAI5E,sBAAsB,IAAI,OAAO;IAIjD;;;;;OAKG;IACmB,aAAa,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAsB1C,IAAI,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;IA0BnD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IA2ChD;;;;;OAKG;YACW,wBAAwB;YAsCxB,iBAAiB;CAUlC"}
@@ -5,7 +5,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
7
  import { BaseEntity, LogError, LogStatus, RunView, ValidationErrorInfo, ValidationErrorType } from '@memberjunction/core';
8
- import { RegisterClass } from '@memberjunction/global';
8
+ import { Float32VectorToBase64, RegisterClass } from '@memberjunction/global';
9
9
  import { MJTagEntity } from '@memberjunction/core-entities';
10
10
  import { TagEngine } from '@memberjunction/tag-engine';
11
11
  import { EmbedTextLocalHelper } from './util.js';
@@ -68,7 +68,7 @@ let MJTagEntityServer = class MJTagEntityServer extends MJTagEntity {
68
68
  // Mirror to in-memory vector service. Reads the just-persisted vector
69
69
  // from this.EmbeddingVector — no recompute.
70
70
  try {
71
- if (this.Status === 'Active' && this.EmbeddingVector) {
71
+ if (this.Status === 'Active' && (this.EmbeddingVectorBinary || this.EmbeddingVector)) {
72
72
  TagEngine.Instance.AddOrUpdateSingleTagEmbeddingFromPersisted(this);
73
73
  }
74
74
  else {
@@ -125,7 +125,7 @@ let MJTagEntityServer = class MJTagEntityServer extends MJTagEntity {
125
125
  return deleteResult;
126
126
  }
127
127
  /**
128
- * Refresh `EmbeddingVector` + `EmbeddingModelID` when the tag is new or its
128
+ * Refresh `EmbeddingVector` + `EmbeddingVectorBinary` + `EmbeddingModelID` when the tag is new or its
129
129
  * Name/Description has changed. Failures here log and clear the vector
130
130
  * fields rather than blocking the save — the tag is still functional, just
131
131
  * without semantic matching until the next successful refresh.
@@ -140,6 +140,7 @@ let MJTagEntityServer = class MJTagEntityServer extends MJTagEntity {
140
140
  const trimmedName = this.Name?.trim();
141
141
  if (!trimmedName) {
142
142
  this.EmbeddingVector = null;
143
+ this.EmbeddingVectorBinary = null;
143
144
  this.EmbeddingModelID = null;
144
145
  return;
145
146
  }
@@ -149,17 +150,20 @@ let MJTagEntityServer = class MJTagEntityServer extends MJTagEntity {
149
150
  const result = await this.EmbedTextLocal(text);
150
151
  if (result?.vector && result.vector.length > 0) {
151
152
  this.EmbeddingVector = JSON.stringify(result.vector);
153
+ this.EmbeddingVectorBinary = Float32VectorToBase64(result.vector);
152
154
  if (result.modelID)
153
155
  this.EmbeddingModelID = result.modelID;
154
156
  }
155
157
  else {
156
158
  this.EmbeddingVector = null;
159
+ this.EmbeddingVectorBinary = null;
157
160
  this.EmbeddingModelID = null;
158
161
  }
159
162
  }
160
163
  catch (error) {
161
164
  LogError(`[MJTagEntityServer] Embedding refresh failed for tag "${this.Name}": ${error instanceof Error ? error.message : String(error)}`);
162
165
  this.EmbeddingVector = null;
166
+ this.EmbeddingVectorBinary = null;
163
167
  this.EmbeddingModelID = null;
164
168
  }
165
169
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MJTagEntityServer.server.js","sourceRoot":"","sources":["../../src/custom/MJTagEntityServer.server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MJTagEntityServer.server.js","sourceRoot":"","sources":["../../src/custom/MJTagEntityServer.server.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { EntitySaveOptions } from "@memberjunction/core";
1
2
  import { MJVectorIndexEntity } from "@memberjunction/core-entities";
2
3
  /**
3
4
  * Server-side VectorIndex entity that syncs with the vector database provider.
@@ -8,7 +9,7 @@ export declare class MJVectorIndexEntityServer extends MJVectorIndexEntity {
8
9
  /**
9
10
  * After saving, if this is a new record, create the index in the provider.
10
11
  */
11
- Save(): Promise<boolean>;
12
+ Save(options?: EntitySaveOptions): Promise<boolean>;
12
13
  /**
13
14
  * Before deleting, remove the index from the provider.
14
15
  */
@@ -1 +1 @@
1
- {"version":3,"file":"MJVectorIndexEntityServer.server.d.ts","sourceRoot":"","sources":["../../src/custom/MJVectorIndexEntityServer.server.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAA0B,MAAM,+BAA+B,CAAC;AAI5F;;;;GAIG;AACH,qBACa,yBAA0B,SAAQ,mBAAmB;IAC9D;;OAEG;IACmB,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IAa9C;;OAEG;IACmB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAShD;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAoBzB;;OAEG;YACW,qBAAqB;IAuCnC;;OAEG;YACW,uBAAuB;IAkBrC;;;OAGG;YACW,mBAAmB;IAgDjC;;;;;;;;;;OAUG;IACH,OAAO,CAAC,iBAAiB;IAIzB;;;OAGG;YACW,oBAAoB;CAiCrC"}
1
+ {"version":3,"file":"MJVectorIndexEntityServer.server.d.ts","sourceRoot":"","sources":["../../src/custom/MJVectorIndexEntityServer.server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,iBAAiB,EAA0C,MAAM,sBAAsB,CAAC;AAE7G,OAAO,EAAE,mBAAmB,EAA0B,MAAM,+BAA+B,CAAC;AAK5F;;;;GAIG;AACH,qBACa,yBAA0B,SAAQ,mBAAmB;IAC9D;;OAEG;IACmB,IAAI,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;IAazE;;OAEG;IACmB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAShD;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAoBzB;;OAEG;YACW,qBAAqB;IAuCnC;;OAEG;YACW,uBAAuB;IAmBrC;;;OAGG;YACW,mBAAmB;IAgDjC;;;;;;;;;;OAUG;IACH,OAAO,CAAC,iBAAiB;IAIzB;;;OAGG;YACW,oBAAoB;CAiCrC"}
@@ -9,6 +9,7 @@ import { RegisterClass, MJGlobal } from "@memberjunction/global";
9
9
  import { MJVectorIndexEntity } from "@memberjunction/core-entities";
10
10
  import { VectorDBBase } from "@memberjunction/ai-vectordb";
11
11
  import { GetAIAPIKey } from "@memberjunction/ai";
12
+ import { AIEngineBase } from "@memberjunction/ai-engine-base";
12
13
  /**
13
14
  * Server-side VectorIndex entity that syncs with the vector database provider.
14
15
  * On create: calls vectorDB.CreateIndex() to provision the index in the provider (e.g., Pinecone).
@@ -18,9 +19,9 @@ let MJVectorIndexEntityServer = class MJVectorIndexEntityServer extends MJVector
18
19
  /**
19
20
  * After saving, if this is a new record, create the index in the provider.
20
21
  */
21
- async Save() {
22
+ async Save(options) {
22
23
  const isNew = this.IsSaved === false;
23
- const saveResult = await super.Save();
24
+ const saveResult = await super.Save(options);
24
25
  if (saveResult && isNew) {
25
26
  this.createIndexInProvider().catch((error) => {
26
27
  LogError(`Failed to create index "${this.Name}" in vector DB provider`, undefined, error);
@@ -108,8 +109,9 @@ let MJVectorIndexEntityServer = class MJVectorIndexEntityServer extends MJVector
108
109
  LogError(`Cannot delete index: no VectorDB instance for database ${this.VectorDatabaseID}`);
109
110
  return;
110
111
  }
111
- // Use ExternalID if available (the sanitized name stored in the provider), fall back to Name
112
- const providerIndexName = this.ExternalID || this.sanitizeIndexName(this.Name);
112
+ // Same rule every read path uses to address the index on its provider (ExternalID, else Name).
113
+ // An index provisioned through Save() above always has ExternalID set to its sanitized name.
114
+ const providerIndexName = AIEngineBase.Instance.GetProviderIndexName(this);
113
115
  LogStatus(`Deleting index "${providerIndexName}" from vector DB provider...`);
114
116
  const result = await vectorDB.DeleteIndex({ id: providerIndexName });
115
117
  if (result.success) {
@@ -1 +1 @@
1
- {"version":3,"file":"MJVectorIndexEntityServer.server.js","sourceRoot":"","sources":["../../src/custom/MJVectorIndexEntityServer.server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MJVectorIndexEntityServer.server.js","sourceRoot":"","sources":["../../src/custom/MJVectorIndexEntityServer.server.ts"],"names":[],"mappings":"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"}
@@ -50,7 +50,7 @@ function resolve(ctx, parseResult) {
50
50
  const { params: passthroughParams, contextMap: passthroughContext } = BuildPassthroughParams(resolvedCompositionRefs);
51
51
  const allDeterministicParams = MergePassthroughParams(parseResult.DeterministicParams, passthroughParams);
52
52
  // Entity metadata (for LLM context and entity sync)
53
- const entityMetadata = ExtractEntityMetadataFromSQL(ctx.sql, parseResult.TableRefs, md);
53
+ const entityMetadata = ExtractEntityMetadataFromSQL(ctx.sql, parseResult.TableRefs, md, ctx.platform);
54
54
  // Field resolution: try SELECT * expansion first (uses entity metadata), fall back to explicit SELECT columns
55
55
  const resolvedFields = BuildFieldsForSelectStar(ctx.sql, parseResult.TableRefs, parseResult.SelectColumns, md)
56
56
  ?? BuildFieldsFromSelectColumns(parseResult.SelectColumns);
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../../src/custom/query-extraction/pipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../../src/custom/query-extraction/pipeline.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  * Contains all deterministic resolution logic — no LLM calls, no database writes.
5
5
  * Every function is stateless: context is passed in as parameters rather than via `this`.
6
6
  */
7
- import { EntityInfo, IMetadataProvider } from "@memberjunction/core";
7
+ import { DatabasePlatform, EntityInfo, IMetadataProvider } from "@memberjunction/core";
8
8
  import { MJQueryEntityExtended, MJQueryDependencyEntity } from "@memberjunction/core-entities";
9
9
  import type { MJParameterInfo, SQLSelectColumn, SQLTableReference } from "@memberjunction/sql-parser";
10
10
  import type { EntityMetadataEntry, ExtractedField, PassthroughParamContext, ResolvedCompositionReference } from "./types.js";
@@ -109,8 +109,11 @@ export declare function ExpandWildcardFields(fields: ExtractedField[], md: IMeta
109
109
  /**
110
110
  * Extracts entity metadata from the SQL to provide context for parameter type inference.
111
111
  * Uses SQLParser for robust SQL parsing with MJ template support.
112
+ *
113
+ * @param platform The platform the SQL is written for; selects the grammar used to read its
114
+ * column references. Defaults to SQL Server.
112
115
  */
113
- export declare function ExtractEntityMetadataFromSQL(sql: string, tableRefs: SQLTableReference[], md: IMetadataProvider): EntityMetadataEntry[];
116
+ export declare function ExtractEntityMetadataFromSQL(sql: string, tableRefs: SQLTableReference[], md: Pick<IMetadataProvider, 'Entities'>, platform?: DatabasePlatform): EntityMetadataEntry[];
114
117
  /**
115
118
  * Detects circular dependencies by walking the dependency graph.
116
119
  * Returns a descriptive error string if a cycle is found, or null if clean.
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../../src/custom/query-extraction/resolve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../../src/custom/query-extraction/resolve.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ import { QueryEngine } from "@memberjunction/core-entities";
9
9
  import { QueryCompositionEngine } from "@memberjunction/generic-database-provider";
10
10
  import { UUIDsEqual } from "@memberjunction/global";
11
11
  import { SQLParser } from "@memberjunction/sql-parser";
12
- import { SQLServerDialect } from "@memberjunction/sql-dialect";
12
+ import { GetDialect } from "@memberjunction/sql-dialect";
13
13
  // ═══════════════════════════════════════════════════
14
14
  // Composition Reference Resolution
15
15
  // ═══════════════════════════════════════════════════
@@ -394,11 +394,14 @@ export function ExpandWildcardFields(fields, md) {
394
394
  /**
395
395
  * Extracts entity metadata from the SQL to provide context for parameter type inference.
396
396
  * Uses SQLParser for robust SQL parsing with MJ template support.
397
+ *
398
+ * @param platform The platform the SQL is written for; selects the grammar used to read its
399
+ * column references. Defaults to SQL Server.
397
400
  */
398
- export function ExtractEntityMetadataFromSQL(sql, tableRefs, md) {
401
+ export function ExtractEntityMetadataFromSQL(sql, tableRefs, md, platform = 'sqlserver') {
399
402
  const results = [];
400
403
  try {
401
- const columnRefs = SQLParser.ExtractColumnRefs(sql, new SQLServerDialect());
404
+ const columnRefs = SQLParser.ExtractColumnRefs(sql, GetDialect(platform));
402
405
  for (const tableRef of tableRefs) {
403
406
  const matchingEntity = findEntityByTableRef(md, tableRef);
404
407
  if (matchingEntity) {