@trainstar/synchro-react-native 0.1.2 → 0.3.1

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 (62) hide show
  1. package/README.md +103 -24
  2. package/SynchroReactNative.podspec +3 -2
  3. package/android/build.gradle +8 -3
  4. package/android/src/main/kotlin/com/trainstar/synchro/rn/SynchroModule.kt +1105 -238
  5. package/ios/SynchroModule.mm +178 -51
  6. package/ios/SynchroModule.swift +1382 -295
  7. package/lib/module/NativeSynchro.js +5 -0
  8. package/lib/module/NativeSynchro.js.map +1 -1
  9. package/lib/module/SynchroClient.js +637 -65
  10. package/lib/module/SynchroClient.js.map +1 -1
  11. package/lib/module/digest.js +82 -0
  12. package/lib/module/digest.js.map +1 -0
  13. package/lib/module/errors.js +165 -22
  14. package/lib/module/errors.js.map +1 -1
  15. package/lib/module/hooks/useQuery.js +37 -3
  16. package/lib/module/hooks/useQuery.js.map +1 -1
  17. package/lib/module/hooks/useSyncStatus.js +51 -6
  18. package/lib/module/hooks/useSyncStatus.js.map +1 -1
  19. package/lib/module/index.js +2 -1
  20. package/lib/module/index.js.map +1 -1
  21. package/lib/module/inspection.js +121 -0
  22. package/lib/module/inspection.js.map +1 -0
  23. package/lib/module/sqliteValues.js +87 -0
  24. package/lib/module/sqliteValues.js.map +1 -0
  25. package/lib/module/types.js +10 -0
  26. package/lib/module/types.js.map +1 -1
  27. package/lib/typescript/example/e2e/corpus-harness.d.ts +34 -0
  28. package/lib/typescript/example/e2e/corpus-harness.d.ts.map +1 -0
  29. package/lib/typescript/example/src/conformance/runner.d.ts +125 -0
  30. package/lib/typescript/example/src/conformance/runner.d.ts.map +1 -0
  31. package/lib/typescript/example/src/conformance/types.d.ts +71 -0
  32. package/lib/typescript/example/src/conformance/types.d.ts.map +1 -0
  33. package/lib/typescript/src/NativeSynchro.d.ts +59 -17
  34. package/lib/typescript/src/NativeSynchro.d.ts.map +1 -1
  35. package/lib/typescript/src/SynchroClient.d.ts +27 -10
  36. package/lib/typescript/src/SynchroClient.d.ts.map +1 -1
  37. package/lib/typescript/src/digest.d.ts +3 -0
  38. package/lib/typescript/src/digest.d.ts.map +1 -0
  39. package/lib/typescript/src/errors.d.ts +37 -9
  40. package/lib/typescript/src/errors.d.ts.map +1 -1
  41. package/lib/typescript/src/hooks/useQuery.d.ts +2 -2
  42. package/lib/typescript/src/hooks/useQuery.d.ts.map +1 -1
  43. package/lib/typescript/src/hooks/useSyncStatus.d.ts.map +1 -1
  44. package/lib/typescript/src/index.d.ts +4 -3
  45. package/lib/typescript/src/index.d.ts.map +1 -1
  46. package/lib/typescript/src/inspection.d.ts +43 -0
  47. package/lib/typescript/src/inspection.d.ts.map +1 -0
  48. package/lib/typescript/src/sqliteValues.d.ts +8 -0
  49. package/lib/typescript/src/sqliteValues.d.ts.map +1 -0
  50. package/lib/typescript/src/types.d.ts +203 -11
  51. package/lib/typescript/src/types.d.ts.map +1 -1
  52. package/package.json +20 -8
  53. package/src/NativeSynchro.ts +93 -26
  54. package/src/SynchroClient.ts +899 -120
  55. package/src/digest.ts +93 -0
  56. package/src/errors.ts +273 -33
  57. package/src/hooks/useQuery.ts +59 -16
  58. package/src/hooks/useSyncStatus.ts +40 -7
  59. package/src/index.ts +44 -3
  60. package/src/inspection.ts +226 -0
  61. package/src/sqliteValues.ts +105 -0
  62. package/src/types.ts +317 -16
@@ -1,8 +1,16 @@
1
1
  import type { TurboModule } from 'react-native';
2
- import type { EventEmitter } from 'react-native/Libraries/Types/CodegenTypes';
2
+ import type { EventEmitter, UnsafeObject } from 'react-native/Libraries/Types/CodegenTypes';
3
+ type NativeSQLiteBindValue = string | number | boolean | null | UnsafeObject;
4
+ type NativeRow = UnsafeObject;
5
+ type NativeSQLStatement = {
6
+ sql: string;
7
+ params: ReadonlyArray<NativeSQLiteBindValue>;
8
+ };
3
9
  type StatusEvent = {
4
10
  status: string;
5
11
  retryAt: string | null;
12
+ operation: string | null;
13
+ failure: UnsafeObject | null;
6
14
  };
7
15
  type ConflictEvent = {
8
16
  table: string;
@@ -10,10 +18,25 @@ type ConflictEvent = {
10
18
  clientDataJson: string | null;
11
19
  serverDataJson: string | null;
12
20
  };
13
- type AuthRequestEvent = {
14
- requestID: string;
21
+ type SyncEvent = {
22
+ type: string;
23
+ from: string | null;
24
+ to: string | null;
25
+ operation: string | null;
26
+ attempt: number | null;
27
+ retryAt: string | null;
28
+ source: UnsafeObject | null;
29
+ target: UnsafeObject | null;
30
+ action: string | null;
31
+ mutationID: string | null;
32
+ tableID: string | null;
33
+ mutationStatus: string | null;
34
+ rejectionCode: string | null;
35
+ scopeID: string | null;
36
+ rebuildID: string | null;
37
+ failure: UnsafeObject | null;
15
38
  };
16
- type SnapshotRequiredEvent = {
39
+ type AuthRequestEvent = {
17
40
  requestID: string;
18
41
  };
19
42
  type ChangeEvent = {
@@ -21,7 +44,7 @@ type ChangeEvent = {
21
44
  };
22
45
  type QueryResultEvent = {
23
46
  observerID: string;
24
- rowsJson: string;
47
+ rows: ReadonlyArray<NativeRow>;
25
48
  };
26
49
  export interface Spec extends TurboModule {
27
50
  initialize(config: {
@@ -35,23 +58,28 @@ export interface Spec extends TurboModule {
35
58
  maxRetryAttempts: number;
36
59
  pullPageSize: number;
37
60
  pushBatchSize: number;
38
- snapshotPageSize: number;
61
+ seedDatabasePath?: string;
62
+ transportObservationCapacity: number;
63
+ requireNewDatabase: boolean;
39
64
  }): Promise<void>;
40
65
  close(): Promise<void>;
41
66
  getPath(): Promise<string>;
42
- query(sql: string, paramsJson: string): Promise<string>;
43
- queryOne(sql: string, paramsJson: string): Promise<string | null>;
44
- execute(sql: string, paramsJson: string): Promise<{
67
+ query(sql: string, params: ReadonlyArray<NativeSQLiteBindValue>): Promise<ReadonlyArray<NativeRow>>;
68
+ queryOne(sql: string, params: ReadonlyArray<NativeSQLiteBindValue>): Promise<NativeRow | null>;
69
+ execute(sql: string, params: ReadonlyArray<NativeSQLiteBindValue>): Promise<{
70
+ rowsAffected: number;
71
+ }>;
72
+ executeAuthoredWrite(tableName: string, operation: string, columnNames: ReadonlyArray<string>, sql: string, values: ReadonlyArray<NativeSQLiteBindValue>): Promise<{
45
73
  rowsAffected: number;
46
74
  }>;
47
- executeBatch(statementsJson: string): Promise<{
75
+ executeBatch(statements: ReadonlyArray<NativeSQLStatement>): Promise<{
48
76
  totalRowsAffected: number;
49
77
  }>;
50
78
  beginWriteTransaction(): Promise<string>;
51
79
  beginReadTransaction(): Promise<string>;
52
- txQuery(txID: string, sql: string, paramsJson: string): Promise<string>;
53
- txQueryOne(txID: string, sql: string, paramsJson: string): Promise<string | null>;
54
- txExecute(txID: string, sql: string, paramsJson: string): Promise<{
80
+ txQuery(txID: string, sql: string, params: ReadonlyArray<NativeSQLiteBindValue>): Promise<ReadonlyArray<NativeRow>>;
81
+ txQueryOne(txID: string, sql: string, params: ReadonlyArray<NativeSQLiteBindValue>): Promise<NativeRow | null>;
82
+ txExecute(txID: string, sql: string, params: ReadonlyArray<NativeSQLiteBindValue>): Promise<{
55
83
  rowsAffected: number;
56
84
  }>;
57
85
  commitTransaction(txID: string): Promise<void>;
@@ -60,20 +88,34 @@ export interface Spec extends TurboModule {
60
88
  alterTable(name: string, columnsJson: string): Promise<void>;
61
89
  createIndex(table: string, columns: ReadonlyArray<string>, unique: boolean): Promise<void>;
62
90
  addChangeObserver(observerID: string, tables: ReadonlyArray<string>): Promise<void>;
63
- addQueryObserver(observerID: string, sql: string, paramsJson: string, tables: ReadonlyArray<string>): Promise<void>;
91
+ addQueryObserver(observerID: string, sql: string, params: ReadonlyArray<NativeSQLiteBindValue>, tables: ReadonlyArray<string>): Promise<void>;
64
92
  removeObserver(observerID: string): Promise<void>;
65
- checkpoint(mode: string): Promise<void>;
66
93
  start(): Promise<void>;
67
94
  stop(): Promise<void>;
95
+ enterBackground(): Promise<void>;
96
+ enterForeground(): Promise<void>;
97
+ retryAfterError(): Promise<void>;
98
+ resetSchemaAndStart(): Promise<void>;
68
99
  syncNow(): Promise<void>;
69
100
  pendingChangeCount(): Promise<number>;
101
+ getSyncStatus(): Promise<string>;
102
+ inspectPendingMutations(): Promise<string>;
103
+ inspectRetainedMutations(): Promise<string>;
104
+ inspectRejectedMutations(): Promise<string>;
105
+ inspectClientState(): Promise<string>;
106
+ inspectDurableState(tableName: string, recordID: string): Promise<string>;
107
+ inspectTransportObservations(): Promise<string>;
108
+ armTransportPause(operationClass: string): Promise<void>;
109
+ awaitTransportPause(operationClass: string, timeoutMs: number): Promise<void>;
110
+ resumeTransportPause(): Promise<void>;
111
+ getProcessIdentity(): Promise<string>;
112
+ clearRejectedMutations(): Promise<void>;
70
113
  resolveAuthRequest(requestID: string, token: string): void;
71
114
  rejectAuthRequest(requestID: string, error: string): void;
72
- resolveSnapshotRequest(requestID: string, approved: boolean): void;
73
115
  readonly onStatusChange: EventEmitter<StatusEvent>;
116
+ readonly onSyncEvent: EventEmitter<SyncEvent>;
74
117
  readonly onConflict: EventEmitter<ConflictEvent>;
75
118
  readonly onAuthRequest: EventEmitter<AuthRequestEvent>;
76
- readonly onSnapshotRequired: EventEmitter<SnapshotRequiredEvent>;
77
119
  readonly onChange: EventEmitter<ChangeEvent>;
78
120
  readonly onQueryResult: EventEmitter<QueryResultEvent>;
79
121
  addListener(eventName: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"NativeSynchro.d.ts","sourceRoot":"","sources":["../../../src/NativeSynchro.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AAG9E,KAAK,WAAW,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC;AAC9D,KAAK,aAAa,GAAG;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B,CAAC;AACF,KAAK,gBAAgB,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AAC9C,KAAK,qBAAqB,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AACnD,KAAK,WAAW,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AAC1C,KAAK,gBAAgB,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjE,MAAM,WAAW,IAAK,SAAQ,WAAW;IAEvC,UAAU,CAAC,MAAM,EAAE;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,gBAAgB,EAAE,MAAM,CAAC;QACzB,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;QACtB,gBAAgB,EAAE,MAAM,CAAC;KAC1B,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAG3B,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACxD,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAClE,OAAO,CACL,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrC,YAAY,CACV,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC;QAAE,iBAAiB,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAG1C,qBAAqB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACzC,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACxC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACxE,UAAU,CACR,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC1B,SAAS,CACP,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrC,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAGjD,WAAW,CACT,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GAAG,IAAI,GACzB,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D,WAAW,CACT,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,EAC9B,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,IAAI,CAAC,CAAC;IAGjB,iBAAiB,CACf,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,GAC5B,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,gBAAgB,CACd,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,GAC5B,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAGlD,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAGtC,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3D,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1D,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;IAGnE,QAAQ,CAAC,cAAc,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;IACnD,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC,aAAa,CAAC,CAAC;IACjD,QAAQ,CAAC,aAAa,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC;IACvD,QAAQ,CAAC,kBAAkB,EAAE,YAAY,CAAC,qBAAqB,CAAC,CAAC;IACjE,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;IAC7C,QAAQ,CAAC,aAAa,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC;IAGvD,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC;;AAED,wBAAuE"}
1
+ {"version":3,"file":"NativeSynchro.d.ts","sourceRoot":"","sources":["../../../src/NativeSynchro.ts"],"names":[],"mappings":"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"}
@@ -1,30 +1,47 @@
1
- import type { Row, ExecResult, BatchResult, SQLStatement, ColumnDef, TableOptions, Transaction, CheckpointMode, SyncStatus, ConflictEvent, SynchroConfig, Unsubscribe } from './types';
1
+ import NativeSynchro from './NativeSynchro';
2
+ import type { Row, ExecResult, BatchResult, SQLStatement, SQLiteBindValue, ColumnDef, TableOptions, ReadTransaction, Transaction, SyncStatus, SyncEvent, PendingMutationInspection, RejectedMutationInspection, ClientStateInspection, TransportObservationSnapshot, ConflictEvent, SynchroConfig, Unsubscribe, AsyncUnsubscribe } from './types';
3
+ export declare function parseClientStateInspection(value: unknown): ClientStateInspection;
4
+ export declare function parseTransportObservationSnapshot(value: unknown): TransportObservationSnapshot;
2
5
  export declare class SynchroClient {
3
- private readonly native;
6
+ private readonly nativeOwner;
4
7
  private readonly config;
5
8
  private authSubscription;
6
9
  constructor(config: SynchroConfig);
10
+ private get native();
11
+ private installAuthSubscription;
12
+ private releaseNativeOwnership;
7
13
  initialize(): Promise<void>;
8
- query(sql: string, params?: unknown[]): Promise<Row[]>;
9
- queryOne(sql: string, params?: unknown[]): Promise<Row | null>;
10
- execute(sql: string, params?: unknown[]): Promise<ExecResult>;
14
+ query(sql: string, params?: readonly SQLiteBindValue[]): Promise<Row[]>;
15
+ queryOne(sql: string, params?: readonly SQLiteBindValue[]): Promise<Row | null>;
16
+ execute(sql: string, params?: readonly SQLiteBindValue[]): Promise<ExecResult>;
17
+ executeAuthoredWrite(tableName: string, operation: string, columnNames: readonly string[], sql: string, values?: readonly SQLiteBindValue[]): Promise<ExecResult>;
11
18
  executeBatch(statements: SQLStatement[]): Promise<BatchResult>;
12
19
  writeTransaction<T>(callback: (tx: Transaction) => Promise<T>): Promise<T>;
13
- readTransaction<T>(callback: (tx: Transaction) => Promise<T>): Promise<T>;
20
+ readTransaction<T>(callback: (tx: ReadTransaction) => Promise<T>): Promise<T>;
14
21
  createTable(name: string, columns: ColumnDef[], options?: TableOptions): Promise<void>;
15
22
  alterTable(name: string, addColumns: ColumnDef[]): Promise<void>;
16
23
  createIndex(table: string, columns: string[], unique?: boolean): Promise<void>;
17
- onChange(tables: string[], callback: () => void): Unsubscribe;
18
- watch(sql: string, params: unknown[] | undefined, tables: string[], callback: (rows: Row[]) => void): Unsubscribe;
19
- checkpoint(mode?: CheckpointMode): Promise<void>;
24
+ onChange(tables: string[], callback: () => void): Promise<AsyncUnsubscribe>;
25
+ watch(sql: string, params: readonly SQLiteBindValue[] | undefined, tables: string[], callback: (rows: Row[]) => void): Promise<AsyncUnsubscribe>;
20
26
  close(): Promise<void>;
21
27
  getPath(): Promise<string>;
22
28
  pendingChangeCount(): Promise<number>;
29
+ getSyncStatus(): Promise<SyncStatus>;
30
+ inspectPendingMutations(): Promise<PendingMutationInspection[]>;
31
+ inspectRetainedMutations(): Promise<PendingMutationInspection[]>;
32
+ inspectRejectedMutations(): Promise<RejectedMutationInspection[]>;
33
+ clearRejectedMutations(): Promise<void>;
23
34
  start(): Promise<void>;
24
35
  stop(): Promise<void>;
36
+ enterBackground(): Promise<void>;
37
+ enterForeground(): Promise<void>;
38
+ retryAfterError(): Promise<void>;
39
+ resetSchemaAndStart(): Promise<void>;
25
40
  syncNow(): Promise<void>;
26
41
  onStatusChange(callback: (status: SyncStatus) => void): Unsubscribe;
42
+ onSyncEvent(callback: (event: SyncEvent) => void): Unsubscribe;
27
43
  onConflict(callback: (event: ConflictEvent) => void): Unsubscribe;
28
- onSnapshotRequired(handler: () => Promise<boolean>): Unsubscribe;
29
44
  }
45
+ export declare function configureInspection(client: SynchroClient, transportObservationCapacity: number, requireNewDatabase: boolean): void;
46
+ export declare function nativeForInspection(client: SynchroClient): typeof NativeSynchro;
30
47
  //# sourceMappingURL=SynchroClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SynchroClient.d.ts","sourceRoot":"","sources":["../../../src/SynchroClient.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,GAAG,EACH,UAAU,EACV,WAAW,EACX,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,WAAW,EACX,cAAc,EACd,UAAU,EAEV,aAAa,EACb,aAAa,EACb,WAAW,EACZ,MAAM,SAAS,CAAC;AAOjB,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,CAAC,gBAAgB,CAAkC;gBAE9C,MAAM,EAAE,aAAa;IAqB3B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAsB3B,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAYtD,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;IAY9D,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC;IAW7D,YAAY,CAAC,UAAU,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC;IAc9D,gBAAgB,CAAC,CAAC,EACtB,QAAQ,EAAE,CAAC,EAAE,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,GACxC,OAAO,CAAC,CAAC,CAAC;IA+CP,eAAe,CAAC,CAAC,EACrB,QAAQ,EAAE,CAAC,EAAE,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,GACxC,OAAO,CAAC,CAAC,CAAC;IAiDP,WAAW,CACf,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,SAAS,EAAE,EACpB,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,IAAI,CAAC;IAYV,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAQhE,WAAW,CACf,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EAAE,EACjB,MAAM,UAAQ,GACb,OAAO,CAAC,IAAI,CAAC;IAUhB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,WAAW;IAmB7D,KAAK,CACH,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,EAC7B,MAAM,EAAE,MAAM,EAAE,EAChB,QAAQ,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAC9B,WAAW;IA0BR,UAAU,CAAC,IAAI,GAAE,cAA0B,GAAG,OAAO,CAAC,IAAI,CAAC;IAU3D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQtB,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IAQ1B,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;IAUrC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQrB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAU9B,cAAc,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,GAAG,WAAW;IAYnE,UAAU,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,GAAG,WAAW;IAuBjE,kBAAkB,CAChB,OAAO,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,GAC9B,WAAW;CAcf"}
1
+ {"version":3,"file":"SynchroClient.d.ts","sourceRoot":"","sources":["../../../src/SynchroClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ /** Return the SHA-256 digest of a string as lowercase hexadecimal. */
2
+ export declare function sha256Hex(value: string): string;
3
+ //# sourceMappingURL=digest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"digest.d.ts","sourceRoot":"","sources":["../../../src/digest.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CA+D/C"}
@@ -1,6 +1,9 @@
1
+ import type { ProtocolErrorCode, Row, SyncFailure, SyncStatusType } from './types';
2
+ export declare const NATIVE_ERROR_CODES: readonly ["NOT_CONNECTED", "SCHEMA_NOT_LOADED", "TABLE_NOT_SYNCED", "UPGRADE_REQUIRED", "SCHEMA_MISMATCH", "PUSH_REJECTED", "NETWORK_ERROR", "SERVER_ERROR", "PROTOCOL_ERROR", "DATABASE_ERROR", "INVALID_RESPONSE", "INVALID_SEED", "SYNC_BLOCKED", "UNSUPPORTED_SCHEMA", "INVALID_STATE_TRANSITION", "ALREADY_STARTED", "NOT_STARTED", "TRANSACTION_TIMEOUT", "INVALID_CONFIG", "CLIENT_ALREADY_ACTIVE", "UNKNOWN"];
3
+ export type NativeErrorCode = (typeof NATIVE_ERROR_CODES)[number];
1
4
  export declare class SynchroError extends Error {
2
- readonly code: string;
3
- constructor(code: string, message: string);
5
+ readonly code: NativeErrorCode;
6
+ constructor(code: NativeErrorCode, message: string);
4
7
  }
5
8
  export declare class NotConnectedError extends SynchroError {
6
9
  constructor();
@@ -22,18 +25,19 @@ export declare class SchemaMismatchError extends SynchroError {
22
25
  readonly serverHash: string;
23
26
  constructor(serverVersion: number, serverHash: string);
24
27
  }
25
- export declare class SnapshotRequiredError extends SynchroError {
26
- constructor();
27
- }
28
- export interface PushResultItem {
29
- recordID: string;
28
+ export interface PushRejectedMutation {
29
+ mutationID: string;
30
30
  table: string;
31
+ pk: Row;
31
32
  status: string;
33
+ code: string;
32
34
  message?: string;
35
+ serverRow?: Row | null;
36
+ serverVersion?: string | null;
33
37
  }
34
38
  export declare class PushRejectedError extends SynchroError {
35
- readonly results: PushResultItem[];
36
- constructor(results: PushResultItem[]);
39
+ readonly results: PushRejectedMutation[];
40
+ constructor(results: PushRejectedMutation[]);
37
41
  }
38
42
  export declare class NetworkError extends SynchroError {
39
43
  constructor(message: string);
@@ -48,6 +52,29 @@ export declare class DatabaseError extends SynchroError {
48
52
  export declare class InvalidResponseError extends SynchroError {
49
53
  constructor(message: string);
50
54
  }
55
+ export declare const SCHEMA_UNSUPPORTED_REASONS: readonly ["unknown_schema_lineage", "incompatible_schema_transition"];
56
+ export type SchemaUnsupportedReason = (typeof SCHEMA_UNSUPPORTED_REASONS)[number];
57
+ export declare class ProtocolError extends SynchroError {
58
+ readonly status: number;
59
+ readonly protocolCode: ProtocolErrorCode;
60
+ constructor(status: number, protocolCode: ProtocolErrorCode, message: string);
61
+ }
62
+ export declare class SyncBlockedError extends SynchroError {
63
+ readonly failure: SyncFailure;
64
+ constructor(failure: SyncFailure);
65
+ }
66
+ export declare class UnsupportedSchemaError extends SynchroError {
67
+ readonly reason: SchemaUnsupportedReason;
68
+ constructor(reason: SchemaUnsupportedReason);
69
+ }
70
+ export declare class InvalidStateTransitionError extends SynchroError {
71
+ readonly from: SyncStatusType;
72
+ readonly to: SyncStatusType;
73
+ constructor(from: SyncStatusType, to: SyncStatusType);
74
+ }
75
+ export declare class InvalidSeedError extends SynchroError {
76
+ constructor();
77
+ }
51
78
  export declare class AlreadyStartedError extends SynchroError {
52
79
  constructor();
53
80
  }
@@ -57,5 +84,6 @@ export declare class NotStartedError extends SynchroError {
57
84
  export declare class TransactionTimeoutError extends SynchroError {
58
85
  constructor();
59
86
  }
87
+ export declare function parseSyncFailure(value: unknown): SyncFailure;
60
88
  export declare function mapNativeError(error: unknown): SynchroError;
61
89
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,YAAa,SAAQ,KAAK;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBAEV,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAK1C;AAED,qBAAa,iBAAkB,SAAQ,YAAY;;CAKlD;AAED,qBAAa,oBAAqB,SAAQ,YAAY;;CAKrD;AAED,qBAAa,mBAAoB,SAAQ,YAAY;IACnD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;gBAEX,KAAK,EAAE,MAAM;CAK1B;AAED,qBAAa,oBAAqB,SAAQ,YAAY;IACpD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;gBAEpB,cAAc,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM;CAS3D;AAED,qBAAa,mBAAoB,SAAQ,YAAY;IACnD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;gBAEhB,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;CAStD;AAED,qBAAa,qBAAsB,SAAQ,YAAY;;CAKtD;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,iBAAkB,SAAQ,YAAY;IACjD,QAAQ,CAAC,OAAO,EAAE,cAAc,EAAE,CAAC;gBAEvB,OAAO,EAAE,cAAc,EAAE;CAKtC;AAED,qBAAa,YAAa,SAAQ,YAAY;gBAChC,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,WAAY,SAAQ,YAAY;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBAEZ,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAK5C;AAED,qBAAa,aAAc,SAAQ,YAAY;gBACjC,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,oBAAqB,SAAQ,YAAY;gBACxC,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,mBAAoB,SAAQ,YAAY;;CAKpD;AAED,qBAAa,eAAgB,SAAQ,YAAY;;CAKhD;AAED,qBAAa,uBAAwB,SAAQ,YAAY;;CAKxD;AAQD,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,YAAY,CA0D3D"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/errors.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { SynchroClient } from '../SynchroClient';
2
- import type { Row } from '../types';
2
+ import type { Row, SQLiteBindValue } from '../types';
3
3
  import type { SynchroError } from '../errors';
4
4
  interface UseQueryResult {
5
5
  data: Row[];
@@ -7,6 +7,6 @@ interface UseQueryResult {
7
7
  error: SynchroError | null;
8
8
  refresh: () => void;
9
9
  }
10
- export declare function useQuery(client: SynchroClient, sql: string, params?: unknown[], tables?: string[]): UseQueryResult;
10
+ export declare function useQuery(client: SynchroClient, sql: string, params?: SQLiteBindValue[], tables?: string[]): UseQueryResult;
11
11
  export {};
12
12
  //# sourceMappingURL=useQuery.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useQuery.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useQuery.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE9C,UAAU,cAAc;IACtB,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAuBD,wBAAgB,QAAQ,CACtB,MAAM,EAAE,aAAa,EACrB,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,OAAO,EAAE,EAClB,MAAM,CAAC,EAAE,MAAM,EAAE,GAChB,cAAc,CAsDhB"}
1
+ {"version":3,"file":"useQuery.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useQuery.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAoB,GAAG,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE9C,UAAU,cAAc;IACtB,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AA4CD,wBAAgB,QAAQ,CACtB,MAAM,EAAE,aAAa,EACrB,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,eAAe,EAAE,EAC1B,MAAM,CAAC,EAAE,MAAM,EAAE,GAChB,cAAc,CA4EhB"}
@@ -1 +1 @@
1
- {"version":3,"file":"useSyncStatus.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useSyncStatus.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,GAAG,UAAU,CAY/D"}
1
+ {"version":3,"file":"useSyncStatus.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useSyncStatus.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAU3C,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,GAAG,UAAU,CAqC/D"}
@@ -2,7 +2,8 @@ export { SynchroClient } from './SynchroClient';
2
2
  export { useQuery } from './hooks/useQuery';
3
3
  export { useSyncStatus } from './hooks/useSyncStatus';
4
4
  export { usePendingChanges } from './hooks/usePendingChanges';
5
- export type { Row, ExecResult, BatchResult, SQLStatement, ColumnDef, TableOptions, Transaction, CheckpointMode, SyncStatus, SyncStatusType, ConflictEvent, SynchroConfig, Unsubscribe, } from './types';
6
- export { SynchroError, NotConnectedError, SchemaNotLoadedError, TableNotSyncedError, UpgradeRequiredError, SchemaMismatchError, SnapshotRequiredError, PushRejectedError, NetworkError, ServerError, DatabaseError, InvalidResponseError, AlreadyStartedError, NotStartedError, TransactionTimeoutError, mapNativeError, } from './errors';
7
- export type { PushResultItem } from './errors';
5
+ export type { Row, ExecResult, BatchResult, SQLiteBytes, SQLiteInt64, SQLiteTaggedValue, SQLiteBindValue, SQLStatement, ColumnDef, TableOptions, ReadTransaction, Transaction, SyncStatus, SyncStatusType, SyncOperationKind, SyncRecoveryAction, SyncFailureCode, SyncFailure, JSONValue, MutationOperation, LocalMutationStatus, MutationStatus, MutationRejectionCode, SchemaRef, AuthoredMutationField, PendingMutationInspection, RejectedMutationInspection, SchemaAction, SyncSchemaEvent, SyncMutationEvent, SyncRebuildEvent, SyncEvent, ProtocolErrorCode, ConflictEvent, SynchroConfig, Unsubscribe, AsyncUnsubscribe, } from './types';
6
+ export { SYNC_STATUS_TYPES, SYNC_OPERATION_KINDS, SYNC_RECOVERY_ACTIONS, SYNC_FAILURE_CODES, PROTOCOL_ERROR_CODES, } from './types';
7
+ export { SynchroError, NotConnectedError, SchemaNotLoadedError, TableNotSyncedError, UpgradeRequiredError, SchemaMismatchError, PushRejectedError, NetworkError, ServerError, ProtocolError, SyncBlockedError, UnsupportedSchemaError, InvalidStateTransitionError, DatabaseError, InvalidResponseError, InvalidSeedError, AlreadyStartedError, NotStartedError, TransactionTimeoutError, NATIVE_ERROR_CODES, mapNativeError, } from './errors';
8
+ export type { NativeErrorCode, SchemaUnsupportedReason, PushRejectedMutation, } from './errors';
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D,YAAY,EACV,GAAG,EACH,UAAU,EACV,WAAW,EACX,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,WAAW,EACX,cAAc,EACd,UAAU,EACV,cAAc,EACd,aAAa,EACb,aAAa,EACb,WAAW,GACZ,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,YAAY,EACZ,WAAW,EACX,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,uBAAuB,EACvB,cAAc,GACf,MAAM,UAAU,CAAC;AAElB,YAAY,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D,YAAY,EACV,GAAG,EACH,UAAU,EACV,WAAW,EACX,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,eAAe,EACf,WAAW,EACX,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,WAAW,EACX,SAAS,EACT,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,qBAAqB,EACrB,SAAS,EACT,qBAAqB,EACrB,yBAAyB,EACzB,0BAA0B,EAC1B,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,SAAS,EACT,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,WAAW,EACX,gBAAgB,GACjB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,EACZ,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,sBAAsB,EACtB,2BAA2B,EAC3B,aAAa,EACb,oBAAoB,EACpB,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,uBAAuB,EACvB,kBAAkB,EAClB,cAAc,GACf,MAAM,UAAU,CAAC;AAElB,YAAY,EACV,eAAe,EACf,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,UAAU,CAAC"}
@@ -0,0 +1,43 @@
1
+ import { SynchroClient } from './SynchroClient';
2
+ import type { ClientStateInspection, TransportObservationSnapshot, TransportOperationClass } from './types';
3
+ export interface DurableStateInspection {
4
+ row_metadata: {
5
+ table_name: string;
6
+ record_id: string;
7
+ server_version: string;
8
+ row_checksum: string | null;
9
+ } | null;
10
+ rebuild_receipts: Array<{
11
+ rebuild_id_fingerprint: string;
12
+ page_count: number;
13
+ returned_record_count: number;
14
+ request_chain_expected: string[];
15
+ request_chain_observed: string[];
16
+ record_identities_hex: string[];
17
+ received_row_checksums: string[];
18
+ computed_row_checksums: string[];
19
+ computed_scope_checksum: string | null;
20
+ final_scope_checksum: string | null;
21
+ stored_scope_checksum: string | null;
22
+ local_scope_checksum: string | null;
23
+ }>;
24
+ }
25
+ export interface SynchroInspectionOptions {
26
+ transportObservationCapacity?: number;
27
+ requireNewDatabase?: boolean;
28
+ }
29
+ export declare class SynchroInspection {
30
+ private readonly client;
31
+ constructor(client: SynchroClient, options?: SynchroInspectionOptions);
32
+ clientState(): Promise<ClientStateInspection>;
33
+ durableState(tableName: string, recordID: string): Promise<DurableStateInspection>;
34
+ processIdentity(): Promise<string>;
35
+ transportObservations(): Promise<TransportObservationSnapshot>;
36
+ armTransportPause(operationClass: TransportOperationClass): Promise<void>;
37
+ awaitTransportPause(operationClass: TransportOperationClass, timeoutMs: number): Promise<void>;
38
+ resumeTransportPause(): Promise<void>;
39
+ }
40
+ export { sha256Hex } from './digest';
41
+ export { isCanonicalBase64Url, isCanonicalInt64 } from './sqliteValues';
42
+ export type { ClientStateInspection, RebuildAttemptInspection, ScopeRowInspection, ScopeStateInspection, TransportObservation, TransportObservationSnapshot, TransportOperationClass, } from './types';
43
+ //# sourceMappingURL=inspection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inspection.d.ts","sourceRoot":"","sources":["../../../src/inspection.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,aAAa,EACd,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EACV,qBAAqB,EACrB,4BAA4B,EAC5B,uBAAuB,EACxB,MAAM,SAAS,CAAC;AAYjB,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE;QACZ,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,MAAM,CAAC;QACvB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;KAC7B,GAAG,IAAI,CAAC;IACT,gBAAgB,EAAE,KAAK,CAAC;QACtB,sBAAsB,EAAE,MAAM,CAAC;QAC/B,UAAU,EAAE,MAAM,CAAC;QACnB,qBAAqB,EAAE,MAAM,CAAC;QAC9B,sBAAsB,EAAE,MAAM,EAAE,CAAC;QACjC,sBAAsB,EAAE,MAAM,EAAE,CAAC;QACjC,qBAAqB,EAAE,MAAM,EAAE,CAAC;QAChC,sBAAsB,EAAE,MAAM,EAAE,CAAC;QACjC,sBAAsB,EAAE,MAAM,EAAE,CAAC;QACjC,uBAAuB,EAAE,MAAM,GAAG,IAAI,CAAC;QACvC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;QACpC,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;QACrC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;KACrC,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,wBAAwB;IACvC,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,qBAAa,iBAAiB;IAE1B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,aAAa,EACtC,OAAO,GAAE,wBAA6B;IASlC,WAAW,IAAI,OAAO,CAAC,qBAAqB,CAAC;IAQ7C,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAalF,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC;IAYlC,qBAAqB,IAAI,OAAO,CAAC,4BAA4B,CAAC;IAU9D,iBAAiB,CAAC,cAAc,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IASzE,mBAAmB,CAAC,cAAc,EAAE,uBAAuB,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAY9F,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;CAO5C;AA+ED,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAExE,YAAY,EACV,qBAAqB,EACrB,wBAAwB,EACxB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,4BAA4B,EAC5B,uBAAuB,GACxB,MAAM,SAAS,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { SQLiteBindValue } from './types';
2
+ /** Validate an unpadded, canonical RFC 4648 base64url string. */
3
+ export declare function isCanonicalBase64Url(value: string): boolean;
4
+ export declare function isCanonicalInt64(value: string): boolean;
5
+ /** Reject malformed tagged values before they cross the native bridge. */
6
+ export declare function assertValidSQLiteBindValue(value: unknown, index: number): asserts value is SQLiteBindValue;
7
+ export declare function assertValidSQLiteBindParams(values: readonly SQLiteBindValue[]): readonly SQLiteBindValue[];
8
+ //# sourceMappingURL=sqliteValues.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqliteValues.d.ts","sourceRoot":"","sources":["../../../src/sqliteValues.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAY/C,iEAAiE;AACjE,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAe3D;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAWvD;AAMD,0EAA0E;AAC1E,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,KAAK,IAAI,eAAe,CA8ClC;AAED,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,SAAS,eAAe,EAAE,GACjC,SAAS,eAAe,EAAE,CAG5B"}