@sena-ai/platform-core 1.4.0

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 (158) hide show
  1. package/dist/app.d.ts +9 -0
  2. package/dist/app.d.ts.map +1 -0
  3. package/dist/app.js +147 -0
  4. package/dist/app.js.map +1 -0
  5. package/dist/auth/handler.d.ts +19 -0
  6. package/dist/auth/handler.d.ts.map +1 -0
  7. package/dist/auth/handler.js +213 -0
  8. package/dist/auth/handler.js.map +1 -0
  9. package/dist/auth/session.d.ts +16 -0
  10. package/dist/auth/session.d.ts.map +1 -0
  11. package/dist/auth/session.js +54 -0
  12. package/dist/auth/session.js.map +1 -0
  13. package/dist/db/d1/index.d.ts +14 -0
  14. package/dist/db/d1/index.d.ts.map +1 -0
  15. package/dist/db/d1/index.js +252 -0
  16. package/dist/db/d1/index.js.map +1 -0
  17. package/dist/db/d1/schema.d.ts +610 -0
  18. package/dist/db/d1/schema.d.ts.map +1 -0
  19. package/dist/db/d1/schema.js +58 -0
  20. package/dist/db/d1/schema.js.map +1 -0
  21. package/dist/db/mysql/index.d.ts +14 -0
  22. package/dist/db/mysql/index.d.ts.map +1 -0
  23. package/dist/db/mysql/index.js +248 -0
  24. package/dist/db/mysql/index.js.map +1 -0
  25. package/dist/db/mysql/schema.d.ts +562 -0
  26. package/dist/db/mysql/schema.d.ts.map +1 -0
  27. package/dist/db/mysql/schema.js +61 -0
  28. package/dist/db/mysql/schema.js.map +1 -0
  29. package/dist/db/postgresql/index.d.ts +14 -0
  30. package/dist/db/postgresql/index.d.ts.map +1 -0
  31. package/dist/db/postgresql/index.js +246 -0
  32. package/dist/db/postgresql/index.js.map +1 -0
  33. package/dist/db/postgresql/schema.d.ts +591 -0
  34. package/dist/db/postgresql/schema.d.ts.map +1 -0
  35. package/dist/db/postgresql/schema.js +64 -0
  36. package/dist/db/postgresql/schema.js.map +1 -0
  37. package/dist/index.d.ts +6 -0
  38. package/dist/index.d.ts.map +1 -0
  39. package/dist/index.js +3 -0
  40. package/dist/index.js.map +1 -0
  41. package/dist/relay/api-proxy.d.ts +10 -0
  42. package/dist/relay/api-proxy.d.ts.map +1 -0
  43. package/dist/relay/api-proxy.js +40 -0
  44. package/dist/relay/api-proxy.js.map +1 -0
  45. package/dist/runtime/cf/crypto.d.ts +7 -0
  46. package/dist/runtime/cf/crypto.d.ts.map +1 -0
  47. package/dist/runtime/cf/crypto.js +48 -0
  48. package/dist/runtime/cf/crypto.js.map +1 -0
  49. package/dist/runtime/cf/index.d.ts +20 -0
  50. package/dist/runtime/cf/index.d.ts.map +1 -0
  51. package/dist/runtime/cf/index.js +14 -0
  52. package/dist/runtime/cf/index.js.map +1 -0
  53. package/dist/runtime/cf/relay.d.ts +11 -0
  54. package/dist/runtime/cf/relay.d.ts.map +1 -0
  55. package/dist/runtime/cf/relay.js +57 -0
  56. package/dist/runtime/cf/relay.js.map +1 -0
  57. package/dist/runtime/cf/vault.d.ts +7 -0
  58. package/dist/runtime/cf/vault.d.ts.map +1 -0
  59. package/dist/runtime/cf/vault.js +68 -0
  60. package/dist/runtime/cf/vault.js.map +1 -0
  61. package/dist/runtime/node/crypto.d.ts +6 -0
  62. package/dist/runtime/node/crypto.d.ts.map +1 -0
  63. package/dist/runtime/node/crypto.js +26 -0
  64. package/dist/runtime/node/crypto.js.map +1 -0
  65. package/dist/runtime/node/index.d.ts +17 -0
  66. package/dist/runtime/node/index.d.ts.map +1 -0
  67. package/dist/runtime/node/index.js +14 -0
  68. package/dist/runtime/node/index.js.map +1 -0
  69. package/dist/runtime/node/relay.d.ts +6 -0
  70. package/dist/runtime/node/relay.d.ts.map +1 -0
  71. package/dist/runtime/node/relay.js +73 -0
  72. package/dist/runtime/node/relay.js.map +1 -0
  73. package/dist/runtime/node/vault.d.ts +7 -0
  74. package/dist/runtime/node/vault.d.ts.map +1 -0
  75. package/dist/runtime/node/vault.js +41 -0
  76. package/dist/runtime/node/vault.js.map +1 -0
  77. package/dist/slack/events.d.ts +15 -0
  78. package/dist/slack/events.d.ts.map +1 -0
  79. package/dist/slack/events.js +63 -0
  80. package/dist/slack/events.js.map +1 -0
  81. package/dist/slack/oauth.d.ts +13 -0
  82. package/dist/slack/oauth.d.ts.map +1 -0
  83. package/dist/slack/oauth.js +90 -0
  84. package/dist/slack/oauth.js.map +1 -0
  85. package/dist/slack/provisioner.d.ts +60 -0
  86. package/dist/slack/provisioner.d.ts.map +1 -0
  87. package/dist/slack/provisioner.js +156 -0
  88. package/dist/slack/provisioner.js.map +1 -0
  89. package/dist/types/crypto.d.ts +15 -0
  90. package/dist/types/crypto.d.ts.map +1 -0
  91. package/dist/types/crypto.js +2 -0
  92. package/dist/types/crypto.js.map +1 -0
  93. package/dist/types/index.d.ts +6 -0
  94. package/dist/types/index.d.ts.map +1 -0
  95. package/dist/types/index.js +2 -0
  96. package/dist/types/index.js.map +1 -0
  97. package/dist/types/platform.d.ts +25 -0
  98. package/dist/types/platform.d.ts.map +1 -0
  99. package/dist/types/platform.js +2 -0
  100. package/dist/types/platform.js.map +1 -0
  101. package/dist/types/relay.d.ts +16 -0
  102. package/dist/types/relay.d.ts.map +1 -0
  103. package/dist/types/relay.js +2 -0
  104. package/dist/types/relay.js.map +1 -0
  105. package/dist/types/repository.d.ts +78 -0
  106. package/dist/types/repository.d.ts.map +1 -0
  107. package/dist/types/repository.js +6 -0
  108. package/dist/types/repository.js.map +1 -0
  109. package/dist/types/vault.d.ts +9 -0
  110. package/dist/types/vault.d.ts.map +1 -0
  111. package/dist/types/vault.js +2 -0
  112. package/dist/types/vault.js.map +1 -0
  113. package/dist/web/api.d.ts +9 -0
  114. package/dist/web/api.d.ts.map +1 -0
  115. package/dist/web/api.js +144 -0
  116. package/dist/web/api.js.map +1 -0
  117. package/dist/web/pages.d.ts +4 -0
  118. package/dist/web/pages.d.ts.map +1 -0
  119. package/dist/web/pages.js +401 -0
  120. package/dist/web/pages.js.map +1 -0
  121. package/dist/web/setup.d.ts +5 -0
  122. package/dist/web/setup.d.ts.map +1 -0
  123. package/dist/web/setup.js +208 -0
  124. package/dist/web/setup.js.map +1 -0
  125. package/package.json +46 -0
  126. package/src/app.ts +221 -0
  127. package/src/auth/handler.ts +343 -0
  128. package/src/auth/session.ts +89 -0
  129. package/src/db/d1/index.ts +304 -0
  130. package/src/db/d1/schema.ts +62 -0
  131. package/src/db/mysql/index.ts +301 -0
  132. package/src/db/mysql/schema.ts +78 -0
  133. package/src/db/postgresql/index.ts +311 -0
  134. package/src/db/postgresql/schema.ts +82 -0
  135. package/src/index.ts +21 -0
  136. package/src/relay/api-proxy.ts +61 -0
  137. package/src/runtime/cf/crypto.ts +74 -0
  138. package/src/runtime/cf/index.ts +31 -0
  139. package/src/runtime/cf/relay.ts +74 -0
  140. package/src/runtime/cf/vault.ts +99 -0
  141. package/src/runtime/node/crypto.ts +33 -0
  142. package/src/runtime/node/index.ts +28 -0
  143. package/src/runtime/node/relay.ts +98 -0
  144. package/src/runtime/node/vault.ts +50 -0
  145. package/src/slack/events.ts +92 -0
  146. package/src/slack/oauth.ts +127 -0
  147. package/src/slack/provisioner.ts +256 -0
  148. package/src/types/crypto.ts +14 -0
  149. package/src/types/index.ts +14 -0
  150. package/src/types/platform.ts +31 -0
  151. package/src/types/relay.ts +16 -0
  152. package/src/types/repository.ts +93 -0
  153. package/src/types/vault.ts +8 -0
  154. package/src/web/api.ts +204 -0
  155. package/src/web/pages.ts +458 -0
  156. package/src/web/setup.ts +270 -0
  157. package/tsconfig.json +19 -0
  158. package/tsconfig.tsbuildinfo +1 -0
@@ -0,0 +1,610 @@
1
+ /**
2
+ * SQLite schema for Cloudflare D1.
3
+ * Equivalent to the MySQL schema in platform-node.
4
+ */
5
+ export declare const bots: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
6
+ name: "bots";
7
+ schema: undefined;
8
+ columns: {
9
+ id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
10
+ name: "id";
11
+ tableName: "bots";
12
+ dataType: "string";
13
+ columnType: "SQLiteText";
14
+ data: string;
15
+ driverParam: string;
16
+ notNull: true;
17
+ hasDefault: false;
18
+ isPrimaryKey: true;
19
+ isAutoincrement: false;
20
+ hasRuntimeDefault: false;
21
+ enumValues: [string, ...string[]];
22
+ baseColumn: never;
23
+ identity: undefined;
24
+ generated: undefined;
25
+ }, {}, {
26
+ length: number | undefined;
27
+ }>;
28
+ name: import("drizzle-orm/sqlite-core").SQLiteColumn<{
29
+ name: "name";
30
+ tableName: "bots";
31
+ dataType: "string";
32
+ columnType: "SQLiteText";
33
+ data: string;
34
+ driverParam: string;
35
+ notNull: true;
36
+ hasDefault: false;
37
+ isPrimaryKey: false;
38
+ isAutoincrement: false;
39
+ hasRuntimeDefault: false;
40
+ enumValues: [string, ...string[]];
41
+ baseColumn: never;
42
+ identity: undefined;
43
+ generated: undefined;
44
+ }, {}, {
45
+ length: number | undefined;
46
+ }>;
47
+ botUsername: import("drizzle-orm/sqlite-core").SQLiteColumn<{
48
+ name: "bot_username";
49
+ tableName: "bots";
50
+ dataType: "string";
51
+ columnType: "SQLiteText";
52
+ data: string;
53
+ driverParam: string;
54
+ notNull: true;
55
+ hasDefault: true;
56
+ isPrimaryKey: false;
57
+ isAutoincrement: false;
58
+ hasRuntimeDefault: false;
59
+ enumValues: [string, ...string[]];
60
+ baseColumn: never;
61
+ identity: undefined;
62
+ generated: undefined;
63
+ }, {}, {
64
+ length: number | undefined;
65
+ }>;
66
+ profileImageUrl: import("drizzle-orm/sqlite-core").SQLiteColumn<{
67
+ name: "profile_image_url";
68
+ tableName: "bots";
69
+ dataType: "string";
70
+ columnType: "SQLiteText";
71
+ data: string;
72
+ driverParam: string;
73
+ notNull: false;
74
+ hasDefault: false;
75
+ isPrimaryKey: false;
76
+ isAutoincrement: false;
77
+ hasRuntimeDefault: false;
78
+ enumValues: [string, ...string[]];
79
+ baseColumn: never;
80
+ identity: undefined;
81
+ generated: undefined;
82
+ }, {}, {
83
+ length: number | undefined;
84
+ }>;
85
+ connectKey: import("drizzle-orm/sqlite-core").SQLiteColumn<{
86
+ name: "connect_key";
87
+ tableName: "bots";
88
+ dataType: "string";
89
+ columnType: "SQLiteText";
90
+ data: string;
91
+ driverParam: string;
92
+ notNull: true;
93
+ hasDefault: false;
94
+ isPrimaryKey: false;
95
+ isAutoincrement: false;
96
+ hasRuntimeDefault: false;
97
+ enumValues: [string, ...string[]];
98
+ baseColumn: never;
99
+ identity: undefined;
100
+ generated: undefined;
101
+ }, {}, {
102
+ length: number | undefined;
103
+ }>;
104
+ slackAppId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
105
+ name: "slack_app_id";
106
+ tableName: "bots";
107
+ dataType: "string";
108
+ columnType: "SQLiteText";
109
+ data: string;
110
+ driverParam: string;
111
+ notNull: false;
112
+ hasDefault: false;
113
+ isPrimaryKey: false;
114
+ isAutoincrement: false;
115
+ hasRuntimeDefault: false;
116
+ enumValues: [string, ...string[]];
117
+ baseColumn: never;
118
+ identity: undefined;
119
+ generated: undefined;
120
+ }, {}, {
121
+ length: number | undefined;
122
+ }>;
123
+ slackTeamId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
124
+ name: "slack_team_id";
125
+ tableName: "bots";
126
+ dataType: "string";
127
+ columnType: "SQLiteText";
128
+ data: string;
129
+ driverParam: string;
130
+ notNull: false;
131
+ hasDefault: false;
132
+ isPrimaryKey: false;
133
+ isAutoincrement: false;
134
+ hasRuntimeDefault: false;
135
+ enumValues: [string, ...string[]];
136
+ baseColumn: never;
137
+ identity: undefined;
138
+ generated: undefined;
139
+ }, {}, {
140
+ length: number | undefined;
141
+ }>;
142
+ botTokenEnc: import("drizzle-orm/sqlite-core").SQLiteColumn<{
143
+ name: "bot_token_enc";
144
+ tableName: "bots";
145
+ dataType: "string";
146
+ columnType: "SQLiteText";
147
+ data: string;
148
+ driverParam: string;
149
+ notNull: false;
150
+ hasDefault: false;
151
+ isPrimaryKey: false;
152
+ isAutoincrement: false;
153
+ hasRuntimeDefault: false;
154
+ enumValues: [string, ...string[]];
155
+ baseColumn: never;
156
+ identity: undefined;
157
+ generated: undefined;
158
+ }, {}, {
159
+ length: number | undefined;
160
+ }>;
161
+ signingSecretEnc: import("drizzle-orm/sqlite-core").SQLiteColumn<{
162
+ name: "signing_secret_enc";
163
+ tableName: "bots";
164
+ dataType: "string";
165
+ columnType: "SQLiteText";
166
+ data: string;
167
+ driverParam: string;
168
+ notNull: false;
169
+ hasDefault: false;
170
+ isPrimaryKey: false;
171
+ isAutoincrement: false;
172
+ hasRuntimeDefault: false;
173
+ enumValues: [string, ...string[]];
174
+ baseColumn: never;
175
+ identity: undefined;
176
+ generated: undefined;
177
+ }, {}, {
178
+ length: number | undefined;
179
+ }>;
180
+ clientId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
181
+ name: "client_id";
182
+ tableName: "bots";
183
+ dataType: "string";
184
+ columnType: "SQLiteText";
185
+ data: string;
186
+ driverParam: string;
187
+ notNull: false;
188
+ hasDefault: false;
189
+ isPrimaryKey: false;
190
+ isAutoincrement: false;
191
+ hasRuntimeDefault: false;
192
+ enumValues: [string, ...string[]];
193
+ baseColumn: never;
194
+ identity: undefined;
195
+ generated: undefined;
196
+ }, {}, {
197
+ length: number | undefined;
198
+ }>;
199
+ clientSecretEnc: import("drizzle-orm/sqlite-core").SQLiteColumn<{
200
+ name: "client_secret_enc";
201
+ tableName: "bots";
202
+ dataType: "string";
203
+ columnType: "SQLiteText";
204
+ data: string;
205
+ driverParam: string;
206
+ notNull: false;
207
+ hasDefault: false;
208
+ isPrimaryKey: false;
209
+ isAutoincrement: false;
210
+ hasRuntimeDefault: false;
211
+ enumValues: [string, ...string[]];
212
+ baseColumn: never;
213
+ identity: undefined;
214
+ generated: undefined;
215
+ }, {}, {
216
+ length: number | undefined;
217
+ }>;
218
+ manifestJson: import("drizzle-orm/sqlite-core").SQLiteColumn<{
219
+ name: "manifest_json";
220
+ tableName: "bots";
221
+ dataType: "string";
222
+ columnType: "SQLiteText";
223
+ data: string;
224
+ driverParam: string;
225
+ notNull: false;
226
+ hasDefault: false;
227
+ isPrimaryKey: false;
228
+ isAutoincrement: false;
229
+ hasRuntimeDefault: false;
230
+ enumValues: [string, ...string[]];
231
+ baseColumn: never;
232
+ identity: undefined;
233
+ generated: undefined;
234
+ }, {}, {
235
+ length: number | undefined;
236
+ }>;
237
+ status: import("drizzle-orm/sqlite-core").SQLiteColumn<{
238
+ name: "status";
239
+ tableName: "bots";
240
+ dataType: "string";
241
+ columnType: "SQLiteText";
242
+ data: "pending" | "active" | "disabled";
243
+ driverParam: string;
244
+ notNull: true;
245
+ hasDefault: true;
246
+ isPrimaryKey: false;
247
+ isAutoincrement: false;
248
+ hasRuntimeDefault: false;
249
+ enumValues: ["pending", "active", "disabled"];
250
+ baseColumn: never;
251
+ identity: undefined;
252
+ generated: undefined;
253
+ }, {}, {
254
+ length: number | undefined;
255
+ }>;
256
+ createdAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
257
+ name: "created_at";
258
+ tableName: "bots";
259
+ dataType: "date";
260
+ columnType: "SQLiteTimestamp";
261
+ data: Date;
262
+ driverParam: number;
263
+ notNull: true;
264
+ hasDefault: true;
265
+ isPrimaryKey: false;
266
+ isAutoincrement: false;
267
+ hasRuntimeDefault: true;
268
+ enumValues: undefined;
269
+ baseColumn: never;
270
+ identity: undefined;
271
+ generated: undefined;
272
+ }, {}, {}>;
273
+ updatedAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
274
+ name: "updated_at";
275
+ tableName: "bots";
276
+ dataType: "date";
277
+ columnType: "SQLiteTimestamp";
278
+ data: Date;
279
+ driverParam: number;
280
+ notNull: true;
281
+ hasDefault: true;
282
+ isPrimaryKey: false;
283
+ isAutoincrement: false;
284
+ hasRuntimeDefault: true;
285
+ enumValues: undefined;
286
+ baseColumn: never;
287
+ identity: undefined;
288
+ generated: undefined;
289
+ }, {}, {}>;
290
+ };
291
+ dialect: "sqlite";
292
+ }>;
293
+ export declare const configTokens: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
294
+ name: "config_tokens";
295
+ schema: undefined;
296
+ columns: {
297
+ workspaceId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
298
+ name: "workspace_id";
299
+ tableName: "config_tokens";
300
+ dataType: "string";
301
+ columnType: "SQLiteText";
302
+ data: string;
303
+ driverParam: string;
304
+ notNull: true;
305
+ hasDefault: false;
306
+ isPrimaryKey: true;
307
+ isAutoincrement: false;
308
+ hasRuntimeDefault: false;
309
+ enumValues: [string, ...string[]];
310
+ baseColumn: never;
311
+ identity: undefined;
312
+ generated: undefined;
313
+ }, {}, {
314
+ length: number | undefined;
315
+ }>;
316
+ accessTokenEnc: import("drizzle-orm/sqlite-core").SQLiteColumn<{
317
+ name: "access_token_enc";
318
+ tableName: "config_tokens";
319
+ dataType: "string";
320
+ columnType: "SQLiteText";
321
+ data: string;
322
+ driverParam: string;
323
+ notNull: true;
324
+ hasDefault: false;
325
+ isPrimaryKey: false;
326
+ isAutoincrement: false;
327
+ hasRuntimeDefault: false;
328
+ enumValues: [string, ...string[]];
329
+ baseColumn: never;
330
+ identity: undefined;
331
+ generated: undefined;
332
+ }, {}, {
333
+ length: number | undefined;
334
+ }>;
335
+ refreshTokenEnc: import("drizzle-orm/sqlite-core").SQLiteColumn<{
336
+ name: "refresh_token_enc";
337
+ tableName: "config_tokens";
338
+ dataType: "string";
339
+ columnType: "SQLiteText";
340
+ data: string;
341
+ driverParam: string;
342
+ notNull: true;
343
+ hasDefault: false;
344
+ isPrimaryKey: false;
345
+ isAutoincrement: false;
346
+ hasRuntimeDefault: false;
347
+ enumValues: [string, ...string[]];
348
+ baseColumn: never;
349
+ identity: undefined;
350
+ generated: undefined;
351
+ }, {}, {
352
+ length: number | undefined;
353
+ }>;
354
+ expiresAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
355
+ name: "expires_at";
356
+ tableName: "config_tokens";
357
+ dataType: "date";
358
+ columnType: "SQLiteTimestamp";
359
+ data: Date;
360
+ driverParam: number;
361
+ notNull: true;
362
+ hasDefault: false;
363
+ isPrimaryKey: false;
364
+ isAutoincrement: false;
365
+ hasRuntimeDefault: false;
366
+ enumValues: undefined;
367
+ baseColumn: never;
368
+ identity: undefined;
369
+ generated: undefined;
370
+ }, {}, {}>;
371
+ updatedAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
372
+ name: "updated_at";
373
+ tableName: "config_tokens";
374
+ dataType: "date";
375
+ columnType: "SQLiteTimestamp";
376
+ data: Date;
377
+ driverParam: number;
378
+ notNull: true;
379
+ hasDefault: true;
380
+ isPrimaryKey: false;
381
+ isAutoincrement: false;
382
+ hasRuntimeDefault: true;
383
+ enumValues: undefined;
384
+ baseColumn: never;
385
+ identity: undefined;
386
+ generated: undefined;
387
+ }, {}, {}>;
388
+ };
389
+ dialect: "sqlite";
390
+ }>;
391
+ export declare const oauthStates: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
392
+ name: "oauth_states";
393
+ schema: undefined;
394
+ columns: {
395
+ state: import("drizzle-orm/sqlite-core").SQLiteColumn<{
396
+ name: "state";
397
+ tableName: "oauth_states";
398
+ dataType: "string";
399
+ columnType: "SQLiteText";
400
+ data: string;
401
+ driverParam: string;
402
+ notNull: true;
403
+ hasDefault: false;
404
+ isPrimaryKey: true;
405
+ isAutoincrement: false;
406
+ hasRuntimeDefault: false;
407
+ enumValues: [string, ...string[]];
408
+ baseColumn: never;
409
+ identity: undefined;
410
+ generated: undefined;
411
+ }, {}, {
412
+ length: number | undefined;
413
+ }>;
414
+ botId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
415
+ name: "bot_id";
416
+ tableName: "oauth_states";
417
+ dataType: "string";
418
+ columnType: "SQLiteText";
419
+ data: string;
420
+ driverParam: string;
421
+ notNull: true;
422
+ hasDefault: false;
423
+ isPrimaryKey: false;
424
+ isAutoincrement: false;
425
+ hasRuntimeDefault: false;
426
+ enumValues: [string, ...string[]];
427
+ baseColumn: never;
428
+ identity: undefined;
429
+ generated: undefined;
430
+ }, {}, {
431
+ length: number | undefined;
432
+ }>;
433
+ expiresAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
434
+ name: "expires_at";
435
+ tableName: "oauth_states";
436
+ dataType: "date";
437
+ columnType: "SQLiteTimestamp";
438
+ data: Date;
439
+ driverParam: number;
440
+ notNull: true;
441
+ hasDefault: false;
442
+ isPrimaryKey: false;
443
+ isAutoincrement: false;
444
+ hasRuntimeDefault: false;
445
+ enumValues: undefined;
446
+ baseColumn: never;
447
+ identity: undefined;
448
+ generated: undefined;
449
+ }, {}, {}>;
450
+ };
451
+ dialect: "sqlite";
452
+ }>;
453
+ export declare const workspaceAdminConfig: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
454
+ name: "workspace_admin_config";
455
+ schema: undefined;
456
+ columns: {
457
+ workspaceId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
458
+ name: "workspace_id";
459
+ tableName: "workspace_admin_config";
460
+ dataType: "string";
461
+ columnType: "SQLiteText";
462
+ data: string;
463
+ driverParam: string;
464
+ notNull: true;
465
+ hasDefault: false;
466
+ isPrimaryKey: true;
467
+ isAutoincrement: false;
468
+ hasRuntimeDefault: false;
469
+ enumValues: [string, ...string[]];
470
+ baseColumn: never;
471
+ identity: undefined;
472
+ generated: undefined;
473
+ }, {}, {
474
+ length: number | undefined;
475
+ }>;
476
+ slackClientId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
477
+ name: "slack_client_id";
478
+ tableName: "workspace_admin_config";
479
+ dataType: "string";
480
+ columnType: "SQLiteText";
481
+ data: string;
482
+ driverParam: string;
483
+ notNull: false;
484
+ hasDefault: false;
485
+ isPrimaryKey: false;
486
+ isAutoincrement: false;
487
+ hasRuntimeDefault: false;
488
+ enumValues: [string, ...string[]];
489
+ baseColumn: never;
490
+ identity: undefined;
491
+ generated: undefined;
492
+ }, {}, {
493
+ length: number | undefined;
494
+ }>;
495
+ slackClientSecretEnc: import("drizzle-orm/sqlite-core").SQLiteColumn<{
496
+ name: "slack_client_secret_enc";
497
+ tableName: "workspace_admin_config";
498
+ dataType: "string";
499
+ columnType: "SQLiteText";
500
+ data: string;
501
+ driverParam: string;
502
+ notNull: false;
503
+ hasDefault: false;
504
+ isPrimaryKey: false;
505
+ isAutoincrement: false;
506
+ hasRuntimeDefault: false;
507
+ enumValues: [string, ...string[]];
508
+ baseColumn: never;
509
+ identity: undefined;
510
+ generated: undefined;
511
+ }, {}, {
512
+ length: number | undefined;
513
+ }>;
514
+ dCookieEnc: import("drizzle-orm/sqlite-core").SQLiteColumn<{
515
+ name: "d_cookie_enc";
516
+ tableName: "workspace_admin_config";
517
+ dataType: "string";
518
+ columnType: "SQLiteText";
519
+ data: string;
520
+ driverParam: string;
521
+ notNull: false;
522
+ hasDefault: false;
523
+ isPrimaryKey: false;
524
+ isAutoincrement: false;
525
+ hasRuntimeDefault: false;
526
+ enumValues: [string, ...string[]];
527
+ baseColumn: never;
528
+ identity: undefined;
529
+ generated: undefined;
530
+ }, {}, {
531
+ length: number | undefined;
532
+ }>;
533
+ xoxcTokenEnc: import("drizzle-orm/sqlite-core").SQLiteColumn<{
534
+ name: "xoxc_token_enc";
535
+ tableName: "workspace_admin_config";
536
+ dataType: "string";
537
+ columnType: "SQLiteText";
538
+ data: string;
539
+ driverParam: string;
540
+ notNull: false;
541
+ hasDefault: false;
542
+ isPrimaryKey: false;
543
+ isAutoincrement: false;
544
+ hasRuntimeDefault: false;
545
+ enumValues: [string, ...string[]];
546
+ baseColumn: never;
547
+ identity: undefined;
548
+ generated: undefined;
549
+ }, {}, {
550
+ length: number | undefined;
551
+ }>;
552
+ workspaceDomain: import("drizzle-orm/sqlite-core").SQLiteColumn<{
553
+ name: "workspace_domain";
554
+ tableName: "workspace_admin_config";
555
+ dataType: "string";
556
+ columnType: "SQLiteText";
557
+ data: string;
558
+ driverParam: string;
559
+ notNull: false;
560
+ hasDefault: false;
561
+ isPrimaryKey: false;
562
+ isAutoincrement: false;
563
+ hasRuntimeDefault: false;
564
+ enumValues: [string, ...string[]];
565
+ baseColumn: never;
566
+ identity: undefined;
567
+ generated: undefined;
568
+ }, {}, {
569
+ length: number | undefined;
570
+ }>;
571
+ updatedAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
572
+ name: "updated_at";
573
+ tableName: "workspace_admin_config";
574
+ dataType: "date";
575
+ columnType: "SQLiteTimestamp";
576
+ data: Date;
577
+ driverParam: number;
578
+ notNull: true;
579
+ hasDefault: true;
580
+ isPrimaryKey: false;
581
+ isAutoincrement: false;
582
+ hasRuntimeDefault: true;
583
+ enumValues: undefined;
584
+ baseColumn: never;
585
+ identity: undefined;
586
+ generated: undefined;
587
+ }, {}, {}>;
588
+ updatedByUserId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
589
+ name: "updated_by_user_id";
590
+ tableName: "workspace_admin_config";
591
+ dataType: "string";
592
+ columnType: "SQLiteText";
593
+ data: string;
594
+ driverParam: string;
595
+ notNull: false;
596
+ hasDefault: false;
597
+ isPrimaryKey: false;
598
+ isAutoincrement: false;
599
+ hasRuntimeDefault: false;
600
+ enumValues: [string, ...string[]];
601
+ baseColumn: never;
602
+ identity: undefined;
603
+ generated: undefined;
604
+ }, {}, {
605
+ length: number | undefined;
606
+ }>;
607
+ };
608
+ dialect: "sqlite";
609
+ }>;
610
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/db/d1/schema.ts"],"names":[],"mappings":"AAEA;;;GAGG;AAEH,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuBf,CAAA;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASvB,CAAA;AAEF,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAItB,CAAA;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAY/B,CAAA"}
@@ -0,0 +1,58 @@
1
+ import { sqliteTable, text, integer } from 'drizzle-orm/sqlite-core';
2
+ /**
3
+ * SQLite schema for Cloudflare D1.
4
+ * Equivalent to the MySQL schema in platform-node.
5
+ */
6
+ export const bots = sqliteTable('bots', {
7
+ id: text('id').primaryKey(),
8
+ name: text('name').notNull(),
9
+ botUsername: text('bot_username').notNull().default(''),
10
+ profileImageUrl: text('profile_image_url'),
11
+ connectKey: text('connect_key').notNull().unique(),
12
+ slackAppId: text('slack_app_id'),
13
+ slackTeamId: text('slack_team_id'),
14
+ botTokenEnc: text('bot_token_enc'),
15
+ signingSecretEnc: text('signing_secret_enc'),
16
+ clientId: text('client_id'),
17
+ clientSecretEnc: text('client_secret_enc'),
18
+ manifestJson: text('manifest_json'),
19
+ status: text('status', { enum: ['pending', 'active', 'disabled'] })
20
+ .notNull()
21
+ .default('pending'),
22
+ createdAt: integer('created_at', { mode: 'timestamp' })
23
+ .notNull()
24
+ .$defaultFn(() => new Date()),
25
+ updatedAt: integer('updated_at', { mode: 'timestamp' })
26
+ .notNull()
27
+ .$defaultFn(() => new Date())
28
+ .$onUpdateFn(() => new Date()),
29
+ });
30
+ export const configTokens = sqliteTable('config_tokens', {
31
+ workspaceId: text('workspace_id').primaryKey(),
32
+ accessTokenEnc: text('access_token_enc').notNull(),
33
+ refreshTokenEnc: text('refresh_token_enc').notNull(),
34
+ expiresAt: integer('expires_at', { mode: 'timestamp' }).notNull(),
35
+ updatedAt: integer('updated_at', { mode: 'timestamp' })
36
+ .notNull()
37
+ .$defaultFn(() => new Date())
38
+ .$onUpdateFn(() => new Date()),
39
+ });
40
+ export const oauthStates = sqliteTable('oauth_states', {
41
+ state: text('state').primaryKey(),
42
+ botId: text('bot_id').notNull(),
43
+ expiresAt: integer('expires_at', { mode: 'timestamp' }).notNull(),
44
+ });
45
+ export const workspaceAdminConfig = sqliteTable('workspace_admin_config', {
46
+ workspaceId: text('workspace_id').primaryKey(),
47
+ slackClientId: text('slack_client_id'),
48
+ slackClientSecretEnc: text('slack_client_secret_enc'),
49
+ dCookieEnc: text('d_cookie_enc'),
50
+ xoxcTokenEnc: text('xoxc_token_enc'),
51
+ workspaceDomain: text('workspace_domain'),
52
+ updatedAt: integer('updated_at', { mode: 'timestamp' })
53
+ .notNull()
54
+ .$defaultFn(() => new Date())
55
+ .$onUpdateFn(() => new Date()),
56
+ updatedByUserId: text('updated_by_user_id'),
57
+ });
58
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/db/d1/schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { type MySql2Database } from 'drizzle-orm/mysql2';
2
+ import type { BotRepository, ConfigTokenRepository, OAuthStateRepository, WorkspaceAdminConfigRepository } from '../../types/repository.js';
3
+ import * as schema from './schema.js';
4
+ export type MySQLDatabase = MySql2Database<typeof schema>;
5
+ export declare function initMySQLDb(databaseUrl: string): Promise<MySQLDatabase>;
6
+ export interface MySQLRepositories {
7
+ bots: BotRepository;
8
+ configTokens: ConfigTokenRepository;
9
+ oauthStates: OAuthStateRepository;
10
+ workspaceAdminConfig: WorkspaceAdminConfigRepository;
11
+ }
12
+ export declare function createMySQLRepositories(db: MySQLDatabase): MySQLRepositories;
13
+ export { TABLE_PREFIX, bots, configTokens, oauthStates, workspaceAdminConfig } from './schema.js';
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/db/mysql/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAGjE,OAAO,KAAK,EAIV,aAAa,EACb,qBAAqB,EACrB,oBAAoB,EACpB,8BAA8B,EAC/B,MAAM,2BAA2B,CAAA;AAClC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC,MAAM,MAAM,aAAa,GAAG,cAAc,CAAC,OAAO,MAAM,CAAC,CAAA;AAEzD,wBAAsB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAQ7E;AAqCD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,aAAa,CAAA;IACnB,YAAY,EAAE,qBAAqB,CAAA;IACnC,WAAW,EAAE,oBAAoB,CAAA;IACjC,oBAAoB,EAAE,8BAA8B,CAAA;CACrD;AAED,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,aAAa,GAAG,iBAAiB,CAO5E;AAiOD,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA"}