@cratis/chronicle 6.33.0 → 6.35.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 (243) hide show
  1. package/ChronicleClient.ts +43 -35
  2. package/ChronicleOptions.ts +27 -1
  3. package/EventStore.ts +22 -12
  4. package/Metrics.ts +70 -96
  5. package/Tracing.ts +4 -2
  6. package/WellKnownTelemetryNames.ts +67 -0
  7. package/artifacts/validateArtifactSchemas.spec.ts +1 -1
  8. package/artifacts/withActivatedArtifact.ts +7 -5
  9. package/connection/ChronicleConnection.ts +18 -6
  10. package/connection/CompatibilityPreflight.ts +2 -1
  11. package/connection/KernelKeepAlive.ts +13 -7
  12. package/connection/TokenProvider.ts +3 -1
  13. package/connection/TraceContextMiddleware.ts +30 -0
  14. package/connection/for_ChronicleConnection/when_creating_clients/with_correlated_multi_host_callers.spec.ts +73 -0
  15. package/connection/for_OAuthTokenProvider/when_acquiring_tokens/with_http_instrumentation.spec.ts +102 -0
  16. package/connection/for_TraceContextMiddleware/when_calling/with_active_context.spec.ts +235 -0
  17. package/connection/for_TraceContextMiddleware/when_calling/with_grpc_instrumentation.spec.ts +102 -0
  18. package/correlation/CorrelationIdManager.ts +10 -0
  19. package/dist/ChronicleClient.d.ts.map +1 -1
  20. package/dist/ChronicleClient.js +45 -35
  21. package/dist/ChronicleClient.js.map +1 -1
  22. package/dist/ChronicleOptions.d.ts +8 -0
  23. package/dist/ChronicleOptions.d.ts.map +1 -1
  24. package/dist/ChronicleOptions.js +19 -1
  25. package/dist/ChronicleOptions.js.map +1 -1
  26. package/dist/EventStore.d.ts +3 -1
  27. package/dist/EventStore.d.ts.map +1 -1
  28. package/dist/EventStore.js +22 -12
  29. package/dist/EventStore.js.map +1 -1
  30. package/dist/Metrics.d.ts +23 -64
  31. package/dist/Metrics.d.ts.map +1 -1
  32. package/dist/Metrics.js +62 -92
  33. package/dist/Metrics.js.map +1 -1
  34. package/dist/Tracing.d.ts +1 -1
  35. package/dist/Tracing.d.ts.map +1 -1
  36. package/dist/Tracing.js +4 -2
  37. package/dist/Tracing.js.map +1 -1
  38. package/dist/WellKnownTelemetryNames.d.ts +65 -0
  39. package/dist/WellKnownTelemetryNames.d.ts.map +1 -0
  40. package/dist/WellKnownTelemetryNames.js +67 -0
  41. package/dist/WellKnownTelemetryNames.js.map +1 -0
  42. package/dist/artifacts/withActivatedArtifact.d.ts +2 -1
  43. package/dist/artifacts/withActivatedArtifact.d.ts.map +1 -1
  44. package/dist/artifacts/withActivatedArtifact.js +5 -4
  45. package/dist/artifacts/withActivatedArtifact.js.map +1 -1
  46. package/dist/connection/ChronicleConnection.d.ts +5 -0
  47. package/dist/connection/ChronicleConnection.d.ts.map +1 -1
  48. package/dist/connection/ChronicleConnection.js +13 -6
  49. package/dist/connection/ChronicleConnection.js.map +1 -1
  50. package/dist/connection/CompatibilityPreflight.d.ts.map +1 -1
  51. package/dist/connection/CompatibilityPreflight.js +2 -1
  52. package/dist/connection/CompatibilityPreflight.js.map +1 -1
  53. package/dist/connection/KernelKeepAlive.d.ts +3 -1
  54. package/dist/connection/KernelKeepAlive.d.ts.map +1 -1
  55. package/dist/connection/KernelKeepAlive.js +10 -7
  56. package/dist/connection/KernelKeepAlive.js.map +1 -1
  57. package/dist/connection/TokenProvider.d.ts.map +1 -1
  58. package/dist/connection/TokenProvider.js +3 -1
  59. package/dist/connection/TokenProvider.js.map +1 -1
  60. package/dist/connection/TraceContextMiddleware.d.ts +4 -0
  61. package/dist/connection/TraceContextMiddleware.d.ts.map +1 -0
  62. package/dist/connection/TraceContextMiddleware.js +30 -0
  63. package/dist/connection/TraceContextMiddleware.js.map +1 -0
  64. package/dist/correlation/CorrelationIdManager.d.ts +4 -0
  65. package/dist/correlation/CorrelationIdManager.d.ts.map +1 -1
  66. package/dist/correlation/CorrelationIdManager.js +8 -0
  67. package/dist/correlation/CorrelationIdManager.js.map +1 -1
  68. package/dist/eventSequences/EventLog.d.ts +2 -1
  69. package/dist/eventSequences/EventLog.d.ts.map +1 -1
  70. package/dist/eventSequences/EventLog.js +2 -2
  71. package/dist/eventSequences/EventLog.js.map +1 -1
  72. package/dist/eventSequences/EventSequence.d.ts +4 -1
  73. package/dist/eventSequences/EventSequence.d.ts.map +1 -1
  74. package/dist/eventSequences/EventSequence.js +63 -80
  75. package/dist/eventSequences/EventSequence.js.map +1 -1
  76. package/dist/eventStoreSubscriptions/EventStoreSubscriptions.d.ts.map +1 -1
  77. package/dist/eventStoreSubscriptions/EventStoreSubscriptions.js +3 -4
  78. package/dist/eventStoreSubscriptions/EventStoreSubscriptions.js.map +1 -1
  79. package/dist/events/handles.d.ts +12 -0
  80. package/dist/events/handles.d.ts.map +1 -0
  81. package/dist/events/handles.js +33 -0
  82. package/dist/events/handles.js.map +1 -0
  83. package/dist/events/index.d.ts +1 -0
  84. package/dist/events/index.d.ts.map +1 -1
  85. package/dist/events/index.js +1 -0
  86. package/dist/events/index.js.map +1 -1
  87. package/dist/index.d.ts +7 -1
  88. package/dist/index.d.ts.map +1 -1
  89. package/dist/index.js +4 -1
  90. package/dist/index.js.map +1 -1
  91. package/dist/logging/ChronicleLogEntry.d.ts +11 -0
  92. package/dist/logging/ChronicleLogEntry.d.ts.map +1 -0
  93. package/dist/logging/ChronicleLogEntry.js +4 -0
  94. package/dist/logging/ChronicleLogEntry.js.map +1 -0
  95. package/dist/logging/ChronicleLogLevel.d.ts +9 -0
  96. package/dist/logging/ChronicleLogLevel.d.ts.map +1 -0
  97. package/dist/logging/ChronicleLogLevel.js +12 -0
  98. package/dist/logging/ChronicleLogLevel.js.map +1 -0
  99. package/dist/logging/DiagChronicleLogger.d.ts +7 -0
  100. package/dist/logging/DiagChronicleLogger.d.ts.map +1 -0
  101. package/dist/logging/DiagChronicleLogger.js +10 -0
  102. package/dist/logging/DiagChronicleLogger.js.map +1 -0
  103. package/dist/logging/IChronicleLogger.d.ts +7 -0
  104. package/dist/logging/IChronicleLogger.d.ts.map +1 -0
  105. package/dist/logging/IChronicleLogger.js +4 -0
  106. package/dist/logging/IChronicleLogger.js.map +1 -0
  107. package/dist/logging/createLogger.d.ts +10 -0
  108. package/dist/logging/createLogger.d.ts.map +1 -0
  109. package/dist/logging/createLogger.js +55 -0
  110. package/dist/logging/createLogger.js.map +1 -0
  111. package/dist/observation/EventHandler.d.ts +7 -0
  112. package/dist/observation/EventHandler.d.ts.map +1 -0
  113. package/dist/observation/EventHandler.js +4 -0
  114. package/dist/observation/EventHandler.js.map +1 -0
  115. package/dist/observation/createHandlerInstanceValidator.d.ts +4 -0
  116. package/dist/observation/createHandlerInstanceValidator.d.ts.map +1 -0
  117. package/dist/observation/createHandlerInstanceValidator.js +40 -0
  118. package/dist/observation/createHandlerInstanceValidator.js.map +1 -0
  119. package/dist/observation/getEventHandlers.d.ts +5 -0
  120. package/dist/observation/getEventHandlers.d.ts.map +1 -0
  121. package/dist/observation/getEventHandlers.js +40 -0
  122. package/dist/observation/getEventHandlers.js.map +1 -0
  123. package/dist/observation/getInstanceMethods.d.ts +4 -0
  124. package/dist/observation/getInstanceMethods.d.ts.map +1 -0
  125. package/dist/observation/getInstanceMethods.js +29 -0
  126. package/dist/observation/getInstanceMethods.js.map +1 -0
  127. package/dist/projections/Projections.d.ts.map +1 -1
  128. package/dist/projections/Projections.js +4 -3
  129. package/dist/projections/Projections.js.map +1 -1
  130. package/dist/reactors/ReactorDispatcher.d.ts.map +1 -1
  131. package/dist/reactors/ReactorDispatcher.js +27 -32
  132. package/dist/reactors/ReactorDispatcher.js.map +1 -1
  133. package/dist/reactors/Reactors.d.ts +1 -0
  134. package/dist/reactors/Reactors.d.ts.map +1 -1
  135. package/dist/reactors/Reactors.js +49 -34
  136. package/dist/reactors/Reactors.js.map +1 -1
  137. package/dist/reactors/index.d.ts +1 -0
  138. package/dist/reactors/index.d.ts.map +1 -1
  139. package/dist/reactors/index.js +1 -0
  140. package/dist/reactors/index.js.map +1 -1
  141. package/dist/reducers/ReducerEventDispatcher.d.ts +1 -0
  142. package/dist/reducers/ReducerEventDispatcher.d.ts.map +1 -1
  143. package/dist/reducers/ReducerEventDispatcher.js +5 -17
  144. package/dist/reducers/ReducerEventDispatcher.js.map +1 -1
  145. package/dist/reducers/ReducerEventHandler.d.ts +3 -6
  146. package/dist/reducers/ReducerEventHandler.d.ts.map +1 -1
  147. package/dist/reducers/Reducers.d.ts +1 -0
  148. package/dist/reducers/Reducers.d.ts.map +1 -1
  149. package/dist/reducers/Reducers.js +47 -32
  150. package/dist/reducers/Reducers.js.map +1 -1
  151. package/dist/reducers/index.d.ts +1 -0
  152. package/dist/reducers/index.d.ts.map +1 -1
  153. package/dist/reducers/index.js +1 -0
  154. package/dist/reducers/index.js.map +1 -1
  155. package/dist/seeding/EventSeeding.d.ts.map +1 -1
  156. package/dist/seeding/EventSeeding.js +4 -3
  157. package/dist/seeding/EventSeeding.js.map +1 -1
  158. package/dist/telemetry/ChronicleTelemetryOptions.d.ts +11 -0
  159. package/dist/telemetry/ChronicleTelemetryOptions.d.ts.map +1 -0
  160. package/dist/telemetry/ChronicleTelemetryOptions.js +4 -0
  161. package/dist/telemetry/ChronicleTelemetryOptions.js.map +1 -0
  162. package/dist/telemetry/observeOperation.d.ts +6 -0
  163. package/dist/telemetry/observeOperation.d.ts.map +1 -0
  164. package/dist/telemetry/observeOperation.js +23 -0
  165. package/dist/telemetry/observeOperation.js.map +1 -0
  166. package/dist/telemetry/runInBackgroundContext.d.ts +3 -0
  167. package/dist/telemetry/runInBackgroundContext.d.ts.map +1 -0
  168. package/dist/telemetry/runInBackgroundContext.js +9 -0
  169. package/dist/telemetry/runInBackgroundContext.js.map +1 -0
  170. package/dist/telemetry/spanAttributes.d.ts +14 -0
  171. package/dist/telemetry/spanAttributes.d.ts.map +1 -0
  172. package/dist/telemetry/spanAttributes.js +47 -0
  173. package/dist/telemetry/spanAttributes.js.map +1 -0
  174. package/dist/testing/ReactorScenario.d.ts +1 -0
  175. package/dist/testing/ReactorScenario.d.ts.map +1 -1
  176. package/dist/testing/ReactorScenario.js +9 -1
  177. package/dist/testing/ReactorScenario.js.map +1 -1
  178. package/dist/testing/ReducerReadModelProcessor.d.ts.map +1 -1
  179. package/dist/testing/ReducerReadModelProcessor.js +1 -0
  180. package/dist/testing/ReducerReadModelProcessor.js.map +1 -1
  181. package/dist/tsconfig.tsbuildinfo +1 -1
  182. package/eventSequences/EventLog.ts +4 -2
  183. package/eventSequences/EventSequence.ts +64 -81
  184. package/eventStoreSubscriptions/EventStoreSubscriptions.ts +5 -5
  185. package/events/for_handles/when_decorating_a_method.legacy.spec.ts +91 -0
  186. package/events/for_handles/when_decorating_a_method.standard.spec.ts +102 -0
  187. package/events/handles.ts +37 -0
  188. package/events/index.ts +1 -0
  189. package/for_ChronicleClient/when_registering_artifacts/with_invalid_handler_mappings.spec.ts +142 -0
  190. package/for_ChronicleClient/when_starting_background_work/with_a_correlated_caller.spec.ts +150 -0
  191. package/for_ChronicleOptions/when_configuring_telemetry/with_event_source_identifiers.spec.ts +44 -0
  192. package/index.ts +7 -1
  193. package/logging/ChronicleLogEntry.ts +14 -0
  194. package/logging/ChronicleLogLevel.ts +11 -0
  195. package/logging/DiagChronicleLogger.ts +13 -0
  196. package/logging/IChronicleLogger.ts +10 -0
  197. package/logging/createLogger.ts +50 -0
  198. package/logging/for_ChronicleLogger/when_logging/with_client_owned_sinks.spec.ts +96 -0
  199. package/observation/EventHandler.ts +9 -0
  200. package/observation/createHandlerInstanceValidator.ts +42 -0
  201. package/observation/for_getEventHandlers/when_discovering_handlers.spec.ts +137 -0
  202. package/observation/for_getEventHandlers/when_reobserving_explicit_handlers.spec.ts +73 -0
  203. package/observation/getEventHandlers.ts +43 -0
  204. package/observation/getInstanceMethods.ts +29 -0
  205. package/package.json +8 -2
  206. package/projections/Projections.ts +4 -3
  207. package/reactors/ReactorDispatcher.ts +26 -30
  208. package/reactors/Reactors.ts +55 -37
  209. package/reactors/decorators.standard.spec.ts +8 -0
  210. package/reactors/for_ReactorDispatcher/when_selecting_explicit_handlers.spec.ts +64 -0
  211. package/reactors/for_Reactors/when_activating_a_field_override.spec.ts +62 -0
  212. package/reactors/for_Reactors/when_delivering/with_activation.spec.ts +14 -14
  213. package/reactors/for_Reactors/when_delivering_to_instance_handlers.spec.ts +108 -0
  214. package/reactors/for_Reactors/when_observing_explicit_handlers.legacy.spec.ts +77 -0
  215. package/reactors/for_Reactors/when_registering_explicit_handlers.spec.ts +53 -0
  216. package/reactors/index.ts +1 -0
  217. package/reducers/ReducerEventDispatcher.ts +5 -16
  218. package/reducers/ReducerEventHandler.ts +4 -6
  219. package/reducers/Reducers.ts +50 -35
  220. package/reducers/for_ReducerEventDispatcher/when_invoking_an_explicit_handler.spec.ts +51 -0
  221. package/reducers/for_ReducerEventDispatcher/when_invoking_instance_handlers.spec.ts +69 -0
  222. package/reducers/for_Reducers/when_activating_a_field_override.spec.ts +63 -0
  223. package/reducers/for_Reducers/when_observing_explicit_handlers.legacy.spec.ts +73 -0
  224. package/reducers/for_Reducers/when_registering_explicit_handlers.spec.ts +57 -0
  225. package/reducers/index.ts +1 -0
  226. package/seeding/EventSeeding.ts +6 -4
  227. package/telemetry/ChronicleTelemetryOptions.ts +8 -0
  228. package/telemetry/for_ChronicleTelemetry/given/a_telemetry_session.fixture.ts +36 -0
  229. package/telemetry/for_ChronicleTelemetry/given/an_event_sequence.fixture.ts +29 -0
  230. package/telemetry/for_ChronicleTelemetry/when_appending/with_shared_and_legacy_attributes.spec.ts +58 -0
  231. package/telemetry/for_ChronicleTelemetry/when_appending/without_an_sdk.spec.ts +15 -0
  232. package/telemetry/for_ChronicleTelemetry/when_documenting/with_public_names.spec.ts +15 -0
  233. package/telemetry/for_ChronicleTelemetry/when_recording_failures/with_sensitive_exception_details.spec.ts +34 -0
  234. package/telemetry/for_ChronicleTelemetry/when_recording_identifiers/with_per_client_privacy.spec.ts +92 -0
  235. package/telemetry/for_ChronicleTelemetry/when_recording_metrics/with_legacy_overlap.spec.ts +40 -0
  236. package/telemetry/for_ChronicleTelemetry/when_recording_sequence_numbers/with_integer_precision.spec.ts +23 -0
  237. package/telemetry/observeOperation.ts +25 -0
  238. package/telemetry/runInBackgroundContext.ts +10 -0
  239. package/telemetry/spanAttributes.ts +49 -0
  240. package/testing/ReactorScenario.ts +9 -1
  241. package/testing/ReducerReadModelProcessor.ts +1 -0
  242. package/testing/for_ReactorScenario/when_delivering_to_an_explicit_handler.spec.ts +100 -0
  243. package/testing/for_ReducerReadModelProcessor/when_an_instance_field_hides_a_handler.spec.ts +29 -0
@@ -0,0 +1,40 @@
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 { getEventTypeMetadata } from '../events/eventTypeDecorator.js';
4
+ import { getHandledEventType } from '../events/handles.js';
5
+ import { getInstanceMethods } from './getInstanceMethods.js';
6
+ /** Resolves explicit event constructors first, with camelCase discovery for undecorated methods. */
7
+ export function getEventHandlers(type, registeredTypes, methods = getInstanceMethods(type)) {
8
+ const eventTypes = new Map(registeredTypes.flatMap(eventType => {
9
+ const metadata = getEventTypeMetadata(eventType);
10
+ return metadata ? [[eventType, metadata.eventType]] : [];
11
+ }));
12
+ const handlers = new Map();
13
+ const addHandler = (eventType, methodName) => {
14
+ const metadata = eventTypes.get(eventType);
15
+ const id = metadata.id.value;
16
+ const previous = handlers.get(id);
17
+ if (previous && previous.methodName !== methodName) {
18
+ throw new Error(`'${type.name}' has multiple handlers for event type '${id}': '${previous.methodName}' and '${methodName}'.`);
19
+ }
20
+ handlers.set(id, { id, generation: metadata.generation.value, methodName });
21
+ };
22
+ for (const [name, method] of methods) {
23
+ const eventType = getHandledEventType(method);
24
+ if (eventType === undefined)
25
+ continue;
26
+ if (!eventTypes.has(eventType)) {
27
+ throw new Error(`Handler '${name}' on '${type.name}' names event type '${eventType.name}', which has no registered event type. Register that event constructor with the event store.`);
28
+ }
29
+ addHandler(eventType, name);
30
+ }
31
+ for (const eventType of eventTypes.keys()) {
32
+ const className = eventType.name;
33
+ const name = className.charAt(0).toLowerCase() + className.slice(1);
34
+ const method = methods.get(name);
35
+ if (method && getHandledEventType(method) === undefined)
36
+ addHandler(eventType, name);
37
+ }
38
+ return [...handlers.values()];
39
+ }
40
+ //# sourceMappingURL=getEventHandlers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getEventHandlers.js","sourceRoot":"","sources":["../../observation/getEventHandlers.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAGrG,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,oGAAoG;AACpG,MAAM,UAAU,gBAAgB,CAAC,IAAiB,EAAE,eAAuC,EAAE,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC;IAC3H,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;QAC3D,MAAM,QAAQ,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;QACjD,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACtE,CAAC,CAAC,CAAC,CAAC;IACJ,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAwB,CAAC;IACjD,MAAM,UAAU,GAAG,CAAC,SAAsB,EAAE,UAAkB,EAAE,EAAE;QAC9D,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC;QAC5C,MAAM,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC;QAC7B,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClC,IAAI,QAAQ,IAAI,QAAQ,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;YACjD,MAAM,IAAI,KAAK,CAAC,IAAK,IAAiB,CAAC,IAAI,2CAA2C,EAAE,OAAO,QAAQ,CAAC,UAAU,UAAU,UAAU,IAAI,CAAC,CAAC;QAChJ,CAAC;QACD,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;IAChF,CAAC,CAAC;IAEF,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACnC,MAAM,SAAS,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,SAAS,KAAK,SAAS;YAAE,SAAS;QACtC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,SAAU,IAAiB,CAAC,IAAI,uBAAwB,SAAsB,CAAC,IAAI,8FAA8F,CAAC,CAAC;QACvN,CAAC;QACD,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;QACxC,MAAM,SAAS,GAAI,SAAsB,CAAC,IAAI,CAAC;QAC/C,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACpE,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,MAAM,IAAI,mBAAmB,CAAC,MAAM,CAAC,KAAK,SAAS;YAAE,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACzF,CAAC;IACD,OAAO,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;AAClC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { Constructor } from '@cratis/fundamentals';
2
+ /** Finds prototype methods without invoking getters; explicit handlers require explicitly decorated overrides. */
3
+ export declare function getInstanceMethods(type: Constructor): Map<string, Function>;
4
+ //# sourceMappingURL=getInstanceMethods.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getInstanceMethods.d.ts","sourceRoot":"","sources":["../../observation/getInstanceMethods.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGxD,kHAAkH;AAClH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,WAAW,GAAG,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAqB3E"}
@@ -0,0 +1,29 @@
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 { getHandledEventType } from '../events/handles.js';
4
+ /** Finds prototype methods without invoking getters; explicit handlers require explicitly decorated overrides. */
5
+ export function getInstanceMethods(type) {
6
+ const methods = new Map();
7
+ const declaringTypes = new Map();
8
+ for (let current = type.prototype; current && current !== Object.prototype; current = Object.getPrototypeOf(current)) {
9
+ for (const name of Object.getOwnPropertyNames(current)) {
10
+ if (name === 'constructor')
11
+ continue;
12
+ const method = Object.getOwnPropertyDescriptor(current, name)?.value;
13
+ const declaringType = declaringTypes.get(name);
14
+ if (declaringType !== undefined) {
15
+ const eventType = typeof method === 'function' ? getHandledEventType(method) : undefined;
16
+ const override = methods.get(name);
17
+ if (eventType && (!override || getHandledEventType(override) === undefined)) {
18
+ throw new Error(`Override '${name}' on '${declaringType}' hides @handles(${eventType.name}) declared on '${current.constructor.name}'; redecorate the override.`);
19
+ }
20
+ continue;
21
+ }
22
+ declaringTypes.set(name, current.constructor.name);
23
+ if (typeof method === 'function')
24
+ methods.set(name, method);
25
+ }
26
+ }
27
+ return methods;
28
+ }
29
+ //# sourceMappingURL=getInstanceMethods.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getInstanceMethods.js","sourceRoot":"","sources":["../../observation/getInstanceMethods.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAGrG,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,kHAAkH;AAClH,MAAM,UAAU,kBAAkB,CAAC,IAAiB;IAChD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC5C,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;IACjD,KAAK,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,IAAI,OAAO,KAAK,MAAM,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;QACnH,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;YACrD,IAAI,IAAI,KAAK,aAAa;gBAAE,SAAS;YACrC,MAAM,MAAM,GAAG,MAAM,CAAC,wBAAwB,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC;YACrE,MAAM,aAAa,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC/C,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;gBAC9B,MAAM,SAAS,GAAG,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACzF,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACnC,IAAI,SAAS,IAAI,CAAC,CAAC,QAAQ,IAAI,mBAAmB,CAAC,QAAQ,CAAC,KAAK,SAAS,CAAC,EAAE,CAAC;oBAC1E,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,SAAS,aAAa,oBAAqB,SAAsB,CAAC,IAAI,kBAAkB,OAAO,CAAC,WAAW,CAAC,IAAI,6BAA6B,CAAC,CAAC;gBACpL,CAAC;gBACD,SAAS;YACb,CAAC;YACD,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACnD,IAAI,OAAO,MAAM,KAAK,UAAU;gBAAE,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAChE,CAAC;IACL,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Projections.d.ts","sourceRoot":"","sources":["../../projections/Projections.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAQ,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAG7D,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAGpE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAIpF,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAIjD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAKvD;;;GAGG;AACH,qBAAa,WAAY,YAAW,YAAY;IAiBxC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IArB5C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkC;IAC/D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAkC;IAC9D,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAmB;IAErD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8E;IAEtG;;;;;;;;OAQG;IACH,YACqB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,mBAAmB,EAChC,gBAAgB,EAAE,wBAAwB,EAC1C,kBAAkB,EAAE,MAAM,EAC1B,sBAAsB,CAAC,EAAE,qBAAqB,YAAA,EAGlE;IAED,kBAAkB;IACZ,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAkC9B;IAED,kBAAkB;IACZ,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAkC9B;IAED,kBAAkB;IAClB,MAAM,CAAC,YAAY,EAAE,YAAY,GAAG,MAAM,GAAG,OAAO,CAGnD;IAED,kBAAkB;IAClB,WAAW,CAAC,aAAa,EAAE,WAAW,GAAG,OAAO,CAO/C;IAED,kBAAkB;IAClB,kBAAkB,CAAC,aAAa,EAAE,WAAW,GAAG,YAAY,CAE3D;IAED,kBAAkB;IACZ,WAAW,CAAC,YAAY,EAAE,YAAY,GAAG,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAkB/E;IAED,kBAAkB;IAClB,gBAAgB,CAAC,aAAa,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC,CAErE;IAED,kBAAkB;IAClB,2BAA2B,CAAC,aAAa,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAGlF;IAED,kBAAkB;IACZ,MAAM,CAAC,YAAY,EAAE,YAAY,GAAG,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAchE;IAED,kBAAkB;IAClB,cAAc,CAAC,aAAa,EAAE,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,CAEzD;IAED,kBAAkB;IACZ,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,eAAe,GAAE,MAAuC,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAezH;IAED,OAAO,CAAC,mBAAmB;IAI3B;;;;;OAKG;IACH,OAAO,CAAC,2BAA2B;IAmBnC;;;;;OAKG;IACH,OAAO,CAAC,yBAAyB;YAcnB,iBAAiB;IA8B/B,OAAO,CAAC,yBAAyB;CAYpC"}
1
+ {"version":3,"file":"Projections.d.ts","sourceRoot":"","sources":["../../projections/Projections.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAQ,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAG7D,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAGpE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAIpF,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAIjD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAKvD;;;GAGG;AACH,qBAAa,WAAY,YAAW,YAAY;IAiBxC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IArB5C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkC;IAC/D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAkC;IAC9D,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAmB;IAErD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkC;IAE1D;;;;;;;;OAQG;IACH,YACqB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,mBAAmB,EAChC,gBAAgB,EAAE,wBAAwB,EAC1C,kBAAkB,EAAE,MAAM,EAC1B,sBAAsB,CAAC,EAAE,qBAAqB,YAAA,EAIlE;IAED,kBAAkB;IACZ,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAkC9B;IAED,kBAAkB;IACZ,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAkC9B;IAED,kBAAkB;IAClB,MAAM,CAAC,YAAY,EAAE,YAAY,GAAG,MAAM,GAAG,OAAO,CAGnD;IAED,kBAAkB;IAClB,WAAW,CAAC,aAAa,EAAE,WAAW,GAAG,OAAO,CAO/C;IAED,kBAAkB;IAClB,kBAAkB,CAAC,aAAa,EAAE,WAAW,GAAG,YAAY,CAE3D;IAED,kBAAkB;IACZ,WAAW,CAAC,YAAY,EAAE,YAAY,GAAG,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAkB/E;IAED,kBAAkB;IAClB,gBAAgB,CAAC,aAAa,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC,CAErE;IAED,kBAAkB;IAClB,2BAA2B,CAAC,aAAa,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAGlF;IAED,kBAAkB;IACZ,MAAM,CAAC,YAAY,EAAE,YAAY,GAAG,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAchE;IAED,kBAAkB;IAClB,cAAc,CAAC,aAAa,EAAE,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,CAEzD;IAED,kBAAkB;IACZ,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,eAAe,GAAE,MAAuC,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAezH;IAED,OAAO,CAAC,mBAAmB;IAI3B;;;;;OAKG;IACH,OAAO,CAAC,2BAA2B;IAmBnC;;;;;OAKG;IACH,OAAO,CAAC,yBAAyB;YAcnB,iBAAiB;IA8B/B,OAAO,CAAC,yBAAyB;CAYpC"}
@@ -1,6 +1,6 @@
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
- import { diag } from '@opentelemetry/api';
3
+ import { createLogger } from '../logging/createLogger.js';
4
4
  import { ProjectionOwner } from '@cratis/chronicle.contracts';
5
5
  import { Guid } from '@cratis/fundamentals';
6
6
  import { EventSequenceId } from '../eventSequences/EventSequenceId.js';
@@ -31,7 +31,7 @@ export class Projections {
31
31
  _declarative = new Map();
32
32
  _modelBound = new Map();
33
33
  _failedPartitions;
34
- _logger = diag.createComponentLogger({ namespace: '@cratis/chronicle/projections' });
34
+ _logger;
35
35
  /**
36
36
  * Creates a new {@link Projections} instance.
37
37
  * @param _eventStore - The event store name.
@@ -48,6 +48,7 @@ export class Projections {
48
48
  this._clientArtifacts = _clientArtifacts;
49
49
  this._defaultSinkTypeId = _defaultSinkTypeId;
50
50
  this._readModelNamingPolicy = _readModelNamingPolicy;
51
+ this._logger = createLogger('@cratis/chronicle/projections', _connection.logger);
51
52
  this._failedPartitions = new FailedPartitions(_eventStore, _namespace, _connection);
52
53
  }
53
54
  /** @inheritdoc */
@@ -253,7 +254,7 @@ export class Projections {
253
254
  identifier,
254
255
  attempt,
255
256
  nextAttemptInMs: delay,
256
- error: msg
257
+ error
257
258
  });
258
259
  await new Promise(resolve => setTimeout(resolve, delay));
259
260
  delay = Math.min(delay * 2, 15000);
@@ -1 +1 @@
1
- {"version":3,"file":"Projections.js","sourceRoot":"","sources":["../../projections/Projections.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Projections.js","sourceRoot":"","sources":["../../projections/Projections.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ReactorDispatcher.d.ts","sourceRoot":"","sources":["../../reactors/ReactorDispatcher.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAG3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAI9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,sFAAsF;AACtF,MAAM,WAAW,qBAAqB;IAClC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACtC;AAED,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,SAAS,WAAW,EAAE,GAAG,qBAAqB,EAAE,CAmD/H;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,SAAS,qBAAqB,EAAE,EAAE,WAAW,EAAE,WAAW,EACpG,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,SAAS,EAAE,EAAE,EAAE,MAAM,GAAG,SAAS,EAAE,gBAAgB,EAAE,MAAM,GAChG;IAAE,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,OAAO,CAAA;CAAE,GAAG,SAAS,CAOzF;AAED,uFAAuF;AACvF,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAChH,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,eAAe,GAAG,SAAS,EAC9F,YAAY,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAKlE"}
1
+ {"version":3,"file":"ReactorDispatcher.d.ts","sourceRoot":"","sources":["../../reactors/ReactorDispatcher.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAG3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAO9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,sFAAsF;AACtF,MAAM,WAAW,qBAAqB;IAClC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACtC;AAED,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,SAAS,WAAW,EAAE,GAAG,qBAAqB,EAAE,CA4C/H;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,SAAS,qBAAqB,EAAE,EAAE,WAAW,EAAE,WAAW,EACpG,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,SAAS,EAAE,EAAE,EAAE,MAAM,GAAG,SAAS,EAAE,gBAAgB,EAAE,MAAM,GAChG;IAAE,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,OAAO,CAAA;CAAE,GAAG,SAAS,CAOzF;AAED,uFAAuF;AACvF,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAChH,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,eAAe,GAAG,SAAS,EAC9F,YAAY,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAKlE"}
@@ -4,11 +4,13 @@ import { EventObservationState } from '@cratis/chronicle.contracts';
4
4
  import { ArtifactDelivery } from '../artifacts/ArtifactDelivery.js';
5
5
  import { runActivated } from '../artifacts/withActivatedArtifact.js';
6
6
  import { getEventTypeMetadata } from '../events/eventTypeDecorator.js';
7
+ import { getHandledEventType } from '../events/handles.js';
8
+ import { getEventHandlers } from '../observation/getEventHandlers.js';
9
+ import { getInstanceMethods } from '../observation/getInstanceMethods.js';
7
10
  import { isOnceOnly } from './onceOnly.js';
8
11
  import { getReplayEventType } from './replay.js';
9
12
  export function getReactorEventTypes(reactorType, registeredTypes) {
10
- const proto = reactorType.prototype;
11
- const entries = [];
13
+ const methods = getInstanceMethods(reactorType);
12
14
  const replayHandlers = new Map();
13
15
  const eventTypes = new Map();
14
16
  for (const eventTypeClass of registeredTypes) {
@@ -21,41 +23,34 @@ export function getReactorEventTypes(reactorType, registeredTypes) {
21
23
  });
22
24
  }
23
25
  }
24
- // A derived method shadows a base method of the same name, even if it is not marked for replay.
25
- const seenMethods = new Set();
26
- for (let current = proto; current && current !== Object.prototype; current = Object.getPrototypeOf(current)) {
27
- for (const name of Object.getOwnPropertyNames(current)) {
28
- if (seenMethods.has(name))
29
- continue;
30
- seenMethods.add(name);
31
- const method = current[name];
32
- if (typeof method !== 'function')
33
- continue;
34
- const replayEventType = getReplayEventType(method);
35
- if (replayEventType === undefined)
36
- continue;
37
- const eventType = replayEventType === true
38
- ? eventTypes.get(name.startsWith('replay') ? name.slice('replay'.length) : '')
39
- : [...eventTypes.values()].find(candidate => candidate.eventTypeClass === replayEventType);
40
- if (!eventType) {
41
- throw new Error(`Replay handler '${name}' on reactor '${reactorType.name}' has no registered event type.`);
42
- }
43
- if (replayHandlers.has(eventType.id)) {
44
- throw new Error(`Reactor '${reactorType.name}' has multiple replay handlers for event type '${eventType.id}': '${replayHandlers.get(eventType.id)}' and '${name}'.`);
45
- }
46
- replayHandlers.set(eventType.id, name);
26
+ for (const [name, method] of methods) {
27
+ const replayEventType = getReplayEventType(method);
28
+ if (replayEventType === undefined)
29
+ continue;
30
+ if (getHandledEventType(method) !== undefined) {
31
+ throw new Error(`Handler '${name}' on reactor '${reactorType.name}' cannot combine @handles and @replay. Use separate live and replay methods.`);
47
32
  }
33
+ const eventType = replayEventType === true
34
+ ? eventTypes.get(name.startsWith('replay') ? name.slice('replay'.length) : '')
35
+ : [...eventTypes.values()].find(candidate => candidate.eventTypeClass === replayEventType);
36
+ if (!eventType) {
37
+ throw new Error(`Replay handler '${name}' on reactor '${reactorType.name}' has no registered event type.`);
38
+ }
39
+ if (replayHandlers.has(eventType.id)) {
40
+ throw new Error(`Reactor '${reactorType.name}' has multiple replay handlers for event type '${eventType.id}': '${replayHandlers.get(eventType.id)}' and '${name}'.`);
41
+ }
42
+ replayHandlers.set(eventType.id, name);
43
+ methods.delete(name);
48
44
  }
49
- for (const [className, eventType] of eventTypes) {
50
- const methodName = className.charAt(0).toLowerCase() + className.slice(1);
51
- const liveMethod = proto[methodName];
52
- const liveMethodName = typeof liveMethod === 'function' && getReplayEventType(liveMethod) === undefined ? methodName : undefined;
45
+ const entries = new Map(getEventHandlers(reactorType, registeredTypes, methods)
46
+ .map(handler => [handler.id, handler]));
47
+ for (const eventType of eventTypes.values()) {
53
48
  const replayMethodName = replayHandlers.get(eventType.id);
54
- if (liveMethodName || replayMethodName) {
55
- entries.push({ id: eventType.id, generation: eventType.generation, methodName: liveMethodName, replayMethodName });
49
+ if (replayMethodName) {
50
+ entries.set(eventType.id, { id: eventType.id, generation: eventType.generation, ...entries.get(eventType.id), replayMethodName });
56
51
  }
57
52
  }
58
- return entries;
53
+ return [...entries.values()];
59
54
  }
60
55
  export function selectReactorHandler(entries, reactorType, instance, id, observationState) {
61
56
  const entry = entries.find(candidate => candidate.id === id);
@@ -1 +1 @@
1
- {"version":3,"file":"ReactorDispatcher.js","sourceRoot":"","sources":["../../reactors/ReactorDispatcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ReactorDispatcher.js","sourceRoot":"","sources":["../../reactors/ReactorDispatcher.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,7 @@ export declare class Reactors implements IReactors {
24
24
  private static readonly _reobserveDelayMs;
25
25
  private readonly _logger;
26
26
  private readonly _lifecycle;
27
+ private readonly _unsubscribeDisconnected;
27
28
  private readonly _reactors;
28
29
  private readonly _queues;
29
30
  private readonly _observations;
@@ -1 +1 @@
1
- {"version":3,"file":"Reactors.d.ts","sourceRoot":"","sources":["../../reactors/Reactors.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAI1B,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAK3E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAEhE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAM3C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AAuEzF;;;GAGG;AACH,qBAAa,QAAS,YAAW,SAAS;IAsBlC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAE3B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;IAChC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAC7B,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IA7BxC,iFAAiF;IACjF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAQ;IAEjD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2E;IACnG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IACjD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkC;IAC5D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiD;IACzE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsC;IACpE,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAS;IAE1B;;;;;;;;OAQG;IACH,YACqB,gBAAgB,EAAE,wBAAwB,EAC1C,WAAW,EAAE,mBAAmB,EAChC,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,EACnC,SAAS,EAAE,mBAAmB,EACb,SAAS,EAAE,SAAS,EACpB,cAAc,CAAC,EAAE,oBAAoB,YAAA,EACrC,WAAW,CAAC,EAAE,WAAW,YAAA,EACzB,kBAAkB,CAAC,EAAE,wBAAwB,YAAA,EAQjE;IAED,yEAAyE;IACzE,OAAO,IAAI,IAAI,CAId;IAED,kBAAkB;IACZ,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAS9B;IAED,kBAAkB;IACZ,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAgB9B;IAED,OAAO,CAAC,gBAAgB;YAgBV,cAAc;IAe5B;;;;;;;;OAQG;IACH,OAAO,CAAC,iBAAiB;YAmBX,cAAc;IAsM5B,OAAO,CAAC,aAAa;CAMxB"}
1
+ {"version":3,"file":"Reactors.d.ts","sourceRoot":"","sources":["../../reactors/Reactors.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAK1B,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAK3E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAGhE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAM3C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AAuEzF;;;GAGG;AACH,qBAAa,QAAS,YAAW,SAAS;IAuBlC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAE3B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;IAChC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAC7B,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IA9BxC,iFAAiF;IACjF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAQ;IAEjD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkC;IAC1D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IACjD,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAa;IACtD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkC;IAC5D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiD;IACzE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsC;IACpE,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAS;IAE1B;;;;;;;;OAQG;IACH,YACqB,gBAAgB,EAAE,wBAAwB,EAC1C,WAAW,EAAE,mBAAmB,EAChC,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,EACnC,SAAS,EAAE,mBAAmB,EACb,SAAS,EAAE,SAAS,EACpB,cAAc,CAAC,EAAE,oBAAoB,YAAA,EACrC,WAAW,CAAC,EAAE,WAAW,YAAA,EACzB,kBAAkB,CAAC,EAAE,wBAAwB,YAAA,EASjE;IAED,yEAAyE;IACzE,OAAO,IAAI,IAAI,CAKd;IAED,kBAAkB;IACZ,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAS9B;IAED,kBAAkB;IACZ,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAoB9B;IAED,OAAO,CAAC,gBAAgB;YAkBV,cAAc;IAgB5B;;;;;;;;OAQG;IACH,OAAO,CAAC,iBAAiB;YAmBX,cAAc;IA4M5B,OAAO,CAAC,aAAa;CAMxB"}
@@ -1,12 +1,14 @@
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 'reflect-metadata';
4
- import { diag } from '@opentelemetry/api';
4
+ import { createLogger } from '../logging/createLogger.js';
5
+ import { runInBackgroundContext } from '../telemetry/runInBackgroundContext.js';
5
6
  import { ObservationState, ReplayState } from '@cratis/chronicle.contracts';
6
7
  import { toClientEventContext } from '../events/toClientEventContext.js';
7
8
  import { getTagsFor } from '../events/tagDecorator.js';
8
9
  import { getFilterTagsFor } from '../events/filterEventsByTagDecorator.js';
9
10
  import { EventSequenceId } from '../eventSequences/EventSequenceId.js';
11
+ import { createHandlerInstanceValidator } from '../observation/createHandlerInstanceValidator.js';
10
12
  import { notifyReplayLifecycle } from '../observation/notifyReplayLifecycle.js';
11
13
  import { dispatchReactorSideEffects } from './ReactorSideEffects.js';
12
14
  import { getReactorMetadata } from './reactor.js';
@@ -91,8 +93,9 @@ export class Reactors {
91
93
  _artifactActivator;
92
94
  /** How long to wait before re-establishing an observation whose stream ended. */
93
95
  static _reobserveDelayMs = 2000;
94
- _logger = diag.createComponentLogger({ namespace: '@cratis/chronicle/reactors' });
96
+ _logger;
95
97
  _lifecycle;
98
+ _unsubscribeDisconnected;
96
99
  _reactors = new Map();
97
100
  _queues = new Map();
98
101
  _observations = new Map();
@@ -116,8 +119,9 @@ export class Reactors {
116
119
  this._resultHandler = _resultHandler;
117
120
  this._eventStore = _eventStore;
118
121
  this._artifactActivator = _artifactActivator;
122
+ this._logger = createLogger('@cratis/chronicle/reactors', _connection.logger);
119
123
  this._lifecycle = lifecycle;
120
- lifecycle.onDisconnected(async () => {
124
+ this._unsubscribeDisconnected = lifecycle.onDisconnected(async () => {
121
125
  this._logger.info('Disconnected — stopping all reactor observations');
122
126
  this._registered = false;
123
127
  this.disconnectAll();
@@ -125,6 +129,7 @@ export class Reactors {
125
129
  }
126
130
  /** Stops observations permanently when the owning client is disposed. */
127
131
  dispose() {
132
+ this._unsubscribeDisconnected();
128
133
  this._disposed = true;
129
134
  this._registered = false;
130
135
  this.disconnectAll();
@@ -150,34 +155,38 @@ export class Reactors {
150
155
  }
151
156
  if (this._disposed)
152
157
  return;
158
+ const registrations = [...this._reactors].map(([id, type]) => ({
159
+ id, type, eventTypes: getReactorEventTypes(type, this._clientArtifacts.eventTypes)
160
+ })).map(registration => ({ ...registration, validateInstance: createHandlerInstanceValidator(registration.type, registration.eventTypes.flatMap(entry => [entry.methodName, entry.replayMethodName].filter((name) => !!name))) }));
153
161
  this._logger.info('Registering reactors', { count: this._reactors.size });
154
- for (const [id, reactorType] of this._reactors) {
155
- this.startObservation(id, reactorType);
162
+ for (const { id, type, eventTypes, validateInstance } of registrations) {
163
+ this.startObservation(id, type, eventTypes, validateInstance);
156
164
  }
157
165
  this._registered = true;
158
166
  }
159
- startObservation(id, reactorType) {
160
- if (this._disposed)
161
- return;
162
- const metadata = getReactorMetadata(reactorType);
163
- const eventSequenceId = metadata.eventSequenceId ?? EventSequenceId.eventLog.value;
164
- const eventTypes = getReactorEventTypes(reactorType, this._clientArtifacts.eventTypes);
165
- this._logger.info('Starting reactor observation', {
166
- reactorId: id,
167
- eventSequenceId,
168
- handlerCount: eventTypes.length,
169
- handlers: eventTypes.map(e => e.methodName)
167
+ startObservation(id, reactorType, eventTypes, validateInstance) {
168
+ runInBackgroundContext(() => {
169
+ if (this._disposed)
170
+ return;
171
+ const metadata = getReactorMetadata(reactorType);
172
+ const eventSequenceId = metadata.eventSequenceId ?? EventSequenceId.eventLog.value;
173
+ this._logger.info('Starting reactor observation', {
174
+ reactorId: id,
175
+ eventSequenceId,
176
+ handlerCount: eventTypes.length,
177
+ handlers: eventTypes.map(e => e.methodName)
178
+ });
179
+ void this.runObservation(id, reactorType, eventSequenceId, eventTypes, validateInstance);
170
180
  });
171
- void this.runObservation(id, reactorType, eventSequenceId, eventTypes);
172
181
  }
173
- async runObservation(id, reactorType, eventSequenceId, eventTypes) {
182
+ async runObservation(id, reactorType, eventSequenceId, eventTypes, validateInstance) {
174
183
  try {
175
- await this.observeReactor(id, reactorType, eventSequenceId, eventTypes);
184
+ await this.observeReactor(id, reactorType, eventSequenceId, eventTypes, validateInstance);
176
185
  }
177
186
  catch (error) {
178
- this._logger.error('Reactor observation loop exited with error', { reactorId: id, error: String(error) });
187
+ this._logger.error('Reactor observation loop exited with error', { reactorId: id, error });
179
188
  }
180
- this.scheduleReobserve(id, reactorType);
189
+ this.scheduleReobserve(id, reactorType, eventTypes, validateInstance);
181
190
  }
182
191
  /**
183
192
  * Re-establishes an observation whose stream ended.
@@ -188,22 +197,22 @@ export class Reactors {
188
197
  * the whole client reconnects. Both endings are therefore retried, and the delay
189
198
  * keeps a stream that keeps ending from becoming a hot loop.
190
199
  */
191
- scheduleReobserve(id, reactorType) {
200
+ scheduleReobserve(id, reactorType, eventTypes, validateInstance) {
192
201
  // A disconnect clears the registration; the reconnect re-registers every
193
202
  // reactor from scratch, so retrying here as well would double up.
194
203
  if (!this._registered || this._disposed) {
195
204
  return;
196
205
  }
197
- const handle = setTimeout(() => {
206
+ const handle = runInBackgroundContext(() => setTimeout(() => {
198
207
  if (!this._registered || this._disposed) {
199
208
  return;
200
209
  }
201
210
  this._logger.info('Re-establishing reactor observation', { reactorId: id });
202
- this.startObservation(id, reactorType);
203
- }, Reactors._reobserveDelayMs);
211
+ this.startObservation(id, reactorType, eventTypes, validateInstance);
212
+ }, Reactors._reobserveDelayMs));
204
213
  handle.unref?.();
205
214
  }
206
- async observeReactor(id, reactorType, eventSequenceId, eventTypes) {
215
+ async observeReactor(id, reactorType, eventSequenceId, eventTypes, validateInstance) {
207
216
  const queue = new AsyncQueue();
208
217
  const controller = new AbortController();
209
218
  this._queues.set(id, queue);
@@ -235,6 +244,8 @@ export class Reactors {
235
244
  });
236
245
  try {
237
246
  const reactorInstance = this._artifactActivator ? undefined : new reactorType();
247
+ if (reactorInstance)
248
+ validateInstance(reactorInstance);
238
249
  const services = this._eventStore && {
239
250
  eventStore: this._eventStore, readModels: this._eventStore.readModels, signal: controller.signal
240
251
  };
@@ -245,7 +256,6 @@ export class Reactors {
245
256
  let exceptionStackTrace = '';
246
257
  this._logger.debug('Received events to observe', {
247
258
  reactorId: id,
248
- partition: eventsToObserve.Partition,
249
259
  count: eventsToObserve.Events.length,
250
260
  replayState: eventsToObserve.ReplayState
251
261
  });
@@ -258,14 +268,17 @@ export class Reactors {
258
268
  readModels: services.readModels, eventSequenceId, partition: eventsToObserve.Partition,
259
269
  signal: controller.signal, delivery: ArtifactDelivery.ReplayNotification,
260
270
  replayState: eventsToObserve.ReplayState
261
- }, this._artifactActivator, artifact => runActivated(artifact, () => notifyReplayLifecycle(artifact.instance, eventsToObserve.ReplayState, eventsToObserve.Partition), { delivery: ArtifactDelivery.ReplayNotification, replayState: eventsToObserve.ReplayState }));
271
+ }, this._artifactActivator, artifact => {
272
+ validateInstance(artifact.instance);
273
+ return runActivated(artifact, () => notifyReplayLifecycle(artifact.instance, eventsToObserve.ReplayState, eventsToObserve.Partition), { delivery: ArtifactDelivery.ReplayNotification, replayState: eventsToObserve.ReplayState });
274
+ }, this._connection.logger);
262
275
  }
263
276
  else if (reactorInstance) {
264
277
  await notifyReplayLifecycle(reactorInstance, eventsToObserve.ReplayState, eventsToObserve.Partition);
265
278
  }
266
279
  }
267
280
  catch (err) {
268
- this._logger.error('Error notifying reactor of replay lifecycle transition', { reactorId: id, error: String(err) });
281
+ this._logger.error('Error notifying reactor of replay lifecycle transition', { reactorId: id, error: err });
269
282
  if (err instanceof ArtifactCompletionFailed && err.processingError !== undefined) {
270
283
  exceptionMessages.push(String(err.processingError));
271
284
  }
@@ -302,7 +315,6 @@ export class Reactors {
302
315
  continue;
303
316
  }
304
317
  const content = JSON.parse(event.Content);
305
- this._logger.debug('Event content', { reactorId: id, eventTypeId, contentKeys: Object.keys(content), rawContent: event.Content.substring(0, 200) });
306
318
  const context = toClientEventContext(event.Context);
307
319
  this._logger.info('Invoking reactor handler', {
308
320
  reactorId: id,
@@ -314,7 +326,7 @@ export class Reactors {
314
326
  lastSuccessfullyObservedEvent = event.Context.SequenceNumber;
315
327
  }
316
328
  catch (err) {
317
- this._logger.error('Error handling event in reactor', { reactorId: id, error: String(err) });
329
+ this._logger.error('Error handling event in reactor', { reactorId: id, error: err });
318
330
  exceptionMessages.push(String(err));
319
331
  exceptionStackTrace = err instanceof Error ? (err.stack ?? '') : '';
320
332
  state = ObservationState.Failed;
@@ -336,10 +348,13 @@ export class Reactors {
336
348
  readModels: services.readModels, eventSequenceId, partition: eventsToObserve.Partition,
337
349
  signal: controller.signal, delivery: ArtifactDelivery.Events,
338
350
  eventContext: toClientEventContext(firstInvocableEvent.Context)
339
- }, this._artifactActivator, processEvents);
351
+ }, this._artifactActivator, artifact => {
352
+ validateInstance(artifact.instance);
353
+ return processEvents(artifact);
354
+ }, this._connection.logger);
340
355
  }
341
356
  catch (err) {
342
- this._logger.error('Error activating reactor', { reactorId: id, error: String(err) });
357
+ this._logger.error('Error activating reactor', { reactorId: id, error: err });
343
358
  exceptionMessages.push(String(err));
344
359
  const completionStack = err instanceof Error ? (err.stack ?? '') : '';
345
360
  exceptionStackTrace = err instanceof ArtifactCompletionFailed && exceptionStackTrace
@@ -372,7 +387,7 @@ export class Reactors {
372
387
  this._logger.debug('Reactor observation stream closed cleanly', { reactorId: id });
373
388
  }
374
389
  else {
375
- this._logger.error('Reactor observation stream ended unexpectedly', { reactorId: id, error: String(err) });
390
+ this._logger.error('Reactor observation stream ended unexpectedly', { reactorId: id, error: err });
376
391
  }
377
392
  }
378
393
  finally {
@@ -1 +1 @@
1
- {"version":3,"file":"Reactors.js","sourceRoot":"","sources":["../../reactors/Reactors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Reactors.js","sourceRoot":"","sources":["../../reactors/Reactors.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  export { ReactorId } from './ReactorId.js';
2
2
  export { reactor, getReactorMetadata, isReactor } from './reactor.js';
3
+ export { handles } from '../events/handles.js';
3
4
  export { onceOnly } from './onceOnly.js';
4
5
  export { replay } from './replay.js';
5
6
  export type { ReactorMetadata } from './reactor.js';