@dotdo/postgres 0.1.1 → 0.1.3

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 (111) hide show
  1. package/README.md +73 -1
  2. package/dist/client/index.d.ts +47 -0
  3. package/dist/client/index.d.ts.map +1 -0
  4. package/dist/client/index.js +47 -0
  5. package/dist/client/index.js.map +1 -0
  6. package/dist/client/postgres-client.d.ts +273 -0
  7. package/dist/client/postgres-client.d.ts.map +1 -0
  8. package/dist/client/postgres-client.js +389 -0
  9. package/dist/client/postgres-client.js.map +1 -0
  10. package/dist/client/types.d.ts +167 -0
  11. package/dist/client/types.d.ts.map +1 -0
  12. package/dist/client/types.js +7 -0
  13. package/dist/client/types.js.map +1 -0
  14. package/dist/do/index.d.ts +18 -0
  15. package/dist/do/index.d.ts.map +1 -0
  16. package/dist/do/index.js +18 -0
  17. package/dist/do/index.js.map +1 -0
  18. package/dist/do/postgres.d.ts +110 -0
  19. package/dist/do/postgres.d.ts.map +1 -0
  20. package/dist/do/postgres.js +266 -0
  21. package/dist/do/postgres.js.map +1 -0
  22. package/dist/do/sql.d.ts +92 -0
  23. package/dist/do/sql.d.ts.map +1 -0
  24. package/dist/do/sql.js +204 -0
  25. package/dist/do/sql.js.map +1 -0
  26. package/dist/index.d.ts +25 -30
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +29 -30
  29. package/dist/index.js.map +1 -1
  30. package/dist/mcp/binding.d.ts +47 -0
  31. package/dist/mcp/binding.d.ts.map +1 -0
  32. package/dist/mcp/binding.js +183 -0
  33. package/dist/mcp/binding.js.map +1 -0
  34. package/dist/mcp/index.d.ts +92 -0
  35. package/dist/mcp/index.d.ts.map +1 -0
  36. package/dist/mcp/index.js +91 -0
  37. package/dist/mcp/index.js.map +1 -0
  38. package/dist/mcp/server.d.ts +62 -0
  39. package/dist/mcp/server.d.ts.map +1 -0
  40. package/dist/mcp/server.js +278 -0
  41. package/dist/mcp/server.js.map +1 -0
  42. package/dist/mcp/tools.d.ts +58 -0
  43. package/dist/mcp/tools.d.ts.map +1 -0
  44. package/dist/mcp/tools.js +356 -0
  45. package/dist/mcp/tools.js.map +1 -0
  46. package/dist/mcp/types.d.ts +139 -0
  47. package/dist/mcp/types.d.ts.map +1 -0
  48. package/dist/mcp/types.js +7 -0
  49. package/dist/mcp/types.js.map +1 -0
  50. package/dist/pglite/workers-pglite.d.ts +13 -4
  51. package/dist/pglite/workers-pglite.d.ts.map +1 -1
  52. package/dist/pglite/workers-pglite.js +110 -5
  53. package/dist/pglite/workers-pglite.js.map +1 -1
  54. package/dist/pglite-assets/pglite.data +0 -0
  55. package/dist/pglite-assets/pglite.wasm +0 -0
  56. package/dist/worker/auth.d.ts.map +1 -1
  57. package/dist/worker/auth.js +16 -6
  58. package/dist/worker/auth.js.map +1 -1
  59. package/dist/worker/background-pglite-manager.d.ts +243 -0
  60. package/dist/worker/background-pglite-manager.d.ts.map +1 -0
  61. package/dist/worker/background-pglite-manager.js +528 -0
  62. package/dist/worker/background-pglite-manager.js.map +1 -0
  63. package/dist/worker/do-pglite-manager.d.ts +77 -0
  64. package/dist/worker/do-pglite-manager.d.ts.map +1 -1
  65. package/dist/worker/do-pglite-manager.js +189 -12
  66. package/dist/worker/do-pglite-manager.js.map +1 -1
  67. package/dist/worker/entry.d.ts.map +1 -1
  68. package/dist/worker/entry.js +108 -26
  69. package/dist/worker/entry.js.map +1 -1
  70. package/dist/worker/index.d.ts +7 -1
  71. package/dist/worker/index.d.ts.map +1 -1
  72. package/dist/worker/index.js +19 -1
  73. package/dist/worker/index.js.map +1 -1
  74. package/dist/worker/lazy-pglite-manager.d.ts +242 -0
  75. package/dist/worker/lazy-pglite-manager.d.ts.map +1 -0
  76. package/dist/worker/lazy-pglite-manager.js +463 -0
  77. package/dist/worker/lazy-pglite-manager.js.map +1 -0
  78. package/package.json +20 -6
  79. package/src/client/index.ts +61 -0
  80. package/src/client/postgres-client.ts +442 -0
  81. package/src/client/types.ts +211 -0
  82. package/src/do/index.ts +18 -0
  83. package/src/do/postgres.ts +367 -0
  84. package/src/do/sql.ts +280 -0
  85. package/src/index.ts +50 -30
  86. package/src/mcp/binding.ts +236 -0
  87. package/src/mcp/index.ts +122 -0
  88. package/src/mcp/server.ts +361 -0
  89. package/src/mcp/tools.ts +464 -0
  90. package/src/mcp/types.ts +148 -0
  91. package/src/pglite/workers-pglite.ts +141 -12
  92. package/src/pglite-assets/pglite.data +0 -0
  93. package/src/pglite-assets/pglite.wasm +0 -0
  94. package/src/worker/auth.ts +17 -6
  95. package/src/worker/background-pglite-manager.ts +680 -0
  96. package/src/worker/do-pglite-manager.ts +235 -19
  97. package/src/worker/entry.ts +112 -30
  98. package/src/worker/index.ts +71 -1
  99. package/src/worker/lazy-pglite-manager.ts +595 -0
  100. package/dist/iceberg/duckdb-wasm.d.ts +0 -447
  101. package/dist/iceberg/duckdb-wasm.d.ts.map +0 -1
  102. package/dist/iceberg/duckdb-wasm.js +0 -600
  103. package/dist/iceberg/duckdb-wasm.js.map +0 -1
  104. package/dist/iceberg/test-fixtures.d.ts +0 -151
  105. package/dist/iceberg/test-fixtures.d.ts.map +0 -1
  106. package/dist/iceberg/test-fixtures.js +0 -446
  107. package/dist/iceberg/test-fixtures.js.map +0 -1
  108. package/dist/worker/__mocks__/cloudflare-workers.d.ts +0 -31
  109. package/dist/worker/__mocks__/cloudflare-workers.d.ts.map +0 -1
  110. package/dist/worker/__mocks__/cloudflare-workers.js +0 -33
  111. package/dist/worker/__mocks__/cloudflare-workers.js.map +0 -1
@@ -1,151 +0,0 @@
1
- /**
2
- * Shared Test Fixtures for Iceberg Tests
3
- *
4
- * This module provides common mock implementations and test data helpers
5
- * used across Iceberg test files. Consolidating these reduces duplication
6
- * and ensures consistent test behavior.
7
- */
8
- import type { IcebergTableMetadata, IcebergSnapshot, IcebergDataFile, IcebergManifestFile, IcebergPartitionSpec, IcebergSchema } from './types';
9
- /**
10
- * Mock R2 bucket storage item
11
- */
12
- export interface MockR2StorageItem {
13
- data: string | ArrayBuffer;
14
- size: number;
15
- uploaded: Date;
16
- metadata?: R2HTTPMetadata;
17
- }
18
- /**
19
- * Extended R2Bucket type with internal storage access for testing
20
- */
21
- export type MockR2BucketWithStorage = R2Bucket & {
22
- _storage: Map<string, MockR2StorageItem>;
23
- hasKey(key: string): boolean;
24
- getKeys(): string[];
25
- clear(): void;
26
- };
27
- /**
28
- * Create a mock R2Bucket with in-memory storage
29
- *
30
- * @returns A mock R2Bucket implementation suitable for testing
31
- */
32
- export declare function createMockBucket(): MockR2BucketWithStorage;
33
- /**
34
- * Create a simplified mock R2Bucket for read-only operations
35
- * Useful for analytics and read-focused tests
36
- *
37
- * @param manifestData - Map of keys to data objects
38
- * @returns A mock R2Bucket implementation
39
- */
40
- export declare function createSimpleMockBucket(manifestData: Map<string, unknown>): R2Bucket;
41
- /**
42
- * Create a mock DurableObjectState for testing
43
- *
44
- * @returns A mock DurableObjectState implementation
45
- */
46
- export declare function createMockState(): DurableObjectState;
47
- /**
48
- * Create a test IcebergSchema
49
- *
50
- * @param fields - Optional custom fields
51
- * @returns An IcebergSchema for testing
52
- */
53
- export declare function createTestSchema(fields?: IcebergSchema['fields']): IcebergSchema;
54
- /**
55
- * Create a test IcebergPartitionSpec
56
- *
57
- * @param fields - Optional partition fields
58
- * @returns An IcebergPartitionSpec for testing
59
- */
60
- export declare function createTestPartitionSpec(fields?: IcebergPartitionSpec['fields']): IcebergPartitionSpec;
61
- /**
62
- * Create a test IcebergSnapshot
63
- *
64
- * @param id - Snapshot ID
65
- * @param timestampMs - Snapshot timestamp in milliseconds
66
- * @param options - Additional snapshot options
67
- * @returns An IcebergSnapshot for testing
68
- */
69
- export declare function createTestSnapshot(id: number, timestampMs: number, options?: {
70
- addedRecords?: number;
71
- deletedRecords?: number;
72
- totalRecords?: number;
73
- totalFilesSize?: number;
74
- operation?: string;
75
- parentSnapshotId?: number;
76
- manifestList?: string;
77
- }): IcebergSnapshot;
78
- /**
79
- * Create a test IcebergDataFile
80
- *
81
- * @param path - File path
82
- * @param size - File size in bytes
83
- * @param recordCount - Number of records in the file
84
- * @param partition - Optional partition values
85
- * @returns An IcebergDataFile for testing
86
- */
87
- export declare function createTestDataFile(path: string, size: number, recordCount: number, partition?: Record<string, unknown>): IcebergDataFile;
88
- /**
89
- * Create a test IcebergManifestFile
90
- *
91
- * @param path - Manifest path
92
- * @param length - Manifest file length
93
- * @param options - Additional manifest options
94
- * @returns An IcebergManifestFile for testing
95
- */
96
- export declare function createTestManifestFile(path: string, length: number, options?: {
97
- partitionSpecId?: number;
98
- addedFiles?: number;
99
- addedRows?: number;
100
- sequenceNumber?: number;
101
- addedSnapshotId?: number;
102
- }): IcebergManifestFile;
103
- /**
104
- * Create test IcebergTableMetadata
105
- *
106
- * @param snapshots - Array of snapshots to include
107
- * @param options - Additional metadata options
108
- * @returns IcebergTableMetadata for testing
109
- */
110
- export declare function createTestMetadata(snapshots?: IcebergSnapshot[], options?: {
111
- tableUuid?: string;
112
- location?: string;
113
- schema?: IcebergSchema;
114
- partitionSpec?: IcebergPartitionSpec;
115
- }): IcebergTableMetadata;
116
- /**
117
- * Options for setting up a test table
118
- */
119
- export interface SetupTestTableOptions {
120
- dataFiles: IcebergDataFile[];
121
- manifests?: IcebergManifestFile[];
122
- snapshotCount?: number;
123
- schema?: IcebergSchema;
124
- partitionSpec?: IcebergPartitionSpec;
125
- }
126
- /**
127
- * Setup a test table in the mock bucket with metadata and data files
128
- *
129
- * @param bucket - The mock R2 bucket
130
- * @param tablePath - Path to the table in the bucket
131
- * @param options - Table setup options
132
- */
133
- export declare function setupTestTable(bucket: MockR2BucketWithStorage, tablePath: string, options: SetupTestTableOptions): Promise<void>;
134
- /**
135
- * Create timestamps relative to a base time
136
- *
137
- * @param baseTime - Base timestamp (defaults to now)
138
- * @returns Object with common time offsets
139
- */
140
- export declare function createTestTimeOffsets(baseTime?: number): {
141
- now: number;
142
- oneHourAgo: number;
143
- oneDayAgo: number;
144
- oneWeekAgo: number;
145
- oneMonthAgo: number;
146
- hourMs: number;
147
- dayMs: number;
148
- weekMs: number;
149
- monthMs: number;
150
- };
151
- //# sourceMappingURL=test-fixtures.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-fixtures.d.ts","sourceRoot":"","sources":["../../src/iceberg/test-fixtures.ts"],"names":[],"mappings":"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"}
@@ -1,446 +0,0 @@
1
- /**
2
- * Shared Test Fixtures for Iceberg Tests
3
- *
4
- * This module provides common mock implementations and test data helpers
5
- * used across Iceberg test files. Consolidating these reduces duplication
6
- * and ensures consistent test behavior.
7
- */
8
- import { vi } from 'vitest';
9
- /**
10
- * Create a mock R2Bucket with in-memory storage
11
- *
12
- * @returns A mock R2Bucket implementation suitable for testing
13
- */
14
- export function createMockBucket() {
15
- const storage = new Map();
16
- return {
17
- _storage: storage,
18
- hasKey(key) {
19
- return storage.has(key);
20
- },
21
- getKeys() {
22
- return Array.from(storage.keys());
23
- },
24
- clear() {
25
- storage.clear();
26
- },
27
- put: vi.fn(async (key, data, options) => {
28
- let body;
29
- let size;
30
- if (typeof data === 'string') {
31
- body = data;
32
- size = data.length;
33
- }
34
- else if (data instanceof Uint8Array) {
35
- body = data.buffer.slice(data.byteOffset, data.byteOffset + data.byteLength);
36
- size = data.length;
37
- }
38
- else if (data instanceof ArrayBuffer) {
39
- body = data;
40
- size = data.byteLength;
41
- }
42
- else {
43
- body = '';
44
- size = 0;
45
- }
46
- storage.set(key, {
47
- data: body,
48
- size,
49
- uploaded: new Date(),
50
- metadata: options?.httpMetadata,
51
- });
52
- return {
53
- key,
54
- version: 'test-version',
55
- size,
56
- etag: 'test-etag',
57
- httpEtag: '"test-etag"',
58
- uploaded: new Date(),
59
- httpMetadata: options?.httpMetadata ?? {},
60
- customMetadata: options?.customMetadata ?? {},
61
- checksums: {},
62
- storageClass: 'STANDARD',
63
- writeHttpMetadata: () => { },
64
- };
65
- }),
66
- get: vi.fn(async (key) => {
67
- const item = storage.get(key);
68
- if (!item)
69
- return null;
70
- return {
71
- key,
72
- version: 'test-version',
73
- size: item.size,
74
- etag: 'test-etag',
75
- httpEtag: '"test-etag"',
76
- uploaded: item.uploaded,
77
- httpMetadata: item.metadata ?? {},
78
- customMetadata: {},
79
- checksums: {},
80
- storageClass: 'STANDARD',
81
- text: async () => typeof item.data === 'string' ? item.data : new TextDecoder().decode(item.data),
82
- json: async () => JSON.parse(typeof item.data === 'string' ? item.data : new TextDecoder().decode(item.data)),
83
- arrayBuffer: async () => typeof item.data === 'string' ? new TextEncoder().encode(item.data).buffer : item.data,
84
- bytes: async () => typeof item.data === 'string' ? new TextEncoder().encode(item.data) : new Uint8Array(item.data),
85
- blob: async () => new Blob([item.data]),
86
- body: null,
87
- bodyUsed: false,
88
- writeHttpMetadata: () => { },
89
- };
90
- }),
91
- head: vi.fn(async (key) => {
92
- const item = storage.get(key);
93
- if (!item)
94
- return null;
95
- return {
96
- key,
97
- version: 'test-version',
98
- size: item.size,
99
- etag: 'test-etag',
100
- httpEtag: '"test-etag"',
101
- uploaded: item.uploaded,
102
- httpMetadata: item.metadata ?? {},
103
- customMetadata: {},
104
- checksums: {},
105
- storageClass: 'STANDARD',
106
- writeHttpMetadata: () => { },
107
- };
108
- }),
109
- delete: vi.fn(async (keys) => {
110
- const keyList = Array.isArray(keys) ? keys : [keys];
111
- for (const key of keyList) {
112
- storage.delete(key);
113
- }
114
- }),
115
- list: vi.fn(async (options) => {
116
- const prefix = options?.prefix ?? '';
117
- const limit = options?.limit ?? 1000;
118
- const objects = Array.from(storage.entries())
119
- .filter(([key]) => key.startsWith(prefix))
120
- .slice(0, limit)
121
- .map(([key, item]) => ({
122
- key,
123
- version: 'test-version',
124
- size: item.size,
125
- etag: 'test-etag',
126
- httpEtag: '"test-etag"',
127
- uploaded: item.uploaded,
128
- httpMetadata: item.metadata ?? {},
129
- customMetadata: {},
130
- checksums: {},
131
- storageClass: 'STANDARD',
132
- writeHttpMetadata: () => { },
133
- }));
134
- return {
135
- objects,
136
- truncated: false,
137
- cursor: undefined,
138
- delimitedPrefixes: [],
139
- };
140
- }),
141
- };
142
- }
143
- /**
144
- * Create a simplified mock R2Bucket for read-only operations
145
- * Useful for analytics and read-focused tests
146
- *
147
- * @param manifestData - Map of keys to data objects
148
- * @returns A mock R2Bucket implementation
149
- */
150
- export function createSimpleMockBucket(manifestData) {
151
- return {
152
- get: vi.fn(async (key) => {
153
- const data = manifestData.get(key);
154
- if (!data)
155
- return null;
156
- return {
157
- text: async () => JSON.stringify(data),
158
- json: async () => data,
159
- };
160
- }),
161
- head: vi.fn(),
162
- put: vi.fn(),
163
- delete: vi.fn(),
164
- list: vi.fn(),
165
- };
166
- }
167
- // ============================================================================
168
- // Mock Durable Object State
169
- // ============================================================================
170
- /**
171
- * Create a mock DurableObjectState for testing
172
- *
173
- * @returns A mock DurableObjectState implementation
174
- */
175
- export function createMockState() {
176
- const storage = new Map();
177
- let alarmTime = null;
178
- return {
179
- id: {
180
- toString: () => 'test-id',
181
- equals: () => false,
182
- name: 'test',
183
- },
184
- storage: {
185
- get: vi.fn(async (key) => storage.get(key)),
186
- put: vi.fn(async (key, value) => {
187
- storage.set(key, value);
188
- }),
189
- delete: vi.fn(async (key) => {
190
- storage.delete(key);
191
- return true;
192
- }),
193
- list: vi.fn(async () => new Map()),
194
- setAlarm: vi.fn(async (scheduledTime) => {
195
- alarmTime = typeof scheduledTime === 'number' ? scheduledTime : scheduledTime.getTime();
196
- }),
197
- getAlarm: vi.fn(async () => alarmTime),
198
- deleteAlarm: vi.fn(async () => {
199
- alarmTime = null;
200
- }),
201
- },
202
- blockConcurrencyWhile: vi.fn(async (callback) => {
203
- await callback();
204
- }),
205
- waitUntil: vi.fn(),
206
- };
207
- }
208
- // ============================================================================
209
- // Test Data Creators
210
- // ============================================================================
211
- /**
212
- * Create a test IcebergSchema
213
- *
214
- * @param fields - Optional custom fields
215
- * @returns An IcebergSchema for testing
216
- */
217
- export function createTestSchema(fields) {
218
- return {
219
- type: 'struct',
220
- 'schema-id': 0,
221
- fields: fields ?? [
222
- { id: 1, name: 'id', type: 'long', required: true },
223
- { id: 2, name: 'data', type: 'string', required: false },
224
- { id: 3, name: 'timestamp', type: 'timestamp', required: true },
225
- ],
226
- };
227
- }
228
- /**
229
- * Create a test IcebergPartitionSpec
230
- *
231
- * @param fields - Optional partition fields
232
- * @returns An IcebergPartitionSpec for testing
233
- */
234
- export function createTestPartitionSpec(fields) {
235
- return {
236
- 'spec-id': 0,
237
- fields: fields ?? [
238
- {
239
- 'source-id': 3,
240
- 'field-id': 1000,
241
- name: 'day',
242
- transform: 'day',
243
- },
244
- ],
245
- };
246
- }
247
- /**
248
- * Create a test IcebergSnapshot
249
- *
250
- * @param id - Snapshot ID
251
- * @param timestampMs - Snapshot timestamp in milliseconds
252
- * @param options - Additional snapshot options
253
- * @returns An IcebergSnapshot for testing
254
- */
255
- export function createTestSnapshot(id, timestampMs, options = {}) {
256
- const { addedRecords = 100, deletedRecords = 0, totalRecords = 100, totalFilesSize = 1000000, operation = 'append', parentSnapshotId, manifestList, } = options;
257
- return {
258
- 'snapshot-id': id,
259
- 'parent-snapshot-id': parentSnapshotId ?? (id > 1000 ? id - 1 : undefined),
260
- 'sequence-number': id,
261
- 'timestamp-ms': timestampMs,
262
- 'manifest-list': manifestList ?? `metadata/snap-${id}-manifest-list.avro`,
263
- summary: {
264
- operation,
265
- 'added-records': String(addedRecords),
266
- 'deleted-records': String(deletedRecords),
267
- 'total-records': String(totalRecords),
268
- 'total-files-size': String(totalFilesSize),
269
- 'added-data-files': '1',
270
- },
271
- 'schema-id': 0,
272
- };
273
- }
274
- /**
275
- * Create a test IcebergDataFile
276
- *
277
- * @param path - File path
278
- * @param size - File size in bytes
279
- * @param recordCount - Number of records in the file
280
- * @param partition - Optional partition values
281
- * @returns An IcebergDataFile for testing
282
- */
283
- export function createTestDataFile(path, size, recordCount, partition = {}) {
284
- return {
285
- content: 'data',
286
- 'file-path': path,
287
- 'file-format': 'parquet',
288
- partition,
289
- 'record-count': recordCount,
290
- 'file-size-in-bytes': size,
291
- };
292
- }
293
- /**
294
- * Create a test IcebergManifestFile
295
- *
296
- * @param path - Manifest path
297
- * @param length - Manifest file length
298
- * @param options - Additional manifest options
299
- * @returns An IcebergManifestFile for testing
300
- */
301
- export function createTestManifestFile(path, length, options = {}) {
302
- const { partitionSpecId = 0, addedFiles = 1, addedRows = 100, sequenceNumber = 1, addedSnapshotId = 1, } = options;
303
- return {
304
- 'manifest-path': path,
305
- 'manifest-length': length,
306
- 'partition-spec-id': partitionSpecId,
307
- content: 0,
308
- 'sequence-number': sequenceNumber,
309
- 'min-sequence-number': sequenceNumber,
310
- 'added-snapshot-id': addedSnapshotId,
311
- 'added-files-count': addedFiles,
312
- 'existing-files-count': 0,
313
- 'deleted-files-count': 0,
314
- 'added-rows-count': addedRows,
315
- 'existing-rows-count': 0,
316
- 'deleted-rows-count': 0,
317
- };
318
- }
319
- /**
320
- * Create test IcebergTableMetadata
321
- *
322
- * @param snapshots - Array of snapshots to include
323
- * @param options - Additional metadata options
324
- * @returns IcebergTableMetadata for testing
325
- */
326
- export function createTestMetadata(snapshots = [], options = {}) {
327
- const { tableUuid = 'test-table-uuid', location = 'iceberg/test-table', schema = createTestSchema(), partitionSpec = createTestPartitionSpec(), } = options;
328
- return {
329
- 'format-version': 2,
330
- 'table-uuid': tableUuid,
331
- location,
332
- 'last-sequence-number': snapshots.length > 0 ? snapshots[snapshots.length - 1]['sequence-number'] : 0,
333
- 'last-updated-ms': Date.now(),
334
- 'last-column-id': 10,
335
- 'current-schema-id': 0,
336
- schemas: [schema],
337
- 'default-spec-id': 0,
338
- 'partition-specs': [partitionSpec],
339
- 'last-partition-id': 1000,
340
- 'default-sort-order-id': 0,
341
- 'sort-orders': [{ 'order-id': 0, fields: [] }],
342
- 'current-snapshot-id': snapshots.length > 0 ? snapshots[snapshots.length - 1]['snapshot-id'] : undefined,
343
- snapshots,
344
- 'snapshot-log': snapshots.map((s) => ({
345
- 'timestamp-ms': s['timestamp-ms'],
346
- 'snapshot-id': s['snapshot-id'],
347
- })),
348
- };
349
- }
350
- /**
351
- * Setup a test table in the mock bucket with metadata and data files
352
- *
353
- * @param bucket - The mock R2 bucket
354
- * @param tablePath - Path to the table in the bucket
355
- * @param options - Table setup options
356
- */
357
- export async function setupTestTable(bucket, tablePath, options) {
358
- const schema = options.schema ?? createTestSchema();
359
- const partitionSpec = options.partitionSpec ?? createTestPartitionSpec();
360
- const snapshotCount = options.snapshotCount ?? 1;
361
- // Create manifest entries
362
- const manifestEntries = options.dataFiles.map((file) => ({
363
- status: 1, // ADDED
364
- 'snapshot-id': 1,
365
- 'sequence-number': 1,
366
- 'file-sequence-number': 1,
367
- 'data-file': file,
368
- }));
369
- // Create manifest file
370
- const manifestPath = `${tablePath}/metadata/1-m0-test.avro`;
371
- const manifestContent = {
372
- schema: {},
373
- entries: manifestEntries,
374
- };
375
- await bucket.put(manifestPath, JSON.stringify(manifestContent), {
376
- httpMetadata: { contentType: 'application/json' },
377
- });
378
- // Create manifest file metadata
379
- const manifestBytes = new TextEncoder().encode(JSON.stringify(manifestContent));
380
- const manifestFile = options.manifests?.[0] ?? createTestManifestFile(manifestPath, manifestBytes.length, {
381
- addedFiles: options.dataFiles.length,
382
- addedRows: options.dataFiles.reduce((sum, f) => sum + f['record-count'], 0),
383
- });
384
- // Create manifest list
385
- const manifestListPath = `${tablePath}/metadata/snap-1-test.avro`;
386
- const manifestListContent = {
387
- schema: {},
388
- manifests: [manifestFile],
389
- };
390
- await bucket.put(manifestListPath, JSON.stringify(manifestListContent), {
391
- httpMetadata: { contentType: 'application/json' },
392
- });
393
- // Create snapshots
394
- const snapshots = [];
395
- for (let i = 0; i < snapshotCount; i++) {
396
- snapshots.push(createTestSnapshot(i + 1, Date.now() - (snapshotCount - i) * 24 * 60 * 60 * 1000, {
397
- addedRecords: options.dataFiles.reduce((sum, f) => sum + f['record-count'], 0),
398
- totalRecords: options.dataFiles.reduce((sum, f) => sum + f['record-count'], 0),
399
- totalFilesSize: options.dataFiles.reduce((sum, f) => sum + f['file-size-in-bytes'], 0),
400
- manifestList: manifestListPath,
401
- parentSnapshotId: i > 0 ? i : undefined,
402
- }));
403
- }
404
- // Create table metadata
405
- const metadata = createTestMetadata(snapshots, {
406
- location: tablePath,
407
- schema,
408
- partitionSpec,
409
- });
410
- // Write metadata
411
- const metadataPath = `${tablePath}/metadata/v1.metadata.json`;
412
- await bucket.put(metadataPath, JSON.stringify(metadata, null, 2), {
413
- httpMetadata: { contentType: 'application/json' },
414
- });
415
- // Write version hint
416
- await bucket.put(`${tablePath}/metadata/version-hint.text`, '1', {
417
- httpMetadata: { contentType: 'text/plain' },
418
- });
419
- }
420
- // ============================================================================
421
- // Test Time Helpers
422
- // ============================================================================
423
- /**
424
- * Create timestamps relative to a base time
425
- *
426
- * @param baseTime - Base timestamp (defaults to now)
427
- * @returns Object with common time offsets
428
- */
429
- export function createTestTimeOffsets(baseTime = Date.now()) {
430
- const hourMs = 60 * 60 * 1000;
431
- const dayMs = 24 * hourMs;
432
- const weekMs = 7 * dayMs;
433
- const monthMs = 30 * dayMs;
434
- return {
435
- now: baseTime,
436
- oneHourAgo: baseTime - hourMs,
437
- oneDayAgo: baseTime - dayMs,
438
- oneWeekAgo: baseTime - weekMs,
439
- oneMonthAgo: baseTime - monthMs,
440
- hourMs,
441
- dayMs,
442
- weekMs,
443
- monthMs,
444
- };
445
- }
446
- //# sourceMappingURL=test-fixtures.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-fixtures.js","sourceRoot":"","sources":["../../src/iceberg/test-fixtures.ts"],"names":[],"mappings":"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"}
@@ -1,31 +0,0 @@
1
- /**
2
- * Mock for cloudflare:workers module
3
- *
4
- * This provides mock DurableObject and RpcTarget base classes for Node.js testing environment.
5
- * In actual Workers runtime, these are provided by the cloudflare:workers built-in.
6
- */
7
- /**
8
- * Mock DurableObject base class
9
- * Provides the minimal interface needed for testing
10
- */
11
- export declare class DurableObject {
12
- protected ctx: DurableObjectState;
13
- protected env: unknown;
14
- constructor(ctx: DurableObjectState, env: unknown);
15
- }
16
- /**
17
- * Mock RpcTarget base class for RPC APIs
18
- * Used for native RPC support in Cloudflare Workers
19
- */
20
- export declare class RpcTarget {
21
- }
22
- /**
23
- * Mock DurableObjectState interface is already defined in types
24
- * We just export an empty object to satisfy the import
25
- */
26
- declare const _default: {
27
- DurableObject: typeof DurableObject;
28
- RpcTarget: typeof RpcTarget;
29
- };
30
- export default _default;
31
- //# sourceMappingURL=cloudflare-workers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cloudflare-workers.d.ts","sourceRoot":"","sources":["../../../src/worker/__mocks__/cloudflare-workers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;GAGG;AACH,qBAAa,aAAa;IACxB,SAAS,CAAC,GAAG,EAAE,kBAAkB,CAAA;IACjC,SAAS,CAAC,GAAG,EAAE,OAAO,CAAA;gBAEV,GAAG,EAAE,kBAAkB,EAAE,GAAG,EAAE,OAAO;CAIlD;AAED;;;GAGG;AACH,qBAAa,SAAS;CAErB;AAED;;;GAGG;;;;;AACH,wBAGC"}