scriptorium 0.0.1 → 0.2.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 (102) hide show
  1. package/README.md +31 -8
  2. package/bin/scriptorium.js +1 -1
  3. package/build/client/assets/_layout-4p0zIumj.js +1 -0
  4. package/build/client/assets/_layout-CG4jvKXd.js +1 -0
  5. package/build/client/assets/_layout-DUvno75Q.js +1 -0
  6. package/build/client/assets/_layout-tj841ZFj.js +3 -0
  7. package/build/client/assets/auth-shell-CM4lzbUg.js +1 -0
  8. package/build/client/assets/breadcrumbs-CLMk50vh.js +1 -0
  9. package/build/client/assets/{chunk-EPOLDU6W-B-j6nV8T.js → chunk-EPOLDU6W-BT1NqV1s.js} +11 -11
  10. package/build/client/assets/confirm-passkey-sqNHrDN7.js +1 -0
  11. package/build/client/assets/document-title-CaFCBnQ-.js +1 -0
  12. package/build/client/assets/entry.client-B2qwDNf_.js +13 -0
  13. package/build/client/assets/events-BGAz2o24.js +39 -0
  14. package/build/client/assets/files-247Zppti.js +1 -0
  15. package/build/client/assets/files-COflIyot.js +1 -0
  16. package/build/client/assets/files-browser-DKxCza7c.js +1 -0
  17. package/build/client/assets/files.browse-BBMm6lgA.js +1 -0
  18. package/build/client/assets/files.browse-Dq0nnEAB.js +1 -0
  19. package/build/client/assets/index-BumTGMZF.js +1 -0
  20. package/build/client/assets/index-CLO24mr0.js +1 -0
  21. package/build/client/assets/index-D-coH8u1.js +34 -0
  22. package/build/client/assets/index-DxuBmPz-.js +1 -0
  23. package/build/client/assets/jsx-runtime-u17CrQMm.js +1 -0
  24. package/build/client/assets/login-SMI1sC8T.js +1 -0
  25. package/build/client/assets/manifest-27a6038b.js +1 -0
  26. package/build/client/assets/passkeys-Cg-Qx1Gj.js +1 -0
  27. package/build/client/assets/project-events-provider-Cz1h_7Z0.js +1 -0
  28. package/build/client/assets/project-route-Cqnw3iG7.js +1 -0
  29. package/build/client/assets/projects-CcOVpbnV.js +1 -0
  30. package/build/client/assets/projects._projectId.proxy._-l0sNRNKZ.js +1 -0
  31. package/build/client/assets/projects.new-BIAajDmU.js +1 -0
  32. package/build/client/assets/register-CwUWzMvC.js +1 -0
  33. package/build/client/assets/review-browser-CkLIZsiU.js +1 -0
  34. package/build/client/assets/review._mode-CjiM88Yw.js +1 -0
  35. package/build/client/assets/review.uncommitted-DnCOhh-l.js +1 -0
  36. package/build/client/assets/root-DtlaHd7Y.js +1 -0
  37. package/build/client/assets/root-h1ZnuAzH.css +1 -0
  38. package/build/client/assets/{scroll-indicator-CFaTM_rb.js → scroll-indicator-DxagqbkL.js} +8 -8
  39. package/build/client/assets/scrollable-layout-CR2OL0dM.js +1 -0
  40. package/build/client/assets/session-route-Cd_9l4G7.js +1 -0
  41. package/build/client/assets/sessions-provider-xySz_P7U.js +1 -0
  42. package/build/client/assets/settings-CYavUXKt.js +1 -0
  43. package/build/client/assets/sidebar-BpDMNa9u.js +1 -0
  44. package/build/client/assets/use-double-check-BJPDnzvf.js +1 -0
  45. package/build/runtime/app/lib/runtime-config/cache.server.js +15 -0
  46. package/build/runtime/app/lib/runtime-config/cli.server.js +79 -0
  47. package/build/runtime/app/lib/runtime-config/docs.server.js +170 -0
  48. package/build/runtime/app/lib/runtime-config/loader.server.js +69 -0
  49. package/build/runtime/app/lib/runtime-config/schema.server.js +128 -0
  50. package/build/runtime/server/index.js +176 -0
  51. package/build/server/index.js +8989 -4661
  52. package/docs/config.md +12 -8
  53. package/drizzle/20260324172031_curved_junta/migration.sql +20 -0
  54. package/drizzle/20260324172031_curved_junta/snapshot.json +684 -0
  55. package/drizzle/20260327233106_model_usage/migration.sql +15 -0
  56. package/drizzle/20260327233106_model_usage/snapshot.json +830 -0
  57. package/drizzle/20260331000000_projects_and_model_usages/migration.sql +41 -0
  58. package/package.json +16 -3
  59. package/build/client/assets/_layout-D-bxuQBW.js +0 -1
  60. package/build/client/assets/_layout-D2eOWFrG.js +0 -1
  61. package/build/client/assets/_layout-D4m0RbUC.js +0 -1
  62. package/build/client/assets/_layout-DggtTDZp.js +0 -1
  63. package/build/client/assets/auth-shell-FEL5QDuP.js +0 -1
  64. package/build/client/assets/confirm-passkey-ntLsS7_k.js +0 -1
  65. package/build/client/assets/entry.client-BkscxSA6.js +0 -5
  66. package/build/client/assets/file-list-DBDZbrBp.js +0 -1
  67. package/build/client/assets/files-Bzkr7-i7.js +0 -1
  68. package/build/client/assets/files-browser-KNurSsen.js +0 -1
  69. package/build/client/assets/files-cnv1kfgp.js +0 -1
  70. package/build/client/assets/files.browse-9p4xl9MV.js +0 -1
  71. package/build/client/assets/git-CjSY0eSC.js +0 -1
  72. package/build/client/assets/git-T0lLjMNd.js +0 -1
  73. package/build/client/assets/git-browser-DwSOY6QN.js +0 -1
  74. package/build/client/assets/iconify-BDcX0yw8.js +0 -1
  75. package/build/client/assets/index-8zQ7Fizv.js +0 -9
  76. package/build/client/assets/index-BUN6tnpl.js +0 -1
  77. package/build/client/assets/index-BlNoCKAt.js +0 -1
  78. package/build/client/assets/index-g2QB9BbT.js +0 -1
  79. package/build/client/assets/instance-events-provider-DTYnvumj.js +0 -39
  80. package/build/client/assets/instance-route-C25LRYYo.js +0 -1
  81. package/build/client/assets/instances-CzjXhR3c.js +0 -1
  82. package/build/client/assets/instances._instanceId.sessions._sessionId.test-COZIMxji.js +0 -208
  83. package/build/client/assets/instances.new-BZi5xwEV.js +0 -1
  84. package/build/client/assets/login-Bwt79t7_.js +0 -1
  85. package/build/client/assets/magic-string.es-DjU5CGuV.js +0 -10
  86. package/build/client/assets/manifest-3c01c628.js +0 -1
  87. package/build/client/assets/message-card-DJ5C3WNp.js +0 -34
  88. package/build/client/assets/passkeys-DpNQs4bn.js +0 -1
  89. package/build/client/assets/register-DXPj5RLZ.js +0 -1
  90. package/build/client/assets/root-DxD-Skic.css +0 -1
  91. package/build/client/assets/root-DxyfhNRI.js +0 -1
  92. package/build/client/assets/scrollable-layout-CS-vPTNM.js +0 -1
  93. package/build/client/assets/session-route-oxi4s_Qg.js +0 -1
  94. package/build/client/assets/sessions-provider-D1t07kir.js +0 -1
  95. package/build/client/assets/settings-CameSNIM.js +0 -1
  96. package/build/client/assets/sidebar-DRhB33rT.js +0 -1
  97. package/build/client/assets/use-double-check-CbbarqDt.js +0 -1
  98. package/build/runtime/app/lib/runtime-config.server.js +0 -422
  99. package/build/runtime/cli/scriptorium.js +0 -21
  100. package/build/runtime/cli/serve.js +0 -101
  101. /package/build/client/assets/{message-card-BclR_JqA.css → index-BclR_JqA.css} +0 -0
  102. /package/build/client/assets/{instances._instanceId.proxy._-l0sNRNKZ.js → projects._projectId.file-references.resolve-l0sNRNKZ.js} +0 -0
@@ -0,0 +1,684 @@
1
+ {
2
+ "version": "7",
3
+ "dialect": "sqlite",
4
+ "id": "e48c878d-e828-475d-9ea7-a7ae2e555f42",
5
+ "prevIds": [
6
+ "f0340642-d46c-46d7-bf12-350b4995529b"
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": "session_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": "last_read_at",
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": "created_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": "updated_at",
454
+ "entityType": "columns",
455
+ "table": "session_read_statuses"
456
+ },
457
+ {
458
+ "type": "text",
459
+ "notNull": false,
460
+ "autoincrement": false,
461
+ "default": null,
462
+ "generated": null,
463
+ "name": "id",
464
+ "entityType": "columns",
465
+ "table": "sessions"
466
+ },
467
+ {
468
+ "type": "text",
469
+ "notNull": true,
470
+ "autoincrement": false,
471
+ "default": null,
472
+ "generated": null,
473
+ "name": "passkey_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": "created_at",
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": "expires_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": "last_seen_at",
504
+ "entityType": "columns",
505
+ "table": "sessions"
506
+ },
507
+ {
508
+ "columns": [
509
+ "passkey_id"
510
+ ],
511
+ "tableTo": "passkeys",
512
+ "columnsTo": [
513
+ "id"
514
+ ],
515
+ "onUpdate": "NO ACTION",
516
+ "onDelete": "CASCADE",
517
+ "nameExplicit": false,
518
+ "name": "activation_codes_passkey_id_passkeys_id_fk",
519
+ "entityType": "fks",
520
+ "table": "activation_codes"
521
+ },
522
+ {
523
+ "columns": [
524
+ "passkey_id"
525
+ ],
526
+ "tableTo": "passkeys",
527
+ "columnsTo": [
528
+ "id"
529
+ ],
530
+ "onUpdate": "NO ACTION",
531
+ "onDelete": "CASCADE",
532
+ "nameExplicit": false,
533
+ "name": "sessions_passkey_id_passkeys_id_fk",
534
+ "entityType": "fks",
535
+ "table": "sessions"
536
+ },
537
+ {
538
+ "columns": [
539
+ "session_id"
540
+ ],
541
+ "nameExplicit": false,
542
+ "name": "session_read_statuses_pk",
543
+ "entityType": "pks",
544
+ "table": "session_read_statuses"
545
+ },
546
+ {
547
+ "columns": [
548
+ "id"
549
+ ],
550
+ "nameExplicit": false,
551
+ "name": "activation_codes_pk",
552
+ "table": "activation_codes",
553
+ "entityType": "pks"
554
+ },
555
+ {
556
+ "columns": [
557
+ "id"
558
+ ],
559
+ "nameExplicit": false,
560
+ "name": "authentication_challenges_pk",
561
+ "table": "authentication_challenges",
562
+ "entityType": "pks"
563
+ },
564
+ {
565
+ "columns": [
566
+ "id"
567
+ ],
568
+ "nameExplicit": false,
569
+ "name": "instances_pk",
570
+ "table": "instances",
571
+ "entityType": "pks"
572
+ },
573
+ {
574
+ "columns": [
575
+ "id"
576
+ ],
577
+ "nameExplicit": false,
578
+ "name": "passkeys_pk",
579
+ "table": "passkeys",
580
+ "entityType": "pks"
581
+ },
582
+ {
583
+ "columns": [
584
+ "id"
585
+ ],
586
+ "nameExplicit": false,
587
+ "name": "registration_challenges_pk",
588
+ "table": "registration_challenges",
589
+ "entityType": "pks"
590
+ },
591
+ {
592
+ "columns": [
593
+ "id"
594
+ ],
595
+ "nameExplicit": false,
596
+ "name": "sessions_pk",
597
+ "table": "sessions",
598
+ "entityType": "pks"
599
+ },
600
+ {
601
+ "columns": [
602
+ {
603
+ "value": "passkey_id",
604
+ "isExpression": false
605
+ }
606
+ ],
607
+ "isUnique": false,
608
+ "where": null,
609
+ "origin": "manual",
610
+ "name": "idx_activation_codes_passkey_id",
611
+ "entityType": "indexes",
612
+ "table": "activation_codes"
613
+ },
614
+ {
615
+ "columns": [
616
+ {
617
+ "value": "status",
618
+ "isExpression": false
619
+ }
620
+ ],
621
+ "isUnique": false,
622
+ "where": null,
623
+ "origin": "manual",
624
+ "name": "idx_instances_status",
625
+ "entityType": "indexes",
626
+ "table": "instances"
627
+ },
628
+ {
629
+ "columns": [
630
+ {
631
+ "value": "status",
632
+ "isExpression": false
633
+ }
634
+ ],
635
+ "isUnique": false,
636
+ "where": null,
637
+ "origin": "manual",
638
+ "name": "idx_passkeys_status",
639
+ "entityType": "indexes",
640
+ "table": "passkeys"
641
+ },
642
+ {
643
+ "columns": [
644
+ {
645
+ "value": "updated_at",
646
+ "isExpression": false
647
+ }
648
+ ],
649
+ "isUnique": false,
650
+ "where": null,
651
+ "origin": "manual",
652
+ "name": "idx_session_read_statuses_updated_at",
653
+ "entityType": "indexes",
654
+ "table": "session_read_statuses"
655
+ },
656
+ {
657
+ "columns": [
658
+ {
659
+ "value": "expires_at",
660
+ "isExpression": false
661
+ }
662
+ ],
663
+ "isUnique": false,
664
+ "where": null,
665
+ "origin": "manual",
666
+ "name": "idx_sessions_expires_at",
667
+ "entityType": "indexes",
668
+ "table": "sessions"
669
+ },
670
+ {
671
+ "value": "\"status\" in ('starting', 'running', 'stopped', 'error')",
672
+ "name": "instances_status_check",
673
+ "entityType": "checks",
674
+ "table": "instances"
675
+ },
676
+ {
677
+ "value": "\"status\" in ('pending', 'active', 'revoked')",
678
+ "name": "passkeys_status_check",
679
+ "entityType": "checks",
680
+ "table": "passkeys"
681
+ }
682
+ ],
683
+ "renames": []
684
+ }
@@ -0,0 +1,15 @@
1
+ CREATE TABLE `model_usages` (
2
+ `instance_id` text NOT NULL,
3
+ `session_id` text NOT NULL,
4
+ `provider_id` text NOT NULL,
5
+ `model_id` text NOT NULL,
6
+ `variant` text,
7
+ `used_at` text NOT NULL,
8
+ `created_at` text NOT NULL,
9
+ `updated_at` text NOT NULL,
10
+ CONSTRAINT `model_usages_pk` PRIMARY KEY(`instance_id`, `session_id`, `provider_id`, `model_id`)
11
+ );
12
+ --> statement-breakpoint
13
+ CREATE INDEX `idx_model_usages_instance_used_at` ON `model_usages` (`instance_id`,`used_at`);--> statement-breakpoint
14
+ CREATE INDEX `idx_model_usages_session` ON `model_usages` (`instance_id`,`session_id`);--> statement-breakpoint
15
+ CREATE INDEX `idx_model_usages_used_at` ON `model_usages` (`used_at`);