@vrplatform/kysely 1.3.45-stage.5119 → 1.3.45-stage.513

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 (128) hide show
  1. package/build/.data.tar +0 -0
  2. package/build/main/control-plane/index.d.ts +336 -16
  3. package/build/main/control-plane/index.js +61 -0
  4. package/build/main/control-plane/index.js.map +1 -1
  5. package/build/main/domain.d.ts +4 -0
  6. package/build/main/domain.js +3 -0
  7. package/build/main/domain.js.map +1 -0
  8. package/build/main/index.d.ts +17 -11
  9. package/build/main/index.js +232 -58
  10. package/build/main/index.js.map +1 -1
  11. package/build/main/isomorphic.d.ts +5 -5
  12. package/build/main/isomorphic.js +2 -8
  13. package/build/main/isomorphic.js.map +1 -1
  14. package/build/main/local/digest.d.ts +3 -3
  15. package/build/main/local/digest.js.map +1 -1
  16. package/build/main/local/generate.js +2 -0
  17. package/build/main/local/generate.js.map +1 -1
  18. package/build/main/local/index.d.ts +5 -1
  19. package/build/main/local/index.js +316 -6
  20. package/build/main/local/index.js.map +1 -1
  21. package/build/main/postgres-error.d.ts +3 -3
  22. package/build/main/postgres-error.js +4 -3
  23. package/build/main/postgres-error.js.map +1 -1
  24. package/build/main/query/listing/status.d.ts +0 -10
  25. package/build/main/query/listing/status.js +2 -14
  26. package/build/main/query/listing/status.js.map +1 -1
  27. package/build/main/query/tenant/status.d.ts +5 -8
  28. package/build/main/query/tenant/status.js +18 -21
  29. package/build/main/query/tenant/status.js.map +1 -1
  30. package/build/main/regional.d.ts +7 -1
  31. package/build/main/regional.js +14 -9
  32. package/build/main/regional.js.map +1 -1
  33. package/build/main/test/index.d.ts +23 -11
  34. package/build/main/test/index.js +31 -23
  35. package/build/main/test/index.js.map +1 -1
  36. package/build/main/transaction.d.ts +3 -3
  37. package/build/main/transaction.js.map +1 -1
  38. package/build/main/v1.generated.d.ts +551 -8
  39. package/build/main/v1.generated.js.map +1 -1
  40. package/build/migrations-v2/0000000000006-audit-action-public-event-projected-at.ts +22 -0
  41. package/build/migrations-v2/0000000000007-audit-action-public-event-projected-at-backfill.ts +35 -0
  42. package/build/migrations-v2/0000000000008-global-user-attribution.ts +33 -0
  43. package/build/migrations-v2/0000000000008-team-issue-rule-state.ts +52 -0
  44. package/build/migrations-v2/0000000000009-reservation-issue-projections.ts +45 -0
  45. package/build/migrations-v2/0000000000010-bank-rule-application-bank-record-delete-cascade.ts +26 -0
  46. package/build/migrations-v2/0000000000011-guest-balance-journal-entry-lookup-index.ts +25 -0
  47. package/build/migrations-v2/0000000000012-trial-free-analytics-billing-status.ts +72 -0
  48. package/build/migrations-v2/0000000000013-ui-permission-bundles.ts +45 -0
  49. package/build/migrations-v2/0000000000014-ui-permission-bundle-top-up.ts +32 -0
  50. package/build/migrations-v2/0000000000015-durable-flow-events.ts +163 -0
  51. package/build/migrations-v2/0000000000016-billing-listing-facts.ts +539 -0
  52. package/build/migrations-v2/0000000000016-managed-team-access.ts +34 -0
  53. package/build/migrations-v2/0000000000017-drop-trial-until.ts +42 -0
  54. package/build/migrations-v2/0000000000017-webhook-secret-reencryption-failures.ts +18 -0
  55. package/build/migrations-v2/0000000000018-accounting-integrity-monitoring.ts +276 -0
  56. package/build/migrations-v2/0000000000018-durable-flow-event-sensitive-input.ts +28 -0
  57. package/build/migrations-v2/0000000000019-accounting-integrity-run-shards.ts +26 -0
  58. package/build/migrations-v2/0000000000019-asynchronous-operations.ts +736 -0
  59. package/build/migrations-v2/0000000000020-accounting-integrity-case-classification.ts +52 -0
  60. package/build/migrations-v2/0000000000021-payment-line-classification-monitor-indexes.ts +31 -0
  61. package/build/migrations-v2/0000000000022-accounting-integrity-controlled-repairs.ts +281 -0
  62. package/build/migrations-v2/0000000000023-line-classification-usage.ts +325 -0
  63. package/build/migrations-v2/0000000000024-tenant-region-migration.ts +108 -0
  64. package/build/migrations-v2/0000000000025-partner-ach-denial-default.ts +30 -0
  65. package/build/migrations-v2/0000000000026-line-classification-usage-capture.ts +399 -0
  66. package/build/migrations-v2/0000000000027-payout-replacement-chain.ts +27 -0
  67. package/build/migrations-v2/0000000000028-accounting-integrity-operator-workflow.ts +108 -0
  68. package/build/migrations-v2/0000000000029-accounting-integrity-definition-artifacts.ts +40 -0
  69. package/build/migrations-v2/0000000000030-accounting-integrity-review-metadata-compatibility.ts +49 -0
  70. package/build/migrations-v2/0000000000031-ui-permission-role-simplification.ts +70 -0
  71. package/build/migrations-v2/0000000000032-tenant-delete-ownership-cascades.ts +44 -0
  72. package/build/migrations-v2/0000000000033-reservation-issue-seed-bucket-index.ts +19 -0
  73. package/build/migrations-v2/0000000000034-retire-recent-classification-indexes.ts +29 -0
  74. package/build/migrations-v2/0000000000035-core-change-autovacuum.ts +24 -0
  75. package/build/migrations-v2/0000000000036-journal-entry-inactive-reason-constraint.ts +33 -0
  76. package/build/migrations-v2/0000000000037-journal-entry-inactive-reasons.ts +19 -0
  77. package/build/migrations-v2/0000000000038-journal-entry-group-inactive-reason.ts +14 -0
  78. package/build/migrations-v2/0000000000039-reservation-guest-breakdown.ts +19 -0
  79. package/build/migrations-v2/0000000000040-csv-import-source-identity-index.ts +23 -0
  80. package/build/migrations-v2/0000000000041-payment-returns.ts +38 -0
  81. package/build/migrations-v2/0000000000042-operation-resource-types.ts +609 -0
  82. package/build/migrations-v2/0000000000043-reservation-journal-freshness.ts +149 -0
  83. package/build/migrations-v2/0000000000044-reservation-journal-freshness-backfill.ts +254 -0
  84. package/build/migrations-v2/0000000000045-reservation-journal-freshness-revision-repair.ts +83 -0
  85. package/build/migrations-v2/0000000000046-materialized-reservation-journal-operations.ts +709 -0
  86. package/build/migrations-v2/0000000000047-public-audit-completion.ts +77 -0
  87. package/build/migrations-v2/0000000000048-reservation-journal-full-refresh-repair.ts +136 -0
  88. package/build/migrations-v2/0000000000049-queued-journal-operation-failures.ts +60 -0
  89. package/build/migrations-v2/0000000000050-connection-oauth-state.ts +43 -0
  90. package/build/module/control-plane/index.d.ts +336 -16
  91. package/build/module/control-plane/index.js +49 -1
  92. package/build/module/control-plane/index.js.map +1 -1
  93. package/build/module/domain.d.ts +4 -0
  94. package/build/module/domain.js +2 -0
  95. package/build/module/domain.js.map +1 -0
  96. package/build/module/index.d.ts +17 -11
  97. package/build/module/index.js +234 -56
  98. package/build/module/index.js.map +1 -1
  99. package/build/module/isomorphic.d.ts +5 -5
  100. package/build/module/isomorphic.js +1 -6
  101. package/build/module/isomorphic.js.map +1 -1
  102. package/build/module/local/digest.d.ts +3 -3
  103. package/build/module/local/digest.js.map +1 -1
  104. package/build/module/local/generate.js +2 -0
  105. package/build/module/local/generate.js.map +1 -1
  106. package/build/module/local/index.d.ts +5 -1
  107. package/build/module/local/index.js +317 -7
  108. package/build/module/local/index.js.map +1 -1
  109. package/build/module/postgres-error.d.ts +3 -3
  110. package/build/module/postgres-error.js +4 -3
  111. package/build/module/postgres-error.js.map +1 -1
  112. package/build/module/query/listing/status.d.ts +0 -10
  113. package/build/module/query/listing/status.js +2 -12
  114. package/build/module/query/listing/status.js.map +1 -1
  115. package/build/module/query/tenant/status.d.ts +5 -8
  116. package/build/module/query/tenant/status.js +18 -21
  117. package/build/module/query/tenant/status.js.map +1 -1
  118. package/build/module/regional.d.ts +7 -1
  119. package/build/module/regional.js +14 -9
  120. package/build/module/regional.js.map +1 -1
  121. package/build/module/test/index.d.ts +23 -11
  122. package/build/module/test/index.js +31 -23
  123. package/build/module/test/index.js.map +1 -1
  124. package/build/module/transaction.d.ts +3 -3
  125. package/build/module/transaction.js.map +1 -1
  126. package/build/module/v1.generated.d.ts +551 -8
  127. package/build/module/v1.generated.js.map +1 -1
  128. package/package.json +3 -2
package/build/.data.tar CHANGED
Binary file
@@ -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>;
@@ -84,6 +262,100 @@ export interface ControlPlaneFeatureApproval {
84
262
  updatedAt: Generated<Timestamp>;
85
263
  userId: string;
86
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
+ }
87
359
  export interface ControlPlaneOutbox {
88
360
  aggregateId: string;
89
361
  aggregateType: string;
@@ -97,14 +369,22 @@ export interface ControlPlaneOutbox {
97
369
  payload: Generated<Json>;
98
370
  publishedAt: Timestamp | null;
99
371
  }
372
+ export interface ControlPlanePartnerManagedTeamAssignment {
373
+ createdAt: Generated<Timestamp>;
374
+ managedTeamId: string;
375
+ partnerTenantId: string;
376
+ userId: string;
377
+ }
100
378
  export interface ControlPlaneTenant {
101
379
  billingPartnerId: string | null;
102
380
  billingPlan: string | null;
103
381
  createdAt: Generated<Timestamp>;
104
382
  dataRegion: Generated<string>;
105
383
  id: Generated<string>;
384
+ migrationStatus: Generated<string>;
106
385
  name: string;
107
386
  partnerId: string | null;
387
+ partnerDeniedPermissions: Generated<string[]>;
108
388
  slug: string;
109
389
  status: Generated<string | null>;
110
390
  storageRealm: Generated<string>;
@@ -112,10 +392,27 @@ export interface ControlPlaneTenant {
112
392
  uniqueRef: string | null;
113
393
  updatedAt: Generated<Timestamp | null>;
114
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
+ }
115
410
  export interface ControlPlaneTenantUser {
116
411
  createdAt: Generated<Timestamp | null>;
117
412
  id: Generated<string>;
118
413
  lastInvitedAt: Timestamp | null;
414
+ managedTeamAccess: Generated<'all' | 'assigned'>;
415
+ permissionBundles: Generated<string[]>;
119
416
  role: Generated<string | null>;
120
417
  status: Generated<string | null>;
121
418
  tenantId: string;
@@ -138,6 +435,7 @@ export interface ControlPlaneUser {
138
435
  email: string | null;
139
436
  firstName: string | null;
140
437
  id: Generated<string>;
438
+ internalOperationGrants: Generated<string[]>;
141
439
  isAdmin: Generated<boolean>;
142
440
  lastName: string | null;
143
441
  lastSeen: Timestamp | null;
@@ -151,18 +449,40 @@ export interface ControlPlaneUser {
151
449
  updatedAt: Generated<Timestamp | null>;
152
450
  }
153
451
  export interface ControlPlaneDB {
154
- 'public.app': ControlPlaneApp;
155
- 'public.bookingChannel': ControlPlaneBookingChannel;
156
- 'public.connectionRoute': ControlPlaneConnectionRoute;
157
- 'public.currency': ControlPlaneCurrency;
158
- 'public.events': ControlPlaneEvent;
159
- 'public.feature': ControlPlaneFeature;
160
- 'public.featureApproval': ControlPlaneFeatureApproval;
161
- 'public.featureEnabledTeam': ControlPlaneFeatureEnabledTeam;
162
- 'public.controlPlaneOutbox': ControlPlaneOutbox;
163
- 'public.tenant': ControlPlaneTenant;
164
- 'public.tenantUser': ControlPlaneTenantUser;
165
- 'public.token': ControlPlaneToken;
166
- 'public.user': ControlPlaneUser;
167
- }
168
- 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 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 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 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.featureApproval': ControlPlaneFeatureApproval;\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,6 +1,6 @@
1
- import type { Kysely as K, LogConfig } from 'kysely';
1
+ import type { Kysely as K, LogConfig, Transaction as T } from 'kysely';
2
2
  import postgres, { type Sql } from 'postgres';
3
- import type { ControlPlaneDB } from './control-plane';
3
+ import { type ControlPlaneDB } from './control-plane';
4
4
  export type { Insertable, LogEvent } from 'kysely';
5
5
  export * from './error';
6
6
  export * from './isomorphic';
@@ -8,27 +8,33 @@ export * from './postgres-error';
8
8
  export * from './query';
9
9
  export * from './regional';
10
10
  export * from './transaction';
11
+ import type { TenantDataRegion } from './regional';
11
12
  import type { DB } from './v1.generated';
12
13
  type KyselyOpts = {
14
+ dataRegion?: TenantDataRegion;
15
+ hyperdrive?: true;
16
+ onRetryDiagnostic?: (diagnostic: PostgresRetryDiagnostic) => void;
13
17
  repositoryName?: string;
14
18
  log?: true | LogConfig;
15
19
  };
20
+ type PostgresRetryDiagnostic = {
21
+ attemptCount: number;
22
+ dataRegion?: TenantDataRegion;
23
+ operationKind: 'acquisition' | 'mutation' | 'select' | 'transaction';
24
+ outcome: 'exhausted' | 'notRetryable' | 'retrying';
25
+ repositoryName?: string;
26
+ };
16
27
  type PgOpt = {
17
28
  forceDisableSSL?: boolean;
18
29
  probe?: true;
19
30
  retries?: false | number;
20
- };
31
+ } & Pick<KyselyOpts, 'hyperdrive'>;
21
32
  export type Kysely = K<DB>;
22
- export type Postgres = Sql;
33
+ export type ControlPlaneKysely = K<ControlPlaneDB>;
34
+ export type ControlPlaneTransaction = T<ControlPlaneDB>;
23
35
  export declare function useKysely<Database = DB>(postgres: Sql, options?: KyselyOpts): K<Database>;
24
36
  export declare function useAsyncPostgres(connectionString: string, opt?: PgOpt): Promise<postgres.Sql<{}>>;
25
37
  export declare function useAsyncKysely(connectionString: string, opt?: PgOpt & KyselyOpts): Promise<K<DB>>;
38
+ export declare function useAsyncNeonWebSocketKysely(connectionString: string, opt?: Pick<PgOpt, 'probe'> & KyselyOpts): Promise<K<DB>>;
26
39
  export declare function useAsyncControlPlaneKysely(connectionString: string, opt?: PgOpt & KyselyOpts): Promise<K<ControlPlaneDB>>;
27
- /**
28
- * @deprecated This method is deprecated in favor of the useAsyncKysely method.
29
- */
30
- export declare function usePostgres(connectionString?: string, opt?: Pick<PgOpt, 'forceDisableSSL'>): postgres.Sql<{}>;
31
40
  export declare function forceCloseAllPostgres(timeoutMs?: number): Promise<void>;
32
- export declare class DatabaseError extends Error {
33
- constructor(message: string, cause: any);
34
- }