Skip to content

Releases: Cratis/Chronicle.TypeScript

Release v1.0.2

Choose a tag to compare

@github-actions github-actions released this 09 Jun 09:19
57b135a

Added

  • @passive decorator for model-bound projections, marking a read model that resolves on demand via immediate projection instead of materializing to a sink.

Changed

  • Renamed WellKnownSinks.NotSet to WellKnownSinks.None.
  • Passive projections and read models now register with the None sink so the kernel resolves them through immediate projection by key rather than reading an empty sink and returning null.

🤖 Generated with Claude Code

Release v1.0.1

Choose a tag to compare

@github-actions github-actions released this 08 Jun 15:49
91b22d8

Added

  • defaultSinkTypeId option on ChronicleOptions to configure where projections, reducers and read models are persisted (defaults to MongoDB; set to WellKnownSinks.SQL for SQL storage).
  • Documentation for sinks and configuring the default sink type.

Changed

  • WellKnownSinks now exposes string sink type identifiers (InMemory, NotSet, MongoDB, SQL) instead of Guids, matching the Kernel's string-based sink type.

🤖 Generated with Claude Code

Release v1.0.0

Choose a tag to compare

@github-actions github-actions released this 07 Jun 14:42

No release notes

Release v0.2.3

Choose a tag to compare

@github-actions github-actions released this 05 Jun 20:52
cb7d5c5

Fixed

  • Calling the compliance `Release` gRPC service no longer crashes the entire client with `requestEncode is not a function`. The service definition was wired with empty placeholder objects instead of proper protobuf message functions; replaced with correct binary encode/decode implementations.

Release v0.2.2

Choose a tag to compare

@github-actions github-actions released this 05 Jun 20:45
fd02ecb

Fixed

  • getSnapshotsById now releases (decrypts) compliance-protected PII fields in read model snapshots when the read model is owned by a reducer, matching the behavior already applied to getInstanceById and getInstances.

Release v0.2.1

Choose a tag to compare

@github-actions github-actions released this 05 Jun 20:39
f323575

Fixed

  • ComplianceMetadataType now uses a plain string value instead of Guid, matching the kernel concept that was changed to a string representation. The PII sentinel is updated from a UUID to 'PII'.

Added

  • IMaterializedReadModels and MaterializedReadModels for retrieving individual or multiple read model instances directly from the Chronicle sink.
  • IReadModels.materialized exposes the new service to consumers.
  • Compliance-aware release for reducer-based read models: instances are automatically passed through the release pipeline when the schema declares compliance metadata on any property.

Changed

  • Bumped @cratis/chronicle.contracts to 15.33.3.

Release v0.2.0

Choose a tag to compare

@github-actions github-actions released this 25 May 07:35
d0344f8

Added

  • Top-level module re-exports from the package entrypoint to support module-style consumption.
  • Explicit top-level subpath exports in Source/package.json for redistributable module access.

Changed

  • Consolidated the feature work from the open PR branches into this integration PR.
  • Renamed Source module folders from PascalCase to camelCase across the package.
  • Updated internal imports/re-exports to match the new module folder naming.
  • Updated JavaScript/TypeScript AI instructions to state the redistributable package convention: camelCase Source modules plus top-level package exports.

Fixed

  • Resolved integration issues caused by mixed module naming and export paths after consolidation.
  • Verified workspace compile succeeds after consolidation and module/export restructuring.

Release v0.1.0

Choose a tag to compare

@github-actions github-actions released this 24 May 17:17
90bc8d5

Mirrors the .NET client's auditing/identity infrastructure for the TypeScript client. Each of the three concerns uses Node.js AsyncLocalStorage for per-async-context scoping, with module-level singletons and exported interfaces for consumer override.

New modules

Source/Identity/

  • Identity — value type with subject, name, userName, onBehalfOf; statics: system, notSet, unknown
  • IIdentityProvider / IdentityProvidergetCurrent(), setCurrentIdentity(), clearCurrentIdentity(); defaults to Identity.system
  • Exports singleton identityProvider

Source/Auditing/

  • CausationType — named type with statics root, unknown, appendEvent, appendManyEvents
  • Causationoccurred, type, properties; factory Causation.unknown()
  • ICausationManager / CausationManagergetCurrentChain() returns the full per-context chain (seeded with root); add() appends; defineRoot() sets the process-level root
  • Exports singleton causationManager

Source/Correlation/

  • CorrelationId — value type; CorrelationId.create() generates a new GUID-backed id
  • ICorrelationIdAccessor (read) / ICorrelationIdSetter (write) — interface segregation matching .NET pattern
  • CorrelationIdManager — implements both; current auto-generates if none set in context
  • Exports singleton correlationIdManager

EventSequence wiring

append and appendMany now pull identity, causation chain, and correlation ID from the singletons instead of hard-coded [System] / empty values:

// Before (all hard-coded)
CausedBy: { Subject: '5d032c92-...', Name: '[System]', ... }
Causation: [{ Type: 'TypeScriptClient.Append', ... }]

// After (context-aware)
identityProvider.setCurrentIdentity(new Identity(sub, name, userName));
causationManager.add(CausationType.appendEvent, { eventType: id });

// EventSequence picks up whatever is in the current async context
const identity = identityProvider.getCurrent();
const causationChain = causationManager.getCurrentChain();
const correlationId = correlationIdManager.current;

All three singletons plus their interfaces and value types are re-exported from the package root.

Release v0.0.2

Choose a tag to compare

@github-actions github-actions released this 11 May 18:06
5702abc

No release notes

Release v0.0.1

Choose a tag to compare

@github-actions github-actions released this 11 May 08:05

No release notes