@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,67 @@
1
+ import { type RubricNodeSnapshot, type RubricVersionSnapshot, type VersionBump } from '@memberjunction/rubrics-base';
2
+ export declare class RubricPublishError extends Error {
3
+ readonly details: string[];
4
+ constructor(details: string[]);
5
+ }
6
+ export interface PublishWarning {
7
+ severity: 'warning';
8
+ message: string;
9
+ }
10
+ export interface PublishResult {
11
+ appliedBump: VersionBump;
12
+ computedBump: 'Major' | 'Minor' | 'Patch' | 'Initial';
13
+ majorVersion: number;
14
+ minorVersion: number;
15
+ patchVersion: number;
16
+ changeDetails: {
17
+ BaseVersionID: string | null;
18
+ Changes: {
19
+ Path: string;
20
+ Property: string;
21
+ From: unknown;
22
+ To: unknown;
23
+ Bump: string;
24
+ }[];
25
+ };
26
+ contentHash: string;
27
+ scoringHash: string;
28
+ warnings: PublishWarning[];
29
+ publishedAt: Date;
30
+ }
31
+ /**
32
+ * Refuses a draft that cannot be published: duplicate keys, a missing or cyclic parent,
33
+ * a criterion with no scale, a gate with no minimum, a criterion that has children,
34
+ * an empty group, a non-advisory leaf under an advisory group, bands that overlap or
35
+ * leave a gap in 0..1, or a version with no non-advisory leaf. Warns when a group's
36
+ * non-advisory children are all weight 0, and when a gate's effective not-applicable
37
+ * policy is ExcludeAndRedistribute.
38
+ */
39
+ export declare function ValidateRubricTree(version: RubricVersionSnapshot): {
40
+ errors: string[];
41
+ warnings: PublishWarning[];
42
+ };
43
+ /**
44
+ * Publishes a draft. Refuses an identical draft and a tree that fails
45
+ * {@link ValidateRubricTree}. Writes the bump from {@link RubricVersionDiff},
46
+ * and ContentHash and ScoringHash from its canonical projections. Does not
47
+ * touch the database.
48
+ */
49
+ export declare function PublishRubricVersion(base: RubricVersionSnapshot | null, draft: RubricVersionSnapshot, requestedBump?: 'Major' | 'Minor' | 'Patch' | null): Promise<PublishResult>;
50
+ /** A new draft: new ids, status left to the caller, keys and parent structure preserved. */
51
+ export declare function CloneVersionNodes(nodes: RubricNodeSnapshot[]): RubricNodeSnapshot[];
52
+ type RowRun = (entityName: string, filter: string) => Promise<{
53
+ Success: boolean;
54
+ Results?: unknown[];
55
+ }>;
56
+ /**
57
+ * Loads the draft tree and the base version so Save can publish without a separate call.
58
+ * A null base id does not mean "first version" when this rubric already has a
59
+ * Published or Retired version. The base is then the highest of those, so the
60
+ * publish is numbered from that version instead of 1.0.0.
61
+ */
62
+ export declare function LoadDraftForPublish(run: RowRun, versionId: string, rubricId: string, basedOnVersionId: string | null): Promise<{
63
+ base: RubricVersionSnapshot | null;
64
+ draft: RubricVersionSnapshot;
65
+ }>;
66
+ export {};
67
+ //# sourceMappingURL=versionPublish.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"versionPublish.d.ts","sourceRoot":"","sources":["../../../src/custom/rubrics/versionPublish.ts"],"names":[],"mappings":"AACA,OAAO,EAA0E,KAAK,kBAAkB,EAAE,KAAK,qBAAqB,EAAE,KAAK,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE7L,qBAAa,kBAAmB,SAAQ,KAAK;IACzC,SAAgB,OAAO,EAAE,MAAM,EAAE,CAAC;gBACf,OAAO,EAAE,MAAM,EAAE;CAKvC;AAED,MAAM,WAAW,cAAc;IAC3B,QAAQ,EAAE,SAAS,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC1B,WAAW,EAAE,WAAW,CAAC;IACzB,YAAY,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;IACtD,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE;QACX,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;QAC7B,OAAO,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,OAAO,CAAC;YAAC,EAAE,EAAE,OAAO,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;KAC3F,CAAC;IACF,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,WAAW,EAAE,IAAI,CAAC;CACrB;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,qBAAqB,GAAG;IAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,cAAc,EAAE,CAAA;CAAE,CAqDnH;AAoBD;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACtC,IAAI,EAAE,qBAAqB,GAAG,IAAI,EAClC,KAAK,EAAE,qBAAqB,EAC5B,aAAa,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,IAAI,GACnD,OAAO,CAAC,aAAa,CAAC,CA4BxB;AAED,4FAA4F;AAC5F,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,kBAAkB,EAAE,GAAG,kBAAkB,EAAE,CAOnF;AAED,KAAK,MAAM,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAA;CAAE,CAAC,CAAC;AAQzG;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC;IAAE,IAAI,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAAC,KAAK,EAAE,qBAAqB,CAAA;CAAE,CAAC,CAK1M"}
@@ -0,0 +1,222 @@
1
+ import { NormalizeUUID, UUIDsEqual } from '@memberjunction/global';
2
+ import { HighestNonDraftVersion, RubricVersionDiff, SnapshotFromRows, Sha256Hex } from '@memberjunction/rubrics-base';
3
+ export class RubricPublishError extends Error {
4
+ constructor(details) {
5
+ super(details.join(' '));
6
+ this.name = 'RubricPublishError';
7
+ this.details = details;
8
+ }
9
+ }
10
+ /**
11
+ * Refuses a draft that cannot be published: duplicate keys, a missing or cyclic parent,
12
+ * a criterion with no scale, a gate with no minimum, a criterion that has children,
13
+ * an empty group, a non-advisory leaf under an advisory group, bands that overlap or
14
+ * leave a gap in 0..1, or a version with no non-advisory leaf. Warns when a group's
15
+ * non-advisory children are all weight 0, and when a gate's effective not-applicable
16
+ * policy is ExcludeAndRedistribute.
17
+ */
18
+ export function ValidateRubricTree(version) {
19
+ const errors = [];
20
+ const warnings = [];
21
+ const byId = new Map(version.nodes.map(node => [NormalizeUUID(node.id), node]));
22
+ const keys = new Set();
23
+ const childrenOf = (id) => version.nodes.filter(item => UUIDsEqual(item.parentId, id));
24
+ for (const node of version.nodes) {
25
+ if (keys.has(node.key))
26
+ errors.push(`Duplicate key ${node.key}.`);
27
+ keys.add(node.key);
28
+ if (node.parentId && !byId.has(NormalizeUUID(node.parentId)))
29
+ errors.push(`${node.key} points at a missing parent.`);
30
+ if (node.nodeType === 'Criterion' && !node.scaleId)
31
+ errors.push(`${node.key} is a criterion with no scale.`);
32
+ if (node.nodeType === 'Criterion' && childrenOf(node.id).length > 0) {
33
+ errors.push(`${node.key} is a criterion with children, so a child gate is ignored.`);
34
+ }
35
+ if (node.nodeType === 'Group' && childrenOf(node.id).length === 0) {
36
+ errors.push(`${node.key} is an empty group.`);
37
+ }
38
+ if (node.scaleId && !version.scales.some(scale => UUIDsEqual(scale.id, node.scaleId))) {
39
+ errors.push(`${node.key} names a scale that is not on this version.`);
40
+ }
41
+ if (node.isGate && (node.gateMinimumScore === undefined || node.gateMinimumScore === null)) {
42
+ errors.push(`${node.key} is a gate with no minimum score.`);
43
+ }
44
+ const policy = node.notApplicablePolicy ?? version.notApplicablePolicy;
45
+ if (node.isGate && !node.isAdvisory && policy === 'ExcludeAndRedistribute') {
46
+ warnings.push({ severity: 'warning', message: `Gate ${node.key} excludes not-applicable answers, so silence and not-applicable are easy to confuse.` });
47
+ }
48
+ }
49
+ if (hasCycle(version.nodes))
50
+ errors.push('The criteria tree has a cycle.');
51
+ for (const leaf of version.nodes.filter(node => node.nodeType === 'Criterion' && !node.isAdvisory)) {
52
+ const seen = new Set();
53
+ let parentId = leaf.parentId;
54
+ while (parentId && byId.has(parentId) && !seen.has(parentId)) {
55
+ seen.add(parentId);
56
+ const parent = byId.get(parentId);
57
+ if (parent.isAdvisory) {
58
+ errors.push(`${leaf.key} is a non-advisory leaf under the advisory group ${parent.key}.`);
59
+ break;
60
+ }
61
+ parentId = parent.parentId;
62
+ }
63
+ }
64
+ if (!version.nodes.some(node => node.nodeType === 'Criterion' && !node.isAdvisory)) {
65
+ errors.push('A version needs a non-advisory leaf.');
66
+ }
67
+ for (const node of version.nodes.filter(item => item.nodeType === 'Group')) {
68
+ const children = childrenOf(node.id).filter(child => !child.isAdvisory);
69
+ if (children.length > 0 && children.every(child => child.weight === 0)) {
70
+ warnings.push({ severity: 'warning', message: `Group ${node.key} has only zero-weight children, so they share the score equally.` });
71
+ }
72
+ }
73
+ errors.push(...bandCoverageErrors(version.bands));
74
+ return { errors, warnings };
75
+ }
76
+ /** Bands are optional. When present they tile 0..1: each meets the previous, and the ends are 0 and 1. */
77
+ function bandCoverageErrors(bands) {
78
+ if (bands.length === 0)
79
+ return [];
80
+ const ordered = [...bands].sort((left, right) => left.minScore - right.minScore || left.maxScore - right.maxScore);
81
+ const errors = [];
82
+ const near = (left, right) => Math.abs(left - right) <= 1e-6;
83
+ if (ordered[0].minScore > 1e-6)
84
+ errors.push(`Bands leave a gap before ${ordered[0].label}.`);
85
+ for (let index = 1; index < ordered.length; index++) {
86
+ const previous = ordered[index - 1];
87
+ const next = ordered[index];
88
+ if (next.minScore < previous.maxScore - 1e-6)
89
+ errors.push(`Bands ${previous.label} and ${next.label} overlap.`);
90
+ else if (!near(next.minScore, previous.maxScore))
91
+ errors.push(`Bands ${previous.label} and ${next.label} leave a gap.`);
92
+ }
93
+ const last = ordered[ordered.length - 1];
94
+ if (last.maxScore < 1 - 1e-6)
95
+ errors.push(`Bands leave a gap after ${last.label}.`);
96
+ return errors;
97
+ }
98
+ /**
99
+ * Publishes a draft. Refuses an identical draft and a tree that fails
100
+ * {@link ValidateRubricTree}. Writes the bump from {@link RubricVersionDiff},
101
+ * and ContentHash and ScoringHash from its canonical projections. Does not
102
+ * touch the database.
103
+ */
104
+ export async function PublishRubricVersion(base, draft, requestedBump) {
105
+ const validation = ValidateRubricTree(draft);
106
+ if (validation.errors.length > 0)
107
+ throw new RubricPublishError(validation.errors);
108
+ const diff = RubricVersionDiff.Diff(base, draft, requestedBump);
109
+ if (!diff.appliedBump || !diff.nextVersion) {
110
+ throw new RubricPublishError(['This draft is identical to its base and cannot be published.']);
111
+ }
112
+ return {
113
+ appliedBump: diff.appliedBump,
114
+ computedBump: diff.appliedBump === 'Initial' ? 'Initial' : (diff.computedBump ?? diff.appliedBump),
115
+ majorVersion: diff.nextVersion.major,
116
+ minorVersion: diff.nextVersion.minor,
117
+ patchVersion: diff.nextVersion.patch,
118
+ changeDetails: {
119
+ BaseVersionID: base?.id ?? null,
120
+ Changes: diff.changes.map(change => ({
121
+ Path: change.subject,
122
+ Property: change.property,
123
+ From: change.from ?? null,
124
+ To: change.to ?? null,
125
+ Bump: change.bump,
126
+ })),
127
+ },
128
+ contentHash: await Sha256Hex(RubricVersionDiff.ContentCanonical(draft)),
129
+ scoringHash: await Sha256Hex(RubricVersionDiff.ScoringCanonical(draft)),
130
+ warnings: validation.warnings,
131
+ publishedAt: new Date(),
132
+ };
133
+ }
134
+ /** A new draft: new ids, status left to the caller, keys and parent structure preserved. */
135
+ export function CloneVersionNodes(nodes) {
136
+ const ids = new Map(nodes.map(node => [node.id, crypto.randomUUID()]));
137
+ return nodes.map(node => ({
138
+ ...node,
139
+ id: ids.get(node.id),
140
+ parentId: node.parentId ? ids.get(node.parentId) ?? null : null,
141
+ }));
142
+ }
143
+ function read(row, name) {
144
+ const record = row;
145
+ if (record && typeof record.Get === 'function' && record[name] === undefined)
146
+ return record.Get(name);
147
+ return record?.[name];
148
+ }
149
+ /**
150
+ * Loads the draft tree and the base version so Save can publish without a separate call.
151
+ * A null base id does not mean "first version" when this rubric already has a
152
+ * Published or Retired version. The base is then the highest of those, so the
153
+ * publish is numbered from that version instead of 1.0.0.
154
+ */
155
+ export async function LoadDraftForPublish(run, versionId, rubricId, basedOnVersionId) {
156
+ const draft = await loadSnapshot(run, versionId, rubricId);
157
+ const baseId = basedOnVersionId ?? await highestNonDraftId(run, rubricId, versionId);
158
+ const base = baseId ? await loadSnapshot(run, baseId, rubricId) : null;
159
+ return { base, draft };
160
+ }
161
+ async function highestNonDraftId(run, rubricId, exceptVersionId) {
162
+ const siblings = await rows(run, 'MJ: Rubric Versions', `RubricID='${rubricId}' AND Status <> 'Draft'`);
163
+ const best = HighestNonDraftVersion(siblings.map(row => ({
164
+ id: String(read(row, 'ID') ?? ''),
165
+ status: String(read(row, 'Status') ?? ''),
166
+ major: Number(read(row, 'MajorVersion') ?? 0),
167
+ minor: Number(read(row, 'MinorVersion') ?? 0),
168
+ patch: Number(read(row, 'PatchVersion') ?? 0),
169
+ })).filter(version => version.id !== exceptVersionId));
170
+ return best?.id ?? null;
171
+ }
172
+ async function loadSnapshot(run, versionId, rubricId) {
173
+ const versions = await rows(run, 'MJ: Rubric Versions', `ID='${versionId}'`);
174
+ const version = versions[0];
175
+ if (!version)
176
+ throw new RubricPublishError([`Version ${versionId} was not found.`]);
177
+ const criteria = await rows(run, 'MJ: Rubric Criteria', `RubricVersionID='${versionId}'`);
178
+ const criterionIds = criteria.map(row => String(read(row, 'ID'))).filter(id => id.length > 0);
179
+ const anchorRows = criterionIds.length === 0
180
+ ? []
181
+ : await rows(run, 'MJ: Rubric Criterion Levels', `CriterionID IN (${criterionIds.map(id => `'${id}'`).join(',')})`);
182
+ const bands = await rows(run, 'MJ: Rubric Bands', `RubricVersionID='${versionId}'`);
183
+ const scaleIds = [...new Set(criteria.map(row => read(row, 'ScaleID')).filter((id) => typeof id === 'string'))];
184
+ const scales = [];
185
+ const levels = [];
186
+ for (const scaleId of scaleIds) {
187
+ const scaleRows = await rows(run, 'MJ: Rubric Scales', `ID='${scaleId}'`);
188
+ const levelRows = await rows(run, 'MJ: Rubric Scale Levels', `ScaleID='${scaleId}'`);
189
+ const scale = scaleRows[0];
190
+ if (!scale)
191
+ continue;
192
+ scales.push(scale);
193
+ levels.push(...levelRows);
194
+ }
195
+ return SnapshotFromRows({ version, rubricId, criteria, anchors: anchorRows, bands, scales, levels });
196
+ }
197
+ async function rows(run, entityName, filter) {
198
+ const result = await run(entityName, filter);
199
+ if (!result.Success)
200
+ throw new RubricPublishError([`Could not load ${entityName}.`]);
201
+ return result.Results ?? [];
202
+ }
203
+ function hasCycle(nodes) {
204
+ const byId = new Map(nodes.map(node => [NormalizeUUID(node.id), node]));
205
+ const state = new Map();
206
+ const visit = (id) => {
207
+ const key = NormalizeUUID(id);
208
+ const mark = state.get(key);
209
+ if (mark === 'visiting')
210
+ return true;
211
+ if (mark === 'done')
212
+ return false;
213
+ state.set(key, 'visiting');
214
+ const parentId = byId.get(key)?.parentId;
215
+ if (parentId && byId.has(NormalizeUUID(parentId)) && visit(parentId))
216
+ return true;
217
+ state.set(key, 'done');
218
+ return false;
219
+ };
220
+ return nodes.some(node => visit(node.id));
221
+ }
222
+ //# sourceMappingURL=versionPublish.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"versionPublish.js","sourceRoot":"","sources":["../../../src/custom/rubrics/versionPublish.ts"],"names":[],"mappings":"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"}
@@ -105,6 +105,15 @@ export declare class IdentityClaimEngineServer extends BaseSingleton<IdentityCla
105
105
  * framework if configured, and executes the driver's OnCreate lifecycle method.
106
106
  */
107
107
  CreateClaim(params: CreateClaimServerParams, contextUser?: UserInfo, provider?: IMetadataProvider): Promise<MJIdentityClaimEntity>;
108
+ /**
109
+ * When a new claim expires: an explicit `ExpiresAt` wins, otherwise whole days from
110
+ * `ExpiresInDays`, the type's `DefaultExpirationDays`, or 30.
111
+ *
112
+ * @throws When `ExpiresAt` is not a valid instant in the future — a claim born expired would
113
+ * be refused on redemption with no hint that the caller's clock or arithmetic was
114
+ * the cause.
115
+ */
116
+ private resolveClaimExpiry;
108
117
  /**
109
118
  * Sends a claimant email notification using CommunicationEngine and TemplateEngineServer
110
119
  */
@@ -1 +1 @@
1
- {"version":3,"file":"IdentityClaimEngineServer.d.ts","sourceRoot":"","sources":["../../src/engines/IdentityClaimEngineServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IdentityClaimEngineServer.d.ts","sourceRoot":"","sources":["../../src/engines/IdentityClaimEngineServer.ts"],"names":[],"mappings":"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"}
@@ -116,10 +116,7 @@ export class IdentityClaimEngineServer extends BaseSingleton {
116
116
  * framework if configured, and executes the driver's OnCreate lifecycle method.
117
117
  */
118
118
  async CreateClaim(params, contextUser, provider) {
119
- const normalizedEmail = this.NormalizeEmail(params.NormalizedEmail);
120
- if (!normalizedEmail) {
121
- throw new Error('NormalizedEmail is required to create an IdentityClaim');
122
- }
119
+ const normalizedEmail = this.NormalizeEmail(params.NormalizedEmail ?? '');
123
120
  let claimType;
124
121
  if (params.ClaimTypeID) {
125
122
  claimType = this.GetClaimTypeByID(params.ClaimTypeID);
@@ -133,6 +130,20 @@ export class IdentityClaimEngineServer extends BaseSingleton {
133
130
  if (!claimType.IsActive) {
134
131
  throw new Error(`IdentityClaimType '${claimType.Name}' is inactive and cannot issue new claims`);
135
132
  }
133
+ // A claim with no recipient is redeemable by TOKEN only, so only a type that refuses
134
+ // email-match redemption may issue one. Checked after the type resolves because the
135
+ // answer depends on the type's Configuration.
136
+ if (!normalizedEmail && this.GetClaimTypeConfiguration(claimType).RequireToken !== true) {
137
+ throw new Error(`NormalizedEmail is required to create an IdentityClaim of type '${claimType.Name}' ` +
138
+ `(only types with RequireToken may issue token-only claims)`);
139
+ }
140
+ // ...and the CALLER must hold the token. With no recipient no email is sent, so a token
141
+ // generated here would be returned to nobody, and the claim could never be redeemed.
142
+ if (!normalizedEmail && !params.VerificationToken && !params.MagicLinkInviteID) {
143
+ throw new Error('A token-only IdentityClaim needs a caller-supplied VerificationToken (or a MagicLinkInviteID): ' +
144
+ 'with no recipient email, a generated token would be delivered to no one');
145
+ }
146
+ const expiresAt = this.resolveClaimExpiry(params, claimType);
136
147
  const md = provider ?? this.Provider;
137
148
  // 2.2 Accept and normalize EntityID or EntityName
138
149
  let resolvedEntityID = null;
@@ -170,9 +181,6 @@ export class IdentityClaimEngineServer extends BaseSingleton {
170
181
  claim.RecordID = params.RecordID ?? null;
171
182
  claim.PayloadJSON = params.Payload ? JSON.stringify(params.Payload) : null;
172
183
  claim.Status = 'Pending';
173
- const days = params.ExpiresInDays ?? claimType.DefaultExpirationDays ?? 30;
174
- const expiresAt = new Date();
175
- expiresAt.setDate(expiresAt.getDate() + days);
176
184
  claim.ExpiresAt = expiresAt;
177
185
  claim.MagicLinkInviteID = params.MagicLinkInviteID ?? null;
178
186
  claim.MetadataJSON = Object.keys(metadataObj).length > 0 ? JSON.stringify(metadataObj) : null;
@@ -181,7 +189,8 @@ export class IdentityClaimEngineServer extends BaseSingleton {
181
189
  throw new Error(`Failed to save IdentityClaim: ${claim.LatestResult?.Message ?? 'Unknown error'}`);
182
190
  }
183
191
  // Send email notification via MJ Communications Framework if enabled
184
- if (params.SendEmail !== false) {
192
+ // A token-only claim has no recipient: the caller holds the token and delivers it.
193
+ if (params.SendEmail !== false && normalizedEmail) {
185
194
  try {
186
195
  await this.sendClaimEmail(claim, claimType, params, rawToken, contextUser);
187
196
  }
@@ -197,6 +206,27 @@ export class IdentityClaimEngineServer extends BaseSingleton {
197
206
  }
198
207
  return claim;
199
208
  }
209
+ /**
210
+ * When a new claim expires: an explicit `ExpiresAt` wins, otherwise whole days from
211
+ * `ExpiresInDays`, the type's `DefaultExpirationDays`, or 30.
212
+ *
213
+ * @throws When `ExpiresAt` is not a valid instant in the future — a claim born expired would
214
+ * be refused on redemption with no hint that the caller's clock or arithmetic was
215
+ * the cause.
216
+ */
217
+ resolveClaimExpiry(params, claimType) {
218
+ if (params.ExpiresAt !== undefined) {
219
+ const at = params.ExpiresAt instanceof Date ? params.ExpiresAt.getTime() : NaN;
220
+ if (!Number.isFinite(at) || at <= Date.now()) {
221
+ throw new Error('ExpiresAt must be a valid instant in the future');
222
+ }
223
+ return new Date(at);
224
+ }
225
+ const days = params.ExpiresInDays ?? claimType.DefaultExpirationDays ?? 30;
226
+ const expiresAt = new Date();
227
+ expiresAt.setDate(expiresAt.getDate() + days);
228
+ return expiresAt;
229
+ }
200
230
  /**
201
231
  * Sends a claimant email notification using CommunicationEngine and TemplateEngineServer
202
232
  */
@@ -1 +1 @@
1
- {"version":3,"file":"IdentityClaimEngineServer.js","sourceRoot":"","sources":["../../src/engines/IdentityClaimEngineServer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,eAAe,EAAY,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAC9F,OAAO,EAAuC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAY,MAAM,sBAAsB,CAAC;AAC7H,OAAO,EACH,mBAAmB,EAUtB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,OAAO,EAAE,MAAM,qCAAqC,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAmCjE;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,yBAA0B,SAAQ,aAAwC;IACnF;QACI,KAAK,EAAE,CAAC;QAkBJ,cAAS,GAA6B,IAAI,CAAC;IAjBnD,CAAC;IAEM,MAAM,KAAK,QAAQ;QACtB,OAAO,KAAK,CAAC,WAAW,EAA6B,CAAC;IAC1D,CAAC;IAED,qEAAqE;IACrE,0CAA0C;IAC1C,qEAAqE;IAErE;;OAEG;IACH,IAAc,IAAI;QACd,OAAO,mBAAmB,CAAC,QAAQ,CAAC;IACxC,CAAC;IAID;;;;;;;;;;;;OAYG;IACH,IAAW,QAAQ;QACf,OAAO,IAAI,CAAC,SAAS,IAAK,IAAI,QAAQ,EAAmC,CAAC;IAC9E,CAAC;IACD,IAAW,QAAQ,CAAC,KAAwB;QACxC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IAC3B,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,MAAM,CAAC,YAAsB,EAAE,WAAsB,EAAE,QAA4B;QAC5F,IAAI,QAAQ,EAAE,CAAC;YACX,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC9B,CAAC;QACD,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;IAChE,CAAC;IAED,sCAAsC;IACtC,IAAW,UAAU;QACjB,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;IAChC,CAAC;IAED,oDAAoD;IAC7C,kBAAkB,CAAC,IAAY;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,+BAA+B;IACxB,gBAAgB,CAAC,EAAU;QAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,oFAAoF;IAC7E,iBAAiB,CAAC,SAAoC;QACzD,OAAO,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAClD,CAAC;IAED,oDAAoD;IAC7C,cAAc,CAAC,KAAa;QAC/B,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;IAED,gFAAgF;IACzE,yBAAyB,CAAC,SAAgD;QAC7E,OAAO,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC;IAC1D,CAAC;IAEO,UAAU,CAAC,GAAW;QAC1B,OAAO,GAAG;aACL,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;aACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;aACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;aACrB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;aACvB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACjC,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,WAAW,CAAC,MAA+B,EAAE,WAAsB,EAAE,QAA4B;QAC1G,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QACpE,IAAI,CAAC,eAAe,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAC9E,CAAC;QAED,IAAI,SAAgD,CAAC;QACrD,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACrB,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC1D,CAAC;aAAM,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;YAC9B,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAC9D,CAAC;QAED,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,mCAAmC,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QACrG,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,sBAAsB,SAAS,CAAC,IAAI,2CAA2C,CAAC,CAAC;QACrG,CAAC;QAED,MAAM,EAAE,GAAG,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC;QAErC,kDAAkD;QAClD,IAAI,gBAAgB,GAAkB,IAAI,CAAC;QAC3C,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,MAAM,GAAG,iEAAiE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACvG,IAAI,MAAM,EAAE,CAAC;gBACT,gBAAgB,GAAG,MAAM,CAAC,QAAQ,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACJ,MAAM,aAAa,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC;gBACrG,IAAI,CAAC,aAAa,EAAE,CAAC;oBACjB,MAAM,IAAI,KAAK,CAAC,2CAA2C,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAClF,CAAC;gBACD,gBAAgB,GAAG,aAAa,CAAC,EAAE,CAAC;YACxC,CAAC;QACL,CAAC;QAED,sDAAsD;QACtD,IAAI,QAAQ,GAAG,MAAM,CAAC,iBAAiB,CAAC;QACxC,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;YACzC,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,SAAS,GAAkB,IAAI,CAAC;QACpC,IAAI,QAAQ,EAAE,CAAC;YACX,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACjF,CAAC;QAED,MAAM,WAAW,GAA4B,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3F,IAAI,SAAS,EAAE,CAAC;YACZ,WAAW,CAAC,SAAS,GAAG,SAAS,CAAC;QACtC,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,eAAe,CAAwB,qBAAqB,EAAE,WAAW,CAAC,CAAC;QAClG,KAAK,CAAC,SAAS,EAAE,CAAC;QAClB,KAAK,CAAC,WAAW,GAAG,SAAS,CAAC,EAAE,CAAC;QACjC,KAAK,CAAC,eAAe,GAAG,eAAe,CAAC;QACxC,KAAK,CAAC,QAAQ,GAAG,gBAAgB,CAAC;QAClC,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC;QACzC,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3E,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;QAEzB,MAAM,IAAI,GAAG,MAAM,CAAC,aAAa,IAAI,SAAS,CAAC,qBAAqB,IAAI,EAAE,CAAC;QAC3E,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAC7B,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;QAC9C,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;QAE5B,KAAK,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC;QAC3D,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAE9F,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;QACjC,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,iCAAiC,KAAK,CAAC,YAAY,EAAE,OAAO,IAAI,eAAe,EAAE,CAAC,CAAC;QACvG,CAAC;QAED,qEAAqE;QACrE,IAAI,MAAM,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACD,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;YAC/E,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC7D,QAAQ,CAAC,iEAAiE,eAAe,KAAK,GAAG,EAAE,CAAC,CAAC;YACzG,CAAC;QACL,CAAC;QAED,yBAAyB;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,MAAM,EAAE,CAAC;YACT,MAAM,MAAM,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;QAC/D,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,cAAc,CACxB,KAA4B,EAC5B,SAAoC,EACpC,MAA+B,EAC/B,QAAiB,EACjB,WAAsB;QAEtB,IAAI,CAAC;YACD,MAAM,UAAU,GAAG,mBAAmB,CAAC,QAAQ,CAAC;YAChD,MAAM,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;YAE5C,MAAM,cAAc,GAAG,oBAAoB,CAAC,QAAQ,CAAC;YACrD,MAAM,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;YAEhD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;YAC9B,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,kCAAkC,CAAC;YACzH,OAAO,CAAC,EAAE,GAAG,KAAK,CAAC,eAAe,CAAC;YAEnC,6CAA6C;YAC7C,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,gCAAgC,CAAC;YACvG,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,UAAU,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5E,MAAM,QAAQ,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,qBAAqB,KAAK,CAAC,EAAE,GAAG,UAAU,EAAE,CAAC;YAE3F,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,YAAY,IAAI,kBAAkB,SAAS,CAAC,IAAI,eAAe,CAAC;YAEzF,+EAA+E;YAC/E,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,CAAC;YAC1C,MAAM,cAAc,GAAG,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAE5G,IAAI,cAAc,EAAE,CAAC;gBACjB,OAAO,CAAC,gBAAgB,GAAG,cAAc,CAAC;gBAC1C,OAAO,CAAC,WAAW,GAAG;oBAClB,KAAK,EAAE,KAAK;oBACZ,SAAS,EAAE,SAAS;oBACpB,QAAQ,EAAE,QAAQ;oBAClB,cAAc,EAAE,KAAK,CAAC,eAAe;oBACrC,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE;oBAC7B,GAAG,CAAC,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC;iBACjC,CAAC;YACN,CAAC;iBAAM,CAAC;gBACJ,4DAA4D;gBAC5D,OAAO,CAAC,IAAI,GAAG;;sFAEuD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC;;gFAErC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC;;;uCAG/E,QAAQ;;;;;6DAKc,KAAK,CAAC,SAAS,CAAC,kBAAkB,EAAE;;;iBAGhF,CAAC;YACN,CAAC;YAED,SAAS,CAAC,iEAAiE,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC;YACpG,+CAA+C;YAC/C,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,UAAU,CAAC;YACpE,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,iBAAiB,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YACxG,OAAO,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;QACxC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,QAAQ,CAAC,qDAAqD,GAAG,EAAE,CAAC,CAAC;YACrE,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,wBAAwB,CAAC,KAAa,EAAE,WAAsB,EAAE,QAA4B;QACrG,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACnD,IAAI,CAAC,eAAe;YAAE,OAAO,EAAE,CAAC;QAEhC,sFAAsF;QACtF,gFAAgF;QAChF,yDAAyD;QACzD,MAAM,EAAE,GAAG,IAAI,OAAO,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAgC,CAAC,CAAC;QACnF,MAAM,OAAO,GAAG,eAAe,CAAC,eAAe,CAAC,CAAC;QACjD,iFAAiF;QACjF,uFAAuF;QACvF,MAAM,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAAwB;YACnD,UAAU,EAAE,qBAAqB;YACjC,WAAW,EAAE,sBAAsB,OAAO,6CAA6C,MAAM,GAAG;YAChG,UAAU,EAAE,eAAe;SAC9B,EAAE,WAAW,CAAC,CAAC;QAEhB,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnC,OAAO,MAAM,CAAC,OAAO,CAAC;QAC1B,CAAC;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,WAAW,CAAC,OAAe,EAAE,WAAqB,EAAE,QAA2B,EAAE,KAAc,EAAE,OAA4B;QACtI,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,qBAAqB,EAAE,CAAC;QACnE,CAAC;QACD,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;YAClC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,kDAAkD,EAAE,CAAC;QAChG,CAAC;QACD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,mDAAmD,EAAE,CAAC;QACjG,CAAC;QAED,yFAAyF;QACzF,2FAA2F;QAC3F,sFAAsF;QACtF,2FAA2F;QAC3F,yFAAyF;QACzF,MAAM,EAAE,GAAG,QAAQ,CAAC;QACpB,kEAAkE;QAClE,EAAE;QACF,iFAAiF;QACjF,qFAAqF;QACrF,8EAA8E;QAC9E,EAAE;QACF,wFAAwF;QACxF,mFAAmF;QACnF,qFAAqF;QACrF,uFAAuF;QACvF,uFAAuF;QACvF,oFAAoF;QACpF,0FAA0F;QAC1F,oFAAoF;QACpF,uFAAuF;QACvF,4CAA4C;QAC5C,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,IAAI,WAAW,CAAC;QACnE,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,eAAe,CAAwB,qBAAqB,EAAE,QAAQ,CAAC,CAAC;QAC/F,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,kCAAkC,OAAO,EAAE,EAAE,CAAC;QACzF,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,+CAA+C,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;QAC5G,CAAC;QAED,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YACnD,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;YACzB,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,CAAC;QACjE,CAAC;QAED,kFAAkF;QAClF,6EAA6E;QAC7E,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC3D,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,cAAc,KAAK,CAAC,WAAW,YAAY,EAAE,CAAC;QACzF,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;YACtB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,eAAe,SAAS,CAAC,IAAI,8CAA8C,EAAE,CAAC;QACzH,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC;QAE7D,kFAAkF;QAClF,mFAAmF;QACnF,kEAAkE;QAClE,IAAI,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,KAAK,IAAI,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,eAAe,CAAC,CAAC;QACpH,IAAI,cAAc,EAAE,CAAC;YACjB,IAAI,UAAU,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;gBACnC,cAAc,GAAG,KAAK,CAAC,CAAC,+CAA+C;YAC3E,CAAC;iBAAM,IAAI,OAAO,EAAE,aAAa,KAAK,KAAK,EAAE,CAAC;gBAC1C,cAAc,GAAG,KAAK,CAAC,CAAC,4DAA4D;YACxF,CAAC;iBAAM,IAAI,UAAU,CAAC,oBAAoB,KAAK,IAAI,IAAI,OAAO,EAAE,aAAa,KAAK,IAAI,EAAE,CAAC;gBACrF,cAAc,GAAG,KAAK,CAAC,CAAC,6CAA6C;YACzE,CAAC;QACL,CAAC;QACD,IAAI,UAAU,GAAG,KAAK,CAAC;QAEvB,IAAI,KAAK,EAAE,CAAC;YACR,MAAM,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAEnF,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;gBAC1B,8EAA8E;gBAC9E,yEAAyE;gBACzE,8EAA8E;gBAC9E,6EAA6E;gBAC7E,qCAAqC;gBACrC,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,eAAe,CAA0B,wBAAwB,EAAE,QAAQ,CAAC,CAAC;gBACrG,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;gBAChE,IAAI,CAAC,YAAY,EAAE,CAAC;oBAChB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,oDAAoD,EAAE,CAAC;gBAClG,CAAC;gBACD,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;oBACnB,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;oBAC1D,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;oBACpD,IAAI,WAAW,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,IAAI,MAAM,CAAC,eAAe,CAAC,WAAW,EAAE,SAAS,CAAC,EAAE,CAAC;wBAC5F,UAAU,GAAG,IAAI,CAAC;oBACtB,CAAC;gBACL,CAAC;YACL,CAAC;iBAAM,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;gBAC5B,IAAI,CAAC;oBACD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;oBAChD,IAAI,QAAQ,IAAI,OAAO,QAAQ,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;wBACrD,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;wBAC5D,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;wBACpD,IAAI,WAAW,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,IAAI,MAAM,CAAC,eAAe,CAAC,WAAW,EAAE,SAAS,CAAC,EAAE,CAAC;4BAC5F,UAAU,GAAG,IAAI,CAAC;wBACtB,CAAC;oBACL,CAAC;gBACL,CAAC;gBAAC,MAAM,CAAC;oBACL,gCAAgC;gBACpC,CAAC;YACL,CAAC;QACL,CAAC;QAED,IAAI,CAAC,cAAc,IAAI,CAAC,UAAU,EAAE,CAAC;YACjC,OAAO;gBACH,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,8HAA8H;aAC/I,CAAC;QACN,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,wCAAwC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;QACtG,CAAC;QAED,sDAAsD;QACtD,6EAA6E;QAC7E,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,EAAE,WAAW,CAAC,EAAE,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC;QAC5F,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,OAAO;gBACH,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,wDAAwD;aACzE,CAAC;QACN,CAAC;QAED,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;QACzB,KAAK,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAC7B,KAAK,CAAC,eAAe,GAAG,WAAW,CAAC,EAAE,CAAC;QAEvC,MAAM,aAAa,GAAuB;YACtC,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,WAAW;YACjB,eAAe,EAAE,KAAK;SACzB,CAAC;QAEF,IAAI,MAAmB,CAAC;QACxB,IAAI,CAAC;YACD,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,QAAQ,CAAC,wEAAwE,KAAK,CAAC,EAAE,KAAK,GAAG,EAAE,CAAC,CAAC;YACrG,MAAM,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,kCAAkC,GAAG,EAAE,EAAE,CAAC;QACvF,CAAC;QAED,mHAAmH;QACnH,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC;QAC5D,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;;;;;OAOG;IACI,KAAK,CAAC,gBAAgB,CAAC,IAAc,EAAE,QAA2B,EAAE,OAA4B;QACnG,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC/E,MAAM,OAAO,GAAkB,EAAE,CAAC;QAClC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACzB,oFAAoF;YACpF,oFAAoF;YACpF,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAC3D,MAAM,UAAU,GAAG,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC;YAC7D,IAAI,UAAU,CAAC,SAAS,KAAK,KAAK,IAAI,UAAU,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;gBACrE,SAAS;YACb,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;QACvF,CAAC;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IAGD;;;OAGG;IACK,KAAK,CAAC,kBAAkB,CAAC,OAAe,EAAE,MAAc,EAAE,EAAqB,EAAE,WAAsB;QAC3G,IAAI,CAAC;YACD,oFAAoF;YACpF,kFAAkF;YAClF,oFAAoF;YACpF,kFAAkF;YAClF,mBAAmB;YACnB,MAAM,QAAQ,GAAG,EAA0J,CAAC;YAC5K,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;gBACzD,QAAQ,CAAC,yEAAyE,CAAC,CAAC;gBACpF,OAAO,KAAK,CAAC;YACjB,CAAC;YAED,MAAM,UAAU,GAAG,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,qBAAqB,CAAC,CAAC;YAC5E,MAAM,UAAU,GAAG,UAAU,EAAE,UAAU,IAAI,MAAM,CAAC;YACpD,MAAM,SAAS,GAAG,UAAU,EAAE,SAAS,IAAI,eAAe,CAAC;YAE3D,MAAM,IAAI,GAAG,QAAQ,CAAC,WAAW,KAAK,YAAY,CAAC;YACnD,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,UAAU,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,UAAU,MAAM,SAAS,GAAG,CAAC;YAErF,MAAM,GAAG,GAAG,IAAI;gBACZ,CAAC,CAAC,UAAU,KAAK,4NAA4N;gBAC7O,CAAC,CAAC,yDAAyD,KAAK,uPAAuP,CAAC;YAE5T,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAiB,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,WAAW,CAAC,CAAC;YAClH,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC;QACpD,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,iBAAiB,CAAC,OAAe,EAAE,EAAqB,EAAE,WAAsB;QAC1F,IAAI,CAAC;YACD,gEAAgE;YAChE,MAAM,QAAQ,GAAG,EAA0J,CAAC;YAC5K,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;gBACzD,OAAO,KAAK,CAAC;YACjB,CAAC;YAED,MAAM,UAAU,GAAG,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,qBAAqB,CAAC,CAAC;YAC5E,MAAM,UAAU,GAAG,UAAU,EAAE,UAAU,IAAI,MAAM,CAAC;YACpD,MAAM,SAAS,GAAG,UAAU,EAAE,SAAS,IAAI,eAAe,CAAC;YAE3D,MAAM,IAAI,GAAG,QAAQ,CAAC,WAAW,KAAK,YAAY,CAAC;YACnD,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,UAAU,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,UAAU,MAAM,SAAS,GAAG,CAAC;YAErF,MAAM,GAAG,GAAG,IAAI;gBACZ,CAAC,CAAC,UAAU,KAAK,kIAAkI;gBACnJ,CAAC,CAAC,yDAAyD,KAAK,gLAAgL,CAAC;YAErP,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAiB,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,WAAW,CAAC,CAAC;YAC1G,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC;QACpD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,QAAQ,CAAC,kEAAkE,OAAO,KAAK,GAAG,EAAE,CAAC,CAAC;YAC9F,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,WAAW,CAAC,OAAe,EAAE,WAAsB,EAAE,QAA4B;QAC1F,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,MAAM,EAAE,GAAG,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC;QACrC,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,eAAe,CAAwB,qBAAqB,EAAE,WAAW,CAAC,CAAC;QAClG,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO;QAElD,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;QACzB,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;QACjC,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,QAAQ,CAAC,gEAAgE,OAAO,KAAK,KAAK,CAAC,YAAY,EAAE,eAAe,IAAI,eAAe,EAAE,CAAC,CAAC;YAC/I,OAAO,CAAC,sEAAsE;QAClF,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC3D,IAAI,SAAS,EAAE,CAAC;YACZ,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;YACjD,IAAI,MAAM,EAAE,CAAC;gBACT,MAAM,MAAM,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;YAC/D,CAAC;QACL,CAAC;IACL,CAAC;CACJ"}
1
+ {"version":3,"file":"IdentityClaimEngineServer.js","sourceRoot":"","sources":["../../src/engines/IdentityClaimEngineServer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"QueryEngineServer.d.ts","sourceRoot":"","sources":["../../src/engines/QueryEngineServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QueryEngineServer.d.ts","sourceRoot":"","sources":["../../src/engines/QueryEngineServer.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { BaseSingleton } from '@memberjunction/global';
2
2
  import { LogError, LogStatus } from '@memberjunction/core';
3
3
  import { QueryEngine } from '@memberjunction/core-entities';
4
- import { SimpleVectorService } from '@memberjunction/ai-vectors-memory';
4
+ import { ReadStoredVector, SimpleVectorService } from '@memberjunction/ai-vectors-memory';
5
5
  /**
6
6
  * Server-side Query Engine that wraps QueryEngine and adds server-only capabilities.
7
7
  *
@@ -150,23 +150,22 @@ export class QueryEngineServer extends BaseSingleton {
150
150
  const queries = this.Base.Queries;
151
151
  const entries = [];
152
152
  for (const query of queries) {
153
- if (!query.EmbeddingVector)
153
+ if (!query.EmbeddingVector && !query.EmbeddingVectorBinary)
154
+ continue; // not embedded yet
155
+ // Binary column first (a copy), JSON as the fallback (a parse) — see ReadStoredVector.
156
+ const vector = ReadStoredVector(query.EmbeddingVectorBinary, query.EmbeddingVector);
157
+ if (!vector) {
158
+ LogError(`QueryEngineServer: Failed to read the embedding for query ${query.Name}`);
154
159
  continue;
155
- try {
156
- const vector = JSON.parse(query.EmbeddingVector);
157
- if (!Array.isArray(vector) || vector.length === 0)
158
- continue;
159
- entries.push({
160
- key: query.ID,
161
- vector,
162
- metadata: this.PackageQueryMetadata(query)
163
- });
164
- }
165
- catch {
166
- LogError(`QueryEngineServer: Failed to parse embedding for query ${query.Name}`);
167
160
  }
161
+ entries.push({
162
+ key: query.ID,
163
+ vector,
164
+ metadata: this.PackageQueryMetadata(query)
165
+ });
168
166
  }
169
- this._queryVectorService = new SimpleVectorService();
167
+ // float32: embeddings are float32 at the source, and it halves the pool's memory
168
+ this._queryVectorService = new SimpleVectorService({ Precision: 'float32' });
170
169
  if (entries.length > 0) {
171
170
  this._queryVectorService.LoadVectors(entries);
172
171
  }
@@ -234,7 +233,7 @@ export class QueryEngineServer extends BaseSingleton {
234
233
  if (!embedding?.result?.vector?.length) {
235
234
  throw new Error('Failed to generate embedding for search text');
236
235
  }
237
- const results = this._queryVectorService.FindNearest(embedding.result.vector, topK, minSimilarity, 'cosine', filter);
236
+ const results = await this._queryVectorService.FindNearestAsync(embedding.result.vector, topK, minSimilarity, 'cosine', filter);
238
237
  return results.map(r => ({
239
238
  queryId: r.key,
240
239
  queryName: r.metadata?.name || 'Unknown',
@@ -1 +1 @@
1
- {"version":3,"file":"QueryEngineServer.js","sourceRoot":"","sources":["../../src/engines/QueryEngineServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QueryEngineServer.js","sourceRoot":"","sources":["../../src/engines/QueryEngineServer.ts"],"names":[],"mappings":"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"}