@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/frames.ts
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/** Frame type registry for wire version 1 (SPEC.md §1.2). */
|
|
2
|
+
export const FrameType = {
|
|
3
|
+
END: 0x00,
|
|
4
|
+
REQ_HEADER: 0x01,
|
|
5
|
+
PUSH_COMMIT: 0x02,
|
|
6
|
+
PULL_HEADER: 0x03,
|
|
7
|
+
SUBSCRIPTION: 0x04,
|
|
8
|
+
RESP_HEADER: 0x10,
|
|
9
|
+
PUSH_RESULT: 0x11,
|
|
10
|
+
SUB_START: 0x12,
|
|
11
|
+
COMMIT: 0x13,
|
|
12
|
+
SEGMENT_REF: 0x14,
|
|
13
|
+
SEGMENT_INLINE: 0x15,
|
|
14
|
+
SUB_END: 0x16,
|
|
15
|
+
LEASE: 0x19,
|
|
16
|
+
ERROR: 0x1f,
|
|
17
|
+
} as const;
|
|
18
|
+
|
|
19
|
+
export type FrameTypeName = keyof typeof FrameType;
|
|
20
|
+
|
|
21
|
+
/** Known request frame types (excluding END). */
|
|
22
|
+
export const REQUEST_FRAME_TYPES: ReadonlySet<number> = new Set([
|
|
23
|
+
FrameType.REQ_HEADER,
|
|
24
|
+
FrameType.PUSH_COMMIT,
|
|
25
|
+
FrameType.PULL_HEADER,
|
|
26
|
+
FrameType.SUBSCRIPTION,
|
|
27
|
+
]);
|
|
28
|
+
|
|
29
|
+
/** Known response frame types (excluding END). */
|
|
30
|
+
export const RESPONSE_FRAME_TYPES: ReadonlySet<number> = new Set([
|
|
31
|
+
FrameType.RESP_HEADER,
|
|
32
|
+
FrameType.PUSH_RESULT,
|
|
33
|
+
FrameType.SUB_START,
|
|
34
|
+
FrameType.COMMIT,
|
|
35
|
+
FrameType.SEGMENT_REF,
|
|
36
|
+
FrameType.SEGMENT_INLINE,
|
|
37
|
+
FrameType.SUB_END,
|
|
38
|
+
FrameType.LEASE,
|
|
39
|
+
FrameType.ERROR,
|
|
40
|
+
]);
|
|
41
|
+
|
|
42
|
+
/** Every frame type with a defined layout in wire version 1. */
|
|
43
|
+
export const KNOWN_FRAME_TYPES: ReadonlySet<number> = new Set([
|
|
44
|
+
FrameType.END,
|
|
45
|
+
...REQUEST_FRAME_TYPES,
|
|
46
|
+
...RESPONSE_FRAME_TYPES,
|
|
47
|
+
]);
|
package/src/index.ts
CHANGED
|
@@ -1,46 +1,21 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @syncular/core
|
|
2
|
+
* @syncular/core — reference SSP2 codec (SPEC.md is normative).
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* -
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* - Data transformation hooks (optional)
|
|
9
|
-
* - Blob types for media/binary handling
|
|
10
|
-
* - Zod schemas for runtime validation and OpenAPI
|
|
4
|
+
* Dependency-free: primitives (Conventions), envelope + framing (§1),
|
|
5
|
+
* schema-IR row codec (§2.4), SSG2 rows segments (§5.2), message codecs
|
|
6
|
+
* (§1.5/§1.6), realtime control messages (§8), the §11 canonical JSON
|
|
7
|
+
* debug rendering, and §11.2 canonical JSON for digests.
|
|
11
8
|
*/
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
export * from './
|
|
15
|
-
|
|
16
|
-
export * from './
|
|
17
|
-
|
|
18
|
-
export * from './
|
|
19
|
-
|
|
20
|
-
export * from './
|
|
21
|
-
|
|
22
|
-
export * from './
|
|
23
|
-
|
|
24
|
-
export * from './
|
|
25
|
-
// Kysely plugin for applying column codecs in generic queries
|
|
26
|
-
export * from './kysely-column-codecs';
|
|
27
|
-
// Logging utilities
|
|
28
|
-
export * from './logger';
|
|
29
|
-
// Proxy protocol types
|
|
30
|
-
export * from './proxy';
|
|
31
|
-
// Schemas (Zod)
|
|
32
|
-
export * from './schemas';
|
|
33
|
-
// Scope types, patterns, and utilities
|
|
34
|
-
export * from './scopes';
|
|
35
|
-
// Snapshot chunk encoding helpers
|
|
36
|
-
export * from './snapshot-chunks';
|
|
37
|
-
// Sync response pack encoding helpers
|
|
38
|
-
export * from './sync-packs';
|
|
39
|
-
// Telemetry abstraction
|
|
40
|
-
export * from './telemetry';
|
|
41
|
-
// Data transformation hooks
|
|
42
|
-
export * from './transforms';
|
|
43
|
-
// Transport and conflict types (protocol types come from ./schemas)
|
|
44
|
-
export * from './types';
|
|
45
|
-
// Shared runtime utilities
|
|
46
|
-
export * from './utils';
|
|
9
|
+
export * from './blob-ref';
|
|
10
|
+
export * from './bytes';
|
|
11
|
+
export * from './canonical-json';
|
|
12
|
+
export * from './constants';
|
|
13
|
+
export * from './crypto';
|
|
14
|
+
export * from './errors';
|
|
15
|
+
export * from './frames';
|
|
16
|
+
export * from './message';
|
|
17
|
+
export * from './realtime';
|
|
18
|
+
export * from './render';
|
|
19
|
+
export * from './row-codec';
|
|
20
|
+
export * from './segment';
|
|
21
|
+
export * from './stream';
|