@vrplatform/kysely 1.3.45-stage.4451 → 1.3.45-stage.446

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 (221) hide show
  1. package/build/.data.tar +0 -0
  2. package/build/main/camel-case/index.js +1 -1
  3. package/build/main/camel-case/index.js.map +1 -1
  4. package/build/main/control-plane/index.d.ts +360 -14
  5. package/build/main/control-plane/index.js +61 -0
  6. package/build/main/control-plane/index.js.map +1 -1
  7. package/build/main/domain.d.ts +4 -0
  8. package/build/main/domain.js +3 -0
  9. package/build/main/domain.js.map +1 -0
  10. package/build/main/error.d.ts +2 -1
  11. package/build/main/error.js +2 -1
  12. package/build/main/error.js.map +1 -1
  13. package/build/main/index.d.ts +11 -15
  14. package/build/main/index.js +165 -59
  15. package/build/main/index.js.map +1 -1
  16. package/build/main/isomorphic.d.ts +5 -5
  17. package/build/main/isomorphic.js +2 -8
  18. package/build/main/isomorphic.js.map +1 -1
  19. package/build/main/local/digest.d.ts +3 -3
  20. package/build/main/local/digest.js.map +1 -1
  21. package/build/main/local/generate.js +11 -10
  22. package/build/main/local/generate.js.map +1 -1
  23. package/build/main/local/index.d.ts +5 -1
  24. package/build/main/local/index.js +322 -12
  25. package/build/main/local/index.js.map +1 -1
  26. package/build/main/local/prune-pulled-schema.js +4 -1
  27. package/build/main/local/prune-pulled-schema.js.map +1 -1
  28. package/build/main/migration.d.ts +7 -0
  29. package/build/main/migration.js +11 -0
  30. package/build/main/migration.js.map +1 -0
  31. package/build/main/plugins.d.ts +2 -2
  32. package/build/main/plugins.js.map +1 -1
  33. package/build/main/postgres-error.d.ts +8 -0
  34. package/build/main/postgres-error.js +22 -0
  35. package/build/main/postgres-error.js.map +1 -0
  36. package/build/main/query/index.d.ts +1 -0
  37. package/build/main/query/index.js +1 -0
  38. package/build/main/query/index.js.map +1 -1
  39. package/build/main/query/listing/status.d.ts +0 -10
  40. package/build/main/query/listing/status.js +29 -18
  41. package/build/main/query/listing/status.js.map +1 -1
  42. package/build/main/query/tenant/billing-partner.d.ts +4 -0
  43. package/build/main/query/tenant/billing-partner.js +8 -0
  44. package/build/main/query/tenant/billing-partner.js.map +1 -0
  45. package/build/main/query/tenant/index.d.ts +2 -0
  46. package/build/main/query/tenant/index.js +19 -0
  47. package/build/main/query/tenant/index.js.map +1 -0
  48. package/build/main/query/tenant/status.d.ts +14 -0
  49. package/build/main/query/tenant/status.js +40 -0
  50. package/build/main/query/tenant/status.js.map +1 -0
  51. package/build/main/regional.d.ts +29 -3
  52. package/build/main/regional.js +68 -8
  53. package/build/main/regional.js.map +1 -1
  54. package/build/main/test/index.d.ts +23 -11
  55. package/build/main/test/index.js +31 -23
  56. package/build/main/test/index.js.map +1 -1
  57. package/build/main/transaction.d.ts +3 -3
  58. package/build/main/transaction.js.map +1 -1
  59. package/build/main/v1.generated.d.ts +821 -119
  60. package/build/main/v1.generated.js.map +1 -1
  61. package/build/migrations-v2/0000000000000-baseline.ts +5 -0
  62. package/build/migrations-v2/0000000000001-public-audit-events-v2.ts +137 -0
  63. package/build/migrations-v2/0000000000002-audit-recovery-watermarks.ts +30 -0
  64. package/build/migrations-v2/0000000000003-audit-effect-recovery-watermark.ts +13 -0
  65. package/build/migrations-v2/0000000000004-audit-event-projected-at.ts +15 -0
  66. package/build/migrations-v2/0000000000005-audit-recovery-indexes.ts +63 -0
  67. package/build/migrations-v2/0000000000006-audit-action-public-event-projected-at.ts +22 -0
  68. package/build/migrations-v2/0000000000007-audit-action-public-event-projected-at-backfill.ts +35 -0
  69. package/build/migrations-v2/0000000000008-global-user-attribution.ts +33 -0
  70. package/build/migrations-v2/0000000000008-team-issue-rule-state.ts +52 -0
  71. package/build/migrations-v2/0000000000009-reservation-issue-projections.ts +45 -0
  72. package/build/migrations-v2/0000000000010-bank-rule-application-bank-record-delete-cascade.ts +26 -0
  73. package/build/migrations-v2/0000000000011-guest-balance-journal-entry-lookup-index.ts +25 -0
  74. package/build/migrations-v2/0000000000012-trial-free-analytics-billing-status.ts +72 -0
  75. package/build/migrations-v2/0000000000013-ui-permission-bundles.ts +45 -0
  76. package/build/migrations-v2/0000000000014-ui-permission-bundle-top-up.ts +32 -0
  77. package/build/migrations-v2/0000000000015-durable-flow-events.ts +163 -0
  78. package/build/migrations-v2/0000000000016-billing-listing-facts.ts +539 -0
  79. package/build/migrations-v2/0000000000016-managed-team-access.ts +34 -0
  80. package/build/migrations-v2/0000000000017-drop-trial-until.ts +42 -0
  81. package/build/migrations-v2/0000000000017-webhook-secret-reencryption-failures.ts +18 -0
  82. package/build/migrations-v2/0000000000018-accounting-integrity-monitoring.ts +276 -0
  83. package/build/migrations-v2/0000000000018-durable-flow-event-sensitive-input.ts +28 -0
  84. package/build/migrations-v2/0000000000019-accounting-integrity-run-shards.ts +26 -0
  85. package/build/migrations-v2/0000000000019-asynchronous-operations.ts +736 -0
  86. package/build/migrations-v2/0000000000020-accounting-integrity-case-classification.ts +52 -0
  87. package/build/migrations-v2/0000000000021-payment-line-classification-monitor-indexes.ts +31 -0
  88. package/build/migrations-v2/0000000000022-accounting-integrity-controlled-repairs.ts +281 -0
  89. package/build/migrations-v2/0000000000023-line-classification-usage.ts +325 -0
  90. package/build/migrations-v2/0000000000024-tenant-region-migration.ts +108 -0
  91. package/build/migrations-v2/0000000000025-partner-ach-denial-default.ts +30 -0
  92. package/build/migrations-v2/0000000000026-line-classification-usage-capture.ts +399 -0
  93. package/build/migrations-v2/0000000000027-payout-replacement-chain.ts +27 -0
  94. package/build/migrations-v2/0000000000028-accounting-integrity-operator-workflow.ts +108 -0
  95. package/build/migrations-v2/0000000000029-accounting-integrity-definition-artifacts.ts +40 -0
  96. package/build/migrations-v2/0000000000030-accounting-integrity-review-metadata-compatibility.ts +49 -0
  97. package/build/migrations-v2/0000000000031-ui-permission-role-simplification.ts +70 -0
  98. package/build/migrations-v2/0000000000032-tenant-delete-ownership-cascades.ts +44 -0
  99. package/build/migrations-v2/0000000000033-reservation-issue-seed-bucket-index.ts +19 -0
  100. package/build/migrations-v2/0000000000034-retire-recent-classification-indexes.ts +29 -0
  101. package/build/migrations-v2/0000000000035-core-change-autovacuum.ts +24 -0
  102. package/build/migrations-v2/0000000000036-journal-entry-inactive-reason-constraint.ts +33 -0
  103. package/build/migrations-v2/0000000000037-journal-entry-inactive-reasons.ts +19 -0
  104. package/build/{migrations/0000000000023-journal-entry-currency-mismatch-reason.ts → migrations-v2/0000000000038-journal-entry-group-inactive-reason.ts} +4 -4
  105. package/build/migrations-v2/0000000000039-reservation-guest-breakdown.ts +19 -0
  106. package/build/migrations-v2/0000000000040-csv-import-source-identity-index.ts +23 -0
  107. package/build/migrations-v2/0000000000041-payment-returns.ts +38 -0
  108. package/build/migrations-v2/0000000000042-operation-resource-types.ts +609 -0
  109. package/build/migrations-v2/0000000000043-reservation-journal-freshness.ts +149 -0
  110. package/build/migrations-v2/0000000000044-reservation-journal-freshness-backfill.ts +254 -0
  111. package/build/migrations-v2/0000000000045-reservation-journal-freshness-revision-repair.ts +83 -0
  112. package/build/migrations-v2/0000000000046-materialized-reservation-journal-operations.ts +709 -0
  113. package/build/migrations-v2/0000000000047-public-audit-completion.ts +77 -0
  114. package/build/migrations-v2/0000000000048-reservation-journal-full-refresh-repair.ts +136 -0
  115. package/build/migrations-v2/0000000000049-queued-journal-operation-failures.ts +60 -0
  116. package/build/module/camel-case/index.js +1 -1
  117. package/build/module/camel-case/index.js.map +1 -1
  118. package/build/module/control-plane/index.d.ts +360 -14
  119. package/build/module/control-plane/index.js +49 -1
  120. package/build/module/control-plane/index.js.map +1 -1
  121. package/build/module/domain.d.ts +4 -0
  122. package/build/module/domain.js +2 -0
  123. package/build/module/domain.js.map +1 -0
  124. package/build/module/error.d.ts +2 -1
  125. package/build/module/error.js +3 -1
  126. package/build/module/error.js.map +1 -1
  127. package/build/module/index.d.ts +11 -15
  128. package/build/module/index.js +165 -57
  129. package/build/module/index.js.map +1 -1
  130. package/build/module/isomorphic.d.ts +5 -5
  131. package/build/module/isomorphic.js +1 -6
  132. package/build/module/isomorphic.js.map +1 -1
  133. package/build/module/local/digest.d.ts +3 -3
  134. package/build/module/local/digest.js.map +1 -1
  135. package/build/module/local/generate.js +11 -10
  136. package/build/module/local/generate.js.map +1 -1
  137. package/build/module/local/index.d.ts +5 -1
  138. package/build/module/local/index.js +323 -13
  139. package/build/module/local/index.js.map +1 -1
  140. package/build/module/local/prune-pulled-schema.js +4 -1
  141. package/build/module/local/prune-pulled-schema.js.map +1 -1
  142. package/build/module/migration.d.ts +7 -0
  143. package/build/module/migration.js +8 -0
  144. package/build/module/migration.js.map +1 -0
  145. package/build/module/plugins.d.ts +2 -2
  146. package/build/module/plugins.js.map +1 -1
  147. package/build/module/postgres-error.d.ts +8 -0
  148. package/build/module/postgres-error.js +19 -0
  149. package/build/module/postgres-error.js.map +1 -0
  150. package/build/module/query/index.d.ts +1 -0
  151. package/build/module/query/index.js +1 -0
  152. package/build/module/query/index.js.map +1 -1
  153. package/build/module/query/listing/status.d.ts +0 -10
  154. package/build/module/query/listing/status.js +29 -16
  155. package/build/module/query/listing/status.js.map +1 -1
  156. package/build/module/query/tenant/billing-partner.d.ts +4 -0
  157. package/build/module/query/tenant/billing-partner.js +5 -0
  158. package/build/module/query/tenant/billing-partner.js.map +1 -0
  159. package/build/module/query/tenant/index.d.ts +2 -0
  160. package/build/module/query/tenant/index.js +3 -0
  161. package/build/module/query/tenant/index.js.map +1 -0
  162. package/build/module/query/tenant/status.d.ts +14 -0
  163. package/build/module/query/tenant/status.js +35 -0
  164. package/build/module/query/tenant/status.js.map +1 -0
  165. package/build/module/regional.d.ts +29 -3
  166. package/build/module/regional.js +67 -8
  167. package/build/module/regional.js.map +1 -1
  168. package/build/module/test/index.d.ts +23 -11
  169. package/build/module/test/index.js +31 -23
  170. package/build/module/test/index.js.map +1 -1
  171. package/build/module/transaction.d.ts +3 -3
  172. package/build/module/transaction.js.map +1 -1
  173. package/build/module/v1.generated.d.ts +821 -119
  174. package/build/module/v1.generated.js.map +1 -1
  175. package/package.json +10 -9
  176. package/build/migrations/0000000000001-init.ts +0 -5
  177. package/build/migrations/0000000000009-drop-store-schema.ts +0 -14
  178. package/build/migrations/0000000000010-bank-rules.ts +0 -190
  179. package/build/migrations/0000000000011-bank-rule-line-adjustments.ts +0 -65
  180. package/build/migrations/0000000000012-bank-rule-conditions.ts +0 -45
  181. package/build/migrations/0000000000013-bank-rule-name-unique.ts +0 -15
  182. package/build/migrations/0000000000014-bank-rule-drop-legacy-conditions.ts +0 -41
  183. package/build/migrations/0000000000015-booking-channel-logo-dev-provider.ts +0 -70
  184. package/build/migrations/0000000000016-owner-statement-draft-status.ts +0 -22
  185. package/build/migrations/0000000000017-tenant-migration-markers.ts +0 -18
  186. package/build/migrations/0000000000018-security-deposits-payable-category.ts +0 -63
  187. package/build/migrations/0000000000019-tenant-app-settings.ts +0 -76
  188. package/build/migrations/0000000000020-operating-opening-trial-balance.ts +0 -36
  189. package/build/migrations/0000000000021-audit-foreign-key-indexes.ts +0 -77
  190. package/build/migrations/0000000000022-opening-trial-balance-combined-columns.ts +0 -30
  191. package/build/migrations/0000000000024-listing-parent.ts +0 -37
  192. package/build/migrations/0000000000025-journal-entry-parent-listing.ts +0 -26
  193. package/build/migrations/0000000000026-booking-channel-logo-slots.ts +0 -89
  194. package/build/migrations/0000000000027-list-browse-performance-indexes.ts +0 -52
  195. package/build/migrations/0000000000028-flow-setting-status-jsonb.ts +0 -20
  196. package/build/migrations/0000000000029-tenant-slug.ts +0 -328
  197. package/build/migrations/0000000000030-pms-accounting-windows.ts +0 -50
  198. package/build/migrations/0000000000031-owner-statement-projection-listing-revision.ts +0 -20
  199. package/build/migrations/0000000000032-flow-event-listening.ts +0 -28
  200. package/build/migrations/0000000000033-opening-trial-balance-transaction.ts +0 -272
  201. package/build/migrations/0000000000034-historic-general-ledger.ts +0 -24
  202. package/build/migrations/0000000000035-tenant-regional-placement.ts +0 -37
  203. package/build/migrations/0000000000036-control-plane-projection-events.ts +0 -43
  204. package/build/migrations/0000000000037-tenant-guide-onboarding.ts +0 -21
  205. package/build/migrations/0000000000038-tracking-event-analytics-sink.ts +0 -31
  206. package/build/migrations/0000000000039-crunchy-region.ts +0 -86
  207. package/build/migrations/0000000000040-hostaway-region.ts +0 -72
  208. package/build/migrations/0000000000041-audit-tenant-fk.ts +0 -66
  209. package/build/migrations/0000000000042-ramp-staging-connect-params.ts +0 -35
  210. package/build/migrations/0000000000043-gl-pms-accounting-window-guard.ts +0 -125
  211. package/build/migrations/0000000000044-tenant-cross-region-fks.ts +0 -45
  212. package/build/migrations/0000000000045-cloudflare-region-env.ts +0 -100
  213. package/build/migrations/0000000000046-control-plane-outbox-alias.ts +0 -46
  214. package/build/migrations/0000000000047-ramp-contact-last-4-digits.ts +0 -16
  215. package/build/migrations/0000000000047-tenant-status-backfill.ts +0 -40
  216. package/build/migrations/0000000000048-tenant-status-constraint.ts +0 -24
  217. package/build/migrations/0000000000049-health-tenant-issues.ts +0 -69
  218. package/build/migrations/0000000000050-partner-webhooks.ts +0 -135
  219. package/build/migrations/0000000000051-health-webhook-runtime-grants.ts +0 -42
  220. package/build/migrations/0000000000052-feature-approval-team-enablement.ts +0 -13
  221. package/build/migrations/0000000000053-health-webhook-enums.ts +0 -296
package/build/.data.tar CHANGED
Binary file
@@ -37,7 +37,7 @@ class CustomCasePlugin extends kysely_1.CamelCasePlugin {
37
37
  }
38
38
  if (!alias.name.includes('_'))
39
39
  continue;
40
- throw new error_1.KyselyError(`Alias ${alias.name} contains underscore`);
40
+ throw new error_1.KyselyError('Alias contains underscore', { name: alias.name });
41
41
  }
42
42
  }
43
43
  mapRow(row) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"src/","sources":["camel-case/index.ts"],"names":[],"mappings":";;;AAAA,mCAMgB;AAChB,oCAAuC;AAEvC,MAAa,gBAAiB,SAAQ,wBAAe;IACnD,kDAAkD;IAClD;QACE,KAAK,CAAC;YACJ,wBAAwB,EAAE,IAAI;SAC/B,CAAC,CAAC;IACL,CAAC;IAED,eAAe,CAAC,IAAI;QAClB,OAAO,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,cAAc,CAAC,IAAI;QACjB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,OAAO,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,WAAW,CAAC,IAAqB;QAC/B,IAAI,CAAC,IAAI,EAAE,UAAU;YAAE,OAAO;QAE9B,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;YACtC,MAAM,SAAS,GAAG,CAAC,CAAC,SAAsB,CAAC;YAC3C,IAAI,CAAC,SAAS,CAAC,KAAK;gBAAE,SAAS;YAC/B,MAAM,KAAK,GAAG,SAAS,CAAC,KAAuB,CAAC;YAEhD,0CAA0C;YAC1C,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBACtC,MAAM,OAAO,GAAG,SAAS,CAAC,IAAe,CAAC;gBAC1C,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;oBACzC,IAAI,CAAC,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;wBACjC,MAAM,eAAe,GAAG,CAAoB,CAAC;wBAC7C,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;oBACpC,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,SAAS;YAExC,MAAM,IAAI,mBAAW,CAAC,SAAS,KAAK,CAAC,IAAI,sBAAsB,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAES,MAAM,CAAC,GAAG;QAClB,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,GAAG;YAAE,OAAO,GAAG,CAAC;QAEhD,MAAM,MAAM,GAAwB,EAAE,CAAC;QACvC,8GAA8G;QAC9G,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACnC,IAAI,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;YACrB,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACpC,iEAAiE;YACjE,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YAC7C,CAAC;YACD,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;QACzB,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AA1DD,4CA0DC","sourcesContent":["import {\n type AliasNode,\n CamelCasePlugin,\n type IdentifierNode,\n type RawNode,\n type SelectQueryNode,\n} from 'kysely';\nimport { KyselyError } from '../error';\n\nexport class CustomCasePlugin extends CamelCasePlugin {\n // _excludedColumns: Record<string, boolean> = {};\n constructor() {\n super({\n maintainNestedObjectKeys: true,\n });\n }\n\n transformResult(args) {\n return super.transformResult(args);\n }\n\n transformQuery(args) {\n this.verifyAlias(args.node);\n return super.transformQuery(args);\n }\n\n verifyAlias(node: SelectQueryNode) {\n if (!node?.selections) return;\n\n for (const x of node.selections ?? []) {\n const selection = x.selection as AliasNode;\n if (!selection.alias) continue;\n const alias = selection.alias as IdentifierNode;\n\n // alias can be a raw node (jsonArrayFrom)\n if (selection.node.kind === 'RawNode') {\n const rawNode = selection.node as RawNode;\n for (const x of rawNode.parameters ?? []) {\n if (x.kind === 'SelectQueryNode') {\n const selectQueryNode = x as SelectQueryNode;\n this.verifyAlias(selectQueryNode);\n }\n }\n }\n\n if (!alias.name.includes('_')) continue;\n\n throw new KyselyError(`Alias ${alias.name} contains underscore`);\n }\n }\n\n protected mapRow(row) {\n if (typeof row !== 'object' || !row) return row;\n\n const newRow: Record<string, any> = {};\n // we camel case on first layer, and nested ONLY if in an array (jsonArrayFrom), NOT if it's an object (jsonb)\n for (const key of Object.keys(row)) {\n let value = row[key];\n const newKey = super.camelCase(key);\n // array CAN be non object, so we need to check the first element\n if (Array.isArray(value)) {\n value = value.map((it) => this.mapRow(it));\n }\n newRow[newKey] = value;\n }\n return newRow;\n }\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"src/","sources":["camel-case/index.ts"],"names":[],"mappings":";;;AAAA,mCAMgB;AAChB,oCAAuC;AAEvC,MAAa,gBAAiB,SAAQ,wBAAe;IACnD,kDAAkD;IAClD;QACE,KAAK,CAAC;YACJ,wBAAwB,EAAE,IAAI;SAC/B,CAAC,CAAC;IACL,CAAC;IAED,eAAe,CAAC,IAAI;QAClB,OAAO,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,cAAc,CAAC,IAAI;QACjB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,OAAO,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,WAAW,CAAC,IAAqB;QAC/B,IAAI,CAAC,IAAI,EAAE,UAAU;YAAE,OAAO;QAE9B,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;YACtC,MAAM,SAAS,GAAG,CAAC,CAAC,SAAsB,CAAC;YAC3C,IAAI,CAAC,SAAS,CAAC,KAAK;gBAAE,SAAS;YAC/B,MAAM,KAAK,GAAG,SAAS,CAAC,KAAuB,CAAC;YAEhD,0CAA0C;YAC1C,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBACtC,MAAM,OAAO,GAAG,SAAS,CAAC,IAAe,CAAC;gBAC1C,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;oBACzC,IAAI,CAAC,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;wBACjC,MAAM,eAAe,GAAG,CAAoB,CAAC;wBAC7C,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;oBACpC,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,SAAS;YAExC,MAAM,IAAI,mBAAW,CAAC,2BAA2B,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAES,MAAM,CAAC,GAAG;QAClB,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,GAAG;YAAE,OAAO,GAAG,CAAC;QAEhD,MAAM,MAAM,GAAwB,EAAE,CAAC;QACvC,8GAA8G;QAC9G,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACnC,IAAI,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;YACrB,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACpC,iEAAiE;YACjE,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YAC7C,CAAC;YACD,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;QACzB,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AA1DD,4CA0DC","sourcesContent":["import {\n type AliasNode,\n CamelCasePlugin,\n type IdentifierNode,\n type RawNode,\n type SelectQueryNode,\n} from 'kysely';\nimport { KyselyError } from '../error';\n\nexport class CustomCasePlugin extends CamelCasePlugin {\n // _excludedColumns: Record<string, boolean> = {};\n constructor() {\n super({\n maintainNestedObjectKeys: true,\n });\n }\n\n transformResult(args) {\n return super.transformResult(args);\n }\n\n transformQuery(args) {\n this.verifyAlias(args.node);\n return super.transformQuery(args);\n }\n\n verifyAlias(node: SelectQueryNode) {\n if (!node?.selections) return;\n\n for (const x of node.selections ?? []) {\n const selection = x.selection as AliasNode;\n if (!selection.alias) continue;\n const alias = selection.alias as IdentifierNode;\n\n // alias can be a raw node (jsonArrayFrom)\n if (selection.node.kind === 'RawNode') {\n const rawNode = selection.node as RawNode;\n for (const x of rawNode.parameters ?? []) {\n if (x.kind === 'SelectQueryNode') {\n const selectQueryNode = x as SelectQueryNode;\n this.verifyAlias(selectQueryNode);\n }\n }\n }\n\n if (!alias.name.includes('_')) continue;\n\n throw new KyselyError('Alias contains underscore', { name: alias.name });\n }\n }\n\n protected mapRow(row) {\n if (typeof row !== 'object' || !row) return row;\n\n const newRow: Record<string, any> = {};\n // we camel case on first layer, and nested ONLY if in an array (jsonArrayFrom), NOT if it's an object (jsonb)\n for (const key of Object.keys(row)) {\n let value = row[key];\n const newKey = super.camelCase(key);\n // array CAN be non object, so we need to check the first element\n if (Array.isArray(value)) {\n value = value.map((it) => this.mapRow(it));\n }\n newRow[newKey] = value;\n }\n return newRow;\n }\n}\n"]}
@@ -1,4 +1,5 @@
1
- import type { ColumnType, Kysely as K } from 'kysely';
1
+ import { type ColumnType, type Kysely } from 'kysely';
2
+ import type { TenantDataRegion } from '../regional';
2
3
  export type Generated<T> = T extends ColumnType<infer S, infer I, infer U> ? ColumnType<S, I | undefined, U> : ColumnType<T, T | undefined, T>;
3
4
  export type Json = JsonValue;
4
5
  export type JsonArray = JsonValue[];
@@ -7,7 +8,13 @@ export type JsonObject = {
7
8
  };
8
9
  export type JsonPrimitive = boolean | number | string | null;
9
10
  export type JsonValue = JsonArray | JsonObject | JsonPrimitive;
11
+ export type Int8 = ColumnType<string, number | string | bigint, number | string | bigint>;
10
12
  export type Timestamp = ColumnType<Date | string, Date | string, Date | string>;
13
+ export type ControlPlaneOperationStatus = 'completed' | 'failed' | 'queued' | 'running';
14
+ export type ControlPlaneOperationType = 'ach-verification' | 'bank-rule-run' | 'calendar-block' | 'calendar-unblock' | 'connection-archive' | 'connection-connect' | 'connection-extract' | 'connection-sync' | 'csv-import' | 'csv-import-preview' | 'export' | 'flow-run' | 'historical-gl-import' | 'historical-statement-import' | 'listing-journal-refresh' | 'plaid-initial-sync' | 'pms-cutover' | 'pms-cutover-preview' | 'provider-payment' | 'provider-payment-recovery' | 'recurring-transaction-run' | 'reservation-journal-refresh' | 'team-delete' | 'team-demo-data' | 'team-duplicate' | 'team-initialize' | 'transaction-journal-refresh' | 'vri-statement-import' | 'vri-team-migration' | 'webhook-test';
15
+ export type ControlPlaneOperationResourceRole = 'result' | 'source' | 'target';
16
+ export type ControlPlaneOperationResourceType = 'bank-rule' | 'connection' | 'contact' | 'file' | 'flow' | 'listing' | 'recurring-fee' | 'recurring-transaction-template' | 'reservation' | 'statement' | 'team' | 'transaction' | 'webhook';
17
+ export type ControlPlaneOperationSourceType = 'destructive-job' | 'regional-operation';
11
18
  export interface ControlPlaneApp {
12
19
  authentication: Generated<Json>;
13
20
  category: string | null;
@@ -21,6 +28,56 @@ export interface ControlPlaneApp {
21
28
  type: string;
22
29
  version: Generated<number>;
23
30
  }
31
+ export interface ControlPlaneAccountingIntegrityEvaluation {
32
+ caseCount: Generated<Int8>;
33
+ completedAt: Timestamp | null;
34
+ completedRunCount: Generated<number>;
35
+ createdAt: Generated<Timestamp>;
36
+ environment: string;
37
+ error: Json | null;
38
+ expectedRunCount: number;
39
+ failedRunCount: Generated<number>;
40
+ findingRowCount: Generated<Int8>;
41
+ gitRevision: string;
42
+ id: string;
43
+ results: Generated<Json>;
44
+ rowsScanned: Generated<Int8>;
45
+ skippedRunCount: Generated<number>;
46
+ source: string;
47
+ startedAt: Timestamp;
48
+ status: string;
49
+ updatedAt: Generated<Timestamp>;
50
+ }
51
+ export interface ControlPlaneAccountingIntegrityDefinitionDraft {
52
+ artifact: Json;
53
+ artifactHash: string;
54
+ code: string;
55
+ createdAt: Generated<Timestamp>;
56
+ id: Generated<string>;
57
+ ownerId: string;
58
+ previewResult: Json | null;
59
+ rationale: string;
60
+ revision: Generated<number>;
61
+ status: string;
62
+ templateId: string;
63
+ templateVersion: number;
64
+ title: string;
65
+ updatedAt: Generated<Timestamp>;
66
+ validationResult: Json | null;
67
+ }
68
+ export interface ControlPlaneAccountingIntegrityDefinitionVersion {
69
+ artifact: Json;
70
+ artifactHash: string;
71
+ code: string;
72
+ draftId: string;
73
+ id: Generated<string>;
74
+ publishedAt: Generated<Timestamp>;
75
+ publishedBy: string;
76
+ rollout: string;
77
+ templateId: string;
78
+ templateVersion: number;
79
+ version: number;
80
+ }
24
81
  export interface ControlPlaneBookingChannel {
25
82
  channelRef: string | null;
26
83
  color: string | null;
@@ -36,9 +93,141 @@ export interface ControlPlaneBookingChannel {
36
93
  uniqueRef: string;
37
94
  updatedAt: Generated<Timestamp>;
38
95
  }
96
+ export interface ControlPlaneBookingChannelIconCandidate {
97
+ bookingChannelId: string;
98
+ cloudflareImageId: string | null;
99
+ color: string | null;
100
+ comment: string | null;
101
+ createdAt: Generated<Timestamp>;
102
+ externalIcon: string | null;
103
+ height: number | null;
104
+ id: Generated<string>;
105
+ provider: Generated<string>;
106
+ source: string | null;
107
+ updatedAt: Generated<Timestamp>;
108
+ width: number | null;
109
+ }
39
110
  export interface ControlPlaneCurrency {
40
111
  name: string;
41
112
  }
113
+ export type DestructiveJobStep = 'completed' | 'completion_effects' | 'control_plane_deleted' | 'control_plane_deleting' | 'queued' | 'regional_deleted' | 'regional_deleting' | 'validated';
114
+ export interface ControlPlaneDestructiveJob {
115
+ attempts: Generated<number>;
116
+ authorizedByTenantId: string;
117
+ availableAt: Generated<Timestamp>;
118
+ claimedAt: Timestamp | null;
119
+ claimedBy: string | null;
120
+ completedAt: Timestamp | null;
121
+ completionData: Json | null;
122
+ completionWarningCode: string | null;
123
+ completionWarningDetails: Json | null;
124
+ createdAt: Generated<Timestamp>;
125
+ dataRegion: TenantDataRegion;
126
+ failureCode: string | null;
127
+ failureDetails: Json | null;
128
+ force: Generated<boolean>;
129
+ id: Generated<string>;
130
+ jobType: 'tenant.delete';
131
+ maxAttempts: Generated<number>;
132
+ requestId: string | null;
133
+ requestedByActorType: 'api_key' | 'system' | 'user';
134
+ requestedByTenantId: string;
135
+ requestedByUserId: string | null;
136
+ startedAt: Timestamp | null;
137
+ status: Generated<'canceled' | 'completed' | 'failed' | 'queued' | 'running'>;
138
+ step: Generated<DestructiveJobStep>;
139
+ targetId: string;
140
+ triggerRunId: string | null;
141
+ updatedAt: Generated<Timestamp>;
142
+ }
143
+ export interface ControlPlaneDestructiveJobAttempt {
144
+ attemptNumber: number;
145
+ failureCode: string | null;
146
+ failureDetails: Json | null;
147
+ finishedAt: Timestamp | null;
148
+ id: Generated<string>;
149
+ jobId: string;
150
+ startedAt: Generated<Timestamp>;
151
+ status: Generated<'completed' | 'failed' | 'running' | 'superseded'>;
152
+ step: DestructiveJobStep;
153
+ triggerRunId: string | null;
154
+ }
155
+ export interface ControlPlaneDestructiveJobOperation {
156
+ action: 'abandon' | 'cancel' | 'retry';
157
+ actor: string;
158
+ createdAt: Generated<Timestamp>;
159
+ id: Generated<string>;
160
+ jobId: string;
161
+ previousStatus: string;
162
+ previousStep: string;
163
+ reasonCode: string;
164
+ }
165
+ export interface ControlPlaneOperation {
166
+ createdAt: Generated<Timestamp>;
167
+ failureCode: string | null;
168
+ failureMessage: string | null;
169
+ finishedAt: Timestamp | null;
170
+ id: Generated<string>;
171
+ initiatedByUserId: string | null;
172
+ requesterTenantId: string;
173
+ retainUntil: Timestamp | null;
174
+ sourceRegion: TenantDataRegion | null;
175
+ sourceVersion: Generated<number>;
176
+ startedAt: Timestamp | null;
177
+ status: Generated<ControlPlaneOperationStatus>;
178
+ type: ControlPlaneOperationType;
179
+ updatedAt: Generated<Timestamp>;
180
+ }
181
+ export interface ControlPlaneOperationResource {
182
+ createdAt: Generated<Timestamp>;
183
+ isPrimary: Generated<boolean>;
184
+ operationId: string;
185
+ resourceId: string;
186
+ resourceType: ControlPlaneOperationResourceType;
187
+ role: ControlPlaneOperationResourceRole;
188
+ }
189
+ export interface ControlPlaneOperationSource {
190
+ finishedAt: Timestamp | null;
191
+ operationId: string;
192
+ required: Generated<boolean>;
193
+ sourceId: string;
194
+ sourceType: ControlPlaneOperationSourceType;
195
+ sourceVersion: Generated<number>;
196
+ startedAt: Timestamp | null;
197
+ status: Generated<ControlPlaneOperationStatus>;
198
+ }
199
+ export interface ControlPlaneEvent {
200
+ createdAt: Generated<Timestamp>;
201
+ id: Generated<string>;
202
+ name: string;
203
+ packageName: string;
204
+ props: Json;
205
+ tenantId: string | null;
206
+ timestamp: Generated<Timestamp>;
207
+ trackedAt: Generated<Timestamp | null>;
208
+ userId: string | null;
209
+ }
210
+ export interface ControlPlaneTrackingQueueFailure {
211
+ bodyFingerprint: string | null;
212
+ capturedAt: Generated<Timestamp>;
213
+ dispositionAt: Timestamp | null;
214
+ dispositionHistory: Generated<Json[]>;
215
+ dispositionReasonCode: string | null;
216
+ dispositionActor: string | null;
217
+ environment: 'production' | 'staging';
218
+ event: Json | null;
219
+ eventId: string | null;
220
+ expiresAt: Timestamp;
221
+ failureCode: string;
222
+ id: Generated<string>;
223
+ lastReplayedAt: Timestamp | null;
224
+ queueMessageId: string;
225
+ replayCount: Generated<number>;
226
+ recurrenceCount: Generated<number>;
227
+ status: Generated<'captured' | 'discarded' | 'replayed'>;
228
+ updatedAt: Generated<Timestamp>;
229
+ validationIssues: Json | null;
230
+ }
42
231
  export interface ControlPlaneConnectionRoute {
43
232
  connectionId: string;
44
233
  createdAt: Generated<Timestamp>;
@@ -65,6 +254,108 @@ export interface ControlPlaneFeatureEnabledTeam {
65
254
  tenantId: string;
66
255
  updatedAt: Generated<Timestamp>;
67
256
  }
257
+ export interface ControlPlaneFeatureApproval {
258
+ createdAt: Generated<Timestamp>;
259
+ featureId: string;
260
+ id: Generated<string>;
261
+ status: Generated<string | null>;
262
+ updatedAt: Generated<Timestamp>;
263
+ userId: string;
264
+ }
265
+ export interface ControlPlaneFlow {
266
+ appId: string;
267
+ createdAt: Generated<Timestamp>;
268
+ description: string | null;
269
+ eventListening: Generated<Json>;
270
+ id: Generated<string>;
271
+ isPublic: Generated<boolean>;
272
+ leftType: string | null;
273
+ mappingSchema: Generated<Json>;
274
+ revision: Generated<number>;
275
+ rightType: string | null;
276
+ runSchema: Generated<Json>;
277
+ settingSchema: Generated<Json>;
278
+ title: string;
279
+ type: 'pull' | 'push' | null;
280
+ uniqueRef: string;
281
+ updatedAt: Generated<Timestamp>;
282
+ useGlobalMapping: Generated<boolean>;
283
+ }
284
+ export interface ControlPlaneIssueMessageOverwrite {
285
+ createdAt: Generated<Timestamp>;
286
+ id: Generated<string>;
287
+ message: string;
288
+ pattern: string;
289
+ updatedAt: Generated<Timestamp>;
290
+ }
291
+ export interface ControlPlaneLineClassification {
292
+ appConflict: Generated<boolean>;
293
+ appId: string | null;
294
+ createdAt: Generated<Timestamp>;
295
+ firstSeenAt: Timestamp;
296
+ id: Generated<string>;
297
+ kind: string;
298
+ lastSeenAt: Timestamp;
299
+ name: string;
300
+ updatedAt: Generated<Timestamp>;
301
+ }
302
+ export interface ControlPlaneLineClassificationTeamUsage {
303
+ classificationId: string;
304
+ createdAt: Generated<Timestamp>;
305
+ dataRegion: string;
306
+ firstSeenAt: Timestamp;
307
+ lastSeenAt: Timestamp;
308
+ mappingStatus: string | null;
309
+ revision: number;
310
+ tenantId: string;
311
+ updatedAt: Generated<Timestamp>;
312
+ }
313
+ export interface ControlPlaneReservationLineDefault {
314
+ accountKey: string | null;
315
+ bookingChannel: string | null;
316
+ bookingChannelKey: Generated<string>;
317
+ classificationId: string;
318
+ createdAt: Generated<Timestamp>;
319
+ id: Generated<string>;
320
+ partnerTenantId: string | null;
321
+ revenueRecognition: string | null;
322
+ revision: Generated<number>;
323
+ updatedAt: Generated<Timestamp>;
324
+ }
325
+ export interface ControlPlaneRolloutMonitorSnapshot {
326
+ monitorName: string;
327
+ result: Json;
328
+ snapshotDate: Timestamp;
329
+ }
330
+ export interface ControlPlaneTransactionLineMapping {
331
+ accountAssignmentType: string | null;
332
+ createdAt: Generated<Timestamp>;
333
+ deletedAt: Timestamp | null;
334
+ id: Generated<string>;
335
+ lineType: string;
336
+ revision: Generated<number>;
337
+ updatedAt: Generated<Timestamp>;
338
+ }
339
+ export interface ControlPlaneGeneralLedgerDefaultSet {
340
+ createdAt: Generated<Timestamp>;
341
+ id: Generated<string>;
342
+ partnerTenantId: string | null;
343
+ publishedVersion: number | null;
344
+ sourceDataRegion: string;
345
+ sourceDigest: string | null;
346
+ sourceTenantId: string;
347
+ templateKey: string;
348
+ updatedAt: Generated<Timestamp>;
349
+ }
350
+ export interface ControlPlaneGeneralLedgerDefaultVersion {
351
+ dataJson: Json;
352
+ defaultSetId: string;
353
+ id: Generated<string>;
354
+ publishedAt: Generated<Timestamp>;
355
+ sourceDigest: string;
356
+ sourceTenantId: string;
357
+ version: number;
358
+ }
68
359
  export interface ControlPlaneOutbox {
69
360
  aggregateId: string;
70
361
  aggregateType: string;
@@ -78,23 +369,50 @@ export interface ControlPlaneOutbox {
78
369
  payload: Generated<Json>;
79
370
  publishedAt: Timestamp | null;
80
371
  }
372
+ export interface ControlPlanePartnerManagedTeamAssignment {
373
+ createdAt: Generated<Timestamp>;
374
+ managedTeamId: string;
375
+ partnerTenantId: string;
376
+ userId: string;
377
+ }
81
378
  export interface ControlPlaneTenant {
379
+ billingPartnerId: string | null;
82
380
  billingPlan: string | null;
83
381
  createdAt: Generated<Timestamp>;
84
382
  dataRegion: Generated<string>;
85
383
  id: Generated<string>;
384
+ migrationStatus: Generated<string>;
86
385
  name: string;
87
386
  partnerId: string | null;
387
+ partnerDeniedPermissions: Generated<string[]>;
88
388
  slug: string;
89
389
  status: Generated<string | null>;
90
390
  storageRealm: Generated<string>;
91
391
  type: Generated<string | null>;
392
+ uniqueRef: string | null;
92
393
  updatedAt: Generated<Timestamp | null>;
93
394
  }
395
+ export interface ControlPlaneTenantRegionMigration {
396
+ actor: string;
397
+ completedAt: Timestamp | null;
398
+ error: Json | null;
399
+ id: string;
400
+ reason: string;
401
+ sourceManifest: Json | null;
402
+ sourceRegion: string;
403
+ startedAt: Generated<Timestamp>;
404
+ status: Generated<string>;
405
+ targetManifest: Json | null;
406
+ targetRegion: string;
407
+ tenantId: string;
408
+ updatedAt: Generated<Timestamp>;
409
+ }
94
410
  export interface ControlPlaneTenantUser {
95
411
  createdAt: Generated<Timestamp | null>;
96
412
  id: Generated<string>;
97
413
  lastInvitedAt: Timestamp | null;
414
+ managedTeamAccess: Generated<'all' | 'assigned'>;
415
+ permissionBundles: Generated<string[]>;
98
416
  role: Generated<string | null>;
99
417
  status: Generated<string | null>;
100
418
  tenantId: string;
@@ -117,26 +435,54 @@ export interface ControlPlaneUser {
117
435
  email: string | null;
118
436
  firstName: string | null;
119
437
  id: Generated<string>;
438
+ internalOperationGrants: Generated<string[]>;
120
439
  isAdmin: Generated<boolean>;
121
440
  lastName: string | null;
441
+ lastSeen: Timestamp | null;
122
442
  name: string | null;
123
443
  partnerId: string | null;
444
+ phone: string | null;
445
+ secondaryEmails: Generated<Json>;
124
446
  status: Generated<string | null>;
125
447
  sub: string | null;
126
448
  type: Generated<string | null>;
127
449
  updatedAt: Generated<Timestamp | null>;
128
450
  }
129
451
  export interface ControlPlaneDB {
130
- 'public.app': ControlPlaneApp;
131
- 'public.bookingChannel': ControlPlaneBookingChannel;
132
- 'public.connectionRoute': ControlPlaneConnectionRoute;
133
- 'public.currency': ControlPlaneCurrency;
134
- 'public.feature': ControlPlaneFeature;
135
- 'public.featureEnabledTeam': ControlPlaneFeatureEnabledTeam;
136
- 'public.controlPlaneOutbox': ControlPlaneOutbox;
137
- 'public.tenant': ControlPlaneTenant;
138
- 'public.tenantUser': ControlPlaneTenantUser;
139
- 'public.token': ControlPlaneToken;
140
- 'public.user': ControlPlaneUser;
141
- }
142
- export type ControlPlaneKysely = K<ControlPlaneDB>;
452
+ 'controlPlane.accountingIntegrityDefinitionDraft': ControlPlaneAccountingIntegrityDefinitionDraft;
453
+ 'controlPlane.accountingIntegrityDefinitionVersion': ControlPlaneAccountingIntegrityDefinitionVersion;
454
+ 'controlPlane.accountingIntegrityEvaluation': ControlPlaneAccountingIntegrityEvaluation;
455
+ 'controlPlane.app': ControlPlaneApp;
456
+ 'controlPlane.bookingChannel': ControlPlaneBookingChannel;
457
+ 'controlPlane.bookingChannelIconCandidate': ControlPlaneBookingChannelIconCandidate;
458
+ 'controlPlane.connectionRoute': ControlPlaneConnectionRoute;
459
+ 'controlPlane.controlPlaneOutbox': ControlPlaneOutbox;
460
+ 'controlPlane.currency': ControlPlaneCurrency;
461
+ 'controlPlane.destructiveJob': ControlPlaneDestructiveJob;
462
+ 'controlPlane.destructiveJobAttempt': ControlPlaneDestructiveJobAttempt;
463
+ 'controlPlane.destructiveJobOperation': ControlPlaneDestructiveJobOperation;
464
+ 'controlPlane.events': ControlPlaneEvent;
465
+ 'controlPlane.feature': ControlPlaneFeature;
466
+ 'controlPlane.featureApproval': ControlPlaneFeatureApproval;
467
+ 'controlPlane.featureEnabledTeam': ControlPlaneFeatureEnabledTeam;
468
+ 'controlPlane.generalLedgerDefaultSet': ControlPlaneGeneralLedgerDefaultSet;
469
+ 'controlPlane.generalLedgerDefaultVersion': ControlPlaneGeneralLedgerDefaultVersion;
470
+ 'controlPlane.lineClassification': ControlPlaneLineClassification;
471
+ 'controlPlane.lineClassificationTeamUsage': ControlPlaneLineClassificationTeamUsage;
472
+ 'controlPlane.operation': ControlPlaneOperation;
473
+ 'controlPlane.operationResource': ControlPlaneOperationResource;
474
+ 'controlPlane.operationSource': ControlPlaneOperationSource;
475
+ 'controlPlane.partnerManagedTeamAssignment': ControlPlanePartnerManagedTeamAssignment;
476
+ 'controlPlane.reservationLineDefault': ControlPlaneReservationLineDefault;
477
+ 'controlPlane.rolloutMonitorSnapshot': ControlPlaneRolloutMonitorSnapshot;
478
+ 'controlPlane.tenant': ControlPlaneTenant;
479
+ 'controlPlane.tenantRegionMigration': ControlPlaneTenantRegionMigration;
480
+ 'controlPlane.tenantUser': ControlPlaneTenantUser;
481
+ 'controlPlane.trackingQueueFailure': ControlPlaneTrackingQueueFailure;
482
+ 'controlPlane.token': ControlPlaneToken;
483
+ 'controlPlane.transactionLineMapping': ControlPlaneTransactionLineMapping;
484
+ 'controlPlane.user': ControlPlaneUser;
485
+ 'controlPlaneCore.flow': ControlPlaneFlow;
486
+ 'controlPlaneCore.issueMessageOverwrite': ControlPlaneIssueMessageOverwrite;
487
+ }
488
+ export declare function withControlPlaneSchema(kysely: Kysely<ControlPlaneDB>, schema: string, issueMessageOverwriteSchema?: string): Kysely<ControlPlaneDB>;
@@ -1,3 +1,64 @@
1
1
  "use strict";
2
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
3
+ if (kind === "m") throw new TypeError("Private method is not writable");
4
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
5
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
6
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
7
+ };
8
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
9
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
10
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
11
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
+ };
13
+ var _ControlPlaneSchemaPlugin_transformer;
2
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.withControlPlaneSchema = withControlPlaneSchema;
16
+ const kysely_1 = require("kysely");
17
+ class ControlPlaneSchemaTransformer extends kysely_1.OperationNodeTransformer {
18
+ constructor(schema, issueMessageOverwriteSchema) {
19
+ super();
20
+ this.schema = schema;
21
+ this.issueMessageOverwriteSchema = issueMessageOverwriteSchema;
22
+ }
23
+ transformSchemableIdentifier(node, queryId) {
24
+ const transformed = super.transformSchemableIdentifier(node, queryId);
25
+ if (transformed.schema?.name === 'controlPlane' ||
26
+ transformed.schema?.name === 'control_plane') {
27
+ return { ...transformed, schema: kysely_1.IdentifierNode.create(this.schema) };
28
+ }
29
+ if (transformed.schema?.name === 'controlPlaneCore' ||
30
+ transformed.schema?.name === 'control_plane_core') {
31
+ return {
32
+ ...transformed,
33
+ schema: kysely_1.IdentifierNode.create(this.issueMessageOverwriteSchema),
34
+ };
35
+ }
36
+ return transformed;
37
+ }
38
+ transformFunction(node, queryId) {
39
+ const transformed = super.transformFunction(node, queryId);
40
+ return node.func.startsWith('controlPlane.')
41
+ ? {
42
+ ...transformed,
43
+ func: `${this.schema}.${transformed.func.slice('controlPlane.'.length)}`,
44
+ }
45
+ : transformed;
46
+ }
47
+ }
48
+ class ControlPlaneSchemaPlugin {
49
+ constructor(schema, issueMessageOverwriteSchema) {
50
+ _ControlPlaneSchemaPlugin_transformer.set(this, void 0);
51
+ __classPrivateFieldSet(this, _ControlPlaneSchemaPlugin_transformer, new ControlPlaneSchemaTransformer(schema, issueMessageOverwriteSchema), "f");
52
+ }
53
+ transformQuery(args) {
54
+ return __classPrivateFieldGet(this, _ControlPlaneSchemaPlugin_transformer, "f").transformNode(args.node, args.queryId);
55
+ }
56
+ async transformResult(args) {
57
+ return args.result;
58
+ }
59
+ }
60
+ _ControlPlaneSchemaPlugin_transformer = new WeakMap();
61
+ function withControlPlaneSchema(kysely, schema, issueMessageOverwriteSchema = 'core') {
62
+ return kysely.withPlugin(new ControlPlaneSchemaPlugin(schema, issueMessageOverwriteSchema));
63
+ }
3
64
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"src/","sources":["control-plane/index.ts"],"names":[],"mappings":"","sourcesContent":["import type { ColumnType, Kysely as K } from 'kysely';\n\nexport type Generated<T> =\n T extends ColumnType<infer S, infer I, infer U>\n ? ColumnType<S, I | undefined, U>\n : ColumnType<T, T | undefined, T>;\n\nexport type Json = JsonValue;\n\nexport type JsonArray = JsonValue[];\n\nexport type JsonObject = {\n [x: string]: JsonValue | undefined;\n};\n\nexport type JsonPrimitive = boolean | number | string | null;\n\nexport type JsonValue = JsonArray | JsonObject | JsonPrimitive;\n\nexport type Timestamp = ColumnType<Date | string, Date | string, Date | string>;\n\nexport interface ControlPlaneApp {\n authentication: Generated<Json>;\n category: string | null;\n color: string | null;\n createdAt: Generated<Timestamp>;\n icon: string | null;\n iconRound: string | null;\n id: Generated<string>;\n info: Json | null;\n name: string;\n type: string;\n version: Generated<number>;\n}\n\nexport interface ControlPlaneBookingChannel {\n channelRef: string | null;\n color: string | null;\n createdAt: Generated<Timestamp>;\n icon: string | null;\n iconProvider: string | null;\n id: Generated<string>;\n lastGenerateRun: Timestamp | null;\n logo: string | null;\n logoProvider: string | null;\n selectedBookingChannelIconCandidateId: string | null;\n selectedBookingChannelLogoCandidateId: string | null;\n uniqueRef: string;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface ControlPlaneCurrency {\n name: string;\n}\n\nexport interface ControlPlaneConnectionRoute {\n connectionId: string;\n createdAt: Generated<Timestamp>;\n tenantId: string;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface ControlPlaneFeature {\n createdAt: Generated<Timestamp>;\n description: string | null;\n id: Generated<string>;\n issueUrl: string | null;\n requiredApprovals: Generated<Json | null>;\n status: Generated<string | null>;\n tenantId: string | null;\n title: string;\n updatedAt: Generated<Timestamp>;\n url: string | null;\n}\n\nexport interface ControlPlaneFeatureEnabledTeam {\n createdAt: Generated<Timestamp>;\n featureId: string;\n id: Generated<string>;\n status: Generated<string | null>;\n tenantId: string;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface ControlPlaneOutbox {\n aggregateId: string;\n aggregateType: string;\n attempts: Generated<number>;\n createdAt: Generated<Timestamp>;\n dataRegion: string | null;\n eventType: string;\n eventVersion: number;\n id: Generated<string>;\n lastError: string | null;\n payload: Generated<Json>;\n publishedAt: Timestamp | null;\n}\n\nexport interface ControlPlaneTenant {\n billingPlan: string | null;\n createdAt: Generated<Timestamp>;\n dataRegion: Generated<string>;\n id: Generated<string>;\n name: string;\n partnerId: string | null;\n slug: string;\n status: Generated<string | null>;\n storageRealm: Generated<string>;\n type: Generated<string | null>;\n updatedAt: Generated<Timestamp | null>;\n}\n\nexport interface ControlPlaneTenantUser {\n createdAt: Generated<Timestamp | null>;\n id: Generated<string>;\n lastInvitedAt: Timestamp | null;\n role: Generated<string | null>;\n status: Generated<string | null>;\n tenantId: string;\n updatedAt: Generated<Timestamp | null>;\n userId: string;\n}\n\nexport interface ControlPlaneToken {\n createdAt: Generated<Timestamp>;\n expiresAt: Timestamp | null;\n id: Generated<string>;\n nanoId: Generated<string>;\n payload: Generated<Json>;\n tenantId: string | null;\n type: string | null;\n userId: string | null;\n}\n\nexport interface ControlPlaneUser {\n clerkId: string | null;\n createdAt: Generated<Timestamp | null>;\n email: string | null;\n firstName: string | null;\n id: Generated<string>;\n isAdmin: Generated<boolean>;\n lastName: string | null;\n name: string | null;\n partnerId: string | null;\n status: Generated<string | null>;\n sub: string | null;\n type: Generated<string | null>;\n updatedAt: Generated<Timestamp | null>;\n}\n\nexport interface ControlPlaneDB {\n 'public.app': ControlPlaneApp;\n 'public.bookingChannel': ControlPlaneBookingChannel;\n 'public.connectionRoute': ControlPlaneConnectionRoute;\n 'public.currency': ControlPlaneCurrency;\n 'public.feature': ControlPlaneFeature;\n 'public.featureEnabledTeam': ControlPlaneFeatureEnabledTeam;\n 'public.controlPlaneOutbox': ControlPlaneOutbox;\n 'public.tenant': ControlPlaneTenant;\n 'public.tenantUser': ControlPlaneTenantUser;\n 'public.token': ControlPlaneToken;\n 'public.user': ControlPlaneUser;\n}\n\nexport type ControlPlaneKysely = K<ControlPlaneDB>;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"src/","sources":["control-plane/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AA0qBA,wDAQC;AAlrBD,mCAcgB;AA0lBhB,MAAM,6BAA8B,SAAQ,iCAAwB;IAClE,YACW,MAAc,EACd,2BAAmC;QAE5C,KAAK,EAAE,CAAC;QAHC,WAAM,GAAN,MAAM,CAAQ;QACd,gCAA2B,GAA3B,2BAA2B,CAAQ;IAG9C,CAAC;IAEkB,4BAA4B,CAC7C,IAA6B,EAC7B,OAAgB;QAEhB,MAAM,WAAW,GAAG,KAAK,CAAC,4BAA4B,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACtE,IACE,WAAW,CAAC,MAAM,EAAE,IAAI,KAAK,cAAc;YAC3C,WAAW,CAAC,MAAM,EAAE,IAAI,KAAK,eAAe,EAC5C,CAAC;YACD,OAAO,EAAE,GAAG,WAAW,EAAE,MAAM,EAAE,uBAAc,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACxE,CAAC;QACD,IACE,WAAW,CAAC,MAAM,EAAE,IAAI,KAAK,kBAAkB;YAC/C,WAAW,CAAC,MAAM,EAAE,IAAI,KAAK,oBAAoB,EACjD,CAAC;YACD,OAAO;gBACL,GAAG,WAAW;gBACd,MAAM,EAAE,uBAAc,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC;aAChE,CAAC;QACJ,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IAEkB,iBAAiB,CAClC,IAAkB,EAClB,OAAgB;QAEhB,MAAM,WAAW,GAAG,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC;YAC1C,CAAC,CAAC;gBACE,GAAG,WAAW;gBACd,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE;aACzE;YACH,CAAC,CAAC,WAAW,CAAC;IAClB,CAAC;CACF;AAED,MAAM,wBAAwB;IAG5B,YAAY,MAAc,EAAE,2BAAmC;QAFtD,wDAA4C;QAGnD,uBAAA,IAAI,yCAAgB,IAAI,6BAA6B,CACnD,MAAM,EACN,2BAA2B,CAC5B,MAAA,CAAC;IACJ,CAAC;IAED,cAAc,CAAC,IAA8B;QAC3C,OAAO,uBAAA,IAAI,6CAAa,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,IAA+B;QAE/B,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;CACF;;AAED,SAAgB,sBAAsB,CACpC,MAA8B,EAC9B,MAAc,EACd,2BAA2B,GAAG,MAAM;IAEpC,OAAO,MAAM,CAAC,UAAU,CACtB,IAAI,wBAAwB,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAClE,CAAC;AACJ,CAAC","sourcesContent":["import {\n type ColumnType,\n type FunctionNode,\n IdentifierNode,\n type Kysely,\n type KyselyPlugin,\n OperationNodeTransformer,\n type PluginTransformQueryArgs,\n type PluginTransformResultArgs,\n type QueryId,\n type QueryResult,\n type RootOperationNode,\n type SchemableIdentifierNode,\n type UnknownRow,\n} from 'kysely';\nimport type { TenantDataRegion } from '../regional';\n\nexport type Generated<T> =\n T extends ColumnType<infer S, infer I, infer U>\n ? ColumnType<S, I | undefined, U>\n : ColumnType<T, T | undefined, T>;\n\nexport type Json = JsonValue;\n\nexport type JsonArray = JsonValue[];\n\nexport type JsonObject = {\n [x: string]: JsonValue | undefined;\n};\n\nexport type JsonPrimitive = boolean | number | string | null;\n\nexport type JsonValue = JsonArray | JsonObject | JsonPrimitive;\n\nexport type Int8 = ColumnType<\n string,\n number | string | bigint,\n number | string | bigint\n>;\n\nexport type Timestamp = ColumnType<Date | string, Date | string, Date | string>;\n\nexport type ControlPlaneOperationStatus =\n | 'completed'\n | 'failed'\n | 'queued'\n | 'running';\n\nexport type ControlPlaneOperationType =\n | 'ach-verification'\n | 'bank-rule-run'\n | 'calendar-block'\n | 'calendar-unblock'\n | 'connection-archive'\n | 'connection-connect'\n | 'connection-extract'\n | 'connection-sync'\n | 'csv-import'\n | 'csv-import-preview'\n | 'export'\n | 'flow-run'\n | 'historical-gl-import'\n | 'historical-statement-import'\n | 'listing-journal-refresh'\n | 'plaid-initial-sync'\n | 'pms-cutover'\n | 'pms-cutover-preview'\n | 'provider-payment'\n | 'provider-payment-recovery'\n | 'recurring-transaction-run'\n | 'reservation-journal-refresh'\n | 'team-delete'\n | 'team-demo-data'\n | 'team-duplicate'\n | 'team-initialize'\n | 'transaction-journal-refresh'\n | 'vri-statement-import'\n | 'vri-team-migration'\n | 'webhook-test';\n\nexport type ControlPlaneOperationResourceRole = 'result' | 'source' | 'target';\n\nexport type ControlPlaneOperationResourceType =\n | 'bank-rule'\n | 'connection'\n | 'contact'\n | 'file'\n | 'flow'\n | 'listing'\n | 'recurring-fee'\n | 'recurring-transaction-template'\n | 'reservation'\n | 'statement'\n | 'team'\n | 'transaction'\n | 'webhook';\n\nexport type ControlPlaneOperationSourceType =\n | 'destructive-job'\n | 'regional-operation';\n\nexport interface ControlPlaneApp {\n authentication: Generated<Json>;\n category: string | null;\n color: string | null;\n createdAt: Generated<Timestamp>;\n icon: string | null;\n iconRound: string | null;\n id: Generated<string>;\n info: Json | null;\n name: string;\n type: string;\n version: Generated<number>;\n}\n\nexport interface ControlPlaneAccountingIntegrityEvaluation {\n caseCount: Generated<Int8>;\n completedAt: Timestamp | null;\n completedRunCount: Generated<number>;\n createdAt: Generated<Timestamp>;\n environment: string;\n error: Json | null;\n expectedRunCount: number;\n failedRunCount: Generated<number>;\n findingRowCount: Generated<Int8>;\n gitRevision: string;\n id: string;\n results: Generated<Json>;\n rowsScanned: Generated<Int8>;\n skippedRunCount: Generated<number>;\n source: string;\n startedAt: Timestamp;\n status: string;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface ControlPlaneAccountingIntegrityDefinitionDraft {\n artifact: Json;\n artifactHash: string;\n code: string;\n createdAt: Generated<Timestamp>;\n id: Generated<string>;\n ownerId: string;\n previewResult: Json | null;\n rationale: string;\n revision: Generated<number>;\n status: string;\n templateId: string;\n templateVersion: number;\n title: string;\n updatedAt: Generated<Timestamp>;\n validationResult: Json | null;\n}\n\nexport interface ControlPlaneAccountingIntegrityDefinitionVersion {\n artifact: Json;\n artifactHash: string;\n code: string;\n draftId: string;\n id: Generated<string>;\n publishedAt: Generated<Timestamp>;\n publishedBy: string;\n rollout: string;\n templateId: string;\n templateVersion: number;\n version: number;\n}\n\nexport interface ControlPlaneBookingChannel {\n channelRef: string | null;\n color: string | null;\n createdAt: Generated<Timestamp>;\n icon: string | null;\n iconProvider: string | null;\n id: Generated<string>;\n lastGenerateRun: Timestamp | null;\n logo: string | null;\n logoProvider: string | null;\n selectedBookingChannelIconCandidateId: string | null;\n selectedBookingChannelLogoCandidateId: string | null;\n uniqueRef: string;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface ControlPlaneBookingChannelIconCandidate {\n bookingChannelId: string;\n cloudflareImageId: string | null;\n color: string | null;\n comment: string | null;\n createdAt: Generated<Timestamp>;\n externalIcon: string | null;\n height: number | null;\n id: Generated<string>;\n provider: Generated<string>;\n source: string | null;\n updatedAt: Generated<Timestamp>;\n width: number | null;\n}\n\nexport interface ControlPlaneCurrency {\n name: string;\n}\n\nexport type DestructiveJobStep =\n | 'completed'\n | 'completion_effects'\n | 'control_plane_deleted'\n | 'control_plane_deleting'\n | 'queued'\n | 'regional_deleted'\n | 'regional_deleting'\n | 'validated';\n\nexport interface ControlPlaneDestructiveJob {\n attempts: Generated<number>;\n authorizedByTenantId: string;\n availableAt: Generated<Timestamp>;\n claimedAt: Timestamp | null;\n claimedBy: string | null;\n completedAt: Timestamp | null;\n completionData: Json | null;\n completionWarningCode: string | null;\n completionWarningDetails: Json | null;\n createdAt: Generated<Timestamp>;\n dataRegion: TenantDataRegion;\n failureCode: string | null;\n failureDetails: Json | null;\n force: Generated<boolean>;\n id: Generated<string>;\n jobType: 'tenant.delete';\n maxAttempts: Generated<number>;\n requestId: string | null;\n requestedByActorType: 'api_key' | 'system' | 'user';\n requestedByTenantId: string;\n requestedByUserId: string | null;\n startedAt: Timestamp | null;\n status: Generated<'canceled' | 'completed' | 'failed' | 'queued' | 'running'>;\n step: Generated<DestructiveJobStep>;\n targetId: string;\n triggerRunId: string | null;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface ControlPlaneDestructiveJobAttempt {\n attemptNumber: number;\n failureCode: string | null;\n failureDetails: Json | null;\n finishedAt: Timestamp | null;\n id: Generated<string>;\n jobId: string;\n startedAt: Generated<Timestamp>;\n status: Generated<'completed' | 'failed' | 'running' | 'superseded'>;\n step: DestructiveJobStep;\n triggerRunId: string | null;\n}\n\nexport interface ControlPlaneDestructiveJobOperation {\n action: 'abandon' | 'cancel' | 'retry';\n actor: string;\n createdAt: Generated<Timestamp>;\n id: Generated<string>;\n jobId: string;\n previousStatus: string;\n previousStep: string;\n reasonCode: string;\n}\n\nexport interface ControlPlaneOperation {\n createdAt: Generated<Timestamp>;\n failureCode: string | null;\n failureMessage: string | null;\n finishedAt: Timestamp | null;\n id: Generated<string>;\n initiatedByUserId: string | null;\n requesterTenantId: string;\n retainUntil: Timestamp | null;\n sourceRegion: TenantDataRegion | null;\n sourceVersion: Generated<number>;\n startedAt: Timestamp | null;\n status: Generated<ControlPlaneOperationStatus>;\n type: ControlPlaneOperationType;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface ControlPlaneOperationResource {\n createdAt: Generated<Timestamp>;\n isPrimary: Generated<boolean>;\n operationId: string;\n resourceId: string;\n resourceType: ControlPlaneOperationResourceType;\n role: ControlPlaneOperationResourceRole;\n}\n\nexport interface ControlPlaneOperationSource {\n finishedAt: Timestamp | null;\n operationId: string;\n required: Generated<boolean>;\n sourceId: string;\n sourceType: ControlPlaneOperationSourceType;\n sourceVersion: Generated<number>;\n startedAt: Timestamp | null;\n status: Generated<ControlPlaneOperationStatus>;\n}\n\nexport interface ControlPlaneEvent {\n createdAt: Generated<Timestamp>;\n id: Generated<string>;\n name: string;\n packageName: string;\n props: Json;\n tenantId: string | null;\n timestamp: Generated<Timestamp>;\n trackedAt: Generated<Timestamp | null>;\n userId: string | null;\n}\n\nexport interface ControlPlaneTrackingQueueFailure {\n bodyFingerprint: string | null;\n capturedAt: Generated<Timestamp>;\n dispositionAt: Timestamp | null;\n dispositionHistory: Generated<Json[]>;\n dispositionReasonCode: string | null;\n dispositionActor: string | null;\n environment: 'production' | 'staging';\n event: Json | null;\n eventId: string | null;\n expiresAt: Timestamp;\n failureCode: string;\n id: Generated<string>;\n lastReplayedAt: Timestamp | null;\n queueMessageId: string;\n replayCount: Generated<number>;\n recurrenceCount: Generated<number>;\n status: Generated<'captured' | 'discarded' | 'replayed'>;\n updatedAt: Generated<Timestamp>;\n validationIssues: Json | null;\n}\n\nexport interface ControlPlaneConnectionRoute {\n connectionId: string;\n createdAt: Generated<Timestamp>;\n tenantId: string;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface ControlPlaneFeature {\n createdAt: Generated<Timestamp>;\n description: string | null;\n id: Generated<string>;\n issueUrl: string | null;\n requiredApprovals: Generated<Json | null>;\n status: Generated<string | null>;\n tenantId: string | null;\n title: string;\n updatedAt: Generated<Timestamp>;\n url: string | null;\n}\n\nexport interface ControlPlaneFeatureEnabledTeam {\n createdAt: Generated<Timestamp>;\n featureId: string;\n id: Generated<string>;\n status: Generated<string | null>;\n tenantId: string;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface ControlPlaneFeatureApproval {\n createdAt: Generated<Timestamp>;\n featureId: string;\n id: Generated<string>;\n status: Generated<string | null>;\n updatedAt: Generated<Timestamp>;\n userId: string;\n}\n\nexport interface ControlPlaneFlow {\n appId: string;\n createdAt: Generated<Timestamp>;\n description: string | null;\n eventListening: Generated<Json>;\n id: Generated<string>;\n isPublic: Generated<boolean>;\n leftType: string | null;\n mappingSchema: Generated<Json>;\n revision: Generated<number>;\n rightType: string | null;\n runSchema: Generated<Json>;\n settingSchema: Generated<Json>;\n title: string;\n type: 'pull' | 'push' | null;\n uniqueRef: string;\n updatedAt: Generated<Timestamp>;\n useGlobalMapping: Generated<boolean>;\n}\n\nexport interface ControlPlaneIssueMessageOverwrite {\n createdAt: Generated<Timestamp>;\n id: Generated<string>;\n message: string;\n pattern: string;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface ControlPlaneLineClassification {\n appConflict: Generated<boolean>;\n appId: string | null;\n createdAt: Generated<Timestamp>;\n firstSeenAt: Timestamp;\n id: Generated<string>;\n kind: string;\n lastSeenAt: Timestamp;\n name: string;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface ControlPlaneLineClassificationTeamUsage {\n classificationId: string;\n createdAt: Generated<Timestamp>;\n dataRegion: string;\n firstSeenAt: Timestamp;\n lastSeenAt: Timestamp;\n mappingStatus: string | null;\n revision: number;\n tenantId: string;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface ControlPlaneReservationLineDefault {\n accountKey: string | null;\n bookingChannel: string | null;\n bookingChannelKey: Generated<string>;\n classificationId: string;\n createdAt: Generated<Timestamp>;\n id: Generated<string>;\n partnerTenantId: string | null;\n revenueRecognition: string | null;\n revision: Generated<number>;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface ControlPlaneRolloutMonitorSnapshot {\n monitorName: string;\n result: Json;\n snapshotDate: Timestamp;\n}\n\nexport interface ControlPlaneTransactionLineMapping {\n accountAssignmentType: string | null;\n createdAt: Generated<Timestamp>;\n deletedAt: Timestamp | null;\n id: Generated<string>;\n lineType: string;\n revision: Generated<number>;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface ControlPlaneGeneralLedgerDefaultSet {\n createdAt: Generated<Timestamp>;\n id: Generated<string>;\n partnerTenantId: string | null;\n publishedVersion: number | null;\n sourceDataRegion: string;\n sourceDigest: string | null;\n sourceTenantId: string;\n templateKey: string;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface ControlPlaneGeneralLedgerDefaultVersion {\n dataJson: Json;\n defaultSetId: string;\n id: Generated<string>;\n publishedAt: Generated<Timestamp>;\n sourceDigest: string;\n sourceTenantId: string;\n version: number;\n}\n\nexport interface ControlPlaneOutbox {\n aggregateId: string;\n aggregateType: string;\n attempts: Generated<number>;\n createdAt: Generated<Timestamp>;\n dataRegion: string | null;\n eventType: string;\n eventVersion: number;\n id: Generated<string>;\n lastError: string | null;\n payload: Generated<Json>;\n publishedAt: Timestamp | null;\n}\n\nexport interface ControlPlanePartnerManagedTeamAssignment {\n createdAt: Generated<Timestamp>;\n managedTeamId: string;\n partnerTenantId: string;\n userId: string;\n}\n\nexport interface ControlPlaneTenant {\n billingPartnerId: string | null;\n billingPlan: string | null;\n createdAt: Generated<Timestamp>;\n dataRegion: Generated<string>;\n id: Generated<string>;\n migrationStatus: Generated<string>;\n name: string;\n partnerId: string | null;\n partnerDeniedPermissions: Generated<string[]>;\n slug: string;\n status: Generated<string | null>;\n storageRealm: Generated<string>;\n type: Generated<string | null>;\n uniqueRef: string | null;\n updatedAt: Generated<Timestamp | null>;\n}\n\nexport interface ControlPlaneTenantRegionMigration {\n actor: string;\n completedAt: Timestamp | null;\n error: Json | null;\n id: string;\n reason: string;\n sourceManifest: Json | null;\n sourceRegion: string;\n startedAt: Generated<Timestamp>;\n status: Generated<string>;\n targetManifest: Json | null;\n targetRegion: string;\n tenantId: string;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface ControlPlaneTenantUser {\n createdAt: Generated<Timestamp | null>;\n id: Generated<string>;\n lastInvitedAt: Timestamp | null;\n managedTeamAccess: Generated<'all' | 'assigned'>;\n permissionBundles: Generated<string[]>;\n role: Generated<string | null>;\n status: Generated<string | null>;\n tenantId: string;\n updatedAt: Generated<Timestamp | null>;\n userId: string;\n}\n\nexport interface ControlPlaneToken {\n createdAt: Generated<Timestamp>;\n expiresAt: Timestamp | null;\n id: Generated<string>;\n nanoId: Generated<string>;\n payload: Generated<Json>;\n tenantId: string | null;\n type: string | null;\n userId: string | null;\n}\n\nexport interface ControlPlaneUser {\n clerkId: string | null;\n createdAt: Generated<Timestamp | null>;\n email: string | null;\n firstName: string | null;\n id: Generated<string>;\n internalOperationGrants: Generated<string[]>;\n isAdmin: Generated<boolean>;\n lastName: string | null;\n lastSeen: Timestamp | null;\n name: string | null;\n partnerId: string | null;\n phone: string | null;\n secondaryEmails: Generated<Json>;\n status: Generated<string | null>;\n sub: string | null;\n type: Generated<string | null>;\n updatedAt: Generated<Timestamp | null>;\n}\n\nexport interface ControlPlaneDB {\n 'controlPlane.accountingIntegrityDefinitionDraft': ControlPlaneAccountingIntegrityDefinitionDraft;\n 'controlPlane.accountingIntegrityDefinitionVersion': ControlPlaneAccountingIntegrityDefinitionVersion;\n 'controlPlane.accountingIntegrityEvaluation': ControlPlaneAccountingIntegrityEvaluation;\n 'controlPlane.app': ControlPlaneApp;\n 'controlPlane.bookingChannel': ControlPlaneBookingChannel;\n 'controlPlane.bookingChannelIconCandidate': ControlPlaneBookingChannelIconCandidate;\n 'controlPlane.connectionRoute': ControlPlaneConnectionRoute;\n 'controlPlane.controlPlaneOutbox': ControlPlaneOutbox;\n 'controlPlane.currency': ControlPlaneCurrency;\n 'controlPlane.destructiveJob': ControlPlaneDestructiveJob;\n 'controlPlane.destructiveJobAttempt': ControlPlaneDestructiveJobAttempt;\n 'controlPlane.destructiveJobOperation': ControlPlaneDestructiveJobOperation;\n 'controlPlane.events': ControlPlaneEvent;\n 'controlPlane.feature': ControlPlaneFeature;\n 'controlPlane.featureApproval': ControlPlaneFeatureApproval;\n 'controlPlane.featureEnabledTeam': ControlPlaneFeatureEnabledTeam;\n 'controlPlane.generalLedgerDefaultSet': ControlPlaneGeneralLedgerDefaultSet;\n 'controlPlane.generalLedgerDefaultVersion': ControlPlaneGeneralLedgerDefaultVersion;\n 'controlPlane.lineClassification': ControlPlaneLineClassification;\n 'controlPlane.lineClassificationTeamUsage': ControlPlaneLineClassificationTeamUsage;\n 'controlPlane.operation': ControlPlaneOperation;\n 'controlPlane.operationResource': ControlPlaneOperationResource;\n 'controlPlane.operationSource': ControlPlaneOperationSource;\n 'controlPlane.partnerManagedTeamAssignment': ControlPlanePartnerManagedTeamAssignment;\n 'controlPlane.reservationLineDefault': ControlPlaneReservationLineDefault;\n 'controlPlane.rolloutMonitorSnapshot': ControlPlaneRolloutMonitorSnapshot;\n 'controlPlane.tenant': ControlPlaneTenant;\n 'controlPlane.tenantRegionMigration': ControlPlaneTenantRegionMigration;\n 'controlPlane.tenantUser': ControlPlaneTenantUser;\n 'controlPlane.trackingQueueFailure': ControlPlaneTrackingQueueFailure;\n 'controlPlane.token': ControlPlaneToken;\n 'controlPlane.transactionLineMapping': ControlPlaneTransactionLineMapping;\n 'controlPlane.user': ControlPlaneUser;\n 'controlPlaneCore.flow': ControlPlaneFlow;\n 'controlPlaneCore.issueMessageOverwrite': ControlPlaneIssueMessageOverwrite;\n}\n\nclass ControlPlaneSchemaTransformer extends OperationNodeTransformer {\n constructor(\n readonly schema: string,\n readonly issueMessageOverwriteSchema: string\n ) {\n super();\n }\n\n protected override transformSchemableIdentifier(\n node: SchemableIdentifierNode,\n queryId: QueryId\n ): SchemableIdentifierNode {\n const transformed = super.transformSchemableIdentifier(node, queryId);\n if (\n transformed.schema?.name === 'controlPlane' ||\n transformed.schema?.name === 'control_plane'\n ) {\n return { ...transformed, schema: IdentifierNode.create(this.schema) };\n }\n if (\n transformed.schema?.name === 'controlPlaneCore' ||\n transformed.schema?.name === 'control_plane_core'\n ) {\n return {\n ...transformed,\n schema: IdentifierNode.create(this.issueMessageOverwriteSchema),\n };\n }\n return transformed;\n }\n\n protected override transformFunction(\n node: FunctionNode,\n queryId: QueryId\n ): FunctionNode {\n const transformed = super.transformFunction(node, queryId);\n return node.func.startsWith('controlPlane.')\n ? {\n ...transformed,\n func: `${this.schema}.${transformed.func.slice('controlPlane.'.length)}`,\n }\n : transformed;\n }\n}\n\nclass ControlPlaneSchemaPlugin implements KyselyPlugin {\n readonly #transformer: ControlPlaneSchemaTransformer;\n\n constructor(schema: string, issueMessageOverwriteSchema: string) {\n this.#transformer = new ControlPlaneSchemaTransformer(\n schema,\n issueMessageOverwriteSchema\n );\n }\n\n transformQuery(args: PluginTransformQueryArgs): RootOperationNode {\n return this.#transformer.transformNode(args.node, args.queryId);\n }\n\n async transformResult(\n args: PluginTransformResultArgs\n ): Promise<QueryResult<UnknownRow>> {\n return args.result;\n }\n}\n\nexport function withControlPlaneSchema(\n kysely: Kysely<ControlPlaneDB>,\n schema: string,\n issueMessageOverwriteSchema = 'core'\n) {\n return kysely.withPlugin(\n new ControlPlaneSchemaPlugin(schema, issueMessageOverwriteSchema)\n );\n}\n"]}
@@ -0,0 +1,4 @@
1
+ /** Values seeded in public.currency for database and API contracts. */
2
+ export type CurrencyCode = 'aed' | 'afn' | 'all' | 'amd' | 'ang' | 'aoa' | 'ars' | 'aud' | 'awg' | 'azn' | 'bam' | 'bbd' | 'bdt' | 'bgn' | 'bhd' | 'bif' | 'bmd' | 'bnd' | 'bob' | 'bov' | 'brl' | 'bsd' | 'btn' | 'bwp' | 'byn' | 'byr' | 'bzd' | 'cad' | 'cdf' | 'che' | 'chf' | 'chw' | 'clf' | 'clp' | 'cny' | 'cop' | 'cou' | 'crc' | 'cuc' | 'cup' | 'cve' | 'czk' | 'djf' | 'dkk' | 'dop' | 'dzd' | 'egp' | 'ern' | 'etb' | 'eur' | 'fjd' | 'fkp' | 'gbp' | 'gel' | 'ghs' | 'gip' | 'gmd' | 'gnf' | 'gtq' | 'gyd' | 'hkd' | 'hnl' | 'hrk' | 'htg' | 'huf' | 'idr' | 'ils' | 'inr' | 'iqd' | 'irr' | 'isk' | 'jmd' | 'jod' | 'jpy' | 'kes' | 'kgs' | 'khr' | 'kmf' | 'kpw' | 'krw' | 'kwd' | 'kyd' | 'kzt' | 'lak' | 'lbp' | 'lkr' | 'lrd' | 'lsl' | 'ltl' | 'lvl' | 'lyd' | 'mad' | 'mdl' | 'mga' | 'mkd' | 'mmk' | 'mnt' | 'mop' | 'mro' | 'mur' | 'mvr' | 'mwk' | 'mxn' | 'mxv' | 'myr' | 'mzn' | 'nad' | 'ngn' | 'nio' | 'nok' | 'npr' | 'nzd' | 'omr' | 'pab' | 'pen' | 'pgk' | 'php' | 'pkr' | 'pln' | 'pyg' | 'qar' | 'ron' | 'rsd' | 'rub' | 'rwf' | 'sar' | 'sbd' | 'scr' | 'sdg' | 'sek' | 'sgd' | 'shp' | 'sll' | 'sos' | 'srd' | 'ssp' | 'std' | 'syp' | 'szl' | 'thb' | 'tjs' | 'tmt' | 'tnd' | 'top' | 'try' | 'ttd' | 'twd' | 'tzs' | 'uah' | 'ugx' | 'usd' | 'usn' | 'uss' | 'uyi' | 'uyu' | 'uzs' | 'vef' | 'vnd' | 'vuv' | 'wst' | 'xaf' | 'xag' | 'xau' | 'xba' | 'xbb' | 'xbc' | 'xbd' | 'xcd' | 'xdr' | 'xfu' | 'xof' | 'xpd' | 'xpf' | 'xpt' | 'xts' | 'xxx' | 'yer' | 'zar' | 'zmw' | 'zwl';
3
+ /** Values seeded in public.listing_ownership_period_business_model. */
4
+ export type ListingOwnershipPeriodBusinessModel = 'co_host' | 'co_host_airbnb' | 'managed';
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=domain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domain.js","sourceRoot":"src/","sources":["domain.ts"],"names":[],"mappings":"","sourcesContent":["/** Values seeded in public.currency for database and API contracts. */\nexport type CurrencyCode =\n | 'aed'\n | 'afn'\n | 'all'\n | 'amd'\n | 'ang'\n | 'aoa'\n | 'ars'\n | 'aud'\n | 'awg'\n | 'azn'\n | 'bam'\n | 'bbd'\n | 'bdt'\n | 'bgn'\n | 'bhd'\n | 'bif'\n | 'bmd'\n | 'bnd'\n | 'bob'\n | 'bov'\n | 'brl'\n | 'bsd'\n | 'btn'\n | 'bwp'\n | 'byn'\n | 'byr'\n | 'bzd'\n | 'cad'\n | 'cdf'\n | 'che'\n | 'chf'\n | 'chw'\n | 'clf'\n | 'clp'\n | 'cny'\n | 'cop'\n | 'cou'\n | 'crc'\n | 'cuc'\n | 'cup'\n | 'cve'\n | 'czk'\n | 'djf'\n | 'dkk'\n | 'dop'\n | 'dzd'\n | 'egp'\n | 'ern'\n | 'etb'\n | 'eur'\n | 'fjd'\n | 'fkp'\n | 'gbp'\n | 'gel'\n | 'ghs'\n | 'gip'\n | 'gmd'\n | 'gnf'\n | 'gtq'\n | 'gyd'\n | 'hkd'\n | 'hnl'\n | 'hrk'\n | 'htg'\n | 'huf'\n | 'idr'\n | 'ils'\n | 'inr'\n | 'iqd'\n | 'irr'\n | 'isk'\n | 'jmd'\n | 'jod'\n | 'jpy'\n | 'kes'\n | 'kgs'\n | 'khr'\n | 'kmf'\n | 'kpw'\n | 'krw'\n | 'kwd'\n | 'kyd'\n | 'kzt'\n | 'lak'\n | 'lbp'\n | 'lkr'\n | 'lrd'\n | 'lsl'\n | 'ltl'\n | 'lvl'\n | 'lyd'\n | 'mad'\n | 'mdl'\n | 'mga'\n | 'mkd'\n | 'mmk'\n | 'mnt'\n | 'mop'\n | 'mro'\n | 'mur'\n | 'mvr'\n | 'mwk'\n | 'mxn'\n | 'mxv'\n | 'myr'\n | 'mzn'\n | 'nad'\n | 'ngn'\n | 'nio'\n | 'nok'\n | 'npr'\n | 'nzd'\n | 'omr'\n | 'pab'\n | 'pen'\n | 'pgk'\n | 'php'\n | 'pkr'\n | 'pln'\n | 'pyg'\n | 'qar'\n | 'ron'\n | 'rsd'\n | 'rub'\n | 'rwf'\n | 'sar'\n | 'sbd'\n | 'scr'\n | 'sdg'\n | 'sek'\n | 'sgd'\n | 'shp'\n | 'sll'\n | 'sos'\n | 'srd'\n | 'ssp'\n | 'std'\n | 'syp'\n | 'szl'\n | 'thb'\n | 'tjs'\n | 'tmt'\n | 'tnd'\n | 'top'\n | 'try'\n | 'ttd'\n | 'twd'\n | 'tzs'\n | 'uah'\n | 'ugx'\n | 'usd'\n | 'usn'\n | 'uss'\n | 'uyi'\n | 'uyu'\n | 'uzs'\n | 'vef'\n | 'vnd'\n | 'vuv'\n | 'wst'\n | 'xaf'\n | 'xag'\n | 'xau'\n | 'xba'\n | 'xbb'\n | 'xbc'\n | 'xbd'\n | 'xcd'\n | 'xdr'\n | 'xfu'\n | 'xof'\n | 'xpd'\n | 'xpf'\n | 'xpt'\n | 'xts'\n | 'xxx'\n | 'yer'\n | 'zar'\n | 'zmw'\n | 'zwl';\n\n/** Values seeded in public.listing_ownership_period_business_model. */\nexport type ListingOwnershipPeriodBusinessModel =\n | 'co_host'\n | 'co_host_airbnb'\n | 'managed';\n"]}
@@ -1,3 +1,4 @@
1
1
  export declare class KyselyError extends Error {
2
- constructor(message: string);
2
+ readonly details?: unknown | undefined;
3
+ constructor(message: string, details?: unknown | undefined);
3
4
  }
@@ -2,8 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.KyselyError = void 0;
4
4
  class KyselyError extends Error {
5
- constructor(message) {
5
+ constructor(message, details) {
6
6
  super(message);
7
+ this.details = details;
7
8
  this.name = 'KyselyError';
8
9
  }
9
10
  }