@vrplatform/kysely 1.3.45-stage.4896 → 1.3.45-stage.490

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 (219) 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 +344 -16
  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 +19 -14
  14. package/build/main/index.js +235 -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 +10 -8
  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 +321 -10
  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 +3 -3
  34. package/build/main/postgres-error.js +4 -3
  35. package/build/main/postgres-error.js.map +1 -1
  36. package/build/main/query/listing/status.d.ts +0 -10
  37. package/build/main/query/listing/status.js +2 -14
  38. package/build/main/query/listing/status.js.map +1 -1
  39. package/build/main/query/tenant/status.d.ts +5 -8
  40. package/build/main/query/tenant/status.js +18 -21
  41. package/build/main/query/tenant/status.js.map +1 -1
  42. package/build/main/regional.d.ts +7 -1
  43. package/build/main/regional.js +30 -17
  44. package/build/main/regional.js.map +1 -1
  45. package/build/main/test/index.d.ts +23 -11
  46. package/build/main/test/index.js +31 -23
  47. package/build/main/test/index.js.map +1 -1
  48. package/build/main/transaction.d.ts +3 -3
  49. package/build/main/transaction.js.map +1 -1
  50. package/build/main/v1.generated.d.ts +771 -139
  51. package/build/main/v1.generated.js.map +1 -1
  52. package/build/migrations-v2/0000000000000-baseline.ts +5 -0
  53. package/build/migrations-v2/0000000000001-public-audit-events-v2.ts +137 -0
  54. package/build/migrations-v2/0000000000002-audit-recovery-watermarks.ts +30 -0
  55. package/build/migrations-v2/0000000000003-audit-effect-recovery-watermark.ts +13 -0
  56. package/build/migrations-v2/0000000000004-audit-event-projected-at.ts +15 -0
  57. package/build/migrations-v2/0000000000005-audit-recovery-indexes.ts +63 -0
  58. package/build/migrations-v2/0000000000006-audit-action-public-event-projected-at.ts +22 -0
  59. package/build/migrations-v2/0000000000007-audit-action-public-event-projected-at-backfill.ts +35 -0
  60. package/build/migrations-v2/0000000000008-global-user-attribution.ts +33 -0
  61. package/build/migrations-v2/0000000000008-team-issue-rule-state.ts +52 -0
  62. package/build/migrations-v2/0000000000009-reservation-issue-projections.ts +45 -0
  63. package/build/migrations-v2/0000000000010-bank-rule-application-bank-record-delete-cascade.ts +26 -0
  64. package/build/migrations-v2/0000000000011-guest-balance-journal-entry-lookup-index.ts +25 -0
  65. package/build/migrations-v2/0000000000012-trial-free-analytics-billing-status.ts +72 -0
  66. package/build/migrations-v2/0000000000013-ui-permission-bundles.ts +45 -0
  67. package/build/migrations-v2/0000000000014-ui-permission-bundle-top-up.ts +32 -0
  68. package/build/migrations-v2/0000000000015-durable-flow-events.ts +163 -0
  69. package/build/migrations-v2/0000000000016-billing-listing-facts.ts +539 -0
  70. package/build/migrations-v2/0000000000016-managed-team-access.ts +34 -0
  71. package/build/migrations-v2/0000000000017-drop-trial-until.ts +42 -0
  72. package/build/migrations-v2/0000000000017-webhook-secret-reencryption-failures.ts +18 -0
  73. package/build/migrations-v2/0000000000018-accounting-integrity-monitoring.ts +276 -0
  74. package/build/migrations-v2/0000000000018-durable-flow-event-sensitive-input.ts +28 -0
  75. package/build/migrations-v2/0000000000019-accounting-integrity-run-shards.ts +26 -0
  76. package/build/migrations-v2/0000000000019-asynchronous-operations.ts +736 -0
  77. package/build/migrations-v2/0000000000020-accounting-integrity-case-classification.ts +52 -0
  78. package/build/migrations-v2/0000000000021-payment-line-classification-monitor-indexes.ts +31 -0
  79. package/build/migrations-v2/0000000000022-accounting-integrity-controlled-repairs.ts +281 -0
  80. package/build/migrations-v2/0000000000023-line-classification-usage.ts +325 -0
  81. package/build/migrations-v2/0000000000024-tenant-region-migration.ts +108 -0
  82. package/build/migrations-v2/0000000000025-partner-ach-denial-default.ts +30 -0
  83. package/build/migrations-v2/0000000000026-line-classification-usage-capture.ts +399 -0
  84. package/build/migrations-v2/0000000000027-payout-replacement-chain.ts +27 -0
  85. package/build/migrations-v2/0000000000028-accounting-integrity-operator-workflow.ts +108 -0
  86. package/build/migrations-v2/0000000000029-accounting-integrity-definition-artifacts.ts +40 -0
  87. package/build/migrations-v2/0000000000030-accounting-integrity-review-metadata-compatibility.ts +49 -0
  88. package/build/migrations-v2/0000000000031-ui-permission-role-simplification.ts +70 -0
  89. package/build/migrations-v2/0000000000032-tenant-delete-ownership-cascades.ts +44 -0
  90. package/build/migrations-v2/0000000000033-reservation-issue-seed-bucket-index.ts +19 -0
  91. package/build/migrations-v2/0000000000034-retire-recent-classification-indexes.ts +29 -0
  92. package/build/migrations-v2/0000000000035-core-change-autovacuum.ts +24 -0
  93. package/build/migrations-v2/0000000000036-journal-entry-inactive-reason-constraint.ts +33 -0
  94. package/build/migrations-v2/0000000000037-journal-entry-inactive-reasons.ts +19 -0
  95. package/build/{migrations/0000000000023-journal-entry-currency-mismatch-reason.ts → migrations-v2/0000000000038-journal-entry-group-inactive-reason.ts} +4 -4
  96. package/build/migrations-v2/0000000000039-reservation-guest-breakdown.ts +19 -0
  97. package/build/migrations-v2/0000000000040-csv-import-source-identity-index.ts +23 -0
  98. package/build/migrations-v2/0000000000041-payment-returns.ts +38 -0
  99. package/build/migrations-v2/0000000000042-operation-resource-types.ts +609 -0
  100. package/build/migrations-v2/0000000000043-reservation-journal-freshness.ts +149 -0
  101. package/build/migrations-v2/0000000000044-reservation-journal-freshness-backfill.ts +254 -0
  102. package/build/migrations-v2/0000000000045-reservation-journal-freshness-revision-repair.ts +83 -0
  103. package/build/migrations-v2/0000000000046-materialized-reservation-journal-operations.ts +709 -0
  104. package/build/migrations-v2/0000000000047-public-audit-completion.ts +77 -0
  105. package/build/migrations-v2/0000000000048-reservation-journal-full-refresh-repair.ts +136 -0
  106. package/build/migrations-v2/0000000000049-queued-journal-operation-failures.ts +60 -0
  107. package/build/migrations-v2/0000000000050-connection-oauth-state.ts +43 -0
  108. package/build/module/camel-case/index.js +1 -1
  109. package/build/module/camel-case/index.js.map +1 -1
  110. package/build/module/control-plane/index.d.ts +344 -16
  111. package/build/module/control-plane/index.js +49 -1
  112. package/build/module/control-plane/index.js.map +1 -1
  113. package/build/module/domain.d.ts +4 -0
  114. package/build/module/domain.js +2 -0
  115. package/build/module/domain.js.map +1 -0
  116. package/build/module/error.d.ts +2 -1
  117. package/build/module/error.js +3 -1
  118. package/build/module/error.js.map +1 -1
  119. package/build/module/index.d.ts +19 -14
  120. package/build/module/index.js +236 -57
  121. package/build/module/index.js.map +1 -1
  122. package/build/module/isomorphic.d.ts +5 -5
  123. package/build/module/isomorphic.js +1 -6
  124. package/build/module/isomorphic.js.map +1 -1
  125. package/build/module/local/digest.d.ts +3 -3
  126. package/build/module/local/digest.js.map +1 -1
  127. package/build/module/local/generate.js +10 -8
  128. package/build/module/local/generate.js.map +1 -1
  129. package/build/module/local/index.d.ts +5 -1
  130. package/build/module/local/index.js +322 -11
  131. package/build/module/local/index.js.map +1 -1
  132. package/build/module/local/prune-pulled-schema.js +4 -1
  133. package/build/module/local/prune-pulled-schema.js.map +1 -1
  134. package/build/module/migration.d.ts +7 -0
  135. package/build/module/migration.js +8 -0
  136. package/build/module/migration.js.map +1 -0
  137. package/build/module/plugins.d.ts +2 -2
  138. package/build/module/plugins.js.map +1 -1
  139. package/build/module/postgres-error.d.ts +3 -3
  140. package/build/module/postgres-error.js +4 -3
  141. package/build/module/postgres-error.js.map +1 -1
  142. package/build/module/query/listing/status.d.ts +0 -10
  143. package/build/module/query/listing/status.js +2 -12
  144. package/build/module/query/listing/status.js.map +1 -1
  145. package/build/module/query/tenant/status.d.ts +5 -8
  146. package/build/module/query/tenant/status.js +18 -21
  147. package/build/module/query/tenant/status.js.map +1 -1
  148. package/build/module/regional.d.ts +7 -1
  149. package/build/module/regional.js +30 -17
  150. package/build/module/regional.js.map +1 -1
  151. package/build/module/test/index.d.ts +23 -11
  152. package/build/module/test/index.js +31 -23
  153. package/build/module/test/index.js.map +1 -1
  154. package/build/module/transaction.d.ts +3 -3
  155. package/build/module/transaction.js.map +1 -1
  156. package/build/module/v1.generated.d.ts +771 -139
  157. package/build/module/v1.generated.js.map +1 -1
  158. package/package.json +5 -4
  159. package/build/migrations/0000000000001-init.ts +0 -5
  160. package/build/migrations/0000000000009-drop-store-schema.ts +0 -14
  161. package/build/migrations/0000000000010-bank-rules.ts +0 -190
  162. package/build/migrations/0000000000011-bank-rule-line-adjustments.ts +0 -65
  163. package/build/migrations/0000000000012-bank-rule-conditions.ts +0 -45
  164. package/build/migrations/0000000000013-bank-rule-name-unique.ts +0 -15
  165. package/build/migrations/0000000000014-bank-rule-drop-legacy-conditions.ts +0 -41
  166. package/build/migrations/0000000000015-booking-channel-logo-dev-provider.ts +0 -70
  167. package/build/migrations/0000000000016-owner-statement-draft-status.ts +0 -22
  168. package/build/migrations/0000000000017-tenant-migration-markers.ts +0 -18
  169. package/build/migrations/0000000000018-security-deposits-payable-category.ts +0 -63
  170. package/build/migrations/0000000000019-tenant-app-settings.ts +0 -76
  171. package/build/migrations/0000000000020-operating-opening-trial-balance.ts +0 -36
  172. package/build/migrations/0000000000021-audit-foreign-key-indexes.ts +0 -77
  173. package/build/migrations/0000000000022-opening-trial-balance-combined-columns.ts +0 -30
  174. package/build/migrations/0000000000024-listing-parent.ts +0 -37
  175. package/build/migrations/0000000000025-journal-entry-parent-listing.ts +0 -26
  176. package/build/migrations/0000000000026-booking-channel-logo-slots.ts +0 -89
  177. package/build/migrations/0000000000027-list-browse-performance-indexes.ts +0 -52
  178. package/build/migrations/0000000000028-flow-setting-status-jsonb.ts +0 -20
  179. package/build/migrations/0000000000029-tenant-slug.ts +0 -328
  180. package/build/migrations/0000000000030-pms-accounting-windows.ts +0 -50
  181. package/build/migrations/0000000000031-owner-statement-projection-listing-revision.ts +0 -20
  182. package/build/migrations/0000000000032-flow-event-listening.ts +0 -28
  183. package/build/migrations/0000000000033-opening-trial-balance-transaction.ts +0 -272
  184. package/build/migrations/0000000000034-historic-general-ledger.ts +0 -24
  185. package/build/migrations/0000000000035-tenant-regional-placement.ts +0 -37
  186. package/build/migrations/0000000000036-control-plane-projection-events.ts +0 -43
  187. package/build/migrations/0000000000037-tenant-guide-onboarding.ts +0 -21
  188. package/build/migrations/0000000000038-tracking-event-analytics-sink.ts +0 -31
  189. package/build/migrations/0000000000039-crunchy-region.ts +0 -86
  190. package/build/migrations/0000000000040-hostaway-region.ts +0 -72
  191. package/build/migrations/0000000000041-audit-tenant-fk.ts +0 -66
  192. package/build/migrations/0000000000042-ramp-staging-connect-params.ts +0 -35
  193. package/build/migrations/0000000000043-gl-pms-accounting-window-guard.ts +0 -125
  194. package/build/migrations/0000000000044-tenant-cross-region-fks.ts +0 -45
  195. package/build/migrations/0000000000045-cloudflare-region-env.ts +0 -100
  196. package/build/migrations/0000000000046-control-plane-outbox-alias.ts +0 -46
  197. package/build/migrations/0000000000047-ramp-contact-last-4-digits.ts +0 -16
  198. package/build/migrations/0000000000047-tenant-status-backfill.ts +0 -40
  199. package/build/migrations/0000000000048-tenant-status-constraint.ts +0 -24
  200. package/build/migrations/0000000000049-health-tenant-issues.ts +0 -69
  201. package/build/migrations/0000000000050-partner-webhooks.ts +0 -135
  202. package/build/migrations/0000000000051-health-webhook-runtime-grants.ts +0 -42
  203. package/build/migrations/0000000000052-feature-approval-team-enablement.ts +0 -13
  204. package/build/migrations/0000000000053-health-webhook-enums.ts +0 -296
  205. package/build/migrations/0000000000054-user-secondary-emails-jsonb.ts +0 -25
  206. package/build/migrations/0000000000055-outbound-webhooks-v1.ts +0 -221
  207. package/build/migrations/0000000000056-connection-webhook-version.ts +0 -18
  208. package/build/migrations/0000000000057-sync-webhook-version.ts +0 -18
  209. package/build/migrations/0000000000058-reservation-webhook-version.ts +0 -18
  210. package/build/migrations/0000000000059-listing-webhook-version.ts +0 -18
  211. package/build/migrations/0000000000060-owner-statement-webhook-version.ts +0 -19
  212. package/build/migrations/0000000000061-transaction-webhook-version.ts +0 -18
  213. package/build/migrations/0000000000062-plaid-connect-session.ts +0 -102
  214. package/build/migrations/0000000000063-pgcrypto.ts +0 -27
  215. package/build/migrations/0000000000064-partner-api-foundation.ts +0 -36
  216. package/build/migrations/0000000000065-canonical-jsonb-shapes.ts +0 -231
  217. package/build/migrations/0000000000066-source-delete-fk-indexes.ts +0 -20
  218. package/build/migrations/0000000000067-remove-opening-trial-balance-account-columns.ts +0 -34
  219. package/build/migrations/0000000000068-bank-record-account-delete-cascade.ts +0 -26
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,109 @@ 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
+ }
42
199
  export interface ControlPlaneEvent {
43
200
  createdAt: Generated<Timestamp>;
44
201
  id: Generated<string>;
@@ -50,6 +207,27 @@ export interface ControlPlaneEvent {
50
207
  trackedAt: Generated<Timestamp | null>;
51
208
  userId: string | null;
52
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
+ }
53
231
  export interface ControlPlaneConnectionRoute {
54
232
  connectionId: string;
55
233
  createdAt: Generated<Timestamp>;
@@ -76,6 +254,108 @@ export interface ControlPlaneFeatureEnabledTeam {
76
254
  tenantId: string;
77
255
  updatedAt: Generated<Timestamp>;
78
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
+ }
79
359
  export interface ControlPlaneOutbox {
80
360
  aggregateId: string;
81
361
  aggregateType: string;
@@ -89,15 +369,22 @@ export interface ControlPlaneOutbox {
89
369
  payload: Generated<Json>;
90
370
  publishedAt: Timestamp | null;
91
371
  }
372
+ export interface ControlPlanePartnerManagedTeamAssignment {
373
+ createdAt: Generated<Timestamp>;
374
+ managedTeamId: string;
375
+ partnerTenantId: string;
376
+ userId: string;
377
+ }
92
378
  export interface ControlPlaneTenant {
93
- billingCustomerId: string | null;
94
379
  billingPartnerId: string | null;
95
380
  billingPlan: string | null;
96
381
  createdAt: Generated<Timestamp>;
97
382
  dataRegion: Generated<string>;
98
383
  id: Generated<string>;
384
+ migrationStatus: Generated<string>;
99
385
  name: string;
100
386
  partnerId: string | null;
387
+ partnerDeniedPermissions: Generated<string[]>;
101
388
  slug: string;
102
389
  status: Generated<string | null>;
103
390
  storageRealm: Generated<string>;
@@ -105,10 +392,27 @@ export interface ControlPlaneTenant {
105
392
  uniqueRef: string | null;
106
393
  updatedAt: Generated<Timestamp | null>;
107
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
+ }
108
410
  export interface ControlPlaneTenantUser {
109
411
  createdAt: Generated<Timestamp | null>;
110
412
  id: Generated<string>;
111
413
  lastInvitedAt: Timestamp | null;
414
+ managedTeamAccess: Generated<'all' | 'assigned'>;
415
+ permissionBundles: Generated<string[]>;
112
416
  role: Generated<string | null>;
113
417
  status: Generated<string | null>;
114
418
  tenantId: string;
@@ -131,6 +435,7 @@ export interface ControlPlaneUser {
131
435
  email: string | null;
132
436
  firstName: string | null;
133
437
  id: Generated<string>;
438
+ internalOperationGrants: Generated<string[]>;
134
439
  isAdmin: Generated<boolean>;
135
440
  lastName: string | null;
136
441
  lastSeen: Timestamp | null;
@@ -144,17 +449,40 @@ export interface ControlPlaneUser {
144
449
  updatedAt: Generated<Timestamp | null>;
145
450
  }
146
451
  export interface ControlPlaneDB {
147
- 'public.app': ControlPlaneApp;
148
- 'public.bookingChannel': ControlPlaneBookingChannel;
149
- 'public.connectionRoute': ControlPlaneConnectionRoute;
150
- 'public.currency': ControlPlaneCurrency;
151
- 'public.events': ControlPlaneEvent;
152
- 'public.feature': ControlPlaneFeature;
153
- 'public.featureEnabledTeam': ControlPlaneFeatureEnabledTeam;
154
- 'public.controlPlaneOutbox': ControlPlaneOutbox;
155
- 'public.tenant': ControlPlaneTenant;
156
- 'public.tenantUser': ControlPlaneTenantUser;
157
- 'public.token': ControlPlaneToken;
158
- 'public.user': ControlPlaneUser;
159
- }
160
- 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 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 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 billingCustomerId: string | null;\n billingPartnerId: string | null;\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 uniqueRef: 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 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 'public.app': ControlPlaneApp;\n 'public.bookingChannel': ControlPlaneBookingChannel;\n 'public.connectionRoute': ControlPlaneConnectionRoute;\n 'public.currency': ControlPlaneCurrency;\n 'public.events': ControlPlaneEvent;\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
  }