@storyshelf/db-mysql 0.6.2 → 0.8.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 (98) hide show
  1. package/README.md +36 -0
  2. package/dist/ddl.d.mts +1 -3
  3. package/dist/ddl.mjs +391 -141
  4. package/dist/ddl.mjs.map +1 -1
  5. package/dist/drizzle-factory-mysql.mjs +15 -8
  6. package/dist/drizzle-factory-mysql.mjs.map +1 -1
  7. package/dist/drizzle-factory.mjs +1 -2
  8. package/dist/foreign-keys.mjs +338 -0
  9. package/dist/foreign-keys.mjs.map +1 -0
  10. package/dist/index.d.mts +0 -2
  11. package/dist/index.mjs +11 -7
  12. package/dist/index.mjs.map +1 -1
  13. package/dist/migrate.mjs +349 -73
  14. package/dist/migrate.mjs.map +1 -1
  15. package/dist/planetscale.d.mts +0 -2
  16. package/dist/planetscale.mjs +1 -2
  17. package/dist/schema/baseline.d.mts +89 -19
  18. package/dist/schema/baseline.mjs +8 -4
  19. package/dist/schema/baseline.mjs.map +1 -1
  20. package/dist/schema/{status-config.d.mts → build-component.d.mts} +47 -42
  21. package/dist/schema/build-component.mjs +25 -0
  22. package/dist/schema/build-component.mjs.map +1 -0
  23. package/dist/schema/build-review.d.mts +116 -0
  24. package/dist/schema/build-review.mjs +23 -0
  25. package/dist/schema/build-review.mjs.map +1 -0
  26. package/dist/schema/build.d.mts +65 -31
  27. package/dist/schema/build.mjs +6 -3
  28. package/dist/schema/build.mjs.map +1 -1
  29. package/dist/schema/capture-attempt.d.mts +43 -45
  30. package/dist/schema/capture-attempt.mjs +3 -3
  31. package/dist/schema/capture-attempt.mjs.map +1 -1
  32. package/dist/schema/capture-job.d.mts +328 -0
  33. package/dist/schema/capture-job.mjs +56 -0
  34. package/dist/schema/capture-job.mjs.map +1 -0
  35. package/dist/schema/capture-shard.d.mts +255 -0
  36. package/dist/schema/capture-shard.mjs +40 -0
  37. package/dist/schema/capture-shard.mjs.map +1 -0
  38. package/dist/schema/comment.d.mts +35 -19
  39. package/dist/schema/comment.mjs +6 -5
  40. package/dist/schema/comment.mjs.map +1 -1
  41. package/dist/schema/connection.d.mts +171 -0
  42. package/dist/schema/connection.mjs +35 -0
  43. package/dist/schema/connection.mjs.map +1 -0
  44. package/dist/schema/content-refs.d.mts +11 -13
  45. package/dist/schema/content-refs.mjs +3 -3
  46. package/dist/schema/content-refs.mjs.map +1 -1
  47. package/dist/schema/datetime.mjs +46 -0
  48. package/dist/schema/datetime.mjs.map +1 -0
  49. package/dist/schema/design.d.mts +587 -0
  50. package/dist/schema/design.mjs +73 -0
  51. package/dist/schema/design.mjs.map +1 -0
  52. package/dist/schema/insight.d.mts +631 -0
  53. package/dist/schema/insight.mjs +68 -0
  54. package/dist/schema/insight.mjs.map +1 -0
  55. package/dist/schema/label.d.mts +21 -23
  56. package/dist/schema/label.mjs +3 -3
  57. package/dist/schema/label.mjs.map +1 -1
  58. package/dist/schema/member.d.mts +10 -12
  59. package/dist/schema/member.mjs +3 -3
  60. package/dist/schema/member.mjs.map +1 -1
  61. package/dist/schema/notification.d.mts +63 -29
  62. package/dist/schema/notification.mjs +8 -3
  63. package/dist/schema/notification.mjs.map +1 -1
  64. package/dist/schema/project-group-mapping.d.mts +9 -11
  65. package/dist/schema/project-group-mapping.mjs +3 -3
  66. package/dist/schema/project-group-mapping.mjs.map +1 -1
  67. package/dist/schema/project.d.mts +149 -25
  68. package/dist/schema/project.mjs +11 -4
  69. package/dist/schema/project.mjs.map +1 -1
  70. package/dist/schema/site-setting.d.mts +97 -0
  71. package/dist/schema/site-setting.mjs +23 -0
  72. package/dist/schema/site-setting.mjs.map +1 -0
  73. package/dist/schema/snapshot.d.mts +195 -35
  74. package/dist/schema/snapshot.mjs +17 -4
  75. package/dist/schema/snapshot.mjs.map +1 -1
  76. package/dist/schema/token.d.mts +14 -16
  77. package/dist/schema/token.mjs +3 -3
  78. package/dist/schema/token.mjs.map +1 -1
  79. package/dist/schema/usage.d.mts +265 -0
  80. package/dist/schema/usage.mjs +36 -0
  81. package/dist/schema/usage.mjs.map +1 -0
  82. package/dist/schema/user-invite.d.mts +16 -18
  83. package/dist/schema/user-invite.mjs +3 -3
  84. package/dist/schema/user-invite.mjs.map +1 -1
  85. package/dist/schema/user.d.mts +88 -16
  86. package/dist/schema/user.mjs +8 -4
  87. package/dist/schema/user.mjs.map +1 -1
  88. package/dist/schema/webhook.d.mts +14 -16
  89. package/dist/schema/webhook.mjs +3 -3
  90. package/dist/schema/webhook.mjs.map +1 -1
  91. package/dist/schema.d.mts +24 -5
  92. package/dist/schema.mjs +26 -6
  93. package/dist/schema.mjs.map +1 -1
  94. package/dist/tidb.d.mts +0 -2
  95. package/dist/tidb.mjs +1 -2
  96. package/package.json +7 -7
  97. package/dist/schema/status-config.mjs +0 -26
  98. package/dist/schema/status-config.mjs.map +0 -1
@@ -0,0 +1,328 @@
1
+ import __tsdown_shims_path from 'node:path';
2
+ import __tsdown_shims_url from 'node:url';
3
+ import { CaptureJobEntry, CaptureJobKind } from "@storyshelf/core/schema";
4
+ /**
5
+ * Narrow `capture_jobs` table definition: the database queue's job rows and per-attempt claim rows.
6
+ * No foreign keys: notify jobs may have no build, and finished rows are purged by retention.
7
+ */
8
+ declare const captureJobs: import("drizzle-orm/mysql-core/table.js").MySqlTableWithColumns<{
9
+ name: "capture_jobs";
10
+ schema: undefined;
11
+ columns: {
12
+ id: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
13
+ name: "id";
14
+ tableName: "capture_jobs";
15
+ dataType: "string";
16
+ columnType: "MySqlText";
17
+ data: string;
18
+ driverParam: string;
19
+ notNull: true;
20
+ hasDefault: false;
21
+ isPrimaryKey: true;
22
+ isAutoincrement: false;
23
+ hasRuntimeDefault: false;
24
+ enumValues: [string, ...string[]];
25
+ baseColumn: never;
26
+ identity: undefined;
27
+ generated: undefined;
28
+ }, {}, {}>;
29
+ entry: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
30
+ name: "entry";
31
+ tableName: "capture_jobs";
32
+ dataType: "string";
33
+ columnType: "MySqlText";
34
+ data: CaptureJobEntry;
35
+ driverParam: string;
36
+ notNull: true;
37
+ hasDefault: false;
38
+ isPrimaryKey: false;
39
+ isAutoincrement: false;
40
+ hasRuntimeDefault: false;
41
+ enumValues: [string, ...string[]];
42
+ baseColumn: never;
43
+ identity: undefined;
44
+ generated: undefined;
45
+ }, {}, {
46
+ $type: CaptureJobEntry;
47
+ }>;
48
+ jobId: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
49
+ name: "job_id";
50
+ tableName: "capture_jobs";
51
+ dataType: "string";
52
+ columnType: "MySqlText";
53
+ data: string;
54
+ driverParam: string;
55
+ notNull: true;
56
+ hasDefault: false;
57
+ isPrimaryKey: false;
58
+ isAutoincrement: false;
59
+ hasRuntimeDefault: false;
60
+ enumValues: [string, ...string[]];
61
+ baseColumn: never;
62
+ identity: undefined;
63
+ generated: undefined;
64
+ }, {}, {}>;
65
+ kind: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
66
+ name: "kind";
67
+ tableName: "capture_jobs";
68
+ dataType: "string";
69
+ columnType: "MySqlText";
70
+ data: CaptureJobKind;
71
+ driverParam: string;
72
+ notNull: true;
73
+ hasDefault: false;
74
+ isPrimaryKey: false;
75
+ isAutoincrement: false;
76
+ hasRuntimeDefault: false;
77
+ enumValues: [string, ...string[]];
78
+ baseColumn: never;
79
+ identity: undefined;
80
+ generated: undefined;
81
+ }, {}, {
82
+ $type: CaptureJobKind;
83
+ }>;
84
+ buildId: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
85
+ name: "build_id";
86
+ tableName: "capture_jobs";
87
+ dataType: "string";
88
+ columnType: "MySqlText";
89
+ data: string;
90
+ driverParam: string;
91
+ notNull: false;
92
+ hasDefault: false;
93
+ isPrimaryKey: false;
94
+ isAutoincrement: false;
95
+ hasRuntimeDefault: false;
96
+ enumValues: [string, ...string[]];
97
+ baseColumn: never;
98
+ identity: undefined;
99
+ generated: undefined;
100
+ }, {}, {}>;
101
+ shardId: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
102
+ name: "shard_id";
103
+ tableName: "capture_jobs";
104
+ dataType: "string";
105
+ columnType: "MySqlText";
106
+ data: string;
107
+ driverParam: string;
108
+ notNull: false;
109
+ hasDefault: false;
110
+ isPrimaryKey: false;
111
+ isAutoincrement: false;
112
+ hasRuntimeDefault: false;
113
+ enumValues: [string, ...string[]];
114
+ baseColumn: never;
115
+ identity: undefined;
116
+ generated: undefined;
117
+ }, {}, {}>;
118
+ attempt: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
119
+ name: "attempt";
120
+ tableName: "capture_jobs";
121
+ dataType: "number";
122
+ columnType: "MySqlInt";
123
+ data: number;
124
+ driverParam: string | number;
125
+ notNull: true;
126
+ hasDefault: true;
127
+ isPrimaryKey: false;
128
+ isAutoincrement: false;
129
+ hasRuntimeDefault: false;
130
+ enumValues: undefined;
131
+ baseColumn: never;
132
+ identity: undefined;
133
+ generated: undefined;
134
+ }, {}, {}>;
135
+ maxAttempts: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
136
+ name: "max_attempts";
137
+ tableName: "capture_jobs";
138
+ dataType: "number";
139
+ columnType: "MySqlInt";
140
+ data: number;
141
+ driverParam: string | number;
142
+ notNull: true;
143
+ hasDefault: true;
144
+ isPrimaryKey: false;
145
+ isAutoincrement: false;
146
+ hasRuntimeDefault: false;
147
+ enumValues: undefined;
148
+ baseColumn: never;
149
+ identity: undefined;
150
+ generated: undefined;
151
+ }, {}, {}>;
152
+ status: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
153
+ name: "status";
154
+ tableName: "capture_jobs";
155
+ dataType: "string";
156
+ columnType: "MySqlText";
157
+ data: "cancelled" | "done" | "expired" | "failed" | "queued" | "running";
158
+ driverParam: string;
159
+ notNull: true;
160
+ hasDefault: false;
161
+ isPrimaryKey: false;
162
+ isAutoincrement: false;
163
+ hasRuntimeDefault: false;
164
+ enumValues: [string, ...string[]];
165
+ baseColumn: never;
166
+ identity: undefined;
167
+ generated: undefined;
168
+ }, {}, {
169
+ $type: "cancelled" | "done" | "expired" | "failed" | "queued" | "running";
170
+ }>;
171
+ visibleAt: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
172
+ name: "visible_at";
173
+ tableName: "capture_jobs";
174
+ dataType: "custom";
175
+ columnType: "MySqlCustomColumn";
176
+ data: string;
177
+ driverParam: string;
178
+ notNull: false;
179
+ hasDefault: false;
180
+ isPrimaryKey: false;
181
+ isAutoincrement: false;
182
+ hasRuntimeDefault: false;
183
+ enumValues: undefined;
184
+ baseColumn: never;
185
+ identity: undefined;
186
+ generated: undefined;
187
+ }, {}, {}>;
188
+ owner: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
189
+ name: "owner";
190
+ tableName: "capture_jobs";
191
+ dataType: "string";
192
+ columnType: "MySqlText";
193
+ data: string;
194
+ driverParam: string;
195
+ notNull: false;
196
+ hasDefault: false;
197
+ isPrimaryKey: false;
198
+ isAutoincrement: false;
199
+ hasRuntimeDefault: false;
200
+ enumValues: [string, ...string[]];
201
+ baseColumn: never;
202
+ identity: undefined;
203
+ generated: undefined;
204
+ }, {}, {}>;
205
+ payload: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
206
+ name: "payload";
207
+ tableName: "capture_jobs";
208
+ dataType: "string";
209
+ columnType: "MySqlText";
210
+ data: string;
211
+ driverParam: string;
212
+ notNull: false;
213
+ hasDefault: false;
214
+ isPrimaryKey: false;
215
+ isAutoincrement: false;
216
+ hasRuntimeDefault: false;
217
+ enumValues: [string, ...string[]];
218
+ baseColumn: never;
219
+ identity: undefined;
220
+ generated: undefined;
221
+ }, {}, {}>;
222
+ cancelRequestedAt: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
223
+ name: "cancel_requested_at";
224
+ tableName: "capture_jobs";
225
+ dataType: "custom";
226
+ columnType: "MySqlCustomColumn";
227
+ data: string;
228
+ driverParam: string;
229
+ notNull: false;
230
+ hasDefault: false;
231
+ isPrimaryKey: false;
232
+ isAutoincrement: false;
233
+ hasRuntimeDefault: false;
234
+ enumValues: undefined;
235
+ baseColumn: never;
236
+ identity: undefined;
237
+ generated: undefined;
238
+ }, {}, {}>;
239
+ error: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
240
+ name: "error";
241
+ tableName: "capture_jobs";
242
+ dataType: "string";
243
+ columnType: "MySqlText";
244
+ data: string;
245
+ driverParam: string;
246
+ notNull: false;
247
+ hasDefault: false;
248
+ isPrimaryKey: false;
249
+ isAutoincrement: false;
250
+ hasRuntimeDefault: false;
251
+ enumValues: [string, ...string[]];
252
+ baseColumn: never;
253
+ identity: undefined;
254
+ generated: undefined;
255
+ }, {}, {}>;
256
+ startedAt: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
257
+ name: "started_at";
258
+ tableName: "capture_jobs";
259
+ dataType: "custom";
260
+ columnType: "MySqlCustomColumn";
261
+ data: string;
262
+ driverParam: string;
263
+ notNull: false;
264
+ hasDefault: false;
265
+ isPrimaryKey: false;
266
+ isAutoincrement: false;
267
+ hasRuntimeDefault: false;
268
+ enumValues: undefined;
269
+ baseColumn: never;
270
+ identity: undefined;
271
+ generated: undefined;
272
+ }, {}, {}>;
273
+ finishedAt: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
274
+ name: "finished_at";
275
+ tableName: "capture_jobs";
276
+ dataType: "custom";
277
+ columnType: "MySqlCustomColumn";
278
+ data: string;
279
+ driverParam: string;
280
+ notNull: false;
281
+ hasDefault: false;
282
+ isPrimaryKey: false;
283
+ isAutoincrement: false;
284
+ hasRuntimeDefault: false;
285
+ enumValues: undefined;
286
+ baseColumn: never;
287
+ identity: undefined;
288
+ generated: undefined;
289
+ }, {}, {}>;
290
+ createdAt: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
291
+ name: "created_at";
292
+ tableName: "capture_jobs";
293
+ dataType: "custom";
294
+ columnType: "MySqlCustomColumn";
295
+ data: string;
296
+ driverParam: string;
297
+ notNull: true;
298
+ hasDefault: false;
299
+ isPrimaryKey: false;
300
+ isAutoincrement: false;
301
+ hasRuntimeDefault: false;
302
+ enumValues: undefined;
303
+ baseColumn: never;
304
+ identity: undefined;
305
+ generated: undefined;
306
+ }, {}, {}>;
307
+ updatedAt: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
308
+ name: "updated_at";
309
+ tableName: "capture_jobs";
310
+ dataType: "custom";
311
+ columnType: "MySqlCustomColumn";
312
+ data: string;
313
+ driverParam: string;
314
+ notNull: true;
315
+ hasDefault: false;
316
+ isPrimaryKey: false;
317
+ isAutoincrement: false;
318
+ hasRuntimeDefault: false;
319
+ enumValues: undefined;
320
+ baseColumn: never;
321
+ identity: undefined;
322
+ generated: undefined;
323
+ }, {}, {}>;
324
+ };
325
+ dialect: 'mysql';
326
+ }>;
327
+ export { captureJobs };
328
+ //# sourceMappingURL=capture-job.d.mts.map
@@ -0,0 +1,56 @@
1
+ import "node:path";
2
+ import "node:url";
3
+ import.meta.url;
4
+ import { datetime } from "./datetime.mjs";
5
+ import { index, int, mysqlTable, text } from "drizzle-orm/mysql-core";
6
+ // src/schema/capture-job.ts
7
+ /**
8
+ * Narrow `capture_jobs` table definition: the database queue's job rows and per-attempt claim rows.
9
+ * No foreign keys: notify jobs may have no build, and finished rows are purged by retention.
10
+ */
11
+ const captureJobs = mysqlTable("capture_jobs", {
12
+ id: text("id").primaryKey(),
13
+ entry: text("entry").$type().notNull(),
14
+ jobId: text("job_id").notNull(),
15
+ kind: text("kind").$type().notNull(),
16
+ buildId: text("build_id"),
17
+ shardId: text("shard_id"),
18
+ attempt: int("attempt").notNull().default(0),
19
+ maxAttempts: int("max_attempts").notNull().default(3),
20
+ status: text("status").$type().notNull(),
21
+ visibleAt: datetime("visible_at", {
22
+ mode: "string",
23
+ fsp: 3
24
+ }),
25
+ owner: text("owner"),
26
+ payload: text("payload"),
27
+ cancelRequestedAt: datetime("cancel_requested_at", {
28
+ mode: "string",
29
+ fsp: 3
30
+ }),
31
+ error: text("error"),
32
+ startedAt: datetime("started_at", {
33
+ mode: "string",
34
+ fsp: 3
35
+ }),
36
+ finishedAt: datetime("finished_at", {
37
+ mode: "string",
38
+ fsp: 3
39
+ }),
40
+ createdAt: datetime("created_at", {
41
+ mode: "string",
42
+ fsp: 3
43
+ }).notNull(),
44
+ updatedAt: datetime("updated_at", {
45
+ mode: "string",
46
+ fsp: 3
47
+ }).notNull()
48
+ }, (table) => [
49
+ index("capture_jobs_poll_idx").on(table.kind, table.visibleAt, table.status),
50
+ index("capture_jobs_job_id_idx").on(table.jobId),
51
+ index("capture_jobs_build_id_idx").on(table.buildId),
52
+ index("capture_jobs_entry_created_idx").on(table.entry, table.createdAt)
53
+ ]);
54
+ export { captureJobs };
55
+
56
+ //# sourceMappingURL=capture-job.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capture-job.mjs","names":[],"sources":["../../src/schema/capture-job.ts"],"sourcesContent":["import type {\n CaptureAttemptStatus,\n CaptureJobEntry,\n CaptureJobKind,\n CaptureJobStatus,\n} from \"@storyshelf/core/schema\";\nimport { index, int, mysqlTable, text } from \"drizzle-orm/mysql-core\";\nimport { datetime } from \"./datetime.ts\";\n\n/**\n * Narrow `capture_jobs` table definition: the database queue's job rows and per-attempt claim rows.\n * No foreign keys: notify jobs may have no build, and finished rows are purged by retention.\n */\nexport const captureJobs = mysqlTable(\n \"capture_jobs\",\n {\n id: text(\"id\").primaryKey(),\n entry: text(\"entry\").$type<CaptureJobEntry>().notNull(),\n jobId: text(\"job_id\").notNull(),\n kind: text(\"kind\").$type<CaptureJobKind>().notNull(),\n buildId: text(\"build_id\"),\n shardId: text(\"shard_id\"),\n attempt: int(\"attempt\").notNull().default(0),\n maxAttempts: int(\"max_attempts\").notNull().default(3),\n status: text(\"status\").$type<CaptureJobStatus | CaptureAttemptStatus>().notNull(),\n visibleAt: datetime(\"visible_at\", { mode: \"string\", fsp: 3 }),\n owner: text(\"owner\"),\n payload: text(\"payload\"),\n cancelRequestedAt: datetime(\"cancel_requested_at\", { mode: \"string\", fsp: 3 }),\n error: text(\"error\"),\n startedAt: datetime(\"started_at\", { mode: \"string\", fsp: 3 }),\n finishedAt: datetime(\"finished_at\", { mode: \"string\", fsp: 3 }),\n createdAt: datetime(\"created_at\", { mode: \"string\", fsp: 3 }).notNull(),\n updatedAt: datetime(\"updated_at\", { mode: \"string\", fsp: 3 }).notNull(),\n },\n (table) => [\n index(\"capture_jobs_poll_idx\").on(table.kind, table.visibleAt, table.status),\n index(\"capture_jobs_job_id_idx\").on(table.jobId),\n index(\"capture_jobs_build_id_idx\").on(table.buildId),\n index(\"capture_jobs_entry_created_idx\").on(table.entry, table.createdAt),\n ],\n);\n"],"mappings":";;;;;;;;;;AAaA,MAAa,cAAc,WACzB,gBACA;CACE,IAAI,KAAK,IAAI,CAAC,CAAC,WAAW;CAC1B,OAAO,KAAK,OAAO,CAAC,CAAC,MAAuB,CAAC,CAAC,QAAQ;CACtD,OAAO,KAAK,QAAQ,CAAC,CAAC,QAAQ;CAC9B,MAAM,KAAK,MAAM,CAAC,CAAC,MAAsB,CAAC,CAAC,QAAQ;CACnD,SAAS,KAAK,UAAU;CACxB,SAAS,KAAK,UAAU;CACxB,SAAS,IAAI,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC;CAC3C,aAAa,IAAI,cAAc,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC;CACpD,QAAQ,KAAK,QAAQ,CAAC,CAAC,MAA+C,CAAC,CAAC,QAAQ;CAChF,WAAW,SAAS,cAAc;EAAE,MAAM;EAAU,KAAK;CAAE,CAAC;CAC5D,OAAO,KAAK,OAAO;CACnB,SAAS,KAAK,SAAS;CACvB,mBAAmB,SAAS,uBAAuB;EAAE,MAAM;EAAU,KAAK;CAAE,CAAC;CAC7E,OAAO,KAAK,OAAO;CACnB,WAAW,SAAS,cAAc;EAAE,MAAM;EAAU,KAAK;CAAE,CAAC;CAC5D,YAAY,SAAS,eAAe;EAAE,MAAM;EAAU,KAAK;CAAE,CAAC;CAC9D,WAAW,SAAS,cAAc;EAAE,MAAM;EAAU,KAAK;CAAE,CAAC,CAAC,CAAC,QAAQ;CACtE,WAAW,SAAS,cAAc;EAAE,MAAM;EAAU,KAAK;CAAE,CAAC,CAAC,CAAC,QAAQ;AACxE,IACC,UAAU;CACT,MAAM,uBAAuB,CAAC,CAAC,GAAG,MAAM,MAAM,MAAM,WAAW,MAAM,MAAM;CAC3E,MAAM,yBAAyB,CAAC,CAAC,GAAG,MAAM,KAAK;CAC/C,MAAM,2BAA2B,CAAC,CAAC,GAAG,MAAM,OAAO;CACnD,MAAM,gCAAgC,CAAC,CAAC,GAAG,MAAM,OAAO,MAAM,SAAS;AACzE,CACF"}
@@ -0,0 +1,255 @@
1
+ import __tsdown_shims_path from 'node:path';
2
+ import __tsdown_shims_url from 'node:url';
3
+ import { CaptureShardKind, CaptureShardStatus } from "@storyshelf/core/schema";
4
+ /** Narrow `capture_shards` table definition: the stages of a sharded capture and its finalize claim. */
5
+ declare const captureShards: import("drizzle-orm/mysql-core/table.js").MySqlTableWithColumns<{
6
+ name: "capture_shards";
7
+ schema: undefined;
8
+ columns: {
9
+ id: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
10
+ name: "id";
11
+ tableName: "capture_shards";
12
+ dataType: "string";
13
+ columnType: "MySqlText";
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
+ projectId: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
27
+ name: "project_id";
28
+ tableName: "capture_shards";
29
+ dataType: "string";
30
+ columnType: "MySqlText";
31
+ data: string;
32
+ driverParam: string;
33
+ notNull: true;
34
+ hasDefault: false;
35
+ isPrimaryKey: false;
36
+ isAutoincrement: false;
37
+ hasRuntimeDefault: false;
38
+ enumValues: [string, ...string[]];
39
+ baseColumn: never;
40
+ identity: undefined;
41
+ generated: undefined;
42
+ }, {}, {}>;
43
+ buildId: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
44
+ name: "build_id";
45
+ tableName: "capture_shards";
46
+ dataType: "string";
47
+ columnType: "MySqlText";
48
+ data: string;
49
+ driverParam: string;
50
+ notNull: true;
51
+ hasDefault: false;
52
+ isPrimaryKey: false;
53
+ isAutoincrement: false;
54
+ hasRuntimeDefault: false;
55
+ enumValues: [string, ...string[]];
56
+ baseColumn: never;
57
+ identity: undefined;
58
+ generated: undefined;
59
+ }, {}, {}>;
60
+ kind: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
61
+ name: "kind";
62
+ tableName: "capture_shards";
63
+ dataType: "string";
64
+ columnType: "MySqlText";
65
+ data: CaptureShardKind;
66
+ driverParam: string;
67
+ notNull: true;
68
+ hasDefault: false;
69
+ isPrimaryKey: false;
70
+ isAutoincrement: false;
71
+ hasRuntimeDefault: false;
72
+ enumValues: [string, ...string[]];
73
+ baseColumn: never;
74
+ identity: undefined;
75
+ generated: undefined;
76
+ }, {}, {
77
+ $type: CaptureShardKind;
78
+ }>;
79
+ ordinal: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
80
+ name: "ordinal";
81
+ tableName: "capture_shards";
82
+ dataType: "number";
83
+ columnType: "MySqlInt";
84
+ data: number;
85
+ driverParam: string | number;
86
+ notNull: true;
87
+ hasDefault: false;
88
+ isPrimaryKey: false;
89
+ isAutoincrement: false;
90
+ hasRuntimeDefault: false;
91
+ enumValues: undefined;
92
+ baseColumn: never;
93
+ identity: undefined;
94
+ generated: undefined;
95
+ }, {}, {}>;
96
+ status: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
97
+ name: "status";
98
+ tableName: "capture_shards";
99
+ dataType: "string";
100
+ columnType: "MySqlText";
101
+ data: CaptureShardStatus;
102
+ driverParam: string;
103
+ notNull: true;
104
+ hasDefault: true;
105
+ isPrimaryKey: false;
106
+ isAutoincrement: false;
107
+ hasRuntimeDefault: false;
108
+ enumValues: [string, ...string[]];
109
+ baseColumn: never;
110
+ identity: undefined;
111
+ generated: undefined;
112
+ }, {}, {
113
+ $type: CaptureShardStatus;
114
+ }>;
115
+ attemptId: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
116
+ name: "attempt_id";
117
+ tableName: "capture_shards";
118
+ dataType: "string";
119
+ columnType: "MySqlText";
120
+ data: string;
121
+ driverParam: string;
122
+ notNull: false;
123
+ hasDefault: false;
124
+ isPrimaryKey: false;
125
+ isAutoincrement: false;
126
+ hasRuntimeDefault: false;
127
+ enumValues: [string, ...string[]];
128
+ baseColumn: never;
129
+ identity: undefined;
130
+ generated: undefined;
131
+ }, {}, {}>;
132
+ payload: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
133
+ name: "payload";
134
+ tableName: "capture_shards";
135
+ dataType: "string";
136
+ columnType: "MySqlText";
137
+ data: string;
138
+ driverParam: string;
139
+ notNull: false;
140
+ hasDefault: false;
141
+ isPrimaryKey: false;
142
+ isAutoincrement: false;
143
+ hasRuntimeDefault: false;
144
+ enumValues: [string, ...string[]];
145
+ baseColumn: never;
146
+ identity: undefined;
147
+ generated: undefined;
148
+ }, {}, {}>;
149
+ result: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
150
+ name: "result";
151
+ tableName: "capture_shards";
152
+ dataType: "string";
153
+ columnType: "MySqlText";
154
+ data: string;
155
+ driverParam: string;
156
+ notNull: false;
157
+ hasDefault: false;
158
+ isPrimaryKey: false;
159
+ isAutoincrement: false;
160
+ hasRuntimeDefault: false;
161
+ enumValues: [string, ...string[]];
162
+ baseColumn: never;
163
+ identity: undefined;
164
+ generated: undefined;
165
+ }, {}, {}>;
166
+ error: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
167
+ name: "error";
168
+ tableName: "capture_shards";
169
+ dataType: "string";
170
+ columnType: "MySqlText";
171
+ data: string;
172
+ driverParam: string;
173
+ notNull: false;
174
+ hasDefault: false;
175
+ isPrimaryKey: false;
176
+ isAutoincrement: false;
177
+ hasRuntimeDefault: false;
178
+ enumValues: [string, ...string[]];
179
+ baseColumn: never;
180
+ identity: undefined;
181
+ generated: undefined;
182
+ }, {}, {}>;
183
+ startedAt: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
184
+ name: "started_at";
185
+ tableName: "capture_shards";
186
+ dataType: "custom";
187
+ columnType: "MySqlCustomColumn";
188
+ data: string;
189
+ driverParam: string;
190
+ notNull: false;
191
+ hasDefault: false;
192
+ isPrimaryKey: false;
193
+ isAutoincrement: false;
194
+ hasRuntimeDefault: false;
195
+ enumValues: undefined;
196
+ baseColumn: never;
197
+ identity: undefined;
198
+ generated: undefined;
199
+ }, {}, {}>;
200
+ finishedAt: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
201
+ name: "finished_at";
202
+ tableName: "capture_shards";
203
+ dataType: "custom";
204
+ columnType: "MySqlCustomColumn";
205
+ data: string;
206
+ driverParam: string;
207
+ notNull: false;
208
+ hasDefault: false;
209
+ isPrimaryKey: false;
210
+ isAutoincrement: false;
211
+ hasRuntimeDefault: false;
212
+ enumValues: undefined;
213
+ baseColumn: never;
214
+ identity: undefined;
215
+ generated: undefined;
216
+ }, {}, {}>;
217
+ createdAt: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
218
+ name: "created_at";
219
+ tableName: "capture_shards";
220
+ dataType: "custom";
221
+ columnType: "MySqlCustomColumn";
222
+ data: string;
223
+ driverParam: string;
224
+ notNull: true;
225
+ hasDefault: false;
226
+ isPrimaryKey: false;
227
+ isAutoincrement: false;
228
+ hasRuntimeDefault: false;
229
+ enumValues: undefined;
230
+ baseColumn: never;
231
+ identity: undefined;
232
+ generated: undefined;
233
+ }, {}, {}>;
234
+ updatedAt: import("drizzle-orm/mysql-core/index.js").MySqlColumn<{
235
+ name: "updated_at";
236
+ tableName: "capture_shards";
237
+ dataType: "custom";
238
+ columnType: "MySqlCustomColumn";
239
+ data: string;
240
+ driverParam: string;
241
+ notNull: true;
242
+ hasDefault: false;
243
+ isPrimaryKey: false;
244
+ isAutoincrement: false;
245
+ hasRuntimeDefault: false;
246
+ enumValues: undefined;
247
+ baseColumn: never;
248
+ identity: undefined;
249
+ generated: undefined;
250
+ }, {}, {}>;
251
+ };
252
+ dialect: 'mysql';
253
+ }>;
254
+ export { captureShards };
255
+ //# sourceMappingURL=capture-shard.d.mts.map
@@ -0,0 +1,40 @@
1
+ import "node:path";
2
+ import "node:url";
3
+ import.meta.url;
4
+ import { datetime } from "./datetime.mjs";
5
+ import { projects } from "./project.mjs";
6
+ import { builds } from "./build.mjs";
7
+ import { index, int, mysqlTable, text, uniqueIndex } from "drizzle-orm/mysql-core";
8
+ // src/schema/capture-shard.ts
9
+ /** Narrow `capture_shards` table definition: the stages of a sharded capture and its finalize claim. */
10
+ const captureShards = mysqlTable("capture_shards", {
11
+ id: text("id").primaryKey(),
12
+ projectId: text("project_id").notNull().references(() => projects.id, { onDelete: "cascade" }),
13
+ buildId: text("build_id").notNull().references(() => builds.id, { onDelete: "cascade" }),
14
+ kind: text("kind").$type().notNull(),
15
+ ordinal: int("ordinal").notNull(),
16
+ status: text("status").$type().notNull().default("pending"),
17
+ attemptId: text("attempt_id"),
18
+ payload: text("payload"),
19
+ result: text("result"),
20
+ error: text("error"),
21
+ startedAt: datetime("started_at", {
22
+ mode: "string",
23
+ fsp: 3
24
+ }),
25
+ finishedAt: datetime("finished_at", {
26
+ mode: "string",
27
+ fsp: 3
28
+ }),
29
+ createdAt: datetime("created_at", {
30
+ mode: "string",
31
+ fsp: 3
32
+ }).notNull(),
33
+ updatedAt: datetime("updated_at", {
34
+ mode: "string",
35
+ fsp: 3
36
+ }).notNull()
37
+ }, (t) => [uniqueIndex("capture_shards_build_kind_ordinal_idx").on(t.buildId, t.kind, t.ordinal), index("capture_shards_build_id_idx").on(t.buildId)]);
38
+ export { captureShards };
39
+
40
+ //# sourceMappingURL=capture-shard.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capture-shard.mjs","names":[],"sources":["../../src/schema/capture-shard.ts"],"sourcesContent":["import type { CaptureShardKind, CaptureShardStatus } from \"@storyshelf/core/schema\";\nimport { index, int, mysqlTable, text, uniqueIndex } from \"drizzle-orm/mysql-core\";\nimport { builds } from \"./build.ts\";\nimport { datetime } from \"./datetime.ts\";\nimport { projects } from \"./project.ts\";\n\n/** Narrow `capture_shards` table definition: the stages of a sharded capture and its finalize claim. */\nexport const captureShards = mysqlTable(\n \"capture_shards\",\n {\n id: text(\"id\").primaryKey(),\n projectId: text(\"project_id\")\n .notNull()\n .references(() => projects.id, { onDelete: \"cascade\" }),\n buildId: text(\"build_id\")\n .notNull()\n .references(() => builds.id, { onDelete: \"cascade\" }),\n kind: text(\"kind\").$type<CaptureShardKind>().notNull(),\n ordinal: int(\"ordinal\").notNull(),\n status: text(\"status\").$type<CaptureShardStatus>().notNull().default(\"pending\"),\n attemptId: text(\"attempt_id\"),\n payload: text(\"payload\"),\n result: text(\"result\"),\n error: text(\"error\"),\n startedAt: datetime(\"started_at\", { mode: \"string\", fsp: 3 }),\n finishedAt: datetime(\"finished_at\", { mode: \"string\", fsp: 3 }),\n createdAt: datetime(\"created_at\", { mode: \"string\", fsp: 3 }).notNull(),\n updatedAt: datetime(\"updated_at\", { mode: \"string\", fsp: 3 }).notNull(),\n },\n (t) => [\n uniqueIndex(\"capture_shards_build_kind_ordinal_idx\").on(t.buildId, t.kind, t.ordinal),\n index(\"capture_shards_build_id_idx\").on(t.buildId),\n ],\n);\n"],"mappings":";;;;;;;;;AAOA,MAAa,gBAAgB,WAC3B,kBACA;CACE,IAAI,KAAK,IAAI,CAAC,CAAC,WAAW;CAC1B,WAAW,KAAK,YAAY,CAAC,CAC1B,QAAQ,CAAC,CACT,iBAAiB,SAAS,IAAI,EAAE,UAAU,UAAU,CAAC;CACxD,SAAS,KAAK,UAAU,CAAC,CACtB,QAAQ,CAAC,CACT,iBAAiB,OAAO,IAAI,EAAE,UAAU,UAAU,CAAC;CACtD,MAAM,KAAK,MAAM,CAAC,CAAC,MAAwB,CAAC,CAAC,QAAQ;CACrD,SAAS,IAAI,SAAS,CAAC,CAAC,QAAQ;CAChC,QAAQ,KAAK,QAAQ,CAAC,CAAC,MAA0B,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,SAAS;CAC9E,WAAW,KAAK,YAAY;CAC5B,SAAS,KAAK,SAAS;CACvB,QAAQ,KAAK,QAAQ;CACrB,OAAO,KAAK,OAAO;CACnB,WAAW,SAAS,cAAc;EAAE,MAAM;EAAU,KAAK;CAAE,CAAC;CAC5D,YAAY,SAAS,eAAe;EAAE,MAAM;EAAU,KAAK;CAAE,CAAC;CAC9D,WAAW,SAAS,cAAc;EAAE,MAAM;EAAU,KAAK;CAAE,CAAC,CAAC,CAAC,QAAQ;CACtE,WAAW,SAAS,cAAc;EAAE,MAAM;EAAU,KAAK;CAAE,CAAC,CAAC,CAAC,QAAQ;AACxE,IACC,MAAM,CACL,YAAY,uCAAuC,CAAC,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,GACpF,MAAM,6BAA6B,CAAC,CAAC,GAAG,EAAE,OAAO,CACnD,CACF"}