@syncular/core 0.1.3 → 0.2.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.
- package/README.md +5 -19
- package/dist/blob-ref.d.ts +21 -0
- package/dist/blob-ref.js +97 -0
- package/dist/bytes.d.ts +45 -0
- package/dist/bytes.js +242 -0
- package/dist/canonical-json.d.ts +10 -0
- package/dist/canonical-json.js +18 -0
- package/dist/constants.d.ts +5 -0
- package/dist/constants.js +5 -0
- package/dist/crypto.d.ts +60 -0
- package/dist/crypto.js +251 -0
- package/dist/errors.d.ts +14 -0
- package/dist/errors.js +17 -0
- package/dist/frames.d.ts +24 -0
- package/dist/frames.js +42 -0
- package/dist/index.d.ts +18 -26
- package/dist/index.js +18 -43
- package/dist/message.d.ts +157 -0
- package/dist/message.js +786 -0
- package/dist/realtime.d.ts +92 -0
- package/dist/realtime.js +222 -0
- package/dist/render.d.ts +22 -0
- package/dist/render.js +273 -0
- package/dist/row-codec.d.ts +39 -0
- package/dist/row-codec.js +176 -0
- package/dist/segment.d.ts +18 -0
- package/dist/segment.js +105 -0
- package/dist/stream.d.ts +20 -0
- package/dist/stream.js +102 -0
- package/package.json +7 -59
- package/src/blob-ref.ts +135 -0
- package/src/bytes.ts +301 -0
- package/src/canonical-json.ts +20 -0
- package/src/constants.ts +7 -0
- package/src/crypto.ts +335 -0
- package/src/errors.ts +18 -0
- package/src/frames.ts +47 -0
- package/src/index.ts +18 -43
- package/src/message.ts +1024 -0
- package/src/realtime.ts +340 -0
- package/src/render.ts +325 -0
- package/src/row-codec.ts +265 -0
- package/src/segment.ts +150 -0
- package/src/stream.ts +128 -0
- package/dist/blobs.d.ts +0 -153
- package/dist/blobs.d.ts.map +0 -1
- package/dist/blobs.js +0 -47
- package/dist/blobs.js.map +0 -1
- package/dist/column-codecs.d.ts +0 -59
- package/dist/column-codecs.d.ts.map +0 -1
- package/dist/column-codecs.js +0 -159
- package/dist/column-codecs.js.map +0 -1
- package/dist/conflict.d.ts +0 -22
- package/dist/conflict.d.ts.map +0 -1
- package/dist/conflict.js +0 -81
- package/dist/conflict.js.map +0 -1
- package/dist/database.d.ts +0 -7
- package/dist/database.d.ts.map +0 -1
- package/dist/database.js +0 -14
- package/dist/database.js.map +0 -1
- package/dist/dialect.d.ts +0 -7
- package/dist/dialect.d.ts.map +0 -1
- package/dist/dialect.js +0 -2
- package/dist/dialect.js.map +0 -1
- package/dist/error-responses.d.ts +0 -393
- package/dist/error-responses.d.ts.map +0 -1
- package/dist/error-responses.js +0 -393
- package/dist/error-responses.js.map +0 -1
- package/dist/http/api-client.d.ts +0 -11
- package/dist/http/api-client.d.ts.map +0 -1
- package/dist/http/api-client.js +0 -30
- package/dist/http/api-client.js.map +0 -1
- package/dist/http/blob.d.ts +0 -6
- package/dist/http/blob.d.ts.map +0 -1
- package/dist/http/blob.js +0 -46
- package/dist/http/blob.js.map +0 -1
- package/dist/http/generated/api.d.ts +0 -5241
- package/dist/http/generated/api.d.ts.map +0 -1
- package/dist/http/generated/api.js +0 -6
- package/dist/http/generated/api.js.map +0 -1
- package/dist/http/index.d.ts +0 -18
- package/dist/http/index.d.ts.map +0 -1
- package/dist/http/index.js +0 -212
- package/dist/http/index.js.map +0 -1
- package/dist/http/shared.d.ts +0 -45
- package/dist/http/shared.d.ts.map +0 -1
- package/dist/http/shared.js +0 -122
- package/dist/http/shared.js.map +0 -1
- package/dist/http/transport-client.d.ts +0 -31
- package/dist/http/transport-client.d.ts.map +0 -1
- package/dist/http/transport-client.js +0 -193
- package/dist/http/transport-client.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/kysely-column-codecs.d.ts +0 -31
- package/dist/kysely-column-codecs.d.ts.map +0 -1
- package/dist/kysely-column-codecs.js +0 -452
- package/dist/kysely-column-codecs.js.map +0 -1
- package/dist/logger.d.ts +0 -29
- package/dist/logger.d.ts.map +0 -1
- package/dist/logger.js +0 -26
- package/dist/logger.js.map +0 -1
- package/dist/proxy/index.d.ts +0 -54
- package/dist/proxy/index.d.ts.map +0 -1
- package/dist/proxy/index.js +0 -7
- package/dist/proxy/index.js.map +0 -1
- package/dist/schemas/blobs.d.ts +0 -82
- package/dist/schemas/blobs.d.ts.map +0 -1
- package/dist/schemas/blobs.js +0 -64
- package/dist/schemas/blobs.js.map +0 -1
- package/dist/schemas/common.d.ts +0 -100
- package/dist/schemas/common.d.ts.map +0 -1
- package/dist/schemas/common.js +0 -64
- package/dist/schemas/common.js.map +0 -1
- package/dist/schemas/index.d.ts +0 -7
- package/dist/schemas/index.d.ts.map +0 -1
- package/dist/schemas/index.js +0 -7
- package/dist/schemas/index.js.map +0 -1
- package/dist/schemas/sync.d.ts +0 -1065
- package/dist/schemas/sync.d.ts.map +0 -1
- package/dist/schemas/sync.js +0 -361
- package/dist/schemas/sync.js.map +0 -1
- package/dist/scopes/index.d.ts +0 -113
- package/dist/scopes/index.d.ts.map +0 -1
- package/dist/scopes/index.js +0 -103
- package/dist/scopes/index.js.map +0 -1
- package/dist/sentry.d.ts +0 -31
- package/dist/sentry.d.ts.map +0 -1
- package/dist/sentry.js +0 -147
- package/dist/sentry.js.map +0 -1
- package/dist/snapshot-chunks.d.ts +0 -110
- package/dist/snapshot-chunks.d.ts.map +0 -1
- package/dist/snapshot-chunks.js +0 -682
- package/dist/snapshot-chunks.js.map +0 -1
- package/dist/sync-packs.d.ts +0 -33
- package/dist/sync-packs.d.ts.map +0 -1
- package/dist/sync-packs.js +0 -821
- package/dist/sync-packs.js.map +0 -1
- package/dist/telemetry.d.ts +0 -114
- package/dist/telemetry.d.ts.map +0 -1
- package/dist/telemetry.js +0 -114
- package/dist/telemetry.js.map +0 -1
- package/dist/transforms.d.ts +0 -146
- package/dist/transforms.d.ts.map +0 -1
- package/dist/transforms.js +0 -155
- package/dist/transforms.js.map +0 -1
- package/dist/types.d.ts +0 -210
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -20
- package/dist/types.js.map +0 -1
- package/dist/utils/bytes.d.ts +0 -4
- package/dist/utils/bytes.d.ts.map +0 -1
- package/dist/utils/bytes.js +0 -66
- package/dist/utils/bytes.js.map +0 -1
- package/dist/utils/compression.d.ts +0 -22
- package/dist/utils/compression.d.ts.map +0 -1
- package/dist/utils/compression.js +0 -129
- package/dist/utils/compression.js.map +0 -1
- package/dist/utils/crypto.d.ts +0 -13
- package/dist/utils/crypto.d.ts.map +0 -1
- package/dist/utils/crypto.js +0 -107
- package/dist/utils/crypto.js.map +0 -1
- package/dist/utils/id.d.ts +0 -3
- package/dist/utils/id.d.ts.map +0 -1
- package/dist/utils/id.js +0 -25
- package/dist/utils/id.js.map +0 -1
- package/dist/utils/index.d.ts +0 -10
- package/dist/utils/index.d.ts.map +0 -1
- package/dist/utils/index.js +0 -10
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/internal-runtime.d.ts +0 -16
- package/dist/utils/internal-runtime.d.ts.map +0 -1
- package/dist/utils/internal-runtime.js +0 -14
- package/dist/utils/internal-runtime.js.map +0 -1
- package/dist/utils/object.d.ts +0 -2
- package/dist/utils/object.d.ts.map +0 -1
- package/dist/utils/object.js +0 -4
- package/dist/utils/object.js.map +0 -1
- package/dist/utils/realtime-change-index.d.ts +0 -9
- package/dist/utils/realtime-change-index.d.ts.map +0 -1
- package/dist/utils/realtime-change-index.js +0 -36
- package/dist/utils/realtime-change-index.js.map +0 -1
- package/dist/utils/realtime-connection-registry.d.ts +0 -40
- package/dist/utils/realtime-connection-registry.d.ts.map +0 -1
- package/dist/utils/realtime-connection-registry.js +0 -237
- package/dist/utils/realtime-connection-registry.js.map +0 -1
- package/dist/utils/table-registry.d.ts +0 -10
- package/dist/utils/table-registry.d.ts.map +0 -1
- package/dist/utils/table-registry.js +0 -54
- package/dist/utils/table-registry.js.map +0 -1
- package/dist/utils/url.d.ts +0 -3
- package/dist/utils/url.d.ts.map +0 -1
- package/dist/utils/url.js +0 -20
- package/dist/utils/url.js.map +0 -1
- package/src/blobs.ts +0 -219
- package/src/column-codecs.ts +0 -262
- package/src/conflict.ts +0 -92
- package/src/database.ts +0 -21
- package/src/dialect.ts +0 -8
- package/src/error-responses.ts +0 -423
- package/src/http/api-client.ts +0 -39
- package/src/http/blob.ts +0 -95
- package/src/http/generated/api.ts +0 -5241
- package/src/http/index.ts +0 -365
- package/src/http/shared.ts +0 -220
- package/src/http/transport-client.ts +0 -314
- package/src/kysely-column-codecs.ts +0 -585
- package/src/logger.ts +0 -38
- package/src/proxy/index.ts +0 -57
- package/src/schemas/blobs.ts +0 -110
- package/src/schemas/common.ts +0 -89
- package/src/schemas/index.ts +0 -7
- package/src/schemas/sync.ts +0 -517
- package/src/scopes/index.ts +0 -237
- package/src/sentry.ts +0 -200
- package/src/snapshot-chunks.ts +0 -964
- package/src/sync-packs.ts +0 -1096
- package/src/telemetry.ts +0 -243
- package/src/transforms.ts +0 -256
- package/src/types.ts +0 -267
- package/src/utils/bytes.ts +0 -75
- package/src/utils/compression.ts +0 -187
- package/src/utils/crypto.ts +0 -146
- package/src/utils/id.ts +0 -34
- package/src/utils/index.ts +0 -9
- package/src/utils/internal-runtime.ts +0 -39
- package/src/utils/object.ts +0 -3
- package/src/utils/realtime-change-index.ts +0 -44
- package/src/utils/realtime-connection-registry.ts +0 -286
- package/src/utils/table-registry.ts +0 -67
- package/src/utils/url.ts +0 -29
package/src/schemas/blobs.ts
DELETED
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @syncular/core - Blob Zod schemas
|
|
3
|
-
*
|
|
4
|
-
* Runtime validation schemas for blob types.
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
import { z } from 'zod';
|
|
8
|
-
import type { SyncularErrorCode } from '../error-responses';
|
|
9
|
-
|
|
10
|
-
// ============================================================================
|
|
11
|
-
// Blob Reference Schema
|
|
12
|
-
// ============================================================================
|
|
13
|
-
|
|
14
|
-
export const BlobRefSchema = z.object({
|
|
15
|
-
hash: z.string().regex(/^sha256:[0-9a-f]{64}$/i, 'Invalid blob hash format'),
|
|
16
|
-
size: z.number().int().min(0),
|
|
17
|
-
mimeType: z.string().min(1),
|
|
18
|
-
encrypted: z.boolean().optional(),
|
|
19
|
-
keyId: z.string().optional(),
|
|
20
|
-
});
|
|
21
|
-
|
|
22
|
-
export type BlobRef = z.infer<typeof BlobRefSchema>;
|
|
23
|
-
|
|
24
|
-
// ============================================================================
|
|
25
|
-
// Blob Metadata Schema
|
|
26
|
-
// ============================================================================
|
|
27
|
-
|
|
28
|
-
export const BlobMetadataSchema = z.object({
|
|
29
|
-
hash: z.string().regex(/^sha256:[0-9a-f]{64}$/i),
|
|
30
|
-
size: z.number().int().min(0),
|
|
31
|
-
mimeType: z.string().min(1),
|
|
32
|
-
createdAt: z.string(),
|
|
33
|
-
expiresAt: z.string().optional(),
|
|
34
|
-
uploadComplete: z.boolean(),
|
|
35
|
-
});
|
|
36
|
-
|
|
37
|
-
export type BlobMetadata = z.infer<typeof BlobMetadataSchema>;
|
|
38
|
-
|
|
39
|
-
// ============================================================================
|
|
40
|
-
// Upload Request/Response Schemas
|
|
41
|
-
// ============================================================================
|
|
42
|
-
|
|
43
|
-
export const BlobUploadInitRequestSchema = z.object({
|
|
44
|
-
hash: z.string().regex(/^sha256:[0-9a-f]{64}$/i, 'Invalid blob hash format'),
|
|
45
|
-
size: z.number().int().min(0),
|
|
46
|
-
mimeType: z.string().min(1),
|
|
47
|
-
});
|
|
48
|
-
|
|
49
|
-
export type BlobUploadInitRequest = z.infer<typeof BlobUploadInitRequestSchema>;
|
|
50
|
-
|
|
51
|
-
export const BlobUploadInitResponseSchema = z.object({
|
|
52
|
-
exists: z.boolean(),
|
|
53
|
-
uploadId: z.string().optional(),
|
|
54
|
-
uploadUrl: z.string().url().optional(),
|
|
55
|
-
uploadMethod: z.enum(['PUT', 'POST']).optional(),
|
|
56
|
-
uploadHeaders: z.record(z.string(), z.string()).optional(),
|
|
57
|
-
chunkSize: z.number().int().optional(),
|
|
58
|
-
});
|
|
59
|
-
|
|
60
|
-
export type BlobUploadInitResponse = z.infer<
|
|
61
|
-
typeof BlobUploadInitResponseSchema
|
|
62
|
-
>;
|
|
63
|
-
|
|
64
|
-
export const BlobUploadCompleteRequestSchema = z.object({
|
|
65
|
-
hash: z.string().regex(/^sha256:[0-9a-f]{64}$/i),
|
|
66
|
-
});
|
|
67
|
-
|
|
68
|
-
export type BlobUploadCompleteRequest = z.infer<
|
|
69
|
-
typeof BlobUploadCompleteRequestSchema
|
|
70
|
-
>;
|
|
71
|
-
|
|
72
|
-
export const BlobUploadCompleteResponseSchema = z.object({
|
|
73
|
-
ok: z.boolean(),
|
|
74
|
-
metadata: BlobMetadataSchema.optional(),
|
|
75
|
-
error: z.string().optional(),
|
|
76
|
-
code: z.string().optional(),
|
|
77
|
-
});
|
|
78
|
-
|
|
79
|
-
type BlobUploadCompleteResponseBase = z.infer<
|
|
80
|
-
typeof BlobUploadCompleteResponseSchema
|
|
81
|
-
>;
|
|
82
|
-
|
|
83
|
-
export type BlobUploadCompleteResponse = Omit<
|
|
84
|
-
BlobUploadCompleteResponseBase,
|
|
85
|
-
'code'
|
|
86
|
-
> & {
|
|
87
|
-
code?: SyncularErrorCode;
|
|
88
|
-
};
|
|
89
|
-
|
|
90
|
-
// ============================================================================
|
|
91
|
-
// Download URL Request/Response Schemas
|
|
92
|
-
// ============================================================================
|
|
93
|
-
|
|
94
|
-
export const BlobDownloadUrlRequestSchema = z.object({
|
|
95
|
-
hash: z.string().regex(/^sha256:[0-9a-f]{64}$/i),
|
|
96
|
-
});
|
|
97
|
-
|
|
98
|
-
export type BlobDownloadUrlRequest = z.infer<
|
|
99
|
-
typeof BlobDownloadUrlRequestSchema
|
|
100
|
-
>;
|
|
101
|
-
|
|
102
|
-
export const BlobDownloadUrlResponseSchema = z.object({
|
|
103
|
-
url: z.string().url(),
|
|
104
|
-
expiresAt: z.string(),
|
|
105
|
-
metadata: BlobMetadataSchema,
|
|
106
|
-
});
|
|
107
|
-
|
|
108
|
-
export type BlobDownloadUrlResponse = z.infer<
|
|
109
|
-
typeof BlobDownloadUrlResponseSchema
|
|
110
|
-
>;
|
package/src/schemas/common.ts
DELETED
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @syncular/core - Common Zod schemas
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
import { z } from 'zod';
|
|
6
|
-
|
|
7
|
-
// ============================================================================
|
|
8
|
-
// Error Response Schemas
|
|
9
|
-
// ============================================================================
|
|
10
|
-
|
|
11
|
-
export const SyncularErrorCategorySchema = z.enum([
|
|
12
|
-
'auth-required',
|
|
13
|
-
'forbidden',
|
|
14
|
-
'conflict',
|
|
15
|
-
'scope-revoked',
|
|
16
|
-
'offline',
|
|
17
|
-
'invalid-request',
|
|
18
|
-
'not-found',
|
|
19
|
-
'schema-mismatch',
|
|
20
|
-
'integrity-rejected',
|
|
21
|
-
'rate-limited',
|
|
22
|
-
'limit-exceeded',
|
|
23
|
-
'transport',
|
|
24
|
-
'storage',
|
|
25
|
-
'blob',
|
|
26
|
-
'server',
|
|
27
|
-
'internal',
|
|
28
|
-
]);
|
|
29
|
-
|
|
30
|
-
export const SyncularErrorRecommendedActionSchema = z.enum([
|
|
31
|
-
'refreshAuth',
|
|
32
|
-
'checkPermissions',
|
|
33
|
-
'fixRequest',
|
|
34
|
-
'resetClientId',
|
|
35
|
-
'splitBatch',
|
|
36
|
-
'reduceInput',
|
|
37
|
-
'retryLater',
|
|
38
|
-
'forceResync',
|
|
39
|
-
'regenerateClient',
|
|
40
|
-
'upgradeClient',
|
|
41
|
-
'inspectStorage',
|
|
42
|
-
'inspectServer',
|
|
43
|
-
'resolveConflict',
|
|
44
|
-
'recreateClient',
|
|
45
|
-
]);
|
|
46
|
-
|
|
47
|
-
export const ErrorResponseSchema = z.object({
|
|
48
|
-
error: z.string(),
|
|
49
|
-
message: z.string().optional(),
|
|
50
|
-
code: z.string().optional(),
|
|
51
|
-
category: SyncularErrorCategorySchema.optional(),
|
|
52
|
-
retryable: z.boolean().optional(),
|
|
53
|
-
recommendedAction: SyncularErrorRecommendedActionSchema.optional(),
|
|
54
|
-
details: z.record(z.string(), z.unknown()).optional(),
|
|
55
|
-
});
|
|
56
|
-
|
|
57
|
-
export type ErrorResponse = z.infer<typeof ErrorResponseSchema>;
|
|
58
|
-
export type SyncularErrorCategory = z.infer<typeof SyncularErrorCategorySchema>;
|
|
59
|
-
export type SyncularErrorRecommendedAction = z.infer<
|
|
60
|
-
typeof SyncularErrorRecommendedActionSchema
|
|
61
|
-
>;
|
|
62
|
-
|
|
63
|
-
// ============================================================================
|
|
64
|
-
// Pagination Schemas
|
|
65
|
-
// ============================================================================
|
|
66
|
-
|
|
67
|
-
export const PaginationQuerySchema = z.object({
|
|
68
|
-
limit: z.coerce.number().int().min(1).max(100).default(50),
|
|
69
|
-
offset: z.coerce.number().int().min(0).default(0),
|
|
70
|
-
});
|
|
71
|
-
|
|
72
|
-
export type PaginationQuery = z.infer<typeof PaginationQuerySchema>;
|
|
73
|
-
|
|
74
|
-
export const PaginatedResponseSchema = <T extends z.ZodTypeAny>(
|
|
75
|
-
itemSchema: T
|
|
76
|
-
) =>
|
|
77
|
-
z.object({
|
|
78
|
-
items: z.array(itemSchema),
|
|
79
|
-
total: z.number().int(),
|
|
80
|
-
offset: z.number().int(),
|
|
81
|
-
limit: z.number().int(),
|
|
82
|
-
});
|
|
83
|
-
|
|
84
|
-
export type PaginatedResponse<T> = {
|
|
85
|
-
items: T[];
|
|
86
|
-
total: number;
|
|
87
|
-
offset: number;
|
|
88
|
-
limit: number;
|
|
89
|
-
};
|