@spine-event-engine/storage-datastore 2.0.0-snapshot.23 → 2.0.0-snapshot.25
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 +25 -10
- package/REFERENCE.md +66 -50
- package/dist/datastore/agent-history.d.ts +36 -6
- package/dist/datastore/agent-history.d.ts.map +1 -1
- package/dist/datastore/agent-history.js +92 -6
- package/dist/datastore/agent-history.js.map +1 -1
- package/dist/datastore/column-mapping.d.ts.map +1 -1
- package/dist/datastore/column-mapping.js +6 -3
- package/dist/datastore/column-mapping.js.map +1 -1
- package/dist/datastore/entity-history.d.ts +206 -55
- package/dist/datastore/entity-history.d.ts.map +1 -1
- package/dist/datastore/entity-history.js +556 -239
- package/dist/datastore/entity-history.js.map +1 -1
- package/dist/datastore/id-column.d.ts +7 -0
- package/dist/datastore/id-column.d.ts.map +1 -1
- package/dist/datastore/id-column.js +27 -3
- package/dist/datastore/id-column.js.map +1 -1
- package/dist/datastore/record-kind.d.ts +8 -0
- package/dist/datastore/record-kind.d.ts.map +1 -0
- package/dist/datastore/record-kind.js +26 -0
- package/dist/datastore/record-kind.js.map +1 -0
- package/dist/datastore/record-storage.d.ts +11 -10
- package/dist/datastore/record-storage.d.ts.map +1 -1
- package/dist/datastore/record-storage.js +31 -32
- package/dist/datastore/record-storage.js.map +1 -1
- package/dist/datastore/storage-factory.d.ts +293 -89
- package/dist/datastore/storage-factory.d.ts.map +1 -1
- package/dist/datastore/storage-factory.js +734 -222
- package/dist/datastore/storage-factory.js.map +1 -1
- package/dist/datastore/tenant-catalog.d.ts +12 -25
- package/dist/datastore/tenant-catalog.d.ts.map +1 -1
- package/dist/datastore/tenant-catalog.js +43 -121
- package/dist/datastore/tenant-catalog.js.map +1 -1
- package/dist/datastore/transaction-rows.d.ts +30 -0
- package/dist/datastore/transaction-rows.d.ts.map +1 -0
- package/dist/datastore/transaction-rows.js +43 -0
- package/dist/datastore/transaction-rows.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/index.yaml +0 -9
- package/package.json +5 -5
- package/dist/datastore/agent-execution.d.ts +0 -337
- package/dist/datastore/agent-execution.d.ts.map +0 -1
- package/dist/datastore/agent-execution.js +0 -789
- package/dist/datastore/agent-execution.js.map +0 -1
- package/dist/datastore/delivery-cleanup.d.ts +0 -31
- package/dist/datastore/delivery-cleanup.d.ts.map +0 -1
- package/dist/datastore/delivery-cleanup.js +0 -111
- package/dist/datastore/delivery-cleanup.js.map +0 -1
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { type Message } from "@bufbuild/protobuf";
|
|
2
|
+
import { type ModelPreference } from "@spine-event-engine/proto/agent";
|
|
3
|
+
import { type AgentCommitInput } from "@spine-event-engine/storage/provider";
|
|
2
4
|
import { type EntityCommitInput, type EntityCommitStorage, type EntityEventHistoryPort, type EntityRecordStorage, type EntityStateHistoryPort, type EntityStorageInput } from "@spine-event-engine/storage/provider";
|
|
3
5
|
import { RecordSpec, type RecordStorage } from "@spine-event-engine/storage";
|
|
4
6
|
/**
|
|
5
|
-
*
|
|
7
|
+
* Acquires one generated record family with its resolved Datastore layout.
|
|
6
8
|
*
|
|
7
9
|
* @typeParam I Record identifier type.
|
|
8
10
|
* @typeParam R Stored Protobuf message type.
|
|
@@ -50,98 +52,247 @@ export declare class DatastoreEntityStorage<I, S extends Message> {
|
|
|
50
52
|
isOpen(): boolean;
|
|
51
53
|
}
|
|
52
54
|
/**
|
|
53
|
-
*
|
|
55
|
+
* Writes one Datastore Entity mutation in independent record order.
|
|
54
56
|
*/
|
|
55
57
|
export declare class DatastoreEntityCommitStorage implements EntityCommitStorage {
|
|
56
58
|
#private;
|
|
57
59
|
private readonly input;
|
|
58
60
|
private readonly openRecords;
|
|
61
|
+
private readonly onClose;
|
|
59
62
|
/**
|
|
60
|
-
* Creates
|
|
63
|
+
* Creates commit storage for one Entity persistence contract.
|
|
61
64
|
*
|
|
62
|
-
* @param input
|
|
63
|
-
* @param openRecords
|
|
65
|
+
* @param input Defines the Entity source and tenant boundary.
|
|
66
|
+
* @param openRecords Opens each generated record family.
|
|
67
|
+
* @param onClose Releases factory tracking after terminal cleanup.
|
|
64
68
|
*/
|
|
65
|
-
constructor(input: EntityStorageInput<unknown, Message>, openRecords: OpenEntityRecords);
|
|
69
|
+
constructor(input: EntityStorageInput<unknown, Message>, openRecords: OpenEntityRecords, onClose?: () => void);
|
|
66
70
|
/**
|
|
67
|
-
*
|
|
71
|
+
* Writes histories and delivery Events before the current Entity record.
|
|
72
|
+
*
|
|
73
|
+
* A failed save may leave a completed prefix. One transient retry replays
|
|
74
|
+
* captured records with the same versions and Event IDs.
|
|
68
75
|
*
|
|
69
76
|
* @typeParam I Entity identifier type.
|
|
70
77
|
* @typeParam S Entity state message type.
|
|
71
|
-
* @param input
|
|
72
|
-
* @returns Completion after
|
|
78
|
+
* @param input Supplies the prepared Entity mutation.
|
|
79
|
+
* @returns Completion after every requested record write.
|
|
73
80
|
*/
|
|
74
81
|
commit<I, S extends Message>(input: EntityCommitInput<I, S>): Promise<void>;
|
|
75
82
|
/**
|
|
76
|
-
*
|
|
83
|
+
* Registers a commit before invoking provider construction callbacks.
|
|
77
84
|
*
|
|
78
|
-
* @
|
|
79
|
-
* @
|
|
80
|
-
* @
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
*
|
|
85
|
-
* @
|
|
85
|
+
* @param action The admitted provider operation.
|
|
86
|
+
* @returns The admitted provider operation completion.
|
|
87
|
+
* @typeParam T Result type of the admitted provider operation.
|
|
88
|
+
*/
|
|
89
|
+
private track;
|
|
90
|
+
/**
|
|
91
|
+
* Reads a detached current preference image from native storage.
|
|
92
|
+
* @param entityId Typed Agent identifier.
|
|
93
|
+
* @returns Complete selections or absent record.
|
|
94
|
+
*/
|
|
95
|
+
readAgentPreferences(entityId: unknown): Promise<readonly ModelPreference[] | undefined>;
|
|
96
|
+
/**
|
|
97
|
+
* Commits Agent state, final audit, and preferences in one native transaction.
|
|
98
|
+
* @param input Captured live Agent transition.
|
|
99
|
+
* @returns Completion after a conditional group commits.
|
|
100
|
+
* @typeParam I Typed Agent identifier.
|
|
101
|
+
* @typeParam S Generated Agent state.
|
|
102
|
+
*/
|
|
103
|
+
commitAgent<I, S extends Message>(input: AgentCommitInput<I, S>): Promise<void>;
|
|
104
|
+
/**
|
|
105
|
+
* Acquires every missing native family before publishing retained references.
|
|
106
|
+
* @param mutation Optional Entity mutation requiring history families.
|
|
107
|
+
* @returns Native handles for one Agent commit.
|
|
108
|
+
*/
|
|
109
|
+
private agentRows;
|
|
110
|
+
/**
|
|
111
|
+
* Acquires only missing native Agent families without publishing partial acquisition.
|
|
112
|
+
* @param mutation Optional Entity mutation.
|
|
113
|
+
* @param acquired Collects newly opened handles for rollback.
|
|
114
|
+
* @returns Complete native family group.
|
|
115
|
+
*/
|
|
116
|
+
private acquireAgentRows;
|
|
117
|
+
/**
|
|
118
|
+
* Acquires mutation families needed by the admitted Agent turn.
|
|
119
|
+
* @param mutation Optional changed Entity mutation.
|
|
120
|
+
* @param acquired Newly opened handles retained for rollback.
|
|
121
|
+
* @returns Optional mutation families.
|
|
122
|
+
*/
|
|
123
|
+
private agentMutationRows;
|
|
124
|
+
/**
|
|
125
|
+
* Acquires one native record family and records its rollback obligation.
|
|
126
|
+
* @param spec Declarative record layout.
|
|
127
|
+
* @param group Optional physical family.
|
|
128
|
+
* @param acquired Newly opened handles.
|
|
129
|
+
* @returns Native record family.
|
|
130
|
+
* @typeParam Id Typed record identifier.
|
|
131
|
+
* @typeParam R Generated record.
|
|
132
|
+
*/
|
|
133
|
+
private openAgentRecord;
|
|
134
|
+
/**
|
|
135
|
+
* Stores the complete acquired Agent group after every family succeeds.
|
|
136
|
+
* @param rows Complete native family group.
|
|
137
|
+
*/
|
|
138
|
+
private retainAgentRows;
|
|
139
|
+
/**
|
|
140
|
+
* Checks the built-in native transaction capability.
|
|
141
|
+
* @param port Selected record family.
|
|
142
|
+
* @returns Native record family.
|
|
143
|
+
* @typeParam Id Typed record identifier.
|
|
144
|
+
* @typeParam R Generated record.
|
|
145
|
+
*/
|
|
146
|
+
private native;
|
|
147
|
+
/**
|
|
148
|
+
* Validates the Entity scope and exactly one next Version before I/O.
|
|
149
|
+
* @param id Captured Agent ID.
|
|
150
|
+
* @param version Initial Entity Version.
|
|
151
|
+
* @param mutation Optional prepared Entity mutation.
|
|
152
|
+
* @typeParam I Typed Entity identifier.
|
|
153
|
+
* @typeParam S Generated Entity state.
|
|
154
|
+
*/
|
|
155
|
+
private validateAgent;
|
|
156
|
+
/**
|
|
157
|
+
* Executes a captured Agent transition in one native transaction.
|
|
158
|
+
* @param rows Retained native families.
|
|
159
|
+
* @param id Captured Agent ID.
|
|
160
|
+
* @param version Initial Entity version.
|
|
161
|
+
* @param expected Initial preference image.
|
|
162
|
+
* @param next Complete replacement preferences.
|
|
163
|
+
* @param mutation Optional Entity mutation.
|
|
164
|
+
* @param history Final audit entries.
|
|
165
|
+
* @typeParam I Typed Entity identifier.
|
|
166
|
+
* @typeParam S Generated Entity state.
|
|
167
|
+
* @returns Completion after the native transaction settles.
|
|
168
|
+
*/
|
|
169
|
+
private agentTransaction;
|
|
170
|
+
/**
|
|
171
|
+
* Checks both current images and stages the complete final group.
|
|
172
|
+
* @param tx Native transaction.
|
|
173
|
+
* @param staged Rows saved only after all checks pass.
|
|
174
|
+
* @param rows Retained native families.
|
|
175
|
+
* @param id Captured Agent identifier.
|
|
176
|
+
* @param version Initial Entity Version.
|
|
177
|
+
* @param expected Initial preference image.
|
|
178
|
+
* @param next Replacement preference record.
|
|
179
|
+
* @param mutation Optional Entity mutation.
|
|
180
|
+
* @param history Final audit entries.
|
|
181
|
+
* @typeParam I Typed Entity identifier.
|
|
182
|
+
* @typeParam S Generated Entity state.
|
|
183
|
+
* @returns Completion after all conditional rows are staged.
|
|
184
|
+
*/
|
|
185
|
+
private agentLocked;
|
|
186
|
+
/**
|
|
187
|
+
* Records final Agent audit rows in the admitted native transaction.
|
|
188
|
+
* @param history Final Agent audit entries.
|
|
189
|
+
* @param id Captured typed Agent identifier.
|
|
190
|
+
* @param staged Rows staged for atomic commit.
|
|
191
|
+
* @param storage Retained provider record family.
|
|
192
|
+
* @param tx Active native transaction.
|
|
193
|
+
* @returns Completion after final audit rows are staged.
|
|
194
|
+
*/
|
|
195
|
+
private appendAgentAudit;
|
|
196
|
+
/**
|
|
197
|
+
* Reads a native row within the Agent transaction.
|
|
198
|
+
* @param tx Active native transaction.
|
|
199
|
+
* @param storage Retained record family.
|
|
200
|
+
* @param id Typed record identifier.
|
|
201
|
+
* @returns Decoded row or absence.
|
|
202
|
+
* @typeParam Id Typed record identifier.
|
|
203
|
+
* @typeParam R Generated record.
|
|
204
|
+
*/
|
|
205
|
+
private agentRead;
|
|
206
|
+
/**
|
|
207
|
+
* Checks one immutable final record before staging it.
|
|
208
|
+
* @param tx Active native transaction.
|
|
209
|
+
* @param staged Collected native rows.
|
|
210
|
+
* @param storage Retained record family.
|
|
211
|
+
* @param record Proposed immutable record.
|
|
212
|
+
* @typeParam Id Typed record identifier.
|
|
213
|
+
* @typeParam R Generated record.
|
|
214
|
+
* @returns Completion after the immutable row is checked and staged.
|
|
215
|
+
*/
|
|
216
|
+
private agentImmutable;
|
|
217
|
+
/**
|
|
218
|
+
* Checks an enabled native history family.
|
|
219
|
+
* @param storage Optional native family.
|
|
220
|
+
* @returns Enabled native record family.
|
|
221
|
+
* @typeParam Id Typed record ID.
|
|
222
|
+
* @typeParam R Generated record.
|
|
86
223
|
*/
|
|
87
|
-
private
|
|
224
|
+
private requiredNative;
|
|
88
225
|
/**
|
|
89
|
-
*
|
|
226
|
+
* Persists an admitted captured mutation and one safe retry.
|
|
90
227
|
*
|
|
91
|
-
* @
|
|
92
|
-
* @
|
|
93
|
-
* @
|
|
94
|
-
* @
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
228
|
+
* @param prepared The immutable prepared mutation.
|
|
229
|
+
* @returns Completion after the captured mutation is persisted.
|
|
230
|
+
* @typeParam I Entity identifier or record type.
|
|
231
|
+
* @typeParam S Generated Entity state message type.
|
|
232
|
+
*/
|
|
233
|
+
private persist;
|
|
234
|
+
/**
|
|
235
|
+
* Acquires only missing requested families and rolls back a failed group.
|
|
236
|
+
*
|
|
237
|
+
* @param input The captured Entity persistence input.
|
|
238
|
+
* @returns The retained records required by this commit.
|
|
239
|
+
* @typeParam I Entity identifier or record type.
|
|
240
|
+
* @typeParam S Generated Entity state message type.
|
|
98
241
|
*/
|
|
99
|
-
private
|
|
242
|
+
private openCommit;
|
|
100
243
|
/**
|
|
101
|
-
*
|
|
244
|
+
* Writes independent record families in Entity commit order.
|
|
102
245
|
*
|
|
103
246
|
* @typeParam I Entity identifier type.
|
|
104
|
-
* @
|
|
105
|
-
* @param
|
|
106
|
-
* @
|
|
247
|
+
* @typeParam S Entity state message type.
|
|
248
|
+
* @param input Supplies immutable prepared records.
|
|
249
|
+
* @param current Stores current Entity state.
|
|
250
|
+
* @param states Stores state history when requested.
|
|
251
|
+
* @param diagnostics Stores diagnostic Events when requested.
|
|
252
|
+
* @param events Stores delivery Events when requested.
|
|
253
|
+
* @returns Completion after every requested record write.
|
|
107
254
|
*/
|
|
108
|
-
private
|
|
255
|
+
private apply;
|
|
109
256
|
/**
|
|
110
|
-
*
|
|
257
|
+
* Determines whether a Datastore abort occurred through provider error causes.
|
|
111
258
|
*
|
|
112
|
-
* @param
|
|
113
|
-
* @
|
|
114
|
-
* @returns Existing data indexed by key.
|
|
259
|
+
* @param error Supplies the operation failure.
|
|
260
|
+
* @returns Whether one captured-input replay is safe.
|
|
115
261
|
*/
|
|
116
|
-
private
|
|
262
|
+
private retryable;
|
|
117
263
|
/**
|
|
118
|
-
*
|
|
264
|
+
* Closes this commit storage to further commits.
|
|
119
265
|
*
|
|
120
|
-
* @
|
|
121
|
-
|
|
266
|
+
* @returns Completion after admitted work and record cleanup settle.
|
|
267
|
+
*/
|
|
268
|
+
close(): Promise<void>;
|
|
269
|
+
/**
|
|
270
|
+
* Closes only when no commit remains admitted.
|
|
122
271
|
*/
|
|
123
|
-
|
|
272
|
+
closeIdle(): void;
|
|
124
273
|
/**
|
|
125
|
-
*
|
|
274
|
+
* Rejects synchronous disposal while asynchronous work remains admitted.
|
|
275
|
+
*/
|
|
276
|
+
assertIdle(): void;
|
|
277
|
+
/**
|
|
278
|
+
* Waits for every admitted commit before completing close.
|
|
126
279
|
*
|
|
127
|
-
* @
|
|
128
|
-
* @param prepared Supplies current and immutable rows.
|
|
129
|
-
* @param values Supplies existing data for affected keys.
|
|
280
|
+
* @returns Completion after admitted work and cleanup settle.
|
|
130
281
|
*/
|
|
131
|
-
private
|
|
282
|
+
private drain;
|
|
132
283
|
/**
|
|
133
|
-
* Closes
|
|
284
|
+
* Closes every retained record once after admitted work settles.
|
|
134
285
|
*
|
|
135
|
-
* @
|
|
136
|
-
* @param states Supplies state history when enabled.
|
|
137
|
-
* @param diagnostics Supplies diagnostic history when enabled.
|
|
138
|
-
* @param events Supplies delivery Event storage.
|
|
286
|
+
* @returns A cleanup failure, if any.
|
|
139
287
|
*/
|
|
140
|
-
private
|
|
288
|
+
private closeRetained;
|
|
141
289
|
/**
|
|
142
|
-
* Closes
|
|
290
|
+
* Closes every newly acquired handle and collects cleanup failures.
|
|
291
|
+
*
|
|
292
|
+
* @param ports The acquired record handles.
|
|
293
|
+
* @returns Cleanup failures from acquired handles.
|
|
143
294
|
*/
|
|
144
|
-
|
|
295
|
+
private closeGroup;
|
|
145
296
|
/**
|
|
146
297
|
* Validates the Entity, tenant, history, and Event boundaries of a commit.
|
|
147
298
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-history.d.ts","sourceRoot":"","sources":["../../src/datastore/entity-history.ts"],"names":[],"mappings":"AAcA,OAAO,
|
|
1
|
+
{"version":3,"file":"entity-history.d.ts","sourceRoot":"","sources":["../../src/datastore/entity-history.ts"],"names":[],"mappings":"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"}
|