@betterportal/tunnels 1.0.0 → 1.0.3

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 (120) hide show
  1. package/bsb-plugin.json +54 -0
  2. package/lib/.bsb/clients/service-tunnel-client-api.d.ts +1 -1
  3. package/lib/.bsb/clients/service-tunnel-client-api.js +1 -1
  4. package/lib/.bsb/clients/service-tunnel-web.d.ts +1 -1
  5. package/lib/.bsb/clients/service-tunnel-web.js +1 -1
  6. package/lib/generated/prisma/client.d.ts +1 -0
  7. package/lib/generated/prisma/client.js +5 -0
  8. package/lib/generated/prisma/default.d.ts +1 -0
  9. package/lib/generated/prisma/default.js +5 -0
  10. package/lib/generated/prisma/edge.d.ts +1 -0
  11. package/lib/generated/prisma/edge.js +277 -0
  12. package/lib/generated/prisma/index-browser.js +303 -0
  13. package/lib/generated/prisma/index.d.ts +13835 -0
  14. package/lib/generated/prisma/index.js +277 -0
  15. package/lib/generated/prisma/package.json +144 -0
  16. package/lib/generated/prisma/query_compiler_fast_bg.js +2 -0
  17. package/lib/generated/prisma/query_compiler_fast_bg.wasm +0 -0
  18. package/lib/generated/prisma/query_compiler_fast_bg.wasm-base64.js +2 -0
  19. package/lib/generated/prisma/runtime/client.d.ts +3386 -0
  20. package/lib/generated/prisma/runtime/client.js +86 -0
  21. package/lib/generated/prisma/runtime/index-browser.d.ts +90 -0
  22. package/lib/generated/prisma/runtime/index-browser.js +6 -0
  23. package/lib/generated/prisma/runtime/wasm-compiler-edge.js +76 -0
  24. package/lib/generated/prisma/schema.prisma +141 -0
  25. package/lib/generated/prisma/wasm-edge-light-loader.mjs +5 -0
  26. package/lib/generated/prisma/wasm-worker-loader.mjs +5 -0
  27. package/lib/plugins/service-tunnels-admin/.bp-generated/registry.d.ts.map +1 -0
  28. package/lib/plugins/service-tunnels-admin/.bp-generated/registry.js.map +1 -0
  29. package/lib/plugins/service-tunnels-admin/betterportal-logo.png +0 -0
  30. package/lib/plugins/service-tunnels-admin/bp-routes/cli-auth/verify/_theme.bootstrap1/index.d.ts.map +1 -0
  31. package/lib/plugins/service-tunnels-admin/bp-routes/cli-auth/verify/_theme.bootstrap1/index.js.map +1 -0
  32. package/lib/plugins/service-tunnels-admin/bp-routes/cli-auth/verify/index.d.ts.map +1 -0
  33. package/lib/plugins/service-tunnels-admin/bp-routes/cli-auth/verify/index.js.map +1 -0
  34. package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/_theme.bootstrap1/index.d.ts.map +1 -0
  35. package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/_theme.bootstrap1/index.js.map +1 -0
  36. package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/index.d.ts.map +1 -0
  37. package/lib/plugins/service-tunnels-admin/bp-routes/dashboard/index.js.map +1 -0
  38. package/lib/plugins/service-tunnels-admin/bp-routes/downloads/_theme.bootstrap1/index.d.ts.map +1 -0
  39. package/lib/plugins/service-tunnels-admin/bp-routes/downloads/_theme.bootstrap1/index.js.map +1 -0
  40. package/lib/plugins/service-tunnels-admin/bp-routes/downloads/index.d.ts.map +1 -0
  41. package/lib/plugins/service-tunnels-admin/bp-routes/downloads/index.js.map +1 -0
  42. package/lib/plugins/service-tunnels-admin/bp-routes/landing/_theme.bootstrap1/index.d.ts.map +1 -0
  43. package/lib/plugins/service-tunnels-admin/bp-routes/landing/_theme.bootstrap1/index.js.map +1 -0
  44. package/lib/plugins/service-tunnels-admin/bp-routes/landing/index.d.ts.map +1 -0
  45. package/lib/plugins/service-tunnels-admin/bp-routes/landing/index.js.map +1 -0
  46. package/lib/plugins/service-tunnels-admin/bp-routes/tunnels/_theme.bootstrap1/index.d.ts.map +1 -0
  47. package/lib/plugins/service-tunnels-admin/bp-routes/tunnels/_theme.bootstrap1/index.js.map +1 -0
  48. package/lib/plugins/service-tunnels-admin/bp-routes/tunnels/index.d.ts.map +1 -0
  49. package/lib/plugins/service-tunnels-admin/bp-routes/tunnels/index.js.map +1 -0
  50. package/lib/plugins/service-tunnels-admin/brand-assets.d.ts.map +1 -0
  51. package/lib/plugins/service-tunnels-admin/brand-assets.js.map +1 -0
  52. package/lib/plugins/service-tunnels-admin/index.d.ts.map +1 -0
  53. package/lib/plugins/{service-betterportal → service-tunnels-admin}/index.js +1 -1
  54. package/lib/plugins/service-tunnels-admin/index.js.map +1 -0
  55. package/lib/prisma.d.ts +1 -0
  56. package/lib/prisma.d.ts.map +1 -1
  57. package/lib/prisma.js +1 -0
  58. package/lib/prisma.js.map +1 -1
  59. package/lib/schemas/service-tunnel-client-api.json +2 -2
  60. package/lib/schemas/service-tunnel-client-api.plugin.json +77 -0
  61. package/lib/schemas/service-tunnel-web.json +2 -2
  62. package/lib/schemas/service-tunnel-web.plugin.json +103 -0
  63. package/lib/schemas/{service-betterportal.json → service-tunnels-admin.json} +2 -2
  64. package/lib/schemas/service-tunnels-admin.plugin.json +120 -0
  65. package/package.json +19 -3
  66. package/lib/plugins/service-betterportal/.bp-generated/registry.d.ts.map +0 -1
  67. package/lib/plugins/service-betterportal/.bp-generated/registry.js.map +0 -1
  68. package/lib/plugins/service-betterportal/bp-routes/cli-auth/verify/_theme.bootstrap1/index.d.ts.map +0 -1
  69. package/lib/plugins/service-betterportal/bp-routes/cli-auth/verify/_theme.bootstrap1/index.js.map +0 -1
  70. package/lib/plugins/service-betterportal/bp-routes/cli-auth/verify/index.d.ts.map +0 -1
  71. package/lib/plugins/service-betterportal/bp-routes/cli-auth/verify/index.js.map +0 -1
  72. package/lib/plugins/service-betterportal/bp-routes/dashboard/_theme.bootstrap1/index.d.ts.map +0 -1
  73. package/lib/plugins/service-betterportal/bp-routes/dashboard/_theme.bootstrap1/index.js.map +0 -1
  74. package/lib/plugins/service-betterportal/bp-routes/dashboard/index.d.ts.map +0 -1
  75. package/lib/plugins/service-betterportal/bp-routes/dashboard/index.js.map +0 -1
  76. package/lib/plugins/service-betterportal/bp-routes/downloads/_theme.bootstrap1/index.d.ts.map +0 -1
  77. package/lib/plugins/service-betterportal/bp-routes/downloads/_theme.bootstrap1/index.js.map +0 -1
  78. package/lib/plugins/service-betterportal/bp-routes/downloads/index.d.ts.map +0 -1
  79. package/lib/plugins/service-betterportal/bp-routes/downloads/index.js.map +0 -1
  80. package/lib/plugins/service-betterportal/bp-routes/landing/_theme.bootstrap1/index.d.ts.map +0 -1
  81. package/lib/plugins/service-betterportal/bp-routes/landing/_theme.bootstrap1/index.js.map +0 -1
  82. package/lib/plugins/service-betterportal/bp-routes/landing/index.d.ts.map +0 -1
  83. package/lib/plugins/service-betterportal/bp-routes/landing/index.js.map +0 -1
  84. package/lib/plugins/service-betterportal/bp-routes/tunnels/_theme.bootstrap1/index.d.ts.map +0 -1
  85. package/lib/plugins/service-betterportal/bp-routes/tunnels/_theme.bootstrap1/index.js.map +0 -1
  86. package/lib/plugins/service-betterportal/bp-routes/tunnels/index.d.ts.map +0 -1
  87. package/lib/plugins/service-betterportal/bp-routes/tunnels/index.js.map +0 -1
  88. package/lib/plugins/service-betterportal/brand-assets.d.ts.map +0 -1
  89. package/lib/plugins/service-betterportal/brand-assets.js.map +0 -1
  90. package/lib/plugins/service-betterportal/index.d.ts.map +0 -1
  91. package/lib/plugins/service-betterportal/index.js.map +0 -1
  92. /package/{lib/plugins/service-betterportal/betterportal-logo.png → betterportal-logo.png} +0 -0
  93. /package/lib/plugins/{service-betterportal → service-tunnels-admin}/.bp-generated/registry.d.ts +0 -0
  94. /package/lib/plugins/{service-betterportal → service-tunnels-admin}/.bp-generated/registry.js +0 -0
  95. /package/lib/plugins/{service-betterportal → service-tunnels-admin}/assets/brand/bettertunnels-horizontal-light.svg +0 -0
  96. /package/lib/plugins/{service-betterportal → service-tunnels-admin}/assets/brand/bettertunnels-square-dark-1024x1024.png +0 -0
  97. /package/lib/plugins/{service-betterportal → service-tunnels-admin}/assets/brand/favicon.svg +0 -0
  98. /package/lib/plugins/{service-betterportal → service-tunnels-admin}/bp-routes/cli-auth/verify/_theme.bootstrap1/index.d.ts +0 -0
  99. /package/lib/plugins/{service-betterportal → service-tunnels-admin}/bp-routes/cli-auth/verify/_theme.bootstrap1/index.js +0 -0
  100. /package/lib/plugins/{service-betterportal → service-tunnels-admin}/bp-routes/cli-auth/verify/index.d.ts +0 -0
  101. /package/lib/plugins/{service-betterportal → service-tunnels-admin}/bp-routes/cli-auth/verify/index.js +0 -0
  102. /package/lib/plugins/{service-betterportal → service-tunnels-admin}/bp-routes/dashboard/_theme.bootstrap1/index.d.ts +0 -0
  103. /package/lib/plugins/{service-betterportal → service-tunnels-admin}/bp-routes/dashboard/_theme.bootstrap1/index.js +0 -0
  104. /package/lib/plugins/{service-betterportal → service-tunnels-admin}/bp-routes/dashboard/index.d.ts +0 -0
  105. /package/lib/plugins/{service-betterportal → service-tunnels-admin}/bp-routes/dashboard/index.js +0 -0
  106. /package/lib/plugins/{service-betterportal → service-tunnels-admin}/bp-routes/downloads/_theme.bootstrap1/index.d.ts +0 -0
  107. /package/lib/plugins/{service-betterportal → service-tunnels-admin}/bp-routes/downloads/_theme.bootstrap1/index.js +0 -0
  108. /package/lib/plugins/{service-betterportal → service-tunnels-admin}/bp-routes/downloads/index.d.ts +0 -0
  109. /package/lib/plugins/{service-betterportal → service-tunnels-admin}/bp-routes/downloads/index.js +0 -0
  110. /package/lib/plugins/{service-betterportal → service-tunnels-admin}/bp-routes/landing/_theme.bootstrap1/index.d.ts +0 -0
  111. /package/lib/plugins/{service-betterportal → service-tunnels-admin}/bp-routes/landing/_theme.bootstrap1/index.js +0 -0
  112. /package/lib/plugins/{service-betterportal → service-tunnels-admin}/bp-routes/landing/index.d.ts +0 -0
  113. /package/lib/plugins/{service-betterportal → service-tunnels-admin}/bp-routes/landing/index.js +0 -0
  114. /package/lib/plugins/{service-betterportal → service-tunnels-admin}/bp-routes/tunnels/_theme.bootstrap1/index.d.ts +0 -0
  115. /package/lib/plugins/{service-betterportal → service-tunnels-admin}/bp-routes/tunnels/_theme.bootstrap1/index.js +0 -0
  116. /package/lib/plugins/{service-betterportal → service-tunnels-admin}/bp-routes/tunnels/index.d.ts +0 -0
  117. /package/lib/plugins/{service-betterportal → service-tunnels-admin}/bp-routes/tunnels/index.js +0 -0
  118. /package/lib/plugins/{service-betterportal → service-tunnels-admin}/brand-assets.d.ts +0 -0
  119. /package/lib/plugins/{service-betterportal → service-tunnels-admin}/brand-assets.js +0 -0
  120. /package/lib/plugins/{service-betterportal → service-tunnels-admin}/index.d.ts +0 -0
@@ -0,0 +1,54 @@
1
+ {
2
+ "nodejs": [
3
+ {
4
+ "id": "service-tunnel-client-api",
5
+ "name": "service-tunnel-client-api",
6
+ "basePath": "./",
7
+ "description": "Client websocket/API service",
8
+ "tags": [
9
+ "service",
10
+ "websocket",
11
+ "tunnel"
12
+ ],
13
+ "documentation": [],
14
+ "pluginPath": "src/plugins/service-tunnel-client-api/",
15
+ "links": {
16
+ "github": "https://github.com/BetterCorp/BetterTunnels"
17
+ }
18
+ },
19
+ {
20
+ "id": "service-tunnel-web",
21
+ "name": "service-tunnel-web",
22
+ "basePath": "./",
23
+ "description": "Front-facing H3 tunnel service",
24
+ "tags": [
25
+ "service",
26
+ "h3",
27
+ "tunnel"
28
+ ],
29
+ "documentation": [],
30
+ "pluginPath": "src/plugins/service-tunnel-web/",
31
+ "links": {
32
+ "github": "https://github.com/BetterCorp/BetterTunnels"
33
+ }
34
+ },
35
+ {
36
+ "id": "service-tunnels-admin",
37
+ "name": "service-tunnels-admin",
38
+ "basePath": "./",
39
+ "description": "BetterPortal public and management UI for BetterTunnels",
40
+ "tags": [
41
+ "betterportal",
42
+ "web",
43
+ "management",
44
+ "tunnels"
45
+ ],
46
+ "documentation": [],
47
+ "pluginPath": "src/plugins/service-tunnels-admin/",
48
+ "image": "./betterportal-logo.png",
49
+ "links": {
50
+ "github": "https://github.com/BetterCorp/BetterTunnels"
51
+ }
52
+ }
53
+ ]
54
+ }
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Auto-generated BSB virtual client for service-tunnel-client-api
3
3
  * DO NOT EDIT - Regenerated on every build
4
- * @version 1.0.0
4
+ * @version 1.0.3
5
5
  */
6
6
  import { ServiceClient, BSBService } from "@bsb/base";
7
7
  import type { Observable, BSBServiceClientDefinition, EventInputType, EventOutputType } from "@bsb/base";
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Auto-generated BSB virtual client for service-tunnel-client-api
3
3
  * DO NOT EDIT - Regenerated on every build
4
- * @version 1.0.0
4
+ * @version 1.0.3
5
5
  */
6
6
  import { ServiceClient, bsb, optional, createReturnableEvent, createFireAndForgetEvent, createEventSchemas } from "@bsb/base";
7
7
  const _wsToOriginSchema = bsb.object({
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Auto-generated BSB virtual client for service-tunnel-web
3
3
  * DO NOT EDIT - Regenerated on every build
4
- * @version 1.0.0
4
+ * @version 1.0.3
5
5
  */
6
6
  import { ServiceClient, BSBService } from "@bsb/base";
7
7
  import type { Observable, BSBServiceClientDefinition, EventInputType } from "@bsb/base";
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Auto-generated BSB virtual client for service-tunnel-web
3
3
  * DO NOT EDIT - Regenerated on every build
4
- * @version 1.0.0
4
+ * @version 1.0.3
5
5
  */
6
6
  import { ServiceClient, bsb, optional, createFireAndForgetEvent, createEventSchemas } from "@bsb/base";
7
7
  const _wsFromOriginSchema = bsb.object({
@@ -0,0 +1 @@
1
+ export * from "./index"
@@ -0,0 +1,5 @@
1
+
2
+ /* !!! This is code generated by Prisma. Do not edit directly. !!!
3
+ /* eslint-disable */
4
+ // biome-ignore-all lint: generated file
5
+ module.exports = { ...require('.') }
@@ -0,0 +1 @@
1
+ export * from "./index"
@@ -0,0 +1,5 @@
1
+
2
+ /* !!! This is code generated by Prisma. Do not edit directly. !!!
3
+ /* eslint-disable */
4
+ // biome-ignore-all lint: generated file
5
+ module.exports = { ...require('#main-entry-point') }
@@ -0,0 +1 @@
1
+ export * from "./default"
@@ -0,0 +1,277 @@
1
+
2
+ /* !!! This is code generated by Prisma. Do not edit directly. !!!
3
+ /* eslint-disable */
4
+ // biome-ignore-all lint: generated file
5
+
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+
8
+ const {
9
+ PrismaClientKnownRequestError,
10
+ PrismaClientUnknownRequestError,
11
+ PrismaClientRustPanicError,
12
+ PrismaClientInitializationError,
13
+ PrismaClientValidationError,
14
+ getPrismaClient,
15
+ sqltag,
16
+ empty,
17
+ join,
18
+ raw,
19
+ skip,
20
+ Decimal,
21
+ Debug,
22
+ DbNull,
23
+ JsonNull,
24
+ AnyNull,
25
+ NullTypes,
26
+ makeStrictEnum,
27
+ Extensions,
28
+ warnOnce,
29
+ defineDmmfProperty,
30
+ Public,
31
+ getRuntime,
32
+ createParam,
33
+ } = require('./runtime/wasm-compiler-edge.js')
34
+
35
+
36
+ const Prisma = {}
37
+
38
+ exports.Prisma = Prisma
39
+ exports.$Enums = {}
40
+
41
+ /**
42
+ * Prisma Client JS version: 7.8.0
43
+ * Query Engine version: 3c6e192761c0362d496ed980de936e2f3cebcd3a
44
+ */
45
+ Prisma.prismaVersion = {
46
+ client: "7.8.0",
47
+ engine: "3c6e192761c0362d496ed980de936e2f3cebcd3a"
48
+ }
49
+
50
+ Prisma.PrismaClientKnownRequestError = PrismaClientKnownRequestError;
51
+ Prisma.PrismaClientUnknownRequestError = PrismaClientUnknownRequestError
52
+ Prisma.PrismaClientRustPanicError = PrismaClientRustPanicError
53
+ Prisma.PrismaClientInitializationError = PrismaClientInitializationError
54
+ Prisma.PrismaClientValidationError = PrismaClientValidationError
55
+ Prisma.Decimal = Decimal
56
+
57
+ /**
58
+ * Re-export of sql-template-tag
59
+ */
60
+ Prisma.sql = sqltag
61
+ Prisma.empty = empty
62
+ Prisma.join = join
63
+ Prisma.raw = raw
64
+ Prisma.validator = Public.validator
65
+
66
+ /**
67
+ * Extensions
68
+ */
69
+ Prisma.getExtensionContext = Extensions.getExtensionContext
70
+ Prisma.defineExtension = Extensions.defineExtension
71
+
72
+ /**
73
+ * Shorthand utilities for JSON filtering
74
+ */
75
+ Prisma.DbNull = DbNull
76
+ Prisma.JsonNull = JsonNull
77
+ Prisma.AnyNull = AnyNull
78
+
79
+ Prisma.NullTypes = NullTypes
80
+
81
+
82
+
83
+
84
+
85
+ /**
86
+ * Enums
87
+ */
88
+ exports.Prisma.TransactionIsolationLevel = makeStrictEnum({
89
+ ReadUncommitted: 'ReadUncommitted',
90
+ ReadCommitted: 'ReadCommitted',
91
+ RepeatableRead: 'RepeatableRead',
92
+ Serializable: 'Serializable'
93
+ });
94
+
95
+ exports.Prisma.AccountScalarFieldEnum = {
96
+ id: 'id',
97
+ email: 'email',
98
+ plan: 'plan',
99
+ verificationBypass: 'verificationBypass',
100
+ ipVerification: 'ipVerification',
101
+ createdAt: 'createdAt'
102
+ };
103
+
104
+ exports.Prisma.ClientSessionScalarFieldEnum = {
105
+ id: 'id',
106
+ accountId: 'accountId',
107
+ ipHash: 'ipHash',
108
+ userAgent: 'userAgent',
109
+ createdAt: 'createdAt',
110
+ expiresAt: 'expiresAt'
111
+ };
112
+
113
+ exports.Prisma.TunnelScalarFieldEnum = {
114
+ id: 'id',
115
+ accountId: 'accountId',
116
+ sessionId: 'sessionId',
117
+ subdomain: 'subdomain',
118
+ ownerServerId: 'ownerServerId',
119
+ targetHost: 'targetHost',
120
+ targetPort: 'targetPort',
121
+ authenticated: 'authenticated',
122
+ status: 'status',
123
+ createdAt: 'createdAt',
124
+ expiresAt: 'expiresAt'
125
+ };
126
+
127
+ exports.Prisma.VisitorValidationScalarFieldEnum = {
128
+ id: 'id',
129
+ tunnelId: 'tunnelId',
130
+ visitorIpHash: 'visitorIpHash',
131
+ userAgentHash: 'userAgentHash',
132
+ validationCookieHash: 'validationCookieHash',
133
+ validatedAt: 'validatedAt',
134
+ expiresAt: 'expiresAt'
135
+ };
136
+
137
+ exports.Prisma.UsageCounterScalarFieldEnum = {
138
+ tunnelId: 'tunnelId',
139
+ requests: 'requests',
140
+ bytesIn: 'bytesIn',
141
+ bytesOut: 'bytesOut',
142
+ updatedAt: 'updatedAt'
143
+ };
144
+
145
+ exports.Prisma.AuditEventScalarFieldEnum = {
146
+ id: 'id',
147
+ event: 'event',
148
+ subjectId: 'subjectId',
149
+ data: 'data',
150
+ createdAt: 'createdAt'
151
+ };
152
+
153
+ exports.Prisma.ClientAuthSessionScalarFieldEnum = {
154
+ id: 'id',
155
+ browserKeyHash: 'browserKeyHash',
156
+ pollSecretHash: 'pollSecretHash',
157
+ status: 'status',
158
+ tenantId: 'tenantId',
159
+ appId: 'appId',
160
+ bpUserSubject: 'bpUserSubject',
161
+ bpUserEmail: 'bpUserEmail',
162
+ clientIpHash: 'clientIpHash',
163
+ userAgentHash: 'userAgentHash',
164
+ expiresAt: 'expiresAt',
165
+ approvedAt: 'approvedAt',
166
+ consumedAt: 'consumedAt',
167
+ createdAt: 'createdAt'
168
+ };
169
+
170
+ exports.Prisma.ClientDeviceTokenScalarFieldEnum = {
171
+ id: 'id',
172
+ accountId: 'accountId',
173
+ tenantId: 'tenantId',
174
+ bpUserSubject: 'bpUserSubject',
175
+ tokenHash: 'tokenHash',
176
+ name: 'name',
177
+ ipRangeHash: 'ipRangeHash',
178
+ ipFamily: 'ipFamily',
179
+ userAgentHash: 'userAgentHash',
180
+ expiresAt: 'expiresAt',
181
+ revokedAt: 'revokedAt',
182
+ lastUsedAt: 'lastUsedAt',
183
+ createdAt: 'createdAt'
184
+ };
185
+
186
+ exports.Prisma.SortOrder = {
187
+ asc: 'asc',
188
+ desc: 'desc'
189
+ };
190
+
191
+ exports.Prisma.NullableJsonNullValueInput = {
192
+ DbNull: Prisma.DbNull,
193
+ JsonNull: Prisma.JsonNull
194
+ };
195
+
196
+ exports.Prisma.QueryMode = {
197
+ default: 'default',
198
+ insensitive: 'insensitive'
199
+ };
200
+
201
+ exports.Prisma.NullsOrder = {
202
+ first: 'first',
203
+ last: 'last'
204
+ };
205
+
206
+ exports.Prisma.JsonNullValueFilter = {
207
+ DbNull: Prisma.DbNull,
208
+ JsonNull: Prisma.JsonNull,
209
+ AnyNull: Prisma.AnyNull
210
+ };
211
+ exports.TunnelStatus = exports.$Enums.TunnelStatus = {
212
+ created: 'created',
213
+ active: 'active',
214
+ draining: 'draining',
215
+ disconnected: 'disconnected',
216
+ expired: 'expired',
217
+ closed: 'closed'
218
+ };
219
+
220
+ exports.AccountPlan = exports.$Enums.AccountPlan = {
221
+ anonymous: 'anonymous',
222
+ free: 'free',
223
+ paid: 'paid',
224
+ admin: 'admin'
225
+ };
226
+
227
+ exports.AuthSessionStatus = exports.$Enums.AuthSessionStatus = {
228
+ pending: 'pending',
229
+ approved: 'approved',
230
+ consumed: 'consumed',
231
+ expired: 'expired',
232
+ denied: 'denied'
233
+ };
234
+
235
+ exports.Prisma.ModelName = {
236
+ Account: 'Account',
237
+ ClientSession: 'ClientSession',
238
+ Tunnel: 'Tunnel',
239
+ VisitorValidation: 'VisitorValidation',
240
+ UsageCounter: 'UsageCounter',
241
+ AuditEvent: 'AuditEvent',
242
+ ClientAuthSession: 'ClientAuthSession',
243
+ ClientDeviceToken: 'ClientDeviceToken'
244
+ };
245
+ /**
246
+ * Create the Client
247
+ */
248
+ const config = {
249
+ "previewFeatures": [],
250
+ "clientVersion": "7.8.0",
251
+ "engineVersion": "3c6e192761c0362d496ed980de936e2f3cebcd3a",
252
+ "activeProvider": "postgresql",
253
+ "inlineSchema": "generator client {\n provider = \"prisma-client-js\"\n output = \"../src/generated/prisma\"\n}\n\ndatasource db {\n provider = \"postgresql\"\n}\n\nmodel Account {\n id String @id @default(cuid())\n email String? @unique\n plan AccountPlan @default(anonymous)\n verificationBypass Boolean @default(false)\n ipVerification Boolean @default(false)\n createdAt DateTime @default(now())\n tunnels Tunnel[]\n}\n\nmodel ClientSession {\n id String @id @default(cuid())\n accountId String?\n ipHash String?\n userAgent String?\n createdAt DateTime @default(now())\n expiresAt DateTime?\n tunnels Tunnel[]\n}\n\nmodel Tunnel {\n id String @id @default(cuid())\n accountId String?\n sessionId String\n subdomain String @unique\n ownerServerId String?\n targetHost String\n targetPort Int\n authenticated Boolean @default(false)\n status TunnelStatus @default(created)\n createdAt DateTime @default(now())\n expiresAt DateTime\n account Account? @relation(fields: [accountId], references: [id])\n session ClientSession @relation(fields: [sessionId], references: [id])\n validations VisitorValidation[]\n usage UsageCounter?\n\n @@index([sessionId])\n @@index([expiresAt])\n}\n\nmodel VisitorValidation {\n id String @id @default(cuid())\n tunnelId String\n visitorIpHash String\n userAgentHash String\n validationCookieHash String\n validatedAt DateTime @default(now())\n expiresAt DateTime\n tunnel Tunnel @relation(fields: [tunnelId], references: [id])\n\n @@index([tunnelId, visitorIpHash, userAgentHash])\n}\n\nmodel UsageCounter {\n tunnelId String @id\n requests Int @default(0)\n bytesIn BigInt @default(0)\n bytesOut BigInt @default(0)\n updatedAt DateTime @updatedAt\n tunnel Tunnel @relation(fields: [tunnelId], references: [id])\n}\n\nmodel AuditEvent {\n id String @id @default(cuid())\n event String\n subjectId String?\n data Json?\n createdAt DateTime @default(now())\n}\n\nmodel ClientAuthSession {\n id String @id @default(cuid())\n browserKeyHash String\n pollSecretHash String\n status AuthSessionStatus @default(pending)\n tenantId String?\n appId String?\n bpUserSubject String?\n bpUserEmail String?\n clientIpHash String?\n userAgentHash String?\n expiresAt DateTime\n approvedAt DateTime?\n consumedAt DateTime?\n createdAt DateTime @default(now())\n\n @@index([status, expiresAt])\n}\n\nmodel ClientDeviceToken {\n id String @id @default(cuid())\n accountId String?\n tenantId String\n bpUserSubject String\n tokenHash String @unique\n name String?\n ipRangeHash String\n ipFamily String\n userAgentHash String?\n expiresAt DateTime\n revokedAt DateTime?\n lastUsedAt DateTime?\n createdAt DateTime @default(now())\n\n @@index([tenantId, bpUserSubject])\n @@index([expiresAt])\n}\n\nenum TunnelStatus {\n created\n active\n draining\n disconnected\n expired\n closed\n}\n\nenum AccountPlan {\n anonymous\n free\n paid\n admin\n}\n\nenum AuthSessionStatus {\n pending\n approved\n consumed\n expired\n denied\n}\n"
254
+ }
255
+
256
+ config.runtimeDataModel = JSON.parse("{\"models\":{\"Account\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"plan\",\"kind\":\"enum\",\"type\":\"AccountPlan\"},{\"name\":\"verificationBypass\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"ipVerification\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"tunnels\",\"kind\":\"object\",\"type\":\"Tunnel\",\"relationName\":\"AccountToTunnel\"}],\"dbName\":null},\"ClientSession\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"accountId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"ipHash\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userAgent\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"expiresAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"tunnels\",\"kind\":\"object\",\"type\":\"Tunnel\",\"relationName\":\"ClientSessionToTunnel\"}],\"dbName\":null},\"Tunnel\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"accountId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"sessionId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"subdomain\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"ownerServerId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"targetHost\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"targetPort\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"authenticated\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"TunnelStatus\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"expiresAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"account\",\"kind\":\"object\",\"type\":\"Account\",\"relationName\":\"AccountToTunnel\"},{\"name\":\"session\",\"kind\":\"object\",\"type\":\"ClientSession\",\"relationName\":\"ClientSessionToTunnel\"},{\"name\":\"validations\",\"kind\":\"object\",\"type\":\"VisitorValidation\",\"relationName\":\"TunnelToVisitorValidation\"},{\"name\":\"usage\",\"kind\":\"object\",\"type\":\"UsageCounter\",\"relationName\":\"TunnelToUsageCounter\"}],\"dbName\":null},\"VisitorValidation\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"tunnelId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"visitorIpHash\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userAgentHash\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"validationCookieHash\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"validatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"expiresAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"tunnel\",\"kind\":\"object\",\"type\":\"Tunnel\",\"relationName\":\"TunnelToVisitorValidation\"}],\"dbName\":null},\"UsageCounter\":{\"fields\":[{\"name\":\"tunnelId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"requests\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"bytesIn\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"bytesOut\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"tunnel\",\"kind\":\"object\",\"type\":\"Tunnel\",\"relationName\":\"TunnelToUsageCounter\"}],\"dbName\":null},\"AuditEvent\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"event\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"subjectId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"data\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"ClientAuthSession\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"browserKeyHash\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"pollSecretHash\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"AuthSessionStatus\"},{\"name\":\"tenantId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"appId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"bpUserSubject\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"bpUserEmail\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"clientIpHash\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userAgentHash\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"expiresAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"approvedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"consumedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"ClientDeviceToken\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"accountId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"tenantId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"bpUserSubject\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"tokenHash\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"ipRangeHash\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"ipFamily\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userAgentHash\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"expiresAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"revokedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"lastUsedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null}},\"enums\":{},\"types\":{}}")
257
+ defineDmmfProperty(exports.Prisma, config.runtimeDataModel)
258
+ config.parameterizationSchema = {
259
+ strings: JSON.parse("[\"where\",\"orderBy\",\"cursor\",\"account\",\"tunnels\",\"_count\",\"session\",\"tunnel\",\"validations\",\"usage\",\"Account.findUnique\",\"Account.findUniqueOrThrow\",\"Account.findFirst\",\"Account.findFirstOrThrow\",\"Account.findMany\",\"data\",\"Account.createOne\",\"Account.createMany\",\"Account.createManyAndReturn\",\"Account.updateOne\",\"Account.updateMany\",\"Account.updateManyAndReturn\",\"create\",\"update\",\"Account.upsertOne\",\"Account.deleteOne\",\"Account.deleteMany\",\"having\",\"_min\",\"_max\",\"Account.groupBy\",\"Account.aggregate\",\"ClientSession.findUnique\",\"ClientSession.findUniqueOrThrow\",\"ClientSession.findFirst\",\"ClientSession.findFirstOrThrow\",\"ClientSession.findMany\",\"ClientSession.createOne\",\"ClientSession.createMany\",\"ClientSession.createManyAndReturn\",\"ClientSession.updateOne\",\"ClientSession.updateMany\",\"ClientSession.updateManyAndReturn\",\"ClientSession.upsertOne\",\"ClientSession.deleteOne\",\"ClientSession.deleteMany\",\"ClientSession.groupBy\",\"ClientSession.aggregate\",\"Tunnel.findUnique\",\"Tunnel.findUniqueOrThrow\",\"Tunnel.findFirst\",\"Tunnel.findFirstOrThrow\",\"Tunnel.findMany\",\"Tunnel.createOne\",\"Tunnel.createMany\",\"Tunnel.createManyAndReturn\",\"Tunnel.updateOne\",\"Tunnel.updateMany\",\"Tunnel.updateManyAndReturn\",\"Tunnel.upsertOne\",\"Tunnel.deleteOne\",\"Tunnel.deleteMany\",\"_avg\",\"_sum\",\"Tunnel.groupBy\",\"Tunnel.aggregate\",\"VisitorValidation.findUnique\",\"VisitorValidation.findUniqueOrThrow\",\"VisitorValidation.findFirst\",\"VisitorValidation.findFirstOrThrow\",\"VisitorValidation.findMany\",\"VisitorValidation.createOne\",\"VisitorValidation.createMany\",\"VisitorValidation.createManyAndReturn\",\"VisitorValidation.updateOne\",\"VisitorValidation.updateMany\",\"VisitorValidation.updateManyAndReturn\",\"VisitorValidation.upsertOne\",\"VisitorValidation.deleteOne\",\"VisitorValidation.deleteMany\",\"VisitorValidation.groupBy\",\"VisitorValidation.aggregate\",\"UsageCounter.findUnique\",\"UsageCounter.findUniqueOrThrow\",\"UsageCounter.findFirst\",\"UsageCounter.findFirstOrThrow\",\"UsageCounter.findMany\",\"UsageCounter.createOne\",\"UsageCounter.createMany\",\"UsageCounter.createManyAndReturn\",\"UsageCounter.updateOne\",\"UsageCounter.updateMany\",\"UsageCounter.updateManyAndReturn\",\"UsageCounter.upsertOne\",\"UsageCounter.deleteOne\",\"UsageCounter.deleteMany\",\"UsageCounter.groupBy\",\"UsageCounter.aggregate\",\"AuditEvent.findUnique\",\"AuditEvent.findUniqueOrThrow\",\"AuditEvent.findFirst\",\"AuditEvent.findFirstOrThrow\",\"AuditEvent.findMany\",\"AuditEvent.createOne\",\"AuditEvent.createMany\",\"AuditEvent.createManyAndReturn\",\"AuditEvent.updateOne\",\"AuditEvent.updateMany\",\"AuditEvent.updateManyAndReturn\",\"AuditEvent.upsertOne\",\"AuditEvent.deleteOne\",\"AuditEvent.deleteMany\",\"AuditEvent.groupBy\",\"AuditEvent.aggregate\",\"ClientAuthSession.findUnique\",\"ClientAuthSession.findUniqueOrThrow\",\"ClientAuthSession.findFirst\",\"ClientAuthSession.findFirstOrThrow\",\"ClientAuthSession.findMany\",\"ClientAuthSession.createOne\",\"ClientAuthSession.createMany\",\"ClientAuthSession.createManyAndReturn\",\"ClientAuthSession.updateOne\",\"ClientAuthSession.updateMany\",\"ClientAuthSession.updateManyAndReturn\",\"ClientAuthSession.upsertOne\",\"ClientAuthSession.deleteOne\",\"ClientAuthSession.deleteMany\",\"ClientAuthSession.groupBy\",\"ClientAuthSession.aggregate\",\"ClientDeviceToken.findUnique\",\"ClientDeviceToken.findUniqueOrThrow\",\"ClientDeviceToken.findFirst\",\"ClientDeviceToken.findFirstOrThrow\",\"ClientDeviceToken.findMany\",\"ClientDeviceToken.createOne\",\"ClientDeviceToken.createMany\",\"ClientDeviceToken.createManyAndReturn\",\"ClientDeviceToken.updateOne\",\"ClientDeviceToken.updateMany\",\"ClientDeviceToken.updateManyAndReturn\",\"ClientDeviceToken.upsertOne\",\"ClientDeviceToken.deleteOne\",\"ClientDeviceToken.deleteMany\",\"ClientDeviceToken.groupBy\",\"ClientDeviceToken.aggregate\",\"AND\",\"OR\",\"NOT\",\"id\",\"accountId\",\"tenantId\",\"bpUserSubject\",\"tokenHash\",\"name\",\"ipRangeHash\",\"ipFamily\",\"userAgentHash\",\"expiresAt\",\"revokedAt\",\"lastUsedAt\",\"createdAt\",\"equals\",\"in\",\"notIn\",\"lt\",\"lte\",\"gt\",\"gte\",\"not\",\"contains\",\"startsWith\",\"endsWith\",\"browserKeyHash\",\"pollSecretHash\",\"AuthSessionStatus\",\"status\",\"appId\",\"bpUserEmail\",\"clientIpHash\",\"approvedAt\",\"consumedAt\",\"event\",\"subjectId\",\"string_contains\",\"string_starts_with\",\"string_ends_with\",\"array_starts_with\",\"array_ends_with\",\"array_contains\",\"tunnelId\",\"requests\",\"bytesIn\",\"bytesOut\",\"updatedAt\",\"visitorIpHash\",\"validationCookieHash\",\"validatedAt\",\"sessionId\",\"subdomain\",\"ownerServerId\",\"targetHost\",\"targetPort\",\"authenticated\",\"TunnelStatus\",\"ipHash\",\"userAgent\",\"every\",\"some\",\"none\",\"email\",\"AccountPlan\",\"plan\",\"verificationBypass\",\"ipVerification\",\"is\",\"isNot\",\"connectOrCreate\",\"upsert\",\"disconnect\",\"delete\",\"connect\",\"createMany\",\"set\",\"updateMany\",\"deleteMany\",\"increment\",\"decrement\",\"multiply\",\"divide\"]"),
260
+ graph: "jwNIgAEKBAAAhwIAIJIBAACNAgAwkwEAAAcAEJQBAACNAgAwlQEBAAAAAaEBQADlAQAh0gEBAAAAAdQBAACOAtQBItUBIACPAgAh1gEgAI8CACEBAAAAAQAgEgMAAJICACAGAACTAgAgCAAAlAIAIAkAAJUCACCSAQAAkAIAMJMBAAADABCUAQAAkAIAMJUBAQDjAQAhlgEBAOQBACGeAUAA5QEAIaEBQADlAQAhsAEAAJECzQEixgEBAOMBACHHAQEA4wEAIcgBAQDkAQAhyQEBAOMBACHKAQIA-gEAIcsBIACPAgAhBgMAAPUCACAGAAD2AgAgCAAA9wIAIAkAAPgCACCWAQAAlgIAIMgBAACWAgAgEgMAAJICACAGAACTAgAgCAAAlAIAIAkAAJUCACCSAQAAkAIAMJMBAAADABCUAQAAkAIAMJUBAQAAAAGWAQEA5AEAIZ4BQADlAQAhoQFAAOUBACGwAQAAkQLNASLGAQEA4wEAIccBAQAAAAHIAQEA5AEAIckBAQDjAQAhygECAPoBACHLASAAjwIAIQMAAAADACABAAAEADACAAAFACAKBAAAhwIAIJIBAACNAgAwkwEAAAcAEJQBAACNAgAwlQEBAOMBACGhAUAA5QEAIdIBAQDkAQAh1AEAAI4C1AEi1QEgAI8CACHWASAAjwIAIQEAAAAHACADAAAAAwAgAQAABAAwAgAABQAgAQAAAAMAIAsHAAD8AQAgkgEAAIwCADCTAQAACwAQlAEAAIwCADCVAQEA4wEAIZ0BAQDjAQAhngFAAOUBACG-AQEA4wEAIcMBAQDjAQAhxAEBAOMBACHFAUAA5QEAIQEHAACuAgAgCwcAAPwBACCSAQAAjAIAMJMBAAALABCUAQAAjAIAMJUBAQAAAAGdAQEA4wEAIZ4BQADlAQAhvgEBAOMBACHDAQEA4wEAIcQBAQDjAQAhxQFAAOUBACEDAAAACwAgAQAADAAwAgAADQAgCQcAAPwBACCSAQAA-QEAMJMBAAAPABCUAQAA-QEAML4BAQDjAQAhvwECAPoBACHAAQQA-wEAIcEBBAD7AQAhwgFAAOUBACEBAAAADwAgAQAAAAsAIAEAAAADACABAAAAAQAgAgQAAOUCACDSAQAAlgIAIAMAAAAHACABAAAUADACAAABACADAAAABwAgAQAAFAAwAgAAAQAgAwAAAAcAIAEAABQAMAIAAAEAIAcEAAD0AgAglQEBAAAAAaEBQAAAAAHSAQEAAAAB1AEAAADUAQLVASAAAAAB1gEgAAAAAQEPAAAYACAGlQEBAAAAAaEBQAAAAAHSAQEAAAAB1AEAAADUAQLVASAAAAAB1gEgAAAAAQEPAAAaADABDwAAGgAwBwQAAOoCACCVAQEAmgIAIaEBQACcAgAh0gEBAJsCACHUAQAA6QLUASLVASAAuQIAIdYBIAC5AgAhAgAAAAEAIA8AAB0AIAaVAQEAmgIAIaEBQACcAgAh0gEBAJsCACHUAQAA6QLUASLVASAAuQIAIdYBIAC5AgAhAgAAAAcAIA8AAB8AIAIAAAAHACAPAAAfACADAAAAAQAgFgAAGAAgFwAAHQAgAQAAAAEAIAEAAAAHACAEBQAA5gIAIBwAAOgCACAdAADnAgAg0gEAAJYCACAJkgEAAIgCADCTAQAAJgAQlAEAAIgCADCVAQEA1AEAIaEBQADWAQAh0gEBANUBACHUAQAAiQLUASLVASAA_wEAIdYBIAD_AQAhAwAAAAcAIAEAACUAMBsAACYAIAMAAAAHACABAAAUADACAAABACAKBAAAhwIAIJIBAACGAgAwkwEAACwAEJQBAACGAgAwlQEBAAAAAZYBAQDkAQAhngFAAOYBACGhAUAA5QEAIc0BAQDkAQAhzgEBAOQBACEBAAAAKQAgAQAAACkAIAoEAACHAgAgkgEAAIYCADCTAQAALAAQlAEAAIYCADCVAQEA4wEAIZYBAQDkAQAhngFAAOYBACGhAUAA5QEAIc0BAQDkAQAhzgEBAOQBACEFBAAA5QIAIJYBAACWAgAgngEAAJYCACDNAQAAlgIAIM4BAACWAgAgAwAAACwAIAEAAC0AMAIAACkAIAMAAAAsACABAAAtADACAAApACADAAAALAAgAQAALQAwAgAAKQAgBwQAAOQCACCVAQEAAAABlgEBAAAAAZ4BQAAAAAGhAUAAAAABzQEBAAAAAc4BAQAAAAEBDwAAMQAgBpUBAQAAAAGWAQEAAAABngFAAAAAAaEBQAAAAAHNAQEAAAABzgEBAAAAAQEPAAAzADABDwAAMwAwBwQAANcCACCVAQEAmgIAIZYBAQCbAgAhngFAAJ0CACGhAUAAnAIAIc0BAQCbAgAhzgEBAJsCACECAAAAKQAgDwAANgAgBpUBAQCaAgAhlgEBAJsCACGeAUAAnQIAIaEBQACcAgAhzQEBAJsCACHOAQEAmwIAIQIAAAAsACAPAAA4ACACAAAALAAgDwAAOAAgAwAAACkAIBYAADEAIBcAADYAIAEAAAApACABAAAALAAgBwUAANQCACAcAADWAgAgHQAA1QIAIJYBAACWAgAgngEAAJYCACDNAQAAlgIAIM4BAACWAgAgCZIBAACFAgAwkwEAAD8AEJQBAACFAgAwlQEBANQBACGWAQEA1QEAIZ4BQADXAQAhoQFAANYBACHNAQEA1QEAIc4BAQDVAQAhAwAAACwAIAEAAD4AMBsAAD8AIAMAAAAsACABAAAtADACAAApACABAAAABQAgAQAAAAUAIAMAAAADACABAAAEADACAAAFACADAAAAAwAgAQAABAAwAgAABQAgAwAAAAMAIAEAAAQAMAIAAAUAIA8DAADQAgAgBgAA0QIAIAgAANICACAJAADTAgAglQEBAAAAAZYBAQAAAAGeAUAAAAABoQFAAAAAAbABAAAAzQECxgEBAAAAAccBAQAAAAHIAQEAAAAByQEBAAAAAcoBAgAAAAHLASAAAAABAQ8AAEcAIAuVAQEAAAABlgEBAAAAAZ4BQAAAAAGhAUAAAAABsAEAAADNAQLGAQEAAAABxwEBAAAAAcgBAQAAAAHJAQEAAAABygECAAAAAcsBIAAAAAEBDwAASQAwAQ8AAEkAMAEAAAAHACAPAwAAuwIAIAYAALwCACAIAAC9AgAgCQAAvgIAIJUBAQCaAgAhlgEBAJsCACGeAUAAnAIAIaEBQACcAgAhsAEAALoCzQEixgEBAJoCACHHAQEAmgIAIcgBAQCbAgAhyQEBAJoCACHKAQIAqgIAIcsBIAC5AgAhAgAAAAUAIA8AAE0AIAuVAQEAmgIAIZYBAQCbAgAhngFAAJwCACGhAUAAnAIAIbABAAC6As0BIsYBAQCaAgAhxwEBAJoCACHIAQEAmwIAIckBAQCaAgAhygECAKoCACHLASAAuQIAIQIAAAADACAPAABPACACAAAAAwAgDwAATwAgAQAAAAcAIAMAAAAFACAWAABHACAXAABNACABAAAABQAgAQAAAAMAIAcFAAC0AgAgHAAAtwIAIB0AALYCACA-AAC1AgAgPwAAuAIAIJYBAACWAgAgyAEAAJYCACAOkgEAAP4BADCTAQAAVwAQlAEAAP4BADCVAQEA1AEAIZYBAQDVAQAhngFAANYBACGhAUAA1gEAIbABAACAAs0BIsYBAQDUAQAhxwEBANQBACHIAQEA1QEAIckBAQDUAQAhygECAPMBACHLASAA_wEAIQMAAAADACABAABWADAbAABXACADAAAAAwAgAQAABAAwAgAABQAgAQAAAA0AIAEAAAANACADAAAACwAgAQAADAAwAgAADQAgAwAAAAsAIAEAAAwAMAIAAA0AIAMAAAALACABAAAMADACAAANACAIBwAAswIAIJUBAQAAAAGdAQEAAAABngFAAAAAAb4BAQAAAAHDAQEAAAABxAEBAAAAAcUBQAAAAAEBDwAAXwAgB5UBAQAAAAGdAQEAAAABngFAAAAAAb4BAQAAAAHDAQEAAAABxAEBAAAAAcUBQAAAAAEBDwAAYQAwAQ8AAGEAMAgHAACyAgAglQEBAJoCACGdAQEAmgIAIZ4BQACcAgAhvgEBAJoCACHDAQEAmgIAIcQBAQCaAgAhxQFAAJwCACECAAAADQAgDwAAZAAgB5UBAQCaAgAhnQEBAJoCACGeAUAAnAIAIb4BAQCaAgAhwwEBAJoCACHEAQEAmgIAIcUBQACcAgAhAgAAAAsAIA8AAGYAIAIAAAALACAPAABmACADAAAADQAgFgAAXwAgFwAAZAAgAQAAAA0AIAEAAAALACADBQAArwIAIBwAALECACAdAACwAgAgCpIBAAD9AQAwkwEAAG0AEJQBAAD9AQAwlQEBANQBACGdAQEA1AEAIZ4BQADWAQAhvgEBANQBACHDAQEA1AEAIcQBAQDUAQAhxQFAANYBACEDAAAACwAgAQAAbAAwGwAAbQAgAwAAAAsAIAEAAAwAMAIAAA0AIAkHAAD8AQAgkgEAAPkBADCTAQAADwAQlAEAAPkBADC-AQEAAAABvwECAPoBACHAAQQA-wEAIcEBBAD7AQAhwgFAAOUBACEBAAAAcAAgAQAAAHAAIAEHAACuAgAgAwAAAA8AIAEAAHMAMAIAAHAAIAMAAAAPACABAABzADACAABwACADAAAADwAgAQAAcwAwAgAAcAAgBgcAAK0CACC-AQEAAAABvwECAAAAAcABBAAAAAHBAQQAAAABwgFAAAAAAQEPAAB3ACAFvgEBAAAAAb8BAgAAAAHAAQQAAAABwQEEAAAAAcIBQAAAAAEBDwAAeQAwAQ8AAHkAMAYHAACsAgAgvgEBAJoCACG_AQIAqgIAIcABBACrAgAhwQEEAKsCACHCAUAAnAIAIQIAAABwACAPAAB8ACAFvgEBAJoCACG_AQIAqgIAIcABBACrAgAhwQEEAKsCACHCAUAAnAIAIQIAAAAPACAPAAB-ACACAAAADwAgDwAAfgAgAwAAAHAAIBYAAHcAIBcAAHwAIAEAAABwACABAAAADwAgBQUAAKUCACAcAACoAgAgHQAApwIAID4AAKYCACA_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_AADcAQAgogECAAAAAaMBAgAAAASkAQIAAAAEpQECAAAAAaYBAgAAAAGnAQIAAAABqAECAAAAAakBAgD4AQAhDQUAANwBACAcAAD3AQAgHQAA9wEAID4AAPYBACA_AAD3AQAgogEEAAAAAaMBBAAAAASkAQQAAAAEpQEEAAAAAaYBBAAAAAGnAQQAAAABqAEEAAAAAakBBAD1AQAhDQUAANwBACAcAAD3AQAgHQAA9wEAID4AAPYBACA_AAD3AQAgogEEAAAAAaMBBAAAAASkAQQAAAAEpQEEAAAAAaYBBAAAAAGnAQQAAAABqAEEAAAAAakBBAD1AQAhCKIBCAAAAAGjAQgAAAAEpAEIAAAABKUBCAAAAAGmAQgAAAABpwEIAAAAAagBCAAAAAGpAQgA9gEAIQiiAQQAAAABowEEAAAABKQBBAAAAASlAQQAAAABpgEEAAAAAacBBAAAAAGoAQQAAAABqQEEAPcBACENBQAA3AEAIBwAANwBACAdAADcAQAgPgAA9gEAID8AANwBACCiAQIAAAABowECAAAABKQBAgAAAASlAQIAAAABpgECAAAAAacBAgAAAAGoAQIAAAABqQECAPgBACEJBwAA_AEAIJIBAAD5AQAwkwEAAA8AEJQBAAD5AQAwvgEBAOMBACG_AQIA-gEAIcABBAD7AQAhwQEEAPsBACHCAUAA5QEAIQiiAQIAAAABowECAAAABKQBAgAAAASlAQIAAAABpgECAAAAAacBAgAAAAGoAQIAAAABqQECANwBACEIogEEAAAAAaMBBAAAAASkAQQAAAAEpQEEAAAAAaYBBAAAAAGnAQQAAAABqAEEAAAAAakBBAD3AQAhFAMAAJICACAGAACTAgAgCAAAlAIAIAkAAJUCACCSAQAAkAIAMJMBAAADABCUAQAAkAIAMJUBAQDjAQAhlgEBAOQBACGeAUAA5QEAIaEBQADlAQAhsAEAAJECzQEixgEBAOMBACHHAQEA4wEAIcgBAQDkAQAhyQEBAOMBACHKAQIA-gEAIcsBIACPAgAh1wEAAAMAINgBAAADACAKkgEAAP0BADCTAQAAbQAQlAEAAP0BADCVAQEA1AEAIZ0BAQDUAQAhngFAANYBACG-AQEA1AEAIcMBAQDUAQAhxAEBANQBACHFAUAA1gEAIQ6SAQAA_gEAMJMBAABXABCUAQAA_gEAMJUBAQDUAQAhlgEBANUBACGeAUAA1gEAIaEBQADWAQAhsAEAAIACzQEixgEBANQBACHHAQEA1AEAIcgBAQDVAQAhyQEBANQBACHKAQIA8wEAIcsBIAD_AQAhBQUAANwBACAcAACEAgAgHQAAhAIAIKIBIAAAAAGpASAAgwIAIQcFAADcAQAgHAAAggIAIB0AAIICACCiAQAAAM0BAqMBAAAAzQEIpAEAAADNAQipAQAAgQLNASIHBQAA3AEAIBwAAIICACAdAACCAgAgogEAAADNAQKjAQAAAM0BCKQBAAAAzQEIqQEAAIECzQEiBKIBAAAAzQECowEAAADNAQikAQAAAM0BCKkBAACCAs0BIgUFAADcAQAgHAAAhAIAIB0AAIQCACCiASAAAAABqQEgAIMCACECogEgAAAAAakBIACEAgAhCZIBAACFAgAwkwEAAD8AEJQBAACFAgAwlQEBANQBACGWAQEA1QEAIZ4BQADXAQAhoQFAANYBACHNAQEA1QEAIc4BAQDVAQAhCgQAAIcCACCSAQAAhgIAMJMBAAAsABCUAQAAhgIAMJUBAQDjAQAhlgEBAOQBACGeAUAA5gEAIaEBQADlAQAhzQEBAOQBACHOAQEA5AEAIQPPAQAAAwAg0AEAAAMAINEBAAADACAJkgEAAIgCADCTAQAAJgAQlAEAAIgCADCVAQEA1AEAIaEBQADWAQAh0gEBANUBACHUAQAAiQLUASLVASAA_wEAIdYBIAD_AQAhBwUAANwBACAcAACLAgAgHQAAiwIAIKIBAAAA1AECowEAAADUAQikAQAAANQBCKkBAACKAtQBIgcFAADcAQAgHAAAiwIAIB0AAIsCACCiAQAAANQBAqMBAAAA1AEIpAEAAADUAQipAQAAigLUASIEogEAAADUAQKjAQAAANQBCKQBAAAA1AEIqQEAAIsC1AEiCwcAAPwBACCSAQAAjAIAMJMBAAALABCUAQAAjAIAMJUBAQDjAQAhnQEBAOMBACGeAUAA5QEAIb4BAQDjAQAhwwEBAOMBACHEAQEA4wEAIcUBQADlAQAhCgQAAIcCACCSAQAAjQIAMJMBAAAHABCUAQAAjQIAMJUBAQDjAQAhoQFAAOUBACHSAQEA5AEAIdQBAACOAtQBItUBIACPAgAh1gEgAI8CACEEogEAAADUAQKjAQAAANQBCKQBAAAA1AEIqQEAAIsC1AEiAqIBIAAAAAGpASAAhAIAIRIDAACSAgAgBgAAkwIAIAgAAJQCACAJAACVAgAgkgEAAJACADCTAQAAAwAQlAEAAJACADCVAQEA4wEAIZYBAQDkAQAhngFAAOUBACGhAUAA5QEAIbABAACRAs0BIsYBAQDjAQAhxwEBAOMBACHIAQEA5AEAIckBAQDjAQAhygECAPoBACHLASAAjwIAIQSiAQAAAM0BAqMBAAAAzQEIpAEAAADNAQipAQAAggLNASIMBAAAhwIAIJIBAACNAgAwkwEAAAcAEJQBAACNAgAwlQEBAOMBACGhAUAA5QEAIdIBAQDkAQAh1AEAAI4C1AEi1QEgAI8CACHWASAAjwIAIdcBAAAHACDYAQAABwAgDAQAAIcCACCSAQAAhgIAMJMBAAAsABCUAQAAhgIAMJUBAQDjAQAhlgEBAOQBACGeAUAA5gEAIaEBQADlAQAhzQEBAOQBACHOAQEA5AEAIdcBAAAsACDYAQAALAAgA88BAAALACDQAQAACwAg0QEAAAsAIAsHAAD8AQAgkgEAAPkBADCTAQAADwAQlAEAAPkBADC-AQEA4wEAIb8BAgD6AQAhwAEEAPsBACHBAQQA-wEAIcIBQADlAQAh1wEAAA8AINgBAAAPACAAAAAAAd8BAQAAAAEB3wEBAAAAAQHfAUAAAAABAd8BQAAAAAEAAAAB3wEAAACwAQIAAAAAAAAAAAXfAQIAAAAB4gECAAAAAeMBAgAAAAHkAQIAAAAB5QECAAAAAQXfAQQAAAAB4gEEAAAAAeMBBAAAAAHkAQQAAAAB5QEEAAAAAQUWAACLAwAgFwAAjgMAINkBAACMAwAg2gEAAI0DACDdAQAABQAgAxYAAIsDACDZAQAAjAMAIN0BAAAFACAGAwAA9QIAIAYAAPYCACAIAAD3AgAgCQAA-AIAIJYBAACWAgAgyAEAAJYCACAAAAAFFgAAhgMAIBcAAIkDACDZAQAAhwMAINoBAACIAwAg3QEAAAUAIAMWAACGAwAg2QEAAIcDACDdAQAABQAgAAAAAAAB3wEgAAAAAQHfAQAAAM0BAgcWAAD9AgAgFwAAhAMAINkBAAD-AgAg2gEAAIMDACDbAQAABwAg3AEAAAcAIN0BAAABACAFFgAA-wIAIBcAAIEDACDZAQAA_AIAINoBAACAAwAg3QEAACkAIAsWAADEAgAwFwAAyQIAMNkBAADFAgAw2gEAAMYCADDbAQAAyAIAMNwBAADIAgAw3QEAAMgCADDeAQAAxwIAIN8BAADIAgAw4AEAAMoCADDhAQAAywIAMAcWAAC_AgAgFwAAwgIAINkBAADAAgAg2gEAAMECACDbAQAADwAg3AEAAA8AIN0BAABwACAEvwECAAAAAcABBAAAAAHBAQQAAAABwgFAAAAAAQIAAABwACAWAAC_AgAgAwAAAA8AIBYAAL8CACAXAADDAgAgBgAAAA8AIA8AAMMCACC_AQIAqgIAIcABBACrAgAhwQEEAKsCACHCAUAAnAIAIQS_AQIAqgIAIcABBACrAgAhwQEEAKsCACHCAUAAnAIAIQaVAQEAAAABnQEBAAAAAZ4BQAAAAAHDAQEAAAABxAEBAAAAAcUBQAAAAAECAAAADQAgFgAAzwIAIAMAAAANACAWAADPAgAgFwAAzgIAIAEPAAD_AgAwCwcAAPwBACCSAQAAjAIAMJMBAAALABCUAQAAjAIAMJUBAQAAAAGdAQEA4wEAIZ4BQADlAQAhvgEBAOMBACHDAQEA4wEAIcQBAQDjAQAhxQFAAOUBACECAAAADQAgDwAAzgIAIAIAAADMAgAgDwAAzQIAIAqSAQAAywIAMJMBAADMAgAQlAEAAMsCADCVAQEA4wEAIZ0BAQDjAQAhngFAAOUBACG-AQEA4wEAIcMBAQDjAQAhxAEBAOMBACHFAUAA5QEAIQqSAQAAywIAMJMBAADMAgAQlAEAAMsCADCVAQEA4wEAIZ0BAQDjAQAhngFAAOUBACG-AQEA4wEAIcMBAQDjAQAhxAEBAOMBACHFAUAA5QEAIQaVAQEAmgIAIZ0BAQCaAgAhngFAAJwCACHDAQEAmgIAIcQBAQCaAgAhxQFAAJwCACEGlQEBAJoCACGdAQEAmgIAIZ4BQACcAgAhwwEBAJoCACHEAQEAmgIAIcUBQACcAgAhBpUBAQAAAAGdAQEAAAABngFAAAAAAcMBAQAAAAHEAQEAAAABxQFAAAAAAQMWAAD9AgAg2QEAAP4CACDdAQAAAQAgAxYAAPsCACDZAQAA_AIAIN0BAAApACAEFgAAxAIAMNkBAADFAgAw3QEAAMgCADDeAQAAxwIAIAMWAAC_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_QIAIAaVAQEAAAABnQEBAAAAAZ4BQAAAAAHDAQEAAAABxAEBAAAAAcUBQAAAAAEDAAAALAAgFgAA-wIAIBcAAIIDACAIAAAALAAgDwAAggMAIJUBAQCaAgAhlgEBAJsCACGeAUAAnQIAIaEBQACcAgAhzQEBAJsCACHOAQEAmwIAIQaVAQEAmgIAIZYBAQCbAgAhngFAAJ0CACGhAUAAnAIAIc0BAQCbAgAhzgEBAJsCACEDAAAABwAgFgAA_QIAIBcAAIUDACAIAAAABwAgDwAAhQMAIJUBAQCaAgAhoQFAAJwCACHSAQEAmwIAIdQBAADpAtQBItUBIAC5AgAh1gEgALkCACEGlQEBAJoCACGhAUAAnAIAIdIBAQCbAgAh1AEAAOkC1AEi1QEgALkCACHWASAAuQIAIQ4DAADQAgAgBgAA0QIAIAkAANMCACCVAQEAAAABlgEBAAAAAZ4BQAAAAAGhAUAAAAABsAEAAADNAQLGAQEAAAABxwEBAAAAAcgBAQAAAAHJAQEAAAABygECAAAAAcsBIAAAAAECAAAABQAgFgAAhgMAIAMAAAADACAWAACGAwAgFwAAigMAIBAAAAADACADAAC7AgAgBgAAvAIAIAkAAL4CACAPAACKAwAglQEBAJoCACGWAQEAmwIAIZ4BQACcAgAhoQFAAJwCACGwAQAAugLNASLGAQEAmgIAIccBAQCaAgAhyAEBAJsCACHJAQEAmgIAIcoBAgCqAgAhywEgALkCACEOAwAAuwIAIAYAALwCACAJAAC-AgAglQEBAJoCACGWAQEAmwIAIZ4BQACcAgAhoQFAAJwCACGwAQAAugLNASLGAQEAmgIAIccBAQCaAgAhyAEBAJsCACHJAQEAmgIAIcoBAgCqAgAhywEgALkCACEOAwAA0AIAIAYAANECACAIAADSAgAglQEBAAAAAZYBAQAAAAGeAUAAAAABoQFAAAAAAbABAAAAzQECxgEBAAAAAccBAQAAAAHIAQEAAAAByQEBAAAAAcoBAgAAAAHLASAAAAABAgAAAAUAIBYAAIsDACADAAAAAwAgFgAAiwMAIBcAAI8DACAQAAAAAwAgAwAAuwIAIAYAALwCACAIAAC9AgAgDwAAjwMAIJUBAQCaAgAhlgEBAJsCACGeAUAAnAIAIaEBQACcAgAhsAEAALoCzQEixgEBAJoCACHHAQEAmgIAIcgBAQCbAgAhyQEBAJoCACHKAQIAqgIAIcsBIAC5AgAhDgMAALsCACAGAAC8AgAgCAAAvQIAIJUBAQCaAgAhlgEBAJsCACGeAUAAnAIAIaEBQACcAgAhsAEAALoCzQEixgEBAJoCACHHAQEAmgIAIcgBAQCbAgAhyQEBAJoCACHKAQIAqgIAIcsBIAC5AgAhAgQGAgUACAUDCAEFAAcGAAMIDgUJEAYCBAkCBQAEAQQKAAEHAAIBBwACAQgRAAEEEgAAAAADBQANHAAOHQAPAAAAAwUADRwADh0ADwAAAwUAFBwAFR0AFgAAAAMFABQcABUdABYCA0wBBgADAgNSAQYAAwUFABscAB4dAB8-ABw_AB0AAAAAAAUFABscAB4dAB8-ABw_AB0BBwACAQcAAgMFACQcACUdACYAAAADBQAkHAAlHQAmAQcAAgEHAAIFBQArHAAuHQAvPgAsPwAtAAAAAAAFBQArHAAuHQAvPgAsPwAtAAAAAwUANRwANh0ANwAAAAMFADUcADYdADcAAAADBQA9HAA-HQA_AAAAAwUAPRwAPh0APwAAAAMFAEUcAEYdAEcAAAADBQBFHABGHQBHCgIBCxMBDBUBDRYBDhcBEBkBERsJEhwKEx4BFCAJFSELGCIBGSMBGiQJHicMHygQICoDISsDIi4DIy8DJDADJTIDJjQJJzURKDcDKTkJKjoSKzsDLDwDLT0JLkATL0EXMEICMUMCMkQCM0UCNEYCNUgCNkoJN0sYOE4COVAJOlEZO1MCPFQCPVUJQFgaQVkgQloFQ1sFRFwFRV0FRl4FR2AFSGIJSWMhSmUFS2cJTGgiTWkFTmoFT2sJUG4jUW8nUnEGU3IGVHQGVXUGVnYGV3gGWHoJWXsoWn0GW38JXIABKV2BAQZeggEGX4MBCWCGASphhwEwYokBMWOKATFkjQExZY4BMWaPATFnkQExaJMBCWmUATJqlgExa5gBCWyZATNtmgExbpsBMW-cAQlwnwE0caABOHKiATlzowE5dKYBOXWnATl2qAE5d6oBOXisAQl5rQE6eq8BOXuxAQl8sgE7fbMBOX60ATl_tQEJgAG4ATyBAbkBQIIBuwFBgwG8AUGEAb8BQYUBwAFBhgHBAUGHAcMBQYgBxQEJiQHGAUKKAcgBQYsBygEJjAHLAUONAcwBQY4BzQFBjwHOAQmQAdEBRJEB0gFI"
261
+ }
262
+ config.compilerWasm = {
263
+ getRuntime: async () => require('./query_compiler_fast_bg.js'),
264
+ getQueryCompilerWasmModule: async () => {
265
+ const loader = (await import('#wasm-compiler-loader')).default
266
+ const compiler = (await loader).default
267
+ return compiler
268
+ },
269
+ importName: './query_compiler_fast_bg.js',
270
+ }
271
+ if (typeof globalThis !== 'undefined' && globalThis['DEBUG'] || (typeof process !== 'undefined' && process.env && process.env.DEBUG) || undefined) {
272
+ Debug.enable(typeof globalThis !== 'undefined' && globalThis['DEBUG'] || (typeof process !== 'undefined' && process.env && process.env.DEBUG) || undefined)
273
+ }
274
+
275
+ const PrismaClient = getPrismaClient(config)
276
+ exports.PrismaClient = PrismaClient
277
+ Object.assign(exports, Prisma)