@opendatalabs/personal-server-ts-server 1.34.1 → 1.35.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.
Files changed (180) hide show
  1. package/dist/api-auth.d.ts +1 -0
  2. package/dist/api-auth.d.ts.map +1 -1
  3. package/dist/api-auth.js.map +1 -1
  4. package/dist/api.d.ts +3 -0
  5. package/dist/api.d.ts.map +1 -1
  6. package/dist/api.js +3 -0
  7. package/dist/api.js.map +1 -1
  8. package/dist/app.d.ts +14 -2
  9. package/dist/app.d.ts.map +1 -1
  10. package/dist/app.js +64 -8
  11. package/dist/app.js.map +1 -1
  12. package/dist/bootstrap.d.ts +19 -0
  13. package/dist/bootstrap.d.ts.map +1 -1
  14. package/dist/bootstrap.js +87 -4
  15. package/dist/bootstrap.js.map +1 -1
  16. package/dist/client.d.ts +1 -1
  17. package/dist/client.d.ts.map +1 -1
  18. package/dist/client.js +7 -0
  19. package/dist/client.js.map +1 -1
  20. package/dist/enclave-main.d.ts.map +1 -1
  21. package/dist/enclave-main.js +0 -2
  22. package/dist/enclave-main.js.map +1 -1
  23. package/dist/mcp/durable-state.d.ts +2 -1
  24. package/dist/mcp/durable-state.d.ts.map +1 -1
  25. package/dist/mcp/durable-state.js +35 -1
  26. package/dist/mcp/durable-state.js.map +1 -1
  27. package/dist/pdpp/bootstrap.d.ts.map +1 -1
  28. package/dist/pdpp/bootstrap.js +1 -0
  29. package/dist/pdpp/bootstrap.js.map +1 -1
  30. package/dist/pdpp/records-bootstrap.d.ts +47 -1
  31. package/dist/pdpp/records-bootstrap.d.ts.map +1 -1
  32. package/dist/pdpp/records-bootstrap.js +78 -2
  33. package/dist/pdpp/records-bootstrap.js.map +1 -1
  34. package/dist/pdpp/replica-authorization.d.ts +35 -0
  35. package/dist/pdpp/replica-authorization.d.ts.map +1 -0
  36. package/dist/pdpp/replica-authorization.js +234 -0
  37. package/dist/pdpp/replica-authorization.js.map +1 -0
  38. package/dist/pending-blob-deletions.d.ts +1 -0
  39. package/dist/pending-blob-deletions.d.ts.map +1 -1
  40. package/dist/pending-blob-deletions.js +8 -4
  41. package/dist/pending-blob-deletions.js.map +1 -1
  42. package/dist/routes/mcp.d.ts +18 -2
  43. package/dist/routes/mcp.d.ts.map +1 -1
  44. package/dist/routes/mcp.js +111 -11
  45. package/dist/routes/mcp.js.map +1 -1
  46. package/dist/routes/oura.d.ts +6 -0
  47. package/dist/routes/oura.d.ts.map +1 -0
  48. package/dist/routes/oura.js +272 -0
  49. package/dist/routes/oura.js.map +1 -0
  50. package/dist/routes/pdpp-auth-query-keys.d.ts +7 -0
  51. package/dist/routes/pdpp-auth-query-keys.d.ts.map +1 -0
  52. package/dist/routes/pdpp-auth-query-keys.js +25 -0
  53. package/dist/routes/pdpp-auth-query-keys.js.map +1 -0
  54. package/dist/routes/pdpp-auth.d.ts +3 -1
  55. package/dist/routes/pdpp-auth.d.ts.map +1 -1
  56. package/dist/routes/pdpp-auth.js +126 -45
  57. package/dist/routes/pdpp-auth.js.map +1 -1
  58. package/dist/routes/pdpp-blobs.d.ts +13 -1
  59. package/dist/routes/pdpp-blobs.d.ts.map +1 -1
  60. package/dist/routes/pdpp-blobs.js +100 -65
  61. package/dist/routes/pdpp-blobs.js.map +1 -1
  62. package/dist/routes/pdpp-connections.d.ts.map +1 -1
  63. package/dist/routes/pdpp-connections.js +24 -1
  64. package/dist/routes/pdpp-connections.js.map +1 -1
  65. package/dist/routes/pdpp-instance-bindings.d.ts +3 -0
  66. package/dist/routes/pdpp-instance-bindings.d.ts.map +1 -1
  67. package/dist/routes/pdpp-instance-bindings.js +63 -0
  68. package/dist/routes/pdpp-instance-bindings.js.map +1 -1
  69. package/dist/routes/pdpp-record-query.d.ts +19 -0
  70. package/dist/routes/pdpp-record-query.d.ts.map +1 -0
  71. package/dist/routes/pdpp-record-query.js +51 -0
  72. package/dist/routes/pdpp-record-query.js.map +1 -0
  73. package/dist/routes/pdpp-records.d.ts +12 -1
  74. package/dist/routes/pdpp-records.d.ts.map +1 -1
  75. package/dist/routes/pdpp-records.js +120 -233
  76. package/dist/routes/pdpp-records.js.map +1 -1
  77. package/dist/routes/pdpp-replica-quarantine-fixture.d.ts +65 -0
  78. package/dist/routes/pdpp-replica-quarantine-fixture.d.ts.map +1 -0
  79. package/dist/routes/pdpp-replica-quarantine-fixture.js +389 -0
  80. package/dist/routes/pdpp-replica-quarantine-fixture.js.map +1 -0
  81. package/dist/storage/claude-method-transition.d.ts +12 -0
  82. package/dist/storage/claude-method-transition.d.ts.map +1 -0
  83. package/dist/storage/claude-method-transition.js +139 -0
  84. package/dist/storage/claude-method-transition.js.map +1 -0
  85. package/dist/storage/import-operations.d.ts +16 -0
  86. package/dist/storage/import-operations.d.ts.map +1 -1
  87. package/dist/storage/import-operations.js +54 -1
  88. package/dist/storage/import-operations.js.map +1 -1
  89. package/dist/storage/index-schema.d.ts +1 -1
  90. package/dist/storage/index-schema.d.ts.map +1 -1
  91. package/dist/storage/index-schema.js +22 -5
  92. package/dist/storage/index-schema.js.map +1 -1
  93. package/dist/storage/legacy-scope-authority.d.ts.map +1 -1
  94. package/dist/storage/legacy-scope-authority.js +83 -11
  95. package/dist/storage/legacy-scope-authority.js.map +1 -1
  96. package/dist/storage/node-data-storage.d.ts.map +1 -1
  97. package/dist/storage/node-data-storage.js +58 -2
  98. package/dist/storage/node-data-storage.js.map +1 -1
  99. package/dist/storage/pdpp-binary-chunks.d.ts +120 -0
  100. package/dist/storage/pdpp-binary-chunks.d.ts.map +1 -0
  101. package/dist/storage/pdpp-binary-chunks.js +480 -0
  102. package/dist/storage/pdpp-binary-chunks.js.map +1 -0
  103. package/dist/storage/pdpp-records-sqlite-store.d.ts +96 -15
  104. package/dist/storage/pdpp-records-sqlite-store.d.ts.map +1 -1
  105. package/dist/storage/pdpp-records-sqlite-store.js +616 -211
  106. package/dist/storage/pdpp-records-sqlite-store.js.map +1 -1
  107. package/dist/storage/pdpp-replica-canonical-port.d.ts +202 -0
  108. package/dist/storage/pdpp-replica-canonical-port.d.ts.map +1 -0
  109. package/dist/storage/pdpp-replica-canonical-port.js +451 -0
  110. package/dist/storage/pdpp-replica-canonical-port.js.map +1 -0
  111. package/dist/storage/pdpp-replica-coordinator-state.d.ts +16 -0
  112. package/dist/storage/pdpp-replica-coordinator-state.d.ts.map +1 -0
  113. package/dist/storage/pdpp-replica-coordinator-state.js +25 -0
  114. package/dist/storage/pdpp-replica-coordinator-state.js.map +1 -0
  115. package/dist/storage/pdpp-replica-copies.d.ts +81 -0
  116. package/dist/storage/pdpp-replica-copies.d.ts.map +1 -0
  117. package/dist/storage/pdpp-replica-copies.js +59 -0
  118. package/dist/storage/pdpp-replica-copies.js.map +1 -0
  119. package/dist/storage/pdpp-replica-reconciler.d.ts +96 -0
  120. package/dist/storage/pdpp-replica-reconciler.d.ts.map +1 -0
  121. package/dist/storage/pdpp-replica-reconciler.js +710 -0
  122. package/dist/storage/pdpp-replica-reconciler.js.map +1 -0
  123. package/dist/storage/pdpp-replica-sql.d.ts +13 -0
  124. package/dist/storage/pdpp-replica-sql.d.ts.map +1 -0
  125. package/dist/storage/pdpp-replica-sql.js +43 -0
  126. package/dist/storage/pdpp-replica-sql.js.map +1 -0
  127. package/dist/storage/pdpp-replica-staging.d.ts +36 -0
  128. package/dist/storage/pdpp-replica-staging.d.ts.map +1 -0
  129. package/dist/storage/pdpp-replica-staging.js +202 -0
  130. package/dist/storage/pdpp-replica-staging.js.map +1 -0
  131. package/dist/storage/pdpp-replica-visibility-view.d.ts +64 -0
  132. package/dist/storage/pdpp-replica-visibility-view.d.ts.map +1 -0
  133. package/dist/storage/pdpp-replica-visibility-view.js +1397 -0
  134. package/dist/storage/pdpp-replica-visibility-view.js.map +1 -0
  135. package/dist/storage/pdpp-replica-writer-identity.d.ts +64 -0
  136. package/dist/storage/pdpp-replica-writer-identity.d.ts.map +1 -0
  137. package/dist/storage/pdpp-replica-writer-identity.js +81 -0
  138. package/dist/storage/pdpp-replica-writer-identity.js.map +1 -0
  139. package/dist/storage/pdpp-replication-door.d.ts +60 -0
  140. package/dist/storage/pdpp-replication-door.d.ts.map +1 -0
  141. package/dist/storage/pdpp-replication-door.js +203 -0
  142. package/dist/storage/pdpp-replication-door.js.map +1 -0
  143. package/dist/storage/pdpp-replication-host.d.ts +67 -0
  144. package/dist/storage/pdpp-replication-host.d.ts.map +1 -0
  145. package/dist/storage/pdpp-replication-host.js +159 -0
  146. package/dist/storage/pdpp-replication-host.js.map +1 -0
  147. package/dist/storage/pdpp-replication-memory.fixture.d.ts +2 -0
  148. package/dist/storage/pdpp-replication-memory.fixture.d.ts.map +1 -0
  149. package/dist/storage/pdpp-replication-memory.fixture.js +267 -0
  150. package/dist/storage/pdpp-replication-memory.fixture.js.map +1 -0
  151. package/dist/storage/pdpp-replication-preparation.d.ts +3 -0
  152. package/dist/storage/pdpp-replication-preparation.d.ts.map +1 -0
  153. package/dist/storage/pdpp-replication-preparation.js +3 -0
  154. package/dist/storage/pdpp-replication-preparation.js.map +1 -0
  155. package/dist/storage/pdpp-replication-promotion-memory.fixture.d.ts +2 -0
  156. package/dist/storage/pdpp-replication-promotion-memory.fixture.d.ts.map +1 -0
  157. package/dist/storage/pdpp-replication-promotion-memory.fixture.js +65 -0
  158. package/dist/storage/pdpp-replication-promotion-memory.fixture.js.map +1 -0
  159. package/dist/storage/pdpp-replication-receiver.d.ts +230 -0
  160. package/dist/storage/pdpp-replication-receiver.d.ts.map +1 -0
  161. package/dist/storage/pdpp-replication-receiver.js +950 -0
  162. package/dist/storage/pdpp-replication-receiver.js.map +1 -0
  163. package/dist/storage/pdpp-replication-sqlite.d.ts +95 -0
  164. package/dist/storage/pdpp-replication-sqlite.d.ts.map +1 -0
  165. package/dist/storage/pdpp-replication-sqlite.js +615 -0
  166. package/dist/storage/pdpp-replication-sqlite.js.map +1 -0
  167. package/dist/storage/pdpp-replication-transport.d.ts +39 -0
  168. package/dist/storage/pdpp-replication-transport.d.ts.map +1 -0
  169. package/dist/storage/pdpp-replication-transport.js +196 -0
  170. package/dist/storage/pdpp-replication-transport.js.map +1 -0
  171. package/dist/storage/schema-versions.d.ts +5 -0
  172. package/dist/storage/schema-versions.d.ts.map +1 -0
  173. package/dist/storage/schema-versions.js +26 -0
  174. package/dist/storage/schema-versions.js.map +1 -0
  175. package/dist/storage/strava-method-transition.d.ts +18 -0
  176. package/dist/storage/strava-method-transition.d.ts.map +1 -0
  177. package/dist/storage/strava-method-transition.js +209 -0
  178. package/dist/storage/strava-method-transition.js.map +1 -0
  179. package/dist/ui/ps-lite-debug.js +137018 -106931
  180. package/package.json +3 -3
@@ -0,0 +1,230 @@
1
+ import type { Database } from "better-sqlite3";
2
+ import { type CopyPromotion, type StagedCopy } from "./pdpp-replica-copies.js";
3
+ import type { CopyDecision, FinalizedFact } from "@opendatalabs/personal-server-ts-core/replication/copy-promotion";
4
+ import { type ReplicaOperation } from "@opendatalabs/personal-server-ts-core/replication/envelope";
5
+ import type { MergeContext, ReplicaMergePlan } from "@opendatalabs/personal-server-ts-core/replication/merge-plan";
6
+ import { type ReplicaReconcilePage } from "./pdpp-replica-reconciler.js";
7
+ import type { ReplicaRecordStore } from "./pdpp-replica-canonical-port.js";
8
+ import { type ReplicaReader, type ReplicaVisibilityPolicy } from "@opendatalabs/personal-server-ts-core/replication/visibility-policy";
9
+ import { type ListRecordsOptions, type PdppVisibleRecord, type ListVisibleRecordsPage, type PdppReplicaReadStore, type VisibilitySnapshot } from "@opendatalabs/personal-server-ts-core/storage/pdpp-records";
10
+ export declare const RECEIVER_MIGRATION = "\nCREATE TABLE IF NOT EXISTS pdpp_replica_received (operation_json TEXT PRIMARY KEY, digest TEXT NOT NULL);\nCREATE TRIGGER IF NOT EXISTS pdpp_received_no_update BEFORE UPDATE ON pdpp_replica_received BEGIN SELECT RAISE(ABORT, 'received operations are append-only'); END;\nCREATE TRIGGER IF NOT EXISTS pdpp_received_no_delete BEFORE DELETE ON pdpp_replica_received BEGIN SELECT RAISE(ABORT, 'received operations are append-only'); END;\nCREATE TABLE IF NOT EXISTS pdpp_replica_quarantined_keys (instance TEXT NOT NULL, generation INTEGER NOT NULL, stream TEXT NOT NULL, record_key TEXT NOT NULL, PRIMARY KEY(instance,generation,stream,record_key));\nCREATE TABLE IF NOT EXISTS pdpp_replica_quarantined_connections (instance TEXT PRIMARY KEY);\nCREATE TABLE IF NOT EXISTS pdpp_replica_received_bytes (blob_id TEXT PRIMARY KEY, bytes BLOB NOT NULL);\n";
11
+ /**
12
+ * Replica integrity facts. Only replica tables: no main table changes.
13
+ * - integrity fences: how many times replica evidence hid data of a
14
+ * connection (key or connection quarantine, binding conflict). With the
15
+ * binding's reset_clock it forms the connection's integrity epoch.
16
+ * - binding conflicts: a connection whose evidence names another source or
17
+ * method than its local mapping, or two sources. Append-only: later
18
+ * evidence, equivocation included, can never erase the fact.
19
+ */
20
+ export declare const REPLICA_INTEGRITY_MIGRATION = "\nCREATE TABLE IF NOT EXISTS pdpp_replica_integrity_fences (instance TEXT PRIMARY KEY, fences INTEGER NOT NULL);\nCREATE TABLE IF NOT EXISTS pdpp_replica_binding_conflicts (instance TEXT PRIMARY KEY, reason TEXT NOT NULL, evidence_json TEXT NOT NULL);\nCREATE TRIGGER IF NOT EXISTS pdpp_binding_conflicts_no_update BEFORE UPDATE ON pdpp_replica_binding_conflicts BEGIN SELECT RAISE(ABORT, 'binding conflicts are append-only'); END;\nCREATE TRIGGER IF NOT EXISTS pdpp_binding_conflicts_no_delete BEFORE DELETE ON pdpp_replica_binding_conflicts BEGIN SELECT RAISE(ABORT, 'binding conflicts are append-only'); END;\n";
21
+ /**
22
+ * Invariant: removing a quarantine fact un-hides data, so it must raise the
23
+ * connection's integrity epoch in the same transaction, exactly as adding
24
+ * one does (fenceReplicaConnection). These triggers make that structural:
25
+ * any DELETE of a key or connection fact fences its connection, so no
26
+ * future removal path can forget it. pdpp-replica-invariants.test.ts (1).
27
+ */
28
+ export declare const REPLICA_FACT_REMOVAL_MIGRATION = "\nCREATE TRIGGER IF NOT EXISTS pdpp_quarantined_keys_removal_fence AFTER DELETE ON pdpp_replica_quarantined_keys BEGIN INSERT INTO pdpp_replica_integrity_fences VALUES (OLD.instance, 1) ON CONFLICT(instance) DO UPDATE SET fences = fences + 1; END;\nCREATE TRIGGER IF NOT EXISTS pdpp_quarantined_connections_removal_fence AFTER DELETE ON pdpp_replica_quarantined_connections BEGIN INSERT INTO pdpp_replica_integrity_fences VALUES (OLD.instance, 1) ON CONFLICT(instance) DO UPDATE SET fences = fences + 1; END;\n";
29
+ type Store = Omit<ReplicaRecordStore, "unquarantinedRecordSql"> & {
30
+ /**
31
+ * The shared quarantine predicate. `generationSql` is the generation of the
32
+ * aliased row's value; without it the binding's current generation applies.
33
+ * A store that takes one argument ignores the second.
34
+ */
35
+ unquarantinedRecordSql(alias: string, generationSql?: string): string;
36
+ };
37
+ /**
38
+ * Internal port, absent from connector routes. Bootstrap builds it only through
39
+ * `createNodeReplication`, behind `replication.enabled`. The host
40
+ * must verify a replica-specific credential before returning its owner. A payload,
41
+ * a collector credential, and a source declaration are never authentication.
42
+ * Connection ids are the registered canonical instance ids (the export profile).
43
+ */
44
+ export declare function createReplicaReceiver(deps: {
45
+ db: Database;
46
+ store: Store;
47
+ owner: string;
48
+ authenticate: (credential: unknown) => string | undefined;
49
+ declarations: () => MergeContext["declarations"];
50
+ enabled?: boolean;
51
+ visibilityPolicy?: ReplicaVisibilityPolicy;
52
+ }): {
53
+ setPendingEnabled(enabled: boolean): void;
54
+ /**
55
+ * Batch-copy custody and promotion (contract v3.1). Trusted host hooks:
56
+ * the caller verified every fragment's bytes against its own hash pair.
57
+ */
58
+ copies: {
59
+ stage(input: {
60
+ credential: unknown;
61
+ copy: Omit<StagedCopy, "envelope" | "blobs"> & {
62
+ envelope: unknown;
63
+ };
64
+ blobs?: {
65
+ blobId: string;
66
+ bytes: Uint8Array;
67
+ }[];
68
+ /** Verified transport staging, copied into pending custody. */
69
+ stagedBlobs?: {
70
+ blobId: string;
71
+ key: string;
72
+ sizeBytes: number;
73
+ }[];
74
+ refetch?: {
75
+ attempts: number;
76
+ budget: number;
77
+ };
78
+ }): {
79
+ copyKey: import("@opendatalabs/personal-server-ts-core/replication/copy-promotion").Hex | undefined;
80
+ decision: CopyDecision;
81
+ };
82
+ /** Append one verified finalized fact (F2). Returns true when new. */
83
+ recordFact(input: {
84
+ credential: unknown;
85
+ id: string;
86
+ scope: string;
87
+ fragmentIndex: number;
88
+ fact: FinalizedFact;
89
+ }): boolean;
90
+ decide: (id: string, refetch: {
91
+ attempts: number;
92
+ budget: number;
93
+ }) => CopyDecision;
94
+ disposition: (id: string) => import("@opendatalabs/personal-server-ts-core/replication/copy-promotion").CopyDisposition;
95
+ list: (id: string) => {
96
+ copyKey: import("@opendatalabs/personal-server-ts-core/replication/copy-promotion").Hex;
97
+ state: "confirmed" | "pending" | "quarantined";
98
+ reason: "finalized_conflict" | "copy_conflict" | null;
99
+ envelopeDigest: string;
100
+ }[];
101
+ apply(input: {
102
+ credential: unknown;
103
+ id: string;
104
+ decision: CopyDecision;
105
+ }): void;
106
+ promote(input: {
107
+ credential: unknown;
108
+ id: string;
109
+ copyKey?: string;
110
+ }): CopyPromotion;
111
+ terminate(input: {
112
+ credential: unknown;
113
+ id: string;
114
+ reason: string;
115
+ }): void;
116
+ };
117
+ stage(input: {
118
+ credential: unknown;
119
+ id: string;
120
+ envelope: unknown;
121
+ blobs?: {
122
+ blobId: string;
123
+ bytes: Uint8Array;
124
+ }[];
125
+ /** Verified transport staging. Copied into durable chunked pending custody. */
126
+ stagedBlobs?: {
127
+ blobId: string;
128
+ key: string;
129
+ sizeBytes: number;
130
+ }[];
131
+ }): void;
132
+ /** Durable state of a staged batch, or undefined when never staged. */
133
+ pendingState(id: string): "pending" | "confirmed" | "quarantined" | undefined;
134
+ quarantine(input: {
135
+ credential: unknown;
136
+ id: string;
137
+ reason: string;
138
+ }): void;
139
+ /** Trusted host hook: caller must verify every fragment against finalized #433 evidence first. */
140
+ promote(input: {
141
+ credential: unknown;
142
+ id: string;
143
+ }): ReplicaMergePlan | undefined;
144
+ connectionVisibility: (instance: string) => {
145
+ state: "conflicted";
146
+ reason: "source_binding";
147
+ } | undefined;
148
+ readVisibleRecords: (input: {
149
+ reader?: ReplicaReader;
150
+ connectionId: string;
151
+ stream: string;
152
+ }) => PdppVisibleRecord[];
153
+ readView: (reader: ReplicaReader, cursor?: string) => VisibilitySnapshot;
154
+ readRecords(input: ListRecordsOptions & {
155
+ stream: string;
156
+ reader?: ReplicaReader;
157
+ }): ListVisibleRecordsPage;
158
+ readStore(input?: {
159
+ reader?: ReplicaReader;
160
+ }): PdppReplicaReadStore & {
161
+ connectionVisibility: (instance: string) => {
162
+ state: "conflicted";
163
+ reason: "source_binding";
164
+ } | undefined;
165
+ withReadSnapshot: <T>(read: () => T) => T;
166
+ };
167
+ /** Called only after the transport proves a finalized immutable-slot conflict.
168
+ * Keep evidence, but permanently retract the authority derived from its batch.
169
+ */
170
+ quarantineImported(input: {
171
+ credential: unknown;
172
+ envelope: unknown;
173
+ }): void;
174
+ import(input: {
175
+ credential: unknown;
176
+ envelope: unknown;
177
+ blobs?: {
178
+ blobId: string;
179
+ bytes: Uint8Array;
180
+ }[];
181
+ stagedBlobs?: {
182
+ blobId: string;
183
+ key: string;
184
+ sizeBytes: number;
185
+ namespace?: "staging" | "pending";
186
+ }[];
187
+ }): ReplicaMergePlan;
188
+ /** Trusted host notification after declaration documents or validators change. */
189
+ reconcileDeclarations(input: {
190
+ credential: unknown;
191
+ }): ReplicaMergePlan;
192
+ /**
193
+ * Runs `run` in one write transaction whose derived state is current.
194
+ * Hosts that combine receiver calls with their own writes enter here, so
195
+ * the nested receiver calls can trust the transaction's view.
196
+ */
197
+ atomically<T>(run: () => T): T;
198
+ /** A full reconcile pass over retained history, finished in this call. */
199
+ retry(input: {
200
+ credential: unknown;
201
+ }): ReplicaMergePlan;
202
+ /**
203
+ * One bounded page of reconcile work. `restart` first queues a full pass,
204
+ * as `retry` does; later pages continue it. `complete` is true when no
205
+ * work is queued. The plan lists only this page's issues.
206
+ */
207
+ reconcileStep(input: {
208
+ credential: unknown;
209
+ page: ReplicaReconcilePage;
210
+ restart?: boolean;
211
+ }): {
212
+ plan: ReplicaMergePlan;
213
+ complete: boolean;
214
+ };
215
+ /** Whether reconcile work is queued. Reads no retained history. */
216
+ reconcileQueued: () => boolean;
217
+ /** Retained evidence reconcile has loaded, cumulatively. For bounds tests. */
218
+ reconcileStats: () => import("./pdpp-replica-reconciler.js").ReplicaReconcileStats;
219
+ /**
220
+ * Reconcile, then return the operations that explain canonical state: the
221
+ * merge's winner for each shown row and tombstone, and each available
222
+ * completion. A new writer's rebaseline copies order and binding only
223
+ * from these (host contract §4.5).
224
+ */
225
+ explainState(input: {
226
+ credential: unknown;
227
+ }): ReplicaOperation[];
228
+ };
229
+ export {};
230
+ //# sourceMappingURL=pdpp-replication-receiver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pdpp-replication-receiver.d.ts","sourceRoot":"","sources":["../../src/storage/pdpp-replication-receiver.ts"],"names":[],"mappings":"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"}