@cratis/chronicle 6.16.0 → 6.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (163) hide show
  1. package/artifacts/ActivatedArtifact.ts +5 -1
  2. package/artifacts/ArtifactCompletionFailed.ts +20 -0
  3. package/artifacts/ArtifactInvocationContext.ts +21 -0
  4. package/artifacts/for_withActivatedArtifact/when_completing/after_processing_failure.spec.ts +34 -0
  5. package/artifacts/index.ts +2 -0
  6. package/artifacts/withActivatedArtifact.ts +20 -3
  7. package/dist/artifacts/ActivatedArtifact.d.ts +4 -1
  8. package/dist/artifacts/ActivatedArtifact.d.ts.map +1 -1
  9. package/dist/artifacts/ArtifactCompletionFailed.d.ts +9 -0
  10. package/dist/artifacts/ArtifactCompletionFailed.d.ts.map +1 -0
  11. package/dist/artifacts/ArtifactCompletionFailed.js +19 -0
  12. package/dist/artifacts/ArtifactCompletionFailed.js.map +1 -0
  13. package/dist/artifacts/ArtifactInvocationContext.d.ts +18 -0
  14. package/dist/artifacts/ArtifactInvocationContext.d.ts.map +1 -0
  15. package/dist/artifacts/ArtifactInvocationContext.js +4 -0
  16. package/dist/artifacts/ArtifactInvocationContext.js.map +1 -0
  17. package/dist/artifacts/index.d.ts +2 -0
  18. package/dist/artifacts/index.d.ts.map +1 -1
  19. package/dist/artifacts/index.js +1 -0
  20. package/dist/artifacts/index.js.map +1 -1
  21. package/dist/artifacts/withActivatedArtifact.d.ts +2 -1
  22. package/dist/artifacts/withActivatedArtifact.d.ts.map +1 -1
  23. package/dist/artifacts/withActivatedArtifact.js +22 -3
  24. package/dist/artifacts/withActivatedArtifact.js.map +1 -1
  25. package/dist/projections/CompiledProjectionDefinitions.d.ts +6 -0
  26. package/dist/projections/CompiledProjectionDefinitions.d.ts.map +1 -1
  27. package/dist/projections/InvalidEventContextPropertyError.d.ts +10 -0
  28. package/dist/projections/InvalidEventContextPropertyError.d.ts.map +1 -0
  29. package/dist/projections/InvalidEventContextPropertyError.js +16 -0
  30. package/dist/projections/InvalidEventContextPropertyError.js.map +1 -0
  31. package/dist/projections/ProjectionCapabilityProvenance.d.ts +8 -0
  32. package/dist/projections/ProjectionCapabilityProvenance.d.ts.map +1 -0
  33. package/dist/projections/ProjectionCapabilityProvenance.js +4 -0
  34. package/dist/projections/ProjectionCapabilityProvenance.js.map +1 -0
  35. package/dist/projections/ProjectionDefinitionCompiler.d.ts +2 -0
  36. package/dist/projections/ProjectionDefinitionCompiler.d.ts.map +1 -1
  37. package/dist/projections/ProjectionDefinitionCompiler.js +148 -7
  38. package/dist/projections/ProjectionDefinitionCompiler.js.map +1 -1
  39. package/dist/projections/ProjectionEventSchema.d.ts +10 -0
  40. package/dist/projections/ProjectionEventSchema.d.ts.map +1 -0
  41. package/dist/projections/ProjectionEventSchema.js +4 -0
  42. package/dist/projections/ProjectionEventSchema.js.map +1 -0
  43. package/dist/projections/VariantReclassifier.d.ts +2 -0
  44. package/dist/projections/VariantReclassifier.d.ts.map +1 -1
  45. package/dist/projections/VariantReclassifier.js.map +1 -1
  46. package/dist/projections/captureProjectionProvenance.d.ts +4 -0
  47. package/dist/projections/captureProjectionProvenance.d.ts.map +1 -0
  48. package/dist/projections/captureProjectionProvenance.js +56 -0
  49. package/dist/projections/captureProjectionProvenance.js.map +1 -0
  50. package/dist/projections/declarative/AllSetBuilder.d.ts.map +1 -1
  51. package/dist/projections/declarative/AllSetBuilder.js +2 -1
  52. package/dist/projections/declarative/AllSetBuilder.js.map +1 -1
  53. package/dist/projections/declarative/FromBuilder.d.ts.map +1 -1
  54. package/dist/projections/declarative/FromBuilder.js +12 -2
  55. package/dist/projections/declarative/FromBuilder.js.map +1 -1
  56. package/dist/projections/declarative/JoinBuilder.d.ts.map +1 -1
  57. package/dist/projections/declarative/JoinBuilder.js +2 -1
  58. package/dist/projections/declarative/JoinBuilder.js.map +1 -1
  59. package/dist/projections/declarative/ProjectionBuilderCore.d.ts.map +1 -1
  60. package/dist/projections/declarative/ProjectionBuilderCore.js +8 -0
  61. package/dist/projections/declarative/ProjectionBuilderCore.js.map +1 -1
  62. package/dist/projections/declarative/RemovedWithBuilder.d.ts.map +1 -1
  63. package/dist/projections/declarative/RemovedWithBuilder.js +2 -1
  64. package/dist/projections/declarative/RemovedWithBuilder.js.map +1 -1
  65. package/dist/projections/declarative/SetBuilder.d.ts.map +1 -1
  66. package/dist/projections/declarative/SetBuilder.js +2 -1
  67. package/dist/projections/declarative/SetBuilder.js.map +1 -1
  68. package/dist/projections/declarative/projectionBuilderProvenance.d.ts +16 -0
  69. package/dist/projections/declarative/projectionBuilderProvenance.d.ts.map +1 -0
  70. package/dist/projections/declarative/projectionBuilderProvenance.js +28 -0
  71. package/dist/projections/declarative/projectionBuilderProvenance.js.map +1 -0
  72. package/dist/projections/eventContextPropertyExpression.d.ts +3 -0
  73. package/dist/projections/eventContextPropertyExpression.d.ts.map +1 -0
  74. package/dist/projections/eventContextPropertyExpression.js +69 -0
  75. package/dist/projections/eventContextPropertyExpression.js.map +1 -0
  76. package/dist/projections/eventContractPath.d.ts +4 -0
  77. package/dist/projections/eventContractPath.d.ts.map +1 -0
  78. package/dist/projections/eventContractPath.js +7 -0
  79. package/dist/projections/eventContractPath.js.map +1 -0
  80. package/dist/projections/index.d.ts +1 -0
  81. package/dist/projections/index.d.ts.map +1 -1
  82. package/dist/projections/index.js +1 -0
  83. package/dist/projections/index.js.map +1 -1
  84. package/dist/projections/invalidEventContextPropertyInProjection.d.ts +4 -0
  85. package/dist/projections/invalidEventContextPropertyInProjection.d.ts.map +1 -0
  86. package/dist/projections/invalidEventContextPropertyInProjection.js +7 -0
  87. package/dist/projections/invalidEventContextPropertyInProjection.js.map +1 -0
  88. package/dist/projections/modelBound/childrenAndNestedBuilder.d.ts.map +1 -1
  89. package/dist/projections/modelBound/childrenAndNestedBuilder.js +2 -1
  90. package/dist/projections/modelBound/childrenAndNestedBuilder.js.map +1 -1
  91. package/dist/reactors/Reactors.d.ts.map +1 -1
  92. package/dist/reactors/Reactors.js +12 -3
  93. package/dist/reactors/Reactors.js.map +1 -1
  94. package/dist/readModels/rootReadModelTypes.d.ts.map +1 -1
  95. package/dist/readModels/rootReadModelTypes.js +12 -1
  96. package/dist/readModels/rootReadModelTypes.js.map +1 -1
  97. package/dist/reducers/Reducers.d.ts.map +1 -1
  98. package/dist/reducers/Reducers.js +12 -3
  99. package/dist/reducers/Reducers.js.map +1 -1
  100. package/dist/testing/projections/ProjectionCapabilities.d.ts +17 -0
  101. package/dist/testing/projections/ProjectionCapabilities.d.ts.map +1 -0
  102. package/dist/testing/projections/ProjectionCapabilities.js +233 -0
  103. package/dist/testing/projections/ProjectionCapabilities.js.map +1 -0
  104. package/dist/testing/projections/UnsupportedProjectionOperation.d.ts +11 -0
  105. package/dist/testing/projections/UnsupportedProjectionOperation.d.ts.map +1 -0
  106. package/dist/testing/projections/UnsupportedProjectionOperation.js +16 -0
  107. package/dist/testing/projections/UnsupportedProjectionOperation.js.map +1 -0
  108. package/dist/testing/projections/for_ProjectionCapabilities/given/Changed.d.ts +7 -0
  109. package/dist/testing/projections/for_ProjectionCapabilities/given/Changed.d.ts.map +1 -0
  110. package/dist/testing/projections/for_ProjectionCapabilities/given/Changed.js +16 -0
  111. package/dist/testing/projections/for_ProjectionCapabilities/given/Changed.js.map +1 -0
  112. package/dist/testing/projections/for_ProjectionCapabilities/given/Model.d.ts +10 -0
  113. package/dist/testing/projections/for_ProjectionCapabilities/given/Model.d.ts.map +1 -0
  114. package/dist/testing/projections/for_ProjectionCapabilities/given/Model.js +20 -0
  115. package/dist/testing/projections/for_ProjectionCapabilities/given/Model.js.map +1 -0
  116. package/dist/testing/projections/for_ProjectionCapabilities/given/Removed.d.ts +3 -0
  117. package/dist/testing/projections/for_ProjectionCapabilities/given/Removed.d.ts.map +1 -0
  118. package/dist/testing/projections/for_ProjectionCapabilities/given/Removed.js +7 -0
  119. package/dist/testing/projections/for_ProjectionCapabilities/given/Removed.js.map +1 -0
  120. package/dist/testing/projections/for_ProjectionCapabilities/given/compile.d.ts +12 -0
  121. package/dist/testing/projections/for_ProjectionCapabilities/given/compile.d.ts.map +1 -0
  122. package/dist/testing/projections/for_ProjectionCapabilities/given/compile.js +34 -0
  123. package/dist/testing/projections/for_ProjectionCapabilities/given/compile.js.map +1 -0
  124. package/dist/tsconfig.tsbuildinfo +1 -1
  125. package/package.json +1 -1
  126. package/projections/CompiledProjectionDefinitions.ts +6 -0
  127. package/projections/InvalidEventContextPropertyError.ts +14 -0
  128. package/projections/ProjectionCapabilityProvenance.ts +10 -0
  129. package/projections/ProjectionDefinitionCompiler.ts +146 -7
  130. package/projections/ProjectionEventSchema.ts +13 -0
  131. package/projections/VariantReclassifier.ts +2 -0
  132. package/projections/captureProjectionProvenance.ts +50 -0
  133. package/projections/declarative/AllSetBuilder.ts +2 -1
  134. package/projections/declarative/CompositeKeyBuilder.spec.ts +1 -1
  135. package/projections/declarative/FromBuilder.ts +12 -2
  136. package/projections/declarative/JoinBuilder.ts +2 -1
  137. package/projections/declarative/ProjectionBuilderCore.ts +7 -0
  138. package/projections/declarative/ProjectionBuilderFor.spec.ts +4 -4
  139. package/projections/declarative/RemovedWithBuilder.ts +2 -1
  140. package/projections/declarative/SetBuilder.ts +2 -1
  141. package/projections/declarative/projectionBuilderProvenance.ts +40 -0
  142. package/projections/eventContextExpressions.spec.ts +273 -0
  143. package/projections/eventContextPropertyExpression.ts +72 -0
  144. package/projections/eventContractPath.ts +9 -0
  145. package/projections/index.ts +1 -0
  146. package/projections/invalidEventContextPropertyInProjection.ts +13 -0
  147. package/projections/modelBound/childrenAndNestedBuilder.ts +2 -1
  148. package/reactors/Reactors.ts +13 -3
  149. package/reactors/for_Reactors/when_delivering/with_activation.spec.ts +93 -2
  150. package/readModels/rootReadModelTypes.ts +11 -1
  151. package/reducers/Reducers.ts +14 -3
  152. package/reducers/for_Reducers/when_delivering/with_activation.spec.ts +67 -1
  153. package/testing/projections/ProjectionCapabilities.ts +213 -0
  154. package/testing/projections/UnsupportedProjectionOperation.ts +16 -0
  155. package/testing/projections/for_ProjectionCapabilities/given/Changed.ts +12 -0
  156. package/testing/projections/for_ProjectionCapabilities/given/Model.ts +13 -0
  157. package/testing/projections/for_ProjectionCapabilities/given/Removed.ts +7 -0
  158. package/testing/projections/for_ProjectionCapabilities/given/compile.ts +39 -0
  159. package/testing/projections/for_ProjectionCapabilities/when_compiling_capability_evidence.spec.ts +68 -0
  160. package/testing/projections/for_ProjectionCapabilities/when_rejecting_unsupported_operations.spec.ts +230 -0
  161. package/testing/projections/for_ProjectionCapabilities/when_validating_numeric_schemas.spec.ts +73 -0
  162. package/testing/projections/for_ProjectionCapabilities/when_validating_schema_boundaries.spec.ts +118 -0
  163. package/testing/projections/for_ProjectionCapabilities/when_validating_supported_operations.spec.ts +103 -0
@@ -2,6 +2,7 @@
2
2
  // Licensed under the MIT license. See LICENSE file in the project root for full license information.
3
3
  import { AutoMap, ReadModelObserverType } from '@cratis/chronicle.contracts';
4
4
  import { EventSequenceId } from '../eventSequences/EventSequenceId.js';
5
+ import { getEventTypeFor, getEventTypeJsonSchemaFor } from '../events/eventTypeDecorator.js';
5
6
  import { getReadModelMetadata } from '../readModels/index.js';
6
7
  import { getReadModelId } from '../readModels/readModel.js';
7
8
  import { buildReadModelDefinition } from '../readModels/buildReadModelDefinition.js';
@@ -10,7 +11,13 @@ import { JsonSchemaGenerator } from '../schemas/index.js';
10
11
  import { WellKnownSinks } from '../sinks/index.js';
11
12
  import { TypeIntrospector } from '../types/index.js';
12
13
  import { canonicalStringify } from './canonicalStringify.js';
14
+ import { captureProjectionProvenance } from './captureProjectionProvenance.js';
15
+ import { eventContractPath } from './eventContractPath.js';
16
+ import { getProjectionBuilderProvenance } from './declarative/projectionBuilderProvenance.js';
13
17
  import { constantValueExpression } from './constantValueExpression.js';
18
+ import { eventContextPropertyExpression } from './eventContextPropertyExpression.js';
19
+ import { InvalidEventContextPropertyError } from './InvalidEventContextPropertyError.js';
20
+ import { invalidEventContextPropertyInProjection } from './invalidEventContextPropertyInProjection.js';
14
21
  import { getProjectionMetadata } from './declarative/projection.js';
15
22
  import { ProjectionBuilderFor } from './declarative/ProjectionBuilderFor.js';
16
23
  import { applyPropertyMappings, buildChildrenEntry, buildNestedEntry, ensureFromEntry, getEventTypeMapKey, toContractEventType } from './modelBound/childrenAndNestedBuilder.js';
@@ -31,6 +38,14 @@ import { getRemovedWithJoinClassMetadata, getRemovedWithJoinPropertyMetadata } f
31
38
  import { getVariantOfMetadata } from './modelBound/variantOf.js';
32
39
  import { getEntersOnMetadata } from './modelBound/entersOn.js';
33
40
  import { getGlobalForMetadata } from './modelBound/globalFor.js';
41
+ import { getSetFromMetadata } from './modelBound/setFrom.js';
42
+ import { getSetFromContextMetadata } from './modelBound/setFromContext.js';
43
+ import { getSetValueMetadata } from './modelBound/setValue.js';
44
+ import { getAddFromMetadata } from './modelBound/addFrom.js';
45
+ import { getSubtractFromMetadata } from './modelBound/subtractFrom.js';
46
+ import { getCountMetadata } from './modelBound/count.js';
47
+ import { getIncrementMetadata } from './modelBound/increment.js';
48
+ import { getDecrementMetadata } from './modelBound/decrement.js';
34
49
  import { crossWireGroups, mergeGlobalHandlers, reclassify } from './VariantReclassifier.js';
35
50
  /** Compiles discovered projection types into the contracts sent to the kernel, without a connection. */
36
51
  export class ProjectionDefinitionCompiler {
@@ -52,8 +67,8 @@ export class ProjectionDefinitionCompiler {
52
67
  */
53
68
  compile(declarative, modelBound) {
54
69
  const builtProjections = [
55
- ...Array.from(declarative, type => this.buildDeclarativeDefinition(type)),
56
- ...Array.from(modelBound, type => this.buildModelBoundDefinition(type))
70
+ ...Array.from(declarative, type => this.buildWithContextValidation(type, () => this.buildDeclarativeDefinition(type), getProjectionMetadata(type)?.readModelType)),
71
+ ...Array.from(modelBound, type => this.buildWithContextValidation(type, () => this.buildModelBoundDefinition(type), type))
57
72
  ];
58
73
  // A sibling's entering event adds RemovedWith to each variant. Hash only after
59
74
  // every variant has been cross-wired, so repeated registrations remain stable.
@@ -65,10 +80,64 @@ export class ProjectionDefinitionCompiler {
65
80
  // existing sparse wire objects: adding those default-valued fields would change the payload.
66
81
  // Evaluators must tolerate absent optional contract fields (for example NoAutoMapProperties).
67
82
  const definitions = builtProjections.map(built => built.definition);
83
+ const provenance = new Map();
84
+ const eventSchemas = new Map();
85
+ const availableEvents = new Map(this._clientArtifacts.eventTypes.map(type => {
86
+ const event = getEventTypeFor(type);
87
+ return [`${event.id.value}:${event.generation.value}`, type];
88
+ }));
89
+ for (let index = 0; index < definitions.length; index++) {
90
+ provenance.set(definitions[index], builtProjections[index].provenance ?? []);
91
+ eventSchemas.set(definitions[index], this.buildEventSchemaCatalog(definitions[index], availableEvents));
92
+ }
68
93
  return {
69
94
  definitions,
70
- readModels: this.buildReadModelDefinitions(definitions)
95
+ readModels: this.buildReadModelDefinitions(definitions),
96
+ provenance,
97
+ eventSchemas
98
+ };
99
+ }
100
+ buildEventSchemaCatalog(definition, availableEvents) {
101
+ const catalog = new Map();
102
+ const collect = (node) => {
103
+ for (const section of ['From', 'Join', 'RemovedWith', 'RemovedWithJoin']) {
104
+ for (const entry of node[section] ?? []) {
105
+ const eventType = entry.Key;
106
+ const key = getEventTypeMapKey(eventType);
107
+ const type = availableEvents.get(`${eventType.Id}:${eventType.Generation}`);
108
+ if (type && !catalog.has(key)) {
109
+ // Registration uses this exact schema path. Clone it so a compile or consumer
110
+ // cannot mutate metadata or another compile's catalog.
111
+ catalog.set(key, { eventType: { ...eventType }, schema: structuredClone(getEventTypeJsonSchemaFor(type)) });
112
+ }
113
+ }
114
+ }
115
+ const fromEventProperty = node.FromEventProperty;
116
+ if (fromEventProperty?.Event) {
117
+ const key = getEventTypeMapKey(fromEventProperty.Event);
118
+ const type = availableEvents.get(`${fromEventProperty.Event.Id}:${fromEventProperty.Event.Generation}`);
119
+ if (type && !catalog.has(key))
120
+ catalog.set(key, { eventType: { ...fromEventProperty.Event }, schema: structuredClone(getEventTypeJsonSchemaFor(type)) });
121
+ }
122
+ for (const section of ['Children', 'Nested']) {
123
+ for (const child of Object.values(node[section] ?? {}))
124
+ collect(child);
125
+ }
71
126
  };
127
+ collect(definition);
128
+ return catalog;
129
+ }
130
+ buildWithContextValidation(type, build, readModelType) {
131
+ try {
132
+ return build();
133
+ }
134
+ catch (error) {
135
+ if (error instanceof InvalidEventContextPropertyError) {
136
+ const readModel = readModelType ? getReadModelId(readModelType) : type.name;
137
+ throw invalidEventContextPropertyInProjection(error, type.name, readModel);
138
+ }
139
+ throw error;
140
+ }
72
141
  }
73
142
  buildReadModelDefinitions(projections) {
74
143
  const byReadModel = new Map();
@@ -135,6 +204,11 @@ export class ProjectionDefinitionCompiler {
135
204
  }
136
205
  }
137
206
  }
207
+ const declarations = getProjectionBuilderProvenance(builder);
208
+ const provenance = captureProjectionProvenance(definition, false, new Map([...declarations.keys, ...declarations.children]));
209
+ if (declarations.fromEvery && !provenance.some(entry => entry.contractPath === 'All')) {
210
+ provenance.push({ contractPath: 'All', declaration: '.fromEvery' });
211
+ }
138
212
  let variant;
139
213
  const variantDeclaration = builder.getVariantDeclaration();
140
214
  if (variantDeclaration) {
@@ -142,8 +216,12 @@ export class ProjectionDefinitionCompiler {
142
216
  definition.From = reclassified.from;
143
217
  definition.Join = reclassified.join;
144
218
  variant = variantDeclaration;
219
+ provenance.push({ contractPath: 'Variant', declaration: '.variantOf' });
220
+ provenance.push({ contractPath: 'Variant.Key', declaration: '.variantOf' });
221
+ for (const entering of variant.enteringEventTypes)
222
+ provenance.push({ contractPath: eventContractPath('EntersOn', entering), declaration: '.entersOn' });
145
223
  }
146
- return { typeName: type.name, definition, variant };
224
+ return { typeName: type.name, definition, variant, provenance };
147
225
  }
148
226
  inferReadModelIdentifier(mappedProperties) {
149
227
  if (mappedProperties.length === 0) {
@@ -169,6 +247,17 @@ export class ProjectionDefinitionCompiler {
169
247
  const eventSequenceId = getEventSequenceMetadata(type);
170
248
  const properties = TypeIntrospector.getTrackedProperties(type);
171
249
  const prototype = type.prototype;
250
+ const overrides = new Map();
251
+ const declaredFrom = new Set(getFromEventMetadata(type).map(entry => getEventTypeMapKey(toContractEventType(entry.eventType))));
252
+ const recordMappings = (property, metadata, declaration) => {
253
+ for (const mapping of metadata) {
254
+ const eventType = toContractEventType(mapping.eventType);
255
+ const path = eventContractPath('From', eventType);
256
+ overrides.set(`${path}.Properties.${property}`, declaration);
257
+ if (!declaredFrom.has(getEventTypeMapKey(eventType)) && !overrides.has(path))
258
+ overrides.set(path, declaration);
259
+ }
260
+ };
172
261
  const fromByEventType = new Map();
173
262
  const joinByEventType = new Map();
174
263
  const removedWithByEventType = new Map();
@@ -205,6 +294,24 @@ export class ProjectionDefinitionCompiler {
205
294
  });
206
295
  }
207
296
  for (const property of properties) {
297
+ recordMappings(property, getSetFromMetadata(prototype, property), '@setFrom');
298
+ recordMappings(property, getSetFromContextMetadata(prototype, property), '@setFromContext');
299
+ recordMappings(property, getSetValueMetadata(prototype, property), '@setValue');
300
+ recordMappings(property, getAddFromMetadata(prototype, property), '@addFrom');
301
+ recordMappings(property, getSubtractFromMetadata(prototype, property), '@subtractFrom');
302
+ recordMappings(property, getIncrementMetadata(prototype, property), '@increment');
303
+ recordMappings(property, getDecrementMetadata(prototype, property), '@decrement');
304
+ recordMappings(property, getCountMetadata(prototype, property), '@count');
305
+ for (const [declaration, mappings] of [
306
+ ['@increment', getIncrementMetadata(prototype, property)],
307
+ ['@decrement', getDecrementMetadata(prototype, property)],
308
+ ['@count', getCountMetadata(prototype, property)]
309
+ ]) {
310
+ for (const mapping of mappings) {
311
+ if (mapping.constantKey)
312
+ overrides.set(`${eventContractPath('From', toContractEventType(mapping.eventType))}.Key`, declaration);
313
+ }
314
+ }
208
315
  applyPropertyMappings(prototype, property, fromByEventType);
209
316
  for (const mapping of getJoinMetadata(prototype, property)) {
210
317
  const entry = this.ensureJoinEntry(joinByEventType, mapping.eventType);
@@ -239,6 +346,7 @@ export class ProjectionDefinitionCompiler {
239
346
  for (const clearWith of getClearWithPropertyMetadata(prototype, property)) {
240
347
  const entry = ensureFromEntry(fromByEventType, clearWith.eventType);
241
348
  entry.Value.Properties[property] = '$null';
349
+ overrides.set(`${eventContractPath('From', toContractEventType(clearWith.eventType))}.Properties.${property}`, '@clearWith');
242
350
  }
243
351
  }
244
352
  }
@@ -247,12 +355,14 @@ export class ProjectionDefinitionCompiler {
247
355
  const fromEvery = getFromEveryMetadata(prototype, property) ?? getFromAllMetadata(prototype, property);
248
356
  if (fromEvery) {
249
357
  allProperties[property] = fromEvery.contextProperty
250
- ? fromEvery.contextProperty
358
+ ? eventContextPropertyExpression(fromEvery.contextProperty)
251
359
  : (fromEvery.property ?? property);
252
360
  }
253
361
  }
254
362
  let from = Array.from(fromByEventType.values());
255
363
  let join = Array.from(joinByEventType.values());
364
+ let preLoweringFrom = from;
365
+ let preLoweringJoin = join;
256
366
  let variant;
257
367
  const variantMetadata = getVariantOfMetadata(type);
258
368
  if (variantMetadata) {
@@ -262,6 +372,7 @@ export class ProjectionDefinitionCompiler {
262
372
  if (entersOn.key) {
263
373
  const entry = ensureFromEntry(fromByEventType, entersOn.eventType);
264
374
  entry.Value.Key = entersOn.key;
375
+ overrides.set(`${eventContractPath('From', contractType)}.Key`, '@entersOn');
265
376
  }
266
377
  return contractType;
267
378
  });
@@ -270,11 +381,21 @@ export class ProjectionDefinitionCompiler {
270
381
  for (const handlerType of this._clientArtifacts.globalForHandlers) {
271
382
  const globalForMetadata = getGlobalForMetadata(handlerType);
272
383
  if (globalForMetadata?.identity === variantMetadata.identity) {
273
- globalHandlers.set(handlerType.name, this.buildFromRecordsForType(handlerType));
384
+ const records = this.buildFromRecordsForType(handlerType);
385
+ globalHandlers.set(handlerType.name, records);
386
+ for (const record of records) {
387
+ const path = eventContractPath('From', record.Key);
388
+ overrides.set(path, `@globalFor(${handlerType.name})`);
389
+ for (const property of Object.keys(record.Value.Properties)) {
390
+ overrides.set(`${path}.Properties.${property}`, `@globalFor(${handlerType.name})`);
391
+ }
392
+ }
274
393
  }
275
394
  }
276
395
  const memberNames = new Set(getReadModelMetadata(type)?.members.keys() ?? TypeIntrospector.getMembers(type).keys());
277
396
  const merged = mergeGlobalHandlers(type.name, memberNames, from, globalHandlers);
397
+ preLoweringFrom = merged;
398
+ preLoweringJoin = join;
278
399
  const reclassified = reclassify(type.name, merged, join, enteringEventTypes, variantMetadata.key);
279
400
  from = reclassified.from;
280
401
  join = reclassified.join;
@@ -304,7 +425,27 @@ export class ProjectionDefinitionCompiler {
304
425
  NoAutoMapProperties: properties.filter(property => isPropertyNoAutoMap(prototype, property)),
305
426
  Nested: nestedByProperty
306
427
  };
307
- return { typeName: type.name, definition, variant };
428
+ const provenance = captureProjectionProvenance({ ...definition, From: preLoweringFrom, Join: preLoweringJoin }, true, overrides);
429
+ if (Object.keys(allProperties).length && Object.keys(allProperties).every(property => getFromAllMetadata(prototype, property) && !getFromEveryMetadata(prototype, property))) {
430
+ const index = provenance.findIndex(entry => entry.contractPath === 'All');
431
+ if (index >= 0)
432
+ provenance[index] = { contractPath: 'All', declaration: '@fromAll' };
433
+ }
434
+ for (const property of Object.keys(allProperties)) {
435
+ if (getFromAllMetadata(prototype, property) && !getFromEveryMetadata(prototype, property)) {
436
+ const path = `All.Properties.${property}`;
437
+ const index = provenance.findIndex(entry => entry.contractPath === path);
438
+ if (index >= 0)
439
+ provenance[index] = { contractPath: path, declaration: '@fromAll' };
440
+ }
441
+ }
442
+ if (variant) {
443
+ provenance.push({ contractPath: 'Variant', declaration: '@variantOf' });
444
+ provenance.push({ contractPath: 'Variant.Key', declaration: '@variantOf' });
445
+ for (const entering of variant.enteringEventTypes)
446
+ provenance.push({ contractPath: eventContractPath('EntersOn', entering), declaration: '@entersOn' });
447
+ }
448
+ return { typeName: type.name, definition, variant, provenance };
308
449
  }
309
450
  /**
310
451
  * Builds event mappings for a global variant handler without creating a separate projection.
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectionDefinitionCompiler.js","sourceRoot":"","sources":["../../projections/ProjectionDefinitionCompiler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProjectionDefinitionCompiler.js","sourceRoot":"","sources":["../../projections/ProjectionDefinitionCompiler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { JsonSchema } from '../schemas/JsonSchema.js';
2
+ import type { ContractEventType } from './declarative/ProjectionBuilderCore.js';
3
+ /** Schema registered for one participating event type and generation. */
4
+ export interface ProjectionEventSchema {
5
+ /** Event identifier, generation, and tombstone status. */
6
+ readonly eventType: ContractEventType;
7
+ /** Isolated copy of the schema registered for this event. */
8
+ readonly schema: JsonSchema;
9
+ }
10
+ //# sourceMappingURL=ProjectionEventSchema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProjectionEventSchema.d.ts","sourceRoot":"","sources":["../../projections/ProjectionEventSchema.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAEhF,yEAAyE;AACzE,MAAM,WAAW,qBAAqB;IAClC,0DAA0D;IAC1D,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;IACtC,6DAA6D;IAC7D,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;CAC/B"}
@@ -0,0 +1,4 @@
1
+ // Copyright (c) Cratis. All rights reserved.
2
+ // Licensed under the MIT license. See LICENSE file in the project root for full license information.
3
+ export {};
4
+ //# sourceMappingURL=ProjectionEventSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProjectionEventSchema.js","sourceRoot":"","sources":["../../projections/ProjectionEventSchema.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG"}
@@ -1,4 +1,5 @@
1
1
  import { ContractEventType, FromRecord, JoinRecord } from './declarative/ProjectionBuilderCore.js';
2
+ import type { ProjectionCapabilityProvenance } from './ProjectionCapabilityProvenance.js';
2
3
  /**
3
4
  * What one variant declared about being part of a mutually exclusive group, carried from the
4
5
  * point its definition was built to the cross-wiring pass that runs once every variant in the
@@ -19,6 +20,7 @@ export interface BuiltProjection {
19
20
  readonly typeName: string;
20
21
  readonly definition: Record<string, unknown>;
21
22
  readonly variant?: VariantDeclaration;
23
+ readonly provenance?: ProjectionCapabilityProvenance[];
22
24
  }
23
25
  /**
24
26
  * Merges every mapping a globalFor shared handler declares into a variant's From records, keyed
@@ -1 +1 @@
1
- {"version":3,"file":"VariantReclassifier.d.ts","sourceRoot":"","sources":["../../projections/VariantReclassifier.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AAMnG;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IAC/B,8EAA8E;IAC9E,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,oGAAoG;IACpG,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,kDAAkD;IAClD,QAAQ,CAAC,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;CACpD;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7C,QAAQ,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC;CACzC;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAC/B,eAAe,EAAE,MAAM,EACvB,kBAAkB,EAAE,WAAW,CAAC,MAAM,CAAC,EACvC,IAAI,EAAE,UAAU,EAAE,EAClB,cAAc,EAAE,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,GAClD,UAAU,EAAE,CA2Bd;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CACtB,eAAe,EAAE,MAAM,EACvB,IAAI,EAAE,UAAU,EAAE,EAClB,IAAI,EAAE,UAAU,EAAE,EAClB,kBAAkB,EAAE,iBAAiB,EAAE,EACvC,UAAU,EAAE,MAAM,GACnB;IAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAAC,IAAI,EAAE,UAAU,EAAE,CAAA;CAAE,CAyB5C;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,eAAe,EAAE,GAAG,IAAI,CAuCpE"}
1
+ {"version":3,"file":"VariantReclassifier.d.ts","sourceRoot":"","sources":["../../projections/VariantReclassifier.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AAEnG,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AAK1F;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IAC/B,8EAA8E;IAC9E,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,oGAAoG;IACpG,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,kDAAkD;IAClD,QAAQ,CAAC,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;CACpD;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7C,QAAQ,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC;IACtC,QAAQ,CAAC,UAAU,CAAC,EAAE,8BAA8B,EAAE,CAAC;CAC1D;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAC/B,eAAe,EAAE,MAAM,EACvB,kBAAkB,EAAE,WAAW,CAAC,MAAM,CAAC,EACvC,IAAI,EAAE,UAAU,EAAE,EAClB,cAAc,EAAE,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,GAClD,UAAU,EAAE,CA2Bd;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CACtB,eAAe,EAAE,MAAM,EACvB,IAAI,EAAE,UAAU,EAAE,EAClB,IAAI,EAAE,UAAU,EAAE,EAClB,kBAAkB,EAAE,iBAAiB,EAAE,EACvC,UAAU,EAAE,MAAM,GACnB;IAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAAC,IAAI,EAAE,UAAU,EAAE,CAAA;CAAE,CAyB5C;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,eAAe,EAAE,GAAG,IAAI,CAuCpE"}
@@ -1 +1 @@
1
- {"version":3,"file":"VariantReclassifier.js","sourceRoot":"","sources":["../../projections/VariantReclassifier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VariantReclassifier.js","sourceRoot":"","sources":["../../projections/VariantReclassifier.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { ProjectionCapabilityProvenance } from './ProjectionCapabilityProvenance.js';
2
+ /** Captures pre-lowering declarations without changing the registration contract. */
3
+ export declare function captureProjectionProvenance(definition: Record<string, unknown>, modelBound: boolean, overrides?: ReadonlyMap<string, string>): ProjectionCapabilityProvenance[];
4
+ //# sourceMappingURL=captureProjectionProvenance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"captureProjectionProvenance.d.ts","sourceRoot":"","sources":["../../projections/captureProjectionProvenance.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AAI1F,qFAAqF;AACrF,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,GAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAa,GAAG,8BAA8B,EAAE,CAyC1L"}
@@ -0,0 +1,56 @@
1
+ // Copyright (c) Cratis. All rights reserved.
2
+ // Licensed under the MIT license. See LICENSE file in the project root for full license information.
3
+ import { eventContractPath } from './eventContractPath.js';
4
+ /** Captures pre-lowering declarations without changing the registration contract. */
5
+ export function captureProjectionProvenance(definition, modelBound, overrides = new Map()) {
6
+ const result = [];
7
+ const add = (contractPath, declaration) => result.push({ contractPath, declaration: overrides.get(contractPath) ?? declaration });
8
+ const prefix = modelBound ? '@' : '.';
9
+ const from = definition.From ?? [];
10
+ for (const entry of from) {
11
+ const path = eventContractPath('From', entry.Key);
12
+ add(path, `${prefix}${modelBound ? 'fromEvent' : 'from'}`);
13
+ add(`${path}.Key`, `${prefix}${modelBound ? 'fromEvent' : 'from().usingKey'}`);
14
+ add(`${path}.ParentKey`, `${prefix}${modelBound ? 'fromEvent' : 'from().usingParentKey'}`);
15
+ for (const [property, expression] of Object.entries(entry.Value.Properties ?? {})) {
16
+ const operation = expression.startsWith('$add(') ? 'addFrom' : expression.startsWith('$subtract(') ? 'subtractFrom'
17
+ : expression === '$count' ? 'count' : expression === '$increment' ? 'increment'
18
+ : expression === '$decrement' ? 'decrement' : expression === '$null' ? 'clearWith'
19
+ : expression.startsWith('$value(') ? 'setValue' : expression.startsWith('$eventContext(') ? 'setFromContext' : 'setFrom';
20
+ add(`${path}.Properties.${property}`, `${prefix}${modelBound ? operation : `from().${operation}`}`);
21
+ }
22
+ }
23
+ for (const section of ['Join', 'RemovedWith', 'RemovedWithJoin']) {
24
+ for (const entry of definition[section] ?? []) {
25
+ const path = eventContractPath(section, entry.Key);
26
+ const declaration = modelBound ? `@${section[0].toLowerCase()}${section.slice(1)}` : `.${section[0].toLowerCase()}${section.slice(1)}`;
27
+ add(path, declaration);
28
+ if (entry.Value.Key !== undefined)
29
+ add(`${path}.Key`, declaration);
30
+ if (entry.Value.ParentKey !== undefined)
31
+ add(`${path}.ParentKey`, declaration);
32
+ for (const property of Object.keys(entry.Value.Properties ?? {}))
33
+ add(`${path}.Properties.${property}`, declaration);
34
+ }
35
+ }
36
+ for (const section of ['Children', 'Nested']) {
37
+ for (const property of Object.keys(definition[section] ?? {})) {
38
+ add(`${section}.${property}`, modelBound ? (section === 'Children' ? '@childrenFrom' : '@nested') : `.${section.toLowerCase()}`);
39
+ }
40
+ }
41
+ const all = definition.All;
42
+ if (all?.IncludeChildren || Object.keys(all?.Properties ?? {}).length)
43
+ add('All', modelBound ? '@fromEvery' : '.fromEvery');
44
+ for (const property of Object.keys(all?.Properties ?? {}))
45
+ add(`All.Properties.${property}`, modelBound ? '@fromEvery' : '.fromEvery');
46
+ if (definition.FromEvery?.length)
47
+ add('FromEvery', modelBound ? '@fromEvery' : '.fromEvery');
48
+ if (definition.IsActive === false)
49
+ add('IsActive', modelBound ? '@passive' : '.passive');
50
+ if (definition.EventSequenceId)
51
+ add('EventSequenceId', modelBound ? '@eventSequence' : '.fromEventSequence');
52
+ if (definition.FromEventProperty)
53
+ add('FromEventProperty', modelBound ? '@fromEvent' : '.from');
54
+ return result;
55
+ }
56
+ //# sourceMappingURL=captureProjectionProvenance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"captureProjectionProvenance.js","sourceRoot":"","sources":["../../projections/captureProjectionProvenance.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AllSetBuilder.d.ts","sourceRoot":"","sources":["../../../projections/declarative/AllSetBuilder.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAoC,MAAM,sBAAsB,CAAC;AAC1F,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD;;;;GAIG;AACH,qBAAa,aAAa,CAAC,UAAU,EAAE,cAAc,CAAE,YAAW,cAAc,CAAC,UAAU,EAAE,cAAc,CAAC;IAEpG,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAH5B,YACqB,eAAe,EAAE,MAAM,EACvB,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,EAC5D,OAAO,EAAE,cAAc,EACxC;IAEJ,kBAAkB;IAClB,EAAE,CAAC,yBAAyB,EAAE,gBAAgB,CAAC,UAAU,CAAC,GAAG,cAAc,CAM1E;IAED,kBAAkB;IAClB,sBAAsB,CAAC,mBAAmB,EAAE,MAAM,GAAG,cAAc,CAGlE;IAED,kBAAkB;IAClB,eAAe,IAAI,cAAc,CAGhC;CACJ"}
1
+ {"version":3,"file":"AllSetBuilder.d.ts","sourceRoot":"","sources":["../../../projections/declarative/AllSetBuilder.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAoC,MAAM,sBAAsB,CAAC;AAC1F,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGrD;;;;GAIG;AACH,qBAAa,aAAa,CAAC,UAAU,EAAE,cAAc,CAAE,YAAW,cAAc,CAAC,UAAU,EAAE,cAAc,CAAC;IAEpG,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAH5B,YACqB,eAAe,EAAE,MAAM,EACvB,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,EAC5D,OAAO,EAAE,cAAc,EACxC;IAEJ,kBAAkB;IAClB,EAAE,CAAC,yBAAyB,EAAE,gBAAgB,CAAC,UAAU,CAAC,GAAG,cAAc,CAM1E;IAED,kBAAkB;IAClB,sBAAsB,CAAC,mBAAmB,EAAE,MAAM,GAAG,cAAc,CAGlE;IAED,kBAAkB;IAClB,eAAe,IAAI,cAAc,CAGhC;CACJ"}
@@ -1,6 +1,7 @@
1
1
  // Copyright (c) Cratis. All rights reserved.
2
2
  // Licensed under the MIT license. See LICENSE file in the project root for full license information.
3
3
  import { PropertyPathResolverProxyHandler } from '@cratis/fundamentals';
4
+ import { eventContextPropertyExpression } from '../eventContextPropertyExpression.js';
4
5
  /**
5
6
  * Concrete implementation of {@link IAllSetBuilder} for fromEvery mappings.
6
7
  * @template TReadModel - The read model type.
@@ -25,7 +26,7 @@ export class AllSetBuilder {
25
26
  }
26
27
  /** @inheritdoc */
27
28
  toEventContextProperty(contextPropertyName) {
28
- this._setProperty(this._targetProperty, `$context.${contextPropertyName}`);
29
+ this._setProperty(this._targetProperty, eventContextPropertyExpression(contextPropertyName));
29
30
  return this._parent;
30
31
  }
31
32
  /** @inheritdoc */
@@ -1 +1 @@
1
- {"version":3,"file":"AllSetBuilder.js","sourceRoot":"","sources":["../../../projections/declarative/AllSetBuilder.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,EAAoB,gCAAgC,EAAE,MAAM,sBAAsB,CAAC;AAG1F;;;;GAIG;AACH,MAAM,OAAO,aAAa;IAED,eAAe;IACf,YAAY;IACZ,OAAO;IAH5B,YACqB,eAAuB,EACvB,YAA4D,EAC5D,OAAuB;+BAFvB,eAAe;4BACf,YAAY;uBACZ,OAAO;IACzB,CAAC;IAEJ,kBAAkB;IAClB,EAAE,CAAC,yBAAuD;QACtD,MAAM,OAAO,GAAG,IAAI,gCAAgC,EAAE,CAAC;QACvD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACrC,yBAAyB,CAAC,KAAmB,CAAC,CAAC;QAC/C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,kBAAkB;IAClB,sBAAsB,CAAC,mBAA2B;QAC9C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,EAAE,YAAY,mBAAmB,EAAE,CAAC,CAAC;QAC3E,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,kBAAkB;IAClB,eAAe;QACX,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;CACJ"}
1
+ {"version":3,"file":"AllSetBuilder.js","sourceRoot":"","sources":["../../../projections/declarative/AllSetBuilder.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,EAAoB,gCAAgC,EAAE,MAAM,sBAAsB,CAAC;AAE1F,OAAO,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AAEtF;;;;GAIG;AACH,MAAM,OAAO,aAAa;IAED,eAAe;IACf,YAAY;IACZ,OAAO;IAH5B,YACqB,eAAuB,EACvB,YAA4D,EAC5D,OAAuB;+BAFvB,eAAe;4BACf,YAAY;uBACZ,OAAO;IACzB,CAAC;IAEJ,kBAAkB;IAClB,EAAE,CAAC,yBAAuD;QACtD,MAAM,OAAO,GAAG,IAAI,gCAAgC,EAAE,CAAC;QACvD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACrC,yBAAyB,CAAC,KAAmB,CAAC,CAAC;QAC/C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,kBAAkB;IAClB,sBAAsB,CAAC,mBAA2B;QAC9C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,EAAE,8BAA8B,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAC7F,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,kBAAkB;IAClB,eAAe;QACX,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;CACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"FromBuilder.d.ts","sourceRoot":"","sources":["../../../projections/declarative/FromBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FromBuilder.d.ts","sourceRoot":"","sources":["../../../projections/declarative/FromBuilder.ts"],"names":[],"mappings":"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"}
@@ -2,11 +2,13 @@
2
2
  // Licensed under the MIT license. See LICENSE file in the project root for full license information.
3
3
  import { PropertyPathResolverProxyHandler } from '@cratis/fundamentals';
4
4
  import { constantValueExpression } from '../constantValueExpression.js';
5
+ import { eventContextPropertyExpression } from '../eventContextPropertyExpression.js';
5
6
  import { AddBuilder } from './AddBuilder.js';
6
7
  import { AddChildBuilder } from './AddChildBuilder.js';
7
8
  import { CompositeKeyBuilder } from './CompositeKeyBuilder.js';
8
9
  import { SetBuilder } from './SetBuilder.js';
9
10
  import { SubtractBuilder } from './SubtractBuilder.js';
11
+ import { recordKeyDeclaration } from './projectionBuilderProvenance.js';
10
12
  /**
11
13
  * Concrete implementation of {@link IFromBuilder}.
12
14
  * @template TReadModel - The read model type.
@@ -33,11 +35,13 @@ export class FromBuilder {
33
35
  const proxy = new Proxy({}, handler);
34
36
  keyAccessor(proxy);
35
37
  this.entry.key = handler.property;
38
+ recordKeyDeclaration(this, 'Key', '.from().usingKey');
36
39
  return this;
37
40
  }
38
41
  /** @inheritdoc */
39
42
  usingKeyFromContext(contextPropertyName) {
40
- this.entry.key = `$context.${contextPropertyName}`;
43
+ this.entry.key = eventContextPropertyExpression(contextPropertyName);
44
+ recordKeyDeclaration(this, 'Key', '.from().usingKeyFromContext');
41
45
  return this;
42
46
  }
43
47
  /** @inheritdoc */
@@ -46,11 +50,13 @@ export class FromBuilder {
46
50
  const proxy = new Proxy({}, handler);
47
51
  keyAccessor(proxy);
48
52
  this.entry.parentKey = handler.property;
53
+ recordKeyDeclaration(this, 'ParentKey', '.from().usingParentKey');
49
54
  return this;
50
55
  }
51
56
  /** @inheritdoc */
52
57
  usingParentKeyFromContext(contextPropertyName) {
53
- this.entry.parentKey = `$context.${contextPropertyName}`;
58
+ this.entry.parentKey = eventContextPropertyExpression(contextPropertyName);
59
+ recordKeyDeclaration(this, 'ParentKey', '.from().usingParentKeyFromContext');
54
60
  return this;
55
61
  }
56
62
  /** @inheritdoc */
@@ -58,6 +64,7 @@ export class FromBuilder {
58
64
  const compositeKeyBuilder = new CompositeKeyBuilder();
59
65
  builderCallback(compositeKeyBuilder);
60
66
  this.entry.key = compositeKeyBuilder.build();
67
+ recordKeyDeclaration(this, 'Key', '.from().usingCompositeKey');
61
68
  return this;
62
69
  }
63
70
  /** @inheritdoc */
@@ -65,16 +72,19 @@ export class FromBuilder {
65
72
  const compositeKeyBuilder = new CompositeKeyBuilder();
66
73
  builderCallback(compositeKeyBuilder);
67
74
  this.entry.parentKey = compositeKeyBuilder.build();
75
+ recordKeyDeclaration(this, 'ParentKey', '.from().usingParentCompositeKey');
68
76
  return this;
69
77
  }
70
78
  /** @inheritdoc */
71
79
  usingConstantKey(value) {
72
80
  this.entry.key = constantValueExpression(value);
81
+ recordKeyDeclaration(this, 'Key', '.from().usingConstantKey');
73
82
  return this;
74
83
  }
75
84
  /** @inheritdoc */
76
85
  usingConstantParentKey(value) {
77
86
  this.entry.parentKey = constantValueExpression(value);
87
+ recordKeyDeclaration(this, 'ParentKey', '.from().usingConstantParentKey');
78
88
  return this;
79
89
  }
80
90
  /** @inheritdoc */