@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
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/schemas/sync.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAaxB,eAAO,MAAM,YAAY;;;EAA+B,CAAC;AACzD,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAWlD;;GAEG;AACH,eAAO,MAAM,iBAAiB,uFAG7B,CAAC;AAMF,eAAO,MAAM,uBAAuB,IAAI,CAAC;AACzC,eAAO,MAAM,gCAAgC,IAAI,CAAC;AAClD,eAAO,MAAM,yBAAyB,UAAU,CAAC;AACjD,eAAO,MAAM,mBAAmB,4BAA4B,CAAC;AAC7D,eAAO,MAAM,4BAA4B,4BAA4B,CAAC;AACtE,eAAO,MAAM,4BAA4B,4BAA4B,CAAC;AACtE,eAAO,MAAM,4BAA4B,4BAA4B,CAAC;AACtE,eAAO,MAAM,oCAAoC,oCACd,CAAC;AACpC,eAAO,MAAM,mCAAmC,mCACd,CAAC;AACnC,eAAO,MAAM,kCAAkC,kCACd,CAAC;AAClC,eAAO,MAAM,sCAAsC,sCACd,CAAC;AAEtC,eAAO,MAAM,kCAAkC;;;;iBAI7C,CAAC;AAEH,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAChD,OAAO,kCAAkC,CAC1C,CAAC;AAEF,eAAO,MAAM,+BAA+B;;;;iBAI1C,CAAC;AAEH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAC7C,OAAO,+BAA+B,CACvC,CAAC;AAEF,eAAO,MAAM,wBAAwB;;;;;;;;iBAKnC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAerC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,+BAA+B;;;;;;;;;;;;iBAI1C,CAAC;AAEH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAC7C,OAAO,+BAA+B,CACvC,CAAC;AAEF,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAK3C,CAAC;AAEH,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAC9C,OAAO,gCAAgC,CACxC,CAAC;AAMF,eAAO,MAAM,mBAAmB;;;;;;;;;iBAM9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAMhE,eAAO,MAAM,6BAA6B;;;;;;iBAMxC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAC3C,OAAO,6BAA6B,CACrC,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;iBAMhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;iBAEtC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAwBhF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;mBAIpC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;iBAKjC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;iBAE5C,CAAC;AAEH,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAC/C,OAAO,iCAAiC,CACzC,CAAC;AAEF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;iBAGrC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAGtC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAMhF,eAAO,MAAM,wBAAwB;;;;;iBAKnC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAM1E,eAAO,MAAM,6BAA6B;;;;;;;iBAOxC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAC3C,OAAO,6BAA6B,CACrC,CAAC;AAEF,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;iBAYxC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAC3C,OAAO,6BAA6B,CACrC,CAAC;AAEF,eAAO,MAAM,+BAA+B;;EAE3C,CAAC;AACF,eAAO,MAAM,oCAAoC,oCAEhD,CAAC;AACF,eAAO,MAAM,qCAAqC,mEAGhD,CAAC;AAEH,eAAO,MAAM,kCAAkC;;;;iBAI7C,CAAC;AAEH,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAChD,OAAO,kCAAkC,CAC1C,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAShC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,gBAAgB;;;;;;;;;;iBAO3B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;iBAK3B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,eAAO,MAAM,mCAAmC;;;;;iBAK9C,CAAC;AAEH,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CACjD,OAAO,mCAAmC,CAC3C,CAAC;AAEF,eAAO,MAAM,0BAA0B;;;;;;;;iBAMrC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,+BAA+B;;;;;;;;iBAM1C,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;iBAYrC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,wCAAwC;;;;;;;;;;;;;;;;;;;;iBAuBnD,CAAC;AAEH,MAAM,MAAM,kCAAkC,GAAG,CAAC,CAAC,KAAK,CACtD,OAAO,wCAAwC,CAChD,CAAC;AAEF,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAexC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAC3C,OAAO,6BAA6B,CACrC,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAkC3B,CAAC;AAEL,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAU7C,CAAC;AAEH,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAChD,OAAO,kCAAkC,CAC1C,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAGjC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAMtE,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAIpC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAMrC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC"}
|
package/dist/schemas/sync.js
DELETED
|
@@ -1,361 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @syncular/core - Sync protocol Zod schemas
|
|
3
|
-
*
|
|
4
|
-
* These schemas define the sync protocol types and can be used for:
|
|
5
|
-
* - Runtime validation
|
|
6
|
-
* - OpenAPI spec generation
|
|
7
|
-
* - Type inference
|
|
8
|
-
*/
|
|
9
|
-
import { z } from 'zod';
|
|
10
|
-
import { SYNC_SCOPED_SNAPSHOT_ARTIFACT_KIND_SQLITE_V1, SYNC_SCOPED_SNAPSHOT_ARTIFACT_MANIFEST_VERSION, SYNC_SNAPSHOT_ARTIFACT_COMPRESSION_NONE, SYNC_SNAPSHOT_CHUNK_COMPRESSION, SYNC_SNAPSHOT_CHUNK_ENCODINGS, } from '../snapshot-chunks.js';
|
|
11
|
-
// ============================================================================
|
|
12
|
-
// Operation Types
|
|
13
|
-
// ============================================================================
|
|
14
|
-
export const SyncOpSchema = z.enum(['upsert', 'delete']);
|
|
15
|
-
// ============================================================================
|
|
16
|
-
// Scope Schemas
|
|
17
|
-
// ============================================================================
|
|
18
|
-
/**
|
|
19
|
-
* Stored scopes on a change (single values only)
|
|
20
|
-
*/
|
|
21
|
-
const StoredScopesSchema = z.record(z.string(), z.string());
|
|
22
|
-
/**
|
|
23
|
-
* Scope values in a subscription request (can be arrays)
|
|
24
|
-
*/
|
|
25
|
-
export const ScopeValuesSchema = z.record(z.string(), z.union([z.string(), z.array(z.string())]));
|
|
26
|
-
// ============================================================================
|
|
27
|
-
// Auth Lease Schemas
|
|
28
|
-
// ============================================================================
|
|
29
|
-
export const SYNC_AUTH_LEASE_VERSION = 1;
|
|
30
|
-
export const SYNC_AUTH_LEASE_PROTOCOL_VERSION = 1;
|
|
31
|
-
export const SYNC_AUTH_LEASE_ALG_ES256 = 'ES256';
|
|
32
|
-
export const SYNC_AUTH_LEASE_TYP = 'syncular-auth-lease+jws';
|
|
33
|
-
export const SYNC_AUTH_LEASE_CODE_MISSING = 'sync.auth_lease_missing';
|
|
34
|
-
export const SYNC_AUTH_LEASE_CODE_INVALID = 'sync.auth_lease_invalid';
|
|
35
|
-
export const SYNC_AUTH_LEASE_CODE_EXPIRED = 'sync.auth_lease_expired';
|
|
36
|
-
export const SYNC_AUTH_LEASE_CODE_SCHEMA_MISMATCH = 'sync.auth_lease_schema_mismatch';
|
|
37
|
-
export const SYNC_AUTH_LEASE_CODE_SCOPE_MISMATCH = 'sync.auth_lease_scope_mismatch';
|
|
38
|
-
export const SYNC_AUTH_LEASE_CODE_SCOPE_REVOKED = 'sync.auth_lease_scope_revoked';
|
|
39
|
-
export const SYNC_AUTH_LEASE_CODE_BUSINESS_REJECTED = 'sync.auth_lease_business_rejected';
|
|
40
|
-
export const SyncAuthLeaseProtectedHeaderSchema = z.object({
|
|
41
|
-
alg: z.literal(SYNC_AUTH_LEASE_ALG_ES256),
|
|
42
|
-
kid: z.string().min(1),
|
|
43
|
-
typ: z.literal(SYNC_AUTH_LEASE_TYP),
|
|
44
|
-
});
|
|
45
|
-
export const SyncAuthLeaseCapabilitiesSchema = z.object({
|
|
46
|
-
allowBlobs: z.boolean(),
|
|
47
|
-
allowCrdt: z.boolean(),
|
|
48
|
-
allowEncryptedFields: z.boolean(),
|
|
49
|
-
});
|
|
50
|
-
export const SyncAuthLeaseScopeSchema = z.object({
|
|
51
|
-
subscriptionId: z.string().min(1),
|
|
52
|
-
table: z.string().min(1),
|
|
53
|
-
values: ScopeValuesSchema,
|
|
54
|
-
operations: z.array(SyncOpSchema).min(1),
|
|
55
|
-
});
|
|
56
|
-
export const SyncAuthLeasePayloadSchema = z.object({
|
|
57
|
-
version: z.literal(SYNC_AUTH_LEASE_VERSION),
|
|
58
|
-
leaseId: z.string().min(1),
|
|
59
|
-
issuer: z.string().min(1),
|
|
60
|
-
audience: z.string().min(1),
|
|
61
|
-
actorId: z.string().min(1),
|
|
62
|
-
subject: z.record(z.string(), z.unknown()).default({}),
|
|
63
|
-
schemaVersion: z.number().int().min(1),
|
|
64
|
-
protocolVersion: z.literal(SYNC_AUTH_LEASE_PROTOCOL_VERSION),
|
|
65
|
-
issuedAtMs: z.number().int(),
|
|
66
|
-
notBeforeMs: z.number().int(),
|
|
67
|
-
expiresAtMs: z.number().int(),
|
|
68
|
-
maxClockSkewMs: z.number().int().min(0),
|
|
69
|
-
scopes: z.array(SyncAuthLeaseScopeSchema).min(1),
|
|
70
|
-
capabilities: SyncAuthLeaseCapabilitiesSchema,
|
|
71
|
-
});
|
|
72
|
-
export const SyncAuthLeaseIssueRequestSchema = z.object({
|
|
73
|
-
schemaVersion: z.number().int().min(1),
|
|
74
|
-
ttlMs: z.number().int().positive().optional(),
|
|
75
|
-
scopes: z.array(SyncAuthLeaseScopeSchema).min(1),
|
|
76
|
-
});
|
|
77
|
-
export const SyncAuthLeaseIssueResponseSchema = z.object({
|
|
78
|
-
ok: z.literal(true),
|
|
79
|
-
token: z.string().min(1),
|
|
80
|
-
protectedHeader: SyncAuthLeaseProtectedHeaderSchema,
|
|
81
|
-
payload: SyncAuthLeasePayloadSchema,
|
|
82
|
-
});
|
|
83
|
-
// ============================================================================
|
|
84
|
-
// Sync Operation Schema
|
|
85
|
-
// ============================================================================
|
|
86
|
-
export const SyncOperationSchema = z.object({
|
|
87
|
-
table: z.string(),
|
|
88
|
-
row_id: z.string(),
|
|
89
|
-
op: SyncOpSchema,
|
|
90
|
-
payload: z.record(z.string(), z.unknown()).nullable(),
|
|
91
|
-
base_version: z.number().int().nullable().optional(),
|
|
92
|
-
});
|
|
93
|
-
// ============================================================================
|
|
94
|
-
// Push Request/Response Schemas
|
|
95
|
-
// ============================================================================
|
|
96
|
-
export const SyncAuthLeaseProvenanceSchema = z.object({
|
|
97
|
-
leaseId: z.string().min(1),
|
|
98
|
-
leaseExpiresAtMs: z.number().int(),
|
|
99
|
-
leaseStatusAtEnqueue: z.string().min(1),
|
|
100
|
-
leaseScopeSummaryJson: z.string().optional(),
|
|
101
|
-
leaseToken: z.string().min(1).optional(),
|
|
102
|
-
});
|
|
103
|
-
export const SyncPushRequestSchema = z.object({
|
|
104
|
-
clientId: z.string().min(1),
|
|
105
|
-
clientCommitId: z.string().min(1),
|
|
106
|
-
operations: z.array(SyncOperationSchema).min(1),
|
|
107
|
-
schemaVersion: z.number().int().min(1),
|
|
108
|
-
authLease: SyncAuthLeaseProvenanceSchema.optional(),
|
|
109
|
-
});
|
|
110
|
-
export const SyncPushCommitRequestSchema = SyncPushRequestSchema.omit({
|
|
111
|
-
clientId: true,
|
|
112
|
-
});
|
|
113
|
-
const SyncOperationResultAppliedSchema = z.object({
|
|
114
|
-
opIndex: z.number().int(),
|
|
115
|
-
status: z.literal('applied'),
|
|
116
|
-
});
|
|
117
|
-
const SyncOperationResultConflictSchema = z.object({
|
|
118
|
-
opIndex: z.number().int(),
|
|
119
|
-
status: z.literal('conflict'),
|
|
120
|
-
message: z.string(),
|
|
121
|
-
code: z.string().optional(),
|
|
122
|
-
server_version: z.number().int(),
|
|
123
|
-
server_row: z.unknown(),
|
|
124
|
-
});
|
|
125
|
-
const SyncOperationResultErrorSchema = z.object({
|
|
126
|
-
opIndex: z.number().int(),
|
|
127
|
-
status: z.literal('error'),
|
|
128
|
-
error: z.string(),
|
|
129
|
-
code: z.string().optional(),
|
|
130
|
-
retriable: z.boolean().optional(),
|
|
131
|
-
});
|
|
132
|
-
export const SyncOperationResultSchema = z.union([
|
|
133
|
-
SyncOperationResultAppliedSchema,
|
|
134
|
-
SyncOperationResultConflictSchema,
|
|
135
|
-
SyncOperationResultErrorSchema,
|
|
136
|
-
]);
|
|
137
|
-
export const SyncPushResponseSchema = z.object({
|
|
138
|
-
ok: z.literal(true),
|
|
139
|
-
status: z.enum(['applied', 'cached', 'rejected']),
|
|
140
|
-
commitSeq: z.number().int().optional(),
|
|
141
|
-
results: z.array(SyncOperationResultSchema),
|
|
142
|
-
});
|
|
143
|
-
export const SyncPushBatchCommitResponseSchema = SyncPushResponseSchema.extend({
|
|
144
|
-
clientCommitId: z.string().min(1),
|
|
145
|
-
});
|
|
146
|
-
export const SyncPushBatchRequestSchema = z.object({
|
|
147
|
-
clientId: z.string().min(1),
|
|
148
|
-
commits: z.array(SyncPushCommitRequestSchema).min(1),
|
|
149
|
-
});
|
|
150
|
-
export const SyncPushBatchResponseSchema = z.object({
|
|
151
|
-
ok: z.literal(true),
|
|
152
|
-
commits: z.array(SyncPushBatchCommitResponseSchema),
|
|
153
|
-
});
|
|
154
|
-
// ============================================================================
|
|
155
|
-
// Bootstrap State Schema
|
|
156
|
-
// ============================================================================
|
|
157
|
-
export const SyncBootstrapStateSchema = z.object({
|
|
158
|
-
asOfCommitSeq: z.number().int(),
|
|
159
|
-
tables: z.array(z.string()),
|
|
160
|
-
tableIndex: z.number().int(),
|
|
161
|
-
rowCursor: z.string().nullable(),
|
|
162
|
-
});
|
|
163
|
-
// ============================================================================
|
|
164
|
-
// Pull Request/Response Schemas
|
|
165
|
-
// ============================================================================
|
|
166
|
-
export const SyncCrdtStateVectorHintSchema = z.object({
|
|
167
|
-
rowId: z.string().min(1),
|
|
168
|
-
field: z.string().min(1),
|
|
169
|
-
stateColumn: z.string().min(1),
|
|
170
|
-
stateVectorBase64: z.string().min(1),
|
|
171
|
-
syncMode: z.string().min(1),
|
|
172
|
-
updatedAt: z.number().int(),
|
|
173
|
-
});
|
|
174
|
-
export const SyncSubscriptionRequestSchema = z.object({
|
|
175
|
-
id: z.string().min(1),
|
|
176
|
-
table: z.string().min(1),
|
|
177
|
-
scopes: ScopeValuesSchema,
|
|
178
|
-
params: z.record(z.string(), z.unknown()).optional(),
|
|
179
|
-
cursor: z.number().int(),
|
|
180
|
-
bootstrapState: SyncBootstrapStateSchema.nullable().optional(),
|
|
181
|
-
verifiedRoot: z.string().optional(),
|
|
182
|
-
crdtStateVectors: z
|
|
183
|
-
.array(SyncCrdtStateVectorHintSchema)
|
|
184
|
-
.optional()
|
|
185
|
-
.default([]),
|
|
186
|
-
});
|
|
187
|
-
export const SyncSnapshotChunkEncodingSchema = z.enum(SYNC_SNAPSHOT_CHUNK_ENCODINGS);
|
|
188
|
-
export const SyncScopedSnapshotArtifactKindSchema = z.literal(SYNC_SCOPED_SNAPSHOT_ARTIFACT_KIND_SQLITE_V1);
|
|
189
|
-
export const SyncSnapshotArtifactCompressionSchema = z.union([
|
|
190
|
-
z.literal(SYNC_SNAPSHOT_ARTIFACT_COMPRESSION_NONE),
|
|
191
|
-
z.literal(SYNC_SNAPSHOT_CHUNK_COMPRESSION),
|
|
192
|
-
]);
|
|
193
|
-
export const SyncSnapshotArtifactsRequestSchema = z.object({
|
|
194
|
-
artifactKinds: z.array(SyncScopedSnapshotArtifactKindSchema).min(1),
|
|
195
|
-
compressions: z.array(SyncSnapshotArtifactCompressionSchema).optional(),
|
|
196
|
-
featureSet: z.array(z.string()).optional(),
|
|
197
|
-
});
|
|
198
|
-
export const SyncPullRequestSchema = z.object({
|
|
199
|
-
clientId: z.string().min(1),
|
|
200
|
-
schemaVersion: z.number().int().min(1),
|
|
201
|
-
limitCommits: z.number().int().min(1),
|
|
202
|
-
limitSnapshotRows: z.number().int().min(1).optional(),
|
|
203
|
-
maxSnapshotPages: z.number().int().min(1).optional(),
|
|
204
|
-
dedupeRows: z.boolean().optional(),
|
|
205
|
-
snapshotArtifacts: SyncSnapshotArtifactsRequestSchema.optional(),
|
|
206
|
-
subscriptions: z.array(SyncSubscriptionRequestSchema),
|
|
207
|
-
});
|
|
208
|
-
export const SyncChangeSchema = z.object({
|
|
209
|
-
table: z.string(),
|
|
210
|
-
row_id: z.string(),
|
|
211
|
-
op: SyncOpSchema,
|
|
212
|
-
row_json: z.unknown().nullable(),
|
|
213
|
-
row_version: z.number().int().nullable(),
|
|
214
|
-
scopes: StoredScopesSchema,
|
|
215
|
-
});
|
|
216
|
-
export const SyncCommitSchema = z.object({
|
|
217
|
-
commitSeq: z.number().int(),
|
|
218
|
-
createdAt: z.string(),
|
|
219
|
-
actorId: z.string(),
|
|
220
|
-
changes: z.array(SyncChangeSchema),
|
|
221
|
-
});
|
|
222
|
-
export const SyncPullSubscriptionIntegritySchema = z.object({
|
|
223
|
-
partitionId: z.string(),
|
|
224
|
-
previousChainRoot: z.string(),
|
|
225
|
-
commitChainRoot: z.string(),
|
|
226
|
-
commitSeq: z.number().int(),
|
|
227
|
-
});
|
|
228
|
-
export const SyncSnapshotChunkRefSchema = z.object({
|
|
229
|
-
id: z.string(),
|
|
230
|
-
byteLength: z.number().int(),
|
|
231
|
-
sha256: z.string(),
|
|
232
|
-
encoding: SyncSnapshotChunkEncodingSchema,
|
|
233
|
-
compression: z.literal(SYNC_SNAPSHOT_CHUNK_COMPRESSION),
|
|
234
|
-
});
|
|
235
|
-
export const SyncSnapshotManifestChunkSchema = z.object({
|
|
236
|
-
id: z.string(),
|
|
237
|
-
byteLength: z.number().int(),
|
|
238
|
-
sha256: z.string(),
|
|
239
|
-
encoding: SyncSnapshotChunkEncodingSchema,
|
|
240
|
-
compression: z.literal(SYNC_SNAPSHOT_CHUNK_COMPRESSION),
|
|
241
|
-
});
|
|
242
|
-
export const SyncSnapshotManifestSchema = z.object({
|
|
243
|
-
version: z.literal(1),
|
|
244
|
-
digest: z.string(),
|
|
245
|
-
table: z.string(),
|
|
246
|
-
asOfCommitSeq: z.number().int(),
|
|
247
|
-
scopeDigest: z.string(),
|
|
248
|
-
rowCursor: z.string().nullable(),
|
|
249
|
-
rowLimit: z.number().int().min(1),
|
|
250
|
-
nextRowCursor: z.string().nullable(),
|
|
251
|
-
isFirstPage: z.boolean(),
|
|
252
|
-
isLastPage: z.boolean(),
|
|
253
|
-
chunks: z.array(SyncSnapshotManifestChunkSchema),
|
|
254
|
-
});
|
|
255
|
-
export const SyncScopedSnapshotArtifactManifestSchema = z.object({
|
|
256
|
-
version: z.literal(SYNC_SCOPED_SNAPSHOT_ARTIFACT_MANIFEST_VERSION),
|
|
257
|
-
artifactKind: z.literal(SYNC_SCOPED_SNAPSHOT_ARTIFACT_KIND_SQLITE_V1),
|
|
258
|
-
digest: z.string(),
|
|
259
|
-
partitionId: z.string(),
|
|
260
|
-
subscriptionId: z.string(),
|
|
261
|
-
table: z.string(),
|
|
262
|
-
schemaVersion: z.string(),
|
|
263
|
-
asOfCommitSeq: z.number().int(),
|
|
264
|
-
scopeDigest: z.string(),
|
|
265
|
-
rowCursor: z.string().nullable(),
|
|
266
|
-
rowLimit: z.number().int().min(1),
|
|
267
|
-
rowCount: z.number().int().min(0),
|
|
268
|
-
nextRowCursor: z.string().nullable(),
|
|
269
|
-
isFirstPage: z.boolean(),
|
|
270
|
-
isLastPage: z.boolean(),
|
|
271
|
-
compression: z.union([
|
|
272
|
-
z.literal(SYNC_SNAPSHOT_ARTIFACT_COMPRESSION_NONE),
|
|
273
|
-
z.literal(SYNC_SNAPSHOT_CHUNK_COMPRESSION),
|
|
274
|
-
]),
|
|
275
|
-
byteLength: z.number().int().min(0),
|
|
276
|
-
sha256: z.string(),
|
|
277
|
-
featureSet: z.array(z.string()),
|
|
278
|
-
});
|
|
279
|
-
export const SyncSnapshotArtifactRefSchema = z.object({
|
|
280
|
-
id: z.string(),
|
|
281
|
-
byteLength: z.number().int().min(0),
|
|
282
|
-
sha256: z.string(),
|
|
283
|
-
manifestDigest: z.string(),
|
|
284
|
-
artifactKind: z.literal(SYNC_SCOPED_SNAPSHOT_ARTIFACT_KIND_SQLITE_V1),
|
|
285
|
-
compression: z.union([
|
|
286
|
-
z.literal(SYNC_SNAPSHOT_ARTIFACT_COMPRESSION_NONE),
|
|
287
|
-
z.literal(SYNC_SNAPSHOT_CHUNK_COMPRESSION),
|
|
288
|
-
]),
|
|
289
|
-
rowCount: z.number().int().min(0),
|
|
290
|
-
nextRowCursor: z.string().nullable(),
|
|
291
|
-
isFirstPage: z.boolean(),
|
|
292
|
-
isLastPage: z.boolean(),
|
|
293
|
-
manifest: SyncScopedSnapshotArtifactManifestSchema,
|
|
294
|
-
});
|
|
295
|
-
export const SyncSnapshotSchema = z
|
|
296
|
-
.object({
|
|
297
|
-
table: z.string(),
|
|
298
|
-
rows: z.array(z.unknown()),
|
|
299
|
-
chunks: z.array(SyncSnapshotChunkRefSchema).optional(),
|
|
300
|
-
manifest: SyncSnapshotManifestSchema.optional(),
|
|
301
|
-
artifacts: z.array(SyncSnapshotArtifactRefSchema).optional(),
|
|
302
|
-
isFirstPage: z.boolean(),
|
|
303
|
-
isLastPage: z.boolean(),
|
|
304
|
-
bootstrapStateAfter: SyncBootstrapStateSchema.nullable().optional(),
|
|
305
|
-
})
|
|
306
|
-
.superRefine((snapshot, ctx) => {
|
|
307
|
-
if (!snapshot.artifacts || snapshot.artifacts.length === 0)
|
|
308
|
-
return;
|
|
309
|
-
if (snapshot.rows.length > 0) {
|
|
310
|
-
ctx.addIssue({
|
|
311
|
-
code: z.ZodIssueCode.custom,
|
|
312
|
-
path: ['rows'],
|
|
313
|
-
message: 'Snapshot artifacts cannot be mixed with inline rows',
|
|
314
|
-
});
|
|
315
|
-
}
|
|
316
|
-
if (snapshot.chunks && snapshot.chunks.length > 0) {
|
|
317
|
-
ctx.addIssue({
|
|
318
|
-
code: z.ZodIssueCode.custom,
|
|
319
|
-
path: ['chunks'],
|
|
320
|
-
message: 'Snapshot artifacts cannot be mixed with chunk refs',
|
|
321
|
-
});
|
|
322
|
-
}
|
|
323
|
-
if (snapshot.manifest) {
|
|
324
|
-
ctx.addIssue({
|
|
325
|
-
code: z.ZodIssueCode.custom,
|
|
326
|
-
path: ['manifest'],
|
|
327
|
-
message: 'Snapshot artifacts cannot be mixed with chunk manifests',
|
|
328
|
-
});
|
|
329
|
-
}
|
|
330
|
-
});
|
|
331
|
-
export const SyncPullSubscriptionResponseSchema = z.object({
|
|
332
|
-
id: z.string(),
|
|
333
|
-
status: z.enum(['active', 'revoked']),
|
|
334
|
-
scopes: ScopeValuesSchema,
|
|
335
|
-
bootstrap: z.boolean(),
|
|
336
|
-
bootstrapState: SyncBootstrapStateSchema.nullable().optional(),
|
|
337
|
-
nextCursor: z.number().int(),
|
|
338
|
-
integrity: SyncPullSubscriptionIntegritySchema.optional(),
|
|
339
|
-
commits: z.array(SyncCommitSchema),
|
|
340
|
-
snapshots: z.array(SyncSnapshotSchema).optional(),
|
|
341
|
-
});
|
|
342
|
-
export const SyncPullResponseSchema = z.object({
|
|
343
|
-
ok: z.literal(true),
|
|
344
|
-
subscriptions: z.array(SyncPullSubscriptionResponseSchema),
|
|
345
|
-
});
|
|
346
|
-
// ============================================================================
|
|
347
|
-
// Combined Sync Request/Response Schemas
|
|
348
|
-
// ============================================================================
|
|
349
|
-
export const SyncCombinedRequestSchema = z.object({
|
|
350
|
-
clientId: z.string().min(1),
|
|
351
|
-
push: SyncPushBatchRequestSchema.omit({ clientId: true }).optional(),
|
|
352
|
-
pull: SyncPullRequestSchema.omit({ clientId: true }).optional(),
|
|
353
|
-
});
|
|
354
|
-
export const SyncCombinedResponseSchema = z.object({
|
|
355
|
-
ok: z.literal(true),
|
|
356
|
-
requiredSchemaVersion: z.number().int().min(1).optional(),
|
|
357
|
-
latestSchemaVersion: z.number().int().min(1).optional(),
|
|
358
|
-
push: SyncPushBatchResponseSchema.optional(),
|
|
359
|
-
pull: SyncPullResponseSchema.optional(),
|
|
360
|
-
});
|
|
361
|
-
//# sourceMappingURL=sync.js.map
|
package/dist/schemas/sync.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/schemas/sync.ts"],"names":[],"mappings":"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"}
|
package/dist/scopes/index.d.ts
DELETED
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @syncular/core - Scope types, patterns, and utilities
|
|
3
|
-
*
|
|
4
|
-
* Scope patterns define how data is partitioned for sync.
|
|
5
|
-
* Scopes are stored as JSONB on changes for flexible filtering.
|
|
6
|
-
* Patterns use `{placeholder}` syntax to extract or inject values.
|
|
7
|
-
*/
|
|
8
|
-
/**
|
|
9
|
-
* Scope pattern string, e.g., 'user:{user_id}', 'project:{project_id}'
|
|
10
|
-
*/
|
|
11
|
-
export type ScopePattern = string;
|
|
12
|
-
/**
|
|
13
|
-
* Scope value for a single scope key.
|
|
14
|
-
*/
|
|
15
|
-
export type ScopeValue = string | string[];
|
|
16
|
-
/**
|
|
17
|
-
* Scope values - the actual values for scope variables.
|
|
18
|
-
* Values can be single strings or arrays (for multi-value subscriptions).
|
|
19
|
-
*
|
|
20
|
-
* @example
|
|
21
|
-
* { user_id: 'U1' }
|
|
22
|
-
* { project_id: ['P1', 'P2'] }
|
|
23
|
-
* { year: '2025', month: '03' }
|
|
24
|
-
*/
|
|
25
|
-
export type ScopeValues = Record<string, ScopeValue>;
|
|
26
|
-
/**
|
|
27
|
-
* Stored scopes on a change - always single values (not arrays).
|
|
28
|
-
* This is what gets stored in the JSONB column.
|
|
29
|
-
*
|
|
30
|
-
* @example
|
|
31
|
-
* { user_id: 'U1', project_id: 'P1' }
|
|
32
|
-
*/
|
|
33
|
-
export type StoredScopes = Record<string, string>;
|
|
34
|
-
/**
|
|
35
|
-
* Extract scope keys from a scope pattern at the type level.
|
|
36
|
-
*
|
|
37
|
-
* @example
|
|
38
|
-
* ScopeKeysFromPattern<'user:{user_id}'> // 'user_id'
|
|
39
|
-
* ScopeKeysFromPattern<'event:{year}:{month}'> // 'year' | 'month'
|
|
40
|
-
*/
|
|
41
|
-
export type ScopeKeysFromPattern<Pattern extends ScopePattern> = string extends Pattern ? string : Pattern extends `${string}{${infer Key}}${infer Rest}` ? Key | ScopeKeysFromPattern<Rest> : never;
|
|
42
|
-
/**
|
|
43
|
-
* Resolve the pattern string from a scope definition.
|
|
44
|
-
*/
|
|
45
|
-
export type ScopePatternFromDefinition<Definition extends ScopeDefinition> = Definition extends ScopePattern ? Definition : Definition extends {
|
|
46
|
-
pattern: infer Pattern extends ScopePattern;
|
|
47
|
-
} ? Pattern : never;
|
|
48
|
-
/**
|
|
49
|
-
* Extract scope keys from a list of scope definitions.
|
|
50
|
-
*/
|
|
51
|
-
export type ScopeKeysFromDefinitions<Definitions extends readonly ScopeDefinition[]> = ScopeKeysFromPattern<ScopePatternFromDefinition<Definitions[number]>>;
|
|
52
|
-
/**
|
|
53
|
-
* Scope values constrained to known scope keys.
|
|
54
|
-
*
|
|
55
|
-
* Unknown keys are rejected at compile-time when literals are used.
|
|
56
|
-
*/
|
|
57
|
-
export type ScopeValuesForKeys<ScopeKeys extends string> = Partial<Record<ScopeKeys, ScopeValue>>;
|
|
58
|
-
/**
|
|
59
|
-
* Scope values inferred from scope definitions.
|
|
60
|
-
*/
|
|
61
|
-
export type ScopeValuesFromPatterns<Definitions extends readonly ScopeDefinition[]> = ScopeValuesForKeys<ScopeKeysFromDefinitions<Definitions>>;
|
|
62
|
-
/**
|
|
63
|
-
* Stored scopes constrained to known scope keys.
|
|
64
|
-
*/
|
|
65
|
-
export type StoredScopesForKeys<ScopeKeys extends string> = Partial<Record<ScopeKeys, string>>;
|
|
66
|
-
/**
|
|
67
|
-
* Simplified scope definition.
|
|
68
|
-
* Can be a simple pattern string or an object with explicit column mapping.
|
|
69
|
-
*
|
|
70
|
-
* @example
|
|
71
|
-
* ```typescript
|
|
72
|
-
* // Simple: pattern column is auto-derived
|
|
73
|
-
* scopes: ['user:{user_id}', 'org:{org_id}']
|
|
74
|
-
*
|
|
75
|
-
* // Explicit: when column differs from pattern variable
|
|
76
|
-
* scopes: [
|
|
77
|
-
* { pattern: 'user:{user_id}', column: 'owner_id' }
|
|
78
|
-
* ]
|
|
79
|
-
* ```
|
|
80
|
-
*/
|
|
81
|
-
export type ScopeDefinition = ScopePattern | {
|
|
82
|
-
pattern: ScopePattern;
|
|
83
|
-
column: string;
|
|
84
|
-
};
|
|
85
|
-
/**
|
|
86
|
-
* Keep scope definitions as a typed tuple for downstream inference.
|
|
87
|
-
*
|
|
88
|
-
* @example
|
|
89
|
-
* const scopes = defineScopePatterns(['user:{user_id}'] as const);
|
|
90
|
-
*/
|
|
91
|
-
export declare function defineScopePatterns<const Definitions extends readonly ScopeDefinition[]>(scopes: Definitions): Definitions;
|
|
92
|
-
/**
|
|
93
|
-
* Normalize scope definitions to a pattern-to-column map.
|
|
94
|
-
*
|
|
95
|
-
* @example
|
|
96
|
-
* normalizeScopes(['user:{user_id}'])
|
|
97
|
-
* // → { 'user:{user_id}': 'user_id' }
|
|
98
|
-
*/
|
|
99
|
-
export declare function normalizeScopes(scopes: readonly ScopeDefinition[]): Record<ScopePattern, string>;
|
|
100
|
-
export declare function createSingleVariableScopeMetadata(scopes: readonly ScopeDefinition[]): {
|
|
101
|
-
scopePatterns: ScopePattern[];
|
|
102
|
-
scopeColumnsByVariable: Record<string, string>;
|
|
103
|
-
};
|
|
104
|
-
/**
|
|
105
|
-
* Extract variable names from a scope pattern.
|
|
106
|
-
*
|
|
107
|
-
* @example
|
|
108
|
-
* extractScopeVars('project:{project_id}') // ['project_id']
|
|
109
|
-
* extractScopeVars('event_date:{year}:{month}') // ['year', 'month']
|
|
110
|
-
*/
|
|
111
|
-
export declare function extractScopeVars(pattern: ScopePattern): string[];
|
|
112
|
-
export declare function collectScopeVars(scopePatterns: readonly ScopePattern[]): Set<string>;
|
|
113
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/scopes/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC;AAElC;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC;AAE3C;;;;;;;;GAQG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAErD;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAElD;;;;;;GAMG;AACH,MAAM,MAAM,oBAAoB,CAAC,OAAO,SAAS,YAAY,IAC3D,MAAM,SAAS,OAAO,GAClB,MAAM,GACN,OAAO,SAAS,GAAG,MAAM,IAAI,MAAM,GAAG,IAAI,MAAM,IAAI,EAAE,GACpD,GAAG,GAAG,oBAAoB,CAAC,IAAI,CAAC,GAChC,KAAK,CAAC;AAEd;;GAEG;AACH,MAAM,MAAM,0BAA0B,CAAC,UAAU,SAAS,eAAe,IACvE,UAAU,SAAS,YAAY,GAC3B,UAAU,GACV,UAAU,SAAS;IAAE,OAAO,EAAE,MAAM,OAAO,SAAS,YAAY,CAAA;CAAE,GAChE,OAAO,GACP,KAAK,CAAC;AAEd;;GAEG;AACH,MAAM,MAAM,wBAAwB,CAClC,WAAW,SAAS,SAAS,eAAe,EAAE,IAC5C,oBAAoB,CAAC,0BAA0B,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAE1E;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,CAAC,SAAS,SAAS,MAAM,IAAI,OAAO,CAChE,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,CAC9B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,uBAAuB,CACjC,WAAW,SAAS,SAAS,eAAe,EAAE,IAC5C,kBAAkB,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC,CAAC;AAE9D;;GAEG;AACH,MAAM,MAAM,mBAAmB,CAAC,SAAS,SAAS,MAAM,IAAI,OAAO,CACjE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAC1B,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,eAAe,GACvB,YAAY,GACZ;IAAE,OAAO,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9C;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,CAAC,WAAW,SAAS,SAAS,eAAe,EAAE,EACpD,MAAM,EAAE,WAAW,GAAG,WAAW,CAElC;AA+BD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,SAAS,eAAe,EAAE,GACjC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAgB9B;AAED,wBAAgB,iCAAiC,CAC/C,MAAM,EAAE,SAAS,eAAe,EAAE,GACjC;IACD,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChD,CAuBA;AAID;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,EAAE,CAIhE;AAED,wBAAgB,gBAAgB,CAC9B,aAAa,EAAE,SAAS,YAAY,EAAE,GACrC,GAAG,CAAC,MAAM,CAAC,CAQb"}
|
package/dist/scopes/index.js
DELETED
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @syncular/core - Scope types, patterns, and utilities
|
|
3
|
-
*
|
|
4
|
-
* Scope patterns define how data is partitioned for sync.
|
|
5
|
-
* Scopes are stored as JSONB on changes for flexible filtering.
|
|
6
|
-
* Patterns use `{placeholder}` syntax to extract or inject values.
|
|
7
|
-
*/
|
|
8
|
-
/**
|
|
9
|
-
* Keep scope definitions as a typed tuple for downstream inference.
|
|
10
|
-
*
|
|
11
|
-
* @example
|
|
12
|
-
* const scopes = defineScopePatterns(['user:{user_id}'] as const);
|
|
13
|
-
*/
|
|
14
|
-
export function defineScopePatterns(scopes) {
|
|
15
|
-
return scopes;
|
|
16
|
-
}
|
|
17
|
-
// ── Pattern parsing (internal helpers) ───────────────────────────────
|
|
18
|
-
/**
|
|
19
|
-
* Extract the placeholder name from a pattern.
|
|
20
|
-
* Returns null if the pattern doesn't contain a valid placeholder.
|
|
21
|
-
*/
|
|
22
|
-
function extractPlaceholder(pattern) {
|
|
23
|
-
const match = pattern.match(/^(.*?)\{(\w+)\}(.*)$/);
|
|
24
|
-
if (!match)
|
|
25
|
-
return null;
|
|
26
|
-
return {
|
|
27
|
-
prefix: match[1],
|
|
28
|
-
placeholder: match[2],
|
|
29
|
-
suffix: match[3],
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Extract the placeholder name from a pattern.
|
|
34
|
-
*/
|
|
35
|
-
function getPlaceholderName(pattern) {
|
|
36
|
-
const parsed = extractPlaceholder(pattern);
|
|
37
|
-
return parsed?.placeholder ?? null;
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Normalize scope definitions to a pattern-to-column map.
|
|
41
|
-
*
|
|
42
|
-
* @example
|
|
43
|
-
* normalizeScopes(['user:{user_id}'])
|
|
44
|
-
* // → { 'user:{user_id}': 'user_id' }
|
|
45
|
-
*/
|
|
46
|
-
export function normalizeScopes(scopes) {
|
|
47
|
-
const result = {};
|
|
48
|
-
for (const scope of scopes) {
|
|
49
|
-
if (typeof scope === 'string') {
|
|
50
|
-
const placeholder = getPlaceholderName(scope);
|
|
51
|
-
if (!placeholder) {
|
|
52
|
-
throw new Error(`Scope pattern "${scope}" must contain a placeholder like {column_name}`);
|
|
53
|
-
}
|
|
54
|
-
result[scope] = placeholder;
|
|
55
|
-
}
|
|
56
|
-
else {
|
|
57
|
-
result[scope.pattern] = scope.column;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
return result;
|
|
61
|
-
}
|
|
62
|
-
export function createSingleVariableScopeMetadata(scopes) {
|
|
63
|
-
const scopeColumnMap = normalizeScopes(scopes);
|
|
64
|
-
const scopePatterns = Object.keys(scopeColumnMap);
|
|
65
|
-
const scopeColumnsByVariable = {};
|
|
66
|
-
for (const [pattern, columnName] of Object.entries(scopeColumnMap)) {
|
|
67
|
-
const vars = extractScopeVars(pattern);
|
|
68
|
-
if (vars.length !== 1) {
|
|
69
|
-
throw new Error(`Scope pattern "${pattern}" must contain exactly one placeholder (got ${vars.length}).`);
|
|
70
|
-
}
|
|
71
|
-
const variableName = vars[0];
|
|
72
|
-
const existingColumn = scopeColumnsByVariable[variableName];
|
|
73
|
-
if (existingColumn && existingColumn !== columnName) {
|
|
74
|
-
throw new Error(`Scope variable "${variableName}" is mapped to multiple columns: "${existingColumn}" and "${columnName}".`);
|
|
75
|
-
}
|
|
76
|
-
scopeColumnsByVariable[variableName] = columnName;
|
|
77
|
-
}
|
|
78
|
-
return { scopePatterns, scopeColumnsByVariable };
|
|
79
|
-
}
|
|
80
|
-
// ── Value operations (public) ────────────────────────────────────────
|
|
81
|
-
/**
|
|
82
|
-
* Extract variable names from a scope pattern.
|
|
83
|
-
*
|
|
84
|
-
* @example
|
|
85
|
-
* extractScopeVars('project:{project_id}') // ['project_id']
|
|
86
|
-
* extractScopeVars('event_date:{year}:{month}') // ['year', 'month']
|
|
87
|
-
*/
|
|
88
|
-
export function extractScopeVars(pattern) {
|
|
89
|
-
const matches = pattern.match(/\{([^}]+)\}/g);
|
|
90
|
-
if (!matches)
|
|
91
|
-
return [];
|
|
92
|
-
return matches.map((m) => m.slice(1, -1));
|
|
93
|
-
}
|
|
94
|
-
export function collectScopeVars(scopePatterns) {
|
|
95
|
-
const keys = new Set();
|
|
96
|
-
for (const pattern of scopePatterns) {
|
|
97
|
-
for (const key of extractScopeVars(pattern)) {
|
|
98
|
-
keys.add(key);
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
return keys;
|
|
102
|
-
}
|
|
103
|
-
//# sourceMappingURL=index.js.map
|
package/dist/scopes/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/scopes/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA2GH;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAEjC,MAAmB;IACnB,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,wEAAwE;AAExE;;;GAGG;AACH,SAAS,kBAAkB,CAAC,OAAe;IAKzC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IACpD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAExB,OAAO;QACL,MAAM,EAAE,KAAK,CAAC,CAAC,CAAE;QACjB,WAAW,EAAE,KAAK,CAAC,CAAC,CAAE;QACtB,MAAM,EAAE,KAAK,CAAC,CAAC,CAAE;KAClB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CAAC,OAAe;IACzC,MAAM,MAAM,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC3C,OAAO,MAAM,EAAE,WAAW,IAAI,IAAI,CAAC;AACrC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAC7B,MAAkC;IAElC,MAAM,MAAM,GAAiC,EAAE,CAAC;IAChD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,WAAW,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAC9C,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CACb,kBAAkB,KAAK,iDAAiD,CACzE,CAAC;YACJ,CAAC;YACD,MAAM,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;QACvC,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,iCAAiC,CAC/C,MAAkC;IAKlC,MAAM,cAAc,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAmB,CAAC;IACpE,MAAM,sBAAsB,GAA2B,EAAE,CAAC;IAE1D,KAAK,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;QACnE,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CACb,kBAAkB,OAAO,+CAA+C,IAAI,CAAC,MAAM,IAAI,CACxF,CAAC;QACJ,CAAC;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;QAC9B,MAAM,cAAc,GAAG,sBAAsB,CAAC,YAAY,CAAC,CAAC;QAC5D,IAAI,cAAc,IAAI,cAAc,KAAK,UAAU,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CACb,mBAAmB,YAAY,qCAAqC,cAAc,UAAU,UAAU,IAAI,CAC3G,CAAC;QACJ,CAAC;QACD,sBAAsB,CAAC,YAAY,CAAC,GAAG,UAAU,CAAC;IACpD,CAAC;IAED,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,CAAC;AACnD,CAAC;AAED,wEAAwE;AAExE;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAqB;IACpD,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAC9C,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACxB,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,aAAsC;IAEtC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,OAAO,IAAI,aAAa,EAAE,CAAC;QACpC,KAAK,MAAM,GAAG,IAAI,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
package/dist/sentry.d.ts
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import type { SyncMetricOptions, SyncSpanOptions, SyncTelemetry, SyncTelemetryAttributes, SyncTelemetryAttributeValue } from '@syncular/core';
|
|
2
|
-
interface SentryLoggerAdapter {
|
|
3
|
-
trace?(message: string, attributes?: Record<string, unknown>): void;
|
|
4
|
-
debug?(message: string, attributes?: Record<string, unknown>): void;
|
|
5
|
-
info?(message: string, attributes?: Record<string, unknown>): void;
|
|
6
|
-
warn?(message: string, attributes?: Record<string, unknown>): void;
|
|
7
|
-
error?(message: string, attributes?: Record<string, unknown>): void;
|
|
8
|
-
fatal?(message: string, attributes?: Record<string, unknown>): void;
|
|
9
|
-
}
|
|
10
|
-
interface SentrySpanAdapter {
|
|
11
|
-
setAttribute?(name: string, value: SyncTelemetryAttributeValue): void;
|
|
12
|
-
setAttributes?(attributes: SyncTelemetryAttributes): void;
|
|
13
|
-
setStatus?(status: 'ok' | 'error' | string): void;
|
|
14
|
-
}
|
|
15
|
-
interface SentryMetricsAdapter {
|
|
16
|
-
count?(name: string, value: number, options?: SyncMetricOptions): void;
|
|
17
|
-
gauge?(name: string, value: number, options?: SyncMetricOptions): void;
|
|
18
|
-
distribution?(name: string, value: number, options?: SyncMetricOptions): void;
|
|
19
|
-
}
|
|
20
|
-
export interface SentryTelemetryAdapter {
|
|
21
|
-
logger?: SentryLoggerAdapter;
|
|
22
|
-
startSpan?<T>(options: SyncSpanOptions, callback: (span: SentrySpanAdapter) => T): T;
|
|
23
|
-
metrics?: SentryMetricsAdapter;
|
|
24
|
-
captureException?(error: unknown): void;
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Create a Syncular telemetry adapter backed by Sentry primitives.
|
|
28
|
-
*/
|
|
29
|
-
export declare function createSentrySyncTelemetry(adapter: SentryTelemetryAdapter): SyncTelemetry;
|
|
30
|
-
export {};
|
|
31
|
-
//# sourceMappingURL=sentry.d.ts.map
|