# cratis_chronicle v0.2.0 - Table of Contents

> Idiomatic Elixir client for Chronicle event sourcing

## Pages

- [Chronicle Elixir Client](readme.md)

## Modules

- [Chronicle](Chronicle.md): Idiomatic Elixir client for the Chronicle event-sourcing platform.
- [Chronicle.Artifacts](Chronicle.Artifacts.md): Discovers Chronicle artifacts in an OTP application.
- [Chronicle.Client](Chronicle.Client.md): Supervisor that manages a Chronicle connection and all registered observers.
- [Chronicle.Compliance](Chronicle.Compliance.md): Compliance support for marking event and read model fields as containing
sensitive data, mirroring the `@pii` decorator in the C# and TypeScript clients.
- [Chronicle.Compliance.ComplianceMetadataType](Chronicle.Compliance.ComplianceMetadataType.md): Identifies a kind of compliance metadata that can be attached to a property
or type in a generated JSON schema.
- [Chronicle.Connections.ConnectionString.ServerAddress](Chronicle.Connections.ConnectionString.ServerAddress.md): Represents a Chronicle server address with host and port.

- [Chronicle.Connections.Lifecycle](Chronicle.Connections.Lifecycle.md): Tracks the Chronicle connection lifecycle and broadcasts phase changes.
- [Chronicle.EventSequences.EventForEventSourceId](Chronicle.EventSequences.EventForEventSourceId.md): Represents an event buffered for a specific event source within an event sequence.

- [Chronicle.ReadModels.Definition](Chronicle.ReadModels.Definition.md): Read-model definition metadata returned by `Chronicle.ReadModels.definitions/1`.

- [Chronicle.ReadModels.Occurrence](Chronicle.ReadModels.Occurrence.md): Metadata describing a replay occurrence for a read model.

- [Chronicle.ReadModels.QueryResult](Chronicle.ReadModels.QueryResult.md): Result returned by `Chronicle.ReadModels.query/2`.

- [Chronicle.ReadModels.Snapshot](Chronicle.ReadModels.Snapshot.md): Historical snapshot returned by `Chronicle.ReadModels.snapshots/3`.

- [Chronicle.Schemas.JsonSchemaGenerator](Chronicle.Schemas.JsonSchemaGenerator.md): Generates JSON schemas for struct-backed event types and read models.
- [Chronicle.Seeding](Chronicle.Seeding.md): Accumulates and registers seed events with Chronicle.
- [Chronicle.Seeding.Seeder](Chronicle.Seeding.Seeder.md): Behaviour and macro for defining Chronicle seeders.

- Connections
  - [Chronicle.Connections.Connection](Chronicle.Connections.Connection.md): Manages a resilient Chronicle gRPC channel with automatic reconnection.
  - [Chronicle.Connections.ConnectionString](Chronicle.Connections.ConnectionString.md): Parses and formats Chronicle connection strings.

- Context
  - [Chronicle.Auditing.CausationEntry](Chronicle.Auditing.CausationEntry.md): Represents a single causation entry in an audit chain.

  - [Chronicle.Auditing.CausationManager](Chronicle.Auditing.CausationManager.md): Process-scoped causation chain manager.
  - [Chronicle.Auditing.CausationType](Chronicle.Auditing.CausationType.md): Identifies the kind of operation that caused an event append.

  - [Chronicle.Correlation.CorrelationId](Chronicle.Correlation.CorrelationId.md): Represents a correlation identifier for a logical operation.
  - [Chronicle.Correlation.CorrelationIdManager](Chronicle.Correlation.CorrelationIdManager.md): Process-scoped correlation id manager.
  - [Chronicle.Identity](Chronicle.Identity.md): Represents the identity that caused a state change.

  - [Chronicle.Identity.IdentityProvider](Chronicle.Identity.IdentityProvider.md): Process-scoped identity provider.

- Event Sourcing
  - [Chronicle.EventSequences.EventLog](Chronicle.EventSequences.EventLog.md): Appends and queries events in a Chronicle event log.
  - [Chronicle.EventSequences.EventSequence](Chronicle.EventSequences.EventSequence.md): Represents a Chronicle event sequence.
  - [Chronicle.EventSequences.TransactionalEventSequence](Chronicle.EventSequences.TransactionalEventSequence.md): Transactional view of an event sequence.
  - [Chronicle.EventStores](Chronicle.EventStores.md): Lists event stores and namespaces from the Chronicle kernel.
  - [Chronicle.Events.ConcurrencyScope](Chronicle.Events.ConcurrencyScope.md): Represents a concurrency scope for Chronicle append operations.
  - [Chronicle.Events.EventType](Chronicle.Events.EventType.md): Macro for defining Chronicle event types.
  - [Chronicle.Events.EventTypes](Chronicle.Events.EventTypes.md): Registers event types with a Chronicle event store.
  - [Chronicle.Events.Migration](Chronicle.Events.Migration.md): Behaviour and macro for defining event type migrations.
  - [Chronicle.Events.MigrationBuilder](Chronicle.Events.MigrationBuilder.md): Fluent builder for event migration property transformations.
  - [Chronicle.Events.Migrators](Chronicle.Events.Migrators.md): Discovers, groups, and materializes event type migrations.

- Transactions
  - [Chronicle.Transactions.UnitOfWork](Chronicle.Transactions.UnitOfWork.md): Buffers event appends and commits them as a single Chronicle append-many operation.

- Observers
  - [Chronicle.EventStoreSubscriptions](Chronicle.EventStoreSubscriptions.md): Idiomatic API for working with Chronicle event store subscriptions.
  - [Chronicle.EventStoreSubscriptions.Definition](Chronicle.EventStoreSubscriptions.Definition.md): Represents an event store subscription definition registered with Chronicle.

  - [Chronicle.EventStoreSubscriptions.DefinitionBuilder](Chronicle.EventStoreSubscriptions.DefinitionBuilder.md): Immutable builder for event store subscription definitions.
  - [Chronicle.EventStoreSubscriptions.EventType](Chronicle.EventStoreSubscriptions.EventType.md): Represents an event type included in an event store subscription definition.

  - [Chronicle.EventStoreSubscriptions.Subscription](Chronicle.EventStoreSubscriptions.Subscription.md): Behaviour and macro for defining discoverable Chronicle event store subscriptions.
  - [Chronicle.Reactors.Reactor](Chronicle.Reactors.Reactor.md): Behaviour and macro for defining Chronicle reactors.
  - [Chronicle.Reducers.Reducer](Chronicle.Reducers.Reducer.md): Behaviour and macro for defining Chronicle reducers.

- Read Models
  - [Chronicle.ReadModels](Chronicle.ReadModels.md): Idiomatic Elixir interface for Chronicle read models.
  - [Chronicle.ReadModels.ReadModel](Chronicle.ReadModels.ReadModel.md): Macro for defining Chronicle read models with embedded model-bound projections.

- Jobs
  - [Chronicle.Jobs](Chronicle.Jobs.md): Idiomatic API for working with Chronicle jobs.
  - [Chronicle.Jobs.Job](Chronicle.Jobs.Job.md): Represents the current state of a Chronicle job.

  - [Chronicle.Jobs.JobProgress](Chronicle.Jobs.JobProgress.md): Represents aggregate progress for a Chronicle job.

  - [Chronicle.Jobs.JobStatusChanged](Chronicle.Jobs.JobStatusChanged.md): Represents a status transition for a Chronicle job.

  - [Chronicle.Jobs.JobStep](Chronicle.Jobs.JobStep.md): Represents the current state of a Chronicle job step.

  - [Chronicle.Jobs.JobStepProgress](Chronicle.Jobs.JobStepProgress.md): Represents progress for an individual Chronicle job step.

  - [Chronicle.Jobs.JobStepStatusChanged](Chronicle.Jobs.JobStepStatusChanged.md): Represents a status transition for a Chronicle job step.

- WebHooks
  - [Chronicle.WebHooks](Chronicle.WebHooks.md): Idiomatic API for working with Chronicle webhooks.
  - [Chronicle.WebHooks.Definition](Chronicle.WebHooks.Definition.md): Represents a webhook definition registered with Chronicle.

  - [Chronicle.WebHooks.DefinitionBuilder](Chronicle.WebHooks.DefinitionBuilder.md): Immutable builder for webhook definitions.
  - [Chronicle.WebHooks.EventType](Chronicle.WebHooks.EventType.md): Represents an event type referenced by a webhook definition.

  - [Chronicle.WebHooks.Target](Chronicle.WebHooks.Target.md): Represents the delivery target for a webhook.

  - [Chronicle.WebHooks.Webhook](Chronicle.WebHooks.Webhook.md): Behaviour and macro for defining discoverable Chronicle webhooks.

- Constraints
  - [Chronicle.Events.Constraints](Chronicle.Events.Constraints.md): Registers event constraints with a Chronicle event store.

- Exceptions
  - [Chronicle.Events.InvalidMigrationGenerationGap](Chronicle.Events.InvalidMigrationGenerationGap.md): Raised when a migration does not connect adjacent generations.

  - [Chronicle.Transactions.NoUnitOfWorkStarted](Chronicle.Transactions.NoUnitOfWorkStarted.md): Raised when transaction-scoped APIs are used without an active unit of work.

  - [Chronicle.Transactions.UnitOfWorkIsAlreadyCommitted](Chronicle.Transactions.UnitOfWorkIsAlreadyCommitted.md): Raised when a committed unit of work is mutated or committed again.

  - [Chronicle.Transactions.UnitOfWorkIsAlreadyRolledBack](Chronicle.Transactions.UnitOfWorkIsAlreadyRolledBack.md): Raised when a rolled back unit of work is mutated or rolled back again.

