@cratis/chronicle 0.0.1

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 (647) hide show
  1. package/ChronicleClient.ts +453 -0
  2. package/ChronicleOptions.ts +104 -0
  3. package/EventSequences/AppendError.ts +10 -0
  4. package/EventSequences/AppendOptions.ts +15 -0
  5. package/EventSequences/AppendResult.ts +23 -0
  6. package/EventSequences/ConstraintViolation.ts +16 -0
  7. package/EventSequences/EventLog.ts +21 -0
  8. package/EventSequences/EventSequence.ts +372 -0
  9. package/EventSequences/EventSequenceId.ts +17 -0
  10. package/EventSequences/EventSequenceNumber.ts +38 -0
  11. package/EventSequences/IEventLog.ts +10 -0
  12. package/EventSequences/IEventSequence.ts +47 -0
  13. package/EventSequences/index.ts +13 -0
  14. package/EventStore.ts +132 -0
  15. package/EventStoreName.ts +14 -0
  16. package/EventStoreNamespaceName.ts +17 -0
  17. package/Events/AppendedEvent.ts +19 -0
  18. package/Events/CausationEntry.ts +13 -0
  19. package/Events/Constraints/ConstraintBuilder.ts +86 -0
  20. package/Events/Constraints/ConstraintId.ts +14 -0
  21. package/Events/Constraints/Constraints.ts +117 -0
  22. package/Events/Constraints/IConstraint.ts +18 -0
  23. package/Events/Constraints/IConstraintBuilder.ts +44 -0
  24. package/Events/Constraints/IConstraints.ts +28 -0
  25. package/Events/Constraints/IUniqueConstraintBuilder.ts +52 -0
  26. package/Events/Constraints/UniqueConstraintBuilder.ts +97 -0
  27. package/Events/Constraints/constraint.ts +56 -0
  28. package/Events/Constraints/index.ts +15 -0
  29. package/Events/EventContext.ts +28 -0
  30. package/Events/EventType.ts +41 -0
  31. package/Events/EventTypeGeneration.ts +20 -0
  32. package/Events/EventTypeId.ts +19 -0
  33. package/Events/EventTypes.ts +95 -0
  34. package/Events/IEventTypes.ts +39 -0
  35. package/Events/eventTypeDecorator.ts +147 -0
  36. package/Events/index.ts +14 -0
  37. package/IChronicleClient.ts +39 -0
  38. package/IEventStore.ts +56 -0
  39. package/Metrics.ts +109 -0
  40. package/Observation/ObserverId.ts +14 -0
  41. package/Observation/ObserverRunningState.ts +34 -0
  42. package/Observation/index.ts +5 -0
  43. package/Projections/IProjections.ts +19 -0
  44. package/Projections/ProjectionId.ts +14 -0
  45. package/Projections/Projections.ts +463 -0
  46. package/Projections/declarative/AllSetBuilder.ts +39 -0
  47. package/Projections/declarative/FromBuilder.ts +144 -0
  48. package/Projections/declarative/FromEveryBuilder.ts +46 -0
  49. package/Projections/declarative/IAddBuilder.ts +18 -0
  50. package/Projections/declarative/IAddChildBuilder.ts +25 -0
  51. package/Projections/declarative/IAllSetBuilder.ts +31 -0
  52. package/Projections/declarative/IChildrenBuilder.ts +31 -0
  53. package/Projections/declarative/ICompositeKeyBuilder.ts +22 -0
  54. package/Projections/declarative/IFromBuilder.ts +12 -0
  55. package/Projections/declarative/IFromEveryBuilder.ts +24 -0
  56. package/Projections/declarative/IJoinBuilder.ts +20 -0
  57. package/Projections/declarative/INestedBuilder.ts +19 -0
  58. package/Projections/declarative/IProjectionBuilder.ts +98 -0
  59. package/Projections/declarative/IProjectionBuilderFor.ts +38 -0
  60. package/Projections/declarative/IProjectionFor.ts +18 -0
  61. package/Projections/declarative/IReadModelPropertiesBuilder.ts +132 -0
  62. package/Projections/declarative/IRemovedWithBuilder.ts +25 -0
  63. package/Projections/declarative/IRemovedWithJoinBuilder.ts +25 -0
  64. package/Projections/declarative/ISetBuilder.ts +38 -0
  65. package/Projections/declarative/ISubtractBuilder.ts +18 -0
  66. package/Projections/declarative/JoinBuilder.ts +148 -0
  67. package/Projections/declarative/ProjectionBuilderFor.ts +277 -0
  68. package/Projections/declarative/RemovedWithBuilder.ts +40 -0
  69. package/Projections/declarative/RemovedWithJoinBuilder.ts +43 -0
  70. package/Projections/declarative/SetBuilder.ts +46 -0
  71. package/Projections/declarative/index.ts +26 -0
  72. package/Projections/declarative/projection.ts +59 -0
  73. package/Projections/index.ts +8 -0
  74. package/Projections/modelBound/FromEventMetadata.ts +10 -0
  75. package/Projections/modelBound/FromEventOptions.ts +12 -0
  76. package/Projections/modelBound/addFrom.ts +41 -0
  77. package/Projections/modelBound/childrenFrom.ts +52 -0
  78. package/Projections/modelBound/clearWith.ts +54 -0
  79. package/Projections/modelBound/count.ts +41 -0
  80. package/Projections/modelBound/decrement.ts +41 -0
  81. package/Projections/modelBound/fromEvent.ts +40 -0
  82. package/Projections/modelBound/fromEvery.ts +39 -0
  83. package/Projections/modelBound/increment.ts +41 -0
  84. package/Projections/modelBound/index.ts +38 -0
  85. package/Projections/modelBound/join.ts +44 -0
  86. package/Projections/modelBound/modelBound.ts +59 -0
  87. package/Projections/modelBound/nested.ts +29 -0
  88. package/Projections/modelBound/notRewindable.ts +24 -0
  89. package/Projections/modelBound/removedWith.ts +60 -0
  90. package/Projections/modelBound/removedWithJoin.ts +55 -0
  91. package/Projections/modelBound/setFrom.ts +41 -0
  92. package/Projections/modelBound/setFromContext.ts +41 -0
  93. package/Projections/modelBound/setValue.ts +41 -0
  94. package/Projections/modelBound/subtractFrom.ts +41 -0
  95. package/README.md +69 -0
  96. package/Reactors/IReactors.ts +19 -0
  97. package/Reactors/ReactorId.ts +14 -0
  98. package/Reactors/Reactors.ts +320 -0
  99. package/Reactors/index.ts +8 -0
  100. package/Reactors/reactor.ts +75 -0
  101. package/ReadModels/ReadModelId.ts +14 -0
  102. package/ReadModels/index.ts +6 -0
  103. package/ReadModels/readModel.ts +89 -0
  104. package/Reducers/IReducers.ts +19 -0
  105. package/Reducers/ReducerId.ts +14 -0
  106. package/Reducers/Reducers.ts +322 -0
  107. package/Reducers/index.ts +8 -0
  108. package/Reducers/reducer.ts +87 -0
  109. package/Schemas/JsonSchema.ts +18 -0
  110. package/Schemas/JsonSchemaGenerator.ts +107 -0
  111. package/Schemas/index.ts +6 -0
  112. package/Schemas/jsonSchemaProperty.ts +24 -0
  113. package/Tracing.ts +21 -0
  114. package/artifacts/DefaultClientArtifactsProvider.ts +56 -0
  115. package/artifacts/IClientArtifactsProvider.ts +30 -0
  116. package/artifacts/index.ts +5 -0
  117. package/connection/ChronicleConnection.ts +226 -0
  118. package/connection/ChronicleConnectionString.ts +4 -0
  119. package/connection/ChronicleServices.ts +4 -0
  120. package/connection/ConnectionLifecycle.ts +77 -0
  121. package/connection/DateTimeOffset.ts +4 -0
  122. package/connection/Guid.ts +4 -0
  123. package/connection/TokenProvider.ts +13 -0
  124. package/connection/index.ts +9 -0
  125. package/dist/ChronicleClient.d.ts +55 -0
  126. package/dist/ChronicleClient.d.ts.map +1 -0
  127. package/dist/ChronicleClient.js +396 -0
  128. package/dist/ChronicleClient.js.map +1 -0
  129. package/dist/ChronicleOptions.d.ts +54 -0
  130. package/dist/ChronicleOptions.d.ts.map +1 -0
  131. package/dist/ChronicleOptions.js +75 -0
  132. package/dist/ChronicleOptions.js.map +1 -0
  133. package/dist/EventSequences/AppendError.d.ts +8 -0
  134. package/dist/EventSequences/AppendError.d.ts.map +1 -0
  135. package/dist/EventSequences/AppendError.js +4 -0
  136. package/dist/EventSequences/AppendError.js.map +1 -0
  137. package/dist/EventSequences/AppendOptions.d.ts +11 -0
  138. package/dist/EventSequences/AppendOptions.d.ts.map +1 -0
  139. package/dist/EventSequences/AppendOptions.js +4 -0
  140. package/dist/EventSequences/AppendOptions.js.map +1 -0
  141. package/dist/EventSequences/AppendResult.d.ts +17 -0
  142. package/dist/EventSequences/AppendResult.d.ts.map +1 -0
  143. package/dist/EventSequences/AppendResult.js +4 -0
  144. package/dist/EventSequences/AppendResult.js.map +1 -0
  145. package/dist/EventSequences/ConstraintViolation.d.ts +12 -0
  146. package/dist/EventSequences/ConstraintViolation.d.ts.map +1 -0
  147. package/dist/EventSequences/ConstraintViolation.js +4 -0
  148. package/dist/EventSequences/ConstraintViolation.js.map +1 -0
  149. package/dist/EventSequences/EventLog.d.ts +11 -0
  150. package/dist/EventSequences/EventLog.d.ts.map +1 -0
  151. package/dist/EventSequences/EventLog.js +14 -0
  152. package/dist/EventSequences/EventLog.js.map +1 -0
  153. package/dist/EventSequences/EventSequence.d.ts +27 -0
  154. package/dist/EventSequences/EventSequence.d.ts.map +1 -0
  155. package/dist/EventSequences/EventSequence.js +337 -0
  156. package/dist/EventSequences/EventSequence.js.map +1 -0
  157. package/dist/EventSequences/EventSequenceId.d.ts +12 -0
  158. package/dist/EventSequences/EventSequenceId.d.ts.map +1 -0
  159. package/dist/EventSequences/EventSequenceId.js +18 -0
  160. package/dist/EventSequences/EventSequenceId.js.map +1 -0
  161. package/dist/EventSequences/EventSequenceNumber.d.ts +26 -0
  162. package/dist/EventSequences/EventSequenceNumber.d.ts.map +1 -0
  163. package/dist/EventSequences/EventSequenceNumber.js +36 -0
  164. package/dist/EventSequences/EventSequenceNumber.js.map +1 -0
  165. package/dist/EventSequences/IEventLog.d.ts +8 -0
  166. package/dist/EventSequences/IEventLog.d.ts.map +1 -0
  167. package/dist/EventSequences/IEventLog.js +4 -0
  168. package/dist/EventSequences/IEventLog.js.map +1 -0
  169. package/dist/EventSequences/IEventSequence.d.ts +40 -0
  170. package/dist/EventSequences/IEventSequence.d.ts.map +1 -0
  171. package/dist/EventSequences/IEventSequence.js +4 -0
  172. package/dist/EventSequences/IEventSequence.js.map +1 -0
  173. package/dist/EventSequences/index.d.ts +11 -0
  174. package/dist/EventSequences/index.d.ts.map +1 -0
  175. package/dist/EventSequences/index.js +7 -0
  176. package/dist/EventSequences/index.js.map +1 -0
  177. package/dist/EventStore.d.ts +42 -0
  178. package/dist/EventStore.d.ts.map +1 -0
  179. package/dist/EventStore.js +111 -0
  180. package/dist/EventStore.js.map +1 -0
  181. package/dist/EventStoreName.d.ts +10 -0
  182. package/dist/EventStoreName.d.ts.map +1 -0
  183. package/dist/EventStoreName.js +16 -0
  184. package/dist/EventStoreName.js.map +1 -0
  185. package/dist/EventStoreNamespaceName.d.ts +12 -0
  186. package/dist/EventStoreNamespaceName.d.ts.map +1 -0
  187. package/dist/EventStoreNamespaceName.js +18 -0
  188. package/dist/EventStoreNamespaceName.js.map +1 -0
  189. package/dist/Events/AppendedEvent.d.ts +14 -0
  190. package/dist/Events/AppendedEvent.d.ts.map +1 -0
  191. package/dist/Events/AppendedEvent.js +4 -0
  192. package/dist/Events/AppendedEvent.js.map +1 -0
  193. package/dist/Events/CausationEntry.d.ts +10 -0
  194. package/dist/Events/CausationEntry.d.ts.map +1 -0
  195. package/dist/Events/CausationEntry.js +4 -0
  196. package/dist/Events/CausationEntry.js.map +1 -0
  197. package/dist/Events/Constraints/ConstraintBuilder.d.ts +42 -0
  198. package/dist/Events/Constraints/ConstraintBuilder.d.ts.map +1 -0
  199. package/dist/Events/Constraints/ConstraintBuilder.js +55 -0
  200. package/dist/Events/Constraints/ConstraintBuilder.js.map +1 -0
  201. package/dist/Events/Constraints/ConstraintId.d.ts +10 -0
  202. package/dist/Events/Constraints/ConstraintId.d.ts.map +1 -0
  203. package/dist/Events/Constraints/ConstraintId.js +16 -0
  204. package/dist/Events/Constraints/ConstraintId.js.map +1 -0
  205. package/dist/Events/Constraints/Constraints.d.ts +27 -0
  206. package/dist/Events/Constraints/Constraints.d.ts.map +1 -0
  207. package/dist/Events/Constraints/Constraints.js +104 -0
  208. package/dist/Events/Constraints/Constraints.js.map +1 -0
  209. package/dist/Events/Constraints/IConstraint.d.ts +15 -0
  210. package/dist/Events/Constraints/IConstraint.d.ts.map +1 -0
  211. package/dist/Events/Constraints/IConstraint.js +4 -0
  212. package/dist/Events/Constraints/IConstraint.js.map +1 -0
  213. package/dist/Events/Constraints/IConstraintBuilder.d.ts +37 -0
  214. package/dist/Events/Constraints/IConstraintBuilder.d.ts.map +1 -0
  215. package/dist/Events/Constraints/IConstraintBuilder.js +4 -0
  216. package/dist/Events/Constraints/IConstraintBuilder.js.map +1 -0
  217. package/dist/Events/Constraints/IConstraints.d.ts +23 -0
  218. package/dist/Events/Constraints/IConstraints.d.ts.map +1 -0
  219. package/dist/Events/Constraints/IConstraints.js +4 -0
  220. package/dist/Events/Constraints/IConstraints.js.map +1 -0
  221. package/dist/Events/Constraints/IUniqueConstraintBuilder.d.ts +44 -0
  222. package/dist/Events/Constraints/IUniqueConstraintBuilder.d.ts.map +1 -0
  223. package/dist/Events/Constraints/IUniqueConstraintBuilder.js +4 -0
  224. package/dist/Events/Constraints/IUniqueConstraintBuilder.js.map +1 -0
  225. package/dist/Events/Constraints/UniqueConstraintBuilder.d.ts +42 -0
  226. package/dist/Events/Constraints/UniqueConstraintBuilder.d.ts.map +1 -0
  227. package/dist/Events/Constraints/UniqueConstraintBuilder.js +72 -0
  228. package/dist/Events/Constraints/UniqueConstraintBuilder.js.map +1 -0
  229. package/dist/Events/Constraints/constraint.d.ts +29 -0
  230. package/dist/Events/Constraints/constraint.d.ts.map +1 -0
  231. package/dist/Events/Constraints/constraint.js +39 -0
  232. package/dist/Events/Constraints/constraint.js.map +1 -0
  233. package/dist/Events/Constraints/index.d.ts +13 -0
  234. package/dist/Events/Constraints/index.d.ts.map +1 -0
  235. package/dist/Events/Constraints/index.js +8 -0
  236. package/dist/Events/Constraints/index.js.map +1 -0
  237. package/dist/Events/EventContext.d.ts +20 -0
  238. package/dist/Events/EventContext.d.ts.map +1 -0
  239. package/dist/Events/EventContext.js +4 -0
  240. package/dist/Events/EventContext.js.map +1 -0
  241. package/dist/Events/EventType.d.ts +23 -0
  242. package/dist/Events/EventType.d.ts.map +1 -0
  243. package/dist/Events/EventType.js +40 -0
  244. package/dist/Events/EventType.js.map +1 -0
  245. package/dist/Events/EventTypeGeneration.d.ts +14 -0
  246. package/dist/Events/EventTypeGeneration.d.ts.map +1 -0
  247. package/dist/Events/EventTypeGeneration.js +20 -0
  248. package/dist/Events/EventTypeGeneration.js.map +1 -0
  249. package/dist/Events/EventTypeId.d.ts +14 -0
  250. package/dist/Events/EventTypeId.d.ts.map +1 -0
  251. package/dist/Events/EventTypeId.js +20 -0
  252. package/dist/Events/EventTypeId.js.map +1 -0
  253. package/dist/Events/EventTypes.d.ts +33 -0
  254. package/dist/Events/EventTypes.d.ts.map +1 -0
  255. package/dist/Events/EventTypes.js +83 -0
  256. package/dist/Events/EventTypes.js.map +1 -0
  257. package/dist/Events/IEventTypes.d.ts +32 -0
  258. package/dist/Events/IEventTypes.d.ts.map +1 -0
  259. package/dist/Events/IEventTypes.js +4 -0
  260. package/dist/Events/IEventTypes.js.map +1 -0
  261. package/dist/Events/eventTypeDecorator.d.ts +71 -0
  262. package/dist/Events/eventTypeDecorator.d.ts.map +1 -0
  263. package/dist/Events/eventTypeDecorator.js +86 -0
  264. package/dist/Events/eventTypeDecorator.js.map +1 -0
  265. package/dist/Events/index.d.ts +12 -0
  266. package/dist/Events/index.d.ts.map +1 -0
  267. package/dist/Events/index.js +9 -0
  268. package/dist/Events/index.js.map +1 -0
  269. package/dist/Grpc.d.ts +19 -0
  270. package/dist/Grpc.d.ts.map +1 -0
  271. package/dist/Grpc.js +33 -0
  272. package/dist/Grpc.js.map +1 -0
  273. package/dist/IChronicleClient.d.ts +33 -0
  274. package/dist/IChronicleClient.d.ts.map +1 -0
  275. package/dist/IChronicleClient.js +4 -0
  276. package/dist/IChronicleClient.js.map +1 -0
  277. package/dist/IEventStore.d.ts +44 -0
  278. package/dist/IEventStore.d.ts.map +1 -0
  279. package/dist/IEventStore.js +4 -0
  280. package/dist/IEventStore.js.map +1 -0
  281. package/dist/Metrics.d.ts +70 -0
  282. package/dist/Metrics.d.ts.map +1 -0
  283. package/dist/Metrics.js +100 -0
  284. package/dist/Metrics.js.map +1 -0
  285. package/dist/Observation/ObserverId.d.ts +10 -0
  286. package/dist/Observation/ObserverId.d.ts.map +1 -0
  287. package/dist/Observation/ObserverId.js +16 -0
  288. package/dist/Observation/ObserverId.js.map +1 -0
  289. package/dist/Observation/ObserverRunningState.d.ts +24 -0
  290. package/dist/Observation/ObserverRunningState.d.ts.map +1 -0
  291. package/dist/Observation/ObserverRunningState.js +27 -0
  292. package/dist/Observation/ObserverRunningState.js.map +1 -0
  293. package/dist/Observation/index.d.ts +3 -0
  294. package/dist/Observation/index.d.ts.map +1 -0
  295. package/dist/Observation/index.js +5 -0
  296. package/dist/Observation/index.js.map +1 -0
  297. package/dist/Projections/IProjections.d.ts +16 -0
  298. package/dist/Projections/IProjections.d.ts.map +1 -0
  299. package/dist/Projections/IProjections.js +4 -0
  300. package/dist/Projections/IProjections.js.map +1 -0
  301. package/dist/Projections/ProjectionId.d.ts +10 -0
  302. package/dist/Projections/ProjectionId.d.ts.map +1 -0
  303. package/dist/Projections/ProjectionId.js +16 -0
  304. package/dist/Projections/ProjectionId.js.map +1 -0
  305. package/dist/Projections/Projections.d.ts +36 -0
  306. package/dist/Projections/Projections.d.ts.map +1 -0
  307. package/dist/Projections/Projections.js +390 -0
  308. package/dist/Projections/Projections.js.map +1 -0
  309. package/dist/Projections/declarative/AllSetBuilder.d.ts +20 -0
  310. package/dist/Projections/declarative/AllSetBuilder.d.ts.map +1 -0
  311. package/dist/Projections/declarative/AllSetBuilder.js +37 -0
  312. package/dist/Projections/declarative/AllSetBuilder.js.map +1 -0
  313. package/dist/Projections/declarative/FromBuilder.d.ts +56 -0
  314. package/dist/Projections/declarative/FromBuilder.d.ts.map +1 -0
  315. package/dist/Projections/declarative/FromBuilder.js +105 -0
  316. package/dist/Projections/declarative/FromBuilder.js.map +1 -0
  317. package/dist/Projections/declarative/FromEveryBuilder.d.ts +22 -0
  318. package/dist/Projections/declarative/FromEveryBuilder.d.ts.map +1 -0
  319. package/dist/Projections/declarative/FromEveryBuilder.js +28 -0
  320. package/dist/Projections/declarative/FromEveryBuilder.js.map +1 -0
  321. package/dist/Projections/declarative/IAddBuilder.d.ts +15 -0
  322. package/dist/Projections/declarative/IAddBuilder.d.ts.map +1 -0
  323. package/dist/Projections/declarative/IAddBuilder.js +4 -0
  324. package/dist/Projections/declarative/IAddBuilder.js.map +1 -0
  325. package/dist/Projections/declarative/IAddChildBuilder.d.ts +21 -0
  326. package/dist/Projections/declarative/IAddChildBuilder.d.ts.map +1 -0
  327. package/dist/Projections/declarative/IAddChildBuilder.js +4 -0
  328. package/dist/Projections/declarative/IAddChildBuilder.js.map +1 -0
  329. package/dist/Projections/declarative/IAllSetBuilder.d.ts +26 -0
  330. package/dist/Projections/declarative/IAllSetBuilder.d.ts.map +1 -0
  331. package/dist/Projections/declarative/IAllSetBuilder.js +4 -0
  332. package/dist/Projections/declarative/IAllSetBuilder.js.map +1 -0
  333. package/dist/Projections/declarative/IChildrenBuilder.d.ts +22 -0
  334. package/dist/Projections/declarative/IChildrenBuilder.d.ts.map +1 -0
  335. package/dist/Projections/declarative/IChildrenBuilder.js +4 -0
  336. package/dist/Projections/declarative/IChildrenBuilder.js.map +1 -0
  337. package/dist/Projections/declarative/ICompositeKeyBuilder.d.ts +16 -0
  338. package/dist/Projections/declarative/ICompositeKeyBuilder.d.ts.map +1 -0
  339. package/dist/Projections/declarative/ICompositeKeyBuilder.js +4 -0
  340. package/dist/Projections/declarative/ICompositeKeyBuilder.js.map +1 -0
  341. package/dist/Projections/declarative/IFromBuilder.d.ts +9 -0
  342. package/dist/Projections/declarative/IFromBuilder.d.ts.map +1 -0
  343. package/dist/Projections/declarative/IFromBuilder.js +4 -0
  344. package/dist/Projections/declarative/IFromBuilder.js.map +1 -0
  345. package/dist/Projections/declarative/IFromEveryBuilder.d.ts +20 -0
  346. package/dist/Projections/declarative/IFromEveryBuilder.d.ts.map +1 -0
  347. package/dist/Projections/declarative/IFromEveryBuilder.js +4 -0
  348. package/dist/Projections/declarative/IFromEveryBuilder.js.map +1 -0
  349. package/dist/Projections/declarative/IJoinBuilder.d.ts +16 -0
  350. package/dist/Projections/declarative/IJoinBuilder.d.ts.map +1 -0
  351. package/dist/Projections/declarative/IJoinBuilder.js +4 -0
  352. package/dist/Projections/declarative/IJoinBuilder.js.map +1 -0
  353. package/dist/Projections/declarative/INestedBuilder.d.ts +15 -0
  354. package/dist/Projections/declarative/INestedBuilder.d.ts.map +1 -0
  355. package/dist/Projections/declarative/INestedBuilder.js +4 -0
  356. package/dist/Projections/declarative/INestedBuilder.js.map +1 -0
  357. package/dist/Projections/declarative/IProjectionBuilder.d.ts +80 -0
  358. package/dist/Projections/declarative/IProjectionBuilder.d.ts.map +1 -0
  359. package/dist/Projections/declarative/IProjectionBuilder.js +4 -0
  360. package/dist/Projections/declarative/IProjectionBuilder.js.map +1 -0
  361. package/dist/Projections/declarative/IProjectionBuilderFor.d.ts +31 -0
  362. package/dist/Projections/declarative/IProjectionBuilderFor.d.ts.map +1 -0
  363. package/dist/Projections/declarative/IProjectionBuilderFor.js +4 -0
  364. package/dist/Projections/declarative/IProjectionBuilderFor.js.map +1 -0
  365. package/dist/Projections/declarative/IProjectionFor.d.ts +15 -0
  366. package/dist/Projections/declarative/IProjectionFor.d.ts.map +1 -0
  367. package/dist/Projections/declarative/IProjectionFor.js +4 -0
  368. package/dist/Projections/declarative/IProjectionFor.js.map +1 -0
  369. package/dist/Projections/declarative/IReadModelPropertiesBuilder.d.ts +111 -0
  370. package/dist/Projections/declarative/IReadModelPropertiesBuilder.d.ts.map +1 -0
  371. package/dist/Projections/declarative/IReadModelPropertiesBuilder.js +4 -0
  372. package/dist/Projections/declarative/IReadModelPropertiesBuilder.js.map +1 -0
  373. package/dist/Projections/declarative/IRemovedWithBuilder.d.ts +21 -0
  374. package/dist/Projections/declarative/IRemovedWithBuilder.d.ts.map +1 -0
  375. package/dist/Projections/declarative/IRemovedWithBuilder.js +4 -0
  376. package/dist/Projections/declarative/IRemovedWithBuilder.js.map +1 -0
  377. package/dist/Projections/declarative/IRemovedWithJoinBuilder.d.ts +21 -0
  378. package/dist/Projections/declarative/IRemovedWithJoinBuilder.d.ts.map +1 -0
  379. package/dist/Projections/declarative/IRemovedWithJoinBuilder.js +4 -0
  380. package/dist/Projections/declarative/IRemovedWithJoinBuilder.js.map +1 -0
  381. package/dist/Projections/declarative/ISetBuilder.d.ts +32 -0
  382. package/dist/Projections/declarative/ISetBuilder.d.ts.map +1 -0
  383. package/dist/Projections/declarative/ISetBuilder.js +4 -0
  384. package/dist/Projections/declarative/ISetBuilder.js.map +1 -0
  385. package/dist/Projections/declarative/ISubtractBuilder.d.ts +15 -0
  386. package/dist/Projections/declarative/ISubtractBuilder.d.ts.map +1 -0
  387. package/dist/Projections/declarative/ISubtractBuilder.js +4 -0
  388. package/dist/Projections/declarative/ISubtractBuilder.js.map +1 -0
  389. package/dist/Projections/declarative/JoinBuilder.d.ts +58 -0
  390. package/dist/Projections/declarative/JoinBuilder.d.ts.map +1 -0
  391. package/dist/Projections/declarative/JoinBuilder.js +107 -0
  392. package/dist/Projections/declarative/JoinBuilder.js.map +1 -0
  393. package/dist/Projections/declarative/ProjectionBuilderFor.d.ts +68 -0
  394. package/dist/Projections/declarative/ProjectionBuilderFor.d.ts.map +1 -0
  395. package/dist/Projections/declarative/ProjectionBuilderFor.js +207 -0
  396. package/dist/Projections/declarative/ProjectionBuilderFor.js.map +1 -0
  397. package/dist/Projections/declarative/RemovedWithBuilder.d.ts +22 -0
  398. package/dist/Projections/declarative/RemovedWithBuilder.d.ts.map +1 -0
  399. package/dist/Projections/declarative/RemovedWithBuilder.js +28 -0
  400. package/dist/Projections/declarative/RemovedWithBuilder.js.map +1 -0
  401. package/dist/Projections/declarative/RemovedWithJoinBuilder.d.ts +22 -0
  402. package/dist/Projections/declarative/RemovedWithJoinBuilder.d.ts.map +1 -0
  403. package/dist/Projections/declarative/RemovedWithJoinBuilder.js +31 -0
  404. package/dist/Projections/declarative/RemovedWithJoinBuilder.js.map +1 -0
  405. package/dist/Projections/declarative/SetBuilder.d.ts +23 -0
  406. package/dist/Projections/declarative/SetBuilder.d.ts.map +1 -0
  407. package/dist/Projections/declarative/SetBuilder.js +43 -0
  408. package/dist/Projections/declarative/SetBuilder.js.map +1 -0
  409. package/dist/Projections/declarative/index.d.ts +24 -0
  410. package/dist/Projections/declarative/index.d.ts.map +1 -0
  411. package/dist/Projections/declarative/index.js +8 -0
  412. package/dist/Projections/declarative/index.js.map +1 -0
  413. package/dist/Projections/declarative/projection.d.ts +31 -0
  414. package/dist/Projections/declarative/projection.d.ts.map +1 -0
  415. package/dist/Projections/declarative/projection.js +39 -0
  416. package/dist/Projections/declarative/projection.js.map +1 -0
  417. package/dist/Projections/index.d.ts +6 -0
  418. package/dist/Projections/index.d.ts.map +1 -0
  419. package/dist/Projections/index.js +7 -0
  420. package/dist/Projections/index.js.map +1 -0
  421. package/dist/Projections/modelBound/FromEventMetadata.d.ts +7 -0
  422. package/dist/Projections/modelBound/FromEventMetadata.d.ts.map +1 -0
  423. package/dist/Projections/modelBound/FromEventMetadata.js +4 -0
  424. package/dist/Projections/modelBound/FromEventMetadata.js.map +1 -0
  425. package/dist/Projections/modelBound/FromEventOptions.d.ts +10 -0
  426. package/dist/Projections/modelBound/FromEventOptions.d.ts.map +1 -0
  427. package/dist/Projections/modelBound/FromEventOptions.js +4 -0
  428. package/dist/Projections/modelBound/FromEventOptions.js.map +1 -0
  429. package/dist/Projections/modelBound/addFrom.d.ts +23 -0
  430. package/dist/Projections/modelBound/addFrom.d.ts.map +1 -0
  431. package/dist/Projections/modelBound/addFrom.js +30 -0
  432. package/dist/Projections/modelBound/addFrom.js.map +1 -0
  433. package/dist/Projections/modelBound/childrenFrom.d.ts +29 -0
  434. package/dist/Projections/modelBound/childrenFrom.d.ts.map +1 -0
  435. package/dist/Projections/modelBound/childrenFrom.js +32 -0
  436. package/dist/Projections/modelBound/childrenFrom.js.map +1 -0
  437. package/dist/Projections/modelBound/clearWith.d.ts +28 -0
  438. package/dist/Projections/modelBound/clearWith.d.ts.map +1 -0
  439. package/dist/Projections/modelBound/clearWith.js +45 -0
  440. package/dist/Projections/modelBound/clearWith.js.map +1 -0
  441. package/dist/Projections/modelBound/count.d.ts +23 -0
  442. package/dist/Projections/modelBound/count.d.ts.map +1 -0
  443. package/dist/Projections/modelBound/count.js +30 -0
  444. package/dist/Projections/modelBound/count.js.map +1 -0
  445. package/dist/Projections/modelBound/decrement.d.ts +23 -0
  446. package/dist/Projections/modelBound/decrement.d.ts.map +1 -0
  447. package/dist/Projections/modelBound/decrement.js +30 -0
  448. package/dist/Projections/modelBound/decrement.js.map +1 -0
  449. package/dist/Projections/modelBound/fromEvent.d.ts +23 -0
  450. package/dist/Projections/modelBound/fromEvent.d.ts.map +1 -0
  451. package/dist/Projections/modelBound/fromEvent.js +34 -0
  452. package/dist/Projections/modelBound/fromEvent.js.map +1 -0
  453. package/dist/Projections/modelBound/fromEvery.d.ts +23 -0
  454. package/dist/Projections/modelBound/fromEvery.d.ts.map +1 -0
  455. package/dist/Projections/modelBound/fromEvery.js +28 -0
  456. package/dist/Projections/modelBound/fromEvery.js.map +1 -0
  457. package/dist/Projections/modelBound/increment.d.ts +23 -0
  458. package/dist/Projections/modelBound/increment.d.ts.map +1 -0
  459. package/dist/Projections/modelBound/increment.js +30 -0
  460. package/dist/Projections/modelBound/increment.js.map +1 -0
  461. package/dist/Projections/modelBound/index.d.ts +36 -0
  462. package/dist/Projections/modelBound/index.d.ts.map +1 -0
  463. package/dist/Projections/modelBound/index.js +21 -0
  464. package/dist/Projections/modelBound/index.js.map +1 -0
  465. package/dist/Projections/modelBound/join.d.ts +26 -0
  466. package/dist/Projections/modelBound/join.d.ts.map +1 -0
  467. package/dist/Projections/modelBound/join.js +31 -0
  468. package/dist/Projections/modelBound/join.js.map +1 -0
  469. package/dist/Projections/modelBound/modelBound.d.ts +31 -0
  470. package/dist/Projections/modelBound/modelBound.d.ts.map +1 -0
  471. package/dist/Projections/modelBound/modelBound.js +39 -0
  472. package/dist/Projections/modelBound/modelBound.js.map +1 -0
  473. package/dist/Projections/modelBound/nested.d.ts +16 -0
  474. package/dist/Projections/modelBound/nested.d.ts.map +1 -0
  475. package/dist/Projections/modelBound/nested.js +26 -0
  476. package/dist/Projections/modelBound/nested.js.map +1 -0
  477. package/dist/Projections/modelBound/notRewindable.d.ts +14 -0
  478. package/dist/Projections/modelBound/notRewindable.d.ts.map +1 -0
  479. package/dist/Projections/modelBound/notRewindable.js +21 -0
  480. package/dist/Projections/modelBound/notRewindable.js.map +1 -0
  481. package/dist/Projections/modelBound/removedWith.d.ts +34 -0
  482. package/dist/Projections/modelBound/removedWith.d.ts.map +1 -0
  483. package/dist/Projections/modelBound/removedWith.js +47 -0
  484. package/dist/Projections/modelBound/removedWith.js.map +1 -0
  485. package/dist/Projections/modelBound/removedWithJoin.d.ts +29 -0
  486. package/dist/Projections/modelBound/removedWithJoin.d.ts.map +1 -0
  487. package/dist/Projections/modelBound/removedWithJoin.js +44 -0
  488. package/dist/Projections/modelBound/removedWithJoin.js.map +1 -0
  489. package/dist/Projections/modelBound/setFrom.d.ts +23 -0
  490. package/dist/Projections/modelBound/setFrom.d.ts.map +1 -0
  491. package/dist/Projections/modelBound/setFrom.js +30 -0
  492. package/dist/Projections/modelBound/setFrom.js.map +1 -0
  493. package/dist/Projections/modelBound/setFromContext.d.ts +23 -0
  494. package/dist/Projections/modelBound/setFromContext.d.ts.map +1 -0
  495. package/dist/Projections/modelBound/setFromContext.js +30 -0
  496. package/dist/Projections/modelBound/setFromContext.js.map +1 -0
  497. package/dist/Projections/modelBound/setValue.d.ts +23 -0
  498. package/dist/Projections/modelBound/setValue.d.ts.map +1 -0
  499. package/dist/Projections/modelBound/setValue.js +30 -0
  500. package/dist/Projections/modelBound/setValue.js.map +1 -0
  501. package/dist/Projections/modelBound/subtractFrom.d.ts +23 -0
  502. package/dist/Projections/modelBound/subtractFrom.d.ts.map +1 -0
  503. package/dist/Projections/modelBound/subtractFrom.js +30 -0
  504. package/dist/Projections/modelBound/subtractFrom.js.map +1 -0
  505. package/dist/Reactors/IReactors.d.ts +16 -0
  506. package/dist/Reactors/IReactors.d.ts.map +1 -0
  507. package/dist/Reactors/IReactors.js +4 -0
  508. package/dist/Reactors/IReactors.js.map +1 -0
  509. package/dist/Reactors/ReactorId.d.ts +10 -0
  510. package/dist/Reactors/ReactorId.d.ts.map +1 -0
  511. package/dist/Reactors/ReactorId.js +16 -0
  512. package/dist/Reactors/ReactorId.js.map +1 -0
  513. package/dist/Reactors/Reactors.d.ts +38 -0
  514. package/dist/Reactors/Reactors.d.ts.map +1 -0
  515. package/dist/Reactors/Reactors.js +279 -0
  516. package/dist/Reactors/Reactors.js.map +1 -0
  517. package/dist/Reactors/index.d.ts +6 -0
  518. package/dist/Reactors/index.d.ts.map +1 -0
  519. package/dist/Reactors/index.js +6 -0
  520. package/dist/Reactors/index.js.map +1 -0
  521. package/dist/Reactors/reactor.d.ts +47 -0
  522. package/dist/Reactors/reactor.d.ts.map +1 -0
  523. package/dist/Reactors/reactor.js +55 -0
  524. package/dist/Reactors/reactor.js.map +1 -0
  525. package/dist/ReadModels/ReadModelId.d.ts +10 -0
  526. package/dist/ReadModels/ReadModelId.d.ts.map +1 -0
  527. package/dist/ReadModels/ReadModelId.js +16 -0
  528. package/dist/ReadModels/ReadModelId.js.map +1 -0
  529. package/dist/ReadModels/index.d.ts +4 -0
  530. package/dist/ReadModels/index.d.ts.map +1 -0
  531. package/dist/ReadModels/index.js +5 -0
  532. package/dist/ReadModels/index.js.map +1 -0
  533. package/dist/ReadModels/readModel.d.ts +33 -0
  534. package/dist/ReadModels/readModel.d.ts.map +1 -0
  535. package/dist/ReadModels/readModel.js +64 -0
  536. package/dist/ReadModels/readModel.js.map +1 -0
  537. package/dist/Reducers/IReducers.d.ts +16 -0
  538. package/dist/Reducers/IReducers.d.ts.map +1 -0
  539. package/dist/Reducers/IReducers.js +4 -0
  540. package/dist/Reducers/IReducers.js.map +1 -0
  541. package/dist/Reducers/ReducerId.d.ts +10 -0
  542. package/dist/Reducers/ReducerId.d.ts.map +1 -0
  543. package/dist/Reducers/ReducerId.js +16 -0
  544. package/dist/Reducers/ReducerId.js.map +1 -0
  545. package/dist/Reducers/Reducers.d.ts +38 -0
  546. package/dist/Reducers/Reducers.d.ts.map +1 -0
  547. package/dist/Reducers/Reducers.js +279 -0
  548. package/dist/Reducers/Reducers.js.map +1 -0
  549. package/dist/Reducers/index.d.ts +6 -0
  550. package/dist/Reducers/index.d.ts.map +1 -0
  551. package/dist/Reducers/index.js +6 -0
  552. package/dist/Reducers/index.js.map +1 -0
  553. package/dist/Reducers/reducer.d.ts +51 -0
  554. package/dist/Reducers/reducer.d.ts.map +1 -0
  555. package/dist/Reducers/reducer.js +59 -0
  556. package/dist/Reducers/reducer.js.map +1 -0
  557. package/dist/Schemas/JsonSchema.d.ts +16 -0
  558. package/dist/Schemas/JsonSchema.d.ts.map +1 -0
  559. package/dist/Schemas/JsonSchema.js +4 -0
  560. package/dist/Schemas/JsonSchema.js.map +1 -0
  561. package/dist/Schemas/JsonSchemaGenerator.d.ts +26 -0
  562. package/dist/Schemas/JsonSchemaGenerator.d.ts.map +1 -0
  563. package/dist/Schemas/JsonSchemaGenerator.js +90 -0
  564. package/dist/Schemas/JsonSchemaGenerator.js.map +1 -0
  565. package/dist/Schemas/index.d.ts +4 -0
  566. package/dist/Schemas/index.d.ts.map +1 -0
  567. package/dist/Schemas/index.js +5 -0
  568. package/dist/Schemas/index.js.map +1 -0
  569. package/dist/Schemas/jsonSchemaProperty.d.ts +13 -0
  570. package/dist/Schemas/jsonSchemaProperty.d.ts.map +1 -0
  571. package/dist/Schemas/jsonSchemaProperty.js +22 -0
  572. package/dist/Schemas/jsonSchemaProperty.js.map +1 -0
  573. package/dist/Tracing.d.ts +16 -0
  574. package/dist/Tracing.d.ts.map +1 -0
  575. package/dist/Tracing.js +19 -0
  576. package/dist/Tracing.js.map +1 -0
  577. package/dist/artifacts/DefaultClientArtifactsProvider.d.ts +31 -0
  578. package/dist/artifacts/DefaultClientArtifactsProvider.d.ts.map +1 -0
  579. package/dist/artifacts/DefaultClientArtifactsProvider.js +48 -0
  580. package/dist/artifacts/DefaultClientArtifactsProvider.js.map +1 -0
  581. package/dist/artifacts/IClientArtifactsProvider.d.ts +21 -0
  582. package/dist/artifacts/IClientArtifactsProvider.d.ts.map +1 -0
  583. package/dist/artifacts/IClientArtifactsProvider.js +4 -0
  584. package/dist/artifacts/IClientArtifactsProvider.js.map +1 -0
  585. package/dist/artifacts/index.d.ts +3 -0
  586. package/dist/artifacts/index.d.ts.map +1 -0
  587. package/dist/artifacts/index.js +4 -0
  588. package/dist/artifacts/index.js.map +1 -0
  589. package/dist/connection/ChronicleConnection.d.ts +117 -0
  590. package/dist/connection/ChronicleConnection.d.ts.map +1 -0
  591. package/dist/connection/ChronicleConnection.js +194 -0
  592. package/dist/connection/ChronicleConnection.js.map +1 -0
  593. package/dist/connection/ChronicleConnectionString.d.ts +2 -0
  594. package/dist/connection/ChronicleConnectionString.d.ts.map +1 -0
  595. package/dist/connection/ChronicleConnectionString.js +4 -0
  596. package/dist/connection/ChronicleConnectionString.js.map +1 -0
  597. package/dist/connection/ChronicleServices.d.ts +2 -0
  598. package/dist/connection/ChronicleServices.d.ts.map +1 -0
  599. package/dist/connection/ChronicleServices.js +4 -0
  600. package/dist/connection/ChronicleServices.js.map +1 -0
  601. package/dist/connection/ConnectionLifecycle.d.ts +41 -0
  602. package/dist/connection/ConnectionLifecycle.d.ts.map +1 -0
  603. package/dist/connection/ConnectionLifecycle.js +66 -0
  604. package/dist/connection/ConnectionLifecycle.js.map +1 -0
  605. package/dist/connection/DateTimeOffset.d.ts +2 -0
  606. package/dist/connection/DateTimeOffset.d.ts.map +1 -0
  607. package/dist/connection/DateTimeOffset.js +4 -0
  608. package/dist/connection/DateTimeOffset.js.map +1 -0
  609. package/dist/connection/Guid.d.ts +2 -0
  610. package/dist/connection/Guid.d.ts.map +1 -0
  611. package/dist/connection/Guid.js +4 -0
  612. package/dist/connection/Guid.js.map +1 -0
  613. package/dist/connection/TokenProvider.d.ts +5 -0
  614. package/dist/connection/TokenProvider.d.ts.map +1 -0
  615. package/dist/connection/TokenProvider.js +4 -0
  616. package/dist/connection/TokenProvider.js.map +1 -0
  617. package/dist/connection/index.d.ts +7 -0
  618. package/dist/connection/index.d.ts.map +1 -0
  619. package/dist/connection/index.js +7 -0
  620. package/dist/connection/index.js.map +1 -0
  621. package/dist/index.d.ts +21 -0
  622. package/dist/index.d.ts.map +1 -0
  623. package/dist/index.js +21 -0
  624. package/dist/index.js.map +1 -0
  625. package/dist/tsconfig.tsbuildinfo +1 -0
  626. package/dist/types/DecoratorType.d.ts +20 -0
  627. package/dist/types/DecoratorType.d.ts.map +1 -0
  628. package/dist/types/DecoratorType.js +23 -0
  629. package/dist/types/DecoratorType.js.map +1 -0
  630. package/dist/types/TypeDiscoverer.d.ts +54 -0
  631. package/dist/types/TypeDiscoverer.d.ts.map +1 -0
  632. package/dist/types/TypeDiscoverer.js +91 -0
  633. package/dist/types/TypeDiscoverer.js.map +1 -0
  634. package/dist/types/TypeIntrospector.d.ts +30 -0
  635. package/dist/types/TypeIntrospector.d.ts.map +1 -0
  636. package/dist/types/TypeIntrospector.js +154 -0
  637. package/dist/types/TypeIntrospector.js.map +1 -0
  638. package/dist/types/index.d.ts +4 -0
  639. package/dist/types/index.d.ts.map +1 -0
  640. package/dist/types/index.js +6 -0
  641. package/dist/types/index.js.map +1 -0
  642. package/index.ts +24 -0
  643. package/package.json +38 -0
  644. package/types/DecoratorType.ts +28 -0
  645. package/types/TypeDiscoverer.ts +109 -0
  646. package/types/TypeIntrospector.ts +176 -0
  647. package/types/index.ts +6 -0
@@ -0,0 +1,59 @@
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 'reflect-metadata';
4
+ import { ReducerId } from './ReducerId';
5
+ import { DecoratorType, TypeDiscoverer } from '../types';
6
+ /** Metadata key used to store reducer information on a class. */
7
+ const REDUCER_METADATA_KEY = 'chronicle:reducer';
8
+ /**
9
+ * TypeScript decorator that marks a class as a reducer and associates it with a unique
10
+ * identifier. This is the TypeScript equivalent of the C# `[Reducer]` attribute.
11
+ *
12
+ * Reducers observe events from an event sequence and fold them into a read model.
13
+ * Each handler method receives the event, the current state (or undefined), and an
14
+ * optional context, and returns the new state.
15
+ *
16
+ * @param id - The unique identifier for the reducer. Defaults to the class name if omitted.
17
+ * @param eventSequenceId - Optional explicit event sequence identifier.
18
+ * @param readModel - Optional read model type produced by the reducer.
19
+ * @returns A class decorator.
20
+ *
21
+ * @example
22
+ * ```typescript
23
+ * @reducer()
24
+ * class EmployeeReducer {
25
+ * async employeeHired(event: EmployeeHired, state?: EmployeeState): Promise<EmployeeState> {
26
+ * return { ...state, name: `${event.firstName} ${event.lastName}` };
27
+ * }
28
+ * }
29
+ * ```
30
+ */
31
+ export function reducer(id = '', eventSequenceId, readModel) {
32
+ return (target) => {
33
+ const constructor = target;
34
+ const reducerId = new ReducerId(id || constructor.name);
35
+ const metadata = { id: reducerId, eventSequenceId, readModel };
36
+ Reflect.defineMetadata(REDUCER_METADATA_KEY, metadata, target);
37
+ TypeDiscoverer.default.register(DecoratorType.Reducer, constructor, reducerId.value);
38
+ if (readModel) {
39
+ TypeDiscoverer.default.register(DecoratorType.ReadModel, readModel, readModel.name);
40
+ }
41
+ };
42
+ }
43
+ /**
44
+ * Gets the {@link ReducerMetadata} associated with a class decorated with {@link reducer}.
45
+ * @param target - The class constructor to retrieve the metadata for.
46
+ * @returns The associated ReducerMetadata, or undefined if not decorated.
47
+ */
48
+ export function getReducerMetadata(target) {
49
+ return Reflect.getMetadata(REDUCER_METADATA_KEY, target);
50
+ }
51
+ /**
52
+ * Checks whether a class has been decorated with {@link reducer}.
53
+ * @param target - The class constructor to check.
54
+ * @returns True if the class has a reducer decorator; false otherwise.
55
+ */
56
+ export function isReducer(target) {
57
+ return Reflect.hasMetadata(REDUCER_METADATA_KEY, target);
58
+ }
59
+ //# sourceMappingURL=reducer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reducer.js","sourceRoot":"","sources":["../../Reducers/reducer.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAEzD,iEAAiE;AACjE,MAAM,oBAAoB,GAAG,mBAAmB,CAAC;AAgBjD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,OAAO,CAAC,KAAa,EAAE,EAAE,eAAwB,EAAE,SAAuB;IACtF,OAAO,CAAC,MAAc,EAAE,EAAE;QACtB,MAAM,WAAW,GAAG,MAAkB,CAAC;QACvC,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,EAAE,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;QACxD,MAAM,QAAQ,GAAoB,EAAE,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC;QAChF,OAAO,CAAC,cAAc,CAAC,oBAAoB,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC/D,cAAc,CAAC,OAAO,CAAC,QAAQ,CAC3B,aAAa,CAAC,OAAO,EACrB,WAA0B,EAC1B,SAAS,CAAC,KAAK,CAClB,CAAC;QAEF,IAAI,SAAS,EAAE,CAAC;YACZ,cAAc,CAAC,OAAO,CAAC,QAAQ,CAC3B,aAAa,CAAC,SAAS,EACvB,SAAS,EACT,SAAS,CAAC,IAAI,CACjB,CAAC;QACN,CAAC;IACL,CAAC,CAAC;AACN,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAgB;IAC/C,OAAO,OAAO,CAAC,WAAW,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;AAC7D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,MAAgB;IACtC,OAAO,OAAO,CAAC,WAAW,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;AAC7D,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Represents a JSON Schema object.
3
+ */
4
+ export type JsonSchema = {
5
+ $schema?: string;
6
+ title?: string;
7
+ description?: string;
8
+ type?: 'null' | 'boolean' | 'object' | 'array' | 'number' | 'string' | 'integer';
9
+ format?: string;
10
+ properties?: Record<string, JsonSchema>;
11
+ required?: string[];
12
+ items?: JsonSchema;
13
+ additionalProperties?: boolean | JsonSchema;
14
+ enum?: Array<string | number | boolean | null>;
15
+ };
16
+ //# sourceMappingURL=JsonSchema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JsonSchema.d.ts","sourceRoot":"","sources":["../../Schemas/JsonSchema.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IACjF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACxC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,oBAAoB,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;IAC5C,IAAI,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC;CAClD,CAAC"}
@@ -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=JsonSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JsonSchema.js","sourceRoot":"","sources":["../../Schemas/JsonSchema.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG"}
@@ -0,0 +1,26 @@
1
+ import 'reflect-metadata';
2
+ import { JsonSchema } from './JsonSchema';
3
+ /**
4
+ * Generates JSON schemas for class constructors using reflection metadata.
5
+ */
6
+ export declare class JsonSchemaGenerator {
7
+ private static readonly _knownTypeFormats;
8
+ private static readonly _formatAliases;
9
+ /**
10
+ * Creates an empty schema for a type name.
11
+ * @param title - The title to use for the schema.
12
+ * @returns An empty object schema.
13
+ */
14
+ static createEmptySchema(title: string): JsonSchema;
15
+ /**
16
+ * Generates a JSON schema for a class constructor.
17
+ * @param target - The class constructor to generate schema for.
18
+ * @param members - Optional pre-introspected members for reuse.
19
+ * @returns The generated JSON schema.
20
+ */
21
+ static generate(target: Function, members?: ReadonlyMap<string, Function | undefined>): JsonSchema;
22
+ private static mapRuntimeTypeToSchema;
23
+ private static getKnownTypeFormat;
24
+ private static normalizeFormat;
25
+ }
26
+ //# sourceMappingURL=JsonSchemaGenerator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JsonSchemaGenerator.d.ts","sourceRoot":"","sources":["../../Schemas/JsonSchemaGenerator.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C;;GAEG;AACH,qBAAa,mBAAmB;IAC5B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAGtC;IAEH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAEnC;IAEH;;;;OAIG;IACH,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU;IAWnD;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,QAAQ,GAAG,SAAS,CAAC,GAAG,UAAU;IAclG,OAAO,CAAC,MAAM,CAAC,sBAAsB;IA6BrC,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAgBjC,OAAO,CAAC,MAAM,CAAC,eAAe;CAIjC"}
@@ -0,0 +1,90 @@
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 'reflect-metadata';
4
+ import { Guid } from '@cratis/fundamentals';
5
+ import { TypeIntrospector } from '../types';
6
+ /**
7
+ * Generates JSON schemas for class constructors using reflection metadata.
8
+ */
9
+ export class JsonSchemaGenerator {
10
+ static _knownTypeFormats = new Map([
11
+ [Guid, { type: 'string', format: 'guid' }],
12
+ [Date, { type: 'string', format: 'date-time' }]
13
+ ]);
14
+ static _formatAliases = new Map([
15
+ ['uuid', 'guid']
16
+ ]);
17
+ /**
18
+ * Creates an empty schema for a type name.
19
+ * @param title - The title to use for the schema.
20
+ * @returns An empty object schema.
21
+ */
22
+ static createEmptySchema(title) {
23
+ return {
24
+ $schema: 'https://json-schema.org/draft/2020-12/schema',
25
+ title,
26
+ type: 'object',
27
+ properties: {},
28
+ required: [],
29
+ additionalProperties: false
30
+ };
31
+ }
32
+ /**
33
+ * Generates a JSON schema for a class constructor.
34
+ * @param target - The class constructor to generate schema for.
35
+ * @param members - Optional pre-introspected members for reuse.
36
+ * @returns The generated JSON schema.
37
+ */
38
+ static generate(target, members) {
39
+ const membersToUse = members ?? TypeIntrospector.getMembers(target);
40
+ const schemaProperties = {};
41
+ for (const [memberName, memberType] of membersToUse.entries()) {
42
+ schemaProperties[memberName] = this.mapRuntimeTypeToSchema(memberType);
43
+ }
44
+ return {
45
+ ...this.createEmptySchema(target.name),
46
+ properties: schemaProperties,
47
+ required: Array.from(membersToUse.keys()),
48
+ };
49
+ }
50
+ static mapRuntimeTypeToSchema(runtimeType) {
51
+ const knownTypeFormat = this.getKnownTypeFormat(runtimeType);
52
+ if (knownTypeFormat) {
53
+ return knownTypeFormat;
54
+ }
55
+ if (runtimeType === String) {
56
+ return { type: 'string' };
57
+ }
58
+ if (runtimeType === Number) {
59
+ return { type: 'number' };
60
+ }
61
+ if (runtimeType === Boolean) {
62
+ return { type: 'boolean' };
63
+ }
64
+ if (runtimeType === Array) {
65
+ return { type: 'array', items: { type: 'object' } };
66
+ }
67
+ if (runtimeType && runtimeType !== Object) {
68
+ return this.generate(runtimeType);
69
+ }
70
+ return { type: 'object' };
71
+ }
72
+ static getKnownTypeFormat(runtimeType) {
73
+ if (!runtimeType) {
74
+ return undefined;
75
+ }
76
+ const known = this._knownTypeFormats.get(runtimeType);
77
+ if (!known) {
78
+ return undefined;
79
+ }
80
+ return {
81
+ type: known.type,
82
+ format: this.normalizeFormat(known.format)
83
+ };
84
+ }
85
+ static normalizeFormat(format) {
86
+ const normalized = format.toLowerCase();
87
+ return this._formatAliases.get(normalized) ?? normalized;
88
+ }
89
+ }
90
+ //# sourceMappingURL=JsonSchemaGenerator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JsonSchemaGenerator.js","sourceRoot":"","sources":["../../Schemas/JsonSchemaGenerator.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C;;GAEG;AACH,MAAM,OAAO,mBAAmB;IACpB,MAAM,CAAU,iBAAiB,GAAG,IAAI,GAAG,CAAyD;QACxG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAC1C,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;KAClD,CAAC,CAAC;IAEK,MAAM,CAAU,cAAc,GAAG,IAAI,GAAG,CAAiB;QAC7D,CAAC,MAAM,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;IAEH;;;;OAIG;IACH,MAAM,CAAC,iBAAiB,CAAC,KAAa;QAClC,OAAO;YACH,OAAO,EAAE,8CAA8C;YACvD,KAAK;YACL,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;YACd,QAAQ,EAAE,EAAE;YACZ,oBAAoB,EAAE,KAAK;SAC9B,CAAC;IACN,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,MAAgB,EAAE,OAAmD;QACjF,MAAM,YAAY,GAAG,OAAO,IAAI,gBAAgB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACpE,MAAM,gBAAgB,GAA+B,EAAE,CAAC;QACxD,KAAK,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,IAAI,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC;YAC5D,gBAAgB,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;QAC3E,CAAC;QAED,OAAO;YACH,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC;YACtC,UAAU,EAAE,gBAAgB;YAC5B,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;SAC5C,CAAC;IACN,CAAC;IAEO,MAAM,CAAC,sBAAsB,CAAC,WAAiC;QACnE,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QAC7D,IAAI,eAAe,EAAE,CAAC;YAClB,OAAO,eAAe,CAAC;QAC3B,CAAC;QAED,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;YACzB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QAC9B,CAAC;QAED,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;YACzB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QAC9B,CAAC;QAED,IAAI,WAAW,KAAK,OAAO,EAAE,CAAC;YAC1B,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC/B,CAAC;QAED,IAAI,WAAW,KAAK,KAAK,EAAE,CAAC;YACxB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC;QACxD,CAAC;QAED,IAAI,WAAW,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACtC,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC9B,CAAC;IAEO,MAAM,CAAC,kBAAkB,CAAC,WAAiC;QAC/D,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACtD,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,OAAO;YACH,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC;SAC7C,CAAC;IACN,CAAC;IAEO,MAAM,CAAC,eAAe,CAAC,MAAc;QACzC,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QACxC,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC;IAC7D,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { JsonSchemaGenerator } from './JsonSchemaGenerator';
2
+ export { jsonSchemaProperty, getTrackedJsonSchemaProperties } from './jsonSchemaProperty';
3
+ export type { JsonSchema } from './JsonSchema';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../Schemas/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAC;AAC1F,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,5 @@
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 { JsonSchemaGenerator } from './JsonSchemaGenerator';
4
+ export { jsonSchemaProperty, getTrackedJsonSchemaProperties } from './jsonSchemaProperty';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../Schemas/index.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,13 @@
1
+ import 'reflect-metadata';
2
+ /**
3
+ * Decorates a class property so its runtime type metadata can be used for JSON schema generation.
4
+ * @returns A property decorator.
5
+ */
6
+ export declare function jsonSchemaProperty(): PropertyDecorator;
7
+ /**
8
+ * Gets all tracked schema properties for a type.
9
+ * @param target - The class constructor to inspect.
10
+ * @returns The tracked property names.
11
+ */
12
+ export declare function getTrackedJsonSchemaProperties(target: Function): string[];
13
+ //# sourceMappingURL=jsonSchemaProperty.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsonSchemaProperty.d.ts","sourceRoot":"","sources":["../../Schemas/jsonSchemaProperty.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAG1B;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,iBAAiB,CAItD;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,QAAQ,GAAG,MAAM,EAAE,CAEzE"}
@@ -0,0 +1,22 @@
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 'reflect-metadata';
4
+ import { TypeIntrospector } from '../types';
5
+ /**
6
+ * Decorates a class property so its runtime type metadata can be used for JSON schema generation.
7
+ * @returns A property decorator.
8
+ */
9
+ export function jsonSchemaProperty() {
10
+ return (target, propertyKey) => {
11
+ TypeIntrospector.trackProperty(target.constructor, propertyKey.toString());
12
+ };
13
+ }
14
+ /**
15
+ * Gets all tracked schema properties for a type.
16
+ * @param target - The class constructor to inspect.
17
+ * @returns The tracked property names.
18
+ */
19
+ export function getTrackedJsonSchemaProperties(target) {
20
+ return TypeIntrospector.getTrackedProperties(target);
21
+ }
22
+ //# sourceMappingURL=jsonSchemaProperty.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsonSchemaProperty.js","sourceRoot":"","sources":["../../Schemas/jsonSchemaProperty.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C;;;GAGG;AACH,MAAM,UAAU,kBAAkB;IAC9B,OAAO,CAAC,MAAc,EAAE,WAA4B,EAAE,EAAE;QACpD,gBAAgB,CAAC,aAAa,CAAC,MAAM,CAAC,WAAuB,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC3F,CAAC,CAAC;AACN,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,8BAA8B,CAAC,MAAgB;IAC3D,OAAO,gBAAgB,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;AACzD,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * The name of the Chronicle instrumentation library.
3
+ * Use this name to filter or configure Chronicle client spans in your observability backend.
4
+ */
5
+ export declare const ChronicleInstrumentationName = "@cratis/chronicle";
6
+ /**
7
+ * The OpenTelemetry tracer used by the Chronicle client for all instrumentation.
8
+ * This tracer is pre-configured with the Chronicle library name and is used to
9
+ * create spans around every client operation.
10
+ *
11
+ * If your application has configured an OpenTelemetry SDK (e.g. via {@link https://www.npmjs.com/package/@opentelemetry/sdk-node}),
12
+ * Chronicle spans will automatically flow through it.
13
+ * If no SDK is configured, the no-op tracer is used and no overhead is incurred.
14
+ */
15
+ export declare const ChronicleTracer: import("@opentelemetry/api").Tracer;
16
+ //# sourceMappingURL=Tracing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tracing.d.ts","sourceRoot":"","sources":["../Tracing.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,eAAO,MAAM,4BAA4B,sBAAsB,CAAC;AAEhE;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,qCAAgD,CAAC"}
@@ -0,0 +1,19 @@
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 { trace } from '@opentelemetry/api';
4
+ /**
5
+ * The name of the Chronicle instrumentation library.
6
+ * Use this name to filter or configure Chronicle client spans in your observability backend.
7
+ */
8
+ export const ChronicleInstrumentationName = '@cratis/chronicle';
9
+ /**
10
+ * The OpenTelemetry tracer used by the Chronicle client for all instrumentation.
11
+ * This tracer is pre-configured with the Chronicle library name and is used to
12
+ * create spans around every client operation.
13
+ *
14
+ * If your application has configured an OpenTelemetry SDK (e.g. via {@link https://www.npmjs.com/package/@opentelemetry/sdk-node}),
15
+ * Chronicle spans will automatically flow through it.
16
+ * If no SDK is configured, the no-op tracer is used and no overhead is incurred.
17
+ */
18
+ export const ChronicleTracer = trace.getTracer(ChronicleInstrumentationName);
19
+ //# sourceMappingURL=Tracing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tracing.js","sourceRoot":"","sources":["../Tracing.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C;;;GAGG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,mBAAmB,CAAC;AAEhE;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,CAAC,SAAS,CAAC,4BAA4B,CAAC,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { Constructor } from '@cratis/fundamentals';
2
+ import { IClientArtifactsProvider } from './IClientArtifactsProvider';
3
+ import { TypeDiscoverer } from '../types/TypeDiscoverer';
4
+ /**
5
+ * Represents the default provider for discovered client artifacts.
6
+ */
7
+ export declare class DefaultClientArtifactsProvider implements IClientArtifactsProvider {
8
+ private readonly discoverer;
9
+ /** Singleton default provider using the shared {@link TypeDiscoverer}. */
10
+ static readonly default: DefaultClientArtifactsProvider;
11
+ /**
12
+ * Initializes a new instance of the {@link DefaultClientArtifactsProvider} class.
13
+ * @param discoverer - The discoverer instance that provides discovered types.
14
+ */
15
+ constructor(discoverer: TypeDiscoverer);
16
+ /** @inheritdoc */
17
+ get eventTypes(): Constructor[];
18
+ /** @inheritdoc */
19
+ get readModels(): Constructor[];
20
+ /** @inheritdoc */
21
+ get reactors(): Constructor[];
22
+ /** @inheritdoc */
23
+ get reducers(): Constructor[];
24
+ /** @inheritdoc */
25
+ get constraints(): Constructor[];
26
+ /** @inheritdoc */
27
+ get projections(): Constructor[];
28
+ /** @inheritdoc */
29
+ get modelBoundProjections(): Constructor[];
30
+ }
31
+ //# sourceMappingURL=DefaultClientArtifactsProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultClientArtifactsProvider.d.ts","sourceRoot":"","sources":["../../artifacts/DefaultClientArtifactsProvider.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD;;GAEG;AACH,qBAAa,8BAA+B,YAAW,wBAAwB;IAQ/D,OAAO,CAAC,QAAQ,CAAC,UAAU;IAPvC,0EAA0E;IAC1E,MAAM,CAAC,QAAQ,CAAC,OAAO,iCAA8D;IAErF;;;OAGG;gBAC0B,UAAU,EAAE,cAAc;IAEvD,kBAAkB;IAClB,IAAI,UAAU,IAAI,WAAW,EAAE,CAE9B;IAED,kBAAkB;IAClB,IAAI,UAAU,IAAI,WAAW,EAAE,CAE9B;IAED,kBAAkB;IAClB,IAAI,QAAQ,IAAI,WAAW,EAAE,CAE5B;IAED,kBAAkB;IAClB,IAAI,QAAQ,IAAI,WAAW,EAAE,CAE5B;IAED,kBAAkB;IAClB,IAAI,WAAW,IAAI,WAAW,EAAE,CAE/B;IAED,kBAAkB;IAClB,IAAI,WAAW,IAAI,WAAW,EAAE,CAE/B;IAED,kBAAkB;IAClB,IAAI,qBAAqB,IAAI,WAAW,EAAE,CAEzC;CACJ"}
@@ -0,0 +1,48 @@
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 { DecoratorType } from '../types/DecoratorType';
4
+ import { TypeDiscoverer } from '../types/TypeDiscoverer';
5
+ /**
6
+ * Represents the default provider for discovered client artifacts.
7
+ */
8
+ export class DefaultClientArtifactsProvider {
9
+ discoverer;
10
+ /** Singleton default provider using the shared {@link TypeDiscoverer}. */
11
+ static default = new DefaultClientArtifactsProvider(TypeDiscoverer.default);
12
+ /**
13
+ * Initializes a new instance of the {@link DefaultClientArtifactsProvider} class.
14
+ * @param discoverer - The discoverer instance that provides discovered types.
15
+ */
16
+ constructor(discoverer) {
17
+ this.discoverer = discoverer;
18
+ }
19
+ /** @inheritdoc */
20
+ get eventTypes() {
21
+ return this.discoverer.getTypesByDecoratorType(DecoratorType.EventType);
22
+ }
23
+ /** @inheritdoc */
24
+ get readModels() {
25
+ return this.discoverer.getTypesByDecoratorType(DecoratorType.ReadModel);
26
+ }
27
+ /** @inheritdoc */
28
+ get reactors() {
29
+ return this.discoverer.getTypesByDecoratorType(DecoratorType.Reactor);
30
+ }
31
+ /** @inheritdoc */
32
+ get reducers() {
33
+ return this.discoverer.getTypesByDecoratorType(DecoratorType.Reducer);
34
+ }
35
+ /** @inheritdoc */
36
+ get constraints() {
37
+ return this.discoverer.getTypesByDecoratorType(DecoratorType.Constraint);
38
+ }
39
+ /** @inheritdoc */
40
+ get projections() {
41
+ return this.discoverer.getTypesByDecoratorType(DecoratorType.Projection);
42
+ }
43
+ /** @inheritdoc */
44
+ get modelBoundProjections() {
45
+ return this.discoverer.getTypesByDecoratorType(DecoratorType.ModelBoundProjection);
46
+ }
47
+ }
48
+ //# sourceMappingURL=DefaultClientArtifactsProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultClientArtifactsProvider.js","sourceRoot":"","sources":["../../artifacts/DefaultClientArtifactsProvider.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAIrG,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD;;GAEG;AACH,MAAM,OAAO,8BAA8B;IAQV;IAP7B,0EAA0E;IAC1E,MAAM,CAAU,OAAO,GAAG,IAAI,8BAA8B,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAErF;;;OAGG;IACH,YAA6B,UAA0B;QAA1B,eAAU,GAAV,UAAU,CAAgB;IAAG,CAAC;IAE3D,kBAAkB;IAClB,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAC5E,CAAC;IAED,kBAAkB;IAClB,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAC5E,CAAC;IAED,kBAAkB;IAClB,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC1E,CAAC;IAED,kBAAkB;IAClB,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC1E,CAAC;IAED,kBAAkB;IAClB,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAC7E,CAAC;IAED,kBAAkB;IAClB,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAC7E,CAAC;IAED,kBAAkB;IAClB,IAAI,qBAAqB;QACrB,OAAO,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;IACvF,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { Constructor } from '@cratis/fundamentals';
2
+ /**
3
+ * Defines a provider capable of returning discovered client artifact types.
4
+ */
5
+ export interface IClientArtifactsProvider {
6
+ /** Gets discovered event type constructors. */
7
+ readonly eventTypes: Constructor[];
8
+ /** Gets discovered read model constructors. */
9
+ readonly readModels: Constructor[];
10
+ /** Gets discovered reactor constructors. */
11
+ readonly reactors: Constructor[];
12
+ /** Gets discovered reducer constructors. */
13
+ readonly reducers: Constructor[];
14
+ /** Gets discovered constraint constructors. */
15
+ readonly constraints: Constructor[];
16
+ /** Gets discovered declarative projection constructors. */
17
+ readonly projections: Constructor[];
18
+ /** Gets discovered model-bound projection constructors. */
19
+ readonly modelBoundProjections: Constructor[];
20
+ }
21
+ //# sourceMappingURL=IClientArtifactsProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IClientArtifactsProvider.d.ts","sourceRoot":"","sources":["../../artifacts/IClientArtifactsProvider.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACrC,+CAA+C;IAC/C,QAAQ,CAAC,UAAU,EAAE,WAAW,EAAE,CAAC;IAEnC,+CAA+C;IAC/C,QAAQ,CAAC,UAAU,EAAE,WAAW,EAAE,CAAC;IAEnC,4CAA4C;IAC5C,QAAQ,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAC;IAEjC,4CAA4C;IAC5C,QAAQ,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAC;IAEjC,+CAA+C;IAC/C,QAAQ,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC;IAEpC,2DAA2D;IAC3D,QAAQ,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC;IAEpC,2DAA2D;IAC3D,QAAQ,CAAC,qBAAqB,EAAE,WAAW,EAAE,CAAC;CACjD"}
@@ -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=IClientArtifactsProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IClientArtifactsProvider.js","sourceRoot":"","sources":["../../artifacts/IClientArtifactsProvider.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG"}
@@ -0,0 +1,3 @@
1
+ export type { IClientArtifactsProvider } from './IClientArtifactsProvider';
2
+ export { DefaultClientArtifactsProvider } from './DefaultClientArtifactsProvider';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../artifacts/index.ts"],"names":[],"mappings":"AAGA,YAAY,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC"}
@@ -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 { DefaultClientArtifactsProvider } from './DefaultClientArtifactsProvider';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../artifacts/index.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAGrG,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC"}
@@ -0,0 +1,117 @@
1
+ import { type ChronicleConnectionOptions, type ChronicleServices } from '@cratis/chronicle.contracts';
2
+ import type { ConnectionServiceClient } from '@cratis/chronicle.contracts';
3
+ /**
4
+ * Wraps the contracts connection and allows recreating the underlying channel
5
+ * during reconnect while keeping a stable object reference for consumers.
6
+ */
7
+ export declare class ChronicleConnection implements ChronicleServices {
8
+ private readonly _options;
9
+ private _inner;
10
+ private _authenticatedConnectionService?;
11
+ /**
12
+ * Creates a new {@link ChronicleConnection}.
13
+ * @param _options - Connection options used to create and recreate the underlying connection.
14
+ */
15
+ constructor(_options: ChronicleConnectionOptions);
16
+ /**
17
+ * Gets the connection string currently used by the inner connection.
18
+ */
19
+ get connectionString(): import("@cratis/chronicle.contracts").ChronicleConnectionString;
20
+ /**
21
+ * Gets whether the current inner connection is connected.
22
+ */
23
+ get isConnected(): boolean;
24
+ /**
25
+ * Event stores service.
26
+ */
27
+ get eventStores(): import("@cratis/chronicle.contracts").EventStoresClient<{}>;
28
+ /**
29
+ * Namespaces service.
30
+ */
31
+ get namespaces(): import("@cratis/chronicle.contracts").NamespacesClient<{}>;
32
+ /**
33
+ * Recommendations service.
34
+ */
35
+ get recommendations(): import("@cratis/chronicle.contracts").RecommendationsClient<{}>;
36
+ /**
37
+ * Identities service.
38
+ */
39
+ get identities(): import("@cratis/chronicle.contracts").IdentitiesClient<{}>;
40
+ /**
41
+ * Event sequences service.
42
+ */
43
+ get eventSequences(): import("@cratis/chronicle.contracts").EventSequencesClient<{}>;
44
+ /**
45
+ * Event types service.
46
+ */
47
+ get eventTypes(): import("@cratis/chronicle.contracts").EventTypesClient<{}>;
48
+ /**
49
+ * Constraints service.
50
+ */
51
+ get constraints(): import("@cratis/chronicle.contracts").ConstraintsClient<{}>;
52
+ /**
53
+ * Observers service.
54
+ */
55
+ get observers(): import("@cratis/chronicle.contracts").ObserversClient<{}>;
56
+ /**
57
+ * Failed partitions service.
58
+ */
59
+ get failedPartitions(): import("@cratis/chronicle.contracts").FailedPartitionsClient<{}>;
60
+ /**
61
+ * Reactors service.
62
+ */
63
+ get reactors(): import("@cratis/chronicle.contracts").ReactorsClient<{}>;
64
+ /**
65
+ * Reducers service.
66
+ */
67
+ get reducers(): import("@cratis/chronicle.contracts").ReducersClient<{}>;
68
+ /**
69
+ * Projections service.
70
+ */
71
+ get projections(): import("@cratis/chronicle.contracts").ProjectionsClient<{}>;
72
+ /**
73
+ * Read models service.
74
+ */
75
+ get readModels(): import("@cratis/chronicle.contracts").ReadModelsClient<{}>;
76
+ /**
77
+ * Jobs service.
78
+ */
79
+ get jobs(): import("@cratis/chronicle.contracts").JobsClient<{}>;
80
+ /**
81
+ * Event seeding service.
82
+ */
83
+ get eventSeeding(): import("@cratis/chronicle.contracts").EventSeedingClient<{}>;
84
+ /**
85
+ * Server service.
86
+ */
87
+ get server(): import("@cratis/chronicle.contracts").ServerClient<{}>;
88
+ /**
89
+ * Connection service — used to register this client with the kernel keep-alive mechanism.
90
+ * Uses an authenticated client (same auth middleware as all other services).
91
+ */
92
+ get connections(): ConnectionServiceClient;
93
+ /**
94
+ * Connects the current inner connection.
95
+ */
96
+ connect(): Promise<void>;
97
+ /**
98
+ * Recreates the inner connection (new gRPC channel) without calling connect().
99
+ * Use this before probing with a real RPC call to ensure a fresh IDLE channel.
100
+ */
101
+ resetChannel(): void;
102
+ /**
103
+ * Recreates and connects the inner connection.
104
+ */
105
+ reconnect(): Promise<void>;
106
+ /**
107
+ * Disconnects the current inner connection.
108
+ */
109
+ disconnect(): void;
110
+ /**
111
+ * Disposes the current inner connection.
112
+ */
113
+ dispose(): void;
114
+ private createInnerConnection;
115
+ }
116
+ export type { ChronicleConnectionOptions } from '@cratis/chronicle.contracts';
117
+ //# sourceMappingURL=ChronicleConnection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChronicleConnection.d.ts","sourceRoot":"","sources":["../../connection/ChronicleConnection.ts"],"names":[],"mappings":"AAGA,OAAO,EAGN,KAAK,0BAA0B,EAC/B,KAAK,iBAAiB,EACtB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAG3E;;;GAGG;AACH,qBAAa,mBAAoB,YAAW,iBAAiB;IAQhD,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAPrC,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,+BAA+B,CAAC,CAA0B;IAElE;;;OAGG;gBAC0B,QAAQ,EAAE,0BAA0B;IAIjE;;OAEG;IACH,IAAI,gBAAgB,oEAEnB;IAED;;OAEG;IACH,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED;;OAEG;IACH,IAAI,WAAW,gEAEd;IAED;;OAEG;IACH,IAAI,UAAU,+DAEb;IAED;;OAEG;IACH,IAAI,eAAe,oEAElB;IAED;;OAEG;IACH,IAAI,UAAU,+DAEb;IAED;;OAEG;IACH,IAAI,cAAc,mEAEjB;IAED;;OAEG;IACH,IAAI,UAAU,+DAEb;IAED;;OAEG;IACH,IAAI,WAAW,gEAEd;IAED;;OAEG;IACH,IAAI,SAAS,8DAEZ;IAED;;OAEG;IACH,IAAI,gBAAgB,qEAEnB;IAED;;OAEG;IACH,IAAI,QAAQ,6DAEX;IAED;;OAEG;IACH,IAAI,QAAQ,6DAEX;IAED;;OAEG;IACH,IAAI,WAAW,gEAEd;IAED;;OAEG;IACH,IAAI,UAAU,+DAEb;IAED;;OAEG;IACH,IAAI,IAAI,yDAEP;IAED;;OAEG;IACH,IAAI,YAAY,iEAEf;IAED;;OAEG;IACH,IAAI,MAAM,2DAET;IAED;;;OAGG;IACH,IAAI,WAAW,IAAI,uBAAuB,CAWzC;IAED;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B;;;OAGG;IACH,YAAY,IAAI,IAAI;IAUpB;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAWhC;;OAEG;IACH,UAAU,IAAI,IAAI;IAIlB;;OAEG;IACH,OAAO,IAAI,IAAI;IAIf,OAAO,CAAC,qBAAqB;CAG7B;AAED,YAAY,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC"}