scriptorium 0.0.1

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 (82) hide show
  1. package/README.md +110 -0
  2. package/bin/scriptorium.js +18 -0
  3. package/build/client/apple-touch-icon.png +0 -0
  4. package/build/client/assets/_layout-D-bxuQBW.js +1 -0
  5. package/build/client/assets/_layout-D2eOWFrG.js +1 -0
  6. package/build/client/assets/_layout-D4m0RbUC.js +1 -0
  7. package/build/client/assets/_layout-DggtTDZp.js +1 -0
  8. package/build/client/assets/ack-yx2DGjj6.js +1 -0
  9. package/build/client/assets/auth-shell-FEL5QDuP.js +1 -0
  10. package/build/client/assets/begin-DP2rzg_V.js +1 -0
  11. package/build/client/assets/begin-l0sNRNKZ.js +1 -0
  12. package/build/client/assets/chunk-EPOLDU6W-B-j6nV8T.js +26 -0
  13. package/build/client/assets/cn-Kn7NbJqM.js +1 -0
  14. package/build/client/assets/confirm-passkey-ntLsS7_k.js +1 -0
  15. package/build/client/assets/entry.client-BkscxSA6.js +5 -0
  16. package/build/client/assets/events-l0sNRNKZ.js +1 -0
  17. package/build/client/assets/file-list-DBDZbrBp.js +1 -0
  18. package/build/client/assets/files-Bzkr7-i7.js +1 -0
  19. package/build/client/assets/files-browser-KNurSsen.js +1 -0
  20. package/build/client/assets/files-cnv1kfgp.js +1 -0
  21. package/build/client/assets/files.browse-9p4xl9MV.js +1 -0
  22. package/build/client/assets/finish-DP2rzg_V.js +1 -0
  23. package/build/client/assets/finish-l0sNRNKZ.js +1 -0
  24. package/build/client/assets/git-CjSY0eSC.js +1 -0
  25. package/build/client/assets/git-T0lLjMNd.js +1 -0
  26. package/build/client/assets/git-browser-DwSOY6QN.js +1 -0
  27. package/build/client/assets/iconify-BDcX0yw8.js +1 -0
  28. package/build/client/assets/index-8zQ7Fizv.js +9 -0
  29. package/build/client/assets/index-BUN6tnpl.js +1 -0
  30. package/build/client/assets/index-BlNoCKAt.js +1 -0
  31. package/build/client/assets/index-g2QB9BbT.js +1 -0
  32. package/build/client/assets/instance-events-provider-DTYnvumj.js +39 -0
  33. package/build/client/assets/instance-route-C25LRYYo.js +1 -0
  34. package/build/client/assets/instances-CzjXhR3c.js +1 -0
  35. package/build/client/assets/instances._instanceId.proxy._-l0sNRNKZ.js +1 -0
  36. package/build/client/assets/instances._instanceId.sessions._sessionId.test-COZIMxji.js +208 -0
  37. package/build/client/assets/instances.new-BZi5xwEV.js +1 -0
  38. package/build/client/assets/login-Bwt79t7_.js +1 -0
  39. package/build/client/assets/logout-l0sNRNKZ.js +1 -0
  40. package/build/client/assets/magic-string.es-DjU5CGuV.js +10 -0
  41. package/build/client/assets/manifest-3c01c628.js +1 -0
  42. package/build/client/assets/message-card-BclR_JqA.css +1 -0
  43. package/build/client/assets/message-card-DJ5C3WNp.js +34 -0
  44. package/build/client/assets/passkeys-DpNQs4bn.js +1 -0
  45. package/build/client/assets/register-DXPj5RLZ.js +1 -0
  46. package/build/client/assets/root-DxD-Skic.css +1 -0
  47. package/build/client/assets/root-DxyfhNRI.js +1 -0
  48. package/build/client/assets/route-handle-DcEil3NY.js +1 -0
  49. package/build/client/assets/safe-area-DTPfLjT-.css +1 -0
  50. package/build/client/assets/safe-area.module-CwCzHS6V.js +1 -0
  51. package/build/client/assets/scroll-indicator-CFaTM_rb.js +12 -0
  52. package/build/client/assets/scroll-indicator-D4qxLVUu.css +1 -0
  53. package/build/client/assets/scrollable-layout-CS-vPTNM.js +1 -0
  54. package/build/client/assets/session-route-oxi4s_Qg.js +1 -0
  55. package/build/client/assets/sessions-provider-D1t07kir.js +1 -0
  56. package/build/client/assets/settings-CameSNIM.js +1 -0
  57. package/build/client/assets/sidebar-DRhB33rT.js +1 -0
  58. package/build/client/assets/use-double-check-CbbarqDt.js +1 -0
  59. package/build/client/assets/webauthn.client-C1ZSQfKs.js +2 -0
  60. package/build/client/dev-sw.js +7 -0
  61. package/build/client/favicon.ico +0 -0
  62. package/build/client/icon-192.png +0 -0
  63. package/build/client/icon-512.png +0 -0
  64. package/build/client/icon-maskable-512.png +0 -0
  65. package/build/client/icon-maskable.svg +8 -0
  66. package/build/client/icon.svg +8 -0
  67. package/build/client/manifest.webmanifest +28 -0
  68. package/build/client/sw.js +73 -0
  69. package/build/runtime/app/lib/runtime-config.server.js +422 -0
  70. package/build/runtime/cli/scriptorium.js +21 -0
  71. package/build/runtime/cli/serve.js +101 -0
  72. package/build/server/index.js +8574 -0
  73. package/docs/config.md +49 -0
  74. package/drizzle/20260312181200_fair_caretaker/migration.sql +54 -0
  75. package/drizzle/20260312181200_fair_caretaker/snapshot.json +484 -0
  76. package/drizzle/20260313000548_windy_paibok/migration.sql +37 -0
  77. package/drizzle/20260313000548_windy_paibok/snapshot.json +617 -0
  78. package/drizzle/20260318120000_session_read_statuses/migration.sql +11 -0
  79. package/drizzle/20260318120000_session_read_statuses/snapshot.json +710 -0
  80. package/drizzle/20260318213224_dear_captain_midlands/migration.sql +24 -0
  81. package/drizzle/20260318213224_dear_captain_midlands/snapshot.json +695 -0
  82. package/package.json +88 -0
@@ -0,0 +1,24 @@
1
+ PRAGMA foreign_keys=OFF;--> statement-breakpoint
2
+ CREATE TABLE `__new_session_read_statuses` (
3
+ `instance_id` text NOT NULL,
4
+ `session_id` text NOT NULL,
5
+ `last_read_at` text NOT NULL,
6
+ `created_at` text NOT NULL,
7
+ `updated_at` text NOT NULL,
8
+ CONSTRAINT `session_read_statuses_pk` PRIMARY KEY(`instance_id`, `session_id`)
9
+ );
10
+ --> statement-breakpoint
11
+ INSERT INTO `__new_session_read_statuses`(`instance_id`, `session_id`, `last_read_at`, `created_at`, `updated_at`)
12
+ SELECT
13
+ `instance_id`,
14
+ `session_id`,
15
+ MAX(`last_read_at`) AS `last_read_at`,
16
+ MIN(`created_at`) AS `created_at`,
17
+ MAX(`updated_at`) AS `updated_at`
18
+ FROM `session_read_statuses`
19
+ GROUP BY `instance_id`, `session_id`;--> statement-breakpoint
20
+ DROP TABLE `session_read_statuses`;--> statement-breakpoint
21
+ ALTER TABLE `__new_session_read_statuses` RENAME TO `session_read_statuses`;--> statement-breakpoint
22
+ PRAGMA foreign_keys=ON;--> statement-breakpoint
23
+ DROP INDEX IF EXISTS `idx_session_read_statuses_viewer_updated_at`;--> statement-breakpoint
24
+ CREATE INDEX `idx_session_read_statuses_updated_at` ON `session_read_statuses` (`updated_at`);
@@ -0,0 +1,695 @@
1
+ {
2
+ "version": "7",
3
+ "dialect": "sqlite",
4
+ "id": "f0340642-d46c-46d7-bf12-350b4995529b",
5
+ "prevIds": [
6
+ "4893a685-7d37-4516-b3b8-31ca94c9a211"
7
+ ],
8
+ "ddl": [
9
+ {
10
+ "name": "activation_codes",
11
+ "entityType": "tables"
12
+ },
13
+ {
14
+ "name": "authentication_challenges",
15
+ "entityType": "tables"
16
+ },
17
+ {
18
+ "name": "instances",
19
+ "entityType": "tables"
20
+ },
21
+ {
22
+ "name": "passkeys",
23
+ "entityType": "tables"
24
+ },
25
+ {
26
+ "name": "registration_challenges",
27
+ "entityType": "tables"
28
+ },
29
+ {
30
+ "name": "session_read_statuses",
31
+ "entityType": "tables"
32
+ },
33
+ {
34
+ "name": "sessions",
35
+ "entityType": "tables"
36
+ },
37
+ {
38
+ "type": "text",
39
+ "notNull": false,
40
+ "autoincrement": false,
41
+ "default": null,
42
+ "generated": null,
43
+ "name": "id",
44
+ "entityType": "columns",
45
+ "table": "activation_codes"
46
+ },
47
+ {
48
+ "type": "text",
49
+ "notNull": true,
50
+ "autoincrement": false,
51
+ "default": null,
52
+ "generated": null,
53
+ "name": "passkey_id",
54
+ "entityType": "columns",
55
+ "table": "activation_codes"
56
+ },
57
+ {
58
+ "type": "text",
59
+ "notNull": true,
60
+ "autoincrement": false,
61
+ "default": null,
62
+ "generated": null,
63
+ "name": "code_hash",
64
+ "entityType": "columns",
65
+ "table": "activation_codes"
66
+ },
67
+ {
68
+ "type": "text",
69
+ "notNull": true,
70
+ "autoincrement": false,
71
+ "default": null,
72
+ "generated": null,
73
+ "name": "expires_at",
74
+ "entityType": "columns",
75
+ "table": "activation_codes"
76
+ },
77
+ {
78
+ "type": "text",
79
+ "notNull": true,
80
+ "autoincrement": false,
81
+ "default": null,
82
+ "generated": null,
83
+ "name": "created_at",
84
+ "entityType": "columns",
85
+ "table": "activation_codes"
86
+ },
87
+ {
88
+ "type": "text",
89
+ "notNull": false,
90
+ "autoincrement": false,
91
+ "default": null,
92
+ "generated": null,
93
+ "name": "consumed_at",
94
+ "entityType": "columns",
95
+ "table": "activation_codes"
96
+ },
97
+ {
98
+ "type": "integer",
99
+ "notNull": true,
100
+ "autoincrement": false,
101
+ "default": "0",
102
+ "generated": null,
103
+ "name": "attempts",
104
+ "entityType": "columns",
105
+ "table": "activation_codes"
106
+ },
107
+ {
108
+ "type": "text",
109
+ "notNull": false,
110
+ "autoincrement": false,
111
+ "default": null,
112
+ "generated": null,
113
+ "name": "id",
114
+ "entityType": "columns",
115
+ "table": "authentication_challenges"
116
+ },
117
+ {
118
+ "type": "text",
119
+ "notNull": true,
120
+ "autoincrement": false,
121
+ "default": null,
122
+ "generated": null,
123
+ "name": "challenge",
124
+ "entityType": "columns",
125
+ "table": "authentication_challenges"
126
+ },
127
+ {
128
+ "type": "text",
129
+ "notNull": true,
130
+ "autoincrement": false,
131
+ "default": null,
132
+ "generated": null,
133
+ "name": "expires_at",
134
+ "entityType": "columns",
135
+ "table": "authentication_challenges"
136
+ },
137
+ {
138
+ "type": "text",
139
+ "notNull": true,
140
+ "autoincrement": false,
141
+ "default": null,
142
+ "generated": null,
143
+ "name": "created_at",
144
+ "entityType": "columns",
145
+ "table": "authentication_challenges"
146
+ },
147
+ {
148
+ "type": "text",
149
+ "notNull": false,
150
+ "autoincrement": false,
151
+ "default": null,
152
+ "generated": null,
153
+ "name": "id",
154
+ "entityType": "columns",
155
+ "table": "instances"
156
+ },
157
+ {
158
+ "type": "text",
159
+ "notNull": true,
160
+ "autoincrement": false,
161
+ "default": null,
162
+ "generated": null,
163
+ "name": "name",
164
+ "entityType": "columns",
165
+ "table": "instances"
166
+ },
167
+ {
168
+ "type": "text",
169
+ "notNull": true,
170
+ "autoincrement": false,
171
+ "default": null,
172
+ "generated": null,
173
+ "name": "directory",
174
+ "entityType": "columns",
175
+ "table": "instances"
176
+ },
177
+ {
178
+ "type": "integer",
179
+ "notNull": true,
180
+ "autoincrement": false,
181
+ "default": null,
182
+ "generated": null,
183
+ "name": "port",
184
+ "entityType": "columns",
185
+ "table": "instances"
186
+ },
187
+ {
188
+ "type": "text",
189
+ "notNull": true,
190
+ "autoincrement": false,
191
+ "default": null,
192
+ "generated": null,
193
+ "name": "status",
194
+ "entityType": "columns",
195
+ "table": "instances"
196
+ },
197
+ {
198
+ "type": "text",
199
+ "notNull": true,
200
+ "autoincrement": false,
201
+ "default": null,
202
+ "generated": null,
203
+ "name": "created_at",
204
+ "entityType": "columns",
205
+ "table": "instances"
206
+ },
207
+ {
208
+ "type": "text",
209
+ "notNull": true,
210
+ "autoincrement": false,
211
+ "default": null,
212
+ "generated": null,
213
+ "name": "updated_at",
214
+ "entityType": "columns",
215
+ "table": "instances"
216
+ },
217
+ {
218
+ "type": "text",
219
+ "notNull": false,
220
+ "autoincrement": false,
221
+ "default": null,
222
+ "generated": null,
223
+ "name": "last_started_at",
224
+ "entityType": "columns",
225
+ "table": "instances"
226
+ },
227
+ {
228
+ "type": "text",
229
+ "notNull": false,
230
+ "autoincrement": false,
231
+ "default": null,
232
+ "generated": null,
233
+ "name": "last_exit_at",
234
+ "entityType": "columns",
235
+ "table": "instances"
236
+ },
237
+ {
238
+ "type": "text",
239
+ "notNull": false,
240
+ "autoincrement": false,
241
+ "default": null,
242
+ "generated": null,
243
+ "name": "last_error",
244
+ "entityType": "columns",
245
+ "table": "instances"
246
+ },
247
+ {
248
+ "type": "text",
249
+ "notNull": false,
250
+ "autoincrement": false,
251
+ "default": null,
252
+ "generated": null,
253
+ "name": "id",
254
+ "entityType": "columns",
255
+ "table": "passkeys"
256
+ },
257
+ {
258
+ "type": "text",
259
+ "notNull": true,
260
+ "autoincrement": false,
261
+ "default": null,
262
+ "generated": null,
263
+ "name": "webauthn_user_id",
264
+ "entityType": "columns",
265
+ "table": "passkeys"
266
+ },
267
+ {
268
+ "type": "blob",
269
+ "notNull": true,
270
+ "autoincrement": false,
271
+ "default": null,
272
+ "generated": null,
273
+ "name": "public_key",
274
+ "entityType": "columns",
275
+ "table": "passkeys"
276
+ },
277
+ {
278
+ "type": "integer",
279
+ "notNull": true,
280
+ "autoincrement": false,
281
+ "default": null,
282
+ "generated": null,
283
+ "name": "counter",
284
+ "entityType": "columns",
285
+ "table": "passkeys"
286
+ },
287
+ {
288
+ "type": "text",
289
+ "notNull": true,
290
+ "autoincrement": false,
291
+ "default": null,
292
+ "generated": null,
293
+ "name": "device_type",
294
+ "entityType": "columns",
295
+ "table": "passkeys"
296
+ },
297
+ {
298
+ "type": "integer",
299
+ "notNull": true,
300
+ "autoincrement": false,
301
+ "default": null,
302
+ "generated": null,
303
+ "name": "backed_up",
304
+ "entityType": "columns",
305
+ "table": "passkeys"
306
+ },
307
+ {
308
+ "type": "text",
309
+ "notNull": true,
310
+ "autoincrement": false,
311
+ "default": null,
312
+ "generated": null,
313
+ "name": "transports_json",
314
+ "entityType": "columns",
315
+ "table": "passkeys"
316
+ },
317
+ {
318
+ "type": "text",
319
+ "notNull": true,
320
+ "autoincrement": false,
321
+ "default": null,
322
+ "generated": null,
323
+ "name": "label",
324
+ "entityType": "columns",
325
+ "table": "passkeys"
326
+ },
327
+ {
328
+ "type": "text",
329
+ "notNull": true,
330
+ "autoincrement": false,
331
+ "default": null,
332
+ "generated": null,
333
+ "name": "status",
334
+ "entityType": "columns",
335
+ "table": "passkeys"
336
+ },
337
+ {
338
+ "type": "text",
339
+ "notNull": true,
340
+ "autoincrement": false,
341
+ "default": null,
342
+ "generated": null,
343
+ "name": "created_at",
344
+ "entityType": "columns",
345
+ "table": "passkeys"
346
+ },
347
+ {
348
+ "type": "text",
349
+ "notNull": false,
350
+ "autoincrement": false,
351
+ "default": null,
352
+ "generated": null,
353
+ "name": "activated_at",
354
+ "entityType": "columns",
355
+ "table": "passkeys"
356
+ },
357
+ {
358
+ "type": "text",
359
+ "notNull": false,
360
+ "autoincrement": false,
361
+ "default": null,
362
+ "generated": null,
363
+ "name": "revoked_at",
364
+ "entityType": "columns",
365
+ "table": "passkeys"
366
+ },
367
+ {
368
+ "type": "text",
369
+ "notNull": false,
370
+ "autoincrement": false,
371
+ "default": null,
372
+ "generated": null,
373
+ "name": "id",
374
+ "entityType": "columns",
375
+ "table": "registration_challenges"
376
+ },
377
+ {
378
+ "type": "text",
379
+ "notNull": true,
380
+ "autoincrement": false,
381
+ "default": null,
382
+ "generated": null,
383
+ "name": "challenge",
384
+ "entityType": "columns",
385
+ "table": "registration_challenges"
386
+ },
387
+ {
388
+ "type": "text",
389
+ "notNull": true,
390
+ "autoincrement": false,
391
+ "default": null,
392
+ "generated": null,
393
+ "name": "label",
394
+ "entityType": "columns",
395
+ "table": "registration_challenges"
396
+ },
397
+ {
398
+ "type": "text",
399
+ "notNull": true,
400
+ "autoincrement": false,
401
+ "default": null,
402
+ "generated": null,
403
+ "name": "expires_at",
404
+ "entityType": "columns",
405
+ "table": "registration_challenges"
406
+ },
407
+ {
408
+ "type": "text",
409
+ "notNull": true,
410
+ "autoincrement": false,
411
+ "default": null,
412
+ "generated": null,
413
+ "name": "created_at",
414
+ "entityType": "columns",
415
+ "table": "registration_challenges"
416
+ },
417
+ {
418
+ "type": "text",
419
+ "notNull": true,
420
+ "autoincrement": false,
421
+ "default": null,
422
+ "generated": null,
423
+ "name": "instance_id",
424
+ "entityType": "columns",
425
+ "table": "session_read_statuses"
426
+ },
427
+ {
428
+ "type": "text",
429
+ "notNull": true,
430
+ "autoincrement": false,
431
+ "default": null,
432
+ "generated": null,
433
+ "name": "session_id",
434
+ "entityType": "columns",
435
+ "table": "session_read_statuses"
436
+ },
437
+ {
438
+ "type": "text",
439
+ "notNull": true,
440
+ "autoincrement": false,
441
+ "default": null,
442
+ "generated": null,
443
+ "name": "last_read_at",
444
+ "entityType": "columns",
445
+ "table": "session_read_statuses"
446
+ },
447
+ {
448
+ "type": "text",
449
+ "notNull": true,
450
+ "autoincrement": false,
451
+ "default": null,
452
+ "generated": null,
453
+ "name": "created_at",
454
+ "entityType": "columns",
455
+ "table": "session_read_statuses"
456
+ },
457
+ {
458
+ "type": "text",
459
+ "notNull": true,
460
+ "autoincrement": false,
461
+ "default": null,
462
+ "generated": null,
463
+ "name": "updated_at",
464
+ "entityType": "columns",
465
+ "table": "session_read_statuses"
466
+ },
467
+ {
468
+ "type": "text",
469
+ "notNull": false,
470
+ "autoincrement": false,
471
+ "default": null,
472
+ "generated": null,
473
+ "name": "id",
474
+ "entityType": "columns",
475
+ "table": "sessions"
476
+ },
477
+ {
478
+ "type": "text",
479
+ "notNull": true,
480
+ "autoincrement": false,
481
+ "default": null,
482
+ "generated": null,
483
+ "name": "passkey_id",
484
+ "entityType": "columns",
485
+ "table": "sessions"
486
+ },
487
+ {
488
+ "type": "text",
489
+ "notNull": true,
490
+ "autoincrement": false,
491
+ "default": null,
492
+ "generated": null,
493
+ "name": "created_at",
494
+ "entityType": "columns",
495
+ "table": "sessions"
496
+ },
497
+ {
498
+ "type": "text",
499
+ "notNull": true,
500
+ "autoincrement": false,
501
+ "default": null,
502
+ "generated": null,
503
+ "name": "expires_at",
504
+ "entityType": "columns",
505
+ "table": "sessions"
506
+ },
507
+ {
508
+ "type": "text",
509
+ "notNull": true,
510
+ "autoincrement": false,
511
+ "default": null,
512
+ "generated": null,
513
+ "name": "last_seen_at",
514
+ "entityType": "columns",
515
+ "table": "sessions"
516
+ },
517
+ {
518
+ "columns": [
519
+ "passkey_id"
520
+ ],
521
+ "tableTo": "passkeys",
522
+ "columnsTo": [
523
+ "id"
524
+ ],
525
+ "onUpdate": "NO ACTION",
526
+ "onDelete": "CASCADE",
527
+ "nameExplicit": false,
528
+ "name": "activation_codes_passkey_id_passkeys_id_fk",
529
+ "entityType": "fks",
530
+ "table": "activation_codes"
531
+ },
532
+ {
533
+ "columns": [
534
+ "passkey_id"
535
+ ],
536
+ "tableTo": "passkeys",
537
+ "columnsTo": [
538
+ "id"
539
+ ],
540
+ "onUpdate": "NO ACTION",
541
+ "onDelete": "CASCADE",
542
+ "nameExplicit": false,
543
+ "name": "sessions_passkey_id_passkeys_id_fk",
544
+ "entityType": "fks",
545
+ "table": "sessions"
546
+ },
547
+ {
548
+ "columns": [
549
+ "instance_id",
550
+ "session_id"
551
+ ],
552
+ "nameExplicit": false,
553
+ "name": "session_read_statuses_pk",
554
+ "entityType": "pks",
555
+ "table": "session_read_statuses"
556
+ },
557
+ {
558
+ "columns": [
559
+ "id"
560
+ ],
561
+ "nameExplicit": false,
562
+ "name": "activation_codes_pk",
563
+ "table": "activation_codes",
564
+ "entityType": "pks"
565
+ },
566
+ {
567
+ "columns": [
568
+ "id"
569
+ ],
570
+ "nameExplicit": false,
571
+ "name": "authentication_challenges_pk",
572
+ "table": "authentication_challenges",
573
+ "entityType": "pks"
574
+ },
575
+ {
576
+ "columns": [
577
+ "id"
578
+ ],
579
+ "nameExplicit": false,
580
+ "name": "instances_pk",
581
+ "table": "instances",
582
+ "entityType": "pks"
583
+ },
584
+ {
585
+ "columns": [
586
+ "id"
587
+ ],
588
+ "nameExplicit": false,
589
+ "name": "passkeys_pk",
590
+ "table": "passkeys",
591
+ "entityType": "pks"
592
+ },
593
+ {
594
+ "columns": [
595
+ "id"
596
+ ],
597
+ "nameExplicit": false,
598
+ "name": "registration_challenges_pk",
599
+ "table": "registration_challenges",
600
+ "entityType": "pks"
601
+ },
602
+ {
603
+ "columns": [
604
+ "id"
605
+ ],
606
+ "nameExplicit": false,
607
+ "name": "sessions_pk",
608
+ "table": "sessions",
609
+ "entityType": "pks"
610
+ },
611
+ {
612
+ "columns": [
613
+ {
614
+ "value": "passkey_id",
615
+ "isExpression": false
616
+ }
617
+ ],
618
+ "isUnique": false,
619
+ "where": null,
620
+ "origin": "manual",
621
+ "name": "idx_activation_codes_passkey_id",
622
+ "entityType": "indexes",
623
+ "table": "activation_codes"
624
+ },
625
+ {
626
+ "columns": [
627
+ {
628
+ "value": "status",
629
+ "isExpression": false
630
+ }
631
+ ],
632
+ "isUnique": false,
633
+ "where": null,
634
+ "origin": "manual",
635
+ "name": "idx_instances_status",
636
+ "entityType": "indexes",
637
+ "table": "instances"
638
+ },
639
+ {
640
+ "columns": [
641
+ {
642
+ "value": "status",
643
+ "isExpression": false
644
+ }
645
+ ],
646
+ "isUnique": false,
647
+ "where": null,
648
+ "origin": "manual",
649
+ "name": "idx_passkeys_status",
650
+ "entityType": "indexes",
651
+ "table": "passkeys"
652
+ },
653
+ {
654
+ "columns": [
655
+ {
656
+ "value": "updated_at",
657
+ "isExpression": false
658
+ }
659
+ ],
660
+ "isUnique": false,
661
+ "where": null,
662
+ "origin": "manual",
663
+ "name": "idx_session_read_statuses_updated_at",
664
+ "entityType": "indexes",
665
+ "table": "session_read_statuses"
666
+ },
667
+ {
668
+ "columns": [
669
+ {
670
+ "value": "expires_at",
671
+ "isExpression": false
672
+ }
673
+ ],
674
+ "isUnique": false,
675
+ "where": null,
676
+ "origin": "manual",
677
+ "name": "idx_sessions_expires_at",
678
+ "entityType": "indexes",
679
+ "table": "sessions"
680
+ },
681
+ {
682
+ "value": "\"status\" in ('starting', 'running', 'stopped', 'error')",
683
+ "name": "instances_status_check",
684
+ "entityType": "checks",
685
+ "table": "instances"
686
+ },
687
+ {
688
+ "value": "\"status\" in ('pending', 'active', 'revoked')",
689
+ "name": "passkeys_status_check",
690
+ "entityType": "checks",
691
+ "table": "passkeys"
692
+ }
693
+ ],
694
+ "renames": []
695
+ }