@spine-event-engine/server 2.0.0-snapshot.21 → 2.0.0-snapshot.22
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/REFERENCE.md +5 -0
- package/dist/context/entity-inbox.d.ts.map +1 -1
- package/dist/context/entity-inbox.js +5 -5
- package/dist/context/entity-inbox.js.map +1 -1
- package/dist/context/projection-handoff.d.ts.map +1 -1
- package/dist/context/projection-handoff.js +2 -1
- package/dist/context/projection-handoff.js.map +1 -1
- package/dist/delivery/delivery.d.ts.map +1 -1
- package/dist/delivery/delivery.js +4 -3
- package/dist/delivery/delivery.js.map +1 -1
- package/dist/delivery/inbox-records.d.ts +13 -0
- package/dist/delivery/inbox-records.d.ts.map +1 -1
- package/dist/delivery/inbox-records.js +204 -30
- package/dist/delivery/inbox-records.js.map +1 -1
- package/dist/delivery/inbox-storage.d.ts.map +1 -1
- package/dist/delivery/inbox-storage.js +26 -5
- package/dist/delivery/inbox-storage.js.map +1 -1
- package/dist/delivery/inbox.d.ts +7 -7
- package/dist/delivery/inbox.d.ts.map +1 -1
- package/dist/delivery/inbox.js +1 -2
- package/dist/delivery/inbox.js.map +1 -1
- package/dist/delivery/sharded-work-registry.d.ts +1 -0
- package/dist/delivery/sharded-work-registry.d.ts.map +1 -1
- package/dist/delivery/sharded-work-registry.js +3 -1
- package/dist/delivery/sharded-work-registry.js.map +1 -1
- package/dist/entity/entity-transaction.d.ts.map +1 -1
- package/dist/entity/entity-transaction.js +2 -6
- package/dist/entity/entity-transaction.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/integration/third-party-context.d.ts +5 -0
- package/dist/integration/third-party-context.d.ts.map +1 -1
- package/dist/integration/third-party-context.js +7 -6
- package/dist/integration/third-party-context.js.map +1 -1
- package/dist/repository/repository.d.ts.map +1 -1
- package/dist/repository/repository.js +7 -15
- package/dist/repository/repository.js.map +1 -1
- package/dist/runtime/signal-metadata.d.ts +7 -47
- package/dist/runtime/signal-metadata.d.ts.map +1 -1
- package/dist/runtime/signal-metadata.js +8 -62
- package/dist/runtime/signal-metadata.js.map +1 -1
- package/dist/server/managed-server-application.d.ts +36 -6
- package/dist/server/managed-server-application.d.ts.map +1 -1
- package/dist/server/managed-server-application.js +257 -4
- package/dist/server/managed-server-application.js.map +1 -1
- package/dist/stand/subscription-registry.d.ts.map +1 -1
- package/dist/stand/subscription-registry.js +9 -8
- package/dist/stand/subscription-registry.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +12 -12
|
@@ -1,53 +1,14 @@
|
|
|
1
1
|
import { type Any, type Timestamp } from "@bufbuild/protobuf/wkt";
|
|
2
|
+
import { type TimeProvider } from "@spine-event-engine/core";
|
|
2
3
|
import { type ActorContext, type Command, type CommandContext, type CommandId, type Event, type EventContext, type EventId, type Origin, type Version } from "@spine-event-engine/proto";
|
|
3
4
|
/**
|
|
4
|
-
*
|
|
5
|
-
*/
|
|
6
|
-
export interface Clock {
|
|
7
|
-
/**
|
|
8
|
-
* Returns the current wall-clock time.
|
|
9
|
-
*
|
|
10
|
-
* @returns Current time as a `Date`.
|
|
11
|
-
*/
|
|
12
|
-
now(): Date;
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Supplies system wall-clock time.
|
|
16
|
-
*/
|
|
17
|
-
export declare class SystemClock implements Clock {
|
|
18
|
-
/**
|
|
19
|
-
* Returns the current system time.
|
|
20
|
-
*
|
|
21
|
-
* @returns Current system time.
|
|
22
|
-
*/
|
|
23
|
-
now(): Date;
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Supplies a fixed wall-clock time for deterministic work.
|
|
27
|
-
*/
|
|
28
|
-
export declare class FixedClock implements Clock {
|
|
29
|
-
#private;
|
|
30
|
-
/**
|
|
31
|
-
* Creates a clock fixed at one time.
|
|
32
|
-
*
|
|
33
|
-
* @param value Finite time to return from `now()`.
|
|
34
|
-
*/
|
|
35
|
-
constructor(value: Date);
|
|
36
|
-
/**
|
|
37
|
-
* Returns a fresh date at the configured time.
|
|
38
|
-
*
|
|
39
|
-
* @returns Fixed time.
|
|
40
|
-
*/
|
|
41
|
-
now(): Date;
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Configures the clock used to create signal metadata.
|
|
5
|
+
* Configures the time provider used to create signal metadata.
|
|
45
6
|
*/
|
|
46
7
|
export interface SignalMetadataOptions {
|
|
47
8
|
/**
|
|
48
|
-
* Supplies timestamps; defaults to
|
|
9
|
+
* Supplies precise timestamps; defaults to shared `Time` from `@spine-event-engine/core/time`.
|
|
49
10
|
*/
|
|
50
|
-
readonly
|
|
11
|
+
readonly timeProvider?: TimeProvider;
|
|
51
12
|
}
|
|
52
13
|
/**
|
|
53
14
|
* Supplies optional actor and tenant data for a signal context.
|
|
@@ -100,7 +61,7 @@ export declare class SignalMetadata {
|
|
|
100
61
|
/**
|
|
101
62
|
* Creates a metadata factory.
|
|
102
63
|
*
|
|
103
|
-
* @param options Optional
|
|
64
|
+
* @param options Optional precise time provider.
|
|
104
65
|
*/
|
|
105
66
|
constructor(options?: SignalMetadataOptions);
|
|
106
67
|
/**
|
|
@@ -116,12 +77,11 @@ export declare class SignalMetadata {
|
|
|
116
77
|
*/
|
|
117
78
|
eventId(): EventId;
|
|
118
79
|
/**
|
|
119
|
-
*
|
|
80
|
+
* Reads a precise Protobuf occurrence timestamp.
|
|
120
81
|
*
|
|
121
|
-
* @param value Date to convert; defaults to the configured clock.
|
|
122
82
|
* @returns Protobuf timestamp.
|
|
123
83
|
*/
|
|
124
|
-
timestamp(
|
|
84
|
+
timestamp(): Timestamp;
|
|
125
85
|
/**
|
|
126
86
|
* Creates an actor context from actor and tenant input.
|
|
127
87
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signal-metadata.d.ts","sourceRoot":"","sources":["../../src/runtime/signal-metadata.ts"],"names":[],"mappings":"AAiBA,OAAO,EAKL,KAAK,GAAG,
|
|
1
|
+
{"version":3,"file":"signal-metadata.d.ts","sourceRoot":"","sources":["../../src/runtime/signal-metadata.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,57 +13,21 @@
|
|
|
13
13
|
*/
|
|
14
14
|
import { randomUUID } from "node:crypto";
|
|
15
15
|
import { clone, create } from "@bufbuild/protobuf";
|
|
16
|
-
import { BoolValueSchema, DoubleValueSchema, Int64ValueSchema, StringValueSchema,
|
|
17
|
-
import { AnyMessages } from "@spine-event-engine/core";
|
|
16
|
+
import { BoolValueSchema, DoubleValueSchema, Int64ValueSchema, StringValueSchema, } from "@bufbuild/protobuf/wkt";
|
|
17
|
+
import { AnyMessages, Time } from "@spine-event-engine/core";
|
|
18
18
|
import { ActorContextSchema, CommandContextSchema, CommandIdSchema, EventContextSchema, EventIdSchema, MessageIdSchema, OriginSchema, TenantIdSchema, UserIdSchema, VersionSchema, } from "@spine-event-engine/proto";
|
|
19
|
-
/**
|
|
20
|
-
* Supplies system wall-clock time.
|
|
21
|
-
*/
|
|
22
|
-
export class SystemClock {
|
|
23
|
-
// prettier-ignore
|
|
24
|
-
/**
|
|
25
|
-
* Returns the current system time.
|
|
26
|
-
*
|
|
27
|
-
* @returns Current system time.
|
|
28
|
-
*/
|
|
29
|
-
now() {
|
|
30
|
-
return new Date();
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Supplies a fixed wall-clock time for deterministic work.
|
|
35
|
-
*/
|
|
36
|
-
export class FixedClock {
|
|
37
|
-
#value;
|
|
38
|
-
/**
|
|
39
|
-
* Creates a clock fixed at one time.
|
|
40
|
-
*
|
|
41
|
-
* @param value Finite time to return from `now()`.
|
|
42
|
-
*/
|
|
43
|
-
constructor(value) {
|
|
44
|
-
this.#value = SignalValues.time(value).getTime();
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Returns a fresh date at the configured time.
|
|
48
|
-
*
|
|
49
|
-
* @returns Fixed time.
|
|
50
|
-
*/
|
|
51
|
-
now() {
|
|
52
|
-
return new Date(this.#value);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
19
|
/**
|
|
56
20
|
* Creates immutable metadata for commands and events.
|
|
57
21
|
*/
|
|
58
22
|
export class SignalMetadata {
|
|
59
|
-
#
|
|
23
|
+
#timeProvider;
|
|
60
24
|
/**
|
|
61
25
|
* Creates a metadata factory.
|
|
62
26
|
*
|
|
63
|
-
* @param options Optional
|
|
27
|
+
* @param options Optional precise time provider.
|
|
64
28
|
*/
|
|
65
29
|
constructor(options = {}) {
|
|
66
|
-
this.#
|
|
30
|
+
this.#timeProvider = options.timeProvider;
|
|
67
31
|
}
|
|
68
32
|
/**
|
|
69
33
|
* Creates a command identifier.
|
|
@@ -82,20 +46,12 @@ export class SignalMetadata {
|
|
|
82
46
|
return create(EventIdSchema, { value: randomUUID() });
|
|
83
47
|
}
|
|
84
48
|
/**
|
|
85
|
-
*
|
|
49
|
+
* Reads a precise Protobuf occurrence timestamp.
|
|
86
50
|
*
|
|
87
|
-
* @param value Date to convert; defaults to the configured clock.
|
|
88
51
|
* @returns Protobuf timestamp.
|
|
89
52
|
*/
|
|
90
|
-
timestamp(
|
|
91
|
-
|
|
92
|
-
const milliseconds = date.getTime();
|
|
93
|
-
const seconds = Math.floor(milliseconds / 1_000);
|
|
94
|
-
const nanos = (milliseconds - seconds * 1_000) * 1_000_000;
|
|
95
|
-
return create(TimestampSchema, {
|
|
96
|
-
seconds: BigInt(seconds),
|
|
97
|
-
nanos,
|
|
98
|
-
});
|
|
53
|
+
timestamp() {
|
|
54
|
+
return this.#timeProvider?.currentTime() ?? Time.currentTime();
|
|
99
55
|
}
|
|
100
56
|
/**
|
|
101
57
|
* Creates an actor context from actor and tenant input.
|
|
@@ -320,14 +276,4 @@ export class SignalMetadata {
|
|
|
320
276
|
return event.id;
|
|
321
277
|
}
|
|
322
278
|
}
|
|
323
|
-
/**
|
|
324
|
-
* Validates values shared by clock metadata.
|
|
325
|
-
*/
|
|
326
|
-
const SignalValues = Object.freeze({
|
|
327
|
-
time(value) {
|
|
328
|
-
if (!Number.isFinite(value.getTime()))
|
|
329
|
-
throw new TypeError("Signal metadata timestamps require a finite Date instance.");
|
|
330
|
-
return value;
|
|
331
|
-
},
|
|
332
|
-
});
|
|
333
279
|
//# sourceMappingURL=signal-metadata.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signal-metadata.js","sourceRoot":"","sources":["../../src/runtime/signal-metadata.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"signal-metadata.js","sourceRoot":"","sources":["../../src/runtime/signal-metadata.ts"],"names":[],"mappings":"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"}
|
|
@@ -61,11 +61,11 @@ export interface ManagedServerApplicationOptions {
|
|
|
61
61
|
*
|
|
62
62
|
* Builds one complete local application server in a child process.
|
|
63
63
|
*
|
|
64
|
-
* The framework
|
|
64
|
+
* The framework manages the returned `Server` for the child lifetime.
|
|
65
65
|
* Every assembled Bounded Context must use its actual
|
|
66
66
|
* `InMemorySubscriptionRegistry`: managed mode rejects persistent and custom
|
|
67
67
|
* registries, then closes the assembled server before the child can report
|
|
68
|
-
* READY. This prevents child-local
|
|
68
|
+
* READY. This prevents durable subscriptions in a child-local registry.
|
|
69
69
|
*
|
|
70
70
|
* @param options Supplies the child-only loopback listener address.
|
|
71
71
|
* @returns The assembled local application server.
|
|
@@ -126,10 +126,10 @@ export declare const ManagedServerApplication: Readonly<{
|
|
|
126
126
|
/**
|
|
127
127
|
*
|
|
128
128
|
* Starts a managed parent and complete-replica children without taking
|
|
129
|
-
* process-signal
|
|
129
|
+
* process-signal handling.
|
|
130
130
|
*
|
|
131
131
|
* The caller closes the returned handle. This is for an embedding host that
|
|
132
|
-
* already
|
|
132
|
+
* already handles `SIGINT` and `SIGTERM`.
|
|
133
133
|
*
|
|
134
134
|
* @param options Configures the managed application replicas.
|
|
135
135
|
* @returns The started managed application handle.
|
|
@@ -255,14 +255,14 @@ export declare class ManagedServerCoordinator {
|
|
|
255
255
|
/**
|
|
256
256
|
* Records an exact native subscription whose activation started for a member.
|
|
257
257
|
*
|
|
258
|
-
* @param member
|
|
258
|
+
* @param member Identifies the member whose child subscription is activating.
|
|
259
259
|
* @param subscription Supplies the activating native subscription.
|
|
260
260
|
*/
|
|
261
261
|
onChildSubscriptionActivated(member: ReadyCoordinatorMember, subscription: Subscription): void;
|
|
262
262
|
/**
|
|
263
263
|
* Clears a pending child-installation wait after cancellation.
|
|
264
264
|
*
|
|
265
|
-
* @param member
|
|
265
|
+
* @param member Identifies the member whose child subscription was cancelled.
|
|
266
266
|
* @param subscription Supplies the cancelled native subscription.
|
|
267
267
|
*/
|
|
268
268
|
onChildSubscriptionCancelled(member: ReadyCoordinatorMember, subscription: Subscription): void;
|
|
@@ -309,7 +309,19 @@ type ReadyMember = ReadyCoordinatorMember;
|
|
|
309
309
|
* @internal
|
|
310
310
|
*/
|
|
311
311
|
export declare const managedServerCoordinatorAccess: Readonly<{
|
|
312
|
+
/**
|
|
313
|
+
* Returns currently ready members for private coordinator inspection.
|
|
314
|
+
*
|
|
315
|
+
* @param coordinator The managed coordinator to inspect.
|
|
316
|
+
* @returns The currently ready coordinator members.
|
|
317
|
+
*/
|
|
312
318
|
readyMembers(coordinator: ManagedServerCoordinator): readonly ReadyMember[];
|
|
319
|
+
/**
|
|
320
|
+
* Returns the private coordinator endpoint when available.
|
|
321
|
+
*
|
|
322
|
+
* @param coordinator The managed coordinator to inspect.
|
|
323
|
+
* @returns The loopback endpoint when the coordinator is open.
|
|
324
|
+
*/
|
|
313
325
|
coordinatorEndpoint(coordinator: ManagedServerCoordinator): string | undefined;
|
|
314
326
|
}>;
|
|
315
327
|
/**
|
|
@@ -319,8 +331,26 @@ export declare const managedServerCoordinatorAccess: Readonly<{
|
|
|
319
331
|
* @internal
|
|
320
332
|
*/
|
|
321
333
|
export declare const managedServerApplicationAccess: Readonly<{
|
|
334
|
+
/**
|
|
335
|
+
* Returns currently ready members for private coordinator inspection.
|
|
336
|
+
*
|
|
337
|
+
* @param handle The application handle to inspect.
|
|
338
|
+
* @returns The currently ready coordinator members.
|
|
339
|
+
*/
|
|
322
340
|
readyMembers(handle: ManagedServerApplicationHandle): readonly ReadyMember[];
|
|
341
|
+
/**
|
|
342
|
+
* Returns the private coordinator endpoint when available.
|
|
343
|
+
*
|
|
344
|
+
* @param handle The application handle to inspect.
|
|
345
|
+
* @returns The loopback endpoint when the coordinator is open.
|
|
346
|
+
*/
|
|
323
347
|
coordinatorEndpoint(handle: ManagedServerApplicationHandle): string | undefined;
|
|
348
|
+
/**
|
|
349
|
+
* Associates in-memory registries with an assembled test server.
|
|
350
|
+
*
|
|
351
|
+
* @param server The assembled child server to inspect.
|
|
352
|
+
* @param registries The registries supplied by a test server.
|
|
353
|
+
*/
|
|
324
354
|
installRegistriesForTest(server: RunningServer, registries: readonly InMemorySubscriptionRegistry[]): void;
|
|
325
355
|
}>;
|
|
326
356
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"managed-server-application.d.ts","sourceRoot":"","sources":["../../src/server/managed-server-application.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"managed-server-application.d.ts","sourceRoot":"","sources":["../../src/server/managed-server-application.ts"],"names":[],"mappings":"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"}
|