@vrplatform/kysely 1.3.45-stage.5996 → 1.3.45-stage.600

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 (99) hide show
  1. package/build/.data.tar +0 -0
  2. package/build/main/control-plane/index.d.ts +314 -0
  3. package/build/main/control-plane/index.js.map +1 -1
  4. package/build/main/index.d.ts +13 -2
  5. package/build/main/index.js +217 -23
  6. package/build/main/index.js.map +1 -1
  7. package/build/main/local/generate.js +2 -0
  8. package/build/main/local/generate.js.map +1 -1
  9. package/build/main/local/index.js +110 -8
  10. package/build/main/local/index.js.map +1 -1
  11. package/build/main/postgres-error.d.ts +3 -3
  12. package/build/main/postgres-error.js +4 -3
  13. package/build/main/postgres-error.js.map +1 -1
  14. package/build/main/query/listing/status.js +2 -6
  15. package/build/main/query/listing/status.js.map +1 -1
  16. package/build/main/query/tenant/status.d.ts +5 -8
  17. package/build/main/query/tenant/status.js +16 -20
  18. package/build/main/query/tenant/status.js.map +1 -1
  19. package/build/main/regional.d.ts +1 -0
  20. package/build/main/regional.js +1 -0
  21. package/build/main/regional.js.map +1 -1
  22. package/build/main/test/index.d.ts +23 -3
  23. package/build/main/test/index.js +35 -13
  24. package/build/main/test/index.js.map +1 -1
  25. package/build/main/v1.generated.d.ts +560 -7
  26. package/build/main/v1.generated.js.map +1 -1
  27. package/build/migrations-v2/0000000000012-trial-free-analytics-billing-status.ts +72 -0
  28. package/build/migrations-v2/0000000000013-ui-permission-bundles.ts +45 -0
  29. package/build/migrations-v2/0000000000014-ui-permission-bundle-top-up.ts +32 -0
  30. package/build/migrations-v2/0000000000015-durable-flow-events.ts +163 -0
  31. package/build/migrations-v2/0000000000016-billing-listing-facts.ts +539 -0
  32. package/build/migrations-v2/0000000000016-managed-team-access.ts +34 -0
  33. package/build/migrations-v2/0000000000017-drop-trial-until.ts +42 -0
  34. package/build/migrations-v2/0000000000017-webhook-secret-reencryption-failures.ts +18 -0
  35. package/build/migrations-v2/0000000000018-accounting-integrity-monitoring.ts +276 -0
  36. package/build/migrations-v2/0000000000018-durable-flow-event-sensitive-input.ts +28 -0
  37. package/build/migrations-v2/0000000000019-accounting-integrity-run-shards.ts +26 -0
  38. package/build/migrations-v2/0000000000019-asynchronous-operations.ts +736 -0
  39. package/build/migrations-v2/0000000000020-accounting-integrity-case-classification.ts +52 -0
  40. package/build/migrations-v2/0000000000021-payment-line-classification-monitor-indexes.ts +31 -0
  41. package/build/migrations-v2/0000000000022-accounting-integrity-controlled-repairs.ts +281 -0
  42. package/build/migrations-v2/0000000000023-line-classification-usage.ts +325 -0
  43. package/build/migrations-v2/0000000000024-tenant-region-migration.ts +108 -0
  44. package/build/migrations-v2/0000000000025-partner-ach-denial-default.ts +30 -0
  45. package/build/migrations-v2/0000000000026-line-classification-usage-capture.ts +399 -0
  46. package/build/migrations-v2/0000000000027-payout-replacement-chain.ts +27 -0
  47. package/build/migrations-v2/0000000000028-accounting-integrity-operator-workflow.ts +108 -0
  48. package/build/migrations-v2/0000000000029-accounting-integrity-definition-artifacts.ts +40 -0
  49. package/build/migrations-v2/0000000000030-accounting-integrity-review-metadata-compatibility.ts +49 -0
  50. package/build/migrations-v2/0000000000031-ui-permission-role-simplification.ts +70 -0
  51. package/build/migrations-v2/0000000000032-tenant-delete-ownership-cascades.ts +44 -0
  52. package/build/migrations-v2/0000000000033-reservation-issue-seed-bucket-index.ts +19 -0
  53. package/build/migrations-v2/0000000000034-retire-recent-classification-indexes.ts +29 -0
  54. package/build/migrations-v2/0000000000035-core-change-autovacuum.ts +24 -0
  55. package/build/migrations-v2/0000000000036-journal-entry-inactive-reason-constraint.ts +33 -0
  56. package/build/migrations-v2/0000000000037-journal-entry-inactive-reasons.ts +19 -0
  57. package/build/migrations-v2/0000000000038-journal-entry-group-inactive-reason.ts +14 -0
  58. package/build/migrations-v2/0000000000039-reservation-guest-breakdown.ts +19 -0
  59. package/build/migrations-v2/0000000000040-csv-import-source-identity-index.ts +23 -0
  60. package/build/migrations-v2/0000000000041-payment-returns.ts +38 -0
  61. package/build/migrations-v2/0000000000042-operation-resource-types.ts +609 -0
  62. package/build/migrations-v2/0000000000043-reservation-journal-freshness.ts +149 -0
  63. package/build/migrations-v2/0000000000044-reservation-journal-freshness-backfill.ts +254 -0
  64. package/build/migrations-v2/0000000000045-reservation-journal-freshness-revision-repair.ts +83 -0
  65. package/build/migrations-v2/0000000000046-materialized-reservation-journal-operations.ts +709 -0
  66. package/build/migrations-v2/0000000000047-public-audit-completion.ts +77 -0
  67. package/build/migrations-v2/0000000000048-reservation-journal-full-refresh-repair.ts +136 -0
  68. package/build/migrations-v2/0000000000049-queued-journal-operation-failures.ts +60 -0
  69. package/build/migrations-v2/0000000000050-connection-oauth-state.ts +43 -0
  70. package/build/migrations-v2/0000000000051-owner-statement-email-delivery.ts +134 -0
  71. package/build/migrations-v2/0000000000052-fee-journal-lock-skip-operations.ts +59 -0
  72. package/build/migrations-v2/0000000000053-fee-journal-lock-skip-null-attempt.ts +44 -0
  73. package/build/migrations-v2/0000000000054-journal-refresh-issue-codes.ts +16 -0
  74. package/build/module/control-plane/index.d.ts +314 -0
  75. package/build/module/control-plane/index.js.map +1 -1
  76. package/build/module/index.d.ts +13 -2
  77. package/build/module/index.js +219 -24
  78. package/build/module/index.js.map +1 -1
  79. package/build/module/local/generate.js +2 -0
  80. package/build/module/local/generate.js.map +1 -1
  81. package/build/module/local/index.js +110 -8
  82. package/build/module/local/index.js.map +1 -1
  83. package/build/module/postgres-error.d.ts +3 -3
  84. package/build/module/postgres-error.js +4 -3
  85. package/build/module/postgres-error.js.map +1 -1
  86. package/build/module/query/listing/status.js +2 -6
  87. package/build/module/query/listing/status.js.map +1 -1
  88. package/build/module/query/tenant/status.d.ts +5 -8
  89. package/build/module/query/tenant/status.js +16 -20
  90. package/build/module/query/tenant/status.js.map +1 -1
  91. package/build/module/regional.d.ts +1 -0
  92. package/build/module/regional.js +1 -0
  93. package/build/module/regional.js.map +1 -1
  94. package/build/module/test/index.d.ts +23 -3
  95. package/build/module/test/index.js +34 -13
  96. package/build/module/test/index.js.map +1 -1
  97. package/build/module/v1.generated.d.ts +560 -7
  98. package/build/module/v1.generated.js.map +1 -1
  99. package/package.json +3 -2
package/build/.data.tar CHANGED
Binary file
@@ -1,4 +1,5 @@
1
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;
@@ -53,6 +110,92 @@ export interface ControlPlaneBookingChannelIconCandidate {
53
110
  export interface ControlPlaneCurrency {
54
111
  name: string;
55
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
+ }
56
199
  export interface ControlPlaneEvent {
57
200
  createdAt: Generated<Timestamp>;
58
201
  id: Generated<string>;
@@ -64,6 +207,27 @@ export interface ControlPlaneEvent {
64
207
  trackedAt: Generated<Timestamp | null>;
65
208
  userId: string | null;
66
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
+ }
67
231
  export interface ControlPlaneConnectionRoute {
68
232
  connectionId: string;
69
233
  createdAt: Generated<Timestamp>;
@@ -98,6 +262,25 @@ export interface ControlPlaneFeatureApproval {
98
262
  updatedAt: Generated<Timestamp>;
99
263
  userId: string;
100
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
+ }
101
284
  export interface ControlPlaneIssueMessageOverwrite {
102
285
  createdAt: Generated<Timestamp>;
103
286
  id: Generated<string>;
@@ -105,6 +288,74 @@ export interface ControlPlaneIssueMessageOverwrite {
105
288
  pattern: string;
106
289
  updatedAt: Generated<Timestamp>;
107
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
+ }
108
359
  export interface ControlPlaneOutbox {
109
360
  aggregateId: string;
110
361
  aggregateType: string;
@@ -118,14 +369,38 @@ export interface ControlPlaneOutbox {
118
369
  payload: Generated<Json>;
119
370
  publishedAt: Timestamp | null;
120
371
  }
372
+ export interface ControlPlanePartnerManagedTeamAssignment {
373
+ createdAt: Generated<Timestamp>;
374
+ managedTeamId: string;
375
+ partnerTenantId: string;
376
+ userId: string;
377
+ }
378
+ export interface ControlPlaneOwnerPortal {
379
+ hostname: string;
380
+ tenantId: string;
381
+ status: Generated<'pending' | 'active' | 'disabled'>;
382
+ name: string;
383
+ logo: string | null;
384
+ colorPrimary: string;
385
+ showPlatformBranding: Generated<boolean>;
386
+ linksEnabled: Generated<boolean>;
387
+ sender: {
388
+ from: string;
389
+ replyTo: string;
390
+ } | null;
391
+ revision: Generated<number>;
392
+ updatedAt: Generated<Timestamp>;
393
+ }
121
394
  export interface ControlPlaneTenant {
122
395
  billingPartnerId: string | null;
123
396
  billingPlan: string | null;
124
397
  createdAt: Generated<Timestamp>;
125
398
  dataRegion: Generated<string>;
126
399
  id: Generated<string>;
400
+ migrationStatus: Generated<string>;
127
401
  name: string;
128
402
  partnerId: string | null;
403
+ partnerDeniedPermissions: Generated<string[]>;
129
404
  slug: string;
130
405
  status: Generated<string | null>;
131
406
  storageRealm: Generated<string>;
@@ -133,10 +408,27 @@ export interface ControlPlaneTenant {
133
408
  uniqueRef: string | null;
134
409
  updatedAt: Generated<Timestamp | null>;
135
410
  }
411
+ export interface ControlPlaneTenantRegionMigration {
412
+ actor: string;
413
+ completedAt: Timestamp | null;
414
+ error: Json | null;
415
+ id: string;
416
+ reason: string;
417
+ sourceManifest: Json | null;
418
+ sourceRegion: string;
419
+ startedAt: Generated<Timestamp>;
420
+ status: Generated<string>;
421
+ targetManifest: Json | null;
422
+ targetRegion: string;
423
+ tenantId: string;
424
+ updatedAt: Generated<Timestamp>;
425
+ }
136
426
  export interface ControlPlaneTenantUser {
137
427
  createdAt: Generated<Timestamp | null>;
138
428
  id: Generated<string>;
139
429
  lastInvitedAt: Timestamp | null;
430
+ managedTeamAccess: Generated<'all' | 'assigned'>;
431
+ permissionBundles: Generated<string[]>;
140
432
  role: Generated<string | null>;
141
433
  status: Generated<string | null>;
142
434
  tenantId: string;
@@ -159,6 +451,7 @@ export interface ControlPlaneUser {
159
451
  email: string | null;
160
452
  firstName: string | null;
161
453
  id: Generated<string>;
454
+ internalOperationGrants: Generated<string[]>;
162
455
  isAdmin: Generated<boolean>;
163
456
  lastName: string | null;
164
457
  lastSeen: Timestamp | null;
@@ -172,20 +465,41 @@ export interface ControlPlaneUser {
172
465
  updatedAt: Generated<Timestamp | null>;
173
466
  }
174
467
  export interface ControlPlaneDB {
468
+ 'controlPlane.accountingIntegrityDefinitionDraft': ControlPlaneAccountingIntegrityDefinitionDraft;
469
+ 'controlPlane.accountingIntegrityDefinitionVersion': ControlPlaneAccountingIntegrityDefinitionVersion;
470
+ 'controlPlane.accountingIntegrityEvaluation': ControlPlaneAccountingIntegrityEvaluation;
175
471
  'controlPlane.app': ControlPlaneApp;
176
472
  'controlPlane.bookingChannel': ControlPlaneBookingChannel;
177
473
  'controlPlane.bookingChannelIconCandidate': ControlPlaneBookingChannelIconCandidate;
178
474
  'controlPlane.connectionRoute': ControlPlaneConnectionRoute;
179
475
  'controlPlane.controlPlaneOutbox': ControlPlaneOutbox;
180
476
  'controlPlane.currency': ControlPlaneCurrency;
477
+ 'controlPlane.destructiveJob': ControlPlaneDestructiveJob;
478
+ 'controlPlane.destructiveJobAttempt': ControlPlaneDestructiveJobAttempt;
479
+ 'controlPlane.destructiveJobOperation': ControlPlaneDestructiveJobOperation;
181
480
  'controlPlane.events': ControlPlaneEvent;
182
481
  'controlPlane.feature': ControlPlaneFeature;
183
482
  'controlPlane.featureApproval': ControlPlaneFeatureApproval;
184
483
  'controlPlane.featureEnabledTeam': ControlPlaneFeatureEnabledTeam;
484
+ 'controlPlane.generalLedgerDefaultSet': ControlPlaneGeneralLedgerDefaultSet;
485
+ 'controlPlane.generalLedgerDefaultVersion': ControlPlaneGeneralLedgerDefaultVersion;
486
+ 'controlPlane.lineClassification': ControlPlaneLineClassification;
487
+ 'controlPlane.lineClassificationTeamUsage': ControlPlaneLineClassificationTeamUsage;
488
+ 'controlPlane.operation': ControlPlaneOperation;
489
+ 'controlPlane.operationResource': ControlPlaneOperationResource;
490
+ 'controlPlane.operationSource': ControlPlaneOperationSource;
491
+ 'controlPlane.partnerManagedTeamAssignment': ControlPlanePartnerManagedTeamAssignment;
492
+ 'controlPlane.reservationLineDefault': ControlPlaneReservationLineDefault;
493
+ 'controlPlane.rolloutMonitorSnapshot': ControlPlaneRolloutMonitorSnapshot;
494
+ 'controlPlane.ownerPortal': ControlPlaneOwnerPortal;
185
495
  'controlPlane.tenant': ControlPlaneTenant;
496
+ 'controlPlane.tenantRegionMigration': ControlPlaneTenantRegionMigration;
186
497
  'controlPlane.tenantUser': ControlPlaneTenantUser;
498
+ 'controlPlane.trackingQueueFailure': ControlPlaneTrackingQueueFailure;
187
499
  'controlPlane.token': ControlPlaneToken;
500
+ 'controlPlane.transactionLineMapping': ControlPlaneTransactionLineMapping;
188
501
  'controlPlane.user': ControlPlaneUser;
502
+ 'controlPlaneCore.flow': ControlPlaneFlow;
189
503
  'controlPlaneCore.issueMessageOverwrite': ControlPlaneIssueMessageOverwrite;
190
504
  }
191
505
  export declare function withControlPlaneSchema(kysely: Kysely<ControlPlaneDB>, schema: string, issueMessageOverwriteSchema?: string): Kysely<ControlPlaneDB>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"src/","sources":["control-plane/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAySA,wDAQC;AAjTD,mCAcgB;AAyNhB,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';\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 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 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 ControlPlaneIssueMessageOverwrite {\n createdAt: Generated<Timestamp>;\n id: Generated<string>;\n message: string;\n pattern: 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 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 '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.events': ControlPlaneEvent;\n 'controlPlane.feature': ControlPlaneFeature;\n 'controlPlane.featureApproval': ControlPlaneFeatureApproval;\n 'controlPlane.featureEnabledTeam': ControlPlaneFeatureEnabledTeam;\n 'controlPlane.tenant': ControlPlaneTenant;\n 'controlPlane.tenantUser': ControlPlaneTenantUser;\n 'controlPlane.token': ControlPlaneToken;\n 'controlPlane.user': ControlPlaneUser;\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"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"src/","sources":["control-plane/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAyrBA,wDAQC;AAjsBD,mCAcgB;AAymBhB,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 ControlPlaneOwnerPortal {\n hostname: string;\n tenantId: string;\n status: Generated<'pending' | 'active' | 'disabled'>;\n name: string;\n logo: string | null;\n colorPrimary: string;\n showPlatformBranding: Generated<boolean>;\n linksEnabled: Generated<boolean>;\n sender: { from: string; replyTo: string } | null;\n revision: Generated<number>;\n updatedAt: Generated<Timestamp>;\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.ownerPortal': ControlPlaneOwnerPortal;\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"]}
@@ -8,22 +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
- hyperdrive?: true;
19
29
  probe?: true;
20
30
  retries?: false | number;
21
- };
31
+ } & Pick<KyselyOpts, 'hyperdrive'>;
22
32
  export type Kysely = K<DB>;
23
33
  export type ControlPlaneKysely = K<ControlPlaneDB>;
24
34
  export type ControlPlaneTransaction = T<ControlPlaneDB>;
25
35
  export declare function useKysely<Database = DB>(postgres: Sql, options?: KyselyOpts): K<Database>;
26
36
  export declare function useAsyncPostgres(connectionString: string, opt?: PgOpt): Promise<postgres.Sql<{}>>;
27
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>>;
28
39
  export declare function useAsyncControlPlaneKysely(connectionString: string, opt?: PgOpt & KyselyOpts): Promise<K<ControlPlaneDB>>;
29
40
  export declare function forceCloseAllPostgres(timeoutMs?: number): Promise<void>;