wizards 0.5.12 → 0.5.13

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 (68) hide show
  1. package/apps/runtime/dist/db/control-schema.js +10 -0
  2. package/apps/runtime/dist/db/migrations/control/0010_tan_snowbird.sql +6 -0
  3. package/apps/runtime/dist/db/migrations/control/meta/0010_snapshot.json +600 -0
  4. package/apps/runtime/dist/db/migrations/control/meta/_journal.json +7 -0
  5. package/apps/runtime/dist/db/migrations/tenant/0016_even_trish_tilby.sql +12 -0
  6. package/apps/runtime/dist/db/migrations/tenant/meta/0016_snapshot.json +3326 -0
  7. package/apps/runtime/dist/db/migrations/tenant/meta/_journal.json +7 -0
  8. package/apps/runtime/dist/db/schema.js +20 -0
  9. package/apps/runtime/dist/engine/runner.js +19 -3
  10. package/apps/runtime/dist/engine/steps.js +15 -4
  11. package/apps/runtime/dist/model-errors.js +20 -7
  12. package/apps/runtime/dist/routes/runs.js +170 -23
  13. package/apps/runtime/dist/routes/studio.js +41 -3
  14. package/apps/runtime/dist/services/cloud.js +1 -0
  15. package/apps/runtime/dist/services/spaces.js +1 -0
  16. package/apps/runtime/dist/services/translations.js +303 -0
  17. package/apps/runtime/dist/services/wizards.js +3 -1
  18. package/apps/runtime/dist/texts.js +2 -0
  19. package/apps/web/dist/assets/{AboutDialog-DvkE9J4h.js → AboutDialog-CkE7uZNL.js} +1 -1
  20. package/apps/web/dist/assets/{ChangelogDialog-BZ8i3wt_.js → ChangelogDialog-BCS3WIRA.js} +1 -1
  21. package/apps/web/dist/assets/ChatView-DClGzMte.js +10 -0
  22. package/apps/web/dist/assets/EditorPage-Dg27sIZ7.js +3 -0
  23. package/apps/web/dist/assets/{FlowPreview-DG23aI89.js → FlowPreview-D2haAZwo.js} +1 -1
  24. package/apps/web/dist/assets/{Harness-CFh04TZ3.js → Harness-CGI6ZMTA.js} +2 -2
  25. package/apps/web/dist/assets/{NewWizardChannels-Bmo5yRCv.js → NewWizardChannels-C4b_phHw.js} +1 -1
  26. package/apps/web/dist/assets/{NewWizardPage-4n9-ZmHt.js → NewWizardPage-DhDXrjKX.js} +2 -2
  27. package/apps/web/dist/assets/OnboardingPage-DgySdBgo.js +1 -0
  28. package/apps/web/dist/assets/ProjectPage-dvtJn_3c.js +1 -0
  29. package/apps/web/dist/assets/PublicRunner-lP4sVF1q.js +1 -0
  30. package/apps/web/dist/assets/{ReadOnly-C_jD7KjW.js → ReadOnly-B-4l3bVt.js} +1 -1
  31. package/apps/web/dist/assets/RunDrawer-B2bsB9Z6.js +4 -0
  32. package/apps/web/dist/assets/RunnerView-BZ83HUnO.js +1 -0
  33. package/apps/web/dist/assets/SettingsPage-C0_wAa_j.js +1 -0
  34. package/apps/web/dist/assets/SetupPage-kuvBk0G0.js +1 -0
  35. package/apps/web/dist/assets/{SharePage-k2OMGOWU.js → SharePage-COLVxXMI.js} +1 -1
  36. package/apps/web/dist/assets/changelog-CIYdRaa5.js +1 -0
  37. package/apps/web/dist/assets/{esm-Dzqe3TT4.js → esm-BqbWrbsa.js} +1 -1
  38. package/apps/web/dist/assets/index-Da9Pvzpj.js +14 -0
  39. package/apps/web/dist/assets/{lock-a8rDnyg5.js → lock-BkN0Fai6.js} +1 -1
  40. package/apps/web/dist/assets/{phone-CitA6oZn.js → phone-Dip_wSUZ.js} +1 -1
  41. package/apps/web/dist/assets/{settings-menu-COgM8CgB.js → settings-menu-B7eXkvba.js} +1 -1
  42. package/apps/web/dist/assets/ui-B9AOCT0v.js +134 -0
  43. package/apps/web/dist/assets/{upload-CcKFwoPd.js → upload-DPQ4pwnl.js} +1 -1
  44. package/apps/web/dist/index.html +2 -2
  45. package/apps/web/dist/mcp/flow.html +53 -53
  46. package/node_modules/@engenty-wizards/shared/dist/definition.d.ts +19 -0
  47. package/node_modules/@engenty-wizards/shared/dist/definition.js +51 -0
  48. package/node_modules/@engenty-wizards/shared/dist/run.d.ts +46 -4
  49. package/node_modules/@engenty-wizards/shared/dist/run.js +23 -8
  50. package/node_modules/@engenty-wizards/shared/dist/runner-texts.d.ts +506 -0
  51. package/node_modules/@engenty-wizards/shared/dist/runner-texts.js +483 -0
  52. package/node_modules/@engenty-wizards/shared/dist/texts.d.ts +11 -2
  53. package/node_modules/@engenty-wizards/shared/dist/texts.js +16 -8
  54. package/node_modules/@engenty-wizards/shared/dist/translation.d.ts +23 -0
  55. package/node_modules/@engenty-wizards/shared/dist/translation.js +154 -0
  56. package/package.json +1 -1
  57. package/apps/web/dist/assets/ChatView-DIDIR0mb.js +0 -10
  58. package/apps/web/dist/assets/EditorPage-BYysznX3.js +0 -3
  59. package/apps/web/dist/assets/OnboardingPage-DpZv9qEO.js +0 -1
  60. package/apps/web/dist/assets/ProjectPage-IQb9RFlm.js +0 -1
  61. package/apps/web/dist/assets/PublicRunner-Da0klKj-.js +0 -1
  62. package/apps/web/dist/assets/RunDrawer-FwLK67Yn.js +0 -4
  63. package/apps/web/dist/assets/RunnerView-BBuphCkK.js +0 -1
  64. package/apps/web/dist/assets/SettingsPage-CZx52Ubk.js +0 -1
  65. package/apps/web/dist/assets/SetupPage-B-o7VhbI.js +0 -1
  66. package/apps/web/dist/assets/changelog-9oSWVuP-.js +0 -1
  67. package/apps/web/dist/assets/index-93fPRTxr.js +0 -14
  68. package/apps/web/dist/assets/ui-CeZNNuaK.js +0 -134
@@ -80,6 +80,16 @@ export const setting = sqliteTable("setting", {
80
80
  key: text("key").primaryKey(),
81
81
  value: text("value", { mode: "json" }).$type().notNull(),
82
82
  });
83
+ /**
84
+ * The runner's own words in a language outside `LANGS`, translated once for the runtime:
85
+ * `source` is the hash of the English tables they were made from.
86
+ */
87
+ export const uiTranslation = sqliteTable("ui_translation", {
88
+ lang: text("lang").primaryKey(),
89
+ source: text("source").notNull(),
90
+ texts: text("texts", { mode: "json" }).$type().notNull(),
91
+ createdAt: createdAt(),
92
+ });
83
93
  // --- marketplace -----------------------------------------------------------------
84
94
  // The marketplace is an app of its own (docs/marketplace-contract.md). What this runtime keeps
85
95
  // of it for offline use: its starters and what people starred, as the marketplace exports them.
@@ -0,0 +1,6 @@
1
+ CREATE TABLE `ui_translation` (
2
+ `lang` text PRIMARY KEY NOT NULL,
3
+ `source` text NOT NULL,
4
+ `texts` text NOT NULL,
5
+ `created_at` integer DEFAULT (unixepoch() * 1000) NOT NULL
6
+ );
@@ -0,0 +1,600 @@
1
+ {
2
+ "version": "6",
3
+ "dialect": "sqlite",
4
+ "id": "ffbb7ba8-e68e-4a74-b158-df213beab70b",
5
+ "prevId": "9991e82d-196a-4a7b-9c90-df39a12f3aa2",
6
+ "tables": {
7
+ "link": {
8
+ "name": "link",
9
+ "columns": {
10
+ "token": {
11
+ "name": "token",
12
+ "type": "text",
13
+ "primaryKey": true,
14
+ "notNull": true,
15
+ "autoincrement": false
16
+ },
17
+ "tenant_id": {
18
+ "name": "tenant_id",
19
+ "type": "text",
20
+ "primaryKey": false,
21
+ "notNull": true,
22
+ "autoincrement": false
23
+ },
24
+ "kind": {
25
+ "name": "kind",
26
+ "type": "text",
27
+ "primaryKey": false,
28
+ "notNull": true,
29
+ "autoincrement": false
30
+ },
31
+ "ref": {
32
+ "name": "ref",
33
+ "type": "text",
34
+ "primaryKey": false,
35
+ "notNull": true,
36
+ "autoincrement": false
37
+ },
38
+ "created_at": {
39
+ "name": "created_at",
40
+ "type": "integer",
41
+ "primaryKey": false,
42
+ "notNull": true,
43
+ "autoincrement": false,
44
+ "default": "(unixepoch() * 1000)"
45
+ }
46
+ },
47
+ "indexes": {
48
+ "link_tenant": {
49
+ "name": "link_tenant",
50
+ "columns": [
51
+ "tenant_id"
52
+ ],
53
+ "isUnique": false
54
+ },
55
+ "link_ref": {
56
+ "name": "link_ref",
57
+ "columns": [
58
+ "kind",
59
+ "ref"
60
+ ],
61
+ "isUnique": false
62
+ }
63
+ },
64
+ "foreignKeys": {},
65
+ "compositePrimaryKeys": {},
66
+ "uniqueConstraints": {},
67
+ "checkConstraints": {}
68
+ },
69
+ "marketplace_cache": {
70
+ "name": "marketplace_cache",
71
+ "columns": {
72
+ "id": {
73
+ "name": "id",
74
+ "type": "text",
75
+ "primaryKey": true,
76
+ "notNull": true,
77
+ "autoincrement": false
78
+ },
79
+ "hash": {
80
+ "name": "hash",
81
+ "type": "text",
82
+ "primaryKey": false,
83
+ "notNull": true,
84
+ "autoincrement": false
85
+ },
86
+ "entry": {
87
+ "name": "entry",
88
+ "type": "text",
89
+ "primaryKey": false,
90
+ "notNull": true,
91
+ "autoincrement": false
92
+ },
93
+ "fetched_at": {
94
+ "name": "fetched_at",
95
+ "type": "integer",
96
+ "primaryKey": false,
97
+ "notNull": true,
98
+ "autoincrement": false,
99
+ "default": "(unixepoch() * 1000)"
100
+ }
101
+ },
102
+ "indexes": {},
103
+ "foreignKeys": {},
104
+ "compositePrimaryKeys": {},
105
+ "uniqueConstraints": {},
106
+ "checkConstraints": {}
107
+ },
108
+ "plugin_address": {
109
+ "name": "plugin_address",
110
+ "columns": {
111
+ "ref": {
112
+ "name": "ref",
113
+ "type": "text",
114
+ "primaryKey": true,
115
+ "notNull": true,
116
+ "autoincrement": false
117
+ },
118
+ "tenant_id": {
119
+ "name": "tenant_id",
120
+ "type": "text",
121
+ "primaryKey": false,
122
+ "notNull": true,
123
+ "autoincrement": false
124
+ },
125
+ "plugin": {
126
+ "name": "plugin",
127
+ "type": "text",
128
+ "primaryKey": false,
129
+ "notNull": true,
130
+ "autoincrement": false
131
+ },
132
+ "created_at": {
133
+ "name": "created_at",
134
+ "type": "integer",
135
+ "primaryKey": false,
136
+ "notNull": true,
137
+ "autoincrement": false,
138
+ "default": "(unixepoch() * 1000)"
139
+ }
140
+ },
141
+ "indexes": {
142
+ "plugin_address_tenant": {
143
+ "name": "plugin_address_tenant",
144
+ "columns": [
145
+ "tenant_id",
146
+ "plugin"
147
+ ],
148
+ "isUnique": true
149
+ }
150
+ },
151
+ "foreignKeys": {},
152
+ "compositePrimaryKeys": {},
153
+ "uniqueConstraints": {},
154
+ "checkConstraints": {}
155
+ },
156
+ "plugin_claim": {
157
+ "name": "plugin_claim",
158
+ "columns": {
159
+ "plugin": {
160
+ "name": "plugin",
161
+ "type": "text",
162
+ "primaryKey": false,
163
+ "notNull": true,
164
+ "autoincrement": false
165
+ },
166
+ "key": {
167
+ "name": "key",
168
+ "type": "text",
169
+ "primaryKey": false,
170
+ "notNull": true,
171
+ "autoincrement": false
172
+ },
173
+ "tenant_id": {
174
+ "name": "tenant_id",
175
+ "type": "text",
176
+ "primaryKey": false,
177
+ "notNull": true,
178
+ "autoincrement": false
179
+ },
180
+ "updated_at": {
181
+ "name": "updated_at",
182
+ "type": "integer",
183
+ "primaryKey": false,
184
+ "notNull": true,
185
+ "autoincrement": false,
186
+ "default": "(unixepoch() * 1000)"
187
+ }
188
+ },
189
+ "indexes": {
190
+ "plugin_claim_tenant": {
191
+ "name": "plugin_claim_tenant",
192
+ "columns": [
193
+ "tenant_id",
194
+ "plugin"
195
+ ],
196
+ "isUnique": false
197
+ }
198
+ },
199
+ "foreignKeys": {},
200
+ "compositePrimaryKeys": {
201
+ "plugin_claim_plugin_key_pk": {
202
+ "columns": [
203
+ "plugin",
204
+ "key"
205
+ ],
206
+ "name": "plugin_claim_plugin_key_pk"
207
+ }
208
+ },
209
+ "uniqueConstraints": {},
210
+ "checkConstraints": {}
211
+ },
212
+ "plugin_job": {
213
+ "name": "plugin_job",
214
+ "columns": {
215
+ "tenant_id": {
216
+ "name": "tenant_id",
217
+ "type": "text",
218
+ "primaryKey": false,
219
+ "notNull": true,
220
+ "autoincrement": false
221
+ },
222
+ "plugin": {
223
+ "name": "plugin",
224
+ "type": "text",
225
+ "primaryKey": false,
226
+ "notNull": true,
227
+ "autoincrement": false
228
+ },
229
+ "name": {
230
+ "name": "name",
231
+ "type": "text",
232
+ "primaryKey": false,
233
+ "notNull": true,
234
+ "autoincrement": false
235
+ },
236
+ "last_run_at": {
237
+ "name": "last_run_at",
238
+ "type": "integer",
239
+ "primaryKey": false,
240
+ "notNull": true,
241
+ "autoincrement": false
242
+ }
243
+ },
244
+ "indexes": {},
245
+ "foreignKeys": {},
246
+ "compositePrimaryKeys": {
247
+ "plugin_job_tenant_id_plugin_name_pk": {
248
+ "columns": [
249
+ "tenant_id",
250
+ "plugin",
251
+ "name"
252
+ ],
253
+ "name": "plugin_job_tenant_id_plugin_name_pk"
254
+ }
255
+ },
256
+ "uniqueConstraints": {},
257
+ "checkConstraints": {}
258
+ },
259
+ "run_index": {
260
+ "name": "run_index",
261
+ "columns": {
262
+ "run_id": {
263
+ "name": "run_id",
264
+ "type": "text",
265
+ "primaryKey": true,
266
+ "notNull": true,
267
+ "autoincrement": false
268
+ },
269
+ "tenant_id": {
270
+ "name": "tenant_id",
271
+ "type": "text",
272
+ "primaryKey": false,
273
+ "notNull": true,
274
+ "autoincrement": false
275
+ },
276
+ "visitor_id": {
277
+ "name": "visitor_id",
278
+ "type": "text",
279
+ "primaryKey": false,
280
+ "notNull": false,
281
+ "autoincrement": false
282
+ },
283
+ "ip_hash": {
284
+ "name": "ip_hash",
285
+ "type": "text",
286
+ "primaryKey": false,
287
+ "notNull": false,
288
+ "autoincrement": false
289
+ },
290
+ "active": {
291
+ "name": "active",
292
+ "type": "integer",
293
+ "primaryKey": false,
294
+ "notNull": true,
295
+ "autoincrement": false,
296
+ "default": false
297
+ },
298
+ "owner": {
299
+ "name": "owner",
300
+ "type": "text",
301
+ "primaryKey": false,
302
+ "notNull": false,
303
+ "autoincrement": false
304
+ },
305
+ "seen": {
306
+ "name": "seen",
307
+ "type": "integer",
308
+ "primaryKey": false,
309
+ "notNull": false,
310
+ "autoincrement": false
311
+ },
312
+ "push": {
313
+ "name": "push",
314
+ "type": "text",
315
+ "primaryKey": false,
316
+ "notNull": false,
317
+ "autoincrement": false
318
+ },
319
+ "created_at": {
320
+ "name": "created_at",
321
+ "type": "integer",
322
+ "primaryKey": false,
323
+ "notNull": true,
324
+ "autoincrement": false,
325
+ "default": "(unixepoch() * 1000)"
326
+ }
327
+ },
328
+ "indexes": {
329
+ "run_index_visitor": {
330
+ "name": "run_index_visitor",
331
+ "columns": [
332
+ "visitor_id",
333
+ "created_at"
334
+ ],
335
+ "isUnique": false
336
+ },
337
+ "run_index_ip": {
338
+ "name": "run_index_ip",
339
+ "columns": [
340
+ "ip_hash",
341
+ "created_at"
342
+ ],
343
+ "isUnique": false
344
+ },
345
+ "run_index_active": {
346
+ "name": "run_index_active",
347
+ "columns": [
348
+ "active",
349
+ "tenant_id"
350
+ ],
351
+ "isUnique": false
352
+ }
353
+ },
354
+ "foreignKeys": {},
355
+ "compositePrimaryKeys": {},
356
+ "uniqueConstraints": {},
357
+ "checkConstraints": {}
358
+ },
359
+ "runner": {
360
+ "name": "runner",
361
+ "columns": {
362
+ "id": {
363
+ "name": "id",
364
+ "type": "text",
365
+ "primaryKey": true,
366
+ "notNull": true,
367
+ "autoincrement": false
368
+ },
369
+ "url": {
370
+ "name": "url",
371
+ "type": "text",
372
+ "primaryKey": false,
373
+ "notNull": false,
374
+ "autoincrement": false
375
+ },
376
+ "seen": {
377
+ "name": "seen",
378
+ "type": "integer",
379
+ "primaryKey": false,
380
+ "notNull": true,
381
+ "autoincrement": false
382
+ }
383
+ },
384
+ "indexes": {},
385
+ "foreignKeys": {},
386
+ "compositePrimaryKeys": {},
387
+ "uniqueConstraints": {},
388
+ "checkConstraints": {}
389
+ },
390
+ "session": {
391
+ "name": "session",
392
+ "columns": {
393
+ "id": {
394
+ "name": "id",
395
+ "type": "text",
396
+ "primaryKey": true,
397
+ "notNull": true,
398
+ "autoincrement": false
399
+ },
400
+ "user_id": {
401
+ "name": "user_id",
402
+ "type": "text",
403
+ "primaryKey": false,
404
+ "notNull": true,
405
+ "autoincrement": false
406
+ },
407
+ "tenant_id": {
408
+ "name": "tenant_id",
409
+ "type": "text",
410
+ "primaryKey": false,
411
+ "notNull": true,
412
+ "autoincrement": false
413
+ },
414
+ "role": {
415
+ "name": "role",
416
+ "type": "text",
417
+ "primaryKey": false,
418
+ "notNull": true,
419
+ "autoincrement": false
420
+ },
421
+ "name": {
422
+ "name": "name",
423
+ "type": "text",
424
+ "primaryKey": false,
425
+ "notNull": true,
426
+ "autoincrement": false
427
+ },
428
+ "email": {
429
+ "name": "email",
430
+ "type": "text",
431
+ "primaryKey": false,
432
+ "notNull": true,
433
+ "autoincrement": false
434
+ },
435
+ "image": {
436
+ "name": "image",
437
+ "type": "text",
438
+ "primaryKey": false,
439
+ "notNull": false,
440
+ "autoincrement": false
441
+ },
442
+ "refresh_token": {
443
+ "name": "refresh_token",
444
+ "type": "text",
445
+ "primaryKey": false,
446
+ "notNull": false,
447
+ "autoincrement": false
448
+ },
449
+ "claims_expire_at": {
450
+ "name": "claims_expire_at",
451
+ "type": "integer",
452
+ "primaryKey": false,
453
+ "notNull": true,
454
+ "autoincrement": false
455
+ },
456
+ "expires_at": {
457
+ "name": "expires_at",
458
+ "type": "integer",
459
+ "primaryKey": false,
460
+ "notNull": true,
461
+ "autoincrement": false
462
+ },
463
+ "created_at": {
464
+ "name": "created_at",
465
+ "type": "integer",
466
+ "primaryKey": false,
467
+ "notNull": true,
468
+ "autoincrement": false,
469
+ "default": "(unixepoch() * 1000)"
470
+ }
471
+ },
472
+ "indexes": {
473
+ "session_expires": {
474
+ "name": "session_expires",
475
+ "columns": [
476
+ "expires_at"
477
+ ],
478
+ "isUnique": false
479
+ }
480
+ },
481
+ "foreignKeys": {},
482
+ "compositePrimaryKeys": {},
483
+ "uniqueConstraints": {},
484
+ "checkConstraints": {}
485
+ },
486
+ "setting": {
487
+ "name": "setting",
488
+ "columns": {
489
+ "key": {
490
+ "name": "key",
491
+ "type": "text",
492
+ "primaryKey": true,
493
+ "notNull": true,
494
+ "autoincrement": false
495
+ },
496
+ "value": {
497
+ "name": "value",
498
+ "type": "text",
499
+ "primaryKey": false,
500
+ "notNull": true,
501
+ "autoincrement": false
502
+ }
503
+ },
504
+ "indexes": {},
505
+ "foreignKeys": {},
506
+ "compositePrimaryKeys": {},
507
+ "uniqueConstraints": {},
508
+ "checkConstraints": {}
509
+ },
510
+ "tenant": {
511
+ "name": "tenant",
512
+ "columns": {
513
+ "id": {
514
+ "name": "id",
515
+ "type": "text",
516
+ "primaryKey": true,
517
+ "notNull": true,
518
+ "autoincrement": false
519
+ },
520
+ "status": {
521
+ "name": "status",
522
+ "type": "text",
523
+ "primaryKey": false,
524
+ "notNull": true,
525
+ "autoincrement": false,
526
+ "default": "'active'"
527
+ },
528
+ "db_url": {
529
+ "name": "db_url",
530
+ "type": "text",
531
+ "primaryKey": false,
532
+ "notNull": false,
533
+ "autoincrement": false
534
+ },
535
+ "created_at": {
536
+ "name": "created_at",
537
+ "type": "integer",
538
+ "primaryKey": false,
539
+ "notNull": true,
540
+ "autoincrement": false,
541
+ "default": "(unixepoch() * 1000)"
542
+ }
543
+ },
544
+ "indexes": {},
545
+ "foreignKeys": {},
546
+ "compositePrimaryKeys": {},
547
+ "uniqueConstraints": {},
548
+ "checkConstraints": {}
549
+ },
550
+ "ui_translation": {
551
+ "name": "ui_translation",
552
+ "columns": {
553
+ "lang": {
554
+ "name": "lang",
555
+ "type": "text",
556
+ "primaryKey": true,
557
+ "notNull": true,
558
+ "autoincrement": false
559
+ },
560
+ "source": {
561
+ "name": "source",
562
+ "type": "text",
563
+ "primaryKey": false,
564
+ "notNull": true,
565
+ "autoincrement": false
566
+ },
567
+ "texts": {
568
+ "name": "texts",
569
+ "type": "text",
570
+ "primaryKey": false,
571
+ "notNull": true,
572
+ "autoincrement": false
573
+ },
574
+ "created_at": {
575
+ "name": "created_at",
576
+ "type": "integer",
577
+ "primaryKey": false,
578
+ "notNull": true,
579
+ "autoincrement": false,
580
+ "default": "(unixepoch() * 1000)"
581
+ }
582
+ },
583
+ "indexes": {},
584
+ "foreignKeys": {},
585
+ "compositePrimaryKeys": {},
586
+ "uniqueConstraints": {},
587
+ "checkConstraints": {}
588
+ }
589
+ },
590
+ "views": {},
591
+ "enums": {},
592
+ "_meta": {
593
+ "schemas": {},
594
+ "tables": {},
595
+ "columns": {}
596
+ },
597
+ "internal": {
598
+ "indexes": {}
599
+ }
600
+ }
@@ -71,6 +71,13 @@
71
71
  "when": 1791988069253,
72
72
  "tag": "0009_plugin_claim",
73
73
  "breakpoints": true
74
+ },
75
+ {
76
+ "idx": 10,
77
+ "version": "6",
78
+ "when": 1792044240154,
79
+ "tag": "0010_tan_snowbird",
80
+ "breakpoints": true
74
81
  }
75
82
  ]
76
83
  }
@@ -0,0 +1,12 @@
1
+ CREATE TABLE `wizard_translation` (
2
+ `wizard_id` text NOT NULL,
3
+ `lang` text NOT NULL,
4
+ `texts` text NOT NULL,
5
+ `version` integer,
6
+ `updated_at` integer DEFAULT (unixepoch() * 1000) NOT NULL,
7
+ PRIMARY KEY(`wizard_id`, `lang`),
8
+ FOREIGN KEY (`wizard_id`) REFERENCES `wizard`(`id`) ON UPDATE no action ON DELETE cascade
9
+ );
10
+ --> statement-breakpoint
11
+ ALTER TABLE `run` ADD `lang` text;--> statement-breakpoint
12
+ ALTER TABLE `wizard` ADD `translate` integer DEFAULT true NOT NULL;