experimental-a2 0.22.0 → 0.24.0

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 (131) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/{actor-CqibLgjQ.d.ts → actor-Bqyb7gwf.d.ts} +3 -3
  3. package/dist/{actor-CqibLgjQ.d.ts.map → actor-Bqyb7gwf.d.ts.map} +1 -1
  4. package/dist/actor-client.d.ts +1 -1
  5. package/dist/actor-client.js +2 -2
  6. package/dist/actor-react.d.ts +2 -2
  7. package/dist/actor-react.js +5 -5
  8. package/dist/{actor-shared-DFET5q16.js → actor-shared-B4OB6Qo7.js} +3 -3
  9. package/dist/{actor-shared-DFET5q16.js.map → actor-shared-B4OB6Qo7.js.map} +1 -1
  10. package/dist/actor.d.ts +1 -1
  11. package/dist/actor.js +4 -4
  12. package/dist/{ai-DAu77CDr.d.ts → ai-BZUu5-b7.d.ts} +2 -2
  13. package/dist/{ai-DAu77CDr.d.ts.map → ai-BZUu5-b7.d.ts.map} +1 -1
  14. package/dist/{ai-EEfKyc-z.js → ai-CCCNxd3L.js} +3 -3
  15. package/dist/{ai-EEfKyc-z.js.map → ai-CCCNxd3L.js.map} +1 -1
  16. package/dist/ai-client.d.ts +2 -2
  17. package/dist/ai-client.js +2 -2
  18. package/dist/ai-fx.d.ts +1 -1
  19. package/dist/ai-fx.js +25 -3
  20. package/dist/ai-fx.js.map +1 -1
  21. package/dist/{ai-harness-DTjkAr2T.d.ts → ai-harness-C8aV869s.d.ts} +2 -2
  22. package/dist/{ai-harness-DTjkAr2T.d.ts.map → ai-harness-C8aV869s.d.ts.map} +1 -1
  23. package/dist/ai-pi.d.ts +1 -1
  24. package/dist/ai-react.d.ts +4 -4
  25. package/dist/ai-react.js +2 -2
  26. package/dist/ai-server.d.ts +3 -3
  27. package/dist/ai-server.js +4 -4
  28. package/dist/ai.d.ts +1 -1
  29. package/dist/ai.js +1 -1
  30. package/dist/{client-CUMbS_38.d.ts → client-CCJASjUM.d.ts} +2 -2
  31. package/dist/{client-CUMbS_38.d.ts.map → client-CCJASjUM.d.ts.map} +1 -1
  32. package/dist/{client-BQS4i_V9.js → client-sq-djxhD.js} +4 -4
  33. package/dist/{client-BQS4i_V9.js.map → client-sq-djxhD.js.map} +1 -1
  34. package/dist/client.d.ts +2 -2
  35. package/dist/client.js +1 -1
  36. package/dist/{contract-CWukt01d.js → contract-DqfBSIqJ.js} +2 -2
  37. package/dist/{contract-CWukt01d.js.map → contract-DqfBSIqJ.js.map} +1 -1
  38. package/dist/index.d.ts +3 -3
  39. package/dist/index.js +3 -3
  40. package/dist/{initial-snapshot-D3Lve43o.d.ts → initial-snapshot-BA6xwv10.d.ts} +2 -2
  41. package/dist/initial-snapshot-BA6xwv10.d.ts.map +1 -0
  42. package/dist/{react-BoHvC3v9.d.ts → react-KC4eW7yG.d.ts} +3 -3
  43. package/dist/{react-BoHvC3v9.d.ts.map → react-KC4eW7yG.d.ts.map} +1 -1
  44. package/dist/react.d.ts +1 -1
  45. package/dist/react.js +1 -1
  46. package/dist/{reducer-CjmvZSAb.js → reducer-Bswr11ar.js} +2 -2
  47. package/dist/{reducer-CjmvZSAb.js.map → reducer-Bswr11ar.js.map} +1 -1
  48. package/dist/scheduler-qstash.d.ts +2 -2
  49. package/dist/scheduler-qstash.js +2 -2
  50. package/dist/scheduler-vercel.d.ts +2 -2
  51. package/dist/scheduler-vercel.js +1 -1
  52. package/dist/{server-qgez0Xny.d.ts → server-B9gu0qi1.d.ts} +9 -3
  53. package/dist/server-B9gu0qi1.d.ts.map +1 -0
  54. package/dist/{server-DtFrWxi3.js → server-DX7mM6nm.js} +22 -14
  55. package/dist/server-DX7mM6nm.js.map +1 -0
  56. package/dist/server.d.ts +2 -2
  57. package/dist/server.js +1 -1
  58. package/dist/{session-clear-wHd5GCpZ.js → session-clear-XJYpmUpg.js} +14 -2
  59. package/dist/session-clear-XJYpmUpg.js.map +1 -0
  60. package/dist/{session-clear-D1PFe7xl.d.ts → session-clear-vfonou9S.d.ts} +2 -2
  61. package/dist/session-clear-vfonou9S.d.ts.map +1 -0
  62. package/dist/{store-D0MhBvg6.d.ts → store-DEzcHZOA.d.ts} +11 -1
  63. package/dist/store-DEzcHZOA.d.ts.map +1 -0
  64. package/dist/store-N8PXxDAS.js.map +1 -1
  65. package/dist/{store-codec-DwrWlgQx.js → store-codec-pAG2oPgQ.js} +4 -4
  66. package/dist/store-codec-pAG2oPgQ.js.map +1 -0
  67. package/dist/store-memory.d.ts +1 -1
  68. package/dist/store-memory.d.ts.map +1 -1
  69. package/dist/store-memory.js +11 -4
  70. package/dist/store-memory.js.map +1 -1
  71. package/dist/store-postgres.d.ts +1 -1
  72. package/dist/store-postgres.d.ts.map +1 -1
  73. package/dist/store-postgres.js +26 -7
  74. package/dist/store-postgres.js.map +1 -1
  75. package/dist/store-redis-http.d.ts +1 -1
  76. package/dist/store-redis-http.js +2 -2
  77. package/dist/{store-redis-notify-CsJw_hfD.js → store-redis-notify-ys_-VrSP.js} +34 -18
  78. package/dist/store-redis-notify-ys_-VrSP.js.map +1 -0
  79. package/dist/store-redis.d.ts +1 -1
  80. package/dist/store-redis.js +2 -2
  81. package/dist/store-sqlite.d.ts +1 -1
  82. package/dist/store-sqlite.d.ts.map +1 -1
  83. package/dist/store-sqlite.js +11 -4
  84. package/dist/store-sqlite.js.map +1 -1
  85. package/dist/store-valkey.d.ts +33 -0
  86. package/dist/store-valkey.d.ts.map +1 -0
  87. package/dist/store-valkey.js +218 -0
  88. package/dist/store-valkey.js.map +1 -0
  89. package/dist/{wire-CV-Z7wz-.js → wire-BFE9sIQf.js} +3 -2
  90. package/dist/wire-BFE9sIQf.js.map +1 -0
  91. package/docs/client/03-presence.mdx +1 -0
  92. package/docs/contract/03-sessions.mdx +51 -0
  93. package/docs/reference/01-core.mdx +1 -0
  94. package/docs/reference/02-server.mdx +44 -4
  95. package/docs/reference/06-errors.mdx +1 -0
  96. package/docs/stores/01-overview.mdx +1 -0
  97. package/docs/stores/02-redis.mdx +3 -1
  98. package/docs/stores/07-valkey.mdx +97 -0
  99. package/examples/playground/app/a2slack/consumers/search.ts +1 -1
  100. package/examples/playground/app/a2slack/db/migrations/0005_a2slack_feed_v2.sql +7 -0
  101. package/examples/playground/app/a2slack/db/migrations/meta/0005_snapshot.json +1165 -0
  102. package/examples/playground/app/a2slack/db/migrations/meta/_journal.json +8 -1
  103. package/examples/playground/app/a2slack/db/queries.ts +1 -1
  104. package/examples/playground/app/a2slack/drills/a2slack.drill.ts +17 -14
  105. package/examples/playground/app/a2slack/search-index.ts +1 -1
  106. package/examples/playground/app/a2slack/server.ts +2 -2
  107. package/examples/playground/lib/store.ts +2 -0
  108. package/examples/playground/package.json +1 -1
  109. package/package.json +8 -2
  110. package/src/ai-fx.ts +46 -3
  111. package/src/errors.ts +39 -0
  112. package/src/idempotent-replay.ts +4 -3
  113. package/src/libfx.d.ts +2 -0
  114. package/src/server.ts +32 -9
  115. package/src/store-memory.ts +26 -4
  116. package/src/store-postgres.ts +36 -6
  117. package/src/store-redis-core.ts +40 -15
  118. package/src/store-redis-notify.ts +8 -2
  119. package/src/store-sqlite.ts +25 -4
  120. package/src/store-valkey.ts +376 -0
  121. package/src/store.ts +10 -0
  122. package/src/wire.ts +1 -0
  123. package/dist/initial-snapshot-D3Lve43o.d.ts.map +0 -1
  124. package/dist/server-DtFrWxi3.js.map +0 -1
  125. package/dist/server-qgez0Xny.d.ts.map +0 -1
  126. package/dist/session-clear-D1PFe7xl.d.ts.map +0 -1
  127. package/dist/session-clear-wHd5GCpZ.js.map +0 -1
  128. package/dist/store-D0MhBvg6.d.ts.map +0 -1
  129. package/dist/store-codec-DwrWlgQx.js.map +0 -1
  130. package/dist/store-redis-notify-CsJw_hfD.js.map +0 -1
  131. package/dist/wire-CV-Z7wz-.js.map +0 -1
@@ -0,0 +1,1165 @@
1
+ {
2
+ "id": "80db48d0-840e-4cee-aa6c-e9b2e757cbb2",
3
+ "prevId": "bd44b493-1f5d-4e4e-82e4-a1e5980fde4a",
4
+ "version": "7",
5
+ "dialect": "postgresql",
6
+ "tables": {
7
+ "public.a2slack_channels": {
8
+ "name": "a2slack_channels",
9
+ "schema": "",
10
+ "columns": {
11
+ "id": {
12
+ "name": "id",
13
+ "type": "text",
14
+ "primaryKey": true,
15
+ "notNull": true
16
+ },
17
+ "created_by_name": {
18
+ "name": "created_by_name",
19
+ "type": "text",
20
+ "primaryKey": false,
21
+ "notNull": true
22
+ },
23
+ "created_at": {
24
+ "name": "created_at",
25
+ "type": "timestamp with time zone",
26
+ "primaryKey": false,
27
+ "notNull": true
28
+ },
29
+ "log_index": {
30
+ "name": "log_index",
31
+ "type": "bigint",
32
+ "primaryKey": false,
33
+ "notNull": true
34
+ }
35
+ },
36
+ "indexes": {},
37
+ "foreignKeys": {},
38
+ "compositePrimaryKeys": {},
39
+ "uniqueConstraints": {},
40
+ "policies": {},
41
+ "checkConstraints": {},
42
+ "isRLSEnabled": false
43
+ },
44
+ "public.a2slack_messages": {
45
+ "name": "a2slack_messages",
46
+ "schema": "",
47
+ "columns": {
48
+ "id": {
49
+ "name": "id",
50
+ "type": "text",
51
+ "primaryKey": true,
52
+ "notNull": true
53
+ },
54
+ "channel": {
55
+ "name": "channel",
56
+ "type": "text",
57
+ "primaryKey": false,
58
+ "notNull": true
59
+ },
60
+ "log_index": {
61
+ "name": "log_index",
62
+ "type": "bigint",
63
+ "primaryKey": false,
64
+ "notNull": true
65
+ },
66
+ "thread_id": {
67
+ "name": "thread_id",
68
+ "type": "text",
69
+ "primaryKey": false,
70
+ "notNull": false
71
+ },
72
+ "author_id": {
73
+ "name": "author_id",
74
+ "type": "text",
75
+ "primaryKey": false,
76
+ "notNull": true
77
+ },
78
+ "author_name": {
79
+ "name": "author_name",
80
+ "type": "text",
81
+ "primaryKey": false,
82
+ "notNull": true
83
+ },
84
+ "text": {
85
+ "name": "text",
86
+ "type": "text",
87
+ "primaryKey": false,
88
+ "notNull": true
89
+ },
90
+ "posted_at": {
91
+ "name": "posted_at",
92
+ "type": "timestamp with time zone",
93
+ "primaryKey": false,
94
+ "notNull": true
95
+ },
96
+ "edited_at": {
97
+ "name": "edited_at",
98
+ "type": "timestamp with time zone",
99
+ "primaryKey": false,
100
+ "notNull": false
101
+ },
102
+ "deleted": {
103
+ "name": "deleted",
104
+ "type": "boolean",
105
+ "primaryKey": false,
106
+ "notNull": true,
107
+ "default": false
108
+ },
109
+ "label": {
110
+ "name": "label",
111
+ "type": "text",
112
+ "primaryKey": false,
113
+ "notNull": false
114
+ }
115
+ },
116
+ "indexes": {
117
+ "a2slack_messages_feed": {
118
+ "name": "a2slack_messages_feed",
119
+ "columns": [
120
+ {
121
+ "expression": "channel",
122
+ "isExpression": false,
123
+ "asc": true,
124
+ "nulls": "last"
125
+ },
126
+ {
127
+ "expression": "thread_id",
128
+ "isExpression": false,
129
+ "asc": true,
130
+ "nulls": "last"
131
+ },
132
+ {
133
+ "expression": "log_index",
134
+ "isExpression": false,
135
+ "asc": true,
136
+ "nulls": "last"
137
+ }
138
+ ],
139
+ "isUnique": false,
140
+ "with": {},
141
+ "method": "btree",
142
+ "concurrently": false
143
+ },
144
+ "a2slack_messages_thread": {
145
+ "name": "a2slack_messages_thread",
146
+ "columns": [
147
+ {
148
+ "expression": "thread_id",
149
+ "isExpression": false,
150
+ "asc": true,
151
+ "nulls": "last"
152
+ },
153
+ {
154
+ "expression": "log_index",
155
+ "isExpression": false,
156
+ "asc": true,
157
+ "nulls": "last"
158
+ }
159
+ ],
160
+ "isUnique": false,
161
+ "with": {},
162
+ "method": "btree",
163
+ "concurrently": false
164
+ },
165
+ "a2slack_messages_text_trgm": {
166
+ "name": "a2slack_messages_text_trgm",
167
+ "columns": [
168
+ {
169
+ "expression": "text",
170
+ "isExpression": false,
171
+ "asc": true,
172
+ "nulls": "last",
173
+ "opclass": "gin_trgm_ops"
174
+ }
175
+ ],
176
+ "isUnique": false,
177
+ "with": {},
178
+ "method": "gin",
179
+ "concurrently": false
180
+ }
181
+ },
182
+ "foreignKeys": {},
183
+ "compositePrimaryKeys": {},
184
+ "uniqueConstraints": {},
185
+ "policies": {},
186
+ "checkConstraints": {},
187
+ "isRLSEnabled": false
188
+ },
189
+ "public.a2slack_notifications": {
190
+ "name": "a2slack_notifications",
191
+ "schema": "",
192
+ "columns": {
193
+ "id": {
194
+ "name": "id",
195
+ "type": "text",
196
+ "primaryKey": true,
197
+ "notNull": true
198
+ },
199
+ "user_id": {
200
+ "name": "user_id",
201
+ "type": "text",
202
+ "primaryKey": false,
203
+ "notNull": true
204
+ },
205
+ "thread_id": {
206
+ "name": "thread_id",
207
+ "type": "text",
208
+ "primaryKey": false,
209
+ "notNull": true
210
+ },
211
+ "channel": {
212
+ "name": "channel",
213
+ "type": "text",
214
+ "primaryKey": false,
215
+ "notNull": true
216
+ },
217
+ "reason": {
218
+ "name": "reason",
219
+ "type": "text",
220
+ "primaryKey": false,
221
+ "notNull": true
222
+ },
223
+ "message_id": {
224
+ "name": "message_id",
225
+ "type": "text",
226
+ "primaryKey": false,
227
+ "notNull": true
228
+ },
229
+ "from_id": {
230
+ "name": "from_id",
231
+ "type": "text",
232
+ "primaryKey": false,
233
+ "notNull": true
234
+ },
235
+ "from_name": {
236
+ "name": "from_name",
237
+ "type": "text",
238
+ "primaryKey": false,
239
+ "notNull": true
240
+ },
241
+ "text": {
242
+ "name": "text",
243
+ "type": "text",
244
+ "primaryKey": false,
245
+ "notNull": true
246
+ },
247
+ "log_index": {
248
+ "name": "log_index",
249
+ "type": "bigint",
250
+ "primaryKey": false,
251
+ "notNull": true
252
+ },
253
+ "sent_at": {
254
+ "name": "sent_at",
255
+ "type": "timestamp with time zone",
256
+ "primaryKey": false,
257
+ "notNull": true
258
+ }
259
+ },
260
+ "indexes": {
261
+ "a2slack_notifications_inbox": {
262
+ "name": "a2slack_notifications_inbox",
263
+ "columns": [
264
+ {
265
+ "expression": "user_id",
266
+ "isExpression": false,
267
+ "asc": true,
268
+ "nulls": "last"
269
+ },
270
+ {
271
+ "expression": "thread_id",
272
+ "isExpression": false,
273
+ "asc": true,
274
+ "nulls": "last"
275
+ },
276
+ {
277
+ "expression": "log_index",
278
+ "isExpression": false,
279
+ "asc": true,
280
+ "nulls": "last"
281
+ }
282
+ ],
283
+ "isUnique": false,
284
+ "with": {},
285
+ "method": "btree",
286
+ "concurrently": false
287
+ }
288
+ },
289
+ "foreignKeys": {},
290
+ "compositePrimaryKeys": {},
291
+ "uniqueConstraints": {},
292
+ "policies": {},
293
+ "checkConstraints": {},
294
+ "isRLSEnabled": false
295
+ },
296
+ "public.a2slack_people": {
297
+ "name": "a2slack_people",
298
+ "schema": "",
299
+ "columns": {
300
+ "id": {
301
+ "name": "id",
302
+ "type": "text",
303
+ "primaryKey": true,
304
+ "notNull": true
305
+ },
306
+ "name": {
307
+ "name": "name",
308
+ "type": "text",
309
+ "primaryKey": false,
310
+ "notNull": true
311
+ },
312
+ "log_index": {
313
+ "name": "log_index",
314
+ "type": "bigint",
315
+ "primaryKey": false,
316
+ "notNull": true
317
+ }
318
+ },
319
+ "indexes": {
320
+ "a2slack_people_name": {
321
+ "name": "a2slack_people_name",
322
+ "columns": [
323
+ {
324
+ "expression": "name",
325
+ "isExpression": false,
326
+ "asc": true,
327
+ "nulls": "last"
328
+ }
329
+ ],
330
+ "isUnique": false,
331
+ "with": {},
332
+ "method": "btree",
333
+ "concurrently": false
334
+ }
335
+ },
336
+ "foreignKeys": {},
337
+ "compositePrimaryKeys": {},
338
+ "uniqueConstraints": {},
339
+ "policies": {},
340
+ "checkConstraints": {},
341
+ "isRLSEnabled": false
342
+ },
343
+ "public.a2slack_positions": {
344
+ "name": "a2slack_positions",
345
+ "schema": "",
346
+ "columns": {
347
+ "consumer": {
348
+ "name": "consumer",
349
+ "type": "text",
350
+ "primaryKey": true,
351
+ "notNull": true
352
+ },
353
+ "log_index": {
354
+ "name": "log_index",
355
+ "type": "bigint",
356
+ "primaryKey": false,
357
+ "notNull": true
358
+ }
359
+ },
360
+ "indexes": {},
361
+ "foreignKeys": {},
362
+ "compositePrimaryKeys": {},
363
+ "uniqueConstraints": {},
364
+ "policies": {},
365
+ "checkConstraints": {},
366
+ "isRLSEnabled": false
367
+ },
368
+ "public.a2slack_reactions": {
369
+ "name": "a2slack_reactions",
370
+ "schema": "",
371
+ "columns": {
372
+ "message_id": {
373
+ "name": "message_id",
374
+ "type": "text",
375
+ "primaryKey": false,
376
+ "notNull": true
377
+ },
378
+ "emoji": {
379
+ "name": "emoji",
380
+ "type": "text",
381
+ "primaryKey": false,
382
+ "notNull": true
383
+ },
384
+ "author_id": {
385
+ "name": "author_id",
386
+ "type": "text",
387
+ "primaryKey": false,
388
+ "notNull": true
389
+ },
390
+ "author_name": {
391
+ "name": "author_name",
392
+ "type": "text",
393
+ "primaryKey": false,
394
+ "notNull": true
395
+ },
396
+ "log_index": {
397
+ "name": "log_index",
398
+ "type": "bigint",
399
+ "primaryKey": false,
400
+ "notNull": true
401
+ }
402
+ },
403
+ "indexes": {},
404
+ "foreignKeys": {},
405
+ "compositePrimaryKeys": {
406
+ "a2slack_reactions_message_id_emoji_author_id_pk": {
407
+ "name": "a2slack_reactions_message_id_emoji_author_id_pk",
408
+ "columns": [
409
+ "message_id",
410
+ "emoji",
411
+ "author_id"
412
+ ]
413
+ }
414
+ },
415
+ "uniqueConstraints": {},
416
+ "policies": {},
417
+ "checkConstraints": {},
418
+ "isRLSEnabled": false
419
+ },
420
+ "public.a2slack_reads": {
421
+ "name": "a2slack_reads",
422
+ "schema": "",
423
+ "columns": {
424
+ "user_id": {
425
+ "name": "user_id",
426
+ "type": "text",
427
+ "primaryKey": false,
428
+ "notNull": true
429
+ },
430
+ "thread_id": {
431
+ "name": "thread_id",
432
+ "type": "text",
433
+ "primaryKey": false,
434
+ "notNull": true
435
+ },
436
+ "through": {
437
+ "name": "through",
438
+ "type": "bigint",
439
+ "primaryKey": false,
440
+ "notNull": true
441
+ }
442
+ },
443
+ "indexes": {},
444
+ "foreignKeys": {},
445
+ "compositePrimaryKeys": {
446
+ "a2slack_reads_user_id_thread_id_pk": {
447
+ "name": "a2slack_reads_user_id_thread_id_pk",
448
+ "columns": [
449
+ "user_id",
450
+ "thread_id"
451
+ ]
452
+ }
453
+ },
454
+ "uniqueConstraints": {},
455
+ "policies": {},
456
+ "checkConstraints": {},
457
+ "isRLSEnabled": false
458
+ },
459
+ "public.a2slack_thread_members": {
460
+ "name": "a2slack_thread_members",
461
+ "schema": "",
462
+ "columns": {
463
+ "thread_id": {
464
+ "name": "thread_id",
465
+ "type": "text",
466
+ "primaryKey": false,
467
+ "notNull": true
468
+ },
469
+ "person_id": {
470
+ "name": "person_id",
471
+ "type": "text",
472
+ "primaryKey": false,
473
+ "notNull": true
474
+ },
475
+ "log_index": {
476
+ "name": "log_index",
477
+ "type": "bigint",
478
+ "primaryKey": false,
479
+ "notNull": true
480
+ }
481
+ },
482
+ "indexes": {},
483
+ "foreignKeys": {},
484
+ "compositePrimaryKeys": {
485
+ "a2slack_thread_members_thread_id_person_id_pk": {
486
+ "name": "a2slack_thread_members_thread_id_person_id_pk",
487
+ "columns": [
488
+ "thread_id",
489
+ "person_id"
490
+ ]
491
+ }
492
+ },
493
+ "uniqueConstraints": {},
494
+ "policies": {},
495
+ "checkConstraints": {},
496
+ "isRLSEnabled": false
497
+ },
498
+ "public.a2_clears": {
499
+ "name": "a2_clears",
500
+ "schema": "",
501
+ "columns": {
502
+ "session_id": {
503
+ "name": "session_id",
504
+ "type": "text",
505
+ "primaryKey": true,
506
+ "notNull": true
507
+ },
508
+ "clear_index": {
509
+ "name": "clear_index",
510
+ "type": "bigint",
511
+ "primaryKey": false,
512
+ "notNull": true
513
+ }
514
+ },
515
+ "indexes": {},
516
+ "foreignKeys": {},
517
+ "compositePrimaryKeys": {},
518
+ "uniqueConstraints": {},
519
+ "policies": {},
520
+ "checkConstraints": {},
521
+ "isRLSEnabled": false
522
+ },
523
+ "public.a2_cursors": {
524
+ "name": "a2_cursors",
525
+ "schema": "",
526
+ "columns": {
527
+ "session_id": {
528
+ "name": "session_id",
529
+ "type": "text",
530
+ "primaryKey": false,
531
+ "notNull": true
532
+ },
533
+ "consumer": {
534
+ "name": "consumer",
535
+ "type": "text",
536
+ "primaryKey": false,
537
+ "notNull": true
538
+ },
539
+ "cursor_key": {
540
+ "name": "cursor_key",
541
+ "type": "text",
542
+ "primaryKey": false,
543
+ "notNull": true
544
+ },
545
+ "epoch": {
546
+ "name": "epoch",
547
+ "type": "bigint",
548
+ "primaryKey": false,
549
+ "notNull": true
550
+ },
551
+ "lane": {
552
+ "name": "lane",
553
+ "type": "text",
554
+ "primaryKey": false,
555
+ "notNull": false
556
+ },
557
+ "kind": {
558
+ "name": "kind",
559
+ "type": "text",
560
+ "primaryKey": false,
561
+ "notNull": true
562
+ },
563
+ "position": {
564
+ "name": "position",
565
+ "type": "bigint",
566
+ "primaryKey": false,
567
+ "notNull": true
568
+ },
569
+ "head": {
570
+ "name": "head",
571
+ "type": "bigint",
572
+ "primaryKey": false,
573
+ "notNull": false
574
+ },
575
+ "types": {
576
+ "name": "types",
577
+ "type": "jsonb",
578
+ "primaryKey": false,
579
+ "notNull": false
580
+ },
581
+ "attempt_count": {
582
+ "name": "attempt_count",
583
+ "type": "integer",
584
+ "primaryKey": false,
585
+ "notNull": true,
586
+ "default": 0
587
+ },
588
+ "first_claimed_at": {
589
+ "name": "first_claimed_at",
590
+ "type": "bigint",
591
+ "primaryKey": false,
592
+ "notNull": false
593
+ },
594
+ "last_claimed_at": {
595
+ "name": "last_claimed_at",
596
+ "type": "bigint",
597
+ "primaryKey": false,
598
+ "notNull": false
599
+ },
600
+ "claim_holder": {
601
+ "name": "claim_holder",
602
+ "type": "text",
603
+ "primaryKey": false,
604
+ "notNull": false
605
+ },
606
+ "claim_expires_at": {
607
+ "name": "claim_expires_at",
608
+ "type": "bigint",
609
+ "primaryKey": false,
610
+ "notNull": false
611
+ },
612
+ "failure_count": {
613
+ "name": "failure_count",
614
+ "type": "integer",
615
+ "primaryKey": false,
616
+ "notNull": true,
617
+ "default": 0
618
+ },
619
+ "last_failed_at": {
620
+ "name": "last_failed_at",
621
+ "type": "bigint",
622
+ "primaryKey": false,
623
+ "notNull": false
624
+ },
625
+ "last_failed_attempt": {
626
+ "name": "last_failed_attempt",
627
+ "type": "integer",
628
+ "primaryKey": false,
629
+ "notNull": false
630
+ },
631
+ "last_error": {
632
+ "name": "last_error",
633
+ "type": "text",
634
+ "primaryKey": false,
635
+ "notNull": false
636
+ },
637
+ "failed_at": {
638
+ "name": "failed_at",
639
+ "type": "bigint",
640
+ "primaryKey": false,
641
+ "notNull": false
642
+ },
643
+ "completed_idx": {
644
+ "name": "completed_idx",
645
+ "type": "bigint",
646
+ "primaryKey": false,
647
+ "notNull": false
648
+ },
649
+ "completed_attempt": {
650
+ "name": "completed_attempt",
651
+ "type": "integer",
652
+ "primaryKey": false,
653
+ "notNull": false
654
+ },
655
+ "returned_event_ids": {
656
+ "name": "returned_event_ids",
657
+ "type": "jsonb",
658
+ "primaryKey": false,
659
+ "notNull": false
660
+ }
661
+ },
662
+ "indexes": {
663
+ "a2_cursors_heads": {
664
+ "name": "a2_cursors_heads",
665
+ "columns": [
666
+ {
667
+ "expression": "session_id",
668
+ "isExpression": false,
669
+ "asc": true,
670
+ "nulls": "last"
671
+ },
672
+ {
673
+ "expression": "head",
674
+ "isExpression": false,
675
+ "asc": true,
676
+ "nulls": "last"
677
+ }
678
+ ],
679
+ "isUnique": false,
680
+ "with": {},
681
+ "method": "btree",
682
+ "where": "head is not null",
683
+ "concurrently": false
684
+ },
685
+ "a2_cursors_lanes": {
686
+ "name": "a2_cursors_lanes",
687
+ "columns": [
688
+ {
689
+ "expression": "session_id",
690
+ "isExpression": false,
691
+ "asc": true,
692
+ "nulls": "last"
693
+ }
694
+ ],
695
+ "isUnique": false,
696
+ "with": {},
697
+ "method": "btree",
698
+ "where": "kind = 'lane'",
699
+ "concurrently": false
700
+ }
701
+ },
702
+ "foreignKeys": {},
703
+ "compositePrimaryKeys": {
704
+ "a2_cursors_pkey": {
705
+ "name": "a2_cursors_pkey",
706
+ "columns": [
707
+ "session_id",
708
+ "cursor_key",
709
+ "consumer",
710
+ "epoch"
711
+ ]
712
+ }
713
+ },
714
+ "uniqueConstraints": {},
715
+ "policies": {},
716
+ "checkConstraints": {},
717
+ "isRLSEnabled": false
718
+ },
719
+ "public.a2_events": {
720
+ "name": "a2_events",
721
+ "schema": "",
722
+ "columns": {
723
+ "session_id": {
724
+ "name": "session_id",
725
+ "type": "text",
726
+ "primaryKey": false,
727
+ "notNull": true
728
+ },
729
+ "idx": {
730
+ "name": "idx",
731
+ "type": "bigint",
732
+ "primaryKey": false,
733
+ "notNull": true
734
+ },
735
+ "event_type": {
736
+ "name": "event_type",
737
+ "type": "text",
738
+ "primaryKey": false,
739
+ "notNull": true
740
+ },
741
+ "payload": {
742
+ "name": "payload",
743
+ "type": "jsonb",
744
+ "primaryKey": false,
745
+ "notNull": true
746
+ },
747
+ "event_id": {
748
+ "name": "event_id",
749
+ "type": "text",
750
+ "primaryKey": false,
751
+ "notNull": true
752
+ },
753
+ "created_at": {
754
+ "name": "created_at",
755
+ "type": "bigint",
756
+ "primaryKey": false,
757
+ "notNull": true
758
+ },
759
+ "cause": {
760
+ "name": "cause",
761
+ "type": "jsonb",
762
+ "primaryKey": false,
763
+ "notNull": false
764
+ }
765
+ },
766
+ "indexes": {
767
+ "a2_events_session_event_id": {
768
+ "name": "a2_events_session_event_id",
769
+ "columns": [
770
+ {
771
+ "expression": "session_id",
772
+ "isExpression": false,
773
+ "asc": true,
774
+ "nulls": "last"
775
+ },
776
+ {
777
+ "expression": "event_id",
778
+ "isExpression": false,
779
+ "asc": true,
780
+ "nulls": "last"
781
+ }
782
+ ],
783
+ "isUnique": true,
784
+ "with": {},
785
+ "method": "btree",
786
+ "concurrently": false
787
+ },
788
+ "a2_events_types": {
789
+ "name": "a2_events_types",
790
+ "columns": [
791
+ {
792
+ "expression": "session_id",
793
+ "isExpression": false,
794
+ "asc": true,
795
+ "nulls": "last"
796
+ },
797
+ {
798
+ "expression": "event_type",
799
+ "isExpression": false,
800
+ "asc": true,
801
+ "nulls": "last"
802
+ },
803
+ {
804
+ "expression": "idx",
805
+ "isExpression": false,
806
+ "asc": true,
807
+ "nulls": "last"
808
+ }
809
+ ],
810
+ "isUnique": false,
811
+ "with": {},
812
+ "method": "btree",
813
+ "concurrently": false
814
+ }
815
+ },
816
+ "foreignKeys": {},
817
+ "compositePrimaryKeys": {
818
+ "a2_events_pkey": {
819
+ "name": "a2_events_pkey",
820
+ "columns": [
821
+ "session_id",
822
+ "idx"
823
+ ]
824
+ }
825
+ },
826
+ "uniqueConstraints": {},
827
+ "policies": {},
828
+ "checkConstraints": {},
829
+ "isRLSEnabled": false
830
+ },
831
+ "public.a2_lane_events": {
832
+ "name": "a2_lane_events",
833
+ "schema": "",
834
+ "columns": {
835
+ "session_id": {
836
+ "name": "session_id",
837
+ "type": "text",
838
+ "primaryKey": false,
839
+ "notNull": true
840
+ },
841
+ "consumer": {
842
+ "name": "consumer",
843
+ "type": "text",
844
+ "primaryKey": false,
845
+ "notNull": true
846
+ },
847
+ "lane": {
848
+ "name": "lane",
849
+ "type": "text",
850
+ "primaryKey": false,
851
+ "notNull": true
852
+ },
853
+ "idx": {
854
+ "name": "idx",
855
+ "type": "bigint",
856
+ "primaryKey": false,
857
+ "notNull": true
858
+ },
859
+ "done": {
860
+ "name": "done",
861
+ "type": "boolean",
862
+ "primaryKey": false,
863
+ "notNull": true,
864
+ "default": false
865
+ },
866
+ "completed_attempt": {
867
+ "name": "completed_attempt",
868
+ "type": "integer",
869
+ "primaryKey": false,
870
+ "notNull": false
871
+ },
872
+ "returned_event_ids": {
873
+ "name": "returned_event_ids",
874
+ "type": "jsonb",
875
+ "primaryKey": false,
876
+ "notNull": false
877
+ }
878
+ },
879
+ "indexes": {},
880
+ "foreignKeys": {},
881
+ "compositePrimaryKeys": {
882
+ "a2_lane_events_pkey": {
883
+ "name": "a2_lane_events_pkey",
884
+ "columns": [
885
+ "session_id",
886
+ "consumer",
887
+ "lane",
888
+ "idx"
889
+ ]
890
+ }
891
+ },
892
+ "uniqueConstraints": {},
893
+ "policies": {},
894
+ "checkConstraints": {},
895
+ "isRLSEnabled": false
896
+ },
897
+ "public.a2_presence": {
898
+ "name": "a2_presence",
899
+ "schema": "",
900
+ "columns": {
901
+ "ns": {
902
+ "name": "ns",
903
+ "type": "text",
904
+ "primaryKey": false,
905
+ "notNull": true
906
+ },
907
+ "participant": {
908
+ "name": "participant",
909
+ "type": "text",
910
+ "primaryKey": false,
911
+ "notNull": true
912
+ },
913
+ "field": {
914
+ "name": "field",
915
+ "type": "text",
916
+ "primaryKey": false,
917
+ "notNull": true
918
+ },
919
+ "value": {
920
+ "name": "value",
921
+ "type": "jsonb",
922
+ "primaryKey": false,
923
+ "notNull": true
924
+ },
925
+ "seen": {
926
+ "name": "seen",
927
+ "type": "bigint",
928
+ "primaryKey": false,
929
+ "notNull": true
930
+ },
931
+ "at": {
932
+ "name": "at",
933
+ "type": "bigint",
934
+ "primaryKey": false,
935
+ "notNull": true
936
+ },
937
+ "expires_at": {
938
+ "name": "expires_at",
939
+ "type": "bigint",
940
+ "primaryKey": false,
941
+ "notNull": true
942
+ }
943
+ },
944
+ "indexes": {},
945
+ "foreignKeys": {},
946
+ "compositePrimaryKeys": {
947
+ "a2_presence_pkey": {
948
+ "name": "a2_presence_pkey",
949
+ "columns": [
950
+ "ns",
951
+ "participant",
952
+ "field"
953
+ ]
954
+ }
955
+ },
956
+ "uniqueConstraints": {},
957
+ "policies": {},
958
+ "checkConstraints": {},
959
+ "isRLSEnabled": false
960
+ },
961
+ "public.a2_snapshot_history": {
962
+ "name": "a2_snapshot_history",
963
+ "schema": "",
964
+ "columns": {
965
+ "session_id": {
966
+ "name": "session_id",
967
+ "type": "text",
968
+ "primaryKey": false,
969
+ "notNull": true
970
+ },
971
+ "reducer_name": {
972
+ "name": "reducer_name",
973
+ "type": "text",
974
+ "primaryKey": false,
975
+ "notNull": true
976
+ },
977
+ "up_to_index": {
978
+ "name": "up_to_index",
979
+ "type": "bigint",
980
+ "primaryKey": false,
981
+ "notNull": true
982
+ },
983
+ "state": {
984
+ "name": "state",
985
+ "type": "jsonb",
986
+ "primaryKey": false,
987
+ "notNull": true
988
+ },
989
+ "updated_at": {
990
+ "name": "updated_at",
991
+ "type": "bigint",
992
+ "primaryKey": false,
993
+ "notNull": true
994
+ }
995
+ },
996
+ "indexes": {},
997
+ "foreignKeys": {},
998
+ "compositePrimaryKeys": {
999
+ "a2_snapshot_history_pkey": {
1000
+ "name": "a2_snapshot_history_pkey",
1001
+ "columns": [
1002
+ "session_id",
1003
+ "reducer_name",
1004
+ "up_to_index"
1005
+ ]
1006
+ }
1007
+ },
1008
+ "uniqueConstraints": {},
1009
+ "policies": {},
1010
+ "checkConstraints": {},
1011
+ "isRLSEnabled": false
1012
+ },
1013
+ "public.a2_snapshot_pins": {
1014
+ "name": "a2_snapshot_pins",
1015
+ "schema": "",
1016
+ "columns": {
1017
+ "session_id": {
1018
+ "name": "session_id",
1019
+ "type": "text",
1020
+ "primaryKey": false,
1021
+ "notNull": true
1022
+ },
1023
+ "event_index": {
1024
+ "name": "event_index",
1025
+ "type": "bigint",
1026
+ "primaryKey": false,
1027
+ "notNull": true
1028
+ },
1029
+ "consumer": {
1030
+ "name": "consumer",
1031
+ "type": "text",
1032
+ "primaryKey": false,
1033
+ "notNull": true
1034
+ },
1035
+ "cursor_key": {
1036
+ "name": "cursor_key",
1037
+ "type": "text",
1038
+ "primaryKey": false,
1039
+ "notNull": true
1040
+ },
1041
+ "reducer_name": {
1042
+ "name": "reducer_name",
1043
+ "type": "text",
1044
+ "primaryKey": false,
1045
+ "notNull": true
1046
+ },
1047
+ "up_to_index": {
1048
+ "name": "up_to_index",
1049
+ "type": "bigint",
1050
+ "primaryKey": false,
1051
+ "notNull": true
1052
+ }
1053
+ },
1054
+ "indexes": {
1055
+ "a2_snapshot_pins_checkpoint": {
1056
+ "name": "a2_snapshot_pins_checkpoint",
1057
+ "columns": [
1058
+ {
1059
+ "expression": "session_id",
1060
+ "isExpression": false,
1061
+ "asc": true,
1062
+ "nulls": "last"
1063
+ },
1064
+ {
1065
+ "expression": "reducer_name",
1066
+ "isExpression": false,
1067
+ "asc": true,
1068
+ "nulls": "last"
1069
+ },
1070
+ {
1071
+ "expression": "up_to_index",
1072
+ "isExpression": false,
1073
+ "asc": true,
1074
+ "nulls": "last"
1075
+ }
1076
+ ],
1077
+ "isUnique": false,
1078
+ "with": {},
1079
+ "method": "btree",
1080
+ "concurrently": false
1081
+ }
1082
+ },
1083
+ "foreignKeys": {},
1084
+ "compositePrimaryKeys": {
1085
+ "a2_snapshot_pins_pkey": {
1086
+ "name": "a2_snapshot_pins_pkey",
1087
+ "columns": [
1088
+ "session_id",
1089
+ "event_index",
1090
+ "consumer",
1091
+ "cursor_key",
1092
+ "reducer_name",
1093
+ "up_to_index"
1094
+ ]
1095
+ }
1096
+ },
1097
+ "uniqueConstraints": {},
1098
+ "policies": {},
1099
+ "checkConstraints": {},
1100
+ "isRLSEnabled": false
1101
+ },
1102
+ "public.a2_snapshots": {
1103
+ "name": "a2_snapshots",
1104
+ "schema": "",
1105
+ "columns": {
1106
+ "session_id": {
1107
+ "name": "session_id",
1108
+ "type": "text",
1109
+ "primaryKey": false,
1110
+ "notNull": true
1111
+ },
1112
+ "reducer_name": {
1113
+ "name": "reducer_name",
1114
+ "type": "text",
1115
+ "primaryKey": false,
1116
+ "notNull": true
1117
+ },
1118
+ "up_to_index": {
1119
+ "name": "up_to_index",
1120
+ "type": "bigint",
1121
+ "primaryKey": false,
1122
+ "notNull": true
1123
+ },
1124
+ "state": {
1125
+ "name": "state",
1126
+ "type": "jsonb",
1127
+ "primaryKey": false,
1128
+ "notNull": true
1129
+ },
1130
+ "updated_at": {
1131
+ "name": "updated_at",
1132
+ "type": "bigint",
1133
+ "primaryKey": false,
1134
+ "notNull": true
1135
+ }
1136
+ },
1137
+ "indexes": {},
1138
+ "foreignKeys": {},
1139
+ "compositePrimaryKeys": {
1140
+ "a2_snapshots_pkey": {
1141
+ "name": "a2_snapshots_pkey",
1142
+ "columns": [
1143
+ "session_id",
1144
+ "reducer_name"
1145
+ ]
1146
+ }
1147
+ },
1148
+ "uniqueConstraints": {},
1149
+ "policies": {},
1150
+ "checkConstraints": {},
1151
+ "isRLSEnabled": false
1152
+ }
1153
+ },
1154
+ "enums": {},
1155
+ "schemas": {},
1156
+ "views": {},
1157
+ "sequences": {},
1158
+ "roles": {},
1159
+ "policies": {},
1160
+ "_meta": {
1161
+ "columns": {},
1162
+ "schemas": {},
1163
+ "tables": {}
1164
+ }
1165
+ }