@gscdump/engine-sqlite 0.7.1 → 0.7.5

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.
package/README.md CHANGED
@@ -13,7 +13,7 @@ Bundle: **5.3 kB / 1.4 kB gzipped**.
13
13
  ## Install
14
14
 
15
15
  ```bash
16
- npm install @gscdump/engine-sqlite @gscdump/analysis drizzle-orm
16
+ npm install @gscdump/engine-sqlite @gscdump/engine drizzle-orm
17
17
  ```
18
18
 
19
19
  ## Usage
@@ -66,14 +66,14 @@ Always import `sql` from `@gscdump/engine-sqlite` — not `drizzle-orm` directly
66
66
  - `scopeFor(table, { siteId, window })` / `mergeScope()` — tenant scope predicates.
67
67
  - `gsc_pages` / `gsc_keywords` / `gsc_page_keywords` / `gsc_countries` / `gsc_devices` / `schema` — drizzle schema mirroring `gscdump/analytics` `SCHEMAS`.
68
68
  - `sqliteResolverAdapter` / `createSqliteResolverAdapter` / `probeSqliteRegex` — dialect adapter for the resolver kit.
69
- - `resolveWindow` (re-exported from `@gscdump/analysis/period`).
69
+ - `resolveWindow` (re-exported from `@gscdump/engine/period`).
70
70
 
71
71
  ## Related
72
72
 
73
73
  - [`@gscdump/engine`](../engine) — Storage contracts + dialect-neutral resolver.
74
74
  - [`@gscdump/analysis`](../analysis) — Analyzer registry + dispatcher.
75
75
  - [`@gscdump/engine-duckdb-node`](../engine-duckdb-node) — Node DuckDB counterpart.
76
- - [`@gscdump/engine-wasm`](../engine-wasm) — Browser DuckDB-WASM counterpart.
76
+ - [`@gscdump/engine-duckdb-wasm`](../engine-duckdb-wasm) — Browser DuckDB-WASM counterpart.
77
77
 
78
78
  ## License
79
79
 
package/dist/index.d.mts CHANGED
@@ -5,7 +5,7 @@ import { ManifestStore } from "@gscdump/engine";
5
5
  import * as _$_gscdump_engine_scope0 from "@gscdump/engine/scope";
6
6
  import { ScopedRunnerOptions, TableScope } from "@gscdump/engine/scope";
7
7
  import { SqliteRemoteDatabase } from "drizzle-orm/sqlite-proxy";
8
- import { ComparisonMode, ResolveWindowOptions, ResolvedWindow, WindowPreset, resolveWindow } from "@gscdump/analysis/period";
8
+ import { ComparisonMode, ResolveWindowOptions, ResolvedWindow, WindowPreset, resolveWindow } from "@gscdump/engine/period";
9
9
  import { DrizzleD1Database } from "drizzle-orm/d1";
10
10
  /**
11
11
  * Drizzle sqlite-core table definitions for the GSC analytics schema on D1.
package/dist/index.mjs CHANGED
@@ -4,7 +4,7 @@ import { index, integer, primaryKey, real, sqliteTable, text, unique } from "dri
4
4
  import { inferSearchType } from "@gscdump/engine";
5
5
  import { createScopedHelpers } from "@gscdump/engine/scope";
6
6
  import { drizzle } from "drizzle-orm/sqlite-proxy";
7
- import { resolveWindow } from "@gscdump/analysis/period";
7
+ import { resolveWindow } from "@gscdump/engine/period";
8
8
  function metricCols() {
9
9
  return {
10
10
  clicks: integer("clicks").notNull().default(0),
@@ -0,0 +1,877 @@
1
+ import * as _$drizzle_orm_sqlite_core0 from "drizzle-orm/sqlite-core";
2
+ declare const r2Manifest: _$drizzle_orm_sqlite_core0.SQLiteTableWithColumns<{
3
+ name: "r2_manifest";
4
+ schema: undefined;
5
+ columns: {
6
+ id: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
7
+ name: "id";
8
+ tableName: "r2_manifest";
9
+ dataType: "string";
10
+ columnType: "SQLiteText";
11
+ data: string;
12
+ driverParam: string;
13
+ notNull: true;
14
+ hasDefault: false;
15
+ isPrimaryKey: true;
16
+ isAutoincrement: false;
17
+ hasRuntimeDefault: false;
18
+ enumValues: [string, ...string[]];
19
+ baseColumn: never;
20
+ identity: undefined;
21
+ generated: undefined;
22
+ }, {}, {
23
+ length: number | undefined;
24
+ }>;
25
+ userId: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
26
+ name: "user_id";
27
+ tableName: "r2_manifest";
28
+ dataType: "number";
29
+ columnType: "SQLiteInteger";
30
+ data: number;
31
+ driverParam: number;
32
+ notNull: true;
33
+ hasDefault: false;
34
+ isPrimaryKey: false;
35
+ isAutoincrement: false;
36
+ hasRuntimeDefault: false;
37
+ enumValues: undefined;
38
+ baseColumn: never;
39
+ identity: undefined;
40
+ generated: undefined;
41
+ }, {}, {}>;
42
+ siteId: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
43
+ name: "site_id";
44
+ tableName: "r2_manifest";
45
+ dataType: "string";
46
+ columnType: "SQLiteText";
47
+ data: string;
48
+ driverParam: string;
49
+ notNull: false;
50
+ hasDefault: false;
51
+ isPrimaryKey: false;
52
+ isAutoincrement: false;
53
+ hasRuntimeDefault: false;
54
+ enumValues: [string, ...string[]];
55
+ baseColumn: never;
56
+ identity: undefined;
57
+ generated: undefined;
58
+ }, {}, {
59
+ length: number | undefined;
60
+ }>;
61
+ table: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
62
+ name: "table";
63
+ tableName: "r2_manifest";
64
+ dataType: "string";
65
+ columnType: "SQLiteText";
66
+ data: string;
67
+ driverParam: string;
68
+ notNull: true;
69
+ hasDefault: false;
70
+ isPrimaryKey: false;
71
+ isAutoincrement: false;
72
+ hasRuntimeDefault: false;
73
+ enumValues: [string, ...string[]];
74
+ baseColumn: never;
75
+ identity: undefined;
76
+ generated: undefined;
77
+ }, {}, {
78
+ length: number | undefined;
79
+ }>;
80
+ partition: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
81
+ name: "partition";
82
+ tableName: "r2_manifest";
83
+ dataType: "string";
84
+ columnType: "SQLiteText";
85
+ data: string;
86
+ driverParam: string;
87
+ notNull: true;
88
+ hasDefault: false;
89
+ isPrimaryKey: false;
90
+ isAutoincrement: false;
91
+ hasRuntimeDefault: false;
92
+ enumValues: [string, ...string[]];
93
+ baseColumn: never;
94
+ identity: undefined;
95
+ generated: undefined;
96
+ }, {}, {
97
+ length: number | undefined;
98
+ }>;
99
+ objectKey: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
100
+ name: "object_key";
101
+ tableName: "r2_manifest";
102
+ dataType: "string";
103
+ columnType: "SQLiteText";
104
+ data: string;
105
+ driverParam: string;
106
+ notNull: true;
107
+ hasDefault: false;
108
+ isPrimaryKey: false;
109
+ isAutoincrement: false;
110
+ hasRuntimeDefault: false;
111
+ enumValues: [string, ...string[]];
112
+ baseColumn: never;
113
+ identity: undefined;
114
+ generated: undefined;
115
+ }, {}, {
116
+ length: number | undefined;
117
+ }>;
118
+ rowCount: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
119
+ name: "row_count";
120
+ tableName: "r2_manifest";
121
+ dataType: "number";
122
+ columnType: "SQLiteInteger";
123
+ data: number;
124
+ driverParam: 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
+ bytes: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
136
+ name: "bytes";
137
+ tableName: "r2_manifest";
138
+ dataType: "number";
139
+ columnType: "SQLiteInteger";
140
+ data: number;
141
+ driverParam: 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
+ createdAt: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
153
+ name: "created_at";
154
+ tableName: "r2_manifest";
155
+ dataType: "number";
156
+ columnType: "SQLiteInteger";
157
+ data: number;
158
+ driverParam: number;
159
+ notNull: true;
160
+ hasDefault: false;
161
+ isPrimaryKey: false;
162
+ isAutoincrement: false;
163
+ hasRuntimeDefault: false;
164
+ enumValues: undefined;
165
+ baseColumn: never;
166
+ identity: undefined;
167
+ generated: undefined;
168
+ }, {}, {}>;
169
+ retiredAt: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
170
+ name: "retired_at";
171
+ tableName: "r2_manifest";
172
+ dataType: "number";
173
+ columnType: "SQLiteInteger";
174
+ data: number;
175
+ driverParam: number;
176
+ notNull: false;
177
+ hasDefault: false;
178
+ isPrimaryKey: false;
179
+ isAutoincrement: false;
180
+ hasRuntimeDefault: false;
181
+ enumValues: undefined;
182
+ baseColumn: never;
183
+ identity: undefined;
184
+ generated: undefined;
185
+ }, {}, {}>;
186
+ tier: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
187
+ name: "tier";
188
+ tableName: "r2_manifest";
189
+ dataType: "string";
190
+ columnType: "SQLiteText";
191
+ data: string;
192
+ driverParam: string;
193
+ notNull: false;
194
+ hasDefault: false;
195
+ isPrimaryKey: false;
196
+ isAutoincrement: false;
197
+ hasRuntimeDefault: false;
198
+ enumValues: [string, ...string[]];
199
+ baseColumn: never;
200
+ identity: undefined;
201
+ generated: undefined;
202
+ }, {}, {
203
+ length: number | undefined;
204
+ }>;
205
+ searchType: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
206
+ name: "search_type";
207
+ tableName: "r2_manifest";
208
+ dataType: "string";
209
+ columnType: "SQLiteText";
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
+ length: number | undefined;
223
+ }>;
224
+ schemaVersion: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
225
+ name: "schema_version";
226
+ tableName: "r2_manifest";
227
+ dataType: "number";
228
+ columnType: "SQLiteInteger";
229
+ data: number;
230
+ driverParam: number;
231
+ notNull: false;
232
+ hasDefault: false;
233
+ isPrimaryKey: false;
234
+ isAutoincrement: false;
235
+ hasRuntimeDefault: false;
236
+ enumValues: undefined;
237
+ baseColumn: never;
238
+ identity: undefined;
239
+ generated: undefined;
240
+ }, {}, {}>;
241
+ };
242
+ dialect: "sqlite";
243
+ }>;
244
+ type R2ManifestInsert = typeof r2Manifest.$inferInsert;
245
+ type R2ManifestSelect = typeof r2Manifest.$inferSelect;
246
+ declare const r2WriteErrors: _$drizzle_orm_sqlite_core0.SQLiteTableWithColumns<{
247
+ name: "r2_write_errors";
248
+ schema: undefined;
249
+ columns: {
250
+ id: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
251
+ name: "id";
252
+ tableName: "r2_write_errors";
253
+ dataType: "string";
254
+ columnType: "SQLiteText";
255
+ data: string;
256
+ driverParam: string;
257
+ notNull: true;
258
+ hasDefault: false;
259
+ isPrimaryKey: true;
260
+ isAutoincrement: false;
261
+ hasRuntimeDefault: false;
262
+ enumValues: [string, ...string[]];
263
+ baseColumn: never;
264
+ identity: undefined;
265
+ generated: undefined;
266
+ }, {}, {
267
+ length: number | undefined;
268
+ }>;
269
+ userId: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
270
+ name: "user_id";
271
+ tableName: "r2_write_errors";
272
+ dataType: "number";
273
+ columnType: "SQLiteInteger";
274
+ data: number;
275
+ driverParam: number;
276
+ notNull: true;
277
+ hasDefault: false;
278
+ isPrimaryKey: false;
279
+ isAutoincrement: false;
280
+ hasRuntimeDefault: false;
281
+ enumValues: undefined;
282
+ baseColumn: never;
283
+ identity: undefined;
284
+ generated: undefined;
285
+ }, {}, {}>;
286
+ siteId: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
287
+ name: "site_id";
288
+ tableName: "r2_write_errors";
289
+ dataType: "string";
290
+ columnType: "SQLiteText";
291
+ data: string;
292
+ driverParam: string;
293
+ notNull: false;
294
+ hasDefault: false;
295
+ isPrimaryKey: false;
296
+ isAutoincrement: false;
297
+ hasRuntimeDefault: false;
298
+ enumValues: [string, ...string[]];
299
+ baseColumn: never;
300
+ identity: undefined;
301
+ generated: undefined;
302
+ }, {}, {
303
+ length: number | undefined;
304
+ }>;
305
+ table: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
306
+ name: "table";
307
+ tableName: "r2_write_errors";
308
+ dataType: "string";
309
+ columnType: "SQLiteText";
310
+ data: string;
311
+ driverParam: string;
312
+ notNull: false;
313
+ hasDefault: false;
314
+ isPrimaryKey: false;
315
+ isAutoincrement: false;
316
+ hasRuntimeDefault: false;
317
+ enumValues: [string, ...string[]];
318
+ baseColumn: never;
319
+ identity: undefined;
320
+ generated: undefined;
321
+ }, {}, {
322
+ length: number | undefined;
323
+ }>;
324
+ date: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
325
+ name: "date";
326
+ tableName: "r2_write_errors";
327
+ dataType: "string";
328
+ columnType: "SQLiteText";
329
+ data: string;
330
+ driverParam: string;
331
+ notNull: false;
332
+ hasDefault: false;
333
+ isPrimaryKey: false;
334
+ isAutoincrement: false;
335
+ hasRuntimeDefault: false;
336
+ enumValues: [string, ...string[]];
337
+ baseColumn: never;
338
+ identity: undefined;
339
+ generated: undefined;
340
+ }, {}, {
341
+ length: number | undefined;
342
+ }>;
343
+ error: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
344
+ name: "error";
345
+ tableName: "r2_write_errors";
346
+ dataType: "string";
347
+ columnType: "SQLiteText";
348
+ data: string;
349
+ driverParam: string;
350
+ notNull: true;
351
+ hasDefault: false;
352
+ isPrimaryKey: false;
353
+ isAutoincrement: false;
354
+ hasRuntimeDefault: false;
355
+ enumValues: [string, ...string[]];
356
+ baseColumn: never;
357
+ identity: undefined;
358
+ generated: undefined;
359
+ }, {}, {
360
+ length: number | undefined;
361
+ }>;
362
+ createdAt: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
363
+ name: "created_at";
364
+ tableName: "r2_write_errors";
365
+ dataType: "number";
366
+ columnType: "SQLiteInteger";
367
+ data: number;
368
+ driverParam: number;
369
+ notNull: true;
370
+ hasDefault: true;
371
+ isPrimaryKey: false;
372
+ isAutoincrement: false;
373
+ hasRuntimeDefault: false;
374
+ enumValues: undefined;
375
+ baseColumn: never;
376
+ identity: undefined;
377
+ generated: undefined;
378
+ }, {}, {}>;
379
+ };
380
+ dialect: "sqlite";
381
+ }>;
382
+ type R2WriteErrorInsert = typeof r2WriteErrors.$inferInsert;
383
+ type R2WriteErrorSelect = typeof r2WriteErrors.$inferSelect;
384
+ declare const r2ShadowDiffs: _$drizzle_orm_sqlite_core0.SQLiteTableWithColumns<{
385
+ name: "r2_shadow_diffs";
386
+ schema: undefined;
387
+ columns: {
388
+ id: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
389
+ name: "id";
390
+ tableName: "r2_shadow_diffs";
391
+ dataType: "string";
392
+ columnType: "SQLiteText";
393
+ data: string;
394
+ driverParam: string;
395
+ notNull: true;
396
+ hasDefault: false;
397
+ isPrimaryKey: true;
398
+ isAutoincrement: false;
399
+ hasRuntimeDefault: false;
400
+ enumValues: [string, ...string[]];
401
+ baseColumn: never;
402
+ identity: undefined;
403
+ generated: undefined;
404
+ }, {}, {
405
+ length: number | undefined;
406
+ }>;
407
+ userId: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
408
+ name: "user_id";
409
+ tableName: "r2_shadow_diffs";
410
+ dataType: "number";
411
+ columnType: "SQLiteInteger";
412
+ data: number;
413
+ driverParam: number;
414
+ notNull: true;
415
+ hasDefault: false;
416
+ isPrimaryKey: false;
417
+ isAutoincrement: false;
418
+ hasRuntimeDefault: false;
419
+ enumValues: undefined;
420
+ baseColumn: never;
421
+ identity: undefined;
422
+ generated: undefined;
423
+ }, {}, {}>;
424
+ siteId: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
425
+ name: "site_id";
426
+ tableName: "r2_shadow_diffs";
427
+ dataType: "string";
428
+ columnType: "SQLiteText";
429
+ data: string;
430
+ driverParam: string;
431
+ notNull: false;
432
+ hasDefault: false;
433
+ isPrimaryKey: false;
434
+ isAutoincrement: false;
435
+ hasRuntimeDefault: false;
436
+ enumValues: [string, ...string[]];
437
+ baseColumn: never;
438
+ identity: undefined;
439
+ generated: undefined;
440
+ }, {}, {
441
+ length: number | undefined;
442
+ }>;
443
+ endpoint: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
444
+ name: "endpoint";
445
+ tableName: "r2_shadow_diffs";
446
+ dataType: "string";
447
+ columnType: "SQLiteText";
448
+ data: string;
449
+ driverParam: string;
450
+ notNull: true;
451
+ hasDefault: false;
452
+ isPrimaryKey: false;
453
+ isAutoincrement: false;
454
+ hasRuntimeDefault: false;
455
+ enumValues: [string, ...string[]];
456
+ baseColumn: never;
457
+ identity: undefined;
458
+ generated: undefined;
459
+ }, {}, {
460
+ length: number | undefined;
461
+ }>;
462
+ diff: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
463
+ name: "diff";
464
+ tableName: "r2_shadow_diffs";
465
+ dataType: "string";
466
+ columnType: "SQLiteText";
467
+ data: string;
468
+ driverParam: string;
469
+ notNull: true;
470
+ hasDefault: false;
471
+ isPrimaryKey: false;
472
+ isAutoincrement: false;
473
+ hasRuntimeDefault: false;
474
+ enumValues: [string, ...string[]];
475
+ baseColumn: never;
476
+ identity: undefined;
477
+ generated: undefined;
478
+ }, {}, {
479
+ length: number | undefined;
480
+ }>;
481
+ createdAt: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
482
+ name: "created_at";
483
+ tableName: "r2_shadow_diffs";
484
+ dataType: "number";
485
+ columnType: "SQLiteInteger";
486
+ data: number;
487
+ driverParam: number;
488
+ notNull: true;
489
+ hasDefault: true;
490
+ isPrimaryKey: false;
491
+ isAutoincrement: false;
492
+ hasRuntimeDefault: false;
493
+ enumValues: undefined;
494
+ baseColumn: never;
495
+ identity: undefined;
496
+ generated: undefined;
497
+ }, {}, {}>;
498
+ };
499
+ dialect: "sqlite";
500
+ }>;
501
+ type R2ShadowDiffInsert = typeof r2ShadowDiffs.$inferInsert;
502
+ type R2ShadowDiffSelect = typeof r2ShadowDiffs.$inferSelect;
503
+ declare const r2Locks: _$drizzle_orm_sqlite_core0.SQLiteTableWithColumns<{
504
+ name: "r2_locks";
505
+ schema: undefined;
506
+ columns: {
507
+ scope: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
508
+ name: "scope";
509
+ tableName: "r2_locks";
510
+ dataType: "string";
511
+ columnType: "SQLiteText";
512
+ data: string;
513
+ driverParam: string;
514
+ notNull: true;
515
+ hasDefault: false;
516
+ isPrimaryKey: true;
517
+ isAutoincrement: false;
518
+ hasRuntimeDefault: false;
519
+ enumValues: [string, ...string[]];
520
+ baseColumn: never;
521
+ identity: undefined;
522
+ generated: undefined;
523
+ }, {}, {
524
+ length: number | undefined;
525
+ }>;
526
+ holderId: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
527
+ name: "holder_id";
528
+ tableName: "r2_locks";
529
+ dataType: "string";
530
+ columnType: "SQLiteText";
531
+ data: string;
532
+ driverParam: string;
533
+ notNull: true;
534
+ hasDefault: false;
535
+ isPrimaryKey: false;
536
+ isAutoincrement: false;
537
+ hasRuntimeDefault: false;
538
+ enumValues: [string, ...string[]];
539
+ baseColumn: never;
540
+ identity: undefined;
541
+ generated: undefined;
542
+ }, {}, {
543
+ length: number | undefined;
544
+ }>;
545
+ acquiredAt: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
546
+ name: "acquired_at";
547
+ tableName: "r2_locks";
548
+ dataType: "number";
549
+ columnType: "SQLiteInteger";
550
+ data: number;
551
+ driverParam: number;
552
+ notNull: true;
553
+ hasDefault: false;
554
+ isPrimaryKey: false;
555
+ isAutoincrement: false;
556
+ hasRuntimeDefault: false;
557
+ enumValues: undefined;
558
+ baseColumn: never;
559
+ identity: undefined;
560
+ generated: undefined;
561
+ }, {}, {}>;
562
+ expiresAt: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
563
+ name: "expires_at";
564
+ tableName: "r2_locks";
565
+ dataType: "number";
566
+ columnType: "SQLiteInteger";
567
+ data: number;
568
+ driverParam: number;
569
+ notNull: true;
570
+ hasDefault: false;
571
+ isPrimaryKey: false;
572
+ isAutoincrement: false;
573
+ hasRuntimeDefault: false;
574
+ enumValues: undefined;
575
+ baseColumn: never;
576
+ identity: undefined;
577
+ generated: undefined;
578
+ }, {}, {}>;
579
+ };
580
+ dialect: "sqlite";
581
+ }>;
582
+ type R2LockInsert = typeof r2Locks.$inferInsert;
583
+ type R2LockSelect = typeof r2Locks.$inferSelect;
584
+ declare const r2Watermarks: _$drizzle_orm_sqlite_core0.SQLiteTableWithColumns<{
585
+ name: "r2_watermarks";
586
+ schema: undefined;
587
+ columns: {
588
+ userId: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
589
+ name: "user_id";
590
+ tableName: "r2_watermarks";
591
+ dataType: "number";
592
+ columnType: "SQLiteInteger";
593
+ data: number;
594
+ driverParam: number;
595
+ notNull: true;
596
+ hasDefault: false;
597
+ isPrimaryKey: false;
598
+ isAutoincrement: false;
599
+ hasRuntimeDefault: false;
600
+ enumValues: undefined;
601
+ baseColumn: never;
602
+ identity: undefined;
603
+ generated: undefined;
604
+ }, {}, {}>;
605
+ siteId: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
606
+ name: "site_id";
607
+ tableName: "r2_watermarks";
608
+ dataType: "string";
609
+ columnType: "SQLiteText";
610
+ data: string;
611
+ driverParam: string;
612
+ notNull: true;
613
+ hasDefault: true;
614
+ isPrimaryKey: false;
615
+ isAutoincrement: false;
616
+ hasRuntimeDefault: false;
617
+ enumValues: [string, ...string[]];
618
+ baseColumn: never;
619
+ identity: undefined;
620
+ generated: undefined;
621
+ }, {}, {
622
+ length: number | undefined;
623
+ }>;
624
+ table: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
625
+ name: "table";
626
+ tableName: "r2_watermarks";
627
+ dataType: "string";
628
+ columnType: "SQLiteText";
629
+ data: string;
630
+ driverParam: string;
631
+ notNull: true;
632
+ hasDefault: false;
633
+ isPrimaryKey: false;
634
+ isAutoincrement: false;
635
+ hasRuntimeDefault: false;
636
+ enumValues: [string, ...string[]];
637
+ baseColumn: never;
638
+ identity: undefined;
639
+ generated: undefined;
640
+ }, {}, {
641
+ length: number | undefined;
642
+ }>;
643
+ newestDateSynced: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
644
+ name: "newest_date_synced";
645
+ tableName: "r2_watermarks";
646
+ dataType: "string";
647
+ columnType: "SQLiteText";
648
+ data: string;
649
+ driverParam: string;
650
+ notNull: true;
651
+ hasDefault: false;
652
+ isPrimaryKey: false;
653
+ isAutoincrement: false;
654
+ hasRuntimeDefault: false;
655
+ enumValues: [string, ...string[]];
656
+ baseColumn: never;
657
+ identity: undefined;
658
+ generated: undefined;
659
+ }, {}, {
660
+ length: number | undefined;
661
+ }>;
662
+ oldestDateSynced: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
663
+ name: "oldest_date_synced";
664
+ tableName: "r2_watermarks";
665
+ dataType: "string";
666
+ columnType: "SQLiteText";
667
+ data: string;
668
+ driverParam: string;
669
+ notNull: true;
670
+ hasDefault: false;
671
+ isPrimaryKey: false;
672
+ isAutoincrement: false;
673
+ hasRuntimeDefault: false;
674
+ enumValues: [string, ...string[]];
675
+ baseColumn: never;
676
+ identity: undefined;
677
+ generated: undefined;
678
+ }, {}, {
679
+ length: number | undefined;
680
+ }>;
681
+ lastSyncAt: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
682
+ name: "last_sync_at";
683
+ tableName: "r2_watermarks";
684
+ dataType: "number";
685
+ columnType: "SQLiteInteger";
686
+ data: number;
687
+ driverParam: number;
688
+ notNull: true;
689
+ hasDefault: false;
690
+ isPrimaryKey: false;
691
+ isAutoincrement: false;
692
+ hasRuntimeDefault: false;
693
+ enumValues: undefined;
694
+ baseColumn: never;
695
+ identity: undefined;
696
+ generated: undefined;
697
+ }, {}, {}>;
698
+ };
699
+ dialect: "sqlite";
700
+ }>;
701
+ type R2WatermarkInsert = typeof r2Watermarks.$inferInsert;
702
+ type R2WatermarkSelect = typeof r2Watermarks.$inferSelect;
703
+ declare const r2SyncStates: _$drizzle_orm_sqlite_core0.SQLiteTableWithColumns<{
704
+ name: "r2_sync_states";
705
+ schema: undefined;
706
+ columns: {
707
+ userId: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
708
+ name: "user_id";
709
+ tableName: "r2_sync_states";
710
+ dataType: "number";
711
+ columnType: "SQLiteInteger";
712
+ data: number;
713
+ driverParam: number;
714
+ notNull: true;
715
+ hasDefault: false;
716
+ isPrimaryKey: false;
717
+ isAutoincrement: false;
718
+ hasRuntimeDefault: false;
719
+ enumValues: undefined;
720
+ baseColumn: never;
721
+ identity: undefined;
722
+ generated: undefined;
723
+ }, {}, {}>;
724
+ siteId: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
725
+ name: "site_id";
726
+ tableName: "r2_sync_states";
727
+ dataType: "string";
728
+ columnType: "SQLiteText";
729
+ data: string;
730
+ driverParam: string;
731
+ notNull: true;
732
+ hasDefault: true;
733
+ isPrimaryKey: false;
734
+ isAutoincrement: false;
735
+ hasRuntimeDefault: false;
736
+ enumValues: [string, ...string[]];
737
+ baseColumn: never;
738
+ identity: undefined;
739
+ generated: undefined;
740
+ }, {}, {
741
+ length: number | undefined;
742
+ }>;
743
+ table: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
744
+ name: "table";
745
+ tableName: "r2_sync_states";
746
+ dataType: "string";
747
+ columnType: "SQLiteText";
748
+ data: string;
749
+ driverParam: string;
750
+ notNull: true;
751
+ hasDefault: false;
752
+ isPrimaryKey: false;
753
+ isAutoincrement: false;
754
+ hasRuntimeDefault: false;
755
+ enumValues: [string, ...string[]];
756
+ baseColumn: never;
757
+ identity: undefined;
758
+ generated: undefined;
759
+ }, {}, {
760
+ length: number | undefined;
761
+ }>;
762
+ date: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
763
+ name: "date";
764
+ tableName: "r2_sync_states";
765
+ dataType: "string";
766
+ columnType: "SQLiteText";
767
+ data: string;
768
+ driverParam: string;
769
+ notNull: true;
770
+ hasDefault: false;
771
+ isPrimaryKey: false;
772
+ isAutoincrement: false;
773
+ hasRuntimeDefault: false;
774
+ enumValues: [string, ...string[]];
775
+ baseColumn: never;
776
+ identity: undefined;
777
+ generated: undefined;
778
+ }, {}, {
779
+ length: number | undefined;
780
+ }>;
781
+ searchType: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
782
+ name: "search_type";
783
+ tableName: "r2_sync_states";
784
+ dataType: "string";
785
+ columnType: "SQLiteText";
786
+ data: string;
787
+ driverParam: string;
788
+ notNull: true;
789
+ hasDefault: true;
790
+ isPrimaryKey: false;
791
+ isAutoincrement: false;
792
+ hasRuntimeDefault: false;
793
+ enumValues: [string, ...string[]];
794
+ baseColumn: never;
795
+ identity: undefined;
796
+ generated: undefined;
797
+ }, {}, {
798
+ length: number | undefined;
799
+ }>;
800
+ state: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
801
+ name: "state";
802
+ tableName: "r2_sync_states";
803
+ dataType: "string";
804
+ columnType: "SQLiteText";
805
+ data: "pending" | "inflight" | "done" | "failed";
806
+ driverParam: string;
807
+ notNull: true;
808
+ hasDefault: false;
809
+ isPrimaryKey: false;
810
+ isAutoincrement: false;
811
+ hasRuntimeDefault: false;
812
+ enumValues: ["pending", "inflight", "done", "failed"];
813
+ baseColumn: never;
814
+ identity: undefined;
815
+ generated: undefined;
816
+ }, {}, {
817
+ length: number | undefined;
818
+ }>;
819
+ updatedAt: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
820
+ name: "updated_at";
821
+ tableName: "r2_sync_states";
822
+ dataType: "number";
823
+ columnType: "SQLiteInteger";
824
+ data: number;
825
+ driverParam: number;
826
+ notNull: true;
827
+ hasDefault: false;
828
+ isPrimaryKey: false;
829
+ isAutoincrement: false;
830
+ hasRuntimeDefault: false;
831
+ enumValues: undefined;
832
+ baseColumn: never;
833
+ identity: undefined;
834
+ generated: undefined;
835
+ }, {}, {}>;
836
+ attempts: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
837
+ name: "attempts";
838
+ tableName: "r2_sync_states";
839
+ dataType: "number";
840
+ columnType: "SQLiteInteger";
841
+ data: number;
842
+ driverParam: number;
843
+ notNull: true;
844
+ hasDefault: true;
845
+ isPrimaryKey: false;
846
+ isAutoincrement: false;
847
+ hasRuntimeDefault: false;
848
+ enumValues: undefined;
849
+ baseColumn: never;
850
+ identity: undefined;
851
+ generated: undefined;
852
+ }, {}, {}>;
853
+ error: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
854
+ name: "error";
855
+ tableName: "r2_sync_states";
856
+ dataType: "string";
857
+ columnType: "SQLiteText";
858
+ data: string;
859
+ driverParam: string;
860
+ notNull: false;
861
+ hasDefault: false;
862
+ isPrimaryKey: false;
863
+ isAutoincrement: false;
864
+ hasRuntimeDefault: false;
865
+ enumValues: [string, ...string[]];
866
+ baseColumn: never;
867
+ identity: undefined;
868
+ generated: undefined;
869
+ }, {}, {
870
+ length: number | undefined;
871
+ }>;
872
+ };
873
+ dialect: "sqlite";
874
+ }>;
875
+ type R2SyncStateInsert = typeof r2SyncStates.$inferInsert;
876
+ type R2SyncStateSelect = typeof r2SyncStates.$inferSelect;
877
+ export { R2LockInsert, R2LockSelect, R2ManifestInsert, R2ManifestSelect, R2ShadowDiffInsert, R2ShadowDiffSelect, R2SyncStateInsert, R2SyncStateSelect, R2WatermarkInsert, R2WatermarkSelect, R2WriteErrorInsert, R2WriteErrorSelect, r2Locks, r2Manifest, r2ShadowDiffs, r2SyncStates, r2Watermarks, r2WriteErrors };
@@ -0,0 +1,80 @@
1
+ import { sql } from "drizzle-orm";
2
+ import { index, integer, primaryKey, sqliteTable, text, unique } from "drizzle-orm/sqlite-core";
3
+ const r2Manifest = sqliteTable("r2_manifest", {
4
+ id: text("id").primaryKey(),
5
+ userId: integer("user_id").notNull(),
6
+ siteId: text("site_id"),
7
+ table: text("table").notNull(),
8
+ partition: text("partition").notNull(),
9
+ objectKey: text("object_key").notNull(),
10
+ rowCount: integer("row_count").notNull().default(0),
11
+ bytes: integer("bytes").notNull().default(0),
12
+ createdAt: integer("created_at").notNull(),
13
+ retiredAt: integer("retired_at"),
14
+ tier: text("tier"),
15
+ searchType: text("search_type"),
16
+ schemaVersion: integer("schema_version")
17
+ }, (t) => [
18
+ index("idx_r2_manifest_live").on(t.userId, t.siteId, t.table, t.partition, t.retiredAt),
19
+ index("idx_r2_manifest_retired").on(t.retiredAt),
20
+ index("idx_r2_manifest_tier").on(t.userId, t.siteId, t.table, t.tier, t.retiredAt),
21
+ unique("r2_manifest_object_key_unique").on(t.objectKey)
22
+ ]);
23
+ const r2WriteErrors = sqliteTable("r2_write_errors", {
24
+ id: text("id").primaryKey(),
25
+ userId: integer("user_id").notNull(),
26
+ siteId: text("site_id"),
27
+ table: text("table"),
28
+ date: text("date"),
29
+ error: text("error").notNull(),
30
+ createdAt: integer("created_at").notNull().default(sql`(unixepoch())`)
31
+ }, (t) => [index("idx_r2_write_errors_user").on(t.userId, t.createdAt), index("idx_r2_write_errors_created").on(t.createdAt)]);
32
+ const r2ShadowDiffs = sqliteTable("r2_shadow_diffs", {
33
+ id: text("id").primaryKey(),
34
+ userId: integer("user_id").notNull(),
35
+ siteId: text("site_id"),
36
+ endpoint: text("endpoint").notNull(),
37
+ diff: text("diff").notNull(),
38
+ createdAt: integer("created_at").notNull().default(sql`(unixepoch())`)
39
+ }, (t) => [index("idx_r2_shadow_diffs_user").on(t.userId, t.createdAt), index("idx_r2_shadow_diffs_endpoint").on(t.endpoint, t.createdAt)]);
40
+ const r2Locks = sqliteTable("r2_locks", {
41
+ scope: text("scope").primaryKey(),
42
+ holderId: text("holder_id").notNull(),
43
+ acquiredAt: integer("acquired_at").notNull(),
44
+ expiresAt: integer("expires_at").notNull()
45
+ }, (t) => [index("idx_r2_locks_expires").on(t.expiresAt)]);
46
+ const r2Watermarks = sqliteTable("r2_watermarks", {
47
+ userId: integer("user_id").notNull(),
48
+ siteId: text("site_id").notNull().default(""),
49
+ table: text("table").notNull(),
50
+ newestDateSynced: text("newest_date_synced").notNull(),
51
+ oldestDateSynced: text("oldest_date_synced").notNull(),
52
+ lastSyncAt: integer("last_sync_at").notNull()
53
+ }, (t) => [primaryKey({ columns: [
54
+ t.userId,
55
+ t.siteId,
56
+ t.table
57
+ ] })]);
58
+ const r2SyncStates = sqliteTable("r2_sync_states", {
59
+ userId: integer("user_id").notNull(),
60
+ siteId: text("site_id").notNull().default(""),
61
+ table: text("table").notNull(),
62
+ date: text("date").notNull(),
63
+ searchType: text("search_type").notNull().default(""),
64
+ state: text("state", { enum: [
65
+ "pending",
66
+ "inflight",
67
+ "done",
68
+ "failed"
69
+ ] }).notNull(),
70
+ updatedAt: integer("updated_at").notNull(),
71
+ attempts: integer("attempts").notNull().default(0),
72
+ error: text("error")
73
+ }, (t) => [primaryKey({ columns: [
74
+ t.userId,
75
+ t.siteId,
76
+ t.table,
77
+ t.date,
78
+ t.searchType
79
+ ] }), index("idx_r2_sync_states_state").on(t.state)]);
80
+ export { r2Locks, r2Manifest, r2ShadowDiffs, r2SyncStates, r2Watermarks, r2WriteErrors };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@gscdump/engine-sqlite",
3
3
  "type": "module",
4
- "version": "0.7.1",
4
+ "version": "0.7.5",
5
5
  "description": "SQLite / D1 engine adapter for @gscdump/analysis — typed analytics over sqlite-proxy executors (Cloudflare D1, libsql).",
6
6
  "author": {
7
7
  "name": "Harlan Wilton",
@@ -23,7 +23,13 @@
23
23
  "exports": {
24
24
  ".": {
25
25
  "types": "./dist/index.d.mts",
26
- "import": "./dist/index.mjs"
26
+ "import": "./dist/index.mjs",
27
+ "default": "./dist/index.mjs"
28
+ },
29
+ "./r2-manifest-schema": {
30
+ "types": "./dist/r2-manifest-schema.d.mts",
31
+ "import": "./dist/r2-manifest-schema.mjs",
32
+ "default": "./dist/r2-manifest-schema.mjs"
27
33
  }
28
34
  },
29
35
  "main": "./dist/index.mjs",
@@ -38,9 +44,8 @@
38
44
  "drizzle-orm": "^0.45.2"
39
45
  },
40
46
  "dependencies": {
41
- "@gscdump/engine": "0.7.1",
42
- "@gscdump/analysis": "0.7.1",
43
- "gscdump": "0.7.1"
47
+ "@gscdump/engine": "0.7.5",
48
+ "gscdump": "0.7.5"
44
49
  },
45
50
  "devDependencies": {
46
51
  "drizzle-orm": "^0.45.2",