@amalgm/live 0.2.52 → 0.2.54
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/PURPOSE.md +24 -8
- package/dist/entities/cloud.d.ts +31 -6
- package/dist/entities/cloud.d.ts.map +1 -1
- package/dist/entities/cloud.js +210 -47
- package/dist/entities/cloud.js.map +1 -1
- package/dist/entities/graph-head.d.ts +109 -0
- package/dist/entities/graph-head.d.ts.map +1 -0
- package/dist/entities/graph-head.js +267 -0
- package/dist/entities/graph-head.js.map +1 -0
- package/dist/entities/index.d.ts +3 -1
- package/dist/entities/index.d.ts.map +1 -1
- package/dist/entities/index.js +3 -1
- package/dist/entities/index.js.map +1 -1
- package/dist/entities/rules.js +2 -2
- package/dist/entities/rules.js.map +1 -1
- package/dist/entities/types.d.ts +3 -0
- package/dist/entities/types.d.ts.map +1 -1
- package/dist/entities/types.js +3 -0
- package/dist/entities/types.js.map +1 -1
- package/dist/files/commands.d.ts.map +1 -1
- package/dist/files/commands.js +2 -13
- package/dist/files/commands.js.map +1 -1
- package/dist/registration/user-ground.d.ts +5 -1
- package/dist/registration/user-ground.d.ts.map +1 -1
- package/dist/registration/user-ground.js +9 -14
- package/dist/registration/user-ground.js.map +1 -1
- package/dist/transfer/upload.d.ts +7 -0
- package/dist/transfer/upload.d.ts.map +1 -1
- package/dist/transfer/upload.js +11 -4
- package/dist/transfer/upload.js.map +1 -1
- package/dist-cjs/entities/cloud.js +212 -49
- package/dist-cjs/entities/cloud.js.map +1 -1
- package/dist-cjs/entities/graph-head.js +280 -0
- package/dist-cjs/entities/graph-head.js.map +1 -0
- package/dist-cjs/entities/index.js +3 -1
- package/dist-cjs/entities/index.js.map +1 -1
- package/dist-cjs/entities/rules.js +1 -1
- package/dist-cjs/entities/rules.js.map +1 -1
- package/dist-cjs/entities/types.js +4 -1
- package/dist-cjs/entities/types.js.map +1 -1
- package/dist-cjs/files/commands.js +1 -12
- package/dist-cjs/files/commands.js.map +1 -1
- package/dist-cjs/registration/user-ground.js +8 -13
- package/dist-cjs/registration/user-ground.js.map +1 -1
- package/dist-cjs/transfer/upload.js +13 -4
- package/dist-cjs/transfer/upload.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Immutable graph pages and the committed graph head.
|
|
4
|
+
*
|
|
5
|
+
* The registry resource is only ever written by Register, and Register
|
|
6
|
+
* always replaces whole roots. So the immutable unit of graph publication
|
|
7
|
+
* is the root subtree: each root's canonical records split into
|
|
8
|
+
* content-addressed pages, and the whole graph named by one small head —
|
|
9
|
+
* sorted roots, each listing its ordered pages. Publishing a workspace
|
|
10
|
+
* uploads that workspace's pages and commits a head that names every other
|
|
11
|
+
* root's pages unchanged; nothing about an untouched root is rebuilt,
|
|
12
|
+
* serialized, journaled, or transmitted.
|
|
13
|
+
*
|
|
14
|
+
* Laws:
|
|
15
|
+
* - Page bytes are the canonical JSON array of a contiguous uuid-sorted
|
|
16
|
+
* slice of one root's records; the page's identity is the SHA-256 of
|
|
17
|
+
* those exact bytes.
|
|
18
|
+
* - Pagination is canonical: the same records always split into the same
|
|
19
|
+
* pages (`pagesForRoot`), so two machines paging one root agree
|
|
20
|
+
* byte-for-byte and an unchanged root is provable by page-list identity.
|
|
21
|
+
* - The head is total: it names every root of the graph. Its checksum,
|
|
22
|
+
* `sha256(stableJson(head))`, is the graph's snapshot checksum.
|
|
23
|
+
* - Assembly re-proves everything it accepts: page hashes, root-subtree
|
|
24
|
+
* laws (via `rootReplacementFromRecords`), and canonical pagination.
|
|
25
|
+
*/
|
|
26
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
27
|
+
exports.GRAPH_HEAD_OPERATION_KIND = exports.GRAPH_HEAD_KIND = exports.GRAPH_PAGE_BYTES = void 0;
|
|
28
|
+
exports.pagesForRoot = pagesForRoot;
|
|
29
|
+
exports.recordsByRoot = recordsByRoot;
|
|
30
|
+
exports.graphHeadFromRootPages = graphHeadFromRootPages;
|
|
31
|
+
exports.graphHeadChecksum = graphHeadChecksum;
|
|
32
|
+
exports.parseGraphHead = parseGraphHead;
|
|
33
|
+
exports.sameRootPages = sameRootPages;
|
|
34
|
+
exports.assembleRootRecords = assembleRootRecords;
|
|
35
|
+
exports.graphHeadReplacement = graphHeadReplacement;
|
|
36
|
+
exports.graphHeadFromSnapshotRecords = graphHeadFromSnapshotRecords;
|
|
37
|
+
exports.recordsFromHead = recordsFromHead;
|
|
38
|
+
const types_js_1 = require("./types.js");
|
|
39
|
+
const bytes_js_1 = require("./bytes.js");
|
|
40
|
+
const cloud_js_1 = require("./cloud.js");
|
|
41
|
+
/** Byte budget one page targets. A single record larger than the budget
|
|
42
|
+
* still travels as its own page: the budget bounds waste, never validity. */
|
|
43
|
+
exports.GRAPH_PAGE_BYTES = 4 * 1024 * 1024;
|
|
44
|
+
exports.GRAPH_HEAD_KIND = 'amalgm-entity-registry-head';
|
|
45
|
+
exports.GRAPH_HEAD_OPERATION_KIND = 'entity.graph.head';
|
|
46
|
+
const SHA256_HEX = /^[0-9a-f]{64}$/;
|
|
47
|
+
/** UTF-8 byte length without allocating an encoding. */
|
|
48
|
+
function utf8Length(text) {
|
|
49
|
+
let length = 0;
|
|
50
|
+
for (let index = 0; index < text.length; index += 1) {
|
|
51
|
+
const code = text.charCodeAt(index);
|
|
52
|
+
if (code < 0x80)
|
|
53
|
+
length += 1;
|
|
54
|
+
else if (code < 0x800)
|
|
55
|
+
length += 2;
|
|
56
|
+
else if (code >= 0xd800 && code < 0xdc00) {
|
|
57
|
+
length += 4;
|
|
58
|
+
index += 1;
|
|
59
|
+
}
|
|
60
|
+
else
|
|
61
|
+
length += 3;
|
|
62
|
+
}
|
|
63
|
+
return length;
|
|
64
|
+
}
|
|
65
|
+
/** Split one complete root subtree into its canonical pages. The records
|
|
66
|
+
* must be exactly the subtree — the same law `entity.roots.replace`
|
|
67
|
+
* enforced — so every page set that exists is lawful by construction. */
|
|
68
|
+
function pagesForRoot(rootId, records, sha256Hex) {
|
|
69
|
+
const sorted = (0, cloud_js_1.rootReplacementFromRecords)([rootId], records).records;
|
|
70
|
+
const pages = [];
|
|
71
|
+
let parts = [];
|
|
72
|
+
let pageRecords = [];
|
|
73
|
+
let pageBytes = 2;
|
|
74
|
+
const seal = () => {
|
|
75
|
+
const text = `[${parts.join(',')}]`;
|
|
76
|
+
const bytes = (0, bytes_js_1.utf8Encode)(text);
|
|
77
|
+
pages.push({
|
|
78
|
+
ref: { sha256: sha256Hex(bytes), bytes: bytes.length, records: pageRecords.length },
|
|
79
|
+
bytes,
|
|
80
|
+
records: pageRecords,
|
|
81
|
+
});
|
|
82
|
+
parts = [];
|
|
83
|
+
pageRecords = [];
|
|
84
|
+
pageBytes = 2;
|
|
85
|
+
};
|
|
86
|
+
for (const record of sorted) {
|
|
87
|
+
const part = (0, cloud_js_1.stableJson)(record);
|
|
88
|
+
const partLength = utf8Length(part);
|
|
89
|
+
if (parts.length > 0 && pageBytes + partLength + 1 > exports.GRAPH_PAGE_BYTES)
|
|
90
|
+
seal();
|
|
91
|
+
parts.push(part);
|
|
92
|
+
pageRecords.push(record);
|
|
93
|
+
pageBytes += partLength + (parts.length > 1 ? 1 : 0);
|
|
94
|
+
}
|
|
95
|
+
seal();
|
|
96
|
+
return pages;
|
|
97
|
+
}
|
|
98
|
+
/** Group a record list by the root each record descends from, every group
|
|
99
|
+
* uuid-sorted. A record no root reaches down child edges — an orphan or a
|
|
100
|
+
* cycle — refuses the graph rather than silently dropping out of it. */
|
|
101
|
+
function recordsByRoot(records) {
|
|
102
|
+
const snapshot = (0, cloud_js_1.snapshotFromRecords)(records);
|
|
103
|
+
const children = new Map();
|
|
104
|
+
for (const record of snapshot.records) {
|
|
105
|
+
if (record.parentUUID === null)
|
|
106
|
+
continue;
|
|
107
|
+
const siblings = children.get(record.parentUUID);
|
|
108
|
+
if (siblings)
|
|
109
|
+
siblings.push(record);
|
|
110
|
+
else
|
|
111
|
+
children.set(record.parentUUID, [record]);
|
|
112
|
+
}
|
|
113
|
+
const rootOf = new Map();
|
|
114
|
+
for (const record of snapshot.records) {
|
|
115
|
+
if (record.parentUUID !== null)
|
|
116
|
+
continue;
|
|
117
|
+
const frontier = [record.uuid];
|
|
118
|
+
rootOf.set(record.uuid, record.uuid);
|
|
119
|
+
while (frontier.length > 0) {
|
|
120
|
+
for (const child of children.get(frontier.pop()) ?? []) {
|
|
121
|
+
if (rootOf.has(child.uuid))
|
|
122
|
+
continue;
|
|
123
|
+
rootOf.set(child.uuid, record.uuid);
|
|
124
|
+
frontier.push(child.uuid);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
const groups = new Map();
|
|
129
|
+
for (const record of snapshot.records) {
|
|
130
|
+
const rootId = rootOf.get(record.uuid);
|
|
131
|
+
if (rootId === undefined) {
|
|
132
|
+
throw new Error(`cloud graph record ${record.uuid} descends from no root`);
|
|
133
|
+
}
|
|
134
|
+
const group = groups.get(rootId);
|
|
135
|
+
if (group)
|
|
136
|
+
group.push(record);
|
|
137
|
+
else
|
|
138
|
+
groups.set(rootId, [record]);
|
|
139
|
+
}
|
|
140
|
+
return groups;
|
|
141
|
+
}
|
|
142
|
+
function assertPageRef(value) {
|
|
143
|
+
const ref = value;
|
|
144
|
+
if (!ref || typeof ref !== 'object'
|
|
145
|
+
|| typeof ref.sha256 !== 'string' || !SHA256_HEX.test(ref.sha256)
|
|
146
|
+
|| typeof ref.bytes !== 'number' || !Number.isSafeInteger(ref.bytes) || ref.bytes < 2
|
|
147
|
+
|| typeof ref.records !== 'number' || !Number.isSafeInteger(ref.records) || ref.records < 1) {
|
|
148
|
+
throw new Error('cloud graph head has an invalid page reference');
|
|
149
|
+
}
|
|
150
|
+
return { sha256: ref.sha256, bytes: ref.bytes, records: ref.records };
|
|
151
|
+
}
|
|
152
|
+
/** Build the canonical head from per-root page lists: roots validated,
|
|
153
|
+
* sorted, duplicates refused; every root carries at least one page
|
|
154
|
+
* because every root holds at least its own record. */
|
|
155
|
+
function graphHeadFromRootPages(roots) {
|
|
156
|
+
const normalized = roots.map((root) => {
|
|
157
|
+
if (typeof root.rootId !== 'string' || !types_js_1.UUID_PATTERN.test(root.rootId)) {
|
|
158
|
+
throw new Error('cloud graph head has an invalid root UUID');
|
|
159
|
+
}
|
|
160
|
+
if (!Array.isArray(root.pages) || root.pages.length === 0) {
|
|
161
|
+
throw new Error(`cloud graph head root ${root.rootId} has no pages`);
|
|
162
|
+
}
|
|
163
|
+
return { rootId: root.rootId.toLowerCase(), pages: root.pages.map(assertPageRef) };
|
|
164
|
+
}).sort((left, right) => (left.rootId < right.rootId ? -1 : left.rootId > right.rootId ? 1 : 0));
|
|
165
|
+
for (let index = 1; index < normalized.length; index += 1) {
|
|
166
|
+
if (normalized[index].rootId === normalized[index - 1].rootId) {
|
|
167
|
+
throw new Error('cloud graph head has duplicate roots');
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
return { schemaVersion: 1, kind: exports.GRAPH_HEAD_KIND, roots: normalized };
|
|
171
|
+
}
|
|
172
|
+
/** The graph's snapshot checksum: the SHA-256 of the head's canonical
|
|
173
|
+
* serialization. Unchanged roots contribute only their page identities,
|
|
174
|
+
* so the checksum never requires materializing their records. */
|
|
175
|
+
function graphHeadChecksum(head, sha256Hex) {
|
|
176
|
+
return sha256Hex((0, cloud_js_1.stableJson)(head));
|
|
177
|
+
}
|
|
178
|
+
/** Parse head bytes (or their UTF-8 text) back into the canonical form. */
|
|
179
|
+
function parseGraphHead(bytes) {
|
|
180
|
+
let head;
|
|
181
|
+
try {
|
|
182
|
+
head = JSON.parse(typeof bytes === 'string' ? bytes : (0, bytes_js_1.utf8Decode)(bytes));
|
|
183
|
+
}
|
|
184
|
+
catch {
|
|
185
|
+
throw new Error('cloud graph head is not JSON');
|
|
186
|
+
}
|
|
187
|
+
if (head?.schemaVersion !== 1 || head?.kind !== exports.GRAPH_HEAD_KIND || !Array.isArray(head.roots)) {
|
|
188
|
+
throw new Error('cloud graph head has an unsupported shape');
|
|
189
|
+
}
|
|
190
|
+
return graphHeadFromRootPages(head.roots);
|
|
191
|
+
}
|
|
192
|
+
/** Two page lists name the same immutable pages in the same order. */
|
|
193
|
+
function sameRootPages(left, right) {
|
|
194
|
+
if (left.length !== right.length)
|
|
195
|
+
return false;
|
|
196
|
+
return left.every((page, index) => {
|
|
197
|
+
const other = right[index];
|
|
198
|
+
return page.sha256 === other.sha256
|
|
199
|
+
&& page.bytes === other.bytes
|
|
200
|
+
&& page.records === other.records;
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
/** Re-prove one root from its page bytes: every page's hash, size, and
|
|
204
|
+
* count; the complete subtree laws; and canonical pagination, so a lawful
|
|
205
|
+
* but differently-split page set is refused rather than cached as a
|
|
206
|
+
* second spelling of the same root. Returns the root's uuid-sorted
|
|
207
|
+
* records. */
|
|
208
|
+
function assembleRootRecords(rootId, refs, pages, sha256Hex) {
|
|
209
|
+
if (refs.length !== pages.length) {
|
|
210
|
+
throw new Error(`cloud graph root ${rootId} pages do not match its head`);
|
|
211
|
+
}
|
|
212
|
+
const assembled = [];
|
|
213
|
+
for (let index = 0; index < refs.length; index += 1) {
|
|
214
|
+
const ref = refs[index];
|
|
215
|
+
const bytes = pages[index];
|
|
216
|
+
if (bytes.length !== ref.bytes || sha256Hex(bytes) !== ref.sha256) {
|
|
217
|
+
throw new Error(`cloud graph page ${ref.sha256} does not match its bytes`);
|
|
218
|
+
}
|
|
219
|
+
let parsed;
|
|
220
|
+
try {
|
|
221
|
+
parsed = JSON.parse((0, bytes_js_1.utf8Decode)(bytes));
|
|
222
|
+
}
|
|
223
|
+
catch {
|
|
224
|
+
throw new Error(`cloud graph page ${ref.sha256} is not JSON`);
|
|
225
|
+
}
|
|
226
|
+
if (!Array.isArray(parsed) || parsed.length !== ref.records) {
|
|
227
|
+
throw new Error(`cloud graph page ${ref.sha256} does not carry its declared records`);
|
|
228
|
+
}
|
|
229
|
+
assembled.push(...parsed);
|
|
230
|
+
}
|
|
231
|
+
const canonical = pagesForRoot(rootId, assembled, sha256Hex);
|
|
232
|
+
if (!sameRootPages(canonical.map((page) => page.ref), refs)) {
|
|
233
|
+
throw new Error(`cloud graph root ${rootId} is not canonically paginated`);
|
|
234
|
+
}
|
|
235
|
+
return canonical.flatMap((page) => page.records);
|
|
236
|
+
}
|
|
237
|
+
/** Build the atomic head-commit operation. */
|
|
238
|
+
function graphHeadReplacement(head, replacedRootIds) {
|
|
239
|
+
if (replacedRootIds.length === 0) {
|
|
240
|
+
throw new Error('cloud graph head replacement replaces no roots');
|
|
241
|
+
}
|
|
242
|
+
const normalized = replacedRootIds.map((rootId) => {
|
|
243
|
+
if (!types_js_1.UUID_PATTERN.test(rootId)) {
|
|
244
|
+
throw new Error('cloud graph head replacement has an invalid root UUID');
|
|
245
|
+
}
|
|
246
|
+
return rootId.toLowerCase();
|
|
247
|
+
}).sort();
|
|
248
|
+
if (new Set(normalized).size !== normalized.length) {
|
|
249
|
+
throw new Error('cloud graph head replacement has duplicate roots');
|
|
250
|
+
}
|
|
251
|
+
return {
|
|
252
|
+
kind: exports.GRAPH_HEAD_OPERATION_KIND,
|
|
253
|
+
head: graphHeadFromRootPages(head.roots),
|
|
254
|
+
replacedRootIds: normalized,
|
|
255
|
+
};
|
|
256
|
+
}
|
|
257
|
+
/** Page every root of a complete record list — the transition from a
|
|
258
|
+
* records-shape snapshot to its head, and the shape of a first
|
|
259
|
+
* publication that must name the whole account. */
|
|
260
|
+
function graphHeadFromSnapshotRecords(records, sha256Hex) {
|
|
261
|
+
const roots = [];
|
|
262
|
+
const pages = [];
|
|
263
|
+
for (const [rootId, group] of recordsByRoot(records)) {
|
|
264
|
+
const rootPages = pagesForRoot(rootId, group, sha256Hex);
|
|
265
|
+
roots.push({ rootId, pages: rootPages.map((page) => page.ref) });
|
|
266
|
+
pages.push(...rootPages);
|
|
267
|
+
}
|
|
268
|
+
return { head: graphHeadFromRootPages(roots), pages };
|
|
269
|
+
}
|
|
270
|
+
/** Materialize the complete graph a head names, reading each page's bytes
|
|
271
|
+
* through `readPage`. Every root is re-proved on the way in; the result is
|
|
272
|
+
* the canonical whole-graph record list. */
|
|
273
|
+
function recordsFromHead(head, readPage, sha256Hex) {
|
|
274
|
+
const records = [];
|
|
275
|
+
for (const root of head.roots) {
|
|
276
|
+
records.push(...assembleRootRecords(root.rootId, root.pages, root.pages.map(readPage), sha256Hex));
|
|
277
|
+
}
|
|
278
|
+
return (0, cloud_js_1.snapshotFromRecords)(records).records;
|
|
279
|
+
}
|
|
280
|
+
//# sourceMappingURL=graph-head.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph-head.js","sourceRoot":"","sources":["../../src/entities/graph-head.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,8 @@
|
|
|
12
12
|
* - rules.ts version formula, naming, lifecycle inheritance,
|
|
13
13
|
* slot/container laws, record builders
|
|
14
14
|
* - moves.ts batch move validation: permutations, acyclicity, adoption
|
|
15
|
-
* - cloud.ts entity-cloud snapshot codec
|
|
15
|
+
* - cloud.ts entity-cloud snapshot codec, subtree containment, and
|
|
16
|
+
* the repo travel law
|
|
16
17
|
* - repo-states.ts Card + Checkpoint state codec and id derivations
|
|
17
18
|
*/
|
|
18
19
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
@@ -35,5 +36,6 @@ __exportStar(require("./bytes.js"), exports);
|
|
|
35
36
|
__exportStar(require("./rules.js"), exports);
|
|
36
37
|
__exportStar(require("./moves.js"), exports);
|
|
37
38
|
__exportStar(require("./cloud.js"), exports);
|
|
39
|
+
__exportStar(require("./graph-head.js"), exports);
|
|
38
40
|
__exportStar(require("./repo-states.js"), exports);
|
|
39
41
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/entities/index.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/entities/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;;;;;;;;;;;;;;AAEH,6CAA2B;AAC3B,6CAA2B;AAC3B,6CAA2B;AAC3B,6CAA2B;AAC3B,6CAA2B;AAC3B,kDAAgC;AAChC,mDAAiC"}
|
|
@@ -159,7 +159,7 @@ function normalizeCloudRecord(value) {
|
|
|
159
159
|
|| typeof record.type !== 'string' || !types_js_1.TYPES.has(record.type)
|
|
160
160
|
|| (record.parentUUID !== null && (typeof record.parentUUID !== 'string' || !types_js_1.UUID_PATTERN.test(record.parentUUID)))
|
|
161
161
|
|| typeof record.name !== 'string'
|
|
162
|
-
|| !
|
|
162
|
+
|| !types_js_1.STATUSES.has(record.status)
|
|
163
163
|
|| (record.payloadVersion !== null && typeof record.payloadVersion !== 'string')
|
|
164
164
|
|| typeof record.version !== 'string' || !/^[0-9a-f]{64}$/i.test(record.version)) {
|
|
165
165
|
throw new Error('cloud entity operation has an invalid record');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rules.js","sourceRoot":"","sources":["../../src/entities/rules.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"rules.js","sourceRoot":"","sources":["../../src/entities/rules.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,12 +17,15 @@
|
|
|
17
17
|
* a SHA-256 hex function.
|
|
18
18
|
*/
|
|
19
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
exports.UUID_PATTERN = exports.isEntityType = exports.ENTITY_TYPES = exports.DERIVED_PAYLOAD = exports.ROOT_TYPES = exports.CONTAINERS = exports.TYPES = void 0;
|
|
20
|
+
exports.UUID_PATTERN = exports.isEntityType = exports.ENTITY_TYPES = exports.DERIVED_PAYLOAD = exports.ROOT_TYPES = exports.CONTAINERS = exports.STATUSES = exports.TYPES = void 0;
|
|
21
21
|
const ALPHABET = [
|
|
22
22
|
'workspace', 'folder', 'repo.git', 'file.text', 'file.binary',
|
|
23
23
|
'link', 'reference',
|
|
24
24
|
];
|
|
25
25
|
exports.TYPES = new Set(ALPHABET);
|
|
26
|
+
/** The three lifecycle states, as one set every validator reads — restated
|
|
27
|
+
* as an inline array it would allocate once per record validated. */
|
|
28
|
+
exports.STATUSES = new Set(['active', 'trashed', 'deleted']);
|
|
26
29
|
/** Only containers hold active children. */
|
|
27
30
|
exports.CONTAINERS = new Set(['workspace', 'folder', 'repo.git']);
|
|
28
31
|
/** The types a parentless record (a tree root) may wear. `folder` is
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/entities/types.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;AAiBH,MAAM,QAAQ,GAA0B;IACtC,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa;IAC7D,MAAM,EAAE,WAAW;CACpB,CAAC;AAEW,QAAA,KAAK,GAAwB,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;AAE5D,4CAA4C;AAC/B,QAAA,UAAU,GAAwB,IAAI,GAAG,CACpD,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,CAA2B,CAC9D,CAAC;AAEF;;;4BAG4B;AACf,QAAA,UAAU,GAAwB,IAAI,GAAG,CACpD,CAAC,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,CAAwB,CACrF,CAAC;AAEF;qDACqD;AACxC,QAAA,eAAe,GAAwB,IAAI,GAAG,CACzD,CAAC,WAAW,EAAE,QAAQ,CAAwB,CAC/C,CAAC;AAEF;8DAC8D;AACjD,QAAA,YAAY,GAA0B,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AAEhF,MAAM,YAAY,GAAG,CAAC,KAAc,EAAuB,EAAE,CAClE,OAAO,KAAK,KAAK,QAAQ,IAAI,aAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AADnC,QAAA,YAAY,gBACuB;AAEhD;uCACuC;AAC1B,QAAA,YAAY,GACvB,4EAA4E,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/entities/types.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;AAiBH,MAAM,QAAQ,GAA0B;IACtC,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa;IAC7D,MAAM,EAAE,WAAW;CACpB,CAAC;AAEW,QAAA,KAAK,GAAwB,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;AAE5D;qEACqE;AACxD,QAAA,QAAQ,GAAwB,IAAI,GAAG,CAClD,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAA0B,CAC1D,CAAC;AAEF,4CAA4C;AAC/B,QAAA,UAAU,GAAwB,IAAI,GAAG,CACpD,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,CAA2B,CAC9D,CAAC;AAEF;;;4BAG4B;AACf,QAAA,UAAU,GAAwB,IAAI,GAAG,CACpD,CAAC,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,CAAwB,CACrF,CAAC;AAEF;qDACqD;AACxC,QAAA,eAAe,GAAwB,IAAI,GAAG,CACzD,CAAC,WAAW,EAAE,QAAQ,CAAwB,CAC/C,CAAC;AAEF;8DAC8D;AACjD,QAAA,YAAY,GAA0B,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AAEhF,MAAM,YAAY,GAAG,CAAC,KAAc,EAAuB,EAAE,CAClE,OAAO,KAAK,KAAK,QAAQ,IAAI,aAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AADnC,QAAA,YAAY,gBACuB;AAEhD;uCACuC;AAC1B,QAAA,YAAY,GACvB,4EAA4E,CAAC"}
|
|
@@ -61,21 +61,10 @@ function workspaceGraph(records, workspaceId) {
|
|
|
61
61
|
if (references.length !== 1) {
|
|
62
62
|
throw new Error(`workspace ${normalizedId} must have exactly one durable reference`);
|
|
63
63
|
}
|
|
64
|
-
const included = new Set([normalizedId]);
|
|
65
|
-
let changed = true;
|
|
66
|
-
while (changed) {
|
|
67
|
-
changed = false;
|
|
68
|
-
for (const record of snapshot.records) {
|
|
69
|
-
if (record.parentUUID !== null && included.has(record.parentUUID) && !included.has(record.uuid)) {
|
|
70
|
-
included.add(record.uuid);
|
|
71
|
-
changed = true;
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
64
|
return {
|
|
76
65
|
workspace,
|
|
77
66
|
reference: references[0],
|
|
78
|
-
records:
|
|
67
|
+
records: (0, index_js_1.containedRecords)(snapshot.records, normalizedId),
|
|
79
68
|
};
|
|
80
69
|
}
|
|
81
70
|
/** Materialize one owned workspace root and establish Watch coverage for it. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/files/commands.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/files/commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,7 +36,12 @@ function assertCloud(value, resourceId, sha256Hex) {
|
|
|
36
36
|
const snapshot = (0, index_js_1.snapshotFromRecords)(cloud.snapshot?.records || []);
|
|
37
37
|
if (snapshot.records.length === 0)
|
|
38
38
|
throw new Error('cloud user-ground graph is empty');
|
|
39
|
-
|
|
39
|
+
// The stored snapshot is whatever the authority holds: the head once this
|
|
40
|
+
// graph is paged, the records otherwise. Proving the checksum over the
|
|
41
|
+
// records of a paged graph would prove the wrong bytes.
|
|
42
|
+
const checksum = cloud.head
|
|
43
|
+
? (0, index_js_1.graphHeadChecksum)(cloud.head, sha256Hex)
|
|
44
|
+
: sha256Hex((0, index_js_1.stableJson)(snapshot));
|
|
40
45
|
if (checksum !== cloud.checksum)
|
|
41
46
|
throw new Error('cloud user-ground snapshot checksum mismatch');
|
|
42
47
|
return {
|
|
@@ -45,6 +50,7 @@ function assertCloud(value, resourceId, sha256Hex) {
|
|
|
45
50
|
deliveryWatermark: Number(cloud.deliveryWatermark),
|
|
46
51
|
checksum,
|
|
47
52
|
snapshot,
|
|
53
|
+
...(cloud.head ? { head: cloud.head } : {}),
|
|
48
54
|
};
|
|
49
55
|
}
|
|
50
56
|
function controlPath(path) {
|
|
@@ -86,18 +92,7 @@ function userGroundRecords(records, userEmail) {
|
|
|
86
92
|
if (roots.length !== 1) {
|
|
87
93
|
throw new Error('cloud registry must contain exactly one authenticated user-ground root');
|
|
88
94
|
}
|
|
89
|
-
|
|
90
|
-
let changed = true;
|
|
91
|
-
while (changed) {
|
|
92
|
-
changed = false;
|
|
93
|
-
for (const record of snapshot.records) {
|
|
94
|
-
if (record.parentUUID !== null && included.has(record.parentUUID) && !included.has(record.uuid)) {
|
|
95
|
-
included.add(record.uuid);
|
|
96
|
-
changed = true;
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
return snapshot.records.filter((record) => included.has(record.uuid));
|
|
95
|
+
return (0, index_js_1.containedRecords)(snapshot.records, roots[0].uuid);
|
|
101
96
|
}
|
|
102
97
|
function assertSameGraph(local, cloudCore, sha256Hex) {
|
|
103
98
|
if (!(0, index_js_1.sameRecords)((0, index_js_1.travelingRecords)(userGroundRecords(local.records, local.userEmail), sha256Hex), cloudCore)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-ground.js","sourceRoot":"","sources":["../../src/registration/user-ground.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;
|
|
1
|
+
{"version":3,"file":"user-ground.js","sourceRoot":"","sources":["../../src/registration/user-ground.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,12 +7,21 @@
|
|
|
7
7
|
* committed last; until then a partial upload is invisible.
|
|
8
8
|
*/
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.UploadSourceMismatchError = void 0;
|
|
10
11
|
exports.deriveUploadManifest = deriveUploadManifest;
|
|
11
12
|
exports.upload = upload;
|
|
12
13
|
const content_js_1 = require("../contracts/content.js");
|
|
13
14
|
const artifacts_js_1 = require("./artifacts.js");
|
|
14
15
|
const batches_js_1 = require("./batches.js");
|
|
15
16
|
const parallel_js_1 = require("./parallel.js");
|
|
17
|
+
/** The seekable source no longer carries the captured artifact's exact bytes.
|
|
18
|
+
* The bytes named by the content head cannot be produced from this source, so
|
|
19
|
+
* the artifact must be recaptured from current ground — never resent as-is.
|
|
20
|
+
* Hosts classify by `code` so the signal survives serialization boundaries. */
|
|
21
|
+
class UploadSourceMismatchError extends Error {
|
|
22
|
+
code = 'UPLOAD_SOURCE_MISMATCH';
|
|
23
|
+
}
|
|
24
|
+
exports.UploadSourceMismatchError = UploadSourceMismatchError;
|
|
16
25
|
const planChunks = (sizes) => {
|
|
17
26
|
let offset = 0;
|
|
18
27
|
return sizes.map((size, index) => {
|
|
@@ -51,7 +60,7 @@ const artifactPartSizes = (artifact, totalBytes) => {
|
|
|
51
60
|
function deriveUploadManifest(artifact, bytes, sha256Hex) {
|
|
52
61
|
(0, artifacts_js_1.assertTransferArtifact)(artifact);
|
|
53
62
|
if (sha256Hex(bytes) !== artifact.contentHash) {
|
|
54
|
-
throw new
|
|
63
|
+
throw new UploadSourceMismatchError(`captured artifact does not match ${artifact.contentHash}`);
|
|
55
64
|
}
|
|
56
65
|
const chunks = [];
|
|
57
66
|
let offset = 0;
|
|
@@ -80,7 +89,7 @@ const assertBatchChunks = (bytes, indexes, manifest, sha256Hex) => {
|
|
|
80
89
|
throw new Error(`content manifest has no chunk ${index}`);
|
|
81
90
|
const chunk = bytes.subarray(offset, offset + expected.bytes);
|
|
82
91
|
if (chunk.byteLength !== expected.bytes || sha256Hex(chunk) !== expected.sha256) {
|
|
83
|
-
throw new
|
|
92
|
+
throw new UploadSourceMismatchError(`upload source changed while reading chunk ${index}`);
|
|
84
93
|
}
|
|
85
94
|
offset += expected.bytes;
|
|
86
95
|
}
|
|
@@ -128,7 +137,7 @@ async function upload(artifact, source, ports, options = {}) {
|
|
|
128
137
|
}
|
|
129
138
|
if (missing.length > 0 && source.manifestVerified !== true) {
|
|
130
139
|
if (!source.verify || !await source.verify(artifact.contentHash)) {
|
|
131
|
-
throw new
|
|
140
|
+
throw new UploadSourceMismatchError(`upload source does not match ${artifact.contentHash}`);
|
|
132
141
|
}
|
|
133
142
|
}
|
|
134
143
|
if (artifact.kind === 'file' && ports.putChunkBatch) {
|
|
@@ -145,7 +154,7 @@ async function upload(artifact, source, ports, options = {}) {
|
|
|
145
154
|
throw new Error('upload authority returned an unknown chunk index');
|
|
146
155
|
const bytes = await readExact(source, chunk);
|
|
147
156
|
if (ports.sha256Hex(bytes) !== manifest.chunks[index]?.sha256) {
|
|
148
|
-
throw new
|
|
157
|
+
throw new UploadSourceMismatchError(`upload source changed while reading chunk ${index}`);
|
|
149
158
|
}
|
|
150
159
|
await ports.putChunk(artifact, manifest, index, bytes);
|
|
151
160
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload.js","sourceRoot":"","sources":["../../src/transfer/upload.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG
|
|
1
|
+
{"version":3,"file":"upload.js","sourceRoot":"","sources":["../../src/transfer/upload.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@amalgm/live",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.54",
|
|
4
4
|
"description": "Portable realtime SDK for Amalgm — wire contracts, mutation discipline, and delivery state machines behind host-injected adapters.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist-cjs/index.js",
|