@spine-event-engine/server 2.0.0-snapshot.15 → 2.0.0-snapshot.16

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.
package/README.md CHANGED
@@ -43,6 +43,41 @@ Add generated entities with `BoundedContext.add(...)` and use
43
43
  context is single-tenant or multitenant by construction; select that mode
44
44
  before registering application handlers and storage.
45
45
 
46
+ ## Give an Entity an application service
47
+
48
+ Spine normally constructs an Entity with its ID, state, version, and lifecycle
49
+ options. If your constructor also needs a service, supply `onCreate` when
50
+ registering the class. For example, the Projects application's Process Manager
51
+ uses an assignment-weight service:
52
+
53
+ <!-- docs-snippet-path: examples/projects/test/topology.test.ts -->
54
+
55
+ ```ts
56
+ import { BoundedContext } from "@spine-event-engine/server";
57
+ import { TaskAssignment, type AssignmentWeightService } from "../src/index.js";
58
+
59
+ // Create shared services before starting the context.
60
+ const weights: AssignmentWeightService = { weightFor: () => 2 };
61
+ const builder = BoundedContext.singleTenant("Assignments")
62
+ .withGeneratedRegistryRoot(new URL("..", import.meta.url))
63
+ .add(TaskAssignment, {
64
+ // Forward Spine's options and add the service required by the constructor.
65
+ onCreate: (options) => new TaskAssignment(options, weights),
66
+ });
67
+ ```
68
+
69
+ Call `builder.buildAsync()` to assemble the context. The callback runs for each
70
+ fresh or restored Entity object, not just once per ID. It also works for
71
+ Aggregates and Projections, including Projection rebuilds. Return a fresh
72
+ instance synchronously and pass the supplied options unchanged. Application
73
+ services are not persisted; the application manages their initialization and
74
+ shutdown. Constructors that need only `EntityOptions` require no callback.
75
+
76
+ Explicit repositories accept `onCreate` in their options too. See the
77
+ [guide](https://github.com/SpineEventEngine/spine-ts/blob/master/docs/USER_GUIDE.md#give-an-entity-an-application-service) for the
78
+ full story and the [reference](REFERENCE.md#entity-constructor-dependencies)
79
+ for the exact contract.
80
+
46
81
  ## Async handlers and Process Manager queries
47
82
 
48
83
  An `@Assign`, `@Command`, `@React`, or `@Subscribe` handler may return its
package/REFERENCE.md CHANGED
@@ -1,6 +1,8 @@
1
1
  # @spine-event-engine/server reference
2
2
 
3
- This reference describes the public server contracts for coding agents.
3
+ This reference gives application developers and coding agents the detailed
4
+ server contracts. For an introduction and examples, start with the
5
+ [server README](README.md).
4
6
 
5
7
  ## Testing entry point
6
8
 
@@ -40,14 +42,49 @@ consume Events, rejections, or Entity states and produce no signal. State
40
42
  subscribers use the System Event Bus. Produced signals are published in-process
41
43
  on a best-effort basis; this is not an exactly-once contract.
42
44
 
45
+ ## Entity constructor dependencies
46
+
47
+ Supply `onCreate` when an Entity constructor needs an application service:
48
+ `new Repository({ entityType, schema, onCreate })` for an explicit repository,
49
+ or `.add(EntityClass, { onCreate })` when Spine creates the repository. The
50
+ callback receives `EntityOptions` with the registered class's exact identifier
51
+ and state-schema types. Its result must be an instance of that class.
52
+
53
+ `onCreate` is required when the class cannot be constructed with framework
54
+ options alone. It is optional for constructors that need only `EntityOptions`, or
55
+ constructors whose additional parameters are optional or have defaults.
56
+
57
+ For each new object, the callback must synchronously return a fresh instance
58
+ and pass the supplied options unchanged to its constructor. Those options
59
+ contain the ID, schema, state, Spine `Version`, and lifecycle flags. The same
60
+ callback runs when restoring a stored Aggregate, Projection, or Process Manager,
61
+ and when creating a Projection during a rebuild. It is not a once-per-ID hook.
62
+ Queries that read stored state without constructing an Entity do not call it.
63
+
64
+ Construct and initialize shared services before building the context. Keep
65
+ network calls and other business work in handlers, not in `onCreate`. A thrown
66
+ construction error fails that dispatch before its handler runs; it is not a
67
+ domain rejection. An asynchronous callback or a result of the wrong class is
68
+ rejected. Services are neither serialized nor closed by Spine; close them in
69
+ application shutdown after closing the context.
70
+
71
+ Spine still connects Entity history and Process Manager queries. A constructor
72
+ callback does not receive the current actor or tenant. Pass these to a service
73
+ from the handler when needed. Queries made through the Process Manager still
74
+ use the handler's context. Services are passed directly; no dependency container
75
+ is required, and the storage format is unchanged.
76
+
77
+ See the [Entity dependency guide](https://github.com/SpineEventEngine/spine-ts/blob/master/docs/USER_GUIDE.md#give-an-entity-an-application-service)
78
+ and the [Projects example](https://github.com/SpineEventEngine/spine-ts/blob/master/examples/projects/README.md).
79
+
43
80
  ## Integration broker and event origin
44
81
 
45
82
  Each `BoundedContext` creates and closes exactly one private integration broker.
46
83
  The broker has distinct status, configuration, and event exchanges. Event
47
84
  export is requested-only: a context installs a domestic publisher only for
48
85
  event types requested by another context, and withdrawal removes only that
49
- requester's interest. The broker does not enforce ownership; the supported
50
- shape is many consumers and one domain producer per event type at a time.
86
+ requester's interest. Each event type should have one producing domain and may
87
+ have many consumers; the broker does not enforce that producer restriction.
51
88
 
52
89
  The status exchange announces `BoundedContextOnline`; observing a foreign
53
90
  announcement resends the local complete wanted-event document. The
@@ -133,9 +170,9 @@ To override the default channel factory, add
133
170
 
134
171
  ## Routing lifecycle
135
172
 
136
- Event, command, and state-update routing accepts exact schemas and nominal
137
- message-interface tokens. It selects exact, first registered matching token,
138
- then replacement/default. The route runs once at accepted admission; its
173
+ Event, command, and state-update routing accepts exact schemas and generated
174
+ message-interface tokens. It selects an exact schema first, then the first
175
+ matching token, then the replacement or default route. The route runs when the message is accepted; its
139
176
  validated typed targets are stored and reused for retries. The legacy-named
140
177
  local `catchUpReadSide()` helper is unrelated to retry: it resets and replays
141
178
  the whole local read side, and is not Projection catch-up.
@@ -477,7 +514,7 @@ the builder on the first build attempt.
477
514
 
478
515
  `SubscriptionService` streams are live best-effort notifications, not replay,
479
516
  ordering, or completeness contracts. A standalone Server defaults to the
480
- persistent registry. In a managed complete-replica cohort, the framework starts
517
+ persistent registry. In a group of managed server replicas, the framework starts
481
518
  and closes each child Server and accepts only every context's actual
482
519
  `InMemorySubscriptionRegistry`; a persistent or custom registry is rejected
483
520
  and the assembled child is closed before READY. Durable logical bindings remain
@@ -619,8 +656,8 @@ signal or explicit-close retry, and sets `process.exitCode` to `1` after a
619
656
  signal-driven failure.
620
657
 
621
658
  `ManagedServerApplication.run()` is the Node-only deployment entrypoint for a
622
- complete-replica process cohort when the framework handles process shutdown.
623
- `ManagedServerApplication.start()` starts the same cohort for an embedding host
659
+ group of complete server replicas when the framework handles process shutdown.
660
+ `ManagedServerApplication.start()` starts the same group for an embedding host
624
661
  and installs no process signal handlers; that host closes the returned handle.
625
662
  Both require a positive safe-integer
626
663
  `processCount` and an ESM `moduleUrl`; it never derives a process count from
@@ -652,7 +689,7 @@ admission.
652
689
  `ServerOptions` is native-only: it configures contexts, resources, services,
653
690
  and the native listener. It has no `browser` option and the root package does
654
691
  not load `@spine-event-engine/auth`. Browser hosting belongs to the explicit
655
- `@spine-event-engine/server/browser` entry point; see the [browser/auth guide](../../docs/BROWSER_CLIENT_AUTH_EXTENSION_GUIDE.md).
692
+ `@spine-event-engine/server/browser` entry point; see the [browser/auth guide](https://github.com/SpineEventEngine/spine-ts/blob/master/docs/BROWSER_CLIENT_AUTH_EXTENSION_GUIDE.md).
656
693
 
657
694
  Browser unary gateway admission has a fixed 1 MiB (1,048,576-byte) request
658
695
  limit. A larger unary gateway request is rejected with `ResourceExhausted`.
@@ -708,7 +745,7 @@ native backend. Concurrent calls share an attempt; a failed unfinished phase
708
745
  can be retried without repeating completed native cleanup.
709
746
 
710
747
  Browser subscription bindings are separate from service subscription records.
711
- `BrowserAdmission` selects their ownership. Authenticated mode supplies
748
+ `BrowserAdmission` determines who configures and manages them. Authenticated mode supplies
712
749
  `sessions` and may supply `BrowserServerOptions.bindings`; production then
713
750
  requires `DurableSubscriptionBindings` from `@spine-event-engine/server/browser` and rejects a
714
751
  missing or in-memory binding store before listener open. Public mode supplies
@@ -727,7 +764,7 @@ inside the stored Topic and are checked for Activate and Cancel. Create assigns
727
764
  the public ID directly; no quota, reservation, fingerprint, or lease is
728
765
  persisted. Cleanup remains bounded and restart-safe at the record level. It
729
766
  cleans the backend definition before deleting its record. It is not a cleaner
730
- lease or fence: this direct store supports one Gateway process. Active streams do not resume,
767
+ lock between Gateway processes: this store supports one Gateway process. Active streams do not resume,
731
768
  updates are not replayed, and the registry provides neither exactly-once
732
769
  delivery, global update ordering, nor cluster-complete notification delivery.
733
770
 
@@ -746,10 +783,10 @@ rows are direct records; a delivered row is the deduplication fact. A handler
746
783
  effect and the exact pending-to-delivered compare-and-set are not one
747
784
  transaction, so a lost acknowledgement can redeliver after restart. Downstream
748
785
  signal handling must be idempotent. A customized `DeliveryWorkRegistry`
749
- implements `validateOwnership()` so delivery can validate before dispatch, at
750
- repository commit time, and before acknowledgement. Validation is a fence
751
- against an observed takeover, not a distributed transaction with handler
752
- storage.
786
+ implements `validateOwnership()` so delivery can validate before dispatch, before
787
+ the Entity transaction commit, and before acknowledgement. These checks stop a worker
788
+ after it detects that another worker has taken the shard. They do not make
789
+ delivery and handler storage part of one distributed transaction.
753
790
 
754
791
  `keepUntil` is the optional deduplication-protection deadline, not a second
755
792
  retention setting. A delivered row is cleanup-eligible when that deadline is
@@ -118,10 +118,10 @@ export interface ContextDeliveryDescriptor {
118
118
  */
119
119
  onReady(onReady: OnDeliveryReady): () => void;
120
120
  /**
121
- * Updates readiness ownership to use configured delivery routes.
121
+ * Routes readiness notifications through the configured delivery routes.
122
122
  *
123
123
  * @param scopes Lists routes that may receive buffered readiness.
124
- * @param onReady Observes readiness after routed ownership begins.
124
+ * @param onReady Observes readiness after routing changes.
125
125
  * @param options Allows an empty route set when `allowEmpty` is true.
126
126
  * @returns A promise that resolves after the readiness transition completes.
127
127
  */
@@ -141,7 +141,7 @@ export interface CommandEndpoint {
141
141
  */
142
142
  acceptedCommandTypes(): readonly string[];
143
143
  /**
144
- * Posts a command into the context-owned command bus.
144
+ * Posts a command to this context's command bus.
145
145
  *
146
146
  * @param command Contains the command to dispatch.
147
147
  * @returns A promise that settles after queued command dispatch completes and may reject.
@@ -159,7 +159,7 @@ export interface EventEndpoint {
159
159
  */
160
160
  acceptedEventTypes(): readonly string[];
161
161
  /**
162
- * Posts an event into the context-owned event bus.
162
+ * Posts an event to this context's event bus.
163
163
  *
164
164
  * @param event Contains the event to dispatch.
165
165
  * @returns A promise that settles after persistence and dispatch complete and may reject.
@@ -218,24 +218,116 @@ interface FrameworkConstructionToken {
218
218
  readonly frameworkConstructionToken: true;
219
219
  }
220
220
  interface BoundedContextAccess {
221
+ /**
222
+ * Checks whether a value is a builder created by this module.
223
+ *
224
+ * @param value Value to check.
225
+ * @returns True for a registered builder.
226
+ */
221
227
  isBuilder(value: unknown): value is BoundedContextBuilder;
228
+ /**
229
+ * Builds a registered context builder with supplied default storage.
230
+ *
231
+ * @param builder Registered builder to build.
232
+ * @param defaultStorageFactory Storage used when the builder has none.
233
+ * @returns Promise resolving to a bounded context.
234
+ */
222
235
  build(builder: BoundedContextBuilder, defaultStorageFactory: StorageFactory): Promise<BoundedContext>;
236
+ /**
237
+ * Subscribes to a public event type on a built context.
238
+ *
239
+ * @param context Built context to observe.
240
+ * @param typeUrl Public event type URL.
241
+ * @param subscriber Event subscriber to register.
242
+ * @returns Cancellable event subscription.
243
+ */
223
244
  subscribeToEvent(context: BoundedContext, typeUrl: string, subscriber: EventSubscriber): EventSubscription;
245
+ /**
246
+ * Posts a framework System event through the context publisher.
247
+ *
248
+ * @param context Target bounded context.
249
+ * @param event System event to post.
250
+ * @returns Promise settling after publication.
251
+ */
224
252
  postSystemEvent(context: BoundedContext, event: Event): Promise<void>;
253
+ /**
254
+ * Marks a copied event as external and posts it through the context endpoint.
255
+ *
256
+ * @param context Target bounded context.
257
+ * @param event External event to post.
258
+ * @returns Event dispatch promise.
259
+ */
225
260
  postExternalEvent(context: BoundedContext, event: Event): Promise<void>;
261
+ /**
262
+ * Observes commands and events published by the context.
263
+ *
264
+ * @param context Context whose signals are observed.
265
+ * @param observer Callbacks for produced commands and events.
266
+ * @returns Handle whose close operation removes the observer.
267
+ */
226
268
  observeProducedSignals(context: BoundedContext, observer: {
227
269
  readonly onCommand?: (command: Readonly<Command>) => void;
228
270
  readonly onEvent?: (event: Readonly<Event>) => void;
229
271
  }): {
230
272
  readonly close: () => void;
231
273
  };
274
+ /**
275
+ * Returns a copy-safe snapshot of paired domain and System specifications.
276
+ *
277
+ * @param context Context whose pairing is read.
278
+ * @returns Paired specification snapshot.
279
+ */
232
280
  systemPairing(context: BoundedContext): SystemPairingSnapshot;
281
+ /**
282
+ * Returns the context tenant index.
283
+ *
284
+ * @param context Context whose index is read.
285
+ * @returns Tenant index for the built context.
286
+ */
233
287
  tenantIndex(context: BoundedContext): TenantIndex;
288
+ /**
289
+ * Returns the storage factory configured for a built context.
290
+ *
291
+ * @param context Context whose storage factory is read.
292
+ * @returns Configured storage factory.
293
+ */
234
294
  storageFactory(context: BoundedContext): StorageFactory;
295
+ /**
296
+ * Returns the context's Stand subscription registry.
297
+ *
298
+ * @param context Context whose registry is read.
299
+ * @returns Stand subscription registry.
300
+ */
235
301
  subscriptionRegistry(context: BoundedContext): StandSubscriptionRegistry;
302
+ /**
303
+ * Processes a registered Stand subscription and forwards each update.
304
+ *
305
+ * @param context Context containing the subscription.
306
+ * @param id Registered subscription ID.
307
+ * @param onUpdate Callback receiving updates.
308
+ * @returns Promise resolving to the subscription handle.
309
+ */
236
310
  consumeSubscription(context: BoundedContext, id: string, onUpdate: (update: import("@spine-event-engine/proto/client").SubscriptionUpdate) => void): Promise<import("../stand/stand.js").StandSubscription>;
311
+ /**
312
+ * Sets a logger on context buses and subscription runtime.
313
+ *
314
+ * @param context Context receiving the logger.
315
+ * @param logger Logging layer to install.
316
+ */
237
317
  installLogger(context: BoundedContext, logger: ILogLayer): void;
318
+ /**
319
+ * Returns the logger installed on a built context.
320
+ *
321
+ * @param context Context whose logger is read.
322
+ * @returns Installed logging layer.
323
+ */
238
324
  loggerFor(context: BoundedContext): ILogLayer;
325
+ /**
326
+ * Returns the delivery descriptor for a built context.
327
+ *
328
+ * @param context Context whose descriptor is read.
329
+ * @returns Delivery descriptor.
330
+ */
239
331
  delivery(context: BoundedContext): ContextDeliveryDescriptor;
240
332
  }
241
333
  /**
@@ -244,7 +336,7 @@ interface BoundedContextAccess {
244
336
  export declare class BoundedContext {
245
337
  #private;
246
338
  /**
247
- * Creates a framework-owned bounded context.
339
+ * Creates a Bounded Context from its prepared framework services.
248
340
  *
249
341
  * @param snapshot Contains the immutable context metadata.
250
342
  * @param commandBus Dispatches commands accepted by this context.
@@ -253,7 +345,7 @@ export declare class BoundedContext {
253
345
  * @param publisher Publishes signals produced by context handlers.
254
346
  * @param stand Stores read-side state for this context.
255
347
  * @param systemStand Stores read-side state for the paired System Context.
256
- * @param subscriptionRuntime Coordinates pair-owned subscription delivery.
348
+ * @param subscriptionRuntime Coordinates subscriptions for the paired contexts.
257
349
  * @param systemSpec Contains paired System Context metadata.
258
350
  * @param storageFactory Creates context storage.
259
351
  * @param repositories Lists repositories to register.
@@ -306,19 +398,19 @@ export declare class BoundedContext {
306
398
  */
307
399
  get snapshot(): BoundedContextSnapshot;
308
400
  /**
309
- * Returns the command endpoint owned by this context.
401
+ * Returns this context's command endpoint.
310
402
  *
311
403
  * @returns Returns the context command endpoint.
312
404
  */
313
405
  commandBus(): CommandEndpoint;
314
406
  /**
315
- * Returns the event endpoint owned by this context.
407
+ * Returns this context's event endpoint.
316
408
  *
317
409
  * @returns Returns the context event endpoint.
318
410
  */
319
411
  eventBus(): EventEndpoint;
320
412
  /**
321
- * Returns the context-owned read-side Stand.
413
+ * Returns the Stand that stores this context's read-side state.
322
414
  *
323
415
  * @returns Returns the read-side state store.
324
416
  */
@@ -356,14 +448,14 @@ export declare class BoundedContext {
356
448
  */
357
449
  catchUpReadSide(options?: ReadCatchUpOptions): Promise<ReadCatchUpResult>;
358
450
  /**
359
- * Closes context-owned buses, Stand, and repository storage/runtime bindings.
451
+ * Closes this context's buses, Stand, and repository storage and runtime bindings.
360
452
  *
361
453
  * Close is idempotent and returns the same close outcome on repeated calls.
362
- * The context attempts every owned close hook; when any hook fails, the
454
+ * The context attempts every close hook; when any hook fails, the
363
455
  * returned promise rejects with an `AggregateError` after the remaining hooks
364
456
  * have also been attempted.
365
457
  *
366
- * @returns A promise that settles after all owned resources close.
458
+ * @returns A promise that settles after all resources close.
367
459
  */
368
460
  close(): Promise<void>;
369
461
  }
@@ -372,18 +464,25 @@ export declare class BoundedContext {
372
464
  */
373
465
  export declare const boundedContextAccess: BoundedContextAccess;
374
466
  /**
375
- * Customizes a repository assembled from an Entity class and generated handlers.
467
+ * Configures routing and Entity construction for a generated repository.
468
+ *
469
+ * `onCreate` passes the framework's Entity options to an application constructor callback.
470
+ * It is required when the Entity class has additional required constructor arguments.
376
471
  *
377
- * @typeParam EntityType - The Entity class added to a Bounded Context builder.
472
+ * @typeParam EntityType The Entity class added to a Bounded Context builder.
378
473
  */
379
- export type GeneratedRepositoryOptions<EntityType extends RepositoryEntityType & ConcreteRepositoryEntityType<EntityType>> = Readonly<Pick<RepositoryOptions<EntityType>, "commandRouting" | "eventRouting" | "stateUpdateRouting" | "stringifierRegistry">>;
474
+ export type GeneratedRepositoryOptions<EntityType extends RepositoryEntityType & ConcreteRepositoryEntityType<EntityType>> = Readonly<Pick<RepositoryOptions<EntityType>, "commandRouting" | "eventRouting" | "stateUpdateRouting" | "stringifierRegistry">> & (RepositoryOptions<EntityType> extends {
475
+ readonly onCreate: infer Callback;
476
+ } ? {
477
+ readonly onCreate: Callback;
478
+ } : Pick<RepositoryOptions<EntityType>, "onCreate">);
380
479
  /**
381
480
  * Assembles a {@link BoundedContext} from repositories and dispatchers.
382
481
  */
383
482
  export declare class BoundedContextBuilder {
384
483
  #private;
385
484
  /**
386
- * Creates a framework-owned context builder.
485
+ * Creates a builder from a prepared context specification.
387
486
  *
388
487
  * @param specSnapshot Contains the initial context specification.
389
488
  * @param token Proves framework-controlled construction.
@@ -416,6 +515,7 @@ export declare class BoundedContextBuilder {
416
515
  /**
417
516
  * Adds an explicitly assembled repository.
418
517
  *
518
+ * @typeParam EntityType Concrete Entity class represented by the repository.
419
519
  * @param entry The repository to register.
420
520
  * @returns This builder for further configuration.
421
521
  */
@@ -423,14 +523,19 @@ export declare class BoundedContextBuilder {
423
523
  /**
424
524
  * Adds an Entity class whose repository is assembled from generated handlers.
425
525
  *
526
+ * @typeParam EntityType Concrete Entity class represented by this entry.
426
527
  * @param entry The Entity class to register.
427
- * @param options Optional custom routing and field mappings for its generated repository.
528
+ * @param options Routing and constructor callback for its generated repository. The callback
529
+ * is required when the Entity constructor needs additional application arguments.
428
530
  * @returns This builder for further configuration.
429
531
  */
430
- add<EntityType extends RepositoryEntityType & ConcreteRepositoryEntityType<EntityType>>(entry: EntityType, options?: GeneratedRepositoryOptions<EntityType>): this;
532
+ add<EntityType extends RepositoryEntityType & ConcreteRepositoryEntityType<EntityType>>(entry: EntityType, ...options: GeneratedRepositoryOptions<EntityType> extends {
533
+ readonly onCreate: object;
534
+ } ? [options: GeneratedRepositoryOptions<EntityType>] : [options?: GeneratedRepositoryOptions<EntityType>]): this;
431
535
  /**
432
536
  * Removes a repository from the context registration list.
433
537
  *
538
+ * @typeParam EntityType Concrete Entity class represented by the repository.
434
539
  * @param repository Identifies the repository to remove.
435
540
  * @returns Returns this builder for further configuration.
436
541
  */
@@ -504,7 +609,7 @@ export declare class BoundedContextBuilder {
504
609
  */
505
610
  withSubscriptionRegistry(registry: StandSubscriptionRegistry): this;
506
611
  /**
507
- * Sets the target-to-shard strategy for the context-owned Entity Inbox.
612
+ * Sets how Entity Inbox targets are assigned to shards.
508
613
  *
509
614
  * @param strategy Selects the durable shard for Aggregate and Process Manager targets.
510
615
  * @returns Returns this builder for further configuration.
@@ -534,6 +639,12 @@ export declare class BoundedContextBuilder {
534
639
  * @returns Resolves to the built context.
535
640
  */
536
641
  buildAsync(): Promise<BoundedContext>;
642
+ /**
643
+ * Creates the domain EventStore using this context's storage mode.
644
+ *
645
+ * @param storageFactory Storage provider for event records.
646
+ * @returns Domain EventStore.
647
+ */
537
648
  private createEventStore;
538
649
  }
539
650
  /**
@@ -542,7 +653,7 @@ export declare class BoundedContextBuilder {
542
653
  export declare class ContextSpec {
543
654
  #private;
544
655
  /**
545
- * Creates a framework-owned context specification.
656
+ * Creates a context specification from prepared values.
546
657
  *
547
658
  * @param snapshot Contains immutable specification values.
548
659
  * @param token Proves framework-controlled construction.
@@ -1 +1 @@
1
- {"version":3,"file":"bounded-context.d.ts","sourceRoot":"","sources":["../../src/context/bounded-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bounded-context.d.ts","sourceRoot":"","sources":["../../src/context/bounded-context.ts"],"names":[],"mappings":"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"}