@cratis/chronicle 3.0.0 → 3.1.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 (338) hide show
  1. package/ChronicleClient.ts +4 -3
  2. package/EventStore.ts +20 -3
  3. package/IEventStore.ts +16 -0
  4. package/README.md +40 -28
  5. package/auditing/CausationType.ts +10 -0
  6. package/compliance/ComplianceContracts.ts +84 -0
  7. package/compliance/IPIIManager.ts +17 -0
  8. package/compliance/PIIManager.ts +31 -0
  9. package/compliance/index.ts +2 -0
  10. package/connection/ChronicleConnection.ts +7 -1
  11. package/connection/ChronicleServices.ts +2 -0
  12. package/connection/Guid.ts +18 -0
  13. package/connection/callResults.spec.ts +90 -0
  14. package/connection/callResults.ts +112 -0
  15. package/dist/ChronicleClient.d.ts.map +1 -1
  16. package/dist/ChronicleClient.js +4 -3
  17. package/dist/ChronicleClient.js.map +1 -1
  18. package/dist/EventStore.d.ts +8 -0
  19. package/dist/EventStore.d.ts.map +1 -1
  20. package/dist/EventStore.js +16 -3
  21. package/dist/EventStore.js.map +1 -1
  22. package/dist/IEventStore.d.ts +12 -0
  23. package/dist/IEventStore.d.ts.map +1 -1
  24. package/dist/auditing/CausationType.d.ts +8 -0
  25. package/dist/auditing/CausationType.d.ts.map +1 -1
  26. package/dist/auditing/CausationType.js +8 -0
  27. package/dist/auditing/CausationType.js.map +1 -1
  28. package/dist/compliance/ComplianceContracts.d.ts +40 -0
  29. package/dist/compliance/ComplianceContracts.d.ts.map +1 -1
  30. package/dist/compliance/ComplianceContracts.js +71 -0
  31. package/dist/compliance/ComplianceContracts.js.map +1 -1
  32. package/dist/compliance/IPIIManager.d.ts +15 -0
  33. package/dist/compliance/IPIIManager.d.ts.map +1 -0
  34. package/dist/compliance/IPIIManager.js +4 -0
  35. package/dist/compliance/IPIIManager.js.map +1 -0
  36. package/dist/compliance/PIIManager.d.ts +20 -0
  37. package/dist/compliance/PIIManager.d.ts.map +1 -0
  38. package/dist/compliance/PIIManager.js +30 -0
  39. package/dist/compliance/PIIManager.js.map +1 -0
  40. package/dist/compliance/index.d.ts +2 -0
  41. package/dist/compliance/index.d.ts.map +1 -1
  42. package/dist/compliance/index.js +1 -0
  43. package/dist/compliance/index.js.map +1 -1
  44. package/dist/connection/ChronicleConnection.d.ts +1 -0
  45. package/dist/connection/ChronicleConnection.d.ts.map +1 -1
  46. package/dist/connection/ChronicleConnection.js +6 -1
  47. package/dist/connection/ChronicleConnection.js.map +1 -1
  48. package/dist/connection/ChronicleServices.d.ts +2 -0
  49. package/dist/connection/ChronicleServices.d.ts.map +1 -1
  50. package/dist/connection/Guid.d.ts +5 -0
  51. package/dist/connection/Guid.d.ts.map +1 -1
  52. package/dist/connection/Guid.js +15 -0
  53. package/dist/connection/Guid.js.map +1 -1
  54. package/dist/connection/callResults.d.ts +69 -0
  55. package/dist/connection/callResults.d.ts.map +1 -0
  56. package/dist/connection/callResults.js +74 -0
  57. package/dist/connection/callResults.js.map +1 -0
  58. package/dist/eventSequences/AppendOperationsBroadcaster.d.ts +16 -0
  59. package/dist/eventSequences/AppendOperationsBroadcaster.d.ts.map +1 -0
  60. package/dist/eventSequences/AppendOperationsBroadcaster.js +77 -0
  61. package/dist/eventSequences/AppendOperationsBroadcaster.js.map +1 -0
  62. package/dist/eventSequences/AppendOptions.d.ts +7 -0
  63. package/dist/eventSequences/AppendOptions.d.ts.map +1 -1
  64. package/dist/eventSequences/AppendResult.d.ts +14 -0
  65. package/dist/eventSequences/AppendResult.d.ts.map +1 -1
  66. package/dist/eventSequences/AppendedEventWithResult.d.ts +13 -0
  67. package/dist/eventSequences/AppendedEventWithResult.d.ts.map +1 -0
  68. package/dist/eventSequences/AppendedEventWithResult.js +4 -0
  69. package/dist/eventSequences/AppendedEventWithResult.js.map +1 -0
  70. package/dist/eventSequences/CompleteStreamError.d.ts +17 -0
  71. package/dist/eventSequences/CompleteStreamError.d.ts.map +1 -0
  72. package/dist/eventSequences/CompleteStreamError.js +20 -0
  73. package/dist/eventSequences/CompleteStreamError.js.map +1 -0
  74. package/dist/eventSequences/CompleteStreamResult.d.ts +14 -0
  75. package/dist/eventSequences/CompleteStreamResult.d.ts.map +1 -0
  76. package/dist/eventSequences/CompleteStreamResult.js +4 -0
  77. package/dist/eventSequences/CompleteStreamResult.js.map +1 -0
  78. package/dist/eventSequences/ConcurrencyViolation.d.ts +13 -0
  79. package/dist/eventSequences/ConcurrencyViolation.d.ts.map +1 -0
  80. package/dist/eventSequences/ConcurrencyViolation.js +4 -0
  81. package/dist/eventSequences/ConcurrencyViolation.js.map +1 -0
  82. package/dist/eventSequences/EventForEventSourceId.d.ts +8 -0
  83. package/dist/eventSequences/EventForEventSourceId.d.ts.map +1 -1
  84. package/dist/eventSequences/EventSequence.d.ts +35 -1
  85. package/dist/eventSequences/EventSequence.d.ts.map +1 -1
  86. package/dist/eventSequences/EventSequence.js +350 -19
  87. package/dist/eventSequences/EventSequence.js.map +1 -1
  88. package/dist/eventSequences/IEventSequence.d.ts +85 -1
  89. package/dist/eventSequences/IEventSequence.d.ts.map +1 -1
  90. package/dist/eventSequences/WaitForCompletionResult.d.ts +11 -0
  91. package/dist/eventSequences/WaitForCompletionResult.d.ts.map +1 -0
  92. package/dist/eventSequences/WaitForCompletionResult.js +4 -0
  93. package/dist/eventSequences/WaitForCompletionResult.js.map +1 -0
  94. package/dist/eventSequences/index.d.ts +5 -0
  95. package/dist/eventSequences/index.d.ts.map +1 -1
  96. package/dist/eventSequences/index.js +1 -0
  97. package/dist/eventSequences/index.js.map +1 -1
  98. package/dist/eventStoreSubscriptions/EventStoreSubscriptions.d.ts +3 -0
  99. package/dist/eventStoreSubscriptions/EventStoreSubscriptions.d.ts.map +1 -1
  100. package/dist/eventStoreSubscriptions/EventStoreSubscriptions.js +9 -0
  101. package/dist/eventStoreSubscriptions/EventStoreSubscriptions.js.map +1 -1
  102. package/dist/eventStoreSubscriptions/IEventStoreSubscriptions.d.ts +6 -0
  103. package/dist/eventStoreSubscriptions/IEventStoreSubscriptions.d.ts.map +1 -1
  104. package/dist/eventStoreSubscriptions/contracts.d.ts +18 -0
  105. package/dist/eventStoreSubscriptions/contracts.d.ts.map +1 -1
  106. package/dist/eventStoreSubscriptions/contracts.js +106 -0
  107. package/dist/eventStoreSubscriptions/contracts.js.map +1 -1
  108. package/dist/events/constraints/Constraints.js +4 -4
  109. package/dist/events/constraints/Constraints.js.map +1 -1
  110. package/dist/externalServices/ExternalServiceBuilder.d.ts +42 -0
  111. package/dist/externalServices/ExternalServiceBuilder.d.ts.map +1 -0
  112. package/dist/externalServices/ExternalServiceBuilder.js +110 -0
  113. package/dist/externalServices/ExternalServiceBuilder.js.map +1 -0
  114. package/dist/externalServices/ExternalServices.d.ts +19 -0
  115. package/dist/externalServices/ExternalServices.d.ts.map +1 -0
  116. package/dist/externalServices/ExternalServices.js +30 -0
  117. package/dist/externalServices/ExternalServices.js.map +1 -0
  118. package/dist/externalServices/ExternalServicesContracts.d.ts +137 -0
  119. package/dist/externalServices/ExternalServicesContracts.d.ts.map +1 -0
  120. package/dist/externalServices/ExternalServicesContracts.js +654 -0
  121. package/dist/externalServices/ExternalServicesContracts.js.map +1 -0
  122. package/dist/externalServices/IExternalServiceBuilder.d.ts +67 -0
  123. package/dist/externalServices/IExternalServiceBuilder.d.ts.map +1 -0
  124. package/dist/externalServices/IExternalServiceBuilder.js +4 -0
  125. package/dist/externalServices/IExternalServiceBuilder.js.map +1 -0
  126. package/dist/externalServices/IExternalServices.d.ts +13 -0
  127. package/dist/externalServices/IExternalServices.d.ts.map +1 -0
  128. package/dist/externalServices/IExternalServices.js +4 -0
  129. package/dist/externalServices/IExternalServices.js.map +1 -0
  130. package/dist/externalServices/index.d.ts +5 -0
  131. package/dist/externalServices/index.d.ts.map +1 -0
  132. package/dist/externalServices/index.js +5 -0
  133. package/dist/externalServices/index.js.map +1 -0
  134. package/dist/identities/IIdentityManager.d.ts +17 -0
  135. package/dist/identities/IIdentityManager.d.ts.map +1 -0
  136. package/dist/identities/IIdentityManager.js +4 -0
  137. package/dist/identities/IIdentityManager.js.map +1 -0
  138. package/dist/identities/IdentityManager.d.ts +20 -0
  139. package/dist/identities/IdentityManager.d.ts.map +1 -0
  140. package/dist/identities/IdentityManager.js +31 -0
  141. package/dist/identities/IdentityManager.js.map +1 -0
  142. package/dist/identities/index.d.ts +3 -0
  143. package/dist/identities/index.d.ts.map +1 -0
  144. package/dist/identities/index.js +4 -0
  145. package/dist/identities/index.js.map +1 -0
  146. package/dist/index.d.ts +5 -1
  147. package/dist/index.d.ts.map +1 -1
  148. package/dist/index.js +5 -1
  149. package/dist/index.js.map +1 -1
  150. package/dist/jobs/IJobs.d.ts +4 -4
  151. package/dist/jobs/IJobs.d.ts.map +1 -1
  152. package/dist/jobs/Jobs.d.ts +4 -4
  153. package/dist/jobs/Jobs.d.ts.map +1 -1
  154. package/dist/jobs/Jobs.js +12 -10
  155. package/dist/jobs/Jobs.js.map +1 -1
  156. package/dist/observation/FailedPartition.d.ts +15 -0
  157. package/dist/observation/FailedPartition.d.ts.map +1 -0
  158. package/dist/observation/FailedPartition.js +4 -0
  159. package/dist/observation/FailedPartition.js.map +1 -0
  160. package/dist/observation/FailedPartitionAttempt.d.ts +15 -0
  161. package/dist/observation/FailedPartitionAttempt.d.ts.map +1 -0
  162. package/dist/observation/FailedPartitionAttempt.js +4 -0
  163. package/dist/observation/FailedPartitionAttempt.js.map +1 -0
  164. package/dist/observation/FailedPartitions.d.ts +24 -0
  165. package/dist/observation/FailedPartitions.d.ts.map +1 -0
  166. package/dist/observation/FailedPartitions.js +39 -0
  167. package/dist/observation/FailedPartitions.js.map +1 -0
  168. package/dist/observation/ICanBeNotifiedWhenPartitionReplayed.d.ts +19 -0
  169. package/dist/observation/ICanBeNotifiedWhenPartitionReplayed.d.ts.map +1 -0
  170. package/dist/observation/ICanBeNotifiedWhenPartitionReplayed.js +4 -0
  171. package/dist/observation/ICanBeNotifiedWhenPartitionReplayed.js.map +1 -0
  172. package/dist/observation/ICanBeNotifiedWhenReplay.d.ts +17 -0
  173. package/dist/observation/ICanBeNotifiedWhenReplay.d.ts.map +1 -0
  174. package/dist/observation/ICanBeNotifiedWhenReplay.js +4 -0
  175. package/dist/observation/ICanBeNotifiedWhenReplay.js.map +1 -0
  176. package/dist/observation/IFailedPartitions.d.ts +18 -0
  177. package/dist/observation/IFailedPartitions.d.ts.map +1 -0
  178. package/dist/observation/IFailedPartitions.js +4 -0
  179. package/dist/observation/IFailedPartitions.js.map +1 -0
  180. package/dist/observation/index.d.ts +6 -0
  181. package/dist/observation/index.d.ts.map +1 -1
  182. package/dist/observation/index.js +1 -0
  183. package/dist/observation/index.js.map +1 -1
  184. package/dist/observation/notifyReplayLifecycle.d.ts +13 -0
  185. package/dist/observation/notifyReplayLifecycle.d.ts.map +1 -0
  186. package/dist/observation/notifyReplayLifecycle.js +54 -0
  187. package/dist/observation/notifyReplayLifecycle.js.map +1 -0
  188. package/dist/observation/toClientFailedPartition.d.ts +9 -0
  189. package/dist/observation/toClientFailedPartition.d.ts.map +1 -0
  190. package/dist/observation/toClientFailedPartition.js +23 -0
  191. package/dist/observation/toClientFailedPartition.js.map +1 -0
  192. package/dist/projections/Projections.d.ts +0 -4
  193. package/dist/projections/Projections.d.ts.map +1 -1
  194. package/dist/projections/Projections.js +25 -103
  195. package/dist/projections/Projections.js.map +1 -1
  196. package/dist/projections/declarative/AddBuilder.d.ts +17 -0
  197. package/dist/projections/declarative/AddBuilder.d.ts.map +1 -0
  198. package/dist/projections/declarative/AddBuilder.js +28 -0
  199. package/dist/projections/declarative/AddBuilder.js.map +1 -0
  200. package/dist/projections/declarative/AddChildBuilder.d.ts +56 -0
  201. package/dist/projections/declarative/AddChildBuilder.d.ts.map +1 -0
  202. package/dist/projections/declarative/AddChildBuilder.js +72 -0
  203. package/dist/projections/declarative/AddChildBuilder.js.map +1 -0
  204. package/dist/projections/declarative/ChildrenBuilder.d.ts +28 -0
  205. package/dist/projections/declarative/ChildrenBuilder.d.ts.map +1 -0
  206. package/dist/projections/declarative/ChildrenBuilder.js +72 -0
  207. package/dist/projections/declarative/ChildrenBuilder.js.map +1 -0
  208. package/dist/projections/declarative/CompositeKeyBuilder.d.ts +16 -0
  209. package/dist/projections/declarative/CompositeKeyBuilder.d.ts.map +1 -0
  210. package/dist/projections/declarative/CompositeKeyBuilder.js +29 -0
  211. package/dist/projections/declarative/CompositeKeyBuilder.js.map +1 -0
  212. package/dist/projections/declarative/FromBuilder.d.ts +8 -6
  213. package/dist/projections/declarative/FromBuilder.d.ts.map +1 -1
  214. package/dist/projections/declarative/FromBuilder.js +44 -14
  215. package/dist/projections/declarative/FromBuilder.js.map +1 -1
  216. package/dist/projections/declarative/ICompositeKeyBuilder.d.ts +5 -0
  217. package/dist/projections/declarative/ICompositeKeyBuilder.d.ts.map +1 -1
  218. package/dist/projections/declarative/JoinBuilder.d.ts +7 -5
  219. package/dist/projections/declarative/JoinBuilder.d.ts.map +1 -1
  220. package/dist/projections/declarative/JoinBuilder.js +50 -16
  221. package/dist/projections/declarative/JoinBuilder.js.map +1 -1
  222. package/dist/projections/declarative/NestedBuilder.d.ts +24 -0
  223. package/dist/projections/declarative/NestedBuilder.d.ts.map +1 -0
  224. package/dist/projections/declarative/NestedBuilder.js +60 -0
  225. package/dist/projections/declarative/NestedBuilder.js.map +1 -0
  226. package/dist/projections/declarative/ProjectionBuilderCore.d.ts +127 -0
  227. package/dist/projections/declarative/ProjectionBuilderCore.d.ts.map +1 -0
  228. package/dist/projections/declarative/ProjectionBuilderCore.js +180 -0
  229. package/dist/projections/declarative/ProjectionBuilderCore.js.map +1 -0
  230. package/dist/projections/declarative/ProjectionBuilderFor.d.ts +6 -32
  231. package/dist/projections/declarative/ProjectionBuilderFor.d.ts.map +1 -1
  232. package/dist/projections/declarative/ProjectionBuilderFor.js +24 -118
  233. package/dist/projections/declarative/ProjectionBuilderFor.js.map +1 -1
  234. package/dist/projections/declarative/SubtractBuilder.d.ts +17 -0
  235. package/dist/projections/declarative/SubtractBuilder.d.ts.map +1 -0
  236. package/dist/projections/declarative/SubtractBuilder.js +28 -0
  237. package/dist/projections/declarative/SubtractBuilder.js.map +1 -0
  238. package/dist/projections/declarative/index.d.ts +9 -0
  239. package/dist/projections/declarative/index.d.ts.map +1 -1
  240. package/dist/projections/declarative/index.js +8 -0
  241. package/dist/projections/declarative/index.js.map +1 -1
  242. package/dist/projections/modelBound/childrenAndNestedBuilder.d.ts +90 -0
  243. package/dist/projections/modelBound/childrenAndNestedBuilder.d.ts.map +1 -0
  244. package/dist/projections/modelBound/childrenAndNestedBuilder.js +290 -0
  245. package/dist/projections/modelBound/childrenAndNestedBuilder.js.map +1 -0
  246. package/dist/reactors/ReactorSideEffects.d.ts +29 -0
  247. package/dist/reactors/ReactorSideEffects.d.ts.map +1 -0
  248. package/dist/reactors/ReactorSideEffects.js +70 -0
  249. package/dist/reactors/ReactorSideEffects.js.map +1 -0
  250. package/dist/reactors/Reactors.d.ts +4 -1
  251. package/dist/reactors/Reactors.d.ts.map +1 -1
  252. package/dist/reactors/Reactors.js +23 -4
  253. package/dist/reactors/Reactors.js.map +1 -1
  254. package/dist/reducers/Reducers.d.ts.map +1 -1
  255. package/dist/reducers/Reducers.js +15 -3
  256. package/dist/reducers/Reducers.js.map +1 -1
  257. package/dist/reducers/reducer.d.ts +9 -1
  258. package/dist/reducers/reducer.d.ts.map +1 -1
  259. package/dist/reducers/reducer.js +4 -2
  260. package/dist/reducers/reducer.js.map +1 -1
  261. package/dist/transactions/IUnitOfWork.d.ts +18 -0
  262. package/dist/transactions/IUnitOfWork.d.ts.map +1 -1
  263. package/dist/transactions/UnitOfWork.d.ts +9 -0
  264. package/dist/transactions/UnitOfWork.d.ts.map +1 -1
  265. package/dist/transactions/UnitOfWork.js +14 -0
  266. package/dist/transactions/UnitOfWork.js.map +1 -1
  267. package/dist/tsconfig.tsbuildinfo +1 -1
  268. package/eventSequences/AppendOperationsBroadcaster.ts +83 -0
  269. package/eventSequences/AppendOptions.ts +8 -0
  270. package/eventSequences/AppendResult.ts +16 -0
  271. package/eventSequences/AppendedEventWithResult.ts +17 -0
  272. package/eventSequences/CompleteStreamError.ts +20 -0
  273. package/eventSequences/CompleteStreamResult.ts +13 -0
  274. package/eventSequences/ConcurrencyViolation.ts +18 -0
  275. package/eventSequences/EventForEventSourceId.ts +12 -0
  276. package/eventSequences/EventSequence.spec.ts +588 -0
  277. package/eventSequences/EventSequence.ts +406 -20
  278. package/eventSequences/IEventSequence.ts +109 -1
  279. package/eventSequences/WaitForCompletionResult.ts +15 -0
  280. package/eventSequences/index.ts +5 -0
  281. package/eventStoreSubscriptions/EventStoreSubscriptions.spec.ts +52 -0
  282. package/eventStoreSubscriptions/EventStoreSubscriptions.ts +19 -1
  283. package/eventStoreSubscriptions/IEventStoreSubscriptions.ts +7 -0
  284. package/eventStoreSubscriptions/contracts.ts +126 -0
  285. package/events/constraints/Constraints.ts +4 -4
  286. package/externalServices/ExternalServiceBuilder.ts +128 -0
  287. package/externalServices/ExternalServices.ts +34 -0
  288. package/externalServices/ExternalServicesContracts.ts +709 -0
  289. package/externalServices/IExternalServiceBuilder.ts +76 -0
  290. package/externalServices/IExternalServices.ts +16 -0
  291. package/externalServices/index.ts +7 -0
  292. package/identities/IIdentityManager.ts +19 -0
  293. package/identities/IdentityManager.ts +32 -0
  294. package/identities/index.ts +5 -0
  295. package/index.ts +6 -0
  296. package/jobs/IJobs.ts +4 -4
  297. package/jobs/Jobs.ts +16 -14
  298. package/observation/FailedPartition.ts +21 -0
  299. package/observation/FailedPartitionAttempt.ts +21 -0
  300. package/observation/FailedPartitions.spec.ts +75 -0
  301. package/observation/FailedPartitions.ts +44 -0
  302. package/observation/ICanBeNotifiedWhenPartitionReplayed.ts +22 -0
  303. package/observation/ICanBeNotifiedWhenReplay.ts +20 -0
  304. package/observation/IFailedPartitions.ts +22 -0
  305. package/observation/index.ts +6 -0
  306. package/observation/notifyReplayLifecycle.spec.ts +98 -0
  307. package/observation/notifyReplayLifecycle.ts +61 -0
  308. package/observation/toClientFailedPartition.ts +26 -0
  309. package/package.json +28 -3
  310. package/projections/Projections.childrenAndNested.spec.ts +188 -0
  311. package/projections/Projections.spec.ts +131 -0
  312. package/projections/Projections.ts +37 -119
  313. package/projections/declarative/AddBuilder.ts +28 -0
  314. package/projections/declarative/AddChildBuilder.ts +97 -0
  315. package/projections/declarative/ChildrenBuilder.spec.ts +157 -0
  316. package/projections/declarative/ChildrenBuilder.ts +90 -0
  317. package/projections/declarative/CompositeKeyBuilder.spec.ts +117 -0
  318. package/projections/declarative/CompositeKeyBuilder.ts +38 -0
  319. package/projections/declarative/FromBuilder.ts +60 -15
  320. package/projections/declarative/ICompositeKeyBuilder.ts +6 -0
  321. package/projections/declarative/JoinBuilder.ts +66 -17
  322. package/projections/declarative/NestedBuilder.ts +76 -0
  323. package/projections/declarative/ProjectionBuilderCore.ts +257 -0
  324. package/projections/declarative/ProjectionBuilderFor.spec.ts +115 -0
  325. package/projections/declarative/ProjectionBuilderFor.ts +29 -168
  326. package/projections/declarative/SubtractBuilder.ts +28 -0
  327. package/projections/declarative/index.ts +9 -0
  328. package/projections/modelBound/childrenAndNestedBuilder.ts +354 -0
  329. package/reactors/ReactorSideEffects.spec.ts +182 -0
  330. package/reactors/ReactorSideEffects.ts +97 -0
  331. package/reactors/Reactors.ts +29 -4
  332. package/reducers/Reducers.spec.ts +87 -0
  333. package/reducers/Reducers.ts +15 -3
  334. package/reducers/reducer.spec.ts +40 -0
  335. package/reducers/reducer.ts +11 -2
  336. package/transactions/IUnitOfWork.ts +21 -0
  337. package/transactions/UnitOfWork.spec.ts +82 -0
  338. package/transactions/UnitOfWork.ts +20 -0
@@ -0,0 +1,110 @@
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 { ExternalServiceEndpointType } from './ExternalServicesContracts';
4
+ /**
5
+ * Implements {@link IExternalServiceBuilder}.
6
+ */
7
+ export class ExternalServiceBuilder {
8
+ _headers = new Map();
9
+ _options = new Map();
10
+ _type = ExternalServiceEndpointType.Http;
11
+ _url = '';
12
+ _authorization;
13
+ _host = '';
14
+ _port = 0;
15
+ _database = '';
16
+ _username = '';
17
+ _password = '';
18
+ /** @inheritdoc */
19
+ http(url) {
20
+ this._type = ExternalServiceEndpointType.Http;
21
+ this._url = url;
22
+ return this;
23
+ }
24
+ /** @inheritdoc */
25
+ withBasicAuth(username, password) {
26
+ this._authorization = {
27
+ Value0: { Username: username, Password: password },
28
+ Value1: undefined,
29
+ Value2: undefined
30
+ };
31
+ return this;
32
+ }
33
+ /** @inheritdoc */
34
+ withBearerToken(token) {
35
+ this._authorization = {
36
+ Value0: undefined,
37
+ Value1: { Token: token },
38
+ Value2: undefined
39
+ };
40
+ return this;
41
+ }
42
+ /** @inheritdoc */
43
+ withOAuth(authority, clientId, clientSecret) {
44
+ this._authorization = {
45
+ Value0: undefined,
46
+ Value1: undefined,
47
+ Value2: { Authority: authority, ClientId: clientId, ClientSecret: clientSecret }
48
+ };
49
+ return this;
50
+ }
51
+ /** @inheritdoc */
52
+ withHeader(key, value) {
53
+ this._headers.set(key, value);
54
+ return this;
55
+ }
56
+ /** @inheritdoc */
57
+ msSql(host, database, username, password, port = 0) {
58
+ return this.configureDatabase(ExternalServiceEndpointType.MsSql, host, database, username, password, port);
59
+ }
60
+ /** @inheritdoc */
61
+ postgreSql(host, database, username, password, port = 0) {
62
+ return this.configureDatabase(ExternalServiceEndpointType.PostgreSql, host, database, username, password, port);
63
+ }
64
+ /** @inheritdoc */
65
+ withOption(key, value) {
66
+ this._options.set(key, value);
67
+ return this;
68
+ }
69
+ /**
70
+ * Builds the external service definition.
71
+ * @param id - The identifier of the external service.
72
+ * @param name - The human-readable name of the external service.
73
+ * @returns The built external service definition.
74
+ */
75
+ build(id, name) {
76
+ const endpoint = { Type: this._type, Http: undefined, Database: undefined };
77
+ if (this._type === ExternalServiceEndpointType.Http) {
78
+ endpoint.Http = {
79
+ Url: this._url,
80
+ Authorization: this._authorization,
81
+ Headers: Object.fromEntries(this._headers)
82
+ };
83
+ }
84
+ else {
85
+ endpoint.Database = {
86
+ Host: this._host,
87
+ Port: this._port,
88
+ Database: this._database,
89
+ Username: this._username,
90
+ Password: this._password,
91
+ Options: Object.fromEntries(this._options)
92
+ };
93
+ }
94
+ return {
95
+ Id: id,
96
+ Name: name,
97
+ Endpoint: endpoint
98
+ };
99
+ }
100
+ configureDatabase(type, host, database, username, password, port) {
101
+ this._type = type;
102
+ this._host = host;
103
+ this._database = database;
104
+ this._username = username;
105
+ this._password = password;
106
+ this._port = port;
107
+ return this;
108
+ }
109
+ }
110
+ //# sourceMappingURL=ExternalServiceBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExternalServiceBuilder.js","sourceRoot":"","sources":["../../externalServices/ExternalServiceBuilder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { ChronicleConnection } from '../connection';
2
+ import { IExternalServiceBuilder } from './IExternalServiceBuilder';
3
+ import { IExternalServices } from './IExternalServices';
4
+ /**
5
+ * Implements {@link IExternalServices}.
6
+ */
7
+ export declare class ExternalServices implements IExternalServices {
8
+ private readonly _eventStore;
9
+ private readonly _connection;
10
+ /**
11
+ * Creates a new {@link ExternalServices} instance.
12
+ * @param _eventStore - Event store name.
13
+ * @param _connection - Chronicle connection.
14
+ */
15
+ constructor(_eventStore: string, _connection: ChronicleConnection);
16
+ /** @inheritdoc */
17
+ register(name: string, configure: (builder: IExternalServiceBuilder) => void): Promise<void>;
18
+ }
19
+ //# sourceMappingURL=ExternalServices.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExternalServices.d.ts","sourceRoot":"","sources":["../../externalServices/ExternalServices.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD;;GAEG;AACH,qBAAa,gBAAiB,YAAW,iBAAiB;IAOlD,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAPhC;;;;OAIG;gBAEkB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,mBAAmB;IAGrD,kBAAkB;IACZ,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,OAAO,EAAE,uBAAuB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CAUrG"}
@@ -0,0 +1,30 @@
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 { ExternalServiceBuilder } from './ExternalServiceBuilder';
4
+ /**
5
+ * Implements {@link IExternalServices}.
6
+ */
7
+ export class ExternalServices {
8
+ _eventStore;
9
+ _connection;
10
+ /**
11
+ * Creates a new {@link ExternalServices} instance.
12
+ * @param _eventStore - Event store name.
13
+ * @param _connection - Chronicle connection.
14
+ */
15
+ constructor(_eventStore, _connection) {
16
+ this._eventStore = _eventStore;
17
+ this._connection = _connection;
18
+ }
19
+ /** @inheritdoc */
20
+ async register(name, configure) {
21
+ const builder = new ExternalServiceBuilder();
22
+ configure(builder);
23
+ const definition = builder.build(name, name);
24
+ await this._connection.externalServices.add({
25
+ EventStore: this._eventStore,
26
+ ExternalServices: [definition]
27
+ });
28
+ }
29
+ }
30
+ //# sourceMappingURL=ExternalServices.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExternalServices.js","sourceRoot":"","sources":["../../externalServices/ExternalServices.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAGrG,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAIlE;;GAEG;AACH,MAAM,OAAO,gBAAgB;IAOJ;IACA;IAPrB;;;;OAIG;IACH,YACqB,WAAmB,EACnB,WAAgC;QADhC,gBAAW,GAAX,WAAW,CAAQ;QACnB,gBAAW,GAAX,WAAW,CAAqB;IAClD,CAAC;IAEJ,kBAAkB;IAClB,KAAK,CAAC,QAAQ,CAAC,IAAY,EAAE,SAAqD;QAC9E,MAAM,OAAO,GAAG,IAAI,sBAAsB,EAAE,CAAC;QAC7C,SAAS,CAAC,OAAO,CAAC,CAAC;QACnB,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAE7C,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,GAAG,CAAC;YACxC,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,gBAAgB,EAAE,CAAC,UAAU,CAAC;SACjC,CAAC,CAAC;IACP,CAAC;CACJ"}
@@ -0,0 +1,137 @@
1
+ import { BinaryReader, BinaryWriter } from '@bufbuild/protobuf/wire';
2
+ import type { CallOptions } from 'nice-grpc-common';
3
+ /**
4
+ * The type of endpoint an external service exposes.
5
+ */
6
+ export declare enum ExternalServiceEndpointType {
7
+ Http = 0,
8
+ MsSql = 1,
9
+ PostgreSql = 2
10
+ }
11
+ /**
12
+ * Basic authentication credentials for an HTTP endpoint.
13
+ */
14
+ export interface BasicAuthorization {
15
+ Username: string;
16
+ Password: string;
17
+ }
18
+ /**
19
+ * A bearer token for an HTTP endpoint.
20
+ */
21
+ export interface BearerTokenAuthorization {
22
+ Token: string;
23
+ }
24
+ /**
25
+ * OAuth client credentials for an HTTP endpoint.
26
+ */
27
+ export interface OAuthAuthorization {
28
+ Authority: string;
29
+ ClientId: string;
30
+ ClientSecret: string;
31
+ }
32
+ /**
33
+ * The authorization configured for an HTTP endpoint - at most one of the three is set.
34
+ */
35
+ export interface OneOfBasicAuthorizationBearerTokenAuthorizationOAuthAuthorization {
36
+ Value0: BasicAuthorization | undefined;
37
+ Value1: BearerTokenAuthorization | undefined;
38
+ Value2: OAuthAuthorization | undefined;
39
+ }
40
+ /**
41
+ * Configuration for an HTTP-based external service endpoint.
42
+ */
43
+ export interface HttpEndpointConfiguration {
44
+ Url: string;
45
+ Authorization: OneOfBasicAuthorizationBearerTokenAuthorizationOAuthAuthorization | undefined;
46
+ Headers: {
47
+ [key: string]: string;
48
+ };
49
+ }
50
+ /**
51
+ * Configuration for a database-based external service endpoint.
52
+ */
53
+ export interface DatabaseEndpointConfiguration {
54
+ Host: string;
55
+ Port: number;
56
+ Database: string;
57
+ Username: string;
58
+ Password: string;
59
+ Options: {
60
+ [key: string]: string;
61
+ };
62
+ }
63
+ /**
64
+ * The endpoint configured for an external service - either Http or Database, based on Type.
65
+ */
66
+ export interface ExternalServiceEndpoint {
67
+ Type: ExternalServiceEndpointType;
68
+ Http: HttpEndpointConfiguration | undefined;
69
+ Database: DatabaseEndpointConfiguration | undefined;
70
+ }
71
+ /**
72
+ * The definition of an external service registration.
73
+ */
74
+ export interface ExternalServiceDefinition {
75
+ Id: string;
76
+ Name: string;
77
+ Endpoint: ExternalServiceEndpoint | undefined;
78
+ }
79
+ /**
80
+ * Request for registering external services with the Kernel.
81
+ */
82
+ export interface AddExternalServices {
83
+ EventStore: string;
84
+ ExternalServices: ExternalServiceDefinition[];
85
+ }
86
+ /**
87
+ * An empty protobuf message.
88
+ */
89
+ export interface Empty {
90
+ }
91
+ type Builtin = Date | Function | Uint8Array | string | number | boolean | bigint | undefined;
92
+ export type DeepPartial<T> = T extends Builtin ? T : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? {
93
+ [K in keyof T]?: DeepPartial<T[K]>;
94
+ } : Partial<T>;
95
+ interface MessageFns<T> {
96
+ encode(message: T, writer?: BinaryWriter): BinaryWriter;
97
+ decode(input: BinaryReader | Uint8Array, length?: number): T;
98
+ fromJSON(object: unknown): T;
99
+ toJSON(message: T): unknown;
100
+ create(base?: DeepPartial<T>): T;
101
+ fromPartial(object: DeepPartial<T>): T;
102
+ }
103
+ export declare const EmptyMessage: MessageFns<Empty>;
104
+ export declare const BasicAuthorizationMessage: MessageFns<BasicAuthorization>;
105
+ export declare const BearerTokenAuthorizationMessage: MessageFns<BearerTokenAuthorization>;
106
+ export declare const OAuthAuthorizationMessage: MessageFns<OAuthAuthorization>;
107
+ export declare const OneOfBasicAuthorizationBearerTokenAuthorizationOAuthAuthorizationMessage: MessageFns<OneOfBasicAuthorizationBearerTokenAuthorizationOAuthAuthorization>;
108
+ export declare const HttpEndpointConfigurationMessage: MessageFns<HttpEndpointConfiguration>;
109
+ export declare const DatabaseEndpointConfigurationMessage: MessageFns<DatabaseEndpointConfiguration>;
110
+ export declare const ExternalServiceEndpointMessage: MessageFns<ExternalServiceEndpoint>;
111
+ export declare const ExternalServiceDefinitionMessage: MessageFns<ExternalServiceDefinition>;
112
+ export declare const AddExternalServicesMessage: MessageFns<AddExternalServices>;
113
+ /**
114
+ * External services gRPC service definition, for use with nice-grpc's client factory.
115
+ */
116
+ export declare const ExternalServicesDefinition: {
117
+ readonly name: "ExternalServices";
118
+ readonly fullName: "Cratis.Chronicle.Contracts.ExternalServices.ExternalServices";
119
+ readonly methods: {
120
+ readonly add: {
121
+ readonly name: "Add";
122
+ readonly requestType: MessageFns<AddExternalServices>;
123
+ readonly requestStream: false;
124
+ readonly responseType: MessageFns<Empty>;
125
+ readonly responseStream: false;
126
+ readonly options: {};
127
+ };
128
+ };
129
+ };
130
+ /**
131
+ * External services service client interface.
132
+ */
133
+ export interface ExternalServicesClient<CallOptionsExt = {}> {
134
+ add(request: DeepPartial<AddExternalServices>, options?: CallOptions & CallOptionsExt): Promise<Empty>;
135
+ }
136
+ export {};
137
+ //# sourceMappingURL=ExternalServicesContracts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExternalServicesContracts.d.ts","sourceRoot":"","sources":["../../externalServices/ExternalServicesContracts.ts"],"names":[],"mappings":"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"}