@consiliency/agent-board-schema 1.64.0 → 1.74.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 (171) hide show
  1. package/README.md +19 -0
  2. package/fixtures/already-applied.json +44 -4
  3. package/migrations/20261015000100_agent_board_session_provenance.sql +367 -0
  4. package/migrations/20261015000200_agent_board_request_preserve_removed.sql +87 -0
  5. package/migrations/20261015000300_agent_board_rls_correlation.sql +132 -0
  6. package/migrations/20261015000400_agent_board_resolution_authority.sql +146 -0
  7. package/migrations/20261026000100_agent_board_thread_association.sql +1287 -0
  8. package/migrations/20261101000100_agent_board_session_measured_mint.sql +145 -0
  9. package/migrations/20261104065658_agent_board_reply_delivery.sql +659 -0
  10. package/migrations/20261104170000_agent_board_tasking_replay_scope.sql +320 -0
  11. package/migrations/20261104180000_agent_board_delivery_writer_execute.sql +51 -0
  12. package/migrations/20261104190000_agent_board_message_replay_scope.sql +373 -0
  13. package/package.json +1 -1
  14. package/schema-manifest.json +93 -3
  15. package/src/deployment-drift-main.test.mjs +156 -0
  16. package/src/deployment-drift-script.test.mjs +14 -1
  17. package/src/policy-comment.test.mjs +17 -0
  18. package/src/tooling.test.mjs +12 -2
  19. package/tests/agent_board_661_reply_delivery.test.sql +185 -0
  20. package/tests/agent_board_667_boundary.test.sql +162 -0
  21. package/tests/agent_board_667_conversion_branches.test.sql +91 -0
  22. package/tests/agent_board_667_conversion_profile.test.sql +112 -0
  23. package/tests/agent_board_667_history_class.test.sql +785 -0
  24. package/tests/agent_board_667_native_cast_effect.test.sql +88 -0
  25. package/tests/agent_board_667_realtime_apply_behavior.test.sql +117 -0
  26. package/tests/agent_board_667_realtime_apply_controls.test.sql +143 -0
  27. package/tests/agent_board_667_realtime_apply_profile.test.sql +61 -0
  28. package/tests/agent_board_667_retention.test.sql +201 -0
  29. package/tests/agent_board_667_routing.test.sql +294 -0
  30. package/tests/agent_board_667_sender_effects.test.sql +100 -0
  31. package/tests/agent_board_667_sender_profile_controls.test.sql +29 -0
  32. package/tests/agent_board_667_storage_delimiter_behavior.test.sql +84 -0
  33. package/tests/agent_board_667_storage_delimiter_controls.test.sql +23 -0
  34. package/tests/agent_board_667_storage_delimiter_profile.test.sql +61 -0
  35. package/tests/agent_board_667_storage_search_behavior.test.sql +93 -0
  36. package/tests/agent_board_667_storage_search_controls.test.sql +22 -0
  37. package/tests/agent_board_667_storage_search_profile.test.sql +60 -0
  38. package/tests/agent_board_667_storage_timestamp_behavior.test.sql +58 -0
  39. package/tests/agent_board_667_storage_timestamp_controls.test.sql +22 -0
  40. package/tests/agent_board_667_storage_timestamp_profile.test.sql +54 -0
  41. package/tests/agent_board_667_writers.test.sql +281 -0
  42. package/tests/agent_board_717_message_replay_scope.test.sql +828 -0
  43. package/tests/agent_board_717_tasking_replay_scope.test.sql +661 -0
  44. package/tests/agent_board_addressing.test.sql +8 -5
  45. package/tests/agent_board_claim_subject_gate.test.sql +7 -3
  46. package/tests/agent_board_claimpolicy_race.test.sql +39 -11
  47. package/tests/agent_board_consent_gating.test.sql +4 -4
  48. package/tests/agent_board_delegate_role_class.test.sql +33 -15
  49. package/tests/agent_board_delivery_writer_execute.test.sql +371 -0
  50. package/tests/agent_board_fk_lock_edges.test.sql +3 -0
  51. package/tests/agent_board_gatenull_membstate.test.sql +7 -4
  52. package/tests/agent_board_hosted_delegates.test.sql +5 -2
  53. package/tests/agent_board_inbox_rpcs.test.sql +5 -3
  54. package/tests/agent_board_obsgate.test.sql +8 -4
  55. package/tests/agent_board_obsgate4.test.sql +2 -2
  56. package/tests/agent_board_outbox_wake_ordering.test.sql +25 -2
  57. package/tests/agent_board_own_post_not_delivered.test.sql +11 -9
  58. package/tests/agent_board_policy_correlation.test.sql +189 -0
  59. package/tests/agent_board_request_removed.test.sql +96 -0
  60. package/tests/agent_board_resolution_authority.test.sql +190 -0
  61. package/tests/agent_board_session_identity_behavior_classes.test.sql +2 -2
  62. package/tests/agent_board_session_identity_limits.test.sql +1 -1
  63. package/tests/agent_board_session_identity_measured_mint.test.sql +342 -0
  64. package/tests/agent_board_session_identity_predicate_isolation.test.sql +146 -0
  65. package/tests/agent_board_session_provenance.test.sql +106 -0
  66. package/tests/agent_board_sidserver_authority.test.sql +69 -0
  67. package/tests/agent_board_sidserver_catalog.test.sql +47 -0
  68. package/tests/agent_board_signed_write_gateway.test.sql +4 -2
  69. package/tests/agent_board_task_thread_lock_order.test.sql +67 -42
  70. package/tests/agent_board_v2_invariants.test.sql +5 -2
  71. package/tests/agent_board_write_enforcement_class.test.sql +3 -3
  72. package/tests/catalog/function_execute_privileges.json +43 -7
  73. package/tests/catalog/p_metadata_parameters.json +16 -0
  74. package/tests/fixtures/agent_board_667_apply_rls_guard.sql +195 -0
  75. package/tests/fixtures/agent_board_667_apply_rls_provenance.md +125 -0
  76. package/tests/fixtures/agent_board_667_apply_rls_reference.sql +1903 -0
  77. package/tests/fixtures/agent_board_667_conversion_guard.sql +162 -0
  78. package/tests/fixtures/agent_board_667_conversion_reference.md +23 -0
  79. package/tests/fixtures/agent_board_667_conversion_reference.sql +5325 -0
  80. package/tests/fixtures/agent_board_667_delimiter_guard.sql +92 -0
  81. package/tests/fixtures/agent_board_667_delimiter_provenance.md +116 -0
  82. package/tests/fixtures/agent_board_667_delimiter_reference.sql +10150 -0
  83. package/tests/fixtures/agent_board_667_search_guard.sql +92 -0
  84. package/tests/fixtures/agent_board_667_search_provenance.md +141 -0
  85. package/tests/fixtures/agent_board_667_search_reference.sql +4779 -0
  86. package/tests/fixtures/agent_board_667_sender_guard.sql +102 -0
  87. package/tests/fixtures/agent_board_667_sender_reference.md +20 -0
  88. package/tests/fixtures/agent_board_667_sender_reference.sql +875 -0
  89. package/tests/fixtures/agent_board_667_timestamp_graph.sql +84 -0
  90. package/tests/fixtures/agent_board_667_timestamp_guard.sql +94 -0
  91. package/tests/fixtures/agent_board_667_timestamp_provenance.md +99 -0
  92. package/tests/fixtures/agent_board_667_timestamp_reference.sql +2938 -0
  93. package/tests/isolation/expected/association_artifact_anchor_order.out +108 -0
  94. package/tests/isolation/expected/association_board_vs_board.out +71 -0
  95. package/tests/isolation/expected/association_post_wait_authority.out +77 -0
  96. package/tests/isolation/expected/association_strong_history_writers.out +203 -0
  97. package/tests/isolation/expected/association_strong_isolation.out +185 -0
  98. package/tests/isolation/expected/association_vs_artifact_claim_escalation.out +199 -0
  99. package/tests/isolation/expected/association_vs_heartbeat.out +78 -0
  100. package/tests/isolation/expected/association_vs_multi_anchor_artifact.out +67 -0
  101. package/tests/isolation/expected/association_vs_private_message.out +67 -0
  102. package/tests/isolation/expected/association_vs_task_and_conflict.out +133 -0
  103. package/tests/isolation/expected/association_vs_taskful_cross_thread.out +133 -0
  104. package/tests/isolation/expected/consent_approval_lock.out +1 -1
  105. package/tests/isolation/expected/message_replay_scope.out +209 -0
  106. package/tests/isolation/expected/tasking_replay_scope.out +125 -0
  107. package/tests/isolation/specs/association_artifact_anchor_order.spec +46 -0
  108. package/tests/isolation/specs/association_board_vs_board.spec +37 -0
  109. package/tests/isolation/specs/association_post_wait_authority.spec +48 -0
  110. package/tests/isolation/specs/association_strong_history_writers.spec +61 -0
  111. package/tests/isolation/specs/association_strong_isolation.spec +50 -0
  112. package/tests/isolation/specs/association_vs_artifact_claim_escalation.spec +41 -0
  113. package/tests/isolation/specs/association_vs_heartbeat.spec +47 -0
  114. package/tests/isolation/specs/association_vs_multi_anchor_artifact.spec +38 -0
  115. package/tests/isolation/specs/association_vs_private_message.spec +33 -0
  116. package/tests/isolation/specs/association_vs_task_and_conflict.spec +38 -0
  117. package/tests/isolation/specs/association_vs_taskful_cross_thread.spec +42 -0
  118. package/tests/isolation/specs/consent_approval_lock.spec +13 -7
  119. package/tests/isolation/specs/message_replay_scope.spec +77 -0
  120. package/tests/isolation/specs/tasking_replay_scope.spec +72 -0
  121. package/tests/mutations/717-f1/M0_prefix_main_acl_and_comments.sql +11 -0
  122. package/tests/mutations/717-f1/M10_wrapper_stops_delegating.sql +7 -0
  123. package/tests/mutations/717-f1/M11_transitive_recipient_content.sql +8 -0
  124. package/tests/mutations/717-f1/M12_transitive_recipient_visibility.sql +8 -0
  125. package/tests/mutations/717-f1/M13_transitive_worker_content.sql +15 -0
  126. package/tests/mutations/717-f1/M1a_regrant_upsert_delivery_recipient.sql +1 -0
  127. package/tests/mutations/717-f1/M1b_regrant_upsert_inbox_item.sql +1 -0
  128. package/tests/mutations/717-f1/M1c_regrant_queue_inbox_callbacks.sql +1 -0
  129. package/tests/mutations/717-f1/M1d_regrant_queue_board_post_callbacks.sql +1 -0
  130. package/tests/mutations/717-f1/M1e_regrant_next_thread_message_sequence.sql +1 -0
  131. package/tests/mutations/717-f1/M2_blanket_schema_grant.sql +1 -0
  132. package/tests/mutations/717-f1/M3_new_overload_of_sink.sql +10 -0
  133. package/tests/mutations/717-f1/M4_new_route_calling_sink.sql +7 -0
  134. package/tests/mutations/717-f1/M5_actor_trusts_supplied_id.sql +5 -0
  135. package/tests/mutations/717-f1/M6_signed_route_granted_to_authenticated.sql +1 -0
  136. package/tests/mutations/717-f1/M7_worker_granted_to_authenticated.sql +1 -0
  137. package/tests/mutations/717-f1/M8_recipient_state_rewrites_visibility.sql +5 -0
  138. package/tests/mutations/717-f1/M9_public_route_revoked_from_service_role.sql +1 -0
  139. package/tests/mutations/717-f1/outbox_wake_ordering/W1_regrant_queue_inbox_callbacks.sql +1 -0
  140. package/tests/mutations/717-f1/outbox_wake_ordering/W2_revoke_worker_from_service_role.sql +1 -0
  141. package/tests/mutations/717-f1/outbox_wake_ordering/W3_invoker_caller_of_sink.sql +1 -0
  142. package/tests/mutations/717-f1/outbox_wake_ordering/W4_public_regrant_board_post_sink.sql +1 -0
  143. package/tests/mutations/717-f1/run.sh +17 -0
  144. package/tests/mutations/717-f2b/C1_new_delivery_route.sql +4 -0
  145. package/tests/mutations/717-f2b/C2_new_replay_lookup.sql +3 -0
  146. package/tests/mutations/717-f2b/C3_internal_regranted.sql +2 -0
  147. package/tests/mutations/717-f2b/C4_wrapper_writes_delivery.sql +9 -0
  148. package/tests/mutations/717-f2b/C5_class_member_dynamic_sql.sql +9 -0
  149. package/tests/mutations/717-f2b/C6_drop_board_scope_constraint.sql +2 -0
  150. package/tests/mutations/717-f2b/C7_state_private_helper_content.sql +14 -0
  151. package/tests/mutations/717-f2b/L1_dm_lock_split_by_recipient.sql +8 -0
  152. package/tests/mutations/717-f2b/L2_dm_lock_removed.sql +12 -0
  153. package/tests/mutations/717-f2b/L3_mc_lock_split_by_recipients.sql +8 -0
  154. package/tests/mutations/717-f2b/L4_mc_lock_removed.sql +12 -0
  155. package/tests/mutations/717-f2b/M0_prefix_definitions.sql +17 -0
  156. package/tests/mutations/717-f2b/M10_mc_lookup_any_author.sql +15 -0
  157. package/tests/mutations/717-f2b/M11_dm_swallow_refusal.sql +8 -0
  158. package/tests/mutations/717-f2b/M12_mc_swallow_refusal.sql +8 -0
  159. package/tests/mutations/717-f2b/M13_signed_dm_swallows_refusal.sql +32 -0
  160. package/tests/mutations/717-f2b/M14_signed_mc_swallows_refusal.sql +20 -0
  161. package/tests/mutations/717-f2b/M15_mc_any_source.sql +7 -0
  162. package/tests/mutations/717-f2b/M1_dm_drop_recipient_proof.sql +16 -0
  163. package/tests/mutations/717-f2b/M2_mc_drop_recipient_proof.sql +16 -0
  164. package/tests/mutations/717-f2b/M3_dm_metadata_as_proof.sql +12 -0
  165. package/tests/mutations/717-f2b/M4_mc_metadata_as_proof.sql +16 -0
  166. package/tests/mutations/717-f2b/M5_dm_any_mode.sql +11 -0
  167. package/tests/mutations/717-f2b/M6_dm_board_delivery_counts.sql +11 -0
  168. package/tests/mutations/717-f2b/M7_mc_any_mode.sql +11 -0
  169. package/tests/mutations/717-f2b/M8_dm_thread_stamp_as_proof.sql +12 -0
  170. package/tests/mutations/717-f2b/M9_dm_lookup_any_author.sql +15 -0
  171. package/tests/mutations/717-f2b/run.sh +82 -0
@@ -0,0 +1,875 @@
1
+ -- Generated finite sender references from native protocol-2 SHA256 2c4598bd8b03474d54dc2221e17a83c6a47e1c14b48bd4fe2946e51d08a8160f.
2
+ -- No OIDs or rotating partition names/dates are admission pins. Each live leaf
3
+ -- must positively match the captured structural effect class. Primitive pins
4
+ -- rest on trusted PostgreSQL17.11 and the existing conversion dispatch guard.
5
+ create temp table xb_sf_reference(kind text,identity text,payload jsonb not null,primary key(kind,identity)) on commit drop;
6
+ insert into pg_temp.xb_sf_reference select value->>'kind',value->>'identity',value->'payload'
7
+ from jsonb_array_elements($sender_reference$[
8
+ {
9
+ "kind": "shape",
10
+ "identity": "root",
11
+ "payload": {
12
+ "relation": {
13
+ "owner": "supabase_realtime_admin",
14
+ "acl": [
15
+ "anon=arw/supabase_realtime_admin",
16
+ "authenticated=arw/supabase_realtime_admin",
17
+ "dashboard_user=arwdDxtm/supabase_realtime_admin",
18
+ "postgres=a*r*wdDxtm/supabase_realtime_admin",
19
+ "service_role=arw/supabase_realtime_admin",
20
+ "supabase_realtime_admin=arwdDxtm/supabase_realtime_admin"
21
+ ],
22
+ "kind": "p",
23
+ "access_method": null,
24
+ "options": null,
25
+ "is_partition": false,
26
+ "row_security": true,
27
+ "force_row_security": false,
28
+ "partition_key": "RANGE (inserted_at)"
29
+ },
30
+ "columns": [
31
+ {
32
+ "number": 1,
33
+ "name": "topic",
34
+ "type": [
35
+ "pg_catalog",
36
+ "text"
37
+ ],
38
+ "modifier": -1,
39
+ "dimensions": 0,
40
+ "not_null": true,
41
+ "dropped": false,
42
+ "identity": "",
43
+ "generated": "",
44
+ "collation": [
45
+ "pg_catalog",
46
+ "default"
47
+ ],
48
+ "acl": null,
49
+ "options": null,
50
+ "has_missing": false,
51
+ "default": null
52
+ },
53
+ {
54
+ "number": 2,
55
+ "name": "extension",
56
+ "type": [
57
+ "pg_catalog",
58
+ "text"
59
+ ],
60
+ "modifier": -1,
61
+ "dimensions": 0,
62
+ "not_null": true,
63
+ "dropped": false,
64
+ "identity": "",
65
+ "generated": "",
66
+ "collation": [
67
+ "pg_catalog",
68
+ "default"
69
+ ],
70
+ "acl": null,
71
+ "options": null,
72
+ "has_missing": false,
73
+ "default": null
74
+ },
75
+ {
76
+ "number": 3,
77
+ "name": "payload",
78
+ "type": [
79
+ "pg_catalog",
80
+ "jsonb"
81
+ ],
82
+ "modifier": -1,
83
+ "dimensions": 0,
84
+ "not_null": false,
85
+ "dropped": false,
86
+ "identity": "",
87
+ "generated": "",
88
+ "collation": null,
89
+ "acl": null,
90
+ "options": null,
91
+ "has_missing": false,
92
+ "default": null
93
+ },
94
+ {
95
+ "number": 4,
96
+ "name": "event",
97
+ "type": [
98
+ "pg_catalog",
99
+ "text"
100
+ ],
101
+ "modifier": -1,
102
+ "dimensions": 0,
103
+ "not_null": false,
104
+ "dropped": false,
105
+ "identity": "",
106
+ "generated": "",
107
+ "collation": [
108
+ "pg_catalog",
109
+ "default"
110
+ ],
111
+ "acl": null,
112
+ "options": null,
113
+ "has_missing": false,
114
+ "default": null
115
+ },
116
+ {
117
+ "number": 5,
118
+ "name": "private",
119
+ "type": [
120
+ "pg_catalog",
121
+ "bool"
122
+ ],
123
+ "modifier": -1,
124
+ "dimensions": 0,
125
+ "not_null": false,
126
+ "dropped": false,
127
+ "identity": "",
128
+ "generated": "",
129
+ "collation": null,
130
+ "acl": null,
131
+ "options": null,
132
+ "has_missing": false,
133
+ "default": "false"
134
+ },
135
+ {
136
+ "number": 6,
137
+ "name": "updated_at",
138
+ "type": [
139
+ "pg_catalog",
140
+ "timestamp"
141
+ ],
142
+ "modifier": -1,
143
+ "dimensions": 0,
144
+ "not_null": true,
145
+ "dropped": false,
146
+ "identity": "",
147
+ "generated": "",
148
+ "collation": null,
149
+ "acl": null,
150
+ "options": null,
151
+ "has_missing": false,
152
+ "default": "timezone('utc'::text, clock_timestamp())"
153
+ },
154
+ {
155
+ "number": 7,
156
+ "name": "inserted_at",
157
+ "type": [
158
+ "pg_catalog",
159
+ "timestamp"
160
+ ],
161
+ "modifier": -1,
162
+ "dimensions": 0,
163
+ "not_null": true,
164
+ "dropped": false,
165
+ "identity": "",
166
+ "generated": "",
167
+ "collation": null,
168
+ "acl": null,
169
+ "options": null,
170
+ "has_missing": false,
171
+ "default": "timezone('utc'::text, clock_timestamp())"
172
+ },
173
+ {
174
+ "number": 8,
175
+ "name": "id",
176
+ "type": [
177
+ "pg_catalog",
178
+ "uuid"
179
+ ],
180
+ "modifier": -1,
181
+ "dimensions": 0,
182
+ "not_null": true,
183
+ "dropped": false,
184
+ "identity": "",
185
+ "generated": "",
186
+ "collation": null,
187
+ "acl": null,
188
+ "options": null,
189
+ "has_missing": false,
190
+ "default": "gen_random_uuid()"
191
+ },
192
+ {
193
+ "number": 9,
194
+ "name": "binary_payload",
195
+ "type": [
196
+ "pg_catalog",
197
+ "bytea"
198
+ ],
199
+ "modifier": -1,
200
+ "dimensions": 0,
201
+ "not_null": false,
202
+ "dropped": false,
203
+ "identity": "",
204
+ "generated": "",
205
+ "collation": null,
206
+ "acl": null,
207
+ "options": null,
208
+ "has_missing": false,
209
+ "default": null
210
+ },
211
+ {
212
+ "number": 10,
213
+ "name": "skip_broadcast",
214
+ "type": [
215
+ "pg_catalog",
216
+ "bool"
217
+ ],
218
+ "modifier": -1,
219
+ "dimensions": 0,
220
+ "not_null": true,
221
+ "dropped": false,
222
+ "identity": "",
223
+ "generated": "",
224
+ "collation": null,
225
+ "acl": null,
226
+ "options": null,
227
+ "has_missing": false,
228
+ "default": "false"
229
+ }
230
+ ],
231
+ "constraints": [
232
+ {
233
+ "type": "c",
234
+ "columns": [
235
+ 3,
236
+ 9
237
+ ],
238
+ "definition": "CHECK (((payload IS NULL) OR (binary_payload IS NULL))) NOT VALID",
239
+ "validated": false
240
+ },
241
+ {
242
+ "type": "p",
243
+ "columns": [
244
+ 8,
245
+ 7
246
+ ],
247
+ "definition": "PRIMARY KEY (id, inserted_at)",
248
+ "validated": true
249
+ }
250
+ ],
251
+ "indexes": [
252
+ {
253
+ "keys": [
254
+ 7,
255
+ 1
256
+ ],
257
+ "classes": [
258
+ [
259
+ "pg_catalog",
260
+ "timestamp_ops",
261
+ "btree"
262
+ ],
263
+ [
264
+ "pg_catalog",
265
+ "text_ops",
266
+ "btree"
267
+ ]
268
+ ],
269
+ "collations": [
270
+ null,
271
+ [
272
+ "pg_catalog",
273
+ "default"
274
+ ]
275
+ ],
276
+ "options": [
277
+ 3,
278
+ 0
279
+ ],
280
+ "attributes": 2,
281
+ "key_attributes": 2,
282
+ "unique": false,
283
+ "primary": false,
284
+ "exclusion": false,
285
+ "immediate": true,
286
+ "nulls_not_distinct": false,
287
+ "valid": true,
288
+ "ready": true,
289
+ "live": true,
290
+ "predicate": "((extension = 'broadcast'::text) AND (private IS TRUE))",
291
+ "expression": null,
292
+ "access_method": "btree",
293
+ "relation_options": null
294
+ },
295
+ {
296
+ "keys": [
297
+ 8,
298
+ 7
299
+ ],
300
+ "classes": [
301
+ [
302
+ "pg_catalog",
303
+ "uuid_ops",
304
+ "btree"
305
+ ],
306
+ [
307
+ "pg_catalog",
308
+ "timestamp_ops",
309
+ "btree"
310
+ ]
311
+ ],
312
+ "collations": [
313
+ null,
314
+ null
315
+ ],
316
+ "options": [
317
+ 0,
318
+ 0
319
+ ],
320
+ "attributes": 2,
321
+ "key_attributes": 2,
322
+ "unique": true,
323
+ "primary": true,
324
+ "exclusion": false,
325
+ "immediate": true,
326
+ "nulls_not_distinct": false,
327
+ "valid": true,
328
+ "ready": true,
329
+ "live": true,
330
+ "predicate": null,
331
+ "expression": null,
332
+ "access_method": "btree",
333
+ "relation_options": null
334
+ }
335
+ ]
336
+ }
337
+ },
338
+ {
339
+ "kind": "shape",
340
+ "identity": "leaf",
341
+ "payload": {
342
+ "relation": {
343
+ "owner": "supabase_realtime_admin",
344
+ "acl": [
345
+ "dashboard_user=arwdDxtm/supabase_realtime_admin",
346
+ "postgres=a*r*wdDxtm/supabase_realtime_admin",
347
+ "supabase_realtime_admin=arwdDxtm/supabase_realtime_admin"
348
+ ],
349
+ "kind": "r",
350
+ "access_method": "heap",
351
+ "options": null,
352
+ "is_partition": true,
353
+ "row_security": false,
354
+ "force_row_security": false,
355
+ "partition_key": null
356
+ },
357
+ "columns": [
358
+ {
359
+ "number": 1,
360
+ "name": "topic",
361
+ "type": [
362
+ "pg_catalog",
363
+ "text"
364
+ ],
365
+ "modifier": -1,
366
+ "dimensions": 0,
367
+ "not_null": true,
368
+ "dropped": false,
369
+ "identity": "",
370
+ "generated": "",
371
+ "collation": [
372
+ "pg_catalog",
373
+ "default"
374
+ ],
375
+ "acl": null,
376
+ "options": null,
377
+ "has_missing": false,
378
+ "default": null
379
+ },
380
+ {
381
+ "number": 2,
382
+ "name": "extension",
383
+ "type": [
384
+ "pg_catalog",
385
+ "text"
386
+ ],
387
+ "modifier": -1,
388
+ "dimensions": 0,
389
+ "not_null": true,
390
+ "dropped": false,
391
+ "identity": "",
392
+ "generated": "",
393
+ "collation": [
394
+ "pg_catalog",
395
+ "default"
396
+ ],
397
+ "acl": null,
398
+ "options": null,
399
+ "has_missing": false,
400
+ "default": null
401
+ },
402
+ {
403
+ "number": 3,
404
+ "name": "payload",
405
+ "type": [
406
+ "pg_catalog",
407
+ "jsonb"
408
+ ],
409
+ "modifier": -1,
410
+ "dimensions": 0,
411
+ "not_null": false,
412
+ "dropped": false,
413
+ "identity": "",
414
+ "generated": "",
415
+ "collation": null,
416
+ "acl": null,
417
+ "options": null,
418
+ "has_missing": false,
419
+ "default": null
420
+ },
421
+ {
422
+ "number": 4,
423
+ "name": "event",
424
+ "type": [
425
+ "pg_catalog",
426
+ "text"
427
+ ],
428
+ "modifier": -1,
429
+ "dimensions": 0,
430
+ "not_null": false,
431
+ "dropped": false,
432
+ "identity": "",
433
+ "generated": "",
434
+ "collation": [
435
+ "pg_catalog",
436
+ "default"
437
+ ],
438
+ "acl": null,
439
+ "options": null,
440
+ "has_missing": false,
441
+ "default": null
442
+ },
443
+ {
444
+ "number": 5,
445
+ "name": "private",
446
+ "type": [
447
+ "pg_catalog",
448
+ "bool"
449
+ ],
450
+ "modifier": -1,
451
+ "dimensions": 0,
452
+ "not_null": false,
453
+ "dropped": false,
454
+ "identity": "",
455
+ "generated": "",
456
+ "collation": null,
457
+ "acl": null,
458
+ "options": null,
459
+ "has_missing": false,
460
+ "default": "false"
461
+ },
462
+ {
463
+ "number": 6,
464
+ "name": "updated_at",
465
+ "type": [
466
+ "pg_catalog",
467
+ "timestamp"
468
+ ],
469
+ "modifier": -1,
470
+ "dimensions": 0,
471
+ "not_null": true,
472
+ "dropped": false,
473
+ "identity": "",
474
+ "generated": "",
475
+ "collation": null,
476
+ "acl": null,
477
+ "options": null,
478
+ "has_missing": false,
479
+ "default": "timezone('utc'::text, clock_timestamp())"
480
+ },
481
+ {
482
+ "number": 7,
483
+ "name": "inserted_at",
484
+ "type": [
485
+ "pg_catalog",
486
+ "timestamp"
487
+ ],
488
+ "modifier": -1,
489
+ "dimensions": 0,
490
+ "not_null": true,
491
+ "dropped": false,
492
+ "identity": "",
493
+ "generated": "",
494
+ "collation": null,
495
+ "acl": null,
496
+ "options": null,
497
+ "has_missing": false,
498
+ "default": "timezone('utc'::text, clock_timestamp())"
499
+ },
500
+ {
501
+ "number": 8,
502
+ "name": "id",
503
+ "type": [
504
+ "pg_catalog",
505
+ "uuid"
506
+ ],
507
+ "modifier": -1,
508
+ "dimensions": 0,
509
+ "not_null": true,
510
+ "dropped": false,
511
+ "identity": "",
512
+ "generated": "",
513
+ "collation": null,
514
+ "acl": null,
515
+ "options": null,
516
+ "has_missing": false,
517
+ "default": "gen_random_uuid()"
518
+ },
519
+ {
520
+ "number": 9,
521
+ "name": "binary_payload",
522
+ "type": [
523
+ "pg_catalog",
524
+ "bytea"
525
+ ],
526
+ "modifier": -1,
527
+ "dimensions": 0,
528
+ "not_null": false,
529
+ "dropped": false,
530
+ "identity": "",
531
+ "generated": "",
532
+ "collation": null,
533
+ "acl": null,
534
+ "options": null,
535
+ "has_missing": false,
536
+ "default": null
537
+ },
538
+ {
539
+ "number": 10,
540
+ "name": "skip_broadcast",
541
+ "type": [
542
+ "pg_catalog",
543
+ "bool"
544
+ ],
545
+ "modifier": -1,
546
+ "dimensions": 0,
547
+ "not_null": true,
548
+ "dropped": false,
549
+ "identity": "",
550
+ "generated": "",
551
+ "collation": null,
552
+ "acl": null,
553
+ "options": null,
554
+ "has_missing": false,
555
+ "default": "false"
556
+ }
557
+ ],
558
+ "constraints": [
559
+ {
560
+ "type": "c",
561
+ "columns": [
562
+ 3,
563
+ 9
564
+ ],
565
+ "definition": "CHECK (((payload IS NULL) OR (binary_payload IS NULL)))",
566
+ "validated": true
567
+ },
568
+ {
569
+ "type": "p",
570
+ "columns": [
571
+ 8,
572
+ 7
573
+ ],
574
+ "definition": "PRIMARY KEY (id, inserted_at)",
575
+ "validated": true
576
+ }
577
+ ],
578
+ "indexes": [
579
+ {
580
+ "keys": [
581
+ 7,
582
+ 1
583
+ ],
584
+ "classes": [
585
+ [
586
+ "pg_catalog",
587
+ "timestamp_ops",
588
+ "btree"
589
+ ],
590
+ [
591
+ "pg_catalog",
592
+ "text_ops",
593
+ "btree"
594
+ ]
595
+ ],
596
+ "collations": [
597
+ null,
598
+ [
599
+ "pg_catalog",
600
+ "default"
601
+ ]
602
+ ],
603
+ "options": [
604
+ 3,
605
+ 0
606
+ ],
607
+ "attributes": 2,
608
+ "key_attributes": 2,
609
+ "unique": false,
610
+ "primary": false,
611
+ "exclusion": false,
612
+ "immediate": true,
613
+ "nulls_not_distinct": false,
614
+ "valid": true,
615
+ "ready": true,
616
+ "live": true,
617
+ "predicate": "((extension = 'broadcast'::text) AND (private IS TRUE))",
618
+ "expression": null,
619
+ "access_method": "btree",
620
+ "relation_options": null
621
+ },
622
+ {
623
+ "keys": [
624
+ 8,
625
+ 7
626
+ ],
627
+ "classes": [
628
+ [
629
+ "pg_catalog",
630
+ "uuid_ops",
631
+ "btree"
632
+ ],
633
+ [
634
+ "pg_catalog",
635
+ "timestamp_ops",
636
+ "btree"
637
+ ]
638
+ ],
639
+ "collations": [
640
+ null,
641
+ null
642
+ ],
643
+ "options": [
644
+ 0,
645
+ 0
646
+ ],
647
+ "attributes": 2,
648
+ "key_attributes": 2,
649
+ "unique": true,
650
+ "primary": true,
651
+ "exclusion": false,
652
+ "immediate": true,
653
+ "nulls_not_distinct": false,
654
+ "valid": true,
655
+ "ready": true,
656
+ "live": true,
657
+ "predicate": null,
658
+ "expression": null,
659
+ "access_method": "btree",
660
+ "relation_options": null
661
+ }
662
+ ]
663
+ }
664
+ },
665
+ {
666
+ "kind": "primitive",
667
+ "identity": "pg_catalog.timezone(interval,timestamp with time zone)",
668
+ "payload": {
669
+ "acl": null,
670
+ "kind": "f",
671
+ "owner": "supabase_admin",
672
+ "definition_md5": "ac88b1f113e8d62ecc5ea97e78cd7581"
673
+ }
674
+ },
675
+ {
676
+ "kind": "primitive",
677
+ "identity": "pg_catalog.timezone(text,timestamp with time zone)",
678
+ "payload": {
679
+ "acl": null,
680
+ "kind": "f",
681
+ "owner": "supabase_admin",
682
+ "definition_md5": "6c3a88e64d73faeb3986cdc449e9cb1b"
683
+ }
684
+ },
685
+ {
686
+ "kind": "primitive",
687
+ "identity": "pg_catalog.timezone(text,time with time zone)",
688
+ "payload": {
689
+ "acl": null,
690
+ "kind": "f",
691
+ "owner": "supabase_admin",
692
+ "definition_md5": "f1b8d443106da172e9ecfae475849b2c"
693
+ }
694
+ },
695
+ {
696
+ "kind": "primitive",
697
+ "identity": "pg_catalog.timezone(interval,time with time zone)",
698
+ "payload": {
699
+ "acl": null,
700
+ "kind": "f",
701
+ "owner": "supabase_admin",
702
+ "definition_md5": "e653a45c2e47d4594940548161818130"
703
+ }
704
+ },
705
+ {
706
+ "kind": "primitive",
707
+ "identity": "pg_catalog.timezone(text,timestamp without time zone)",
708
+ "payload": {
709
+ "acl": null,
710
+ "kind": "f",
711
+ "owner": "supabase_admin",
712
+ "definition_md5": "d53b662108280fe32aa0ec86399593c7"
713
+ }
714
+ },
715
+ {
716
+ "kind": "primitive",
717
+ "identity": "pg_catalog.timezone(interval,timestamp without time zone)",
718
+ "payload": {
719
+ "acl": null,
720
+ "kind": "f",
721
+ "owner": "supabase_admin",
722
+ "definition_md5": "d4d15009374815cf269999c74aec2f7b"
723
+ }
724
+ },
725
+ {
726
+ "kind": "primitive",
727
+ "identity": "pg_catalog.clock_timestamp()",
728
+ "payload": {
729
+ "acl": null,
730
+ "kind": "f",
731
+ "owner": "supabase_admin",
732
+ "definition_md5": "8d2169161b7d205a4e39151b44e60985"
733
+ }
734
+ },
735
+ {
736
+ "kind": "primitive",
737
+ "identity": "pg_catalog.jsonb_set(jsonb,text[],jsonb,boolean)",
738
+ "payload": {
739
+ "acl": null,
740
+ "kind": "f",
741
+ "owner": "supabase_admin",
742
+ "definition_md5": "64d58d8a06a25bf65ad38c8160dad35f"
743
+ }
744
+ },
745
+ {
746
+ "kind": "primitive",
747
+ "identity": "pg_catalog.gen_random_uuid()",
748
+ "payload": {
749
+ "acl": null,
750
+ "kind": "f",
751
+ "owner": "supabase_admin",
752
+ "definition_md5": "69e5ed43254816bf6d614bf2f5d32363"
753
+ }
754
+ },
755
+ {
756
+ "kind": "primitive",
757
+ "identity": "pg_catalog.format(text,\"any\")",
758
+ "payload": {
759
+ "acl": null,
760
+ "kind": "f",
761
+ "owner": "supabase_admin",
762
+ "definition_md5": "a63ee6a9e9808f856a9f9ba83507e58b"
763
+ }
764
+ },
765
+ {
766
+ "kind": "primitive",
767
+ "identity": "pg_catalog.format(text)",
768
+ "payload": {
769
+ "acl": null,
770
+ "kind": "f",
771
+ "owner": "supabase_admin",
772
+ "definition_md5": "f4307751d2aab933a147fa4614725f4e"
773
+ }
774
+ },
775
+ {
776
+ "kind": "primitive",
777
+ "identity": "pg_catalog.to_jsonb(anyelement)",
778
+ "payload": {
779
+ "acl": null,
780
+ "kind": "f",
781
+ "owner": "supabase_admin",
782
+ "definition_md5": "5f2400795cb892e131806e4824fc6ab8"
783
+ }
784
+ },
785
+ {
786
+ "kind": "primitive",
787
+ "identity": "pg_catalog.timezone(timestamp with time zone)",
788
+ "payload": {
789
+ "acl": null,
790
+ "kind": "f",
791
+ "owner": "supabase_admin",
792
+ "definition_md5": "61b27c306ccbf19daa42a58251782629"
793
+ }
794
+ },
795
+ {
796
+ "kind": "primitive",
797
+ "identity": "pg_catalog.timezone(timestamp without time zone)",
798
+ "payload": {
799
+ "acl": null,
800
+ "kind": "f",
801
+ "owner": "supabase_admin",
802
+ "definition_md5": "a93a55cfffd2bd7f393c2c65dabaf51d"
803
+ }
804
+ },
805
+ {
806
+ "kind": "primitive",
807
+ "identity": "pg_catalog.timezone(time with time zone)",
808
+ "payload": {
809
+ "acl": null,
810
+ "kind": "f",
811
+ "owner": "supabase_admin",
812
+ "definition_md5": "94fa4fdb70ca2fcf1a71c1f989b9873e"
813
+ }
814
+ },
815
+ {
816
+ "kind": "primitive",
817
+ "identity": "extensions.gen_random_uuid()",
818
+ "payload": {
819
+ "acl": [
820
+ "=X/supabase_admin",
821
+ "dashboard_user=X/supabase_admin",
822
+ "postgres=X*/supabase_admin",
823
+ "supabase_admin=X/supabase_admin"
824
+ ],
825
+ "kind": "f",
826
+ "owner": "supabase_admin",
827
+ "definition_md5": "6504babb8130d35e393998bd2856ec61"
828
+ }
829
+ },
830
+ {
831
+ "kind": "wrapper",
832
+ "identity": "realtime.send(jsonb,text,text,boolean)",
833
+ "payload": {
834
+ "definition_md5": "77afe4a67a0330f080cb562cec0898bd",
835
+ "owner": "supabase_realtime_admin",
836
+ "acl": [
837
+ "=X/supabase_realtime_admin",
838
+ "dashboard_user=X/supabase_realtime_admin",
839
+ "postgres=X/supabase_realtime_admin",
840
+ "supabase_realtime_admin=X/supabase_realtime_admin"
841
+ ],
842
+ "kind": "f"
843
+ }
844
+ },
845
+ {
846
+ "kind": "wrapper",
847
+ "identity": "realtime.send_binary(bytea,text,text,boolean)",
848
+ "payload": {
849
+ "definition_md5": "ccdcf82b70a4df521737be16ff40daee",
850
+ "owner": "supabase_realtime_admin",
851
+ "acl": [
852
+ "=X/supabase_realtime_admin",
853
+ "dashboard_user=X/supabase_realtime_admin",
854
+ "postgres=X/supabase_realtime_admin",
855
+ "supabase_realtime_admin=X/supabase_realtime_admin"
856
+ ],
857
+ "kind": "f"
858
+ }
859
+ },
860
+ {
861
+ "kind": "schema",
862
+ "identity": "realtime",
863
+ "payload": {
864
+ "owner": "supabase_admin",
865
+ "acl": [
866
+ "anon=U/supabase_admin",
867
+ "authenticated=U/supabase_admin",
868
+ "postgres=U*/supabase_admin",
869
+ "service_role=U/supabase_admin",
870
+ "supabase_admin=UC/supabase_admin",
871
+ "supabase_realtime_admin=UC/supabase_admin"
872
+ ]
873
+ }
874
+ }
875
+ ]$sender_reference$::jsonb);