@cratis/chronicle 6.3.2 → 6.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (175) hide show
  1. package/EventStore.ts +3 -0
  2. package/README.md +13 -2
  3. package/artifacts/validateArtifactSchemas.spec.ts +61 -0
  4. package/artifacts/validateArtifactSchemas.ts +39 -0
  5. package/compliance/pii.ts +7 -6
  6. package/compliance/subject.ts +6 -5
  7. package/confidentiality/encrypted.ts +7 -6
  8. package/dist/EventStore.d.ts.map +1 -1
  9. package/dist/EventStore.js +2 -0
  10. package/dist/EventStore.js.map +1 -1
  11. package/dist/artifacts/validateArtifactSchemas.d.ts +4 -0
  12. package/dist/artifacts/validateArtifactSchemas.d.ts.map +1 -0
  13. package/dist/artifacts/validateArtifactSchemas.js +38 -0
  14. package/dist/artifacts/validateArtifactSchemas.js.map +1 -0
  15. package/dist/compliance/pii.d.ts +2 -1
  16. package/dist/compliance/pii.d.ts.map +1 -1
  17. package/dist/compliance/pii.js +6 -5
  18. package/dist/compliance/pii.js.map +1 -1
  19. package/dist/compliance/subject.d.ts +2 -1
  20. package/dist/compliance/subject.d.ts.map +1 -1
  21. package/dist/compliance/subject.js +5 -4
  22. package/dist/compliance/subject.js.map +1 -1
  23. package/dist/confidentiality/encrypted.d.ts +2 -1
  24. package/dist/confidentiality/encrypted.d.ts.map +1 -1
  25. package/dist/confidentiality/encrypted.js +6 -5
  26. package/dist/confidentiality/encrypted.js.map +1 -1
  27. package/dist/events/eventTypeDecorator.d.ts +8 -7
  28. package/dist/events/eventTypeDecorator.d.ts.map +1 -1
  29. package/dist/events/eventTypeDecorator.js +22 -5
  30. package/dist/events/eventTypeDecorator.js.map +1 -1
  31. package/dist/events/index.d.ts +1 -0
  32. package/dist/events/index.d.ts.map +1 -1
  33. package/dist/events/index.js +1 -0
  34. package/dist/events/index.js.map +1 -1
  35. package/dist/projections/modelBound/addFrom.d.ts +2 -1
  36. package/dist/projections/modelBound/addFrom.d.ts.map +1 -1
  37. package/dist/projections/modelBound/addFrom.js +4 -3
  38. package/dist/projections/modelBound/addFrom.js.map +1 -1
  39. package/dist/projections/modelBound/childrenFrom.d.ts +2 -1
  40. package/dist/projections/modelBound/childrenFrom.d.ts.map +1 -1
  41. package/dist/projections/modelBound/childrenFrom.js +4 -3
  42. package/dist/projections/modelBound/childrenFrom.js.map +1 -1
  43. package/dist/projections/modelBound/clearWith.d.ts +2 -1
  44. package/dist/projections/modelBound/clearWith.d.ts.map +1 -1
  45. package/dist/projections/modelBound/clearWith.js +4 -3
  46. package/dist/projections/modelBound/clearWith.js.map +1 -1
  47. package/dist/projections/modelBound/count.d.ts +2 -1
  48. package/dist/projections/modelBound/count.d.ts.map +1 -1
  49. package/dist/projections/modelBound/count.js +4 -3
  50. package/dist/projections/modelBound/count.js.map +1 -1
  51. package/dist/projections/modelBound/decrement.d.ts +2 -1
  52. package/dist/projections/modelBound/decrement.d.ts.map +1 -1
  53. package/dist/projections/modelBound/decrement.js +4 -3
  54. package/dist/projections/modelBound/decrement.js.map +1 -1
  55. package/dist/projections/modelBound/fromAll.d.ts +2 -1
  56. package/dist/projections/modelBound/fromAll.d.ts.map +1 -1
  57. package/dist/projections/modelBound/fromAll.js +4 -3
  58. package/dist/projections/modelBound/fromAll.js.map +1 -1
  59. package/dist/projections/modelBound/fromEvery.d.ts +2 -1
  60. package/dist/projections/modelBound/fromEvery.d.ts.map +1 -1
  61. package/dist/projections/modelBound/fromEvery.js +4 -3
  62. package/dist/projections/modelBound/fromEvery.js.map +1 -1
  63. package/dist/projections/modelBound/increment.d.ts +2 -1
  64. package/dist/projections/modelBound/increment.d.ts.map +1 -1
  65. package/dist/projections/modelBound/increment.js +4 -3
  66. package/dist/projections/modelBound/increment.js.map +1 -1
  67. package/dist/projections/modelBound/join.d.ts +2 -1
  68. package/dist/projections/modelBound/join.d.ts.map +1 -1
  69. package/dist/projections/modelBound/join.js +4 -3
  70. package/dist/projections/modelBound/join.js.map +1 -1
  71. package/dist/projections/modelBound/nested.d.ts +1 -6
  72. package/dist/projections/modelBound/nested.d.ts.map +1 -1
  73. package/dist/projections/modelBound/nested.js +6 -2
  74. package/dist/projections/modelBound/nested.js.map +1 -1
  75. package/dist/projections/modelBound/noAutoMap.d.ts +4 -11
  76. package/dist/projections/modelBound/noAutoMap.d.ts.map +1 -1
  77. package/dist/projections/modelBound/noAutoMap.js +6 -2
  78. package/dist/projections/modelBound/noAutoMap.js.map +1 -1
  79. package/dist/projections/modelBound/removedWith.d.ts +2 -1
  80. package/dist/projections/modelBound/removedWith.d.ts.map +1 -1
  81. package/dist/projections/modelBound/removedWith.js +4 -3
  82. package/dist/projections/modelBound/removedWith.js.map +1 -1
  83. package/dist/projections/modelBound/removedWithJoin.d.ts +2 -1
  84. package/dist/projections/modelBound/removedWithJoin.d.ts.map +1 -1
  85. package/dist/projections/modelBound/removedWithJoin.js +4 -3
  86. package/dist/projections/modelBound/removedWithJoin.js.map +1 -1
  87. package/dist/projections/modelBound/setFrom.d.ts +2 -1
  88. package/dist/projections/modelBound/setFrom.d.ts.map +1 -1
  89. package/dist/projections/modelBound/setFrom.js +4 -3
  90. package/dist/projections/modelBound/setFrom.js.map +1 -1
  91. package/dist/projections/modelBound/setFromContext.d.ts +3 -2
  92. package/dist/projections/modelBound/setFromContext.d.ts.map +1 -1
  93. package/dist/projections/modelBound/setFromContext.js +4 -3
  94. package/dist/projections/modelBound/setFromContext.js.map +1 -1
  95. package/dist/projections/modelBound/setValue.d.ts +2 -1
  96. package/dist/projections/modelBound/setValue.d.ts.map +1 -1
  97. package/dist/projections/modelBound/setValue.js +4 -3
  98. package/dist/projections/modelBound/setValue.js.map +1 -1
  99. package/dist/projections/modelBound/subtractFrom.d.ts +2 -1
  100. package/dist/projections/modelBound/subtractFrom.d.ts.map +1 -1
  101. package/dist/projections/modelBound/subtractFrom.js +4 -3
  102. package/dist/projections/modelBound/subtractFrom.js.map +1 -1
  103. package/dist/readModels/readModel.d.ts +2 -1
  104. package/dist/readModels/readModel.d.ts.map +1 -1
  105. package/dist/readModels/readModel.js +22 -5
  106. package/dist/readModels/readModel.js.map +1 -1
  107. package/dist/schemas/JsonSchemaGenerator.d.ts +6 -1
  108. package/dist/schemas/JsonSchemaGenerator.d.ts.map +1 -1
  109. package/dist/schemas/JsonSchemaGenerator.js +41 -31
  110. package/dist/schemas/JsonSchemaGenerator.js.map +1 -1
  111. package/dist/schemas/createDeferredSchema.d.ts +7 -0
  112. package/dist/schemas/createDeferredSchema.d.ts.map +1 -0
  113. package/dist/schemas/createDeferredSchema.js +19 -0
  114. package/dist/schemas/createDeferredSchema.js.map +1 -0
  115. package/dist/schemas/index.d.ts +1 -0
  116. package/dist/schemas/index.d.ts.map +1 -1
  117. package/dist/schemas/index.js.map +1 -1
  118. package/dist/schemas/jsonSchemaProperty.d.ts +2 -1
  119. package/dist/schemas/jsonSchemaProperty.d.ts.map +1 -1
  120. package/dist/schemas/jsonSchemaProperty.js +3 -2
  121. package/dist/schemas/jsonSchemaProperty.js.map +1 -1
  122. package/dist/tsconfig.tsbuildinfo +1 -1
  123. package/dist/types/TypeIntrospector.d.ts.map +1 -1
  124. package/dist/types/TypeIntrospector.js +9 -3
  125. package/dist/types/TypeIntrospector.js.map +1 -1
  126. package/dist/types/index.d.ts +2 -0
  127. package/dist/types/index.d.ts.map +1 -1
  128. package/dist/types/propertyDecoratorMetadata.d.ts +17 -0
  129. package/dist/types/propertyDecoratorMetadata.d.ts.map +1 -0
  130. package/dist/types/propertyDecoratorMetadata.js +76 -0
  131. package/dist/types/propertyDecoratorMetadata.js.map +1 -0
  132. package/dist/types/standardDecoratorMetadata.d.ts +9 -0
  133. package/dist/types/standardDecoratorMetadata.d.ts.map +1 -0
  134. package/dist/types/standardDecoratorMetadata.js +20 -0
  135. package/dist/types/standardDecoratorMetadata.js.map +1 -0
  136. package/events/classDecorators.standard.spec.ts +77 -0
  137. package/events/eventTypeDecorator.ts +31 -13
  138. package/events/index.ts +2 -0
  139. package/package.json +3 -1
  140. package/projections/modelBound/addFrom.ts +5 -4
  141. package/projections/modelBound/childrenFrom.ts +5 -4
  142. package/projections/modelBound/clearWith.ts +5 -4
  143. package/projections/modelBound/count.ts +5 -4
  144. package/projections/modelBound/decorators.standard.spec.ts +71 -0
  145. package/projections/modelBound/decrement.ts +5 -4
  146. package/projections/modelBound/fromAll.ts +5 -4
  147. package/projections/modelBound/fromEvery.ts +5 -4
  148. package/projections/modelBound/increment.ts +5 -4
  149. package/projections/modelBound/join.ts +5 -4
  150. package/projections/modelBound/nested.ts +9 -2
  151. package/projections/modelBound/noAutoMap.ts +11 -2
  152. package/projections/modelBound/removedWith.ts +5 -4
  153. package/projections/modelBound/removedWithJoin.ts +5 -4
  154. package/projections/modelBound/setFrom.ts +5 -4
  155. package/projections/modelBound/setFromContext.ts +7 -6
  156. package/projections/modelBound/setValue.ts +5 -4
  157. package/projections/modelBound/subtractFrom.ts +5 -4
  158. package/readModels/readModel.ts +24 -6
  159. package/readModels/standardFallbacks.standard.spec.ts +39 -0
  160. package/schemas/JsonSchemaGenerator.confidentiality.spec.ts +2 -0
  161. package/schemas/JsonSchemaGenerator.spec.ts +28 -1
  162. package/schemas/JsonSchemaGenerator.ts +45 -30
  163. package/schemas/createDeferredSchema.ts +21 -0
  164. package/schemas/decorators.expected.fixture.ts +24 -0
  165. package/schemas/decorators.legacy.spec.ts +62 -0
  166. package/schemas/decorators.standard.spec.ts +235 -0
  167. package/schemas/index.ts +1 -0
  168. package/schemas/jsonSchemaProperty.ts +4 -3
  169. package/schemas/legacyDesignMetadata.spec.ts +39 -0
  170. package/types/TypeIntrospector.ts +8 -3
  171. package/types/index.ts +2 -0
  172. package/types/propertyDecoratorMetadata.ts +80 -0
  173. package/types/standardDecoratorMetadata.spec.ts +31 -0
  174. package/types/standardDecoratorMetadata.ts +26 -0
  175. package/vitest.config.ts +17 -0
@@ -1 +1 @@
1
- {"version":"7.0.2","root":["../ChronicleClient.ts","../ChronicleOptions.ts","../EventStore.ts","../EventStoreName.ts","../EventStoreNamespaceName.ts","../IChronicleClient.ts","../IEventStore.ts","../Metrics.ts","../Tracing.ts","../index.ts","../artifacts/DefaultClientArtifactsProvider.ts","../artifacts/IClientArtifactsProvider.ts","../artifacts/index.ts","../auditing/Causation.ts","../auditing/CausationManager.ts","../auditing/CausationType.ts","../auditing/ICausationManager.ts","../auditing/index.ts","../compliance/ComplianceContracts.ts","../compliance/ComplianceMetadata.ts","../compliance/ComplianceMetadataResolver.ts","../compliance/ComplianceMetadataType.ts","../compliance/IPIIManager.ts","../compliance/PIIManager.ts","../compliance/PIINotSupportedOnEventSourceId.ts","../compliance/index.ts","../compliance/pii.ts","../compliance/subject.ts","../confidentiality/EncryptedNotSupportedOnEventSourceId.ts","../confidentiality/EncryptionScope.ts","../confidentiality/PIIAndEncryptedCombinedNotSupported.ts","../confidentiality/SecurityMetadata.ts","../confidentiality/SecurityMetadataResolver.ts","../confidentiality/SecurityMetadataType.ts","../confidentiality/encrypted.ts","../confidentiality/index.ts","../connection/ChronicleConnection.ts","../connection/ChronicleConnectionString.ts","../connection/ChronicleServerAddressResolver.ts","../connection/ChronicleServices.ts","../connection/ChronicleSrvResolutionError.ts","../connection/ChronicleSrvResolver.ts","../connection/CompatibilityPreflight.ts","../connection/ConnectionLifecycle.ts","../connection/DateTimeOffset.ts","../connection/Guid.ts","../connection/ILoadBalancerStrategy.ts","../connection/IncompatibleChronicleServer.ts","../connection/KernelKeepAlive.ts","../connection/LeastConnectionsLoadBalancerStrategy.ts","../connection/LoadBalancerMode.ts","../connection/LoadBalancerStrategyFactory.ts","../connection/RandomLoadBalancerStrategy.ts","../connection/RoundRobinLoadBalancerStrategy.ts","../connection/TokenProvider.ts","../connection/callResults.ts","../connection/fetchOAuthAccessToken.ts","../connection/formatServerAddress.ts","../connection/index.ts","../correlation/CorrelationId.ts","../correlation/CorrelationIdManager.ts","../correlation/ICorrelationIdAccessor.ts","../correlation/ICorrelationIdSetter.ts","../correlation/index.ts","../eventSequences/AppendError.ts","../eventSequences/AppendOperationsBroadcaster.ts","../eventSequences/AppendOptions.ts","../eventSequences/AppendResult.ts","../eventSequences/AppendedEventWithResult.ts","../eventSequences/CompleteStreamError.ts","../eventSequences/CompleteStreamResult.ts","../eventSequences/ConcurrencyScope.ts","../eventSequences/ConcurrencyViolation.ts","../eventSequences/ConstraintViolation.ts","../eventSequences/EventForEventSourceId.ts","../eventSequences/EventLog.ts","../eventSequences/EventSequence.ts","../eventSequences/EventSequenceId.ts","../eventSequences/EventSequenceNumber.ts","../eventSequences/IEventLog.ts","../eventSequences/IEventSequence.ts","../eventSequences/ITransactionalEventSequence.ts","../eventSequences/TransactionalEventSequence.ts","../eventSequences/WaitForCompletionResult.ts","../eventSequences/index.ts","../eventStoreSubscriptions/EventStoreSubscriptionBuilder.ts","../eventStoreSubscriptions/EventStoreSubscriptionDefinition.ts","../eventStoreSubscriptions/EventStoreSubscriptionId.ts","../eventStoreSubscriptions/EventStoreSubscriptions.ts","../eventStoreSubscriptions/IEventStoreSubscriptionBuilder.ts","../eventStoreSubscriptions/IEventStoreSubscriptions.ts","../eventStoreSubscriptions/contracts.ts","../eventStoreSubscriptions/index.ts","../events/AppendedEvent.ts","../events/CausationEntry.ts","../events/EventContext.ts","../events/EventType.ts","../events/EventTypeGeneration.ts","../events/EventTypeId.ts","../events/EventTypes.ts","../events/IEventTypes.ts","../events/Tag.ts","../events/WireEventContext.ts","../events/eventTypeDecorator.ts","../events/filterEventsByTagDecorator.ts","../events/index.ts","../events/mergeTags.ts","../events/tagDecorator.ts","../events/toClientEventContext.ts","../events/constraints/ConstraintBuilder.ts","../events/constraints/ConstraintId.ts","../events/constraints/Constraints.ts","../events/constraints/IConstraint.ts","../events/constraints/IConstraintBuilder.ts","../events/constraints/IConstraints.ts","../events/constraints/IUniqueConstraintBuilder.ts","../events/constraints/UniqueConstraintBuilder.ts","../events/constraints/constraint.ts","../events/constraints/index.ts","../events/migrations/EventMigrationBuilder.ts","../events/migrations/EventMigrationPropertyBuilder.ts","../events/migrations/EventTypeMigrators.ts","../events/migrations/IEventMigrationBuilder.ts","../events/migrations/IEventMigrationPropertyBuilder.ts","../events/migrations/IEventTypeMigration.ts","../events/migrations/IEventTypeMigrators.ts","../events/migrations/InvalidMigrationGenerationGap.ts","../events/migrations/eventTypeMigration.ts","../events/migrations/index.ts","../externalServices/ExternalServiceBuilder.ts","../externalServices/ExternalServices.ts","../externalServices/ExternalServicesContracts.ts","../externalServices/IExternalServiceBuilder.ts","../externalServices/IExternalServices.ts","../externalServices/index.ts","../identities/IIdentityManager.ts","../identities/IdentityManager.ts","../identities/index.ts","../identity/IIdentityProvider.ts","../identity/Identity.ts","../identity/IdentityProvider.ts","../identity/index.ts","../jobs/IJobs.ts","../jobs/JobId.ts","../jobs/Jobs.ts","../jobs/index.ts","../observation/FailedPartition.ts","../observation/FailedPartitionAttempt.ts","../observation/FailedPartitions.ts","../observation/ICanBeNotifiedWhenPartitionReplayed.ts","../observation/ICanBeNotifiedWhenReplay.ts","../observation/IFailedPartitions.ts","../observation/ObserverId.ts","../observation/ObserverRunningState.ts","../observation/index.ts","../observation/notifyReplayLifecycle.ts","../observation/toClientFailedPartition.ts","../observation/toObserverRunningState.ts","../projections/GlobalHandlerPropertyNotOnVariant.ts","../projections/IProjections.ts","../projections/ProjectionId.ts","../projections/ProjectionQueryResult.ts","../projections/ProjectionState.ts","../projections/Projections.ts","../projections/UnableToQueryProjection.ts","../projections/VariantMustDeclareEntersOnEvent.ts","../projections/VariantReclassifier.ts","../projections/index.ts","../projections/declarative/AddBuilder.ts","../projections/declarative/AddChildBuilder.ts","../projections/declarative/AllSetBuilder.ts","../projections/declarative/ChildrenBuilder.ts","../projections/declarative/CompositeKeyBuilder.ts","../projections/declarative/FromBuilder.ts","../projections/declarative/FromEveryBuilder.ts","../projections/declarative/IAddBuilder.ts","../projections/declarative/IAddChildBuilder.ts","../projections/declarative/IAllSetBuilder.ts","../projections/declarative/IChildrenBuilder.ts","../projections/declarative/ICompositeKeyBuilder.ts","../projections/declarative/IFromBuilder.ts","../projections/declarative/IFromEveryBuilder.ts","../projections/declarative/IJoinBuilder.ts","../projections/declarative/INestedBuilder.ts","../projections/declarative/IProjectionBuilder.ts","../projections/declarative/IProjectionBuilderFor.ts","../projections/declarative/IProjectionFor.ts","../projections/declarative/IReadModelPropertiesBuilder.ts","../projections/declarative/IRemovedWithBuilder.ts","../projections/declarative/IRemovedWithJoinBuilder.ts","../projections/declarative/ISetBuilder.ts","../projections/declarative/ISubtractBuilder.ts","../projections/declarative/JoinBuilder.ts","../projections/declarative/NestedBuilder.ts","../projections/declarative/ProjectionBuilderCore.ts","../projections/declarative/ProjectionBuilderFor.ts","../projections/declarative/RemovedWithBuilder.ts","../projections/declarative/RemovedWithJoinBuilder.ts","../projections/declarative/SetBuilder.ts","../projections/declarative/SubtractBuilder.ts","../projections/declarative/index.ts","../projections/declarative/projection.ts","../projections/modelBound/FromEventMetadata.ts","../projections/modelBound/FromEventOptions.ts","../projections/modelBound/addFrom.ts","../projections/modelBound/childrenAndNestedBuilder.ts","../projections/modelBound/childrenFrom.ts","../projections/modelBound/clearWith.ts","../projections/modelBound/count.ts","../projections/modelBound/decrement.ts","../projections/modelBound/entersOn.ts","../projections/modelBound/eventSequence.ts","../projections/modelBound/fromAll.ts","../projections/modelBound/fromEvent.ts","../projections/modelBound/fromEvery.ts","../projections/modelBound/globalFor.ts","../projections/modelBound/increment.ts","../projections/modelBound/index.ts","../projections/modelBound/join.ts","../projections/modelBound/nested.ts","../projections/modelBound/noAutoMap.ts","../projections/modelBound/notRewindable.ts","../projections/modelBound/passive.ts","../projections/modelBound/removedWith.ts","../projections/modelBound/removedWithJoin.ts","../projections/modelBound/setFrom.ts","../projections/modelBound/setFromContext.ts","../projections/modelBound/setValue.ts","../projections/modelBound/subtractFrom.ts","../projections/modelBound/variantOf.ts","../reactors/IReactors.ts","../reactors/ReactorId.ts","../reactors/ReactorSideEffects.ts","../reactors/Reactors.ts","../reactors/index.ts","../reactors/reactor.ts","../readModels/IMaterializedReadModels.ts","../readModels/IReadModels.ts","../readModels/MaterializedReadModels.ts","../readModels/ReadModelChangeset.ts","../readModels/ReadModelId.ts","../readModels/ReadModelSnapshot.ts","../readModels/ReadModelSubjectResolver.ts","../readModels/ReadModels.ts","../readModels/index.ts","../readModels/readModel.ts","../reducers/IReducers.ts","../reducers/ReducerId.ts","../reducers/Reducers.ts","../reducers/index.ts","../reducers/reducer.ts","../schemas/JsonSchema.ts","../schemas/JsonSchemaGenerator.ts","../schemas/index.ts","../schemas/jsonSchemaProperty.ts","../seeding/EventSeeding.ts","../seeding/ICanSeedEvents.ts","../seeding/IEventSeeding.ts","../seeding/IEventSeedingBuilder.ts","../seeding/IEventSeedingScopeBuilder.ts","../seeding/index.ts","../seeding/seeder.ts","../sinks/WellKnownSinks.ts","../sinks/index.ts","../transactions/IUnitOfWork.ts","../transactions/IUnitOfWorkManager.ts","../transactions/NoUnitOfWorkHasBeenStarted.ts","../transactions/UnitOfWork.ts","../transactions/UnitOfWorkManager.ts","../transactions/index.ts","../types/DecoratorType.ts","../types/TypeDiscoverer.ts","../types/TypeIntrospector.ts","../types/index.ts","../webhooks/IWebhook.ts","../webhooks/IWebhookDefinitionBuilder.ts","../webhooks/IWebhooks.ts","../webhooks/WebhookDefinitionBuilder.ts","../webhooks/WebhookId.ts","../webhooks/WebhookTargetUrl.ts","../webhooks/Webhooks.ts","../webhooks/index.ts","../webhooks/webhook.ts"],"packageJsons":["../package.json","../../node_modules/@bufbuild/protobuf/dist/esm/package.json","../../node_modules/@bufbuild/protobuf/package.json","../../node_modules/@cratis/chronicle.contracts/node_modules/@bufbuild/protobuf/dist/esm/package.json","../../node_modules/@cratis/chronicle.contracts/node_modules/@bufbuild/protobuf/package.json","../../node_modules/@cratis/chronicle.contracts/package.json","../../node_modules/@cratis/fundamentals/dist/esm/package.json","../../node_modules/@cratis/fundamentals/package.json","../../node_modules/@grpc/grpc-js/package.json","../../node_modules/@grpc/proto-loader/package.json","../../node_modules/@js-sdsl/ordered-map/package.json","../../node_modules/@opentelemetry/api/package.json","../../node_modules/@types/node/package.json","../../node_modules/glob/dist/esm/package.json","../../node_modules/glob/package.json","../../node_modules/long/package.json","../../node_modules/long/umd/package.json","../../node_modules/lru-cache/dist/esm/package.json","../../node_modules/lru-cache/package.json","../../node_modules/minimatch/dist/esm/package.json","../../node_modules/minimatch/package.json","../../node_modules/minipass/dist/esm/package.json","../../node_modules/minipass/package.json","../../node_modules/nice-grpc-common/package.json","../../node_modules/nice-grpc/package.json","../../node_modules/path-scurry/dist/esm/package.json","../../node_modules/path-scurry/package.json","../../node_modules/protobufjs/package.json","../../node_modules/reflect-metadata/package.json","../../node_modules/ts-error/package.json","../../node_modules/undici-types/package.json","../../node_modules/undici/package.json"],"missingPackageJsons":["../../node_modules/@bufbuild/protobuf/dist/esm/codegenv1/package.json","../../node_modules/@bufbuild/protobuf/dist/esm/codegenv2/package.json","../../node_modules/@bufbuild/protobuf/dist/esm/reflect/package.json","../../node_modules/@bufbuild/protobuf/dist/esm/wire/package.json","../../node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/package.json","../../node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/package.json","../../node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/package.json","../../node_modules/@bufbuild/protobuf/dist/esm/wkt/package.json","../../node_modules/@bufbuild/protobuf/wire/package.json","../../node_modules/@cratis/chronicle.contracts/dist/esm/generated/google/package.json","../../node_modules/@cratis/chronicle.contracts/dist/esm/generated/google/protobuf/package.json","../../node_modules/@cratis/chronicle.contracts/dist/esm/generated/package.json","../../node_modules/@cratis/chronicle.contracts/dist/esm/generated/protobuf-net/package.json","../../node_modules/@cratis/chronicle.contracts/dist/esm/package.json","../../node_modules/@cratis/chronicle.contracts/dist/package.json","../../node_modules/@cratis/chronicle.contracts/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/package.json","../../node_modules/@cratis/chronicle.contracts/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/package.json","../../node_modules/@cratis/chronicle.contracts/node_modules/@bufbuild/protobuf/dist/esm/reflect/package.json","../../node_modules/@cratis/chronicle.contracts/node_modules/@bufbuild/protobuf/dist/esm/wire/package.json","../../node_modules/@cratis/chronicle.contracts/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/package.json","../../node_modules/@cratis/chronicle.contracts/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/package.json","../../node_modules/@cratis/chronicle.contracts/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/package.json","../../node_modules/@cratis/chronicle.contracts/node_modules/@bufbuild/protobuf/dist/esm/wkt/package.json","../../node_modules/@cratis/chronicle.contracts/node_modules/@bufbuild/protobuf/wire/package.json","../../node_modules/@cratis/chronicle.contracts/node_modules/nice-grpc-common/package.json","../../node_modules/@cratis/fundamentals/dist/esm/geospatial/package.json","../../node_modules/@cratis/fundamentals/dist/esm/json/package.json","../../node_modules/@grpc/grpc-js/build/package.json","../../node_modules/@grpc/grpc-js/build/src/generated/google/package.json","../../node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/package.json","../../node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/package.json","../../node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/package.json","../../node_modules/@grpc/grpc-js/build/src/generated/grpc/package.json","../../node_modules/@grpc/grpc-js/build/src/generated/package.json","../../node_modules/@grpc/grpc-js/build/src/generated/xds/data/orca/package.json","../../node_modules/@grpc/grpc-js/build/src/generated/xds/data/orca/v3/package.json","../../node_modules/@grpc/grpc-js/build/src/generated/xds/data/package.json","../../node_modules/@grpc/grpc-js/build/src/generated/xds/package.json","../../node_modules/@grpc/grpc-js/build/src/generated/xds/service/orca/package.json","../../node_modules/@grpc/grpc-js/build/src/generated/xds/service/orca/v3/package.json","../../node_modules/@grpc/grpc-js/build/src/generated/xds/service/package.json","../../node_modules/@grpc/grpc-js/build/src/package.json","../../node_modules/@grpc/proto-loader/build/package.json","../../node_modules/@grpc/proto-loader/build/src/package.json","../../node_modules/@js-sdsl/ordered-map/dist/esm/package.json","../../node_modules/@js-sdsl/ordered-map/dist/package.json","../../node_modules/@opentelemetry/api/build/package.json","../../node_modules/@opentelemetry/api/build/src/api/package.json","../../node_modules/@opentelemetry/api/build/src/baggage/internal/package.json","../../node_modules/@opentelemetry/api/build/src/baggage/package.json","../../node_modules/@opentelemetry/api/build/src/common/package.json","../../node_modules/@opentelemetry/api/build/src/context/package.json","../../node_modules/@opentelemetry/api/build/src/diag/package.json","../../node_modules/@opentelemetry/api/build/src/metrics/package.json","../../node_modules/@opentelemetry/api/build/src/package.json","../../node_modules/@opentelemetry/api/build/src/propagation/package.json","../../node_modules/@opentelemetry/api/build/src/trace/internal/package.json","../../node_modules/@opentelemetry/api/build/src/trace/package.json","../../node_modules/@types/assert/package.json","../../node_modules/@types/assert/strict/package.json","../../node_modules/@types/async_hooks/package.json","../../node_modules/@types/buffer/package.json","../../node_modules/@types/child_process/package.json","../../node_modules/@types/cluster/package.json","../../node_modules/@types/console/package.json","../../node_modules/@types/constants/package.json","../../node_modules/@types/crypto/package.json","../../node_modules/@types/dgram/package.json","../../node_modules/@types/diagnostics_channel/package.json","../../node_modules/@types/dns/package.json","../../node_modules/@types/dns/promises/package.json","../../node_modules/@types/domain/package.json","../../node_modules/@types/events/package.json","../../node_modules/@types/fs/package.json","../../node_modules/@types/fs/promises/package.json","../../node_modules/@types/http/package.json","../../node_modules/@types/http2/package.json","../../node_modules/@types/https/package.json","../../node_modules/@types/inspector/package.json","../../node_modules/@types/inspector/promises/package.json","../../node_modules/@types/module/package.json","../../node_modules/@types/net/package.json","../../node_modules/@types/node/assert/package.json","../../node_modules/@types/node/dns/package.json","../../node_modules/@types/node/fs/package.json","../../node_modules/@types/node/inspector/package.json","../../node_modules/@types/node/path/package.json","../../node_modules/@types/node/readline/package.json","../../node_modules/@types/node/stream/package.json","../../node_modules/@types/node/test/package.json","../../node_modules/@types/node/timers/package.json","../../node_modules/@types/node/util/package.json","../../node_modules/@types/node/web-globals/package.json","../../node_modules/@types/node/zlib/package.json","../../node_modules/@types/os/package.json","../../node_modules/@types/path/package.json","../../node_modules/@types/path/posix/package.json","../../node_modules/@types/path/win32/package.json","../../node_modules/@types/perf_hooks/package.json","../../node_modules/@types/process/package.json","../../node_modules/@types/punycode/package.json","../../node_modules/@types/querystring/package.json","../../node_modules/@types/readline/package.json","../../node_modules/@types/readline/promises/package.json","../../node_modules/@types/repl/package.json","../../node_modules/@types/stream/consumers/package.json","../../node_modules/@types/stream/iter/package.json","../../node_modules/@types/stream/package.json","../../node_modules/@types/stream/promises/package.json","../../node_modules/@types/stream/web/package.json","../../node_modules/@types/string_decoder/package.json","../../node_modules/@types/timers/package.json","../../node_modules/@types/timers/promises/package.json","../../node_modules/@types/tls/package.json","../../node_modules/@types/trace_events/package.json","../../node_modules/@types/tty/package.json","../../node_modules/@types/url/package.json","../../node_modules/@types/util/package.json","../../node_modules/@types/util/types/package.json","../../node_modules/@types/v8/package.json","../../node_modules/@types/vm/package.json","../../node_modules/@types/wasi/package.json","../../node_modules/@types/worker_threads/package.json","../../node_modules/@types/zlib/package.json","../../node_modules/assert/package.json","../../node_modules/assert/strict/package.json","../../node_modules/async_hooks/package.json","../../node_modules/buffer/package.json","../../node_modules/child_process/package.json","../../node_modules/cluster/package.json","../../node_modules/console/package.json","../../node_modules/constants/package.json","../../node_modules/crypto/package.json","../../node_modules/dgram/package.json","../../node_modules/diagnostics_channel/package.json","../../node_modules/dns/package.json","../../node_modules/dns/promises/package.json","../../node_modules/domain/package.json","../../node_modules/events/package.json","../../node_modules/fs/package.json","../../node_modules/fs/promises/package.json","../../node_modules/http/package.json","../../node_modules/http2/package.json","../../node_modules/https/package.json","../../node_modules/inspector/package.json","../../node_modules/inspector/promises/package.json","../../node_modules/module/package.json","../../node_modules/net/package.json","../../node_modules/nice-grpc-common/lib/client/package.json","../../node_modules/nice-grpc-common/lib/package.json","../../node_modules/nice-grpc-common/lib/server/package.json","../../node_modules/nice-grpc/lib/client/package.json","../../node_modules/nice-grpc/lib/package.json","../../node_modules/nice-grpc/lib/server/package.json","../../node_modules/nice-grpc/lib/service-definitions/package.json","../../node_modules/nice-grpc/lib/utils/package.json","../../node_modules/os/package.json","../../node_modules/path/package.json","../../node_modules/path/posix/package.json","../../node_modules/path/win32/package.json","../../node_modules/perf_hooks/package.json","../../node_modules/process/package.json","../../node_modules/protobufjs/ext/descriptor/package.json","../../node_modules/protobufjs/ext/package.json","../../node_modules/protobufjs/node_modules/@types/long/package.json","../../node_modules/protobufjs/node_modules/long/package.json","../../node_modules/punycode/package.json","../../node_modules/querystring/package.json","../../node_modules/readline/package.json","../../node_modules/readline/promises/package.json","../../node_modules/repl/package.json","../../node_modules/stream/consumers/package.json","../../node_modules/stream/iter/package.json","../../node_modules/stream/package.json","../../node_modules/stream/promises/package.json","../../node_modules/stream/web/package.json","../../node_modules/string_decoder/package.json","../../node_modules/timers/package.json","../../node_modules/timers/promises/package.json","../../node_modules/tls/package.json","../../node_modules/trace_events/package.json","../../node_modules/ts-error/lib/package.json","../../node_modules/tty/package.json","../../node_modules/undici/types/package.json","../../node_modules/url/package.json","../../node_modules/util/package.json","../../node_modules/util/types/package.json","../../node_modules/v8/package.json","../../node_modules/vm/package.json","../../node_modules/wasi/package.json","../../node_modules/worker_threads/package.json","../../node_modules/zlib/package.json"]}
1
+ {"version":"7.0.2","root":["../ChronicleClient.ts","../ChronicleOptions.ts","../EventStore.ts","../EventStoreName.ts","../EventStoreNamespaceName.ts","../IChronicleClient.ts","../IEventStore.ts","../Metrics.ts","../Tracing.ts","../index.ts","../artifacts/DefaultClientArtifactsProvider.ts","../artifacts/IClientArtifactsProvider.ts","../artifacts/index.ts","../artifacts/validateArtifactSchemas.ts","../auditing/Causation.ts","../auditing/CausationManager.ts","../auditing/CausationType.ts","../auditing/ICausationManager.ts","../auditing/index.ts","../compliance/ComplianceContracts.ts","../compliance/ComplianceMetadata.ts","../compliance/ComplianceMetadataResolver.ts","../compliance/ComplianceMetadataType.ts","../compliance/IPIIManager.ts","../compliance/PIIManager.ts","../compliance/PIINotSupportedOnEventSourceId.ts","../compliance/index.ts","../compliance/pii.ts","../compliance/subject.ts","../confidentiality/EncryptedNotSupportedOnEventSourceId.ts","../confidentiality/EncryptionScope.ts","../confidentiality/PIIAndEncryptedCombinedNotSupported.ts","../confidentiality/SecurityMetadata.ts","../confidentiality/SecurityMetadataResolver.ts","../confidentiality/SecurityMetadataType.ts","../confidentiality/encrypted.ts","../confidentiality/index.ts","../connection/ChronicleConnection.ts","../connection/ChronicleConnectionString.ts","../connection/ChronicleServerAddressResolver.ts","../connection/ChronicleServices.ts","../connection/ChronicleSrvResolutionError.ts","../connection/ChronicleSrvResolver.ts","../connection/CompatibilityPreflight.ts","../connection/ConnectionLifecycle.ts","../connection/DateTimeOffset.ts","../connection/Guid.ts","../connection/ILoadBalancerStrategy.ts","../connection/IncompatibleChronicleServer.ts","../connection/KernelKeepAlive.ts","../connection/LeastConnectionsLoadBalancerStrategy.ts","../connection/LoadBalancerMode.ts","../connection/LoadBalancerStrategyFactory.ts","../connection/RandomLoadBalancerStrategy.ts","../connection/RoundRobinLoadBalancerStrategy.ts","../connection/TokenProvider.ts","../connection/callResults.ts","../connection/fetchOAuthAccessToken.ts","../connection/formatServerAddress.ts","../connection/index.ts","../correlation/CorrelationId.ts","../correlation/CorrelationIdManager.ts","../correlation/ICorrelationIdAccessor.ts","../correlation/ICorrelationIdSetter.ts","../correlation/index.ts","../eventSequences/AppendError.ts","../eventSequences/AppendOperationsBroadcaster.ts","../eventSequences/AppendOptions.ts","../eventSequences/AppendResult.ts","../eventSequences/AppendedEventWithResult.ts","../eventSequences/CompleteStreamError.ts","../eventSequences/CompleteStreamResult.ts","../eventSequences/ConcurrencyScope.ts","../eventSequences/ConcurrencyViolation.ts","../eventSequences/ConstraintViolation.ts","../eventSequences/EventForEventSourceId.ts","../eventSequences/EventLog.ts","../eventSequences/EventSequence.ts","../eventSequences/EventSequenceId.ts","../eventSequences/EventSequenceNumber.ts","../eventSequences/IEventLog.ts","../eventSequences/IEventSequence.ts","../eventSequences/ITransactionalEventSequence.ts","../eventSequences/TransactionalEventSequence.ts","../eventSequences/WaitForCompletionResult.ts","../eventSequences/index.ts","../eventStoreSubscriptions/EventStoreSubscriptionBuilder.ts","../eventStoreSubscriptions/EventStoreSubscriptionDefinition.ts","../eventStoreSubscriptions/EventStoreSubscriptionId.ts","../eventStoreSubscriptions/EventStoreSubscriptions.ts","../eventStoreSubscriptions/IEventStoreSubscriptionBuilder.ts","../eventStoreSubscriptions/IEventStoreSubscriptions.ts","../eventStoreSubscriptions/contracts.ts","../eventStoreSubscriptions/index.ts","../events/AppendedEvent.ts","../events/CausationEntry.ts","../events/EventContext.ts","../events/EventType.ts","../events/EventTypeGeneration.ts","../events/EventTypeId.ts","../events/EventTypes.ts","../events/IEventTypes.ts","../events/Tag.ts","../events/WireEventContext.ts","../events/eventTypeDecorator.ts","../events/filterEventsByTagDecorator.ts","../events/index.ts","../events/mergeTags.ts","../events/tagDecorator.ts","../events/toClientEventContext.ts","../events/constraints/ConstraintBuilder.ts","../events/constraints/ConstraintId.ts","../events/constraints/Constraints.ts","../events/constraints/IConstraint.ts","../events/constraints/IConstraintBuilder.ts","../events/constraints/IConstraints.ts","../events/constraints/IUniqueConstraintBuilder.ts","../events/constraints/UniqueConstraintBuilder.ts","../events/constraints/constraint.ts","../events/constraints/index.ts","../events/migrations/EventMigrationBuilder.ts","../events/migrations/EventMigrationPropertyBuilder.ts","../events/migrations/EventTypeMigrators.ts","../events/migrations/IEventMigrationBuilder.ts","../events/migrations/IEventMigrationPropertyBuilder.ts","../events/migrations/IEventTypeMigration.ts","../events/migrations/IEventTypeMigrators.ts","../events/migrations/InvalidMigrationGenerationGap.ts","../events/migrations/eventTypeMigration.ts","../events/migrations/index.ts","../externalServices/ExternalServiceBuilder.ts","../externalServices/ExternalServices.ts","../externalServices/ExternalServicesContracts.ts","../externalServices/IExternalServiceBuilder.ts","../externalServices/IExternalServices.ts","../externalServices/index.ts","../identities/IIdentityManager.ts","../identities/IdentityManager.ts","../identities/index.ts","../identity/IIdentityProvider.ts","../identity/Identity.ts","../identity/IdentityProvider.ts","../identity/index.ts","../jobs/IJobs.ts","../jobs/JobId.ts","../jobs/Jobs.ts","../jobs/index.ts","../observation/FailedPartition.ts","../observation/FailedPartitionAttempt.ts","../observation/FailedPartitions.ts","../observation/ICanBeNotifiedWhenPartitionReplayed.ts","../observation/ICanBeNotifiedWhenReplay.ts","../observation/IFailedPartitions.ts","../observation/ObserverId.ts","../observation/ObserverRunningState.ts","../observation/index.ts","../observation/notifyReplayLifecycle.ts","../observation/toClientFailedPartition.ts","../observation/toObserverRunningState.ts","../projections/GlobalHandlerPropertyNotOnVariant.ts","../projections/IProjections.ts","../projections/ProjectionId.ts","../projections/ProjectionQueryResult.ts","../projections/ProjectionState.ts","../projections/Projections.ts","../projections/UnableToQueryProjection.ts","../projections/VariantMustDeclareEntersOnEvent.ts","../projections/VariantReclassifier.ts","../projections/index.ts","../projections/declarative/AddBuilder.ts","../projections/declarative/AddChildBuilder.ts","../projections/declarative/AllSetBuilder.ts","../projections/declarative/ChildrenBuilder.ts","../projections/declarative/CompositeKeyBuilder.ts","../projections/declarative/FromBuilder.ts","../projections/declarative/FromEveryBuilder.ts","../projections/declarative/IAddBuilder.ts","../projections/declarative/IAddChildBuilder.ts","../projections/declarative/IAllSetBuilder.ts","../projections/declarative/IChildrenBuilder.ts","../projections/declarative/ICompositeKeyBuilder.ts","../projections/declarative/IFromBuilder.ts","../projections/declarative/IFromEveryBuilder.ts","../projections/declarative/IJoinBuilder.ts","../projections/declarative/INestedBuilder.ts","../projections/declarative/IProjectionBuilder.ts","../projections/declarative/IProjectionBuilderFor.ts","../projections/declarative/IProjectionFor.ts","../projections/declarative/IReadModelPropertiesBuilder.ts","../projections/declarative/IRemovedWithBuilder.ts","../projections/declarative/IRemovedWithJoinBuilder.ts","../projections/declarative/ISetBuilder.ts","../projections/declarative/ISubtractBuilder.ts","../projections/declarative/JoinBuilder.ts","../projections/declarative/NestedBuilder.ts","../projections/declarative/ProjectionBuilderCore.ts","../projections/declarative/ProjectionBuilderFor.ts","../projections/declarative/RemovedWithBuilder.ts","../projections/declarative/RemovedWithJoinBuilder.ts","../projections/declarative/SetBuilder.ts","../projections/declarative/SubtractBuilder.ts","../projections/declarative/index.ts","../projections/declarative/projection.ts","../projections/modelBound/FromEventMetadata.ts","../projections/modelBound/FromEventOptions.ts","../projections/modelBound/addFrom.ts","../projections/modelBound/childrenAndNestedBuilder.ts","../projections/modelBound/childrenFrom.ts","../projections/modelBound/clearWith.ts","../projections/modelBound/count.ts","../projections/modelBound/decrement.ts","../projections/modelBound/entersOn.ts","../projections/modelBound/eventSequence.ts","../projections/modelBound/fromAll.ts","../projections/modelBound/fromEvent.ts","../projections/modelBound/fromEvery.ts","../projections/modelBound/globalFor.ts","../projections/modelBound/increment.ts","../projections/modelBound/index.ts","../projections/modelBound/join.ts","../projections/modelBound/nested.ts","../projections/modelBound/noAutoMap.ts","../projections/modelBound/notRewindable.ts","../projections/modelBound/passive.ts","../projections/modelBound/removedWith.ts","../projections/modelBound/removedWithJoin.ts","../projections/modelBound/setFrom.ts","../projections/modelBound/setFromContext.ts","../projections/modelBound/setValue.ts","../projections/modelBound/subtractFrom.ts","../projections/modelBound/variantOf.ts","../reactors/IReactors.ts","../reactors/ReactorId.ts","../reactors/ReactorSideEffects.ts","../reactors/Reactors.ts","../reactors/index.ts","../reactors/reactor.ts","../readModels/IMaterializedReadModels.ts","../readModels/IReadModels.ts","../readModels/MaterializedReadModels.ts","../readModels/ReadModelChangeset.ts","../readModels/ReadModelId.ts","../readModels/ReadModelSnapshot.ts","../readModels/ReadModelSubjectResolver.ts","../readModels/ReadModels.ts","../readModels/index.ts","../readModels/readModel.ts","../reducers/IReducers.ts","../reducers/ReducerId.ts","../reducers/Reducers.ts","../reducers/index.ts","../reducers/reducer.ts","../schemas/JsonSchema.ts","../schemas/JsonSchemaGenerator.ts","../schemas/createDeferredSchema.ts","../schemas/index.ts","../schemas/jsonSchemaProperty.ts","../seeding/EventSeeding.ts","../seeding/ICanSeedEvents.ts","../seeding/IEventSeeding.ts","../seeding/IEventSeedingBuilder.ts","../seeding/IEventSeedingScopeBuilder.ts","../seeding/index.ts","../seeding/seeder.ts","../sinks/WellKnownSinks.ts","../sinks/index.ts","../transactions/IUnitOfWork.ts","../transactions/IUnitOfWorkManager.ts","../transactions/NoUnitOfWorkHasBeenStarted.ts","../transactions/UnitOfWork.ts","../transactions/UnitOfWorkManager.ts","../transactions/index.ts","../types/DecoratorType.ts","../types/TypeDiscoverer.ts","../types/TypeIntrospector.ts","../types/index.ts","../types/propertyDecoratorMetadata.ts","../types/standardDecoratorMetadata.ts","../webhooks/IWebhook.ts","../webhooks/IWebhookDefinitionBuilder.ts","../webhooks/IWebhooks.ts","../webhooks/WebhookDefinitionBuilder.ts","../webhooks/WebhookId.ts","../webhooks/WebhookTargetUrl.ts","../webhooks/Webhooks.ts","../webhooks/index.ts","../webhooks/webhook.ts"],"packageJsons":["../package.json","../../node_modules/@bufbuild/protobuf/dist/esm/package.json","../../node_modules/@bufbuild/protobuf/package.json","../../node_modules/@cratis/chronicle.contracts/node_modules/@bufbuild/protobuf/dist/esm/package.json","../../node_modules/@cratis/chronicle.contracts/node_modules/@bufbuild/protobuf/package.json","../../node_modules/@cratis/chronicle.contracts/package.json","../../node_modules/@cratis/fundamentals/dist/esm/package.json","../../node_modules/@cratis/fundamentals/package.json","../../node_modules/@grpc/grpc-js/package.json","../../node_modules/@grpc/proto-loader/package.json","../../node_modules/@js-sdsl/ordered-map/package.json","../../node_modules/@opentelemetry/api/package.json","../../node_modules/@types/node/package.json","../../node_modules/glob/dist/esm/package.json","../../node_modules/glob/package.json","../../node_modules/long/package.json","../../node_modules/long/umd/package.json","../../node_modules/lru-cache/dist/esm/package.json","../../node_modules/lru-cache/package.json","../../node_modules/minimatch/dist/esm/package.json","../../node_modules/minimatch/package.json","../../node_modules/minipass/dist/esm/package.json","../../node_modules/minipass/package.json","../../node_modules/nice-grpc-common/package.json","../../node_modules/nice-grpc/package.json","../../node_modules/path-scurry/dist/esm/package.json","../../node_modules/path-scurry/package.json","../../node_modules/protobufjs/package.json","../../node_modules/reflect-metadata/package.json","../../node_modules/ts-error/package.json","../../node_modules/undici-types/package.json","../../node_modules/undici/package.json"],"missingPackageJsons":["../../node_modules/@bufbuild/protobuf/dist/esm/codegenv1/package.json","../../node_modules/@bufbuild/protobuf/dist/esm/codegenv2/package.json","../../node_modules/@bufbuild/protobuf/dist/esm/reflect/package.json","../../node_modules/@bufbuild/protobuf/dist/esm/wire/package.json","../../node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/package.json","../../node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/package.json","../../node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/package.json","../../node_modules/@bufbuild/protobuf/dist/esm/wkt/package.json","../../node_modules/@bufbuild/protobuf/wire/package.json","../../node_modules/@cratis/chronicle.contracts/dist/esm/generated/google/package.json","../../node_modules/@cratis/chronicle.contracts/dist/esm/generated/google/protobuf/package.json","../../node_modules/@cratis/chronicle.contracts/dist/esm/generated/package.json","../../node_modules/@cratis/chronicle.contracts/dist/esm/generated/protobuf-net/package.json","../../node_modules/@cratis/chronicle.contracts/dist/esm/package.json","../../node_modules/@cratis/chronicle.contracts/dist/package.json","../../node_modules/@cratis/chronicle.contracts/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/package.json","../../node_modules/@cratis/chronicle.contracts/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/package.json","../../node_modules/@cratis/chronicle.contracts/node_modules/@bufbuild/protobuf/dist/esm/reflect/package.json","../../node_modules/@cratis/chronicle.contracts/node_modules/@bufbuild/protobuf/dist/esm/wire/package.json","../../node_modules/@cratis/chronicle.contracts/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/package.json","../../node_modules/@cratis/chronicle.contracts/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/package.json","../../node_modules/@cratis/chronicle.contracts/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/package.json","../../node_modules/@cratis/chronicle.contracts/node_modules/@bufbuild/protobuf/dist/esm/wkt/package.json","../../node_modules/@cratis/chronicle.contracts/node_modules/@bufbuild/protobuf/wire/package.json","../../node_modules/@cratis/chronicle.contracts/node_modules/nice-grpc-common/package.json","../../node_modules/@cratis/fundamentals/dist/esm/geospatial/package.json","../../node_modules/@cratis/fundamentals/dist/esm/json/package.json","../../node_modules/@grpc/grpc-js/build/package.json","../../node_modules/@grpc/grpc-js/build/src/generated/google/package.json","../../node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/package.json","../../node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/package.json","../../node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/package.json","../../node_modules/@grpc/grpc-js/build/src/generated/grpc/package.json","../../node_modules/@grpc/grpc-js/build/src/generated/package.json","../../node_modules/@grpc/grpc-js/build/src/generated/xds/data/orca/package.json","../../node_modules/@grpc/grpc-js/build/src/generated/xds/data/orca/v3/package.json","../../node_modules/@grpc/grpc-js/build/src/generated/xds/data/package.json","../../node_modules/@grpc/grpc-js/build/src/generated/xds/package.json","../../node_modules/@grpc/grpc-js/build/src/generated/xds/service/orca/package.json","../../node_modules/@grpc/grpc-js/build/src/generated/xds/service/orca/v3/package.json","../../node_modules/@grpc/grpc-js/build/src/generated/xds/service/package.json","../../node_modules/@grpc/grpc-js/build/src/package.json","../../node_modules/@grpc/proto-loader/build/package.json","../../node_modules/@grpc/proto-loader/build/src/package.json","../../node_modules/@js-sdsl/ordered-map/dist/esm/package.json","../../node_modules/@js-sdsl/ordered-map/dist/package.json","../../node_modules/@opentelemetry/api/build/package.json","../../node_modules/@opentelemetry/api/build/src/api/package.json","../../node_modules/@opentelemetry/api/build/src/baggage/internal/package.json","../../node_modules/@opentelemetry/api/build/src/baggage/package.json","../../node_modules/@opentelemetry/api/build/src/common/package.json","../../node_modules/@opentelemetry/api/build/src/context/package.json","../../node_modules/@opentelemetry/api/build/src/diag/package.json","../../node_modules/@opentelemetry/api/build/src/metrics/package.json","../../node_modules/@opentelemetry/api/build/src/package.json","../../node_modules/@opentelemetry/api/build/src/propagation/package.json","../../node_modules/@opentelemetry/api/build/src/trace/internal/package.json","../../node_modules/@opentelemetry/api/build/src/trace/package.json","../../node_modules/@types/assert/package.json","../../node_modules/@types/assert/strict/package.json","../../node_modules/@types/async_hooks/package.json","../../node_modules/@types/buffer/package.json","../../node_modules/@types/child_process/package.json","../../node_modules/@types/cluster/package.json","../../node_modules/@types/console/package.json","../../node_modules/@types/constants/package.json","../../node_modules/@types/crypto/package.json","../../node_modules/@types/dgram/package.json","../../node_modules/@types/diagnostics_channel/package.json","../../node_modules/@types/dns/package.json","../../node_modules/@types/dns/promises/package.json","../../node_modules/@types/domain/package.json","../../node_modules/@types/events/package.json","../../node_modules/@types/fs/package.json","../../node_modules/@types/fs/promises/package.json","../../node_modules/@types/http/package.json","../../node_modules/@types/http2/package.json","../../node_modules/@types/https/package.json","../../node_modules/@types/inspector/package.json","../../node_modules/@types/inspector/promises/package.json","../../node_modules/@types/module/package.json","../../node_modules/@types/net/package.json","../../node_modules/@types/node/assert/package.json","../../node_modules/@types/node/dns/package.json","../../node_modules/@types/node/fs/package.json","../../node_modules/@types/node/inspector/package.json","../../node_modules/@types/node/path/package.json","../../node_modules/@types/node/readline/package.json","../../node_modules/@types/node/stream/package.json","../../node_modules/@types/node/test/package.json","../../node_modules/@types/node/timers/package.json","../../node_modules/@types/node/util/package.json","../../node_modules/@types/node/web-globals/package.json","../../node_modules/@types/node/zlib/package.json","../../node_modules/@types/os/package.json","../../node_modules/@types/path/package.json","../../node_modules/@types/path/posix/package.json","../../node_modules/@types/path/win32/package.json","../../node_modules/@types/perf_hooks/package.json","../../node_modules/@types/process/package.json","../../node_modules/@types/punycode/package.json","../../node_modules/@types/querystring/package.json","../../node_modules/@types/readline/package.json","../../node_modules/@types/readline/promises/package.json","../../node_modules/@types/repl/package.json","../../node_modules/@types/stream/consumers/package.json","../../node_modules/@types/stream/iter/package.json","../../node_modules/@types/stream/package.json","../../node_modules/@types/stream/promises/package.json","../../node_modules/@types/stream/web/package.json","../../node_modules/@types/string_decoder/package.json","../../node_modules/@types/timers/package.json","../../node_modules/@types/timers/promises/package.json","../../node_modules/@types/tls/package.json","../../node_modules/@types/trace_events/package.json","../../node_modules/@types/tty/package.json","../../node_modules/@types/url/package.json","../../node_modules/@types/util/package.json","../../node_modules/@types/util/types/package.json","../../node_modules/@types/v8/package.json","../../node_modules/@types/vm/package.json","../../node_modules/@types/wasi/package.json","../../node_modules/@types/worker_threads/package.json","../../node_modules/@types/zlib/package.json","../../node_modules/assert/package.json","../../node_modules/assert/strict/package.json","../../node_modules/async_hooks/package.json","../../node_modules/buffer/package.json","../../node_modules/child_process/package.json","../../node_modules/cluster/package.json","../../node_modules/console/package.json","../../node_modules/constants/package.json","../../node_modules/crypto/package.json","../../node_modules/dgram/package.json","../../node_modules/diagnostics_channel/package.json","../../node_modules/dns/package.json","../../node_modules/dns/promises/package.json","../../node_modules/domain/package.json","../../node_modules/events/package.json","../../node_modules/fs/package.json","../../node_modules/fs/promises/package.json","../../node_modules/http/package.json","../../node_modules/http2/package.json","../../node_modules/https/package.json","../../node_modules/inspector/package.json","../../node_modules/inspector/promises/package.json","../../node_modules/module/package.json","../../node_modules/net/package.json","../../node_modules/nice-grpc-common/lib/client/package.json","../../node_modules/nice-grpc-common/lib/package.json","../../node_modules/nice-grpc-common/lib/server/package.json","../../node_modules/nice-grpc/lib/client/package.json","../../node_modules/nice-grpc/lib/package.json","../../node_modules/nice-grpc/lib/server/package.json","../../node_modules/nice-grpc/lib/service-definitions/package.json","../../node_modules/nice-grpc/lib/utils/package.json","../../node_modules/os/package.json","../../node_modules/path/package.json","../../node_modules/path/posix/package.json","../../node_modules/path/win32/package.json","../../node_modules/perf_hooks/package.json","../../node_modules/process/package.json","../../node_modules/protobufjs/ext/descriptor/package.json","../../node_modules/protobufjs/ext/package.json","../../node_modules/protobufjs/node_modules/@types/long/package.json","../../node_modules/protobufjs/node_modules/long/package.json","../../node_modules/punycode/package.json","../../node_modules/querystring/package.json","../../node_modules/readline/package.json","../../node_modules/readline/promises/package.json","../../node_modules/repl/package.json","../../node_modules/stream/consumers/package.json","../../node_modules/stream/iter/package.json","../../node_modules/stream/package.json","../../node_modules/stream/promises/package.json","../../node_modules/stream/web/package.json","../../node_modules/string_decoder/package.json","../../node_modules/timers/package.json","../../node_modules/timers/promises/package.json","../../node_modules/tls/package.json","../../node_modules/trace_events/package.json","../../node_modules/ts-error/lib/package.json","../../node_modules/tty/package.json","../../node_modules/undici/types/package.json","../../node_modules/url/package.json","../../node_modules/util/package.json","../../node_modules/util/types/package.json","../../node_modules/v8/package.json","../../node_modules/vm/package.json","../../node_modules/wasi/package.json","../../node_modules/worker_threads/package.json","../../node_modules/zlib/package.json"]}
@@ -1 +1 @@
1
- {"version":3,"file":"TypeIntrospector.d.ts","sourceRoot":"","sources":["../../types/TypeIntrospector.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAM1B;;GAEG;AACH,qBAAa,gBAAgB;IACzB;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAOjE;IAED;;;;OAIG;IACH,MAAM,CAAC,oBAAoB,CAAC,MAAM,EAAE,QAAQ,GAAG,MAAM,EAAE,CAEtD;IAED;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE,QAAQ,GAAG,SAAS,CAAC,CAoCrE;IAED,OAAO,CAAC,MAAM,CAAC,aAAa;IAS5B,OAAO,CAAC,MAAM,CAAC,2BAA2B;IAc1C,OAAO,CAAC,MAAM,CAAC,uBAAuB;IA2BtC,OAAO,CAAC,MAAM,CAAC,4BAA4B;IAmD3C,OAAO,CAAC,MAAM,CAAC,oBAAoB;CActC"}
1
+ {"version":3,"file":"TypeIntrospector.d.ts","sourceRoot":"","sources":["../../types/TypeIntrospector.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAO1B;;GAEG;AACH,qBAAa,gBAAgB;IACzB;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAOjE;IAED;;;;OAIG;IACH,MAAM,CAAC,oBAAoB,CAAC,MAAM,EAAE,QAAQ,GAAG,MAAM,EAAE,CAKtD;IAED;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE,QAAQ,GAAG,SAAS,CAAC,CAqCrE;IAED,OAAO,CAAC,MAAM,CAAC,aAAa;IAS5B,OAAO,CAAC,MAAM,CAAC,2BAA2B;IAc1C,OAAO,CAAC,MAAM,CAAC,uBAAuB;IA2BtC,OAAO,CAAC,MAAM,CAAC,4BAA4B;IAmD3C,OAAO,CAAC,MAAM,CAAC,oBAAoB;CActC"}
@@ -2,6 +2,7 @@
2
2
  // Licensed under the MIT license. See LICENSE file in the project root for full license information.
3
3
  import 'reflect-metadata';
4
4
  import { Fields } from '@cratis/fundamentals';
5
+ import { getStandardMetadata } from './standardDecoratorMetadata.js';
5
6
  /** Metadata key for tracked schema properties on a target type. */
6
7
  const TRACKED_PROPERTIES_METADATA_KEY = 'chronicle:typeIntrospection:properties';
7
8
  /**
@@ -26,7 +27,10 @@ export class TypeIntrospector {
26
27
  * @returns The tracked property names.
27
28
  */
28
29
  static getTrackedProperties(target) {
29
- return Reflect.getMetadata(TRACKED_PROPERTIES_METADATA_KEY, target) ?? [];
30
+ const legacy = Reflect.getMetadata(TRACKED_PROPERTIES_METADATA_KEY, target) ?? [];
31
+ const metadata = getStandardMetadata(target);
32
+ const standard = metadata ? Reflect.getMetadata(TRACKED_PROPERTIES_METADATA_KEY, metadata) ?? [] : [];
33
+ return [...new Set([...legacy, ...standard])];
30
34
  }
31
35
  /**
32
36
  * Gets members and their runtime types for a class.
@@ -55,10 +59,12 @@ export class TypeIntrospector {
55
59
  for (const property of propertyNames) {
56
60
  let runtimeType = fieldTypes.get(property);
57
61
  if (!runtimeType || runtimeType === Object) {
58
- runtimeType = Reflect.getMetadata('design:type', target.prototype, property);
62
+ const reflected = Reflect.getMetadata('design:type', target.prototype, property);
63
+ if (reflected && reflected !== Object)
64
+ runtimeType = reflected;
59
65
  }
60
66
  if (!runtimeType || runtimeType === Object) {
61
- runtimeType = this.getRuntimeTypeFromValue(defaultValues[property]);
67
+ runtimeType = this.getRuntimeTypeFromValue(defaultValues[property]) ?? runtimeType;
62
68
  }
63
69
  members.set(property, runtimeType);
64
70
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TypeIntrospector.js","sourceRoot":"","sources":["../../types/TypeIntrospector.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAe,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE3D,mEAAmE;AACnE,MAAM,+BAA+B,GAAG,wCAAwC,CAAC;AAEjF;;GAEG;AACH,MAAM,OAAO,gBAAgB;IACzB;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,MAAgB,EAAE,YAAoB;QACvD,MAAM,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAC5D,IAAI,iBAAiB,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YAC3C,OAAO;QACX,CAAC;QAED,OAAO,CAAC,cAAc,CAAC,+BAA+B,EAAE,CAAC,GAAG,iBAAiB,EAAE,YAAY,CAAC,EAAE,MAAM,CAAC,CAAC;IAC1G,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,oBAAoB,CAAC,MAAgB;QACxC,OAAO,OAAO,CAAC,WAAW,CAAC,+BAA+B,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;IAC9E,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,UAAU,CAAC,MAAgB;QAC9B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAgC,CAAC;QACxD,MAAM,aAAa,GAAG,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC;QAC/D,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAE9C,MAAM,aAAa,GAAG,IAAI,GAAG,CAAS;YAClC,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC;YACpC,GAAG,UAAU,CAAC,IAAI,EAAE;YACpB,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;SAChC,CAAC,CAAC;QAEH,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE,CAAC;YACnC,IAAI,WAAW,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC3C,IAAI,CAAC,WAAW,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;gBACzC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAyB,CAAC;YACzG,CAAC;YACD,IAAI,CAAC,WAAW,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;gBACzC,WAAW,GAAG,IAAI,CAAC,uBAAuB,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;YACxE,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QACvC,CAAC;QAED,MAAM,yBAAyB,GAAG,IAAI,CAAC,4BAA4B,CAAC,MAAM,CAAC,CAAC;QAC5E,MAAM,yBAAyB,GAAG,OAAO,CAAC,WAAW,CAAC,mBAAmB,EAAE,MAAM,CAA2B,IAAI,EAAE,CAAC;QAEnH,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,yBAAyB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;YACpE,MAAM,aAAa,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;YACvD,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC7B,SAAS;YACb,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,yBAAyB,CAAC,KAAK,CAAC,CAAC,CAAC;QACjE,CAAC;QAED,OAAO,OAAO,CAAC;IACnB,CAAC;IAEO,MAAM,CAAC,aAAa,CAAC,MAAgB;QACzC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAgC,CAAC;QAC3D,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,gBAAgB,CAAC,MAAqB,CAAC,EAAE,CAAC;YACjE,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3C,CAAC;QAED,OAAO,UAAU,CAAC;IACtB,CAAC;IAEO,MAAM,CAAC,2BAA2B,CAAC,MAAgB;QACvD,IAAI,CAAC;YACD,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAC1E,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,MAA6C,EAAE,UAAU,CAAC,CAAC;YAC9F,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC5C,OAAO,EAAE,CAAC;YACd,CAAC;YAED,OAAO,QAAmC,CAAC;QAC/C,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,EAAE,CAAC;QACd,CAAC;IACL,CAAC;IAEO,MAAM,CAAC,uBAAuB,CAAC,KAAc;QACjD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,MAAM,CAAC;QAClB,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,MAAM,CAAC;QAClB,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,OAAO,CAAC;QACnB,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACrC,MAAM,WAAW,GAAI,KAAoC,CAAC,WAAW,CAAC;YACtE,IAAI,WAAW,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;gBACxC,OAAO,WAAW,CAAC;YACvB,CAAC;QACL,CAAC;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAEO,MAAM,CAAC,4BAA4B,CAAC,MAAgB;QACxD,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACjC,MAAM,kBAAkB,GAAG,cAAc,CAAC;QAC1C,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAC5D,IAAI,gBAAgB,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,EAAE,CAAC;QACd,CAAC;QAED,IAAI,KAAK,GAAG,gBAAgB,GAAG,kBAAkB,CAAC,MAAM,CAAC;QACzD,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,gBAAgB,GAAG,EAAE,CAAC;QAC1B,OAAO,KAAK,GAAG,MAAM,CAAC,MAAM,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACxC,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAChC,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;gBACpB,KAAK,EAAE,CAAC;gBACR,gBAAgB,IAAI,SAAS,CAAC;YAClC,CAAC;iBAAM,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;gBAC3B,KAAK,EAAE,CAAC;gBACR,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;oBACZ,gBAAgB,IAAI,SAAS,CAAC;gBAClC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,gBAAgB,IAAI,SAAS,CAAC;YAClC,CAAC;YACD,KAAK,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,KAAK,MAAM,SAAS,IAAI,gBAAgB,EAAE,CAAC;YACvC,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;gBACpB,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC1B,CAAC;gBACD,OAAO,GAAG,EAAE,CAAC;YACjB,CAAC;iBAAM,CAAC;gBACJ,OAAO,IAAI,SAAS,CAAC;YACzB,CAAC;QACL,CAAC;QAED,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QACrC,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC9B,CAAC;QAED,OAAO,KAAK;aACP,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;aAC5C,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACzC,CAAC;IAEO,MAAM,CAAC,oBAAoB,CAAC,YAAoB;QACpD,IAAI,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YAChC,OAAO,EAAE,CAAC;QACd,CAAC;QAED,MAAM,WAAW,GAAG,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;QAC9F,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC7C,MAAM,mBAAmB,GAAG,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;QACnG,MAAM,UAAU,GAAG,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpD,MAAM,qBAAqB,GAAG,UAAU,IAAI,CAAC;YACzC,CAAC,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC;YAC9C,CAAC,CAAC,mBAAmB,CAAC;QAC1B,OAAO,qBAAqB,CAAC,IAAI,EAAE,CAAC;IACxC,CAAC;CACJ"}
1
+ {"version":3,"file":"TypeIntrospector.js","sourceRoot":"","sources":["../../types/TypeIntrospector.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  export { DecoratorType } from './DecoratorType.js';
2
2
  export { TypeDiscoverer } from './TypeDiscoverer.js';
3
3
  export { TypeIntrospector } from './TypeIntrospector.js';
4
+ export type { ChronicleClassDecorator } from './standardDecoratorMetadata.js';
5
+ export type { ChroniclePropertyDecorator, ChronicleClassOrPropertyDecorator } from './propertyDecoratorMetadata.js';
4
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../types/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../types/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAC9E,YAAY,EAAE,0BAA0B,EAAE,iCAAiC,EAAE,MAAM,gCAAgC,CAAC"}
@@ -0,0 +1,17 @@
1
+ import 'reflect-metadata';
2
+ import { ChronicleClassDecorator } from './standardDecoratorMetadata.js';
3
+ /** A property decorator accepted by both the legacy and standard TypeScript transforms. */
4
+ export type ChroniclePropertyDecorator = PropertyDecorator & ((value: undefined, context: ClassFieldDecoratorContext) => void);
5
+ /** A decorator applicable to either a class or a public instance field. */
6
+ export type ChronicleClassOrPropertyDecorator = ChronicleClassDecorator & ChroniclePropertyDecorator;
7
+ /** Dispatches class and field decorations while retaining the legacy invocation shape. */
8
+ export declare function decorateClassOrProperty(legacy: (target: object, property?: string | symbol) => void): ChronicleClassOrPropertyDecorator;
9
+ /** Stores standard property annotations on the class metadata object, without constructing an instance. */
10
+ export declare function decorateProperty(legacy: PropertyDecorator): ChroniclePropertyDecorator;
11
+ /** Reads an annotation declared by either decorator transform on a class field. */
12
+ export declare function getPropertyMetadata<T>(key: string, target: object, property: string): T | undefined;
13
+ /** Checks whether either decorator transform declared an annotation on a class field. */
14
+ export declare function hasPropertyMetadata(key: string, target: object, property: string): boolean;
15
+ /** Reads a type-level annotation emitted by a standard field decorator (or its legacy equivalent). */
16
+ export declare function getTypeOrFieldMetadata<T>(key: string, type: Function): T | undefined;
17
+ //# sourceMappingURL=propertyDecoratorMetadata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"propertyDecoratorMetadata.d.ts","sourceRoot":"","sources":["../../types/propertyDecoratorMetadata.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,uBAAuB,EAAuB,MAAM,gCAAgC,CAAC;AAE9F,2FAA2F;AAC3F,MAAM,MAAM,0BAA0B,GAAG,iBAAiB,GAAG,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,0BAA0B,KAAK,IAAI,CAAC,CAAC;AAE/H,2EAA2E;AAC3E,MAAM,MAAM,iCAAiC,GAAG,uBAAuB,GAAG,0BAA0B,CAAC;AAErG,0FAA0F;AAC1F,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,GAAG,iCAAiC,CAevI;AAED,2GAA2G;AAC3G,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,iBAAiB,GAAG,0BAA0B,CAkBtF;AAED,mFAAmF;AACnF,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CASnG;AAED,yFAAyF;AACzF,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAI1F;AAED,sGAAsG;AACtG,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,CAAC,GAAG,SAAS,CAQpF"}
@@ -0,0 +1,76 @@
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 { getStandardMetadata } from './standardDecoratorMetadata.js';
5
+ /** Dispatches class and field decorations while retaining the legacy invocation shape. */
6
+ export function decorateClassOrProperty(legacy) {
7
+ const propertyDecorator = decorateProperty(legacy);
8
+ return (target, propertyOrContext) => {
9
+ if (typeof propertyOrContext === 'object' && propertyOrContext !== null) {
10
+ if (propertyOrContext.kind === 'class') {
11
+ if (typeof target !== 'function')
12
+ throw new TypeError('Chronicle class decorators require a class constructor.');
13
+ legacy(target);
14
+ }
15
+ else {
16
+ propertyDecorator(target, propertyOrContext);
17
+ }
18
+ return;
19
+ }
20
+ if (!target)
21
+ throw new TypeError('Invalid legacy decorator invocation.');
22
+ legacy(target, propertyOrContext);
23
+ };
24
+ }
25
+ /** Stores standard property annotations on the class metadata object, without constructing an instance. */
26
+ export function decorateProperty(legacy) {
27
+ return (target, keyOrContext) => {
28
+ if (typeof keyOrContext === 'object' && keyOrContext !== null) {
29
+ const context = keyOrContext;
30
+ if (target !== undefined || context.kind !== 'field' || context.static || context.private || typeof context.name !== 'string' || !context.metadata) {
31
+ throw new TypeError('Chronicle property decorators require a public instance field with standard decorator metadata.');
32
+ }
33
+ // Legacy decorators use target.constructor to track fields and store type-level annotations.
34
+ // The context.metadata object is owned by this class; never mutate its parent's metadata.
35
+ Object.defineProperty(context.metadata, 'constructor', { value: context.metadata, configurable: true });
36
+ legacy(context.metadata, context.name);
37
+ return;
38
+ }
39
+ if (!target || (typeof keyOrContext !== 'string' && typeof keyOrContext !== 'symbol')) {
40
+ throw new TypeError('Invalid legacy property decorator invocation.');
41
+ }
42
+ legacy(target, keyOrContext);
43
+ };
44
+ }
45
+ /** Reads an annotation declared by either decorator transform on a class field. */
46
+ export function getPropertyMetadata(key, target, property) {
47
+ const ownLegacy = Reflect.getOwnMetadata(key, target, property);
48
+ if (ownLegacy !== undefined)
49
+ return ownLegacy;
50
+ const type = target.constructor;
51
+ const metadata = type && getStandardMetadata(type);
52
+ const ownStandard = metadata && Reflect.getOwnMetadata(key, metadata, property);
53
+ if (ownStandard !== undefined)
54
+ return ownStandard;
55
+ return Reflect.getMetadata(key, target, property)
56
+ ?? (metadata ? Reflect.getMetadata(key, metadata, property) : undefined);
57
+ }
58
+ /** Checks whether either decorator transform declared an annotation on a class field. */
59
+ export function hasPropertyMetadata(key, target, property) {
60
+ const type = target.constructor;
61
+ const metadata = type && getStandardMetadata(type);
62
+ return Reflect.hasMetadata(key, target, property) || !!metadata && Reflect.hasMetadata(key, metadata, property);
63
+ }
64
+ /** Reads a type-level annotation emitted by a standard field decorator (or its legacy equivalent). */
65
+ export function getTypeOrFieldMetadata(key, type) {
66
+ const ownLegacy = Reflect.getOwnMetadata(key, type);
67
+ if (ownLegacy !== undefined)
68
+ return ownLegacy;
69
+ const metadata = getStandardMetadata(type);
70
+ const ownStandard = metadata && Reflect.getOwnMetadata(key, metadata);
71
+ if (ownStandard !== undefined)
72
+ return ownStandard;
73
+ return Reflect.getMetadata(key, type)
74
+ ?? (metadata ? Reflect.getMetadata(key, metadata) : undefined);
75
+ }
76
+ //# sourceMappingURL=propertyDecoratorMetadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"propertyDecoratorMetadata.js","sourceRoot":"","sources":["../../types/propertyDecoratorMetadata.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /** A class decorator accepted by both the legacy and standard TypeScript transforms. */
2
+ export type ChronicleClassDecorator = ClassDecorator & ((value: Function, context: ClassDecoratorContext) => void);
3
+ /** Gets the metadata object attached when a standard-decorated class finishes evaluation. */
4
+ export declare function getStandardMetadata(type: Function): object | undefined;
5
+ /** Whether a class completed its own standard decorator evaluation. */
6
+ export declare function hasOwnStandardMetadata(type: Function): boolean;
7
+ /** Prevents a class decorator from inspecting fields before their metadata is attached. */
8
+ export declare function requireCompletedStandardMetadata(type: Function): void;
9
+ //# sourceMappingURL=standardDecoratorMetadata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"standardDecoratorMetadata.d.ts","sourceRoot":"","sources":["../../types/standardDecoratorMetadata.ts"],"names":[],"mappings":"AAOA,wFAAwF;AACxF,MAAM,MAAM,uBAAuB,GAAG,cAAc,GAAG,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,qBAAqB,KAAK,IAAI,CAAC,CAAC;AAEnH,6FAA6F;AAC7F,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAEtE;AAED,uEAAuE;AACvE,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAE9D;AAED,2FAA2F;AAC3F,wBAAgB,gCAAgC,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,CAIrE"}
@@ -0,0 +1,20 @@
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
+ // Node versions without native decorator metadata need this before evaluating a decorated class.
4
+ const symbolWithMetadata = Symbol;
5
+ symbolWithMetadata.metadata ??= Symbol.for('Symbol.metadata');
6
+ /** Gets the metadata object attached when a standard-decorated class finishes evaluation. */
7
+ export function getStandardMetadata(type) {
8
+ return Reflect.get(type, symbolWithMetadata.metadata);
9
+ }
10
+ /** Whether a class completed its own standard decorator evaluation. */
11
+ export function hasOwnStandardMetadata(type) {
12
+ return Object.prototype.hasOwnProperty.call(type, symbolWithMetadata.metadata);
13
+ }
14
+ /** Prevents a class decorator from inspecting fields before their metadata is attached. */
15
+ export function requireCompletedStandardMetadata(type) {
16
+ if (!hasOwnStandardMetadata(type)) {
17
+ throw new TypeError(`Standard decorator metadata for ${type.name} is not complete; inspect its schema after class evaluation.`);
18
+ }
19
+ }
20
+ //# sourceMappingURL=standardDecoratorMetadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"standardDecoratorMetadata.js","sourceRoot":"","sources":["../../types/standardDecoratorMetadata.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,iGAAiG;AACjG,MAAM,kBAAkB,GAAG,MAAyC,CAAC;AACrE,kBAAkB,CAAC,QAAQ,KAAK,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;AAK9D,6FAA6F;AAC7F,MAAM,UAAU,mBAAmB,CAAC,IAAc;IAC9C,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,kBAAkB,CAAC,QAAQ,CAAuB,CAAC;AAChF,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,sBAAsB,CAAC,IAAc;IACjD,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAC;AACnF,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,gCAAgC,CAAC,IAAc;IAC3D,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,SAAS,CAAC,mCAAmC,IAAI,CAAC,IAAI,8DAA8D,CAAC,CAAC;IACpI,CAAC;AACL,CAAC"}
@@ -0,0 +1,77 @@
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
+
4
+ import { describe, expect, it } from 'vitest';
5
+ import { constraint, getConstraintMetadata } from './constraints/constraint.js';
6
+ import { eventType, getEventTypeMetadata } from './eventTypeDecorator.js';
7
+ import { filterEventsByTag, getFilterTagsFor } from './filterEventsByTagDecorator.js';
8
+ import { eventTypeMigration, getEventTypeMigrationMetadata } from './migrations/eventTypeMigration.js';
9
+ import { tag, tags, getTagsFor } from './tagDecorator.js';
10
+ import { entersOn, getEntersOnMetadata } from '../projections/modelBound/entersOn.js';
11
+ import { eventLog, eventSequence, getEventSequenceMetadata } from '../projections/modelBound/eventSequence.js';
12
+ import { fromEvent, getFromEventMetadata } from '../projections/modelBound/fromEvent.js';
13
+ import { getGlobalForMetadata, globalFor } from '../projections/modelBound/globalFor.js';
14
+ import { isNotRewindable, notRewindable } from '../projections/modelBound/notRewindable.js';
15
+ import { isPassive, passive } from '../projections/modelBound/passive.js';
16
+ import { getVariantOfMetadata, variantOf } from '../projections/modelBound/variantOf.js';
17
+ import { getSeederMetadata, seeder } from '../seeding/seeder.js';
18
+ import { getWebhookMetadata, webhook } from '../webhooks/webhook.js';
19
+
20
+ @eventType('migration-fixture', 1)
21
+ class Previous {}
22
+
23
+ @eventType('migration-fixture', 2)
24
+ class Upgraded {}
25
+
26
+ @eventTypeMigration(Upgraded, Previous)
27
+ class Migration {}
28
+
29
+ @constraint('standard-constraint')
30
+ class Constraint {}
31
+
32
+ @tag('first')
33
+ @tags('second')
34
+ @filterEventsByTag('required')
35
+ class Tagged {}
36
+
37
+ @fromEvent(Upgraded)
38
+ @entersOn(Upgraded)
39
+ @eventSequence('sequence')
40
+ @passive
41
+ @notRewindable
42
+ class ModelBound {}
43
+
44
+ @eventLog
45
+ class EventLogModel {}
46
+
47
+ @globalFor(Upgraded)
48
+ class GlobalHandler {}
49
+
50
+ @variantOf(Upgraded, 'kind')
51
+ class Variant {}
52
+
53
+ @seeder()
54
+ class Seeder {}
55
+
56
+ @webhook('standard-webhook', 'https://example.com/hooks')
57
+ class Webhook {}
58
+
59
+ describe('standard class decorators', () => {
60
+ it('retains class registrations and metadata without legacy decorator syntax', () => {
61
+ expect(getEventTypeMetadata(Previous)?.schema.properties).toEqual({});
62
+ expect(getEventTypeMigrationMetadata(Migration)?.eventType.generation.value).toBe(2);
63
+ expect(getConstraintMetadata(Constraint)?.id.value).toBe('standard-constraint');
64
+ expect(getTagsFor(Tagged).map(item => item.value)).toEqual(['second', 'first']);
65
+ expect(getFilterTagsFor(Tagged).map(item => item.value)).toEqual(['required']);
66
+ expect(getFromEventMetadata(ModelBound)).toHaveLength(1);
67
+ expect(getEntersOnMetadata(ModelBound)).toHaveLength(1);
68
+ expect(getEventSequenceMetadata(ModelBound)).toBe('sequence');
69
+ expect(isPassive(ModelBound)).toBe(true);
70
+ expect(isNotRewindable(ModelBound)).toBe(true);
71
+ expect(getEventSequenceMetadata(EventLogModel)).toBeDefined();
72
+ expect(getGlobalForMetadata(GlobalHandler)?.identity).toBe(Upgraded);
73
+ expect(getVariantOfMetadata(Variant)?.identity).toBe(Upgraded);
74
+ expect(getSeederMetadata(Seeder)?.isSeeder).toBe(true);
75
+ expect(getWebhookMetadata(Webhook)?.targetUrl.value).toBe('https://example.com/hooks');
76
+ });
77
+ });
@@ -8,6 +8,8 @@ import { EventTypeId } from './EventTypeId.js';
8
8
  import { EventTypeGeneration } from './EventTypeGeneration.js';
9
9
  import { DecoratorType, TypeDiscoverer, TypeIntrospector } from '../types/index.js';
10
10
  import { JsonSchema, JsonSchemaGenerator } from '../schemas/index.js';
11
+ import { ChronicleClassDecorator } from '../types/standardDecoratorMetadata.js';
12
+ import { createDeferredSchema } from '../schemas/createDeferredSchema.js';
11
13
 
12
14
  /** Metadata key used to store event type information on a class. */
13
15
  const EVENT_TYPE_METADATA_KEY = 'chronicle:eventType';
@@ -51,18 +53,18 @@ export interface EventTypeMetadata {
51
53
  * }
52
54
  * ```
53
55
  */
54
- export function eventType(): ClassDecorator;
55
- export function eventType(id: string): ClassDecorator;
56
- export function eventType(id: string, generation: number): ClassDecorator;
57
- export function eventType(id: string, generation: number, tombstone: boolean): ClassDecorator;
58
- export function eventType(generation: number): ClassDecorator;
59
- export function eventType(generation: number, tombstone: boolean): ClassDecorator;
60
- export function eventType(tombstone: boolean): ClassDecorator;
56
+ export function eventType(): ChronicleClassDecorator;
57
+ export function eventType(id: string): ChronicleClassDecorator;
58
+ export function eventType(id: string, generation: number): ChronicleClassDecorator;
59
+ export function eventType(id: string, generation: number, tombstone: boolean): ChronicleClassDecorator;
60
+ export function eventType(generation: number): ChronicleClassDecorator;
61
+ export function eventType(generation: number, tombstone: boolean): ChronicleClassDecorator;
62
+ export function eventType(tombstone: boolean): ChronicleClassDecorator;
61
63
  export function eventType(
62
64
  idOrGenerationOrTombstone?: string | number | boolean,
63
65
  generationOrTombstone?: number | boolean,
64
66
  tombstone: boolean = false
65
- ): ClassDecorator {
67
+ ): ChronicleClassDecorator {
66
68
  let id = '';
67
69
  let generation = EventTypeGeneration.firstValue;
68
70
  let isTombstone = false;
@@ -86,14 +88,23 @@ export function eventType(
86
88
  isTombstone = idOrGenerationOrTombstone;
87
89
  }
88
90
 
89
- return (target: object) => {
90
- const constructor = target as Function;
91
+ return (target: object, context?: ClassDecoratorContext) => {
92
+ let constructor = target as Function;
91
93
  const eventTypeId = new EventTypeId(id || constructor.name);
92
94
  const eventTypeInstance = new EventType(eventTypeId, new EventTypeGeneration(generation), isTombstone);
93
- const members = TypeIntrospector.getMembers(constructor);
94
- const metadata: EventTypeMetadata = {
95
+ const members = context?.kind === 'class' ? undefined : TypeIntrospector.getMembers(constructor);
96
+ const resolve = createDeferredSchema(() => constructor);
97
+ const metadata: EventTypeMetadata = context?.kind === 'class' ? {
95
98
  eventType: eventTypeInstance,
96
- members,
99
+ get members() {
100
+ return resolve().members;
101
+ },
102
+ get schema() {
103
+ return resolve().schema;
104
+ }
105
+ } : {
106
+ eventType: eventTypeInstance,
107
+ members: members!,
97
108
  schema: JsonSchemaGenerator.generate(constructor, members)
98
109
  };
99
110
  Reflect.defineMetadata(EVENT_TYPE_METADATA_KEY, metadata, target);
@@ -102,6 +113,13 @@ export function eventType(
102
113
  constructor as Constructor,
103
114
  eventTypeId.value
104
115
  );
116
+ context?.addInitializer(function () {
117
+ if (this !== constructor) {
118
+ constructor = this;
119
+ Reflect.defineMetadata(EVENT_TYPE_METADATA_KEY, metadata, constructor);
120
+ TypeDiscoverer.default.register(DecoratorType.EventType, constructor as Constructor, eventTypeId.value);
121
+ }
122
+ });
105
123
  };
106
124
  }
107
125
 
package/events/index.ts CHANGED
@@ -1,6 +1,8 @@
1
1
  // Copyright (c) Cratis. All rights reserved.
2
2
  // Licensed under the MIT license. See LICENSE file in the project root for full license information.
3
3
 
4
+ import '../types/standardDecoratorMetadata.js';
5
+
4
6
  export { EventType } from './EventType.js';
5
7
  export { EventTypeId } from './EventTypeId.js';
6
8
  export { EventTypeGeneration } from './EventTypeGeneration.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cratis/chronicle",
3
- "version": "6.3.2",
3
+ "version": "6.4.0",
4
4
  "description": "Event sourcing for TypeScript and Node.js — the idiomatic client for Cratis Chronicle, the open-source event-sourcing database",
5
5
  "author": "Cratis",
6
6
  "license": "MIT",
@@ -162,6 +162,7 @@
162
162
  "build": "tsc -b",
163
163
  "clean": "rm -rf dist",
164
164
  "test": "vitest run",
165
+ "test:standard-types": "tsc --ignoreConfig --noEmit --target es2022 --module es2022 --moduleResolution bundler --lib es2022,esnext.decorators --types node --skipLibCheck --strict schemas/decorators.standard.spec.ts projections/modelBound/decorators.standard.spec.ts events/classDecorators.standard.spec.ts readModels/standardFallbacks.standard.spec.ts artifacts/validateArtifactSchemas.spec.ts",
165
166
  "test:native": "node ./scripts/check-native-esm.mjs"
166
167
  },
167
168
  "dependencies": {
@@ -178,6 +179,7 @@
178
179
  "@cratis/fundamentals": "7.19.2",
179
180
  "@types/node": "^26.5.1",
180
181
  "@typescript/native": "npm:typescript@^7.0.2",
182
+ "esbuild": "^0.28.2",
181
183
  "typescript": "npm:@typescript/typescript6@^6.0.2",
182
184
  "vite": "^8.3.0",
183
185
  "vitest": "^5.0.1"