@xnetjs/data 2.5.0 → 3.0.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 -0
- package/dist/auth/index.d.ts +4 -4
- package/dist/chunk-GJAOMEQO.js +114 -0
- package/dist/chunk-KY62NUOI.js +67 -0
- package/dist/chunk-N37U6ZPI.js +789 -0
- package/dist/chunk-NFPEFD2I.js +42 -0
- package/dist/{chunk-ODOPVGUX.js → chunk-QKVIKVAL.js} +65 -26
- package/dist/{chunk-CY6EJUNV.js → chunk-S7SEN4LH.js} +5 -1
- package/dist/{chunk-4HJZJMPI.js → chunk-TN7LGV66.js} +1 -1
- package/dist/{chunk-YRFCXKJC.js → chunk-UQ2VFHU3.js} +2 -2
- package/dist/chunk-VZSEZNYA.js +83 -0
- package/dist/{chunk-JF4VCZER.js → chunk-WSINZHSR.js} +27 -1
- package/dist/{chunk-MAB662PR.js → chunk-YCBJDT23.js} +62 -48
- package/dist/{clone-VRVODkBn.d.ts → clone-ywzFVkID.d.ts} +4 -4
- package/dist/course-C5DXOIVO.js +24 -0
- package/dist/database/index.d.ts +5 -5
- package/dist/database/index.js +8 -8
- package/dist/event-VW3FBN4F.js +20 -0
- package/dist/{form-types-Dkqm9UO2.d.ts → form-types-BrHYdpi0.d.ts} +1 -1
- package/dist/{game-NEQP7OFX.js → game-7AXW7XKS.js} +1 -1
- package/dist/{grant-expiration-cleaner-CTsW0hvU.d.ts → grant-expiration-cleaner-CRS9OyhV.d.ts} +3 -3
- package/dist/index.d.ts +10 -320
- package/dist/index.js +292 -867
- package/dist/{moderation-HRMMBFVH.js → moderation-5Z4LKOKN.js} +5 -3
- package/dist/{page-MADZ5OHM.js → page-W4G6433H.js} +1 -1
- package/dist/portability/index.d.ts +330 -0
- package/dist/portability/index.js +34 -0
- package/dist/post-7IOO64MD.js +14 -0
- package/dist/{profile-5H6XWCK4.js → profile-KLHCAQY2.js} +1 -1
- package/dist/publication-3MN3WWKP.js +10 -0
- package/dist/{query-ast-h31svZnG.d.ts → query-ast-DQJO7yRV.d.ts} +1 -1
- package/dist/{registry-Dh4Kr3fo.d.ts → registry-C9IRLLeR.d.ts} +1 -1
- package/dist/schema/index.d.ts +366 -26
- package/dist/schema/index.js +195 -149
- package/dist/space-GBTEHZOK.js +1 -1
- package/dist/store/index.d.ts +4 -4
- package/dist/store/index.js +2 -2
- package/dist/{store-jukJYsvr.d.ts → store-D1oiFQuF.d.ts} +19 -2
- package/dist/{types-Z9dUzbDF.d.ts → types-gws1tSf-.d.ts} +1 -1
- package/package.json +27 -25
- package/dist/{chunk-TW5XJHNF.js → chunk-ANMAR3KY.js} +14 -14
|
@@ -10,8 +10,9 @@ import {
|
|
|
10
10
|
PolicySubscriptionSchema,
|
|
11
11
|
PublicInteractionPolicySchema,
|
|
12
12
|
QualitySignalSchema,
|
|
13
|
-
ReviewTaskSchema
|
|
14
|
-
|
|
13
|
+
ReviewTaskSchema,
|
|
14
|
+
publicInteractionPolicyId
|
|
15
|
+
} from "./chunk-S7SEN4LH.js";
|
|
15
16
|
import "./chunk-NH6OLO3X.js";
|
|
16
17
|
import "./chunk-D4LUUZYD.js";
|
|
17
18
|
export {
|
|
@@ -26,5 +27,6 @@ export {
|
|
|
26
27
|
PolicySubscriptionSchema,
|
|
27
28
|
PublicInteractionPolicySchema,
|
|
28
29
|
QualitySignalSchema,
|
|
29
|
-
ReviewTaskSchema
|
|
30
|
+
ReviewTaskSchema,
|
|
31
|
+
publicInteractionPolicyId
|
|
30
32
|
};
|
|
@@ -0,0 +1,330 @@
|
|
|
1
|
+
import { a1 as NodePayload, s as NodeChange } from '../types-gws1tSf-.js';
|
|
2
|
+
import { N as NodeStore } from '../store-D1oiFQuF.js';
|
|
3
|
+
import '@xnetjs/core';
|
|
4
|
+
import '@xnetjs/crypto';
|
|
5
|
+
import '@xnetjs/sqlite';
|
|
6
|
+
import '@xnetjs/sync';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Portability types — the `.xnetpack` bundle format (exploration 0344).
|
|
10
|
+
*
|
|
11
|
+
* A bundle is the sync protocol written to disk: an NDJSON stream of the
|
|
12
|
+
* signed, hash-chained change log plus optional content-addressed blobs and
|
|
13
|
+
* Yjs document states, indexed by a signed manifest. Export is
|
|
14
|
+
* "sync-to-disk"; import is verify-then-replay through the same apply path
|
|
15
|
+
* the sync layer uses, so a bundle behaves like a peer that happens to be a
|
|
16
|
+
* file.
|
|
17
|
+
*
|
|
18
|
+
* Bundle layout (a directory, or the same paths inside a zip):
|
|
19
|
+
*
|
|
20
|
+
* manifest.json — XnetpackManifest, signed by the exporting DID
|
|
21
|
+
* changes.ndjson — one PortableChangeRecord per line
|
|
22
|
+
* blobs.ndjson — one PortableBlobRecord per line (index)
|
|
23
|
+
* blobs/<algo>/<hex> — raw blob bytes, filename = content hash
|
|
24
|
+
* yjs/docs.ndjson — one PortableYjsDocRecord per line
|
|
25
|
+
*/
|
|
26
|
+
|
|
27
|
+
/** Format identifier + version for the bundle layout itself. */
|
|
28
|
+
declare const XNETPACK_FORMAT_VERSION = "xnetpack/1";
|
|
29
|
+
/** Entry paths within a bundle. */
|
|
30
|
+
declare const BUNDLE_ENTRY: {
|
|
31
|
+
readonly manifest: "manifest.json";
|
|
32
|
+
readonly changes: "changes.ndjson";
|
|
33
|
+
/** Batch commits covering the owner's own changes (exploration 0357). */
|
|
34
|
+
readonly commits: "commits.ndjson";
|
|
35
|
+
readonly blobIndex: "blobs.ndjson";
|
|
36
|
+
readonly yjsDocs: "yjs/docs.ndjson";
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* A change serialized for the bundle. Mirrors the hub wire shape
|
|
40
|
+
* (`SerializedNodeChange`) minus the transport-only `room` field, so a
|
|
41
|
+
* bundle line and a relayed change are interchangeable representations of
|
|
42
|
+
* the same signed record.
|
|
43
|
+
*/
|
|
44
|
+
type PortableChangeRecord = {
|
|
45
|
+
id: string;
|
|
46
|
+
type: string;
|
|
47
|
+
hash: string;
|
|
48
|
+
nodeId: string;
|
|
49
|
+
schemaId?: string;
|
|
50
|
+
lamportTime: number;
|
|
51
|
+
authorDid: string;
|
|
52
|
+
wallTime: number;
|
|
53
|
+
parentHash: string | null;
|
|
54
|
+
payload: NodePayload;
|
|
55
|
+
signatureB64: string;
|
|
56
|
+
protocolVersion?: number;
|
|
57
|
+
batchId?: string;
|
|
58
|
+
batchIndex?: number;
|
|
59
|
+
batchSize?: number;
|
|
60
|
+
};
|
|
61
|
+
/** Blob index line: metadata for a `blobs/<algo>/<hex>` entry. */
|
|
62
|
+
type PortableBlobRecord = {
|
|
63
|
+
cid: string;
|
|
64
|
+
/** Entry path within the bundle holding the raw bytes. */
|
|
65
|
+
path: string;
|
|
66
|
+
size: number;
|
|
67
|
+
mimeType?: string;
|
|
68
|
+
};
|
|
69
|
+
/** Yjs doc line: the full doc state as a single Yjs update (base64). */
|
|
70
|
+
type PortableYjsDocRecord = {
|
|
71
|
+
nodeId: string;
|
|
72
|
+
updateB64: string;
|
|
73
|
+
};
|
|
74
|
+
/** What to export. */
|
|
75
|
+
type BundleScope = {
|
|
76
|
+
kind: 'full';
|
|
77
|
+
} | {
|
|
78
|
+
kind: 'nodes';
|
|
79
|
+
nodeIds: readonly string[];
|
|
80
|
+
} | {
|
|
81
|
+
kind: 'schemas';
|
|
82
|
+
schemaIds: readonly string[];
|
|
83
|
+
} | {
|
|
84
|
+
kind: 'space';
|
|
85
|
+
spaceId: string;
|
|
86
|
+
};
|
|
87
|
+
/**
|
|
88
|
+
* A position in the change log: the highest Lamport time in the exported
|
|
89
|
+
* set plus the hashes of the changes at that frontier. A later incremental
|
|
90
|
+
* export passes a previous manifest's `frontier` as `since`; it becomes the
|
|
91
|
+
* new bundle's `prerequisites` (git-bundle semantics: the importer must
|
|
92
|
+
* already hold these heads).
|
|
93
|
+
*/
|
|
94
|
+
type BundleFrontier = {
|
|
95
|
+
lamport: number;
|
|
96
|
+
/** Hashes of exported changes at `lamport` (capped sample). */
|
|
97
|
+
heads: string[];
|
|
98
|
+
changeCount: number;
|
|
99
|
+
};
|
|
100
|
+
type XnetpackManifest = {
|
|
101
|
+
formatVersion: typeof XNETPACK_FORMAT_VERSION;
|
|
102
|
+
/** Protocol versions the records were produced under. */
|
|
103
|
+
protocolVersion: {
|
|
104
|
+
change: number;
|
|
105
|
+
};
|
|
106
|
+
ownerDid: string;
|
|
107
|
+
scope: BundleScope;
|
|
108
|
+
createdAt: number;
|
|
109
|
+
frontier: BundleFrontier;
|
|
110
|
+
/** Present on incremental bundles: the frontier this bundle starts after. */
|
|
111
|
+
prerequisites?: BundleFrontier;
|
|
112
|
+
counts: {
|
|
113
|
+
changes: number;
|
|
114
|
+
blobs: number;
|
|
115
|
+
yjsDocs: number;
|
|
116
|
+
commits?: number;
|
|
117
|
+
};
|
|
118
|
+
/**
|
|
119
|
+
* Digest over every non-manifest entry (see `digestEntries`): detects a
|
|
120
|
+
* bundle whose entries were swapped or truncated after manifest signing.
|
|
121
|
+
*/
|
|
122
|
+
contentDigest: string;
|
|
123
|
+
/** Ed25519 signature by `ownerDid` over the canonical unsigned manifest. */
|
|
124
|
+
signatureB64?: string;
|
|
125
|
+
};
|
|
126
|
+
/**
|
|
127
|
+
* Where a bundle is written. Implementations: in-memory (tests, zip
|
|
128
|
+
* assembly in the browser), a directory on disk (CLI/hub), a streaming zip.
|
|
129
|
+
*/
|
|
130
|
+
interface BundleSink {
|
|
131
|
+
writeEntry(path: string, data: Uint8Array): Promise<void> | void;
|
|
132
|
+
}
|
|
133
|
+
/** Where a bundle is read from. */
|
|
134
|
+
interface BundleSource {
|
|
135
|
+
/** Returns null when the entry does not exist. */
|
|
136
|
+
readEntry(path: string): Promise<Uint8Array | null>;
|
|
137
|
+
/** Stream the lines of an NDJSON entry (without trailing newlines). */
|
|
138
|
+
readLines(path: string): AsyncIterable<string>;
|
|
139
|
+
/** List entry paths under a prefix (used for `blobs/`). */
|
|
140
|
+
listEntries(prefix: string): Promise<string[]>;
|
|
141
|
+
}
|
|
142
|
+
interface BundleBlobPort {
|
|
143
|
+
list(): AsyncIterable<{
|
|
144
|
+
cid: string;
|
|
145
|
+
bytes: Uint8Array;
|
|
146
|
+
mimeType?: string;
|
|
147
|
+
}>;
|
|
148
|
+
has(cid: string): Promise<boolean>;
|
|
149
|
+
put(bytes: Uint8Array, meta?: {
|
|
150
|
+
cid?: string;
|
|
151
|
+
mimeType?: string;
|
|
152
|
+
}): Promise<void>;
|
|
153
|
+
}
|
|
154
|
+
interface BundleYjsPort {
|
|
155
|
+
/** Yield each doc's full state as one Yjs update. */
|
|
156
|
+
list(): AsyncIterable<{
|
|
157
|
+
nodeId: string;
|
|
158
|
+
update: Uint8Array;
|
|
159
|
+
}>;
|
|
160
|
+
/**
|
|
161
|
+
* Merge an update into the node's doc. Implementations use Yjs
|
|
162
|
+
* `applyUpdate`, which merges by state vector — re-importing a doc the
|
|
163
|
+
* store already has must not duplicate content.
|
|
164
|
+
*/
|
|
165
|
+
apply(nodeId: string, update: Uint8Array): Promise<void>;
|
|
166
|
+
}
|
|
167
|
+
type BundleVerifyIssue = {
|
|
168
|
+
severity: 'error' | 'warning';
|
|
169
|
+
code: 'unknown-format' | 'future-protocol' | 'manifest-unsigned' | 'manifest-signature-invalid' | 'content-digest-mismatch' | 'count-mismatch' | 'change-hash-invalid' | 'change-signature-invalid' | 'change-unparseable' | 'blob-digest-mismatch' | 'dangling-parent';
|
|
170
|
+
detail: string;
|
|
171
|
+
/** For per-record issues: the change hash / blob cid / line number. */
|
|
172
|
+
subject?: string;
|
|
173
|
+
};
|
|
174
|
+
type BundleVerifyReport = {
|
|
175
|
+
ok: boolean;
|
|
176
|
+
manifest: XnetpackManifest | null;
|
|
177
|
+
issues: BundleVerifyIssue[];
|
|
178
|
+
/** Changes whose parentHash is neither in the bundle nor a prerequisite head. */
|
|
179
|
+
danglingParents: number;
|
|
180
|
+
};
|
|
181
|
+
type QuarantinedRecord = {
|
|
182
|
+
kind: 'change' | 'blob' | 'yjs-doc';
|
|
183
|
+
subject: string;
|
|
184
|
+
reason: string;
|
|
185
|
+
};
|
|
186
|
+
type BundleApplyReport = {
|
|
187
|
+
applied: number;
|
|
188
|
+
/** Changes the store already held (idempotent redelivery). */
|
|
189
|
+
duplicates: number;
|
|
190
|
+
quarantined: QuarantinedRecord[];
|
|
191
|
+
blobsInstalled: number;
|
|
192
|
+
yjsDocsApplied: number;
|
|
193
|
+
/** Prerequisite heads the store did not hold (empty when none missing). */
|
|
194
|
+
missingPrerequisites: string[];
|
|
195
|
+
};
|
|
196
|
+
type ApplyBundleOptions = {
|
|
197
|
+
/** DID of the identity performing the import. */
|
|
198
|
+
importerDid: string;
|
|
199
|
+
/**
|
|
200
|
+
* Import a bundle whose ownerDid differs from importerDid. Off by
|
|
201
|
+
* default: importing someone else's bundle is a grant-shaped decision
|
|
202
|
+
* (ATProto learned this the hard way — bluesky-social/atproto#4067).
|
|
203
|
+
*/
|
|
204
|
+
allowForeignOwner?: boolean;
|
|
205
|
+
/** Accept a bundle with no manifest signature (default false). */
|
|
206
|
+
allowUnsigned?: boolean;
|
|
207
|
+
/** Continue even when prerequisite heads are missing (default false). */
|
|
208
|
+
ignoreMissingPrerequisites?: boolean;
|
|
209
|
+
blobPort?: BundleBlobPort;
|
|
210
|
+
yjsPort?: BundleYjsPort;
|
|
211
|
+
onQuarantine?: (record: QuarantinedRecord) => void;
|
|
212
|
+
};
|
|
213
|
+
type WriteBundleOptions = {
|
|
214
|
+
ownerDid: string;
|
|
215
|
+
/**
|
|
216
|
+
* Signs the canonical unsigned manifest bytes. Wire this to the
|
|
217
|
+
* identity's Ed25519 key (`sign` from @xnetjs/crypto) or a WebCrypto /
|
|
218
|
+
* remote signer. When omitted the manifest is unsigned and import
|
|
219
|
+
* requires `allowUnsigned`.
|
|
220
|
+
*/
|
|
221
|
+
manifestSigner?: (bytes: Uint8Array) => Promise<Uint8Array> | Uint8Array;
|
|
222
|
+
/**
|
|
223
|
+
* Signs the UTF-8 bytes of a batch commit's hash, enabling one signature to
|
|
224
|
+
* cover up to 1000 of the owner's changes on import (exploration 0357).
|
|
225
|
+
* Same key as `manifestSigner`; omit to emit a bundle with no commits
|
|
226
|
+
* (every change is then verified individually, as before).
|
|
227
|
+
*/
|
|
228
|
+
commitSigner?: (bytes: Uint8Array) => Promise<Uint8Array> | Uint8Array;
|
|
229
|
+
/** Export only changes after this frontier (becomes `prerequisites`). */
|
|
230
|
+
since?: BundleFrontier;
|
|
231
|
+
blobPort?: BundleBlobPort;
|
|
232
|
+
yjsPort?: BundleYjsPort;
|
|
233
|
+
};
|
|
234
|
+
/** Hash of a change at the frontier — capped to keep manifests small. */
|
|
235
|
+
declare const FRONTIER_HEADS_CAP = 32;
|
|
236
|
+
|
|
237
|
+
/**
|
|
238
|
+
* Bundle serialization helpers: change ↔ NDJSON line, canonical manifest
|
|
239
|
+
* bytes, and the chunked entry digest (exploration 0344).
|
|
240
|
+
*/
|
|
241
|
+
|
|
242
|
+
/** Serialize a signed change to its bundle-line form. */
|
|
243
|
+
declare function toPortableChangeRecord(change: NodeChange): PortableChangeRecord;
|
|
244
|
+
/** Rehydrate a bundle line into a signed change. */
|
|
245
|
+
declare function fromPortableChangeRecord(record: PortableChangeRecord): NodeChange;
|
|
246
|
+
/**
|
|
247
|
+
* The bytes the manifest signature covers: canonical JSON of the manifest
|
|
248
|
+
* with `signatureB64` removed.
|
|
249
|
+
*/
|
|
250
|
+
declare function canonicalManifestBytes(manifest: XnetpackManifest): Uint8Array;
|
|
251
|
+
|
|
252
|
+
/**
|
|
253
|
+
* writeBundle — export a scope of the store as an `.xnetpack` bundle
|
|
254
|
+
* (exploration 0344). Export is sync-to-disk: the entries are the same
|
|
255
|
+
* signed records the sync layer ships, so the bundle needs no bespoke
|
|
256
|
+
* parser on the other side.
|
|
257
|
+
*/
|
|
258
|
+
|
|
259
|
+
/** `cid:<algo>:<hex>` → bundle entry path; opaque cids go under blobs/raw/. */
|
|
260
|
+
declare function blobEntryPath(cid: string): string;
|
|
261
|
+
declare function writeBundle(store: NodeStore, scope: BundleScope, sink: BundleSink, options: WriteBundleOptions): Promise<XnetpackManifest>;
|
|
262
|
+
|
|
263
|
+
/**
|
|
264
|
+
* verifyBundle — read-only integrity check of an `.xnetpack` bundle
|
|
265
|
+
* (exploration 0344). git-bundle-verify semantics: report everything wrong
|
|
266
|
+
* before any write happens. A foreign bundle is hostile input; nothing here
|
|
267
|
+
* trusts a byte it hasn't re-hashed or re-verified.
|
|
268
|
+
*/
|
|
269
|
+
|
|
270
|
+
type VerifyBundleOptions = {
|
|
271
|
+
/**
|
|
272
|
+
* Verify each change's hash + Ed25519 signature (default true). The
|
|
273
|
+
* apply pipeline passes false: the manifest-signed content digest
|
|
274
|
+
* already proves bundle-level integrity here, and `applyRemoteChange`
|
|
275
|
+
* re-verifies every record individually before it is written — checking
|
|
276
|
+
* signatures twice doubles import time (~1.4ms/change) for no added
|
|
277
|
+
* safety.
|
|
278
|
+
*/
|
|
279
|
+
verifyChangeSignatures?: boolean;
|
|
280
|
+
};
|
|
281
|
+
declare function verifyBundle(source: BundleSource, options?: VerifyBundleOptions): Promise<BundleVerifyReport>;
|
|
282
|
+
|
|
283
|
+
/**
|
|
284
|
+
* applyBundle — import an `.xnetpack` bundle by replaying it through the
|
|
285
|
+
* store's remote-change apply path (exploration 0344). Import is
|
|
286
|
+
* sync-from-disk: every change goes through the exact verification,
|
|
287
|
+
* ledger-enforcement, authz, and LWW machinery a relayed change does, so a
|
|
288
|
+
* bundle can do nothing a hostile sync peer couldn't.
|
|
289
|
+
*/
|
|
290
|
+
|
|
291
|
+
/** Thrown when the bundle fails a pre-apply gate; nothing was written. */
|
|
292
|
+
declare class BundleImportError extends Error {
|
|
293
|
+
readonly code: 'verify-failed' | 'unsigned-manifest' | 'foreign-owner' | 'missing-prerequisites';
|
|
294
|
+
constructor(message: string, code: 'verify-failed' | 'unsigned-manifest' | 'foreign-owner' | 'missing-prerequisites');
|
|
295
|
+
}
|
|
296
|
+
declare function applyBundle(store: NodeStore, source: BundleSource, options: ApplyBundleOptions): Promise<BundleApplyReport>;
|
|
297
|
+
/** Convenience: parse a manifest without verifying (for UI preview). */
|
|
298
|
+
declare function readBundleManifest(source: BundleSource): Promise<any>;
|
|
299
|
+
|
|
300
|
+
/**
|
|
301
|
+
* In-memory bundle sink/source — the reference implementation used by
|
|
302
|
+
* tests, and by the browser to assemble a bundle before zipping/download.
|
|
303
|
+
*/
|
|
304
|
+
|
|
305
|
+
declare class MemoryBundleSink implements BundleSink {
|
|
306
|
+
readonly entries: Map<string, Uint8Array<ArrayBufferLike>>;
|
|
307
|
+
writeEntry(path: string, data: Uint8Array): void;
|
|
308
|
+
toSource(): MemoryBundleSource;
|
|
309
|
+
}
|
|
310
|
+
declare class MemoryBundleSource implements BundleSource {
|
|
311
|
+
private readonly entries;
|
|
312
|
+
constructor(entries: ReadonlyMap<string, Uint8Array>);
|
|
313
|
+
readEntry(path: string): Promise<Uint8Array | null>;
|
|
314
|
+
readLines(path: string): AsyncIterable<string>;
|
|
315
|
+
listEntries(prefix: string): Promise<string[]>;
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
/**
|
|
319
|
+
* A BundleYjsPort backed by the store's per-node CRDT document content
|
|
320
|
+
* (`yjs_state` via get/setDocumentContent) — exploration 0344.
|
|
321
|
+
*
|
|
322
|
+
* Import merges by Yjs state vector (never re-applies a rebuilt doc, which
|
|
323
|
+
* would duplicate blocks — see the seed runner's create-once rule). Stored
|
|
324
|
+
* content that is not a plain Yjs update (e.g. an encrypted snapshot
|
|
325
|
+
* wrapper) is transferred create-once and never merged blindly.
|
|
326
|
+
*/
|
|
327
|
+
|
|
328
|
+
declare function createStoreYjsPort(store: NodeStore): BundleYjsPort;
|
|
329
|
+
|
|
330
|
+
export { type ApplyBundleOptions, BUNDLE_ENTRY, type BundleApplyReport, type BundleBlobPort, type BundleFrontier, BundleImportError, type BundleScope, type BundleSink, type BundleSource, type BundleVerifyIssue, type BundleVerifyReport, type BundleYjsPort, FRONTIER_HEADS_CAP, MemoryBundleSink, MemoryBundleSource, type PortableBlobRecord, type PortableChangeRecord, type PortableYjsDocRecord, type QuarantinedRecord, type VerifyBundleOptions, type WriteBundleOptions, XNETPACK_FORMAT_VERSION, type XnetpackManifest, applyBundle, blobEntryPath, canonicalManifestBytes, createStoreYjsPort, fromPortableChangeRecord, readBundleManifest, toPortableChangeRecord, verifyBundle, writeBundle };
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import {
|
|
2
|
+
BUNDLE_ENTRY,
|
|
3
|
+
BundleImportError,
|
|
4
|
+
FRONTIER_HEADS_CAP,
|
|
5
|
+
MemoryBundleSink,
|
|
6
|
+
MemoryBundleSource,
|
|
7
|
+
XNETPACK_FORMAT_VERSION,
|
|
8
|
+
applyBundle,
|
|
9
|
+
blobEntryPath,
|
|
10
|
+
canonicalManifestBytes,
|
|
11
|
+
createStoreYjsPort,
|
|
12
|
+
fromPortableChangeRecord,
|
|
13
|
+
readBundleManifest,
|
|
14
|
+
toPortableChangeRecord,
|
|
15
|
+
verifyBundle,
|
|
16
|
+
writeBundle
|
|
17
|
+
} from "../chunk-N37U6ZPI.js";
|
|
18
|
+
export {
|
|
19
|
+
BUNDLE_ENTRY,
|
|
20
|
+
BundleImportError,
|
|
21
|
+
FRONTIER_HEADS_CAP,
|
|
22
|
+
MemoryBundleSink,
|
|
23
|
+
MemoryBundleSource,
|
|
24
|
+
XNETPACK_FORMAT_VERSION,
|
|
25
|
+
applyBundle,
|
|
26
|
+
blobEntryPath,
|
|
27
|
+
canonicalManifestBytes,
|
|
28
|
+
createStoreYjsPort,
|
|
29
|
+
fromPortableChangeRecord,
|
|
30
|
+
readBundleManifest,
|
|
31
|
+
toPortableChangeRecord,
|
|
32
|
+
verifyBundle,
|
|
33
|
+
writeBundle
|
|
34
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import {
|
|
2
|
+
POST_SCHEMA_IRI,
|
|
3
|
+
PostSchema,
|
|
4
|
+
comparePostsForFeed
|
|
5
|
+
} from "./chunk-KY62NUOI.js";
|
|
6
|
+
import "./chunk-RLRAWZJE.js";
|
|
7
|
+
import "./chunk-GSLOK5KV.js";
|
|
8
|
+
import "./chunk-NH6OLO3X.js";
|
|
9
|
+
import "./chunk-D4LUUZYD.js";
|
|
10
|
+
export {
|
|
11
|
+
POST_SCHEMA_IRI,
|
|
12
|
+
PostSchema,
|
|
13
|
+
comparePostsForFeed
|
|
14
|
+
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { S as SchemaIRI, c as SortDirection, N as NodeQueryPageCountMode, P as PropertyBuilder, I as InferCreateProps, D as DefinedSchema, d as SystemOrderField } from './types-
|
|
1
|
+
import { S as SchemaIRI, c as SortDirection, N as NodeQueryPageCountMode, P as PropertyBuilder, I as InferCreateProps, D as DefinedSchema, d as SystemOrderField } from './types-gws1tSf-.js';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Canonical query AST for advanced Node reads.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { P as PropertyBuilder, D as DefinedSchema, S as SchemaIRI, a as Schema, b as ParsedSchemaIRI } from './types-
|
|
1
|
+
import { P as PropertyBuilder, D as DefinedSchema, S as SchemaIRI, a as Schema, b as ParsedSchemaIRI } from './types-gws1tSf-.js';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Schema Registry - Runtime lookup for schema definitions.
|