@syncular/server 0.0.1-111 → 0.0.1-114

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 (43) hide show
  1. package/dist/blobs/adapters/filesystem.d.ts +31 -0
  2. package/dist/blobs/adapters/filesystem.d.ts.map +1 -0
  3. package/dist/blobs/adapters/filesystem.js +140 -0
  4. package/dist/blobs/adapters/filesystem.js.map +1 -0
  5. package/dist/blobs/adapters/s3.d.ts +3 -2
  6. package/dist/blobs/adapters/s3.d.ts.map +1 -1
  7. package/dist/blobs/adapters/s3.js +49 -0
  8. package/dist/blobs/adapters/s3.js.map +1 -1
  9. package/dist/blobs/index.d.ts +1 -0
  10. package/dist/blobs/index.d.ts.map +1 -1
  11. package/dist/blobs/index.js +1 -0
  12. package/dist/blobs/index.js.map +1 -1
  13. package/dist/index.d.ts +1 -0
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +1 -0
  16. package/dist/index.js.map +1 -1
  17. package/dist/notify.d.ts +47 -0
  18. package/dist/notify.d.ts.map +1 -0
  19. package/dist/notify.js +85 -0
  20. package/dist/notify.js.map +1 -0
  21. package/dist/pull.d.ts.map +1 -1
  22. package/dist/pull.js +40 -1
  23. package/dist/pull.js.map +1 -1
  24. package/dist/snapshot-chunks/index.d.ts +0 -1
  25. package/dist/snapshot-chunks/index.d.ts.map +1 -1
  26. package/dist/snapshot-chunks/index.js +0 -1
  27. package/dist/snapshot-chunks/index.js.map +1 -1
  28. package/package.json +2 -2
  29. package/src/blobs/adapters/filesystem.test.ts +132 -0
  30. package/src/blobs/adapters/filesystem.ts +189 -0
  31. package/src/blobs/adapters/s3.test.ts +522 -0
  32. package/src/blobs/adapters/s3.ts +55 -2
  33. package/src/blobs/index.ts +1 -0
  34. package/src/index.ts +1 -0
  35. package/src/notify.test.ts +516 -0
  36. package/src/notify.ts +131 -0
  37. package/src/pull.ts +56 -2
  38. package/src/snapshot-chunks/index.ts +0 -1
  39. package/dist/snapshot-chunks/adapters/s3.d.ts +0 -74
  40. package/dist/snapshot-chunks/adapters/s3.d.ts.map +0 -1
  41. package/dist/snapshot-chunks/adapters/s3.js +0 -50
  42. package/dist/snapshot-chunks/adapters/s3.js.map +0 -1
  43. package/src/snapshot-chunks/adapters/s3.ts +0 -68
package/dist/pull.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"pull.js","sourceRoot":"","sources":["../src/pull.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pull.js","sourceRoot":"","sources":["../src/pull.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,6 @@
3
3
  *
4
4
  * Separates chunk metadata (database) from body content (blob storage).
5
5
  */
6
- export * from './adapters/s3';
7
6
  export * from './db-metadata';
8
7
  export * from './types';
9
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/snapshot-chunks/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/snapshot-chunks/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC"}
@@ -3,7 +3,6 @@
3
3
  *
4
4
  * Separates chunk metadata (database) from body content (blob storage).
5
5
  */
6
- export * from './adapters/s3.js';
7
6
  export * from './db-metadata.js';
8
7
  export * from './types.js';
9
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/snapshot-chunks/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/snapshot-chunks/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@syncular/server",
3
- "version": "0.0.1-111",
3
+ "version": "0.0.1-114",
4
4
  "description": "Server-side sync engine with push/pull, pruning, and snapshot support",
5
5
  "license": "MIT",
6
6
  "author": "Benjamin Kniffler",
@@ -62,7 +62,7 @@
62
62
  "release": "bunx syncular-publish"
63
63
  },
64
64
  "dependencies": {
65
- "@syncular/core": "0.0.1-111"
65
+ "@syncular/core": "0.0.1-114"
66
66
  },
67
67
  "peerDependencies": {
68
68
  "kysely": "^0.28.0",
@@ -0,0 +1,132 @@
1
+ import { afterEach, beforeEach, describe, expect, test } from 'bun:test';
2
+ import { mkdtemp, readdir, rm } from 'node:fs/promises';
3
+ import { tmpdir } from 'node:os';
4
+ import { join } from 'node:path';
5
+ import type { BlobStorageAdapter } from '@syncular/core';
6
+ import { createHmacTokenSigner } from './database';
7
+ import { createFilesystemBlobStorageAdapter } from './filesystem';
8
+
9
+ let basePath: string;
10
+ let adapter: BlobStorageAdapter;
11
+
12
+ beforeEach(async () => {
13
+ basePath = await mkdtemp(join(tmpdir(), 'syncular-blob-test-'));
14
+ adapter = createFilesystemBlobStorageAdapter({
15
+ basePath,
16
+ baseUrl: 'https://example.com/api/sync',
17
+ tokenSigner: createHmacTokenSigner('test-secret'),
18
+ });
19
+ });
20
+
21
+ afterEach(async () => {
22
+ await rm(basePath, { recursive: true, force: true });
23
+ });
24
+
25
+ const testHash =
26
+ 'sha256:abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890';
27
+ const testData = new TextEncoder().encode('hello world');
28
+
29
+ describe('createFilesystemBlobStorageAdapter', () => {
30
+ test('put + get round-trip', async () => {
31
+ await adapter.put!(testHash, testData);
32
+ const result = await adapter.get!(testHash);
33
+ expect(result).toEqual(testData);
34
+ });
35
+
36
+ test('putStream + getStream round-trip', async () => {
37
+ const inputStream = new ReadableStream<Uint8Array>({
38
+ start(controller) {
39
+ controller.enqueue(testData);
40
+ controller.close();
41
+ },
42
+ });
43
+
44
+ await adapter.putStream!(testHash, inputStream);
45
+
46
+ const outputStream = await adapter.getStream!(testHash);
47
+ expect(outputStream).not.toBeNull();
48
+
49
+ const reader = outputStream!.getReader();
50
+ const chunks: Uint8Array[] = [];
51
+ while (true) {
52
+ const { done, value } = await reader.read();
53
+ if (done) break;
54
+ chunks.push(value);
55
+ }
56
+ const result = new Uint8Array(chunks.reduce((acc, c) => acc + c.length, 0));
57
+ let offset = 0;
58
+ for (const chunk of chunks) {
59
+ result.set(chunk, offset);
60
+ offset += chunk.length;
61
+ }
62
+ expect(result).toEqual(testData);
63
+ });
64
+
65
+ test('get returns null for missing blob', async () => {
66
+ const result = await adapter.get!(testHash);
67
+ expect(result).toBeNull();
68
+ });
69
+
70
+ test('getStream returns null for missing blob', async () => {
71
+ const result = await adapter.getStream!(testHash);
72
+ expect(result).toBeNull();
73
+ });
74
+
75
+ test('exists returns true after put', async () => {
76
+ expect(await adapter.exists(testHash)).toBe(false);
77
+ await adapter.put!(testHash, testData);
78
+ expect(await adapter.exists(testHash)).toBe(true);
79
+ });
80
+
81
+ test('delete removes the blob', async () => {
82
+ await adapter.put!(testHash, testData);
83
+ expect(await adapter.exists(testHash)).toBe(true);
84
+ await adapter.delete(testHash);
85
+ expect(await adapter.exists(testHash)).toBe(false);
86
+ });
87
+
88
+ test('delete is idempotent for missing blob', async () => {
89
+ await adapter.delete(testHash);
90
+ });
91
+
92
+ test('getMetadata returns size', async () => {
93
+ await adapter.put!(testHash, testData);
94
+ const meta = await adapter.getMetadata!(testHash);
95
+ expect(meta).toEqual({ size: testData.length });
96
+ });
97
+
98
+ test('getMetadata returns null for missing blob', async () => {
99
+ const meta = await adapter.getMetadata!(testHash);
100
+ expect(meta).toBeNull();
101
+ });
102
+
103
+ test('creates hash-based subdirectories', async () => {
104
+ await adapter.put!(testHash, testData);
105
+ // hex = abcdef..., so subdirs should be "ab/cd"
106
+ const firstLevel = await readdir(basePath);
107
+ expect(firstLevel).toContain('ab');
108
+ const secondLevel = await readdir(join(basePath, 'ab'));
109
+ expect(secondLevel).toContain('cd');
110
+ });
111
+
112
+ test('signUpload returns a token URL', async () => {
113
+ const result = await adapter.signUpload({
114
+ hash: testHash,
115
+ size: 100,
116
+ mimeType: 'application/octet-stream',
117
+ expiresIn: 60,
118
+ });
119
+ expect(result.url).toContain('/blobs/');
120
+ expect(result.url).toContain('token=');
121
+ expect(result.method).toBe('PUT');
122
+ });
123
+
124
+ test('signDownload returns a token URL', async () => {
125
+ const url = await adapter.signDownload({
126
+ hash: testHash,
127
+ expiresIn: 60,
128
+ });
129
+ expect(url).toContain('/blobs/');
130
+ expect(url).toContain('token=');
131
+ });
132
+ });
@@ -0,0 +1,189 @@
1
+ /**
2
+ * Filesystem blob storage adapter.
3
+ *
4
+ * Stores blobs as files on disk with 2-level hash-based subdirectories.
5
+ * Uploads/downloads go through the server's blob routes using signed tokens
6
+ * (same pattern as the database adapter).
7
+ */
8
+
9
+ import {
10
+ mkdir,
11
+ open,
12
+ readFile,
13
+ rename,
14
+ stat,
15
+ unlink,
16
+ writeFile,
17
+ } from 'node:fs/promises';
18
+ import { dirname, join } from 'node:path';
19
+ import type {
20
+ BlobSignDownloadOptions,
21
+ BlobSignedUpload,
22
+ BlobSignUploadOptions,
23
+ BlobStorageAdapter,
24
+ } from '@syncular/core';
25
+ import type { BlobTokenSigner } from './database';
26
+
27
+ export interface FilesystemBlobStorageAdapterOptions {
28
+ /** Directory root for blob files */
29
+ basePath: string;
30
+ /** Server base URL for upload/download routes (e.g. "/api/sync") */
31
+ baseUrl: string;
32
+ /** Token signer for authorization */
33
+ tokenSigner: BlobTokenSigner;
34
+ }
35
+
36
+ /**
37
+ * Resolve hash to a 2-level subdirectory path:
38
+ * `{basePath}/{hex[0..2]}/{hex[2..4]}/{hex}`
39
+ */
40
+ function hashToFilePath(basePath: string, hash: string): string {
41
+ const hex = hash.startsWith('sha256:') ? hash.slice(7) : hash;
42
+ return join(basePath, hex.slice(0, 2), hex.slice(2, 4), hex);
43
+ }
44
+
45
+ function tmpPath(filePath: string): string {
46
+ return `${filePath}.${Date.now()}.tmp`;
47
+ }
48
+
49
+ /**
50
+ * Create a filesystem blob storage adapter.
51
+ *
52
+ * @example
53
+ * ```typescript
54
+ * const adapter = createFilesystemBlobStorageAdapter({
55
+ * basePath: '/data/blobs',
56
+ * baseUrl: 'https://api.example.com/api/sync',
57
+ * tokenSigner: createHmacTokenSigner(process.env.BLOB_SECRET!),
58
+ * });
59
+ * ```
60
+ */
61
+ export function createFilesystemBlobStorageAdapter(
62
+ options: FilesystemBlobStorageAdapterOptions
63
+ ): BlobStorageAdapter {
64
+ const { basePath, tokenSigner } = options;
65
+ const normalizedBaseUrl = options.baseUrl.replace(/\/$/, '');
66
+
67
+ return {
68
+ name: 'filesystem',
69
+
70
+ async signUpload(opts: BlobSignUploadOptions): Promise<BlobSignedUpload> {
71
+ const expiresAt = Date.now() + opts.expiresIn * 1000;
72
+ const token = await tokenSigner.sign(
73
+ { hash: opts.hash, action: 'upload', expiresAt },
74
+ opts.expiresIn
75
+ );
76
+
77
+ const url = `${normalizedBaseUrl}/blobs/${encodeURIComponent(opts.hash)}/upload?token=${encodeURIComponent(token)}`;
78
+
79
+ return {
80
+ url,
81
+ method: 'PUT',
82
+ headers: {
83
+ 'Content-Type': opts.mimeType,
84
+ 'Content-Length': String(opts.size),
85
+ },
86
+ };
87
+ },
88
+
89
+ async signDownload(opts: BlobSignDownloadOptions): Promise<string> {
90
+ const expiresAt = Date.now() + opts.expiresIn * 1000;
91
+ const token = await tokenSigner.sign(
92
+ { hash: opts.hash, action: 'download', expiresAt },
93
+ opts.expiresIn
94
+ );
95
+
96
+ return `${normalizedBaseUrl}/blobs/${encodeURIComponent(opts.hash)}/download?token=${encodeURIComponent(token)}`;
97
+ },
98
+
99
+ async exists(hash: string): Promise<boolean> {
100
+ try {
101
+ await stat(hashToFilePath(basePath, hash));
102
+ return true;
103
+ } catch {
104
+ return false;
105
+ }
106
+ },
107
+
108
+ async delete(hash: string): Promise<void> {
109
+ try {
110
+ await unlink(hashToFilePath(basePath, hash));
111
+ } catch (err) {
112
+ if ((err as NodeJS.ErrnoException).code !== 'ENOENT') throw err;
113
+ }
114
+ },
115
+
116
+ async getMetadata(
117
+ hash: string
118
+ ): Promise<{ size: number; mimeType?: string } | null> {
119
+ try {
120
+ const s = await stat(hashToFilePath(basePath, hash));
121
+ return { size: s.size };
122
+ } catch {
123
+ return null;
124
+ }
125
+ },
126
+
127
+ async put(hash: string, data: Uint8Array): Promise<void> {
128
+ const filePath = hashToFilePath(basePath, hash);
129
+ const tmp = tmpPath(filePath);
130
+ await mkdir(dirname(filePath), { recursive: true });
131
+ await writeFile(tmp, data);
132
+ await rename(tmp, filePath);
133
+ },
134
+
135
+ async putStream(
136
+ hash: string,
137
+ stream: ReadableStream<Uint8Array>
138
+ ): Promise<void> {
139
+ const filePath = hashToFilePath(basePath, hash);
140
+ const tmp = tmpPath(filePath);
141
+ await mkdir(dirname(filePath), { recursive: true });
142
+
143
+ const fh = await open(tmp, 'w');
144
+ try {
145
+ const reader = stream.getReader();
146
+ while (true) {
147
+ const { done, value } = await reader.read();
148
+ if (done) break;
149
+ await fh.write(value);
150
+ }
151
+ } finally {
152
+ await fh.close();
153
+ }
154
+
155
+ await rename(tmp, filePath);
156
+ },
157
+
158
+ async get(hash: string): Promise<Uint8Array | null> {
159
+ try {
160
+ const buf = await readFile(hashToFilePath(basePath, hash));
161
+ return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength);
162
+ } catch (err) {
163
+ if ((err as NodeJS.ErrnoException).code === 'ENOENT') return null;
164
+ throw err;
165
+ }
166
+ },
167
+
168
+ async getStream(hash: string): Promise<ReadableStream<Uint8Array> | null> {
169
+ let data: Buffer;
170
+ try {
171
+ data = await readFile(hashToFilePath(basePath, hash));
172
+ } catch (err) {
173
+ if ((err as NodeJS.ErrnoException).code === 'ENOENT') return null;
174
+ throw err;
175
+ }
176
+ const bytes = new Uint8Array(
177
+ data.buffer,
178
+ data.byteOffset,
179
+ data.byteLength
180
+ );
181
+ return new ReadableStream<Uint8Array>({
182
+ start(controller) {
183
+ controller.enqueue(bytes);
184
+ controller.close();
185
+ },
186
+ });
187
+ },
188
+ };
189
+ }