@voyant-travel/db 0.108.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 (336) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +60 -0
  3. package/dist/aggregate-snapshots.d.ts +66 -0
  4. package/dist/aggregate-snapshots.d.ts.map +1 -0
  5. package/dist/aggregate-snapshots.js +110 -0
  6. package/dist/aggregate-snapshots.js.map +1 -0
  7. package/dist/columns/collection.d.ts +37 -0
  8. package/dist/columns/collection.d.ts.map +1 -0
  9. package/dist/columns/collection.js +44 -0
  10. package/dist/columns/collection.js.map +1 -0
  11. package/dist/columns/cruise.d.ts +26 -0
  12. package/dist/columns/cruise.d.ts.map +1 -0
  13. package/dist/columns/cruise.js +31 -0
  14. package/dist/columns/cruise.js.map +1 -0
  15. package/dist/columns/departure-sub-tables.d.ts +179 -0
  16. package/dist/columns/departure-sub-tables.d.ts.map +1 -0
  17. package/dist/columns/departure-sub-tables.js +214 -0
  18. package/dist/columns/departure-sub-tables.js.map +1 -0
  19. package/dist/columns/departure.d.ts +20 -0
  20. package/dist/columns/departure.d.ts.map +1 -0
  21. package/dist/columns/departure.js +23 -0
  22. package/dist/columns/departure.js.map +1 -0
  23. package/dist/columns/destinations.d.ts +21 -0
  24. package/dist/columns/destinations.d.ts.map +1 -0
  25. package/dist/columns/destinations.js +24 -0
  26. package/dist/columns/destinations.js.map +1 -0
  27. package/dist/columns/index.d.ts +31 -0
  28. package/dist/columns/index.d.ts.map +1 -0
  29. package/dist/columns/index.js +57 -0
  30. package/dist/columns/index.js.map +1 -0
  31. package/dist/columns/itinerary-sub-tables.d.ts +177 -0
  32. package/dist/columns/itinerary-sub-tables.d.ts.map +1 -0
  33. package/dist/columns/itinerary-sub-tables.js +122 -0
  34. package/dist/columns/itinerary-sub-tables.js.map +1 -0
  35. package/dist/columns/itinerary.d.ts +17 -0
  36. package/dist/columns/itinerary.d.ts.map +1 -0
  37. package/dist/columns/itinerary.js +20 -0
  38. package/dist/columns/itinerary.js.map +1 -0
  39. package/dist/columns/lodging.d.ts +143 -0
  40. package/dist/columns/lodging.d.ts.map +1 -0
  41. package/dist/columns/lodging.js +164 -0
  42. package/dist/columns/lodging.js.map +1 -0
  43. package/dist/columns/offers.d.ts +31 -0
  44. package/dist/columns/offers.d.ts.map +1 -0
  45. package/dist/columns/offers.js +43 -0
  46. package/dist/columns/offers.js.map +1 -0
  47. package/dist/columns/pricing.d.ts +60 -0
  48. package/dist/columns/pricing.d.ts.map +1 -0
  49. package/dist/columns/pricing.js +71 -0
  50. package/dist/columns/pricing.js.map +1 -0
  51. package/dist/columns/product-accommodation.d.ts +99 -0
  52. package/dist/columns/product-accommodation.d.ts.map +1 -0
  53. package/dist/columns/product-accommodation.js +65 -0
  54. package/dist/columns/product-accommodation.js.map +1 -0
  55. package/dist/columns/product-addons.d.ts +18 -0
  56. package/dist/columns/product-addons.d.ts.map +1 -0
  57. package/dist/columns/product-addons.js +21 -0
  58. package/dist/columns/product-addons.js.map +1 -0
  59. package/dist/columns/product-availability-states.d.ts +65 -0
  60. package/dist/columns/product-availability-states.d.ts.map +1 -0
  61. package/dist/columns/product-availability-states.js +81 -0
  62. package/dist/columns/product-availability-states.js.map +1 -0
  63. package/dist/columns/product-availability.d.ts +21 -0
  64. package/dist/columns/product-availability.d.ts.map +1 -0
  65. package/dist/columns/product-availability.js +24 -0
  66. package/dist/columns/product-availability.js.map +1 -0
  67. package/dist/columns/product-booking-rules.d.ts +45 -0
  68. package/dist/columns/product-booking-rules.d.ts.map +1 -0
  69. package/dist/columns/product-booking-rules.js +55 -0
  70. package/dist/columns/product-booking-rules.js.map +1 -0
  71. package/dist/columns/product-category-assignments.d.ts +17 -0
  72. package/dist/columns/product-category-assignments.d.ts.map +1 -0
  73. package/dist/columns/product-category-assignments.js +20 -0
  74. package/dist/columns/product-category-assignments.js.map +1 -0
  75. package/dist/columns/product-extensions.d.ts +24 -0
  76. package/dist/columns/product-extensions.d.ts.map +1 -0
  77. package/dist/columns/product-extensions.js +27 -0
  78. package/dist/columns/product-extensions.js.map +1 -0
  79. package/dist/columns/product-media.d.ts +19 -0
  80. package/dist/columns/product-media.d.ts.map +1 -0
  81. package/dist/columns/product-media.js +22 -0
  82. package/dist/columns/product-media.js.map +1 -0
  83. package/dist/columns/product-overrides.d.ts +19 -0
  84. package/dist/columns/product-overrides.d.ts.map +1 -0
  85. package/dist/columns/product-overrides.js +22 -0
  86. package/dist/columns/product-overrides.js.map +1 -0
  87. package/dist/columns/product-preferences.d.ts +51 -0
  88. package/dist/columns/product-preferences.d.ts.map +1 -0
  89. package/dist/columns/product-preferences.js +59 -0
  90. package/dist/columns/product-preferences.js.map +1 -0
  91. package/dist/columns/product-publish-settings.d.ts +18 -0
  92. package/dist/columns/product-publish-settings.d.ts.map +1 -0
  93. package/dist/columns/product-publish-settings.js +21 -0
  94. package/dist/columns/product-publish-settings.js.map +1 -0
  95. package/dist/columns/product-rate-plans.d.ts +28 -0
  96. package/dist/columns/product-rate-plans.d.ts.map +1 -0
  97. package/dist/columns/product-rate-plans.js +33 -0
  98. package/dist/columns/product-rate-plans.js.map +1 -0
  99. package/dist/columns/product-translations.d.ts +24 -0
  100. package/dist/columns/product-translations.d.ts.map +1 -0
  101. package/dist/columns/product-translations.js +27 -0
  102. package/dist/columns/product-translations.js.map +1 -0
  103. package/dist/columns/product-versions.d.ts +19 -0
  104. package/dist/columns/product-versions.d.ts.map +1 -0
  105. package/dist/columns/product-versions.js +22 -0
  106. package/dist/columns/product-versions.js.map +1 -0
  107. package/dist/columns/product-visibility.d.ts +16 -0
  108. package/dist/columns/product-visibility.d.ts.map +1 -0
  109. package/dist/columns/product-visibility.js +19 -0
  110. package/dist/columns/product-visibility.js.map +1 -0
  111. package/dist/columns/product.d.ts +56 -0
  112. package/dist/columns/product.d.ts.map +1 -0
  113. package/dist/columns/product.js +44 -0
  114. package/dist/columns/product.js.map +1 -0
  115. package/dist/columns/room.d.ts +117 -0
  116. package/dist/columns/room.d.ts.map +1 -0
  117. package/dist/columns/room.js +86 -0
  118. package/dist/columns/room.js.map +1 -0
  119. package/dist/columns/ship.d.ts +22 -0
  120. package/dist/columns/ship.d.ts.map +1 -0
  121. package/dist/columns/ship.js +25 -0
  122. package/dist/columns/ship.js.map +1 -0
  123. package/dist/columns/tags.d.ts +33 -0
  124. package/dist/columns/tags.d.ts.map +1 -0
  125. package/dist/columns/tags.js +38 -0
  126. package/dist/columns/tags.js.map +1 -0
  127. package/dist/columns/transport.d.ts +53 -0
  128. package/dist/columns/transport.d.ts.map +1 -0
  129. package/dist/columns/transport.js +62 -0
  130. package/dist/columns/transport.js.map +1 -0
  131. package/dist/connection-config.d.ts +101 -0
  132. package/dist/connection-config.d.ts.map +1 -0
  133. package/dist/connection-config.js +106 -0
  134. package/dist/connection-config.js.map +1 -0
  135. package/dist/crud.d.ts +87 -0
  136. package/dist/crud.d.ts.map +1 -0
  137. package/dist/crud.js +190 -0
  138. package/dist/crud.js.map +1 -0
  139. package/dist/helpers.d.ts +33 -0
  140. package/dist/helpers.d.ts.map +1 -0
  141. package/dist/helpers.js +49 -0
  142. package/dist/helpers.js.map +1 -0
  143. package/dist/index.d.ts +109 -0
  144. package/dist/index.d.ts.map +1 -0
  145. package/dist/index.js +155 -0
  146. package/dist/index.js.map +1 -0
  147. package/dist/lib/index.d.ts +3 -0
  148. package/dist/lib/index.d.ts.map +1 -0
  149. package/dist/lib/index.js +5 -0
  150. package/dist/lib/index.js.map +1 -0
  151. package/dist/lib/typeid-column.d.ts +75 -0
  152. package/dist/lib/typeid-column.d.ts.map +1 -0
  153. package/dist/lib/typeid-column.js +92 -0
  154. package/dist/lib/typeid-column.js.map +1 -0
  155. package/dist/lib/typeid-core.d.ts +36 -0
  156. package/dist/lib/typeid-core.d.ts.map +1 -0
  157. package/dist/lib/typeid-core.js +67 -0
  158. package/dist/lib/typeid-core.js.map +1 -0
  159. package/dist/lib/typeid-prefixes.d.ts +342 -0
  160. package/dist/lib/typeid-prefixes.d.ts.map +1 -0
  161. package/dist/lib/typeid-prefixes.js +379 -0
  162. package/dist/lib/typeid-prefixes.js.map +1 -0
  163. package/dist/lib/typeid-schemas.d.ts +206 -0
  164. package/dist/lib/typeid-schemas.d.ts.map +1 -0
  165. package/dist/lib/typeid-schemas.js +207 -0
  166. package/dist/lib/typeid-schemas.js.map +1 -0
  167. package/dist/lib/typeid-zod.d.ts +16 -0
  168. package/dist/lib/typeid-zod.d.ts.map +1 -0
  169. package/dist/lib/typeid-zod.js +29 -0
  170. package/dist/lib/typeid-zod.js.map +1 -0
  171. package/dist/lib/typeid.d.ts +2 -0
  172. package/dist/lib/typeid.d.ts.map +1 -0
  173. package/dist/lib/typeid.js +6 -0
  174. package/dist/lib/typeid.js.map +1 -0
  175. package/dist/lifecycle.d.ts +24 -0
  176. package/dist/lifecycle.d.ts.map +1 -0
  177. package/dist/lifecycle.js +30 -0
  178. package/dist/lifecycle.js.map +1 -0
  179. package/dist/links.d.ts +22 -0
  180. package/dist/links.d.ts.map +1 -0
  181. package/dist/links.js +281 -0
  182. package/dist/links.js.map +1 -0
  183. package/dist/operators.d.ts +9 -0
  184. package/dist/operators.d.ts.map +1 -0
  185. package/dist/operators.js +9 -0
  186. package/dist/operators.js.map +1 -0
  187. package/dist/outbox.d.ts +87 -0
  188. package/dist/outbox.d.ts.map +1 -0
  189. package/dist/outbox.js +245 -0
  190. package/dist/outbox.js.map +1 -0
  191. package/dist/primitives/catalog-schemas.d.ts +101 -0
  192. package/dist/primitives/catalog-schemas.d.ts.map +1 -0
  193. package/dist/primitives/catalog-schemas.js +69 -0
  194. package/dist/primitives/catalog-schemas.js.map +1 -0
  195. package/dist/primitives/catalog.d.ts +47 -0
  196. package/dist/primitives/catalog.d.ts.map +1 -0
  197. package/dist/primitives/catalog.js +94 -0
  198. package/dist/primitives/catalog.js.map +1 -0
  199. package/dist/primitives/index.d.ts +4 -0
  200. package/dist/primitives/index.d.ts.map +1 -0
  201. package/dist/primitives/index.js +4 -0
  202. package/dist/primitives/index.js.map +1 -0
  203. package/dist/primitives/offers.d.ts +224 -0
  204. package/dist/primitives/offers.d.ts.map +1 -0
  205. package/dist/primitives/offers.js +132 -0
  206. package/dist/primitives/offers.js.map +1 -0
  207. package/dist/queries/index.d.ts +18 -0
  208. package/dist/queries/index.d.ts.map +1 -0
  209. package/dist/queries/index.js +30 -0
  210. package/dist/queries/index.js.map +1 -0
  211. package/dist/runtime/index.d.ts +4 -0
  212. package/dist/runtime/index.d.ts.map +1 -0
  213. package/dist/runtime/index.js +5 -0
  214. package/dist/runtime/index.js.map +1 -0
  215. package/dist/runtime/locks.d.ts +5 -0
  216. package/dist/runtime/locks.d.ts.map +1 -0
  217. package/dist/runtime/locks.js +36 -0
  218. package/dist/runtime/locks.js.map +1 -0
  219. package/dist/schema/00_ensure_schemas.d.ts +5 -0
  220. package/dist/schema/00_ensure_schemas.d.ts.map +1 -0
  221. package/dist/schema/00_ensure_schemas.js +6 -0
  222. package/dist/schema/00_ensure_schemas.js.map +1 -0
  223. package/dist/schema/aggregate-snapshots.d.ts +97 -0
  224. package/dist/schema/aggregate-snapshots.d.ts.map +1 -0
  225. package/dist/schema/aggregate-snapshots.js +27 -0
  226. package/dist/schema/aggregate-snapshots.js.map +1 -0
  227. package/dist/schema/iam/apikey.d.ts +396 -0
  228. package/dist/schema/iam/apikey.d.ts.map +1 -0
  229. package/dist/schema/iam/apikey.js +41 -0
  230. package/dist/schema/iam/apikey.js.map +1 -0
  231. package/dist/schema/iam/auth.d.ts +1026 -0
  232. package/dist/schema/iam/auth.d.ts.map +1 -0
  233. package/dist/schema/iam/auth.js +138 -0
  234. package/dist/schema/iam/auth.js.map +1 -0
  235. package/dist/schema/iam/cloud_auth.d.ts +446 -0
  236. package/dist/schema/iam/cloud_auth.d.ts.map +1 -0
  237. package/dist/schema/iam/cloud_auth.js +46 -0
  238. package/dist/schema/iam/cloud_auth.js.map +1 -0
  239. package/dist/schema/iam/index.d.ts +8 -0
  240. package/dist/schema/iam/index.d.ts.map +1 -0
  241. package/dist/schema/iam/index.js +8 -0
  242. package/dist/schema/iam/index.js.map +1 -0
  243. package/dist/schema/iam/invitations.d.ts +173 -0
  244. package/dist/schema/iam/invitations.d.ts.map +1 -0
  245. package/dist/schema/iam/invitations.js +27 -0
  246. package/dist/schema/iam/invitations.js.map +1 -0
  247. package/dist/schema/iam/kms.d.ts +53 -0
  248. package/dist/schema/iam/kms.d.ts.map +1 -0
  249. package/dist/schema/iam/kms.js +40 -0
  250. package/dist/schema/iam/kms.js.map +1 -0
  251. package/dist/schema/iam/roles.d.ts +12 -0
  252. package/dist/schema/iam/roles.d.ts.map +1 -0
  253. package/dist/schema/iam/roles.js +12 -0
  254. package/dist/schema/iam/roles.js.map +1 -0
  255. package/dist/schema/iam/user_profiles.d.ts +442 -0
  256. package/dist/schema/iam/user_profiles.d.ts.map +1 -0
  257. package/dist/schema/iam/user_profiles.js +125 -0
  258. package/dist/schema/iam/user_profiles.js.map +1 -0
  259. package/dist/schema/index.d.ts +5 -0
  260. package/dist/schema/index.d.ts.map +1 -0
  261. package/dist/schema/index.js +5 -0
  262. package/dist/schema/index.js.map +1 -0
  263. package/dist/schema/infra/domains.d.ts +609 -0
  264. package/dist/schema/infra/domains.d.ts.map +1 -0
  265. package/dist/schema/infra/domains.js +108 -0
  266. package/dist/schema/infra/domains.js.map +1 -0
  267. package/dist/schema/infra/email_domain_records.d.ts +255 -0
  268. package/dist/schema/infra/email_domain_records.d.ts.map +1 -0
  269. package/dist/schema/infra/email_domain_records.js +65 -0
  270. package/dist/schema/infra/email_domain_records.js.map +1 -0
  271. package/dist/schema/infra/event_outbox.d.ts +232 -0
  272. package/dist/schema/infra/event_outbox.d.ts.map +1 -0
  273. package/dist/schema/infra/event_outbox.js +59 -0
  274. package/dist/schema/infra/event_outbox.js.map +1 -0
  275. package/dist/schema/infra/idempotency_keys.d.ts +186 -0
  276. package/dist/schema/infra/idempotency_keys.d.ts.map +1 -0
  277. package/dist/schema/infra/idempotency_keys.js +40 -0
  278. package/dist/schema/infra/idempotency_keys.js.map +1 -0
  279. package/dist/schema/infra/index.d.ts +9 -0
  280. package/dist/schema/infra/index.d.ts.map +1 -0
  281. package/dist/schema/infra/index.js +10 -0
  282. package/dist/schema/infra/index.js.map +1 -0
  283. package/dist/schema/infra/public_document_delivery_grants.d.ts +356 -0
  284. package/dist/schema/infra/public_document_delivery_grants.d.ts.map +1 -0
  285. package/dist/schema/infra/public_document_delivery_grants.js +36 -0
  286. package/dist/schema/infra/public_document_delivery_grants.js.map +1 -0
  287. package/dist/schema/infra/rate_limit_buckets.d.ts +138 -0
  288. package/dist/schema/infra/rate_limit_buckets.d.ts.map +1 -0
  289. package/dist/schema/infra/rate_limit_buckets.js +52 -0
  290. package/dist/schema/infra/rate_limit_buckets.js.map +1 -0
  291. package/dist/schema/infra/webhook_deliveries.d.ts +572 -0
  292. package/dist/schema/infra/webhook_deliveries.d.ts.map +1 -0
  293. package/dist/schema/infra/webhook_deliveries.js +136 -0
  294. package/dist/schema/infra/webhook_deliveries.js.map +1 -0
  295. package/dist/schema/infra/webhook_subscriptions.d.ts +284 -0
  296. package/dist/schema/infra/webhook_subscriptions.d.ts.map +1 -0
  297. package/dist/schema/infra/webhook_subscriptions.js +64 -0
  298. package/dist/schema/infra/webhook_subscriptions.js.map +1 -0
  299. package/dist/schema/infra/write_intents.d.ts +185 -0
  300. package/dist/schema/infra/write_intents.d.ts.map +1 -0
  301. package/dist/schema/infra/write_intents.js +50 -0
  302. package/dist/schema/infra/write_intents.js.map +1 -0
  303. package/dist/schema/voyant/bookings.d.ts +2 -0
  304. package/dist/schema/voyant/bookings.d.ts.map +1 -0
  305. package/dist/schema/voyant/bookings.js +2 -0
  306. package/dist/schema/voyant/bookings.js.map +1 -0
  307. package/dist/schema/voyant/finance.d.ts +2 -0
  308. package/dist/schema/voyant/finance.d.ts.map +1 -0
  309. package/dist/schema/voyant/finance.js +2 -0
  310. package/dist/schema/voyant/finance.js.map +1 -0
  311. package/dist/test-utils.d.ts +17 -0
  312. package/dist/test-utils.d.ts.map +1 -0
  313. package/dist/test-utils.js +56 -0
  314. package/dist/test-utils.js.map +1 -0
  315. package/dist/transaction-capability.d.ts +11 -0
  316. package/dist/transaction-capability.d.ts.map +1 -0
  317. package/dist/transaction-capability.js +17 -0
  318. package/dist/transaction-capability.js.map +1 -0
  319. package/dist/transaction.d.ts +31 -0
  320. package/dist/transaction.d.ts.map +1 -0
  321. package/dist/transaction.js +72 -0
  322. package/dist/transaction.js.map +1 -0
  323. package/dist/tsconfig.tsbuildinfo +1 -0
  324. package/dist/types.d.ts +10 -0
  325. package/dist/types.d.ts.map +1 -0
  326. package/dist/types.js +2 -0
  327. package/dist/types.js.map +1 -0
  328. package/dist/utils.d.ts +2 -0
  329. package/dist/utils.d.ts.map +1 -0
  330. package/dist/utils.js +19 -0
  331. package/dist/utils.js.map +1 -0
  332. package/dist/write-intents.d.ts +51 -0
  333. package/dist/write-intents.d.ts.map +1 -0
  334. package/dist/write-intents.js +95 -0
  335. package/dist/write-intents.js.map +1 -0
  336. package/package.json +306 -0
@@ -0,0 +1,232 @@
1
+ /**
2
+ * Transactional outbox for domain events (RFC voyant#1687 Phase 2.1).
3
+ *
4
+ * An emitted event becomes a durable row BEFORE its subscribers run, so
5
+ * a Worker dying mid-delivery no longer silently loses invoice syncs,
6
+ * channel pushes, or workflow triggers. Services that need write
7
+ * atomicity insert rows inside their own transaction (via
8
+ * `enqueueOutboxEvents(tx, ...)` from `@voyant-travel/db/outbox`); the drain
9
+ * then delivers post-commit.
10
+ *
11
+ * Delivery semantics: **at-least-once**. A row is claimed with a
12
+ * visibility timeout (no separate "processing" status — a crashed
13
+ * claimer's row simply becomes due again), delivered to ALL subscribers,
14
+ * and either completed or rescheduled with exponential backoff until
15
+ * `max_attempts`, after which it dead-letters as `failed`. Subscribers
16
+ * must be idempotent — the workflow forwarder already dedups on
17
+ * `metadata.eventId`, and plugin subscribers key on external refs.
18
+ */
19
+ export declare const eventOutboxTable: Omit<import("drizzle-orm/pg-core").PgTableWithColumns<{
20
+ name: "event_outbox";
21
+ schema: undefined;
22
+ columns: {
23
+ id: import("drizzle-orm/pg-core").PgColumn<{
24
+ name: string;
25
+ tableName: "event_outbox";
26
+ dataType: "string";
27
+ columnType: "PgText";
28
+ data: string;
29
+ driverParam: string;
30
+ notNull: true;
31
+ hasDefault: true;
32
+ isPrimaryKey: true;
33
+ isAutoincrement: false;
34
+ hasRuntimeDefault: true;
35
+ enumValues: [string, ...string[]];
36
+ baseColumn: never;
37
+ identity: undefined;
38
+ generated: undefined;
39
+ }, {}, {}>;
40
+ eventId: import("drizzle-orm/pg-core").PgColumn<{
41
+ name: "event_id";
42
+ tableName: "event_outbox";
43
+ dataType: "string";
44
+ columnType: "PgText";
45
+ data: string;
46
+ driverParam: string;
47
+ notNull: true;
48
+ hasDefault: false;
49
+ isPrimaryKey: false;
50
+ isAutoincrement: false;
51
+ hasRuntimeDefault: false;
52
+ enumValues: [string, ...string[]];
53
+ baseColumn: never;
54
+ identity: undefined;
55
+ generated: undefined;
56
+ }, {}, {}>;
57
+ name: import("drizzle-orm/pg-core").PgColumn<{
58
+ name: "name";
59
+ tableName: "event_outbox";
60
+ dataType: "string";
61
+ columnType: "PgText";
62
+ data: string;
63
+ driverParam: string;
64
+ notNull: true;
65
+ hasDefault: false;
66
+ isPrimaryKey: false;
67
+ isAutoincrement: false;
68
+ hasRuntimeDefault: false;
69
+ enumValues: [string, ...string[]];
70
+ baseColumn: never;
71
+ identity: undefined;
72
+ generated: undefined;
73
+ }, {}, {}>;
74
+ payload: import("drizzle-orm/pg-core").PgColumn<{
75
+ name: "payload";
76
+ tableName: "event_outbox";
77
+ dataType: "json";
78
+ columnType: "PgJsonb";
79
+ data: unknown;
80
+ driverParam: unknown;
81
+ notNull: false;
82
+ hasDefault: false;
83
+ isPrimaryKey: false;
84
+ isAutoincrement: false;
85
+ hasRuntimeDefault: false;
86
+ enumValues: undefined;
87
+ baseColumn: never;
88
+ identity: undefined;
89
+ generated: undefined;
90
+ }, {}, {}>;
91
+ metadata: import("drizzle-orm/pg-core").PgColumn<{
92
+ name: "metadata";
93
+ tableName: "event_outbox";
94
+ dataType: "json";
95
+ columnType: "PgJsonb";
96
+ data: unknown;
97
+ driverParam: unknown;
98
+ notNull: false;
99
+ hasDefault: false;
100
+ isPrimaryKey: false;
101
+ isAutoincrement: false;
102
+ hasRuntimeDefault: false;
103
+ enumValues: undefined;
104
+ baseColumn: never;
105
+ identity: undefined;
106
+ generated: undefined;
107
+ }, {}, {}>;
108
+ status: import("drizzle-orm/pg-core").PgColumn<{
109
+ name: "status";
110
+ tableName: "event_outbox";
111
+ dataType: "string";
112
+ columnType: "PgText";
113
+ data: "failed" | "pending" | "delivered";
114
+ driverParam: string;
115
+ notNull: true;
116
+ hasDefault: true;
117
+ isPrimaryKey: false;
118
+ isAutoincrement: false;
119
+ hasRuntimeDefault: false;
120
+ enumValues: ["pending", "delivered", "failed"];
121
+ baseColumn: never;
122
+ identity: undefined;
123
+ generated: undefined;
124
+ }, {}, {}>;
125
+ attempts: import("drizzle-orm/pg-core").PgColumn<{
126
+ name: "attempts";
127
+ tableName: "event_outbox";
128
+ dataType: "number";
129
+ columnType: "PgInteger";
130
+ data: number;
131
+ driverParam: string | number;
132
+ notNull: true;
133
+ hasDefault: true;
134
+ isPrimaryKey: false;
135
+ isAutoincrement: false;
136
+ hasRuntimeDefault: false;
137
+ enumValues: undefined;
138
+ baseColumn: never;
139
+ identity: undefined;
140
+ generated: undefined;
141
+ }, {}, {}>;
142
+ maxAttempts: import("drizzle-orm/pg-core").PgColumn<{
143
+ name: "max_attempts";
144
+ tableName: "event_outbox";
145
+ dataType: "number";
146
+ columnType: "PgInteger";
147
+ data: number;
148
+ driverParam: string | number;
149
+ notNull: true;
150
+ hasDefault: true;
151
+ isPrimaryKey: false;
152
+ isAutoincrement: false;
153
+ hasRuntimeDefault: false;
154
+ enumValues: undefined;
155
+ baseColumn: never;
156
+ identity: undefined;
157
+ generated: undefined;
158
+ }, {}, {}>;
159
+ nextAttemptAt: import("drizzle-orm/pg-core").PgColumn<{
160
+ name: "next_attempt_at";
161
+ tableName: "event_outbox";
162
+ dataType: "date";
163
+ columnType: "PgTimestamp";
164
+ data: Date;
165
+ driverParam: string;
166
+ notNull: true;
167
+ hasDefault: true;
168
+ isPrimaryKey: false;
169
+ isAutoincrement: false;
170
+ hasRuntimeDefault: false;
171
+ enumValues: undefined;
172
+ baseColumn: never;
173
+ identity: undefined;
174
+ generated: undefined;
175
+ }, {}, {}>;
176
+ lastError: import("drizzle-orm/pg-core").PgColumn<{
177
+ name: "last_error";
178
+ tableName: "event_outbox";
179
+ dataType: "string";
180
+ columnType: "PgText";
181
+ data: string;
182
+ driverParam: string;
183
+ notNull: false;
184
+ hasDefault: false;
185
+ isPrimaryKey: false;
186
+ isAutoincrement: false;
187
+ hasRuntimeDefault: false;
188
+ enumValues: [string, ...string[]];
189
+ baseColumn: never;
190
+ identity: undefined;
191
+ generated: undefined;
192
+ }, {}, {}>;
193
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
194
+ name: "created_at";
195
+ tableName: "event_outbox";
196
+ dataType: "date";
197
+ columnType: "PgTimestamp";
198
+ data: Date;
199
+ driverParam: string;
200
+ notNull: true;
201
+ hasDefault: true;
202
+ isPrimaryKey: false;
203
+ isAutoincrement: false;
204
+ hasRuntimeDefault: false;
205
+ enumValues: undefined;
206
+ baseColumn: never;
207
+ identity: undefined;
208
+ generated: undefined;
209
+ }, {}, {}>;
210
+ deliveredAt: import("drizzle-orm/pg-core").PgColumn<{
211
+ name: "delivered_at";
212
+ tableName: "event_outbox";
213
+ dataType: "date";
214
+ columnType: "PgTimestamp";
215
+ data: Date;
216
+ driverParam: string;
217
+ notNull: false;
218
+ hasDefault: false;
219
+ isPrimaryKey: false;
220
+ isAutoincrement: false;
221
+ hasRuntimeDefault: false;
222
+ enumValues: undefined;
223
+ baseColumn: never;
224
+ identity: undefined;
225
+ generated: undefined;
226
+ }, {}, {}>;
227
+ };
228
+ dialect: "pg";
229
+ }>, "enableRLS">;
230
+ export type EventOutboxRow = typeof eventOutboxTable.$inferSelect;
231
+ export type InsertEventOutboxRow = typeof eventOutboxTable.$inferInsert;
232
+ //# sourceMappingURL=event_outbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event_outbox.d.ts","sourceRoot":"","sources":["../../../src/schema/infra/event_outbox.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBA2ChB,CAAA;AAEb,MAAM,MAAM,cAAc,GAAG,OAAO,gBAAgB,CAAC,YAAY,CAAA;AACjE,MAAM,MAAM,oBAAoB,GAAG,OAAO,gBAAgB,CAAC,YAAY,CAAA"}
@@ -0,0 +1,59 @@
1
+ import { sql } from "drizzle-orm";
2
+ import { index, integer, jsonb, pgTable, text, timestamp, uniqueIndex } from "drizzle-orm/pg-core";
3
+ import { typeId } from "../../lib/index.js";
4
+ /**
5
+ * Transactional outbox for domain events (RFC voyant#1687 Phase 2.1).
6
+ *
7
+ * An emitted event becomes a durable row BEFORE its subscribers run, so
8
+ * a Worker dying mid-delivery no longer silently loses invoice syncs,
9
+ * channel pushes, or workflow triggers. Services that need write
10
+ * atomicity insert rows inside their own transaction (via
11
+ * `enqueueOutboxEvents(tx, ...)` from `@voyant-travel/db/outbox`); the drain
12
+ * then delivers post-commit.
13
+ *
14
+ * Delivery semantics: **at-least-once**. A row is claimed with a
15
+ * visibility timeout (no separate "processing" status — a crashed
16
+ * claimer's row simply becomes due again), delivered to ALL subscribers,
17
+ * and either completed or rescheduled with exponential backoff until
18
+ * `max_attempts`, after which it dead-letters as `failed`. Subscribers
19
+ * must be idempotent — the workflow forwarder already dedups on
20
+ * `metadata.eventId`, and plugin subscribers key on external refs.
21
+ */
22
+ export const eventOutboxTable = pgTable("event_outbox", {
23
+ id: typeId("event_outbox"),
24
+ /**
25
+ * Stable envelope id (`metadata.eventId`). Unique — re-emitting the
26
+ * same event (request retry, redelivered webhook) captures once.
27
+ */
28
+ eventId: text("event_id").notNull(),
29
+ /** Event name (`<resource>.<pastTenseAction>`). */
30
+ name: text("name").notNull(),
31
+ /** Envelope `data` payload. */
32
+ payload: jsonb("payload"),
33
+ /** Envelope `metadata` (includes eventId, correlation ids, ...). */
34
+ metadata: jsonb("metadata"),
35
+ /** pending → delivered | failed (dead-lettered). */
36
+ status: text("status", { enum: ["pending", "delivered", "failed"] })
37
+ .notNull()
38
+ .default("pending"),
39
+ /** Delivery attempts so far (incremented at claim time). */
40
+ attempts: integer("attempts").notNull().default(0),
41
+ /** Dead-letter threshold. */
42
+ maxAttempts: integer("max_attempts").notNull().default(8),
43
+ /**
44
+ * When the row is next due. Doubles as the visibility timeout while
45
+ * a claim is in flight and as the backoff schedule after a failure.
46
+ */
47
+ nextAttemptAt: timestamp("next_attempt_at", { withTimezone: true }).notNull().defaultNow(),
48
+ lastError: text("last_error"),
49
+ createdAt: timestamp("created_at", { withTimezone: true }).notNull().defaultNow(),
50
+ deliveredAt: timestamp("delivered_at", { withTimezone: true }),
51
+ }, (table) => [
52
+ uniqueIndex("event_outbox_event_id_uniq").on(table.eventId),
53
+ // The drain's working set: due pending rows only. Partial keeps the
54
+ // index tiny once delivered/failed rows accumulate.
55
+ // agent-quality: raw-sql reviewed -- owner: db; dynamic SQL interpolation uses Drizzle parameter binding or vetted SQL identifiers.
56
+ index("event_outbox_due_idx").on(table.nextAttemptAt).where(sql `${table.status} = 'pending'`),
57
+ index("event_outbox_created_idx").on(table.createdAt),
58
+ ]).enableRLS();
59
+ //# sourceMappingURL=event_outbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event_outbox.js","sourceRoot":"","sources":["../../../src/schema/infra/event_outbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AACjC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAElG,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAE3C;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAO,CACrC,cAAc,EACd;IACE,EAAE,EAAE,MAAM,CAAC,cAAc,CAAC;IAE1B;;;OAGG;IACH,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE;IACnC,mDAAmD;IACnD,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE;IAC5B,+BAA+B;IAC/B,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,oEAAoE;IACpE,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC;IAE3B,oDAAoD;IACpD,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,CAAC;SACjE,OAAO,EAAE;SACT,OAAO,CAAC,SAAS,CAAC;IACrB,4DAA4D;IAC5D,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAClD,6BAA6B;IAC7B,WAAW,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACzD;;;OAGG;IACH,aAAa,EAAE,SAAS,CAAC,iBAAiB,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE;IAC1F,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC;IAE7B,SAAS,EAAE,SAAS,CAAC,YAAY,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE;IACjF,WAAW,EAAE,SAAS,CAAC,cAAc,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;CAC/D,EACD,CAAC,KAAK,EAAE,EAAE,CAAC;IACT,WAAW,CAAC,4BAA4B,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;IAC3D,oEAAoE;IACpE,oDAAoD;IACpD,oIAAoI;IACpI,KAAK,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,GAAG,CAAA,GAAG,KAAK,CAAC,MAAM,cAAc,CAAC;IAC7F,KAAK,CAAC,0BAA0B,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC;CACtD,CACF,CAAC,SAAS,EAAE,CAAA"}
@@ -0,0 +1,186 @@
1
+ /**
2
+ * Idempotency keys store the response of a previously-handled request keyed
3
+ * by `(scope, key)`. Replays of the same key with the same body hash return
4
+ * the stored response; replays with a *different* body hash conflict (409).
5
+ *
6
+ * Designed for non-idempotent POST endpoints — primarily booking creation,
7
+ * payment intent issuance, and similar money-affecting flows where a
8
+ * client retry must not produce duplicate side effects.
9
+ *
10
+ * Rows expire after `expiresAt`. Cleanup is the deployment's responsibility
11
+ * (typically a daily cron sweep).
12
+ *
13
+ * `scope` namespaces keys per endpoint family so that two unrelated
14
+ * endpoints can safely accept overlapping keys without colliding.
15
+ *
16
+ * `bodyHash` is a SHA-256 of the canonical request body — when the same
17
+ * key replays with the same hash, we return `responseStatus` /
18
+ * `responseBody` verbatim. Different hash → 409.
19
+ *
20
+ * `referenceId` (optional) lets callers point at the resource the original
21
+ * request created — typically a booking id — so that operational queries
22
+ * can correlate replays with the underlying entity.
23
+ */
24
+ export declare const infraIdempotencyKeysTable: Omit<import("drizzle-orm/pg-core").PgTableWithColumns<{
25
+ name: "idempotency_keys";
26
+ schema: undefined;
27
+ columns: {
28
+ id: import("drizzle-orm/pg-core").PgColumn<{
29
+ name: string;
30
+ tableName: "idempotency_keys";
31
+ dataType: "string";
32
+ columnType: "PgText";
33
+ data: string;
34
+ driverParam: string;
35
+ notNull: true;
36
+ hasDefault: true;
37
+ isPrimaryKey: true;
38
+ isAutoincrement: false;
39
+ hasRuntimeDefault: true;
40
+ enumValues: [string, ...string[]];
41
+ baseColumn: never;
42
+ identity: undefined;
43
+ generated: undefined;
44
+ }, {}, {}>;
45
+ scope: import("drizzle-orm/pg-core").PgColumn<{
46
+ name: "scope";
47
+ tableName: "idempotency_keys";
48
+ dataType: "string";
49
+ columnType: "PgText";
50
+ data: string;
51
+ driverParam: string;
52
+ notNull: true;
53
+ hasDefault: false;
54
+ isPrimaryKey: false;
55
+ isAutoincrement: false;
56
+ hasRuntimeDefault: false;
57
+ enumValues: [string, ...string[]];
58
+ baseColumn: never;
59
+ identity: undefined;
60
+ generated: undefined;
61
+ }, {}, {}>;
62
+ key: import("drizzle-orm/pg-core").PgColumn<{
63
+ name: "key";
64
+ tableName: "idempotency_keys";
65
+ dataType: "string";
66
+ columnType: "PgText";
67
+ data: string;
68
+ driverParam: string;
69
+ notNull: true;
70
+ hasDefault: false;
71
+ isPrimaryKey: false;
72
+ isAutoincrement: false;
73
+ hasRuntimeDefault: false;
74
+ enumValues: [string, ...string[]];
75
+ baseColumn: never;
76
+ identity: undefined;
77
+ generated: undefined;
78
+ }, {}, {}>;
79
+ bodyHash: import("drizzle-orm/pg-core").PgColumn<{
80
+ name: "body_hash";
81
+ tableName: "idempotency_keys";
82
+ dataType: "string";
83
+ columnType: "PgText";
84
+ data: string;
85
+ driverParam: string;
86
+ notNull: true;
87
+ hasDefault: false;
88
+ isPrimaryKey: false;
89
+ isAutoincrement: false;
90
+ hasRuntimeDefault: false;
91
+ enumValues: [string, ...string[]];
92
+ baseColumn: never;
93
+ identity: undefined;
94
+ generated: undefined;
95
+ }, {}, {}>;
96
+ responseStatus: import("drizzle-orm/pg-core").PgColumn<{
97
+ name: "response_status";
98
+ tableName: "idempotency_keys";
99
+ dataType: "number";
100
+ columnType: "PgInteger";
101
+ data: number;
102
+ driverParam: string | number;
103
+ notNull: true;
104
+ hasDefault: false;
105
+ isPrimaryKey: false;
106
+ isAutoincrement: false;
107
+ hasRuntimeDefault: false;
108
+ enumValues: undefined;
109
+ baseColumn: never;
110
+ identity: undefined;
111
+ generated: undefined;
112
+ }, {}, {}>;
113
+ responseBody: import("drizzle-orm/pg-core").PgColumn<{
114
+ name: "response_body";
115
+ tableName: "idempotency_keys";
116
+ dataType: "json";
117
+ columnType: "PgJsonb";
118
+ data: unknown;
119
+ driverParam: unknown;
120
+ notNull: true;
121
+ hasDefault: false;
122
+ isPrimaryKey: false;
123
+ isAutoincrement: false;
124
+ hasRuntimeDefault: false;
125
+ enumValues: undefined;
126
+ baseColumn: never;
127
+ identity: undefined;
128
+ generated: undefined;
129
+ }, {}, {}>;
130
+ referenceId: import("drizzle-orm/pg-core").PgColumn<{
131
+ name: "reference_id";
132
+ tableName: "idempotency_keys";
133
+ dataType: "string";
134
+ columnType: "PgText";
135
+ data: string;
136
+ driverParam: string;
137
+ notNull: false;
138
+ hasDefault: false;
139
+ isPrimaryKey: false;
140
+ isAutoincrement: false;
141
+ hasRuntimeDefault: false;
142
+ enumValues: [string, ...string[]];
143
+ baseColumn: never;
144
+ identity: undefined;
145
+ generated: undefined;
146
+ }, {}, {}>;
147
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
148
+ name: "created_at";
149
+ tableName: "idempotency_keys";
150
+ dataType: "date";
151
+ columnType: "PgTimestamp";
152
+ data: Date;
153
+ driverParam: string;
154
+ notNull: true;
155
+ hasDefault: true;
156
+ isPrimaryKey: false;
157
+ isAutoincrement: false;
158
+ hasRuntimeDefault: false;
159
+ enumValues: undefined;
160
+ baseColumn: never;
161
+ identity: undefined;
162
+ generated: undefined;
163
+ }, {}, {}>;
164
+ expiresAt: import("drizzle-orm/pg-core").PgColumn<{
165
+ name: "expires_at";
166
+ tableName: "idempotency_keys";
167
+ dataType: "date";
168
+ columnType: "PgTimestamp";
169
+ data: Date;
170
+ driverParam: string;
171
+ notNull: true;
172
+ hasDefault: false;
173
+ isPrimaryKey: false;
174
+ isAutoincrement: false;
175
+ hasRuntimeDefault: false;
176
+ enumValues: undefined;
177
+ baseColumn: never;
178
+ identity: undefined;
179
+ generated: undefined;
180
+ }, {}, {}>;
181
+ };
182
+ dialect: "pg";
183
+ }>, "enableRLS">;
184
+ export type InsertInfraIdempotencyKey = typeof infraIdempotencyKeysTable.$inferInsert;
185
+ export type SelectInfraIdempotencyKey = typeof infraIdempotencyKeysTable.$inferSelect;
186
+ //# sourceMappingURL=idempotency_keys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"idempotency_keys.d.ts","sourceRoot":"","sources":["../../../src/schema/infra/idempotency_keys.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAiBzB,CAAA;AAEb,MAAM,MAAM,yBAAyB,GAAG,OAAO,yBAAyB,CAAC,YAAY,CAAA;AACrF,MAAM,MAAM,yBAAyB,GAAG,OAAO,yBAAyB,CAAC,YAAY,CAAA"}
@@ -0,0 +1,40 @@
1
+ import { index, integer, jsonb, pgTable, text, timestamp, uniqueIndex } from "drizzle-orm/pg-core";
2
+ import { typeId } from "../../lib/index.js";
3
+ /**
4
+ * Idempotency keys store the response of a previously-handled request keyed
5
+ * by `(scope, key)`. Replays of the same key with the same body hash return
6
+ * the stored response; replays with a *different* body hash conflict (409).
7
+ *
8
+ * Designed for non-idempotent POST endpoints — primarily booking creation,
9
+ * payment intent issuance, and similar money-affecting flows where a
10
+ * client retry must not produce duplicate side effects.
11
+ *
12
+ * Rows expire after `expiresAt`. Cleanup is the deployment's responsibility
13
+ * (typically a daily cron sweep).
14
+ *
15
+ * `scope` namespaces keys per endpoint family so that two unrelated
16
+ * endpoints can safely accept overlapping keys without colliding.
17
+ *
18
+ * `bodyHash` is a SHA-256 of the canonical request body — when the same
19
+ * key replays with the same hash, we return `responseStatus` /
20
+ * `responseBody` verbatim. Different hash → 409.
21
+ *
22
+ * `referenceId` (optional) lets callers point at the resource the original
23
+ * request created — typically a booking id — so that operational queries
24
+ * can correlate replays with the underlying entity.
25
+ */
26
+ export const infraIdempotencyKeysTable = pgTable("idempotency_keys", {
27
+ id: typeId("idempotency_keys"),
28
+ scope: text("scope").notNull(),
29
+ key: text("key").notNull(),
30
+ bodyHash: text("body_hash").notNull(),
31
+ responseStatus: integer("response_status").notNull(),
32
+ responseBody: jsonb("response_body").notNull(),
33
+ referenceId: text("reference_id"),
34
+ createdAt: timestamp("created_at", { withTimezone: true }).notNull().defaultNow(),
35
+ expiresAt: timestamp("expires_at", { withTimezone: true }).notNull(),
36
+ }, (table) => [
37
+ uniqueIndex("idx_infra_idempotency_keys_scope_key").on(table.scope, table.key),
38
+ index("idx_infra_idempotency_keys_expires_at").on(table.expiresAt),
39
+ ]).enableRLS();
40
+ //# sourceMappingURL=idempotency_keys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"idempotency_keys.js","sourceRoot":"","sources":["../../../src/schema/infra/idempotency_keys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAElG,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAE3C;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,OAAO,CAC9C,kBAAkB,EAClB;IACE,EAAE,EAAE,MAAM,CAAC,kBAAkB,CAAC;IAC9B,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE;IAC9B,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE;IAC1B,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE;IACrC,cAAc,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,EAAE;IACpD,YAAY,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC,OAAO,EAAE;IAC9C,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC;IACjC,SAAS,EAAE,SAAS,CAAC,YAAY,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE;IACjF,SAAS,EAAE,SAAS,CAAC,YAAY,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE;CACrE,EACD,CAAC,KAAK,EAAE,EAAE,CAAC;IACT,WAAW,CAAC,sCAAsC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC;IAC9E,KAAK,CAAC,uCAAuC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC;CACnE,CACF,CAAC,SAAS,EAAE,CAAA"}
@@ -0,0 +1,9 @@
1
+ export * from "./domains.js";
2
+ export * from "./event_outbox.js";
3
+ export * from "./idempotency_keys.js";
4
+ export * from "./public_document_delivery_grants.js";
5
+ export * from "./rate_limit_buckets.js";
6
+ export * from "./webhook_deliveries.js";
7
+ export * from "./webhook_subscriptions.js";
8
+ export * from "./write_intents.js";
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/schema/infra/index.ts"],"names":[],"mappings":"AACA,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,uBAAuB,CAAA;AACrC,cAAc,sCAAsC,CAAA;AACpD,cAAc,yBAAyB,CAAA;AACvC,cAAc,yBAAyB,CAAA;AACvC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,oBAAoB,CAAA"}
@@ -0,0 +1,10 @@
1
+ // audit_log: REMOVED - migrated to Tinybird (audit_log.datasource)
2
+ export * from "./domains.js";
3
+ export * from "./event_outbox.js";
4
+ export * from "./idempotency_keys.js";
5
+ export * from "./public_document_delivery_grants.js";
6
+ export * from "./rate_limit_buckets.js";
7
+ export * from "./webhook_deliveries.js";
8
+ export * from "./webhook_subscriptions.js";
9
+ export * from "./write_intents.js";
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/schema/infra/index.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,uBAAuB,CAAA;AACrC,cAAc,sCAAsC,CAAA;AACpD,cAAc,yBAAyB,CAAA;AACvC,cAAc,yBAAyB,CAAA;AACvC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,oBAAoB,CAAA"}