@memberjunction/core 6.2.0-edge.4 → 6.2.0-edge.6

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 (150) hide show
  1. package/dist/generic/BaseEntitySaveQueue.d.ts +22 -0
  2. package/dist/generic/BaseEntitySaveQueue.d.ts.map +1 -1
  3. package/dist/generic/BaseEntitySaveQueue.js +43 -4
  4. package/dist/generic/BaseEntitySaveQueue.js.map +1 -1
  5. package/dist/generic/JSONType-interfaces/IEntityConfiguration.d.ts +18 -0
  6. package/dist/generic/JSONType-interfaces/IEntityConfiguration.d.ts.map +1 -1
  7. package/dist/generic/alternateBaseViews.d.ts +119 -0
  8. package/dist/generic/alternateBaseViews.d.ts.map +1 -0
  9. package/dist/generic/alternateBaseViews.js +223 -0
  10. package/dist/generic/alternateBaseViews.js.map +1 -0
  11. package/dist/generic/baseEngine.d.ts +82 -14
  12. package/dist/generic/baseEngine.d.ts.map +1 -1
  13. package/dist/generic/baseEngine.js +311 -46
  14. package/dist/generic/baseEngine.js.map +1 -1
  15. package/dist/generic/baseEngineRegistry.d.ts.map +1 -1
  16. package/dist/generic/baseEngineRegistry.js +2 -1
  17. package/dist/generic/baseEngineRegistry.js.map +1 -1
  18. package/dist/generic/baseEntity.d.ts +194 -14
  19. package/dist/generic/baseEntity.d.ts.map +1 -1
  20. package/dist/generic/baseEntity.js +638 -218
  21. package/dist/generic/baseEntity.js.map +1 -1
  22. package/dist/generic/baseInfo.d.ts +31 -3
  23. package/dist/generic/baseInfo.d.ts.map +1 -1
  24. package/dist/generic/baseInfo.js +138 -40
  25. package/dist/generic/baseInfo.js.map +1 -1
  26. package/dist/generic/contextTokens.d.ts +136 -0
  27. package/dist/generic/contextTokens.d.ts.map +1 -0
  28. package/dist/generic/contextTokens.js +319 -0
  29. package/dist/generic/contextTokens.js.map +1 -0
  30. package/dist/generic/databaseProviderBase.d.ts +103 -13
  31. package/dist/generic/databaseProviderBase.d.ts.map +1 -1
  32. package/dist/generic/databaseProviderBase.js +321 -77
  33. package/dist/generic/databaseProviderBase.js.map +1 -1
  34. package/dist/generic/embeddedRecord.d.ts +6 -0
  35. package/dist/generic/embeddedRecord.d.ts.map +1 -1
  36. package/dist/generic/embeddedRecord.js +15 -1
  37. package/dist/generic/embeddedRecord.js.map +1 -1
  38. package/dist/generic/entityCompanion.d.ts +7 -0
  39. package/dist/generic/entityCompanion.d.ts.map +1 -1
  40. package/dist/generic/entityCompanion.js +8 -0
  41. package/dist/generic/entityCompanion.js.map +1 -1
  42. package/dist/generic/entityConfiguration.d.ts +8 -2
  43. package/dist/generic/entityConfiguration.d.ts.map +1 -1
  44. package/dist/generic/entityConfiguration.js +9 -0
  45. package/dist/generic/entityConfiguration.js.map +1 -1
  46. package/dist/generic/entityInfo.d.ts +306 -12
  47. package/dist/generic/entityInfo.d.ts.map +1 -1
  48. package/dist/generic/entityInfo.js +894 -92
  49. package/dist/generic/entityInfo.js.map +1 -1
  50. package/dist/generic/entityValueFieldSecurity.d.ts +139 -0
  51. package/dist/generic/entityValueFieldSecurity.d.ts.map +1 -0
  52. package/dist/generic/entityValueFieldSecurity.js +250 -0
  53. package/dist/generic/entityValueFieldSecurity.js.map +1 -0
  54. package/dist/generic/fieldSecuritySQLGate.d.ts +350 -0
  55. package/dist/generic/fieldSecuritySQLGate.d.ts.map +1 -0
  56. package/dist/generic/fieldSecuritySQLGate.js +898 -0
  57. package/dist/generic/fieldSecuritySQLGate.js.map +1 -0
  58. package/dist/generic/indexRestrictedFields.d.ts +47 -0
  59. package/dist/generic/indexRestrictedFields.d.ts.map +1 -0
  60. package/dist/generic/indexRestrictedFields.js +129 -0
  61. package/dist/generic/indexRestrictedFields.js.map +1 -0
  62. package/dist/generic/infoProviderResolution.d.ts +16 -0
  63. package/dist/generic/infoProviderResolution.d.ts.map +1 -0
  64. package/dist/generic/infoProviderResolution.js +17 -0
  65. package/dist/generic/infoProviderResolution.js.map +1 -0
  66. package/dist/generic/interfaces.d.ts +39 -2
  67. package/dist/generic/interfaces.d.ts.map +1 -1
  68. package/dist/generic/interfaces.js.map +1 -1
  69. package/dist/generic/localCacheManager.d.ts +318 -51
  70. package/dist/generic/localCacheManager.d.ts.map +1 -1
  71. package/dist/generic/localCacheManager.js +675 -109
  72. package/dist/generic/localCacheManager.js.map +1 -1
  73. package/dist/generic/logging.d.ts.map +1 -1
  74. package/dist/generic/logging.js +7 -1
  75. package/dist/generic/logging.js.map +1 -1
  76. package/dist/generic/metadata.d.ts +3 -2
  77. package/dist/generic/metadata.d.ts.map +1 -1
  78. package/dist/generic/metadata.js +5 -2
  79. package/dist/generic/metadata.js.map +1 -1
  80. package/dist/generic/mjapiUrl.d.ts +21 -0
  81. package/dist/generic/mjapiUrl.d.ts.map +1 -0
  82. package/dist/generic/mjapiUrl.js +25 -0
  83. package/dist/generic/mjapiUrl.js.map +1 -0
  84. package/dist/generic/platformSQL.d.ts +54 -0
  85. package/dist/generic/platformSQL.d.ts.map +1 -1
  86. package/dist/generic/platformSQL.js +55 -0
  87. package/dist/generic/platformSQL.js.map +1 -1
  88. package/dist/generic/providerBase.d.ts +370 -57
  89. package/dist/generic/providerBase.d.ts.map +1 -1
  90. package/dist/generic/providerBase.js +1085 -284
  91. package/dist/generic/providerBase.js.map +1 -1
  92. package/dist/generic/queryInfo.d.ts +23 -9
  93. package/dist/generic/queryInfo.d.ts.map +1 -1
  94. package/dist/generic/queryInfo.js +73 -33
  95. package/dist/generic/queryInfo.js.map +1 -1
  96. package/dist/generic/queryInfoInterfaces.d.ts +8 -0
  97. package/dist/generic/queryInfoInterfaces.d.ts.map +1 -1
  98. package/dist/generic/queryTemplateContext.d.ts +49 -0
  99. package/dist/generic/queryTemplateContext.d.ts.map +1 -0
  100. package/dist/generic/queryTemplateContext.js +113 -0
  101. package/dist/generic/queryTemplateContext.js.map +1 -0
  102. package/dist/generic/recordChangeFieldSecurity.d.ts.map +1 -1
  103. package/dist/generic/recordChangeFieldSecurity.js +13 -2
  104. package/dist/generic/recordChangeFieldSecurity.js.map +1 -1
  105. package/dist/generic/relatedRecordCollection.d.ts +13 -0
  106. package/dist/generic/relatedRecordCollection.d.ts.map +1 -1
  107. package/dist/generic/relatedRecordCollection.js +44 -5
  108. package/dist/generic/relatedRecordCollection.js.map +1 -1
  109. package/dist/generic/runQuery.d.ts +42 -0
  110. package/dist/generic/runQuery.d.ts.map +1 -1
  111. package/dist/generic/runQuery.js +14 -0
  112. package/dist/generic/runQuery.js.map +1 -1
  113. package/dist/generic/runQuerySQLFilterImplementations.d.ts.map +1 -1
  114. package/dist/generic/runQuerySQLFilterImplementations.js +38 -2
  115. package/dist/generic/runQuerySQLFilterImplementations.js.map +1 -1
  116. package/dist/generic/saveEntityGraphOperation.d.ts.map +1 -1
  117. package/dist/generic/saveEntityGraphOperation.js +3 -0
  118. package/dist/generic/saveEntityGraphOperation.js.map +1 -1
  119. package/dist/generic/scoring/ReciprocalRankFusion.d.ts.map +1 -1
  120. package/dist/generic/scoring/ReciprocalRankFusion.js +10 -3
  121. package/dist/generic/scoring/ReciprocalRankFusion.js.map +1 -1
  122. package/dist/generic/securityInfo.d.ts +17 -6
  123. package/dist/generic/securityInfo.d.ts.map +1 -1
  124. package/dist/generic/securityInfo.js +25 -10
  125. package/dist/generic/securityInfo.js.map +1 -1
  126. package/dist/generic/telemetryManager.d.ts +9 -0
  127. package/dist/generic/telemetryManager.d.ts.map +1 -1
  128. package/dist/generic/telemetryManager.js +5 -1
  129. package/dist/generic/telemetryManager.js.map +1 -1
  130. package/dist/generic/util.d.ts.map +1 -1
  131. package/dist/generic/util.js +3 -0
  132. package/dist/generic/util.js.map +1 -1
  133. package/dist/generic/wellKnownUserSource.d.ts +3 -2
  134. package/dist/generic/wellKnownUserSource.d.ts.map +1 -1
  135. package/dist/generic/wellKnownUserSource.js +18 -9
  136. package/dist/generic/wellKnownUserSource.js.map +1 -1
  137. package/dist/index.d.ts +8 -0
  138. package/dist/index.d.ts.map +1 -1
  139. package/dist/index.js +8 -0
  140. package/dist/index.js.map +1 -1
  141. package/dist/views/runView.d.ts +89 -0
  142. package/dist/views/runView.d.ts.map +1 -1
  143. package/dist/views/runView.js +36 -0
  144. package/dist/views/runView.js.map +1 -1
  145. package/dist/views/viewProperties.d.ts +55 -0
  146. package/dist/views/viewProperties.d.ts.map +1 -0
  147. package/dist/views/viewProperties.js +258 -0
  148. package/dist/views/viewProperties.js.map +1 -0
  149. package/package.json +3 -3
  150. package/readme.md +29 -4
@@ -0,0 +1,49 @@
1
+ /**
2
+ * The reserved `Context` object in a saved query's template.
3
+ *
4
+ * A query template can read `{{ Context.UserID }}`, `{{ Context.Today }}` and the other
5
+ * {@link CONTEXT_TOKENS} by their short names. The server fills the object from the context user,
6
+ * the clock and the run's time zone; no caller value can set it. A value is worked out only when
7
+ * the template reads it, so a template that never reads `Context` renders exactly as before.
8
+ */
9
+ import { ContextToken, PropertyResolutionContext } from './contextTokens.js';
10
+ /** The name of the reserved object in a query template, and the parameter name it reserves. */
11
+ export declare const QUERY_CONTEXT_NAME = "Context";
12
+ /** The `Context` object for one render, and what the render read from it. */
13
+ export interface QueryTemplateContext {
14
+ /** Goes into the render context as `Context`. Each member is worked out when first read. */
15
+ Context: Readonly<Record<string, string>>;
16
+ /** The members read so far, with their values. A cached result depends on exactly these. */
17
+ ReadValues(): Record<string, string>;
18
+ }
19
+ /**
20
+ * Builds the `Context` object a query template renders with. The clock is read once, so every
21
+ * date member of one render agrees. A member that cannot be worked out (no context user, a user
22
+ * with no email, an invalid time zone) throws the resolver's error when the template reads it, and
23
+ * only then: a template that never reads `Context` is unaffected.
24
+ */
25
+ export declare function BuildQueryTemplateContext(ctx: PropertyResolutionContext): QueryTemplateContext;
26
+ /**
27
+ * The context tokens a query template may read: each `Context.<Name>` named in a template tag,
28
+ * or every token when a tag reads `Context` some other way (`Context['UserID']`,
29
+ * `{% set c = Context %}`). Text outside template tags is SQL and never counts.
30
+ * @returns the tokens, in {@link CONTEXT_TOKENS} order; empty when no tag mentions `Context`
31
+ */
32
+ export declare function FindTemplateContextTokens(sql: string | null | undefined): ContextToken[];
33
+ /**
34
+ * The context tokens a saved query may read, with every query it composes: a composed query's
35
+ * SQL is rendered with the outer query's `Context`.
36
+ * @param queryID the query to start from
37
+ * @param sqlTextsOf a query's SQL texts — its base SQL and each dialect variant — by query ID
38
+ * @param composedIDsOf the IDs of the queries a query composes (its `MJ: Query Dependencies`)
39
+ */
40
+ export declare function FindQueryContextTokens(queryID: string, sqlTextsOf: (id: string) => ReadonlyArray<string | null | undefined>, composedIDsOf: (id: string) => ReadonlyArray<string>): ContextToken[];
41
+ /**
42
+ * What a cached query result depends on through `Context`: each token the query reads, worked out
43
+ * now, by member name. A token that cannot be worked out is recorded as null (the run itself then
44
+ * fails, so nothing is cached under it).
45
+ * @returns null when the query reads `Context.Now`: a result that depends on the instant it ran is
46
+ * never reused
47
+ */
48
+ export declare function QueryContextCacheValues(tokens: ReadonlyArray<ContextToken>, ctx: PropertyResolutionContext): Record<string, string | null> | null;
49
+ //# sourceMappingURL=queryTemplateContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queryTemplateContext.d.ts","sourceRoot":"","sources":["../../src/generic/queryTemplateContext.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAkB,YAAY,EAAE,yBAAyB,EAAuB,MAAM,iBAAiB,CAAC;AAE/G,+FAA+F;AAC/F,eAAO,MAAM,kBAAkB,YAAY,CAAC;AAE5C,6EAA6E;AAC7E,MAAM,WAAW,oBAAoB;IACjC,4FAA4F;IAC5F,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC1C,4FAA4F;IAC5F,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,yBAAyB,GAAG,oBAAoB,CAiB9F;AAOD;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,YAAY,EAAE,CAexF;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAClC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,aAAa,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,EACpE,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,aAAa,CAAC,MAAM,CAAC,GACrD,YAAY,EAAE,CAgBhB;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,aAAa,CAAC,YAAY,CAAC,EAAE,GAAG,EAAE,yBAAyB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,CAajJ"}
@@ -0,0 +1,113 @@
1
+ /**
2
+ * The reserved `Context` object in a saved query's template.
3
+ *
4
+ * A query template can read `{{ Context.UserID }}`, `{{ Context.Today }}` and the other
5
+ * {@link CONTEXT_TOKENS} by their short names. The server fills the object from the context user,
6
+ * the clock and the run's time zone; no caller value can set it. A value is worked out only when
7
+ * the template reads it, so a template that never reads `Context` renders exactly as before.
8
+ */
9
+ import { UUIDSet } from '@memberjunction/global';
10
+ import { CONTEXT_TOKENS, ResolveContextToken } from './contextTokens.js';
11
+ /** The name of the reserved object in a query template, and the parameter name it reserves. */
12
+ export const QUERY_CONTEXT_NAME = 'Context';
13
+ /**
14
+ * Builds the `Context` object a query template renders with. The clock is read once, so every
15
+ * date member of one render agrees. A member that cannot be worked out (no context user, a user
16
+ * with no email, an invalid time zone) throws the resolver's error when the template reads it, and
17
+ * only then: a template that never reads `Context` is unaffected.
18
+ */
19
+ export function BuildQueryTemplateContext(ctx) {
20
+ const pinned = { ...ctx, Now: ctx.Now ?? new Date() };
21
+ const read = {};
22
+ const context = {};
23
+ for (const token of CONTEXT_TOKENS) {
24
+ const member = memberName(token);
25
+ Object.defineProperty(context, member, {
26
+ enumerable: true,
27
+ get: () => {
28
+ if (!(member in read)) {
29
+ read[member] = ResolveContextToken(token, undefined, pinned);
30
+ }
31
+ return read[member];
32
+ },
33
+ });
34
+ }
35
+ return { Context: Object.freeze(context), ReadValues: () => ({ ...read }) };
36
+ }
37
+ /** Template tags: `{{ … }}` output and `{% … %}` statements. Comments (`{# … #}`) never read a value. */
38
+ const TEMPLATE_TAG = /\{\{[\s\S]*?\}\}|\{%[\s\S]*?%\}/g;
39
+ const CONTEXT_WORD = /\bContext\b/g;
40
+ const CONTEXT_MEMBER = /\bContext\s*\.\s*([A-Za-z_]\w*)/g;
41
+ /**
42
+ * The context tokens a query template may read: each `Context.<Name>` named in a template tag,
43
+ * or every token when a tag reads `Context` some other way (`Context['UserID']`,
44
+ * `{% set c = Context %}`). Text outside template tags is SQL and never counts.
45
+ * @returns the tokens, in {@link CONTEXT_TOKENS} order; empty when no tag mentions `Context`
46
+ */
47
+ export function FindTemplateContextTokens(sql) {
48
+ const named = new Set();
49
+ let mentions = 0;
50
+ let namedMentions = 0;
51
+ for (const tag of (sql ?? '').match(TEMPLATE_TAG) ?? []) {
52
+ mentions += (tag.match(CONTEXT_WORD) ?? []).length;
53
+ for (const match of tag.matchAll(CONTEXT_MEMBER)) {
54
+ named.add(match[1]);
55
+ namedMentions++;
56
+ }
57
+ }
58
+ if (namedMentions < mentions) {
59
+ return [...CONTEXT_TOKENS];
60
+ }
61
+ return CONTEXT_TOKENS.filter(token => named.has(memberName(token)));
62
+ }
63
+ /**
64
+ * The context tokens a saved query may read, with every query it composes: a composed query's
65
+ * SQL is rendered with the outer query's `Context`.
66
+ * @param queryID the query to start from
67
+ * @param sqlTextsOf a query's SQL texts — its base SQL and each dialect variant — by query ID
68
+ * @param composedIDsOf the IDs of the queries a query composes (its `MJ: Query Dependencies`)
69
+ */
70
+ export function FindQueryContextTokens(queryID, sqlTextsOf, composedIDsOf) {
71
+ const found = new Set();
72
+ const visited = new UUIDSet();
73
+ const pending = [queryID];
74
+ while (pending.length > 0) {
75
+ const id = pending.pop();
76
+ if (visited.Has(id)) {
77
+ continue;
78
+ }
79
+ visited.Add(id);
80
+ for (const sql of sqlTextsOf(id)) {
81
+ FindTemplateContextTokens(sql).forEach(t => found.add(t));
82
+ }
83
+ pending.push(...composedIDsOf(id));
84
+ }
85
+ return CONTEXT_TOKENS.filter(t => found.has(t));
86
+ }
87
+ /**
88
+ * What a cached query result depends on through `Context`: each token the query reads, worked out
89
+ * now, by member name. A token that cannot be worked out is recorded as null (the run itself then
90
+ * fails, so nothing is cached under it).
91
+ * @returns null when the query reads `Context.Now`: a result that depends on the instant it ran is
92
+ * never reused
93
+ */
94
+ export function QueryContextCacheValues(tokens, ctx) {
95
+ if (tokens.includes('Context.Now')) {
96
+ return null;
97
+ }
98
+ const values = {};
99
+ for (const token of tokens) {
100
+ try {
101
+ values[memberName(token)] = ResolveContextToken(token, undefined, ctx);
102
+ }
103
+ catch {
104
+ values[memberName(token)] = null;
105
+ }
106
+ }
107
+ return values;
108
+ }
109
+ /** `Context.UserID` → `UserID`. */
110
+ function memberName(token) {
111
+ return token.slice(QUERY_CONTEXT_NAME.length + 1);
112
+ }
113
+ //# sourceMappingURL=queryTemplateContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queryTemplateContext.js","sourceRoot":"","sources":["../../src/generic/queryTemplateContext.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"recordChangeFieldSecurity.d.ts","sourceRoot":"","sources":["../../src/generic/recordChangeFieldSecurity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C;;;;;;;GAOG;AACH,MAAM,WAAW,0BAA0B;IACvC,QAAQ,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC;IAChC,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;CACxD;AAED;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,uBAAuB,CAAC;AAE5D;;;GAGG;AACH,eAAO,MAAM,yBAAyB,aAAa,CAAC;AAEpD;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B,4CAA6C,CAAC;AAExF;;;GAGG;AACH,eAAO,MAAM,6BAA6B,uBAAuB,CAAC;AAElE;;;GAGG;AACH,eAAO,MAAM,yBAAyB,EAAE,SAAS,MAAM,EAGtD,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,WAAW,6BAA6B;IAC1C,sEAAsE;IACtE,QAAQ,EAAE,OAAO,CAAC;IAClB,+EAA+E;IAC/E,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,6BAA6B,CAiCxH;AA8BD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,qBAAa,kCAAkC;IAMvC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,IAAI;IANzB,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAyC;IAC1E,OAAO,CAAC,cAAc,CAAwB;IAC9C,OAAO,CAAC,WAAW,CAAyD;gBAGvD,QAAQ,EAAE,0BAA0B,EACpC,IAAI,EAAE,QAAQ;IAGnC;;;OAGG;WACW,qBAAqB,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO;IAInF;;;;OAIG;IACI,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE;IAerC;;;OAGG;IACI,UAAU,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC;IAO/B;;;;;;;;;;;;OAYG;IACI,sBAAsB,IAAI,OAAO;IAIxC,OAAO,CAAC,oBAAoB;IAS5B,OAAO,CAAC,UAAU;IAiClB;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,eAAe;IAkBvB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;CAsB7B"}
1
+ {"version":3,"file":"recordChangeFieldSecurity.d.ts","sourceRoot":"","sources":["../../src/generic/recordChangeFieldSecurity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C;;;;;;;GAOG;AACH,MAAM,WAAW,0BAA0B;IACvC,QAAQ,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC;IAChC,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;CACxD;AAED;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,uBAAuB,CAAC;AAK5D;;;GAGG;AACH,eAAO,MAAM,yBAAyB,aAAa,CAAC;AAEpD;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B,4CAA6C,CAAC;AAExF;;;GAGG;AACH,eAAO,MAAM,6BAA6B,uBAAuB,CAAC;AAElE;;;GAGG;AACH,eAAO,MAAM,yBAAyB,EAAE,SAAS,MAAM,EAGtD,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,WAAW,6BAA6B;IAC1C,sEAAsE;IACtE,QAAQ,EAAE,OAAO,CAAC;IAClB,+EAA+E;IAC/E,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,6BAA6B,CAiCxH;AA8BD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,qBAAa,kCAAkC;IAMvC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,IAAI;IANzB,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAyC;IAC1E,OAAO,CAAC,cAAc,CAAwB;IAC9C,OAAO,CAAC,WAAW,CAAyD;gBAGvD,QAAQ,EAAE,0BAA0B,EACpC,IAAI,EAAE,QAAQ;IAGnC;;;OAGG;WACW,qBAAqB,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO;IAanF;;;;OAIG;IACI,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE;IAerC;;;OAGG;IACI,UAAU,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC;IAO/B;;;;;;;;;;;;OAYG;IACI,sBAAsB,IAAI,OAAO;IAIxC,OAAO,CAAC,oBAAoB;IAS5B,OAAO,CAAC,UAAU;IAiClB;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,eAAe;IAkBvB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;CAsB7B"}
@@ -4,6 +4,8 @@
4
4
  * name is the thing a reader can check against metadata without a lookup.
5
5
  */
6
6
  export const RecordChangesEntityName = 'MJ: Record Changes';
7
+ /** {@link RecordChangesEntityName} folded once, for the case-insensitive comparison. */
8
+ const RECORD_CHANGES_ENTITY_NAME_LOWER = RecordChangesEntityName.toLowerCase();
7
9
  /**
8
10
  * The Record Change column naming the entity a row is ABOUT. Everything in this module hangs off
9
11
  * it: it is what makes the denied set per-ROW rather than per-result.
@@ -134,7 +136,16 @@ export class RecordChangeFieldSecurityProjector {
134
136
  * constructing a projector, so nothing is paid on the other 99% of reads.
135
137
  */
136
138
  static IsRecordChangesEntity(entity) {
137
- return entity?.Name?.trim().toLowerCase() === RecordChangesEntityName.toLowerCase();
139
+ const name = entity?.Name;
140
+ if (!name) {
141
+ return false;
142
+ }
143
+ // Exact name first (the usual spelling), and a length test before folding any other name.
144
+ if (name === RecordChangesEntityName) {
145
+ return true;
146
+ }
147
+ return name.length >= RECORD_CHANGES_ENTITY_NAME_LOWER.length
148
+ && name.trim().toLowerCase() === RECORD_CHANGES_ENTITY_NAME_LOWER;
138
149
  }
139
150
  /**
140
151
  * Projects a whole result set. Returns the ORIGINAL array when nothing needed changing, so an
@@ -183,7 +194,7 @@ export class RecordChangeFieldSecurityProjector {
183
194
  }
184
195
  callerCarriesDenials() {
185
196
  if (this.carriesDenials === null) {
186
- this.carriesDenials = this.provider.Entities.some((e) => e.EnableFieldLevelSecurity && e.GetDeniedReadFields(this.user).size > 0);
197
+ this.carriesDenials = this.provider.Entities.some((e) => e.FieldLevelSecurityApplies && e.GetDeniedReadFields(this.user).size > 0);
187
198
  }
188
199
  return this.carriesDenials;
189
200
  }
@@ -1 +1 @@
1
- {"version":3,"file":"recordChangeFieldSecurity.js","sourceRoot":"","sources":["../../src/generic/recordChangeFieldSecurity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recordChangeFieldSecurity.js","sourceRoot":"","sources":["../../src/generic/recordChangeFieldSecurity.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,7 @@ import { EntityCompanion, EntityCompanionDeserializeMode, EntityCompanionPayload
27
27
  import type { EntitySavePlan } from './entitySavePlan.js';
28
28
  import { ValidationResult } from './entityInfo.js';
29
29
  import type { EntitySaveOptions, IEntityDataProvider } from './interfaces.js';
30
+ import type { UserInfo } from './securityInfo.js';
30
31
  /**
31
32
  * When a child collection populates itself from the database.
32
33
  *
@@ -207,6 +208,8 @@ export declare class RelatedRecordCollection<T extends BaseEntity = BaseEntity>
207
208
  private items;
208
209
  private removed;
209
210
  private loaded;
211
+ /** True while {@link items} are an engine's own cached instances rather than records this collection owns. */
212
+ private sharesEngineInstances;
210
213
  private readonly options;
211
214
  /**
212
215
  * @param owner - The parent entity.
@@ -373,6 +376,16 @@ export declare class RelatedRecordCollection<T extends BaseEntity = BaseEntity>
373
376
  * @param items - The children belonging to this parent.
374
377
  */
375
378
  SetLoadedItems(items: T[]): void;
379
+ /** Fills the collection from an engine's cached records: shared when read-only, copied otherwise. */
380
+ private adoptCachedRecords;
381
+ /** Fills the collection with an engine's own instances, which it must never change. */
382
+ private adoptEngineInstances;
383
+ /**
384
+ * Gives every loaded child, and every child pending removal, the owner's new user, which
385
+ * narrows what each holds to that user. A read-only cache collection's children are the
386
+ * engine's own instances, shared with every other reader, so they are left as they are.
387
+ */
388
+ OnOwnerContextUserChanged(user: UserInfo): void;
376
389
  /**
377
390
  * Replaces an existing item in the collection with another item (e.g. replacing a generic
378
391
  * base entity with its hydrated polymorphic IS-A leaf entity instance).
@@ -1 +1 @@
1
- {"version":3,"file":"relatedRecordCollection.d.ts","sourceRoot":"","sources":["../../src/generic/relatedRecordCollection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relatedRecordCollection.d.ts","sourceRoot":"","sources":["../../src/generic/relatedRecordCollection.ts"],"names":[],"mappings":"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"}
@@ -29,6 +29,7 @@ import { CompositeKey, KeyValuePair } from './compositeKey.js';
29
29
  import { EntityCompanion } from './entityCompanion.js';
30
30
  import { ValidationErrorInfo, ValidationErrorType } from './entityInfo.js';
31
31
  import { LogError } from './logging.js';
32
+ import { AssertClientInputWritableForUser, OmitFieldsUnreadableByActiveUser } from './entityValueFieldSecurity.js';
32
33
  /**
33
34
  * A typed collection of child records that travels, validates and persists with its parent.
34
35
  *
@@ -70,6 +71,8 @@ export class RelatedRecordCollection extends EntityCompanion {
70
71
  this.items = [];
71
72
  this.removed = [];
72
73
  this.loaded = false;
74
+ /** True while {@link items} are an engine's own cached instances rather than records this collection owns. */
75
+ this.sharesEngineInstances = false;
73
76
  /**
74
77
  * The engine and property this collection last read from, plus enough about that array to tell
75
78
  * cheaply whether it has moved on.
@@ -361,7 +364,7 @@ export class RelatedRecordCollection extends EntityCompanion {
361
364
  if (this.Source === 'cache') {
362
365
  const cached = this.findCachedRecords();
363
366
  if (cached) {
364
- this.SetLoadedItems(this.IsReadOnly ? cached : await this.copyRecords(cached));
367
+ await this.adoptCachedRecords(cached);
365
368
  return;
366
369
  }
367
370
  }
@@ -383,6 +386,7 @@ export class RelatedRecordCollection extends EntityCompanion {
383
386
  this.items = result.Results ?? [];
384
387
  this.removed = [];
385
388
  this.loaded = true;
389
+ this.sharesEngineInstances = false;
386
390
  }
387
391
  /** @inheritdoc */
388
392
  async LoadEager(_visited) {
@@ -402,6 +406,34 @@ export class RelatedRecordCollection extends EntityCompanion {
402
406
  this.items = items ?? [];
403
407
  this.removed = [];
404
408
  this.loaded = true;
409
+ this.sharesEngineInstances = false;
410
+ }
411
+ /** Fills the collection from an engine's cached records: shared when read-only, copied otherwise. */
412
+ async adoptCachedRecords(cached) {
413
+ if (this.IsReadOnly) {
414
+ this.adoptEngineInstances(cached);
415
+ }
416
+ else {
417
+ this.SetLoadedItems(await this.copyRecords(cached));
418
+ }
419
+ }
420
+ /** Fills the collection with an engine's own instances, which it must never change. */
421
+ adoptEngineInstances(records) {
422
+ this.SetLoadedItems(records);
423
+ this.sharesEngineInstances = true;
424
+ }
425
+ /**
426
+ * Gives every loaded child, and every child pending removal, the owner's new user, which
427
+ * narrows what each holds to that user. A read-only cache collection's children are the
428
+ * engine's own instances, shared with every other reader, so they are left as they are.
429
+ */
430
+ OnOwnerContextUserChanged(user) {
431
+ if (this.sharesEngineInstances) {
432
+ return;
433
+ }
434
+ for (const child of [...this.items, ...this.removed]) {
435
+ child.ContextCurrentUser = user;
436
+ }
405
437
  }
406
438
  /**
407
439
  * Replaces an existing item in the collection with another item (e.g. replacing a generic
@@ -452,7 +484,7 @@ export class RelatedRecordCollection extends EntityCompanion {
452
484
  if (!cached) {
453
485
  return false;
454
486
  }
455
- this.SetLoadedItems(this.IsReadOnly ? cached : await this.copyRecords(cached));
487
+ await this.adoptCachedRecords(cached);
456
488
  return true;
457
489
  }
458
490
  /**
@@ -500,7 +532,7 @@ export class RelatedRecordCollection extends EntityCompanion {
500
532
  const mine = records.filter(r => UUIDsEqual(String(r.Get(joinField) ?? ''), String(parentKey)));
501
533
  this.cacheDonor.array = records;
502
534
  this.cacheDonor.length = records.length;
503
- this.SetLoadedItems(this.sortLikeOrderBy(mine));
535
+ this.adoptEngineInstances(this.sortLikeOrderBy(mine));
504
536
  }
505
537
  /**
506
538
  * Populates a `'lazy'` collection from cache, or throws explaining why it could not.
@@ -592,7 +624,7 @@ export class RelatedRecordCollection extends EntityCompanion {
592
624
  if (!cached) {
593
625
  return false;
594
626
  }
595
- this.SetLoadedItems(cached);
627
+ this.adoptEngineInstances(cached);
596
628
  return true;
597
629
  }
598
630
  /**
@@ -898,7 +930,9 @@ export class RelatedRecordCollection extends EntityCompanion {
898
930
  const companions = i.HasCompanions ? await i.SerializeCompanions(mode) : [];
899
931
  items.push({
900
932
  EntityName: i.EntityInfo?.Name ?? this.RelatedEntityName,
901
- Fields: i.GetAll(),
933
+ // Without the fields the child's user may not read: the receiving tier refuses a
934
+ // restricted caller's input that names one.
935
+ Fields: OmitFieldsUnreadableByActiveUser(i, i.GetAll()),
902
936
  IsNew: !i.IsSaved,
903
937
  Companions: companions.length > 0 ? companions : null,
904
938
  });
@@ -919,6 +953,8 @@ export class RelatedRecordCollection extends EntityCompanion {
919
953
  // is simply absent from it.
920
954
  this.removed = mode === 'request' ? await this.rehydrateRemovals(provider, data?.Removed ?? []) : [];
921
955
  this.loaded = true;
956
+ // The rehydrated children are this collection's own, never an engine's shared instances.
957
+ this.sharesEngineInstances = false;
922
958
  }
923
959
  /**
924
960
  * Rebuilds retained child entity objects from the wire.
@@ -949,6 +985,9 @@ export class RelatedRecordCollection extends EntityCompanion {
949
985
  out.push(child);
950
986
  continue;
951
987
  }
988
+ // A request carries client input: a caller with any field denial may send only the
989
+ // fields they can read. A no-op without a context user (no server-side caller).
990
+ AssertClientInputWritableForUser(child.EntityInfo, row.Fields, this.Owner.ContextCurrentUser);
952
991
  if (row.IsNew) {
953
992
  child.NewRecord();
954
993
  child.SetMany(row.Fields, true);
@@ -1 +1 @@
1
- {"version":3,"file":"relatedRecordCollection.js","sourceRoot":"","sources":["../../src/generic/relatedRecordCollection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relatedRecordCollection.js","sourceRoot":"","sources":["../../src/generic/relatedRecordCollection.ts"],"names":[],"mappings":"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"}
@@ -134,7 +134,49 @@ export type RunQueryParams = {
134
134
  * Existing callers that omit this are unaffected (they get live results, exactly as before).
135
135
  */
136
136
  DataSource?: 'Live' | 'Materialized';
137
+ /**
138
+ * Server only: the IANA time zone (e.g. `'Europe/Paris'`) that context tokens such as
139
+ * `Context.Today` are worked out in for this run. Unset means UTC.
140
+ *
141
+ * MJServer's GraphQL resolvers set it from the request's `x-mj-timezone` header
142
+ * (`TIME_ZONE_HEADER`); server code that runs without a request (agents, schedules) sets it
143
+ * itself. No GraphQL run input carries it, so a GraphQL client cannot set it.
144
+ *
145
+ * It is not part of the result-cache fingerprint. Code that resolves tokens with it must put the
146
+ * resolved values, not the zone, into whatever the fingerprint covers.
147
+ */
148
+ TimeZone?: string;
149
+ /**
150
+ * Server only: values for the query's server-set parameters (`MJ: Query Parameters.IsServerSet`),
151
+ * keyed by parameter name. Server code sets them; a value for a server-set parameter in
152
+ * {@link Parameters} is refused, so a caller cannot choose it. A value here may also set an
153
+ * ordinary parameter, and wins over {@link Parameters} when both name it.
154
+ *
155
+ * No GraphQL run input carries it, and the `RunQuery*` resolvers never read it from a request,
156
+ * so a GraphQL client cannot set it. Transports that build run params from a request body strip
157
+ * it ({@link SERVER_ONLY_RUN_QUERY_PARAMS}). The result-cache fingerprint covers these values.
158
+ */
159
+ ServerParameters?: Record<string, unknown>;
160
+ /**
161
+ * Opt-in: refuse to run unless the query's approval is current — its status is Approved and
162
+ * the fingerprint stored when it was approved matches the fingerprint of the definition about
163
+ * to run (SQL, dialect variants, parameter contract), worked out on the server. A query it
164
+ * composes must have a current approval too. Unset, an unapproved query runs with a logged
165
+ * warning, as before.
166
+ *
167
+ * Server only: no GraphQL run input carries it. A run with it set skips the `CacheLocal`
168
+ * result cache, so every run is checked.
169
+ */
170
+ RequireApproved?: boolean;
137
171
  };
172
+ /**
173
+ * `RunQueryParams` fields only server code may set. A transport that builds run params from a
174
+ * client's request body removes these before running the query, so a client cannot choose them.
175
+ * GraphQL run inputs never carry them in the first place.
176
+ */
177
+ export declare const SERVER_ONLY_RUN_QUERY_PARAMS: ReadonlyArray<keyof RunQueryParams>;
178
+ /** A copy of client-supplied run params without the {@link SERVER_ONLY_RUN_QUERY_PARAMS} fields. */
179
+ export declare function StripServerOnlyRunQueryParams(params: RunQueryParams): RunQueryParams;
138
180
  /**
139
181
  * Class used to run a query and return the results.
140
182
  * Provides an abstraction layer for executing saved queries with proper security checks.
@@ -1 +1 @@
1
- {"version":3,"file":"runQuery.d.ts","sourceRoot":"","sources":["../../src/generic/runQuery.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG;IACzB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;;OAKG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAChC;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAE5B;;;;;;;;;;;OAWG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IAEpB;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IAEtB;;;;;;OAMG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAE7B;;;;;;;;;;;;;;OAcG;IACH,UAAU,CAAC,EAAE,kBAAkB,CAAA;IAE/B;;;;;;;;;;;;OAYG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,cAAc,CAAA;CACvC,CAAA;AAED;;;;GAIG;AACH,qBAAa,QAAQ;IACjB,OAAO,CAAC,SAAS,CAA2B;IAC5C;;OAEG;gBACS,QAAQ,GAAE,iBAAiB,GAAG,IAAW;IAIrD;;;;OAIG;IACH,IAAW,aAAa,IAAI,iBAAiB,CAE5C;IACD;;;;;;;;OAQG;IACU,QAAQ,CAAC,MAAM,EAAE,cAAc,EAAE,WAAW,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC;IAK9F;;;;;;;OAOG;IACU,UAAU,CAAC,MAAM,EAAE,cAAc,EAAE,EAAE,WAAW,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAKpG;;;;;;;OAOG;IACU,eAAe,CAAC,IAAI,EAAE,kBAAkB,EAAE,WAAW,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC;IAIvG,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAiC;IAClE;;;;;OAKG;IACH,WAAkB,QAAQ,IAAI,iBAAiB,CAM9C;IACD;;;;;OAKG;IACH,WAAkB,QAAQ,CAAC,KAAK,EAAE,iBAAiB,EAMlD;CAEJ"}
1
+ {"version":3,"file":"runQuery.d.ts","sourceRoot":"","sources":["../../src/generic/runQuery.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG;IACzB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;;OAKG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAChC;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAE5B;;;;;;;;;;;OAWG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IAEpB;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IAEtB;;;;;;OAMG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAE7B;;;;;;;;;;;;;;OAcG;IACH,UAAU,CAAC,EAAE,kBAAkB,CAAA;IAE/B;;;;;;;;;;;;OAYG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,cAAc,CAAA;IAEpC;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;;;;;;;;OASG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAE1C;;;;;;;;;OASG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;CAC5B,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,EAAE,aAAa,CAAC,MAAM,cAAc,CAAuD,CAAC;AAErI,oGAAoG;AACpG,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,cAAc,GAAG,cAAc,CAMpF;AAED;;;;GAIG;AACH,qBAAa,QAAQ;IACjB,OAAO,CAAC,SAAS,CAA2B;IAC5C;;OAEG;gBACS,QAAQ,GAAE,iBAAiB,GAAG,IAAW;IAIrD;;;;OAIG;IACH,IAAW,aAAa,IAAI,iBAAiB,CAE5C;IACD;;;;;;;;OAQG;IACU,QAAQ,CAAC,MAAM,EAAE,cAAc,EAAE,WAAW,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC;IAK9F;;;;;;;OAOG;IACU,UAAU,CAAC,MAAM,EAAE,cAAc,EAAE,EAAE,WAAW,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAKpG;;;;;;;OAOG;IACU,eAAe,CAAC,IAAI,EAAE,kBAAkB,EAAE,WAAW,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC;IAIvG,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAiC;IAClE;;;;;OAKG;IACH,WAAkB,QAAQ,IAAI,iBAAiB,CAM9C;IACD;;;;;OAKG;IACH,WAAkB,QAAQ,CAAC,KAAK,EAAE,iBAAiB,EAMlD;CAEJ"}