@spine-event-engine/storage-datastore 2.0.0-snapshot.24 → 2.0.0-snapshot.26

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.
Files changed (47) hide show
  1. package/README.md +22 -21
  2. package/REFERENCE.md +55 -50
  3. package/dist/datastore/agent-history.d.ts +36 -6
  4. package/dist/datastore/agent-history.d.ts.map +1 -1
  5. package/dist/datastore/agent-history.js +92 -6
  6. package/dist/datastore/agent-history.js.map +1 -1
  7. package/dist/datastore/column-mapping.d.ts.map +1 -1
  8. package/dist/datastore/column-mapping.js +6 -3
  9. package/dist/datastore/column-mapping.js.map +1 -1
  10. package/dist/datastore/entity-history.d.ts +197 -3
  11. package/dist/datastore/entity-history.d.ts.map +1 -1
  12. package/dist/datastore/entity-history.js +514 -33
  13. package/dist/datastore/entity-history.js.map +1 -1
  14. package/dist/datastore/id-column.d.ts +7 -0
  15. package/dist/datastore/id-column.d.ts.map +1 -1
  16. package/dist/datastore/id-column.js +27 -3
  17. package/dist/datastore/id-column.js.map +1 -1
  18. package/dist/datastore/record-kind.d.ts +8 -0
  19. package/dist/datastore/record-kind.d.ts.map +1 -0
  20. package/dist/datastore/record-kind.js +26 -0
  21. package/dist/datastore/record-kind.js.map +1 -0
  22. package/dist/datastore/record-storage.d.ts +11 -10
  23. package/dist/datastore/record-storage.d.ts.map +1 -1
  24. package/dist/datastore/record-storage.js +28 -28
  25. package/dist/datastore/record-storage.js.map +1 -1
  26. package/dist/datastore/storage-factory.d.ts +246 -40
  27. package/dist/datastore/storage-factory.d.ts.map +1 -1
  28. package/dist/datastore/storage-factory.js +672 -110
  29. package/dist/datastore/storage-factory.js.map +1 -1
  30. package/dist/datastore/tenant-catalog.d.ts +12 -25
  31. package/dist/datastore/tenant-catalog.d.ts.map +1 -1
  32. package/dist/datastore/tenant-catalog.js +43 -121
  33. package/dist/datastore/tenant-catalog.js.map +1 -1
  34. package/dist/datastore/transaction-rows.d.ts +30 -0
  35. package/dist/datastore/transaction-rows.d.ts.map +1 -0
  36. package/dist/datastore/transaction-rows.js +43 -0
  37. package/dist/datastore/transaction-rows.js.map +1 -0
  38. package/dist/index.d.ts +1 -1
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js.map +1 -1
  41. package/dist/tsconfig.tsbuildinfo +1 -1
  42. package/index.yaml +0 -9
  43. package/package.json +5 -6
  44. package/dist/datastore/agent-execution.d.ts +0 -337
  45. package/dist/datastore/agent-execution.d.ts.map +0 -1
  46. package/dist/datastore/agent-execution.js +0 -789
  47. package/dist/datastore/agent-execution.js.map +0 -1
package/index.yaml CHANGED
@@ -13,12 +13,3 @@ indexes:
13
13
  - name: scope_digest
14
14
  - name: conversation_digest
15
15
  - name: order_key
16
- - kind: spine_agent_execution_head
17
- properties:
18
- - name: state_digest
19
- - name: pending_key
20
- - kind: spine_agent_execution
21
- properties:
22
- - name: scope_digest
23
- - name: status
24
- - name: order_key
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spine-event-engine/storage-datastore",
3
- "version": "2.0.0-snapshot.24",
3
+ "version": "2.0.0-snapshot.26",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "repository": {
@@ -28,13 +28,12 @@
28
28
  "dependencies": {
29
29
  "@bufbuild/protobuf": "2.12.1",
30
30
  "@google-cloud/datastore": "10.1.1",
31
- "@spine-event-engine/core": "2.0.0-snapshot.24",
32
- "@spine-event-engine/proto": "2.0.0-snapshot.24",
33
- "@spine-event-engine/storage": "2.0.0-snapshot.24"
31
+ "@spine-event-engine/core": "2.0.0-snapshot.26",
32
+ "@spine-event-engine/proto": "2.0.0-snapshot.26",
33
+ "@spine-event-engine/storage": "2.0.0-snapshot.26"
34
34
  },
35
35
  "scripts": {
36
- "inventory:legacy": "node scripts/inventory-legacy-layout.mjs",
37
- "test:emulator": "node scripts/verify-emulator-config.mjs && SPINE_TS_INBOX_PROVIDER=datastore pnpm --config.verify-deps-before-run=false exec vitest --root ../.. --config vitest.infrastructure.config.ts run packages/storage-datastore/test/datastore-emulator.test.ts packages/storage-datastore/test/datastore-agent-history.test.ts packages/storage-datastore/test/datastore-agent-execution.test.ts packages/server/test/delivery/inbox-provider-cleanup.test.ts",
36
+ "test:emulator": "node scripts/verify-emulator-config.mjs && SPINE_TS_INBOX_PROVIDER=datastore pnpm --config.verify-deps-before-run=false exec vitest --root ../.. --config vitest.infrastructure.config.ts run packages/storage-datastore/test/datastore-emulator.test.ts packages/storage-datastore/test/datastore-agent-history.test.ts packages/storage-datastore/test/datastore-agent-live-commit.test.ts packages/server/test/delivery/inbox-provider-cleanup.test.ts",
38
37
  "test:cloud": "node scripts/verify-cloud-config.mjs && pnpm --config.verify-deps-before-run=false exec vitest --root ../.. --config vitest.infrastructure.config.ts run packages/storage-datastore/test/datastore-cloud.test.ts"
39
38
  }
40
39
  }
@@ -1,337 +0,0 @@
1
- import { type Message } from "@bufbuild/protobuf";
2
- import type { Timestamp } from "@bufbuild/protobuf/wkt";
3
- import { type CommandId, type Event, type EventId } from "@spine-event-engine/proto";
4
- import { type AgentAcceptedInvocation, type AgentExecutionHead, type AgentExecutionRecord, type AgentInvocationKey } from "@spine-event-engine/proto/generated/spine/server/agent/execution_record_pb.js";
5
- import type { AgentHistoryRecord } from "@spine-event-engine/proto/generated/spine/server/agent/history_record_pb.js";
6
- import type { EntityRecord } from "@spine-event-engine/proto/generated/spine/server/entity/entity_pb.js";
7
- import { type AgentExecutionStorage, type AgentExecutionCapacity, type AgentExecutionStorageInput, type AgentExecutionClaim, type AgentExecutionUpdate, type AgentExecutionComplete, type AgentPendingRead, type AgentPendingPage } from "@spine-event-engine/storage/provider";
8
- import { DatastoreRecordStorage } from "./record-storage.js";
9
- /**
10
- * Existing native record families participating in one Agent transaction.
11
- *
12
- * @typeParam I Typed entity identifier.
13
- */
14
- export interface DatastoreExecutionRows<I> {
15
- /**
16
- * Mutable execution evidence.
17
- */
18
- readonly invocation: DatastoreRecordStorage<string, AgentExecutionRecord>;
19
- /**
20
- * Per-instance discovery and claim row.
21
- */
22
- readonly head: DatastoreRecordStorage<string, AgentExecutionHead>;
23
- /**
24
- * Immutable conversation, System and domain history.
25
- */
26
- readonly history: DatastoreRecordStorage<string, AgentHistoryRecord>;
27
- /**
28
- * Current Entity state and Version.
29
- */
30
- readonly current: DatastoreRecordStorage<I, EntityRecord>;
31
- /**
32
- * Optional retained state-history records.
33
- */
34
- readonly states?: DatastoreRecordStorage<unknown, EntityRecord>;
35
- /**
36
- * Optional retained diagnostic Event records.
37
- */
38
- readonly diagnostics?: DatastoreRecordStorage<unknown, Event>;
39
- /**
40
- * Canonical outgoing Event envelopes.
41
- */
42
- readonly events: DatastoreRecordStorage<EventId, Event>;
43
- }
44
- /**
45
- * Persists Agent execution evidence through native namespace-scoped transactions.
46
- *
47
- * @typeParam I Typed Agent identifier.
48
- * @typeParam S Generated Agent state.
49
- */
50
- export declare class DatastoreAgentExecution<I, S extends Message> implements AgentExecutionStorage<I, S> {
51
- #private;
52
- private readonly input;
53
- private readonly rows;
54
- /**
55
- * Entity and staged-transaction limits for complete internal Protobuf wrappers.
56
- */
57
- readonly capacity: Required<AgentExecutionCapacity>;
58
- /**
59
- * Binds one complete tenant and generated state type to native record kinds.
60
- *
61
- * @param input Requested fenced execution change.
62
- * @param rows Provider record handles bound to the tenant.
63
- */
64
- constructor(input: AgentExecutionStorageInput<I, S>, rows: DatastoreExecutionRows<I>);
65
- /**
66
- * Persists source facts once after proving transaction-query capability.
67
- *
68
- * @param accepted Original accepted signal and selected bindings.
69
- * @returns Persisted invocation with the original accepted facts.
70
- */
71
- admit(accepted: AgentAcceptedInvocation): Promise<AgentExecutionRecord>;
72
- /**
73
- * Reads a bounded native head page before a fixed provider-time cutoff.
74
- *
75
- * @param request Bounded pending-page request.
76
- * @returns Bounded eligible work and continuation cursor.
77
- */
78
- pending(request: AgentPendingRead): Promise<AgentPendingPage>;
79
- /**
80
- * Reads no more than count plus one complete native head keys.
81
- *
82
- * @param asOf Fixed eligibility cutoff for the page.
83
- * @param request Bounded pending-page request.
84
- * @returns Bounded native page of eligible per-instance heads.
85
- */
86
- private pendingHeads;
87
- /**
88
- * Reads one complete retained invocation after reconstruction.
89
- *
90
- * @param key Original Agent invocation identity.
91
- * @returns Complete stored invocation when present.
92
- */
93
- read(key: AgentInvocationKey): Promise<AgentExecutionRecord | undefined>;
94
- /**
95
- * Acquires the earliest same-instance candidate with a fresh transaction clock.
96
- *
97
- * @param expiresAt Requested future lease expiry.
98
- * @param key Original Agent invocation identity.
99
- * @param token Exclusive claim token.
100
- * @returns Claimed work and preferences when eligible.
101
- */
102
- claim(key: AgentInvocationKey, token: string, expiresAt: Timestamp): Promise<AgentExecutionClaim | undefined>;
103
- /**
104
- * Checks the current head and invocation before writing one exclusive lease.
105
- *
106
- * @param expiresAt Requested future lease expiry.
107
- * @param key Original Agent invocation identity.
108
- * @param token Exclusive claim token.
109
- * @param tx Native transaction that fences the change.
110
- * @returns Claimed record and preferences when eligible.
111
- */
112
- private claimLocked;
113
- /**
114
- * Checks the current per-instance head and earliest unresolved source.
115
- *
116
- * @param tx Native transaction that fences the claim.
117
- * @param head Per-instance pending and lease record.
118
- * @param key Original Agent invocation identity.
119
- * @param now Fresh time read inside the transaction.
120
- * @returns Whether this invocation may receive the next lease.
121
- */
122
- private eligibleClaim;
123
- /**
124
- * Updates the same live token inside a fresh native transaction.
125
- *
126
- * @param expiresAt Requested future lease expiry.
127
- * @param key Original Agent invocation identity.
128
- * @param token Exclusive claim token.
129
- * @returns Whether the current lease was extended.
130
- */
131
- renew(key: AgentInvocationKey, token: string, expiresAt: Timestamp): Promise<boolean>;
132
- /**
133
- * Persists evidence and immutable history inside one native transaction.
134
- *
135
- * @param input Requested fenced execution change.
136
- * @returns Completion after fenced evidence is persisted.
137
- */
138
- update(input: AgentExecutionUpdate): Promise<void>;
139
- /**
140
- * Commits Entity, history, preferences and outgoing IDs together.
141
- *
142
- * @param input Requested fenced execution change.
143
- * @returns Completion after conditional Entity and evidence commit.
144
- */
145
- complete(input: AgentExecutionComplete<I, S>): Promise<void>;
146
- /**
147
- * Marks original output IDs delivered without rerunning completed handlers.
148
- *
149
- * @param expectedRecordBytes Exact prior execution record bytes.
150
- * @param key Original Agent invocation identity.
151
- * @param signals Original outgoing signal identities.
152
- * @param token Exclusive claim token.
153
- * @returns Completion after original output IDs are marked delivered.
154
- */
155
- markDelivered(key: AgentInvocationKey, token: string, expectedRecordBytes: Uint8Array, signals: readonly CommandId[]): Promise<void>;
156
- /**
157
- * Closes provider handles without deleting accepted work.
158
- */
159
- close(): void;
160
- /**
161
- * Rejects use after closure and probes native transaction-query support once.
162
- *
163
- * @returns Completion after provider capabilities are checked.
164
- */
165
- private ready;
166
- /**
167
- * Checks flat scoped successor and head queries before accepting a signal.
168
- *
169
- * @returns Completion after native query support is verified.
170
- */
171
- private checkCapability;
172
- /**
173
- * Checks that native indexed head pagination is available.
174
- *
175
- * @returns Completion after the indexed query succeeds.
176
- */
177
- private checkHeadCapability;
178
- /**
179
- * Executes one namespace-scoped transaction and retries native contention.
180
- *
181
- * @param work Operation executed inside the transaction.
182
- * @returns Callback result after the native transaction commits.
183
- * @typeParam T Result returned by the transaction callback.
184
- */
185
- private transaction;
186
- /**
187
- * Reads one head by complete scope inside the active transaction.
188
- *
189
- * @param key Original Agent invocation identity.
190
- * @param tx Native transaction that fences the change.
191
- * @returns Per-instance head when present.
192
- */
193
- private head;
194
- /**
195
- * Reads one invocation by original source and complete scope.
196
- *
197
- * @param key Original Agent invocation identity.
198
- * @param tx Native transaction that fences the change.
199
- * @returns Stored invocation when present.
200
- */
201
- private invocation;
202
- /**
203
- * Reads a materialized key and decodes exact original Protobuf bytes.
204
- *
205
- * @param id Complete persisted record identity.
206
- * @param storage Native record storage for this row.
207
- * @param tx Native transaction that fences the change.
208
- * @returns Stored typed row when present.
209
- * @typeParam Id Typed record identifier.
210
- * @typeParam R Typed persisted record.
211
- */
212
- private readRow;
213
- /**
214
- * Queues one validated native row for the current short transaction.
215
- *
216
- * @param record Persisted Agent execution record.
217
- * @param storage Native record storage for this row.
218
- * @param tx Native transaction that fences the change.
219
- * @typeParam Id Typed record identifier.
220
- * @typeParam R Typed persisted record.
221
- */
222
- private save;
223
- /**
224
- * Checks fresh Time, exact token, and the persisted claim image.
225
- *
226
- * @param key Original Agent invocation identity.
227
- * @param token Exclusive claim token.
228
- * @param tx Native transaction that fences the change.
229
- * @returns Current record and head if the token remains valid.
230
- */
231
- private claimed;
232
- /**
233
- * Checks exact prior bytes and unchanged immutable source facts.
234
- *
235
- * @param checkNext Whether to validate the proposed next record.
236
- * @param input Requested fenced execution change.
237
- * @param tx Native transaction that fences the change.
238
- * @returns Current fenced record and head.
239
- */
240
- private expected;
241
- /**
242
- * Updates the pending head for one earlier accepted source without resetting existing eligibility.
243
- *
244
- * @param head Per-instance pending and lease record.
245
- * @param record Persisted Agent execution record.
246
- */
247
- private offerCandidate;
248
- /**
249
- * Reads up to two same-instance rows per unresolved status inside the transaction.
250
- *
251
- * @param exclude Invocation omitted while selecting the successor.
252
- * @param key Original Agent invocation identity.
253
- * @param tx Native transaction that fences the change.
254
- * @returns Earliest unresolved invocation when present.
255
- */
256
- private successor;
257
- /**
258
- * Reads the first two rows of one unresolved status under the instance scope.
259
- *
260
- * @param tx Native transaction that fences successor selection.
261
- * @param scope Generated state type and canonical Agent key.
262
- * @param status Persisted unresolved invocation status.
263
- * @returns Native rows in complete Inbox order.
264
- */
265
- private successorsForStatus;
266
- /**
267
- * Updates the next original Inbox source after terminal work.
268
- *
269
- * @param head Per-instance pending and lease record.
270
- * @param key Original Agent invocation identity.
271
- * @param order Original Inbox order.
272
- * @param tx Native transaction that fences the change.
273
- * @returns Completion after updating the next pending head.
274
- */
275
- private advance;
276
- /**
277
- * Reads immutable history keys before queuing any transaction writes.
278
- *
279
- * @param entries Immutable history entries to append.
280
- * @param key Original Agent invocation identity.
281
- * @param tx Native transaction that fences the change.
282
- * @returns Completion after immutable history is appended.
283
- */
284
- private appendHistory;
285
- /**
286
- * Persists one missing immutable row or rejects divergent existing bytes.
287
- *
288
- * @param record Persisted Agent execution record.
289
- * @param storage Native record storage for this row.
290
- * @param tx Native transaction that fences the change.
291
- * @returns Completion after immutable row insertion or exact-byte verification.
292
- * @typeParam Id Typed record identifier.
293
- * @typeParam R Typed persisted record.
294
- */
295
- private immutable;
296
- /**
297
- * Checks initial Version and stages Entity records in this transaction.
298
- *
299
- * @param expected Expected current Entity Version.
300
- * @param input Requested fenced execution change.
301
- * @param tx Native transaction that fences the change.
302
- * @returns Completion after conditional Entity state and Version write.
303
- */
304
- private completeEntity;
305
- /**
306
- * Rejects cross-Entity completion and disabled framework histories.
307
- *
308
- * @param commit Conditional Entity state and Version write.
309
- * @param id Complete persisted record identity.
310
- */
311
- private validateEntityCommit;
312
- /**
313
- * Checks exactly one Version advance or an unchanged state.
314
- *
315
- * @param input Requested fenced execution change.
316
- * @param prior Previously persisted execution record.
317
- * @returns Expected initial Entity Version.
318
- */
319
- private validateCompletion;
320
- /**
321
- * Checks native indexed metadata and per-entity payload limits.
322
- *
323
- * @param record Persisted Agent execution record.
324
- */
325
- private validateRecord;
326
- /**
327
- * Checks complete head discovery key and per-entity payload limits.
328
- *
329
- * @param head Per-instance pending and lease record.
330
- */
331
- private validateHead;
332
- /**
333
- * Rejects provider calls after closure.
334
- */
335
- private requireOpen;
336
- }
337
- //# sourceMappingURL=agent-execution.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-execution.d.ts","sourceRoot":"","sources":["../../src/datastore/agent-execution.ts"],"names":[],"mappings":"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"}